文摘
我们提出一个有效的方法,可用于但眼睛检测或跟踪在智能手机平台上。但检测或眼球追踪算法有各种各样的应用程序在移动环境中,例如,一个对策对人脸识别系统的欺骗。在资源有限的智能手机环境,但检测问题的关键问题之一是它的计算效率。解决这一问题,我们采用了混合方法两种机器学习技术:结合SVM(支持向量机)和美国有线电视新闻网(卷积神经网络),但检测可以有效和可靠地执行资源有限的智能手机。实验结果对大宗商品智能手机显示,我们的方法达到94.4%的精度和处理速度22帧每秒。
1。介绍
眼球追踪和/或眨眼检测算法在智能手机平台上的各种应用程序。例如,它可以用作对策对欺骗在人脸识别系统1]。同时,电脑视觉综合症(2],许多智能手机用户正在经历时可以减轻但检测系统运行在后台给智能手机用户对他们的建议但习惯。
存在大量的眼球追踪研究,但检测算法基于视频输入,例如,(3- - - - - -8];然而,计划开发桌面环境也许不能正常工作在手机/智能手机环境由于计算资源的限制智能手机和/或频繁变化的输入视频帧的眼睛的位置由用户运动引起的。解决这些问题的方法之一是利用感兴趣的区域(ROI),例如,(7]。而不是寻找每个视频帧的眼睛在整个地区,检查小区域称为ROI。每个视频帧定位眼睛在整个地区的耗费的时间和精力,因此可能不适合实时处理智能手机。ROI-based解决方案,如何设置ROI是系统性能的关键,而在移动环境中问题变得更加困难。一些计划,例如,(7),利用内置的加速度计等传感器有效地预测输入视频帧的眼睛的位置,从而实现实时眼跟踪动态移动环境。
最近,一些深卷积神经网络(CNN)基于眼动跟踪算法提出了智能手机,例如,(8]。虽然深CNN模型已经成功地应用于解决各种计算机视觉问题在过去的几年中,在智能手机上运行深CNN模型仍被认为是挑战由于深CNN模型的计算复杂度。特别是但检测,CNN适用性技术变得更加限制以来,但检测问题强加更严格的实时要求,也就是说,在10帧每秒处理的速度(fps),比眼睛跟踪,因此必须采用的计算效率。为了解决这一问题,我们将混合方法连接两个机器学习技术,SVM(支持向量机)分类器的柱状图的梯度(猪)特性(9]和CNN模型称为LeNet-5 [10),但检测可以有效和可靠地执行资源有限的智能手机。支持向量机分类器快速但不准确;深CNN模型是准确但缓慢。因此,在我们的方案中,两个连体达到但检测效率和精度。换句话说,我们使用SVM探测器作为一个地区的建议在目标检测方法。我们看到,但检测算法,假阴性检测,也就是说,报告发现的眼睛闪烁在没有实际的眼睛闪烁,是有问题的。例如,CVS咨询系统基于一个但检测不能产生适当的建议当系统高估与假阴性检测闪烁计数。同时,假阴性检测可以让警告绕过闪烁antispoofing机制在面部识别系统为基础的检测。我们的算法是为了尽可能地减少假阴性检测。
同时,我们提出一种新的ROI技术,选择适合移动环境。在我们的方案中,ROI是基于阅读定位传感器,动态地确定和关联ROI的位置和方向传感器读数,我们执行一个实时的回归分析。商品智能手机上的实验结果表明,相对于传统方法,我们的方法显示约25%点改善的一个简单实现现有的解决方案。
本文组织如下。节2,我们将讨论相关工作。节3的上下文中,我们将介绍我们的建议我们的眼球追踪和闪烁的检测系统。节4,我们将讨论我们的算法的性能和比较现有的解决方案。最后,我们得出结论5。
2。相关的工作
在本节中,我们将讨论相关工作。眼球追踪和检测已经广泛研究对于理解人类行为、人机交互(HCI)、残疾人和医学目的。侵入性的方法相比,红外照明(11,12),不干扰方法,不需要任何额外的硬件,和身体接触吸引了很多注意力从计算机视觉和图像/视频研究领域。根据(13- - - - - -16不干扰],这些方法可以分为几种方法:基于模板(13- - - - - -19],外貌的[13,15,20.,21),和基于特征的方法22,23]。和他们中的一些人是混合作为混合方法。
基于模板的方法寻找眼睛图像匹配模板设计的通用眼睛模型眼的形状。可变形模板,允许变形以适应图像中眼睛的最好表示主要是用于检测精度,但它需要一个适当的眼睛捕获模型在初始阶段(13- - - - - -16,23]。在外貌的方法,检测到眼睛基于一组训练的原始图像没有眼睛模型和特性。训练分类器,如神经网络和支持向量机用于检测眼睛在不同方向和照明条件下(24]。朱和霁13)的训练分类器采用红外(IR)基于眼睛检测方法,患有众所周知的问题,如光眼镜和一天。基于特征的方法使用眼部周围的特色,如眼睑边缘和强度或虹膜的颜色,而不是眼睛本身。Kawato和Ohya22)利用两只眼睛(即之间的特征点。,a midpoint of two dark parts as eyes) for eyes detection and tracking, which is more stable. Tian et al. [25]提出了特征检测眼睛的内心角落和眼睑使用修改后的版本的Kanade-Lucas跟踪(KLT)算法,尽管它可能无法根据头方向。Viola-Jones算法(26)是对象检测使用哈雾基于级联分类器,它可以搜索一个眼影有效使用哈雾特性,主要是2或3矩形有两个眼睛的黑暗部分。其级联操作可以减少计算开销,让我们集中检测好子窗口有高概率的计算,包括眼睛的形象。第一个窗口滑动快速捕获一个好子窗口使用2-feature分类器,然后更多的功能被认为是好子窗口内的分类器。Viola-Jones算法通常被用作OpenCV包含它的实现(27]。
闪烁的检测除了眼睛检测,好莱坞et al。28)提出了一个基于模板的方法使用在线,然后创建一个欧喷爱模板匹配的实际图像闪烁的检测。他们介绍了相关性分数测量实际闪烁的眼睛和眼睛之间的相似性模板,相关系数在眨眼时间有所下降。洲和Betke22]还发现闪烁的基于成绩的相关性及其持续时间的在线模板和实际的眼影。在实验中与模板创建的320×240像素的视频的电脑的USB相机,但实时检测使用一个2.8 GHz Pentium 4和1 GB内存的电脑显示约95%的准确率自然闪烁,而故意长闪烁错误或多或少15%。
Polatsek [29日)提出了两种不同的方法在眨眼检测眼睛;第一个提出算法计算从1 d饱和度和2 d投影色相饱和度直方图。第二种方法解决内部运动检测检测使用KLT眼睑运动算法。马利克和Smolka [30.)增强原始局部二进制模式,但检测。他们只穿制服的模式用于本直方图和派生的直方图之间的区别和开放闭上眼睛用KLD (Kullback-Leibler分歧),可以提高检测精度10%。詹妮弗和Sharmila [31日比较几种算法的性能(即。,pixel count, canny filter, gradient magnitude, and Laplace of Gaussian (LoG)) for eye-blinking detection. They first detected the region of eyes by the Viola–Jones algorithm and decided whether the eyes are closed or not using those algorithms. According to the experiments, those algorithms are comparable in terms of accuracy except the pixel count method, almost 90% detection accuracy, which could be further improved by more than 5% if the difference between upper and lower eyes is considered in those algorithms.
随着智能手机成为电脑视觉综合症的主要原因,介绍了几个研究但检测智能手机。眼机(4)提出了检测眼睛闪烁的使用智能手机的前置摄像头电脑手机界面,采用相关的分数(18)与几个不同的相关值根据角度对眼睛因为手机相机取向不同是由于手运动。此外,作者提出了一个更大的感兴趣的区域(ROI)窗口来减少计算复杂度。从实验用诺基亚N810 400 MHz处理器核心和128 MB RAM,几乎75%的闪烁的检测是实现,虽然过程推迟了大约100名女士和资源消耗的CPU和RAM 65和56%,分别。他们报告说,精度退化超过20厘米距离电话,脸,和超过40厘米并不奏效。EyeGuardian [7]介绍了一种技术来使用一个加速器运动传感器智能设备跟踪眼睛位置在连续的视频帧。eye-detection阶段期间,EyeGuradian搜索眼睛区域使用Viola-Jones算法和保持小ROI眼视频帧后减少计算和能量。在跟踪阶段失去眼睛的ROI由于手的运动,它基于加速器的新位置传感信息痕迹。EyeGuardian成功显示高检出率在跟踪阶段,或多或少90%到80%没有跟踪。
我们的检测算法利用线性支持向量机以及猪的特性(9]。猪特征描述符的线性支持向量机是一种最广泛使用的对象探测器在计算机视觉领域。支持向量机+猪被用于几种eye-detection系统,例如,(17]。在[17),一个新的HOG-based称为“多尺度直方图principal-oriented梯度”的技术,提出了和所使用的技术是结合其他特征描述符Viola-Jones算法来定位眼睛和检测眼睛的“亲密”。然而,由于线性支持向量机基本上是一个二元分类器,直接支持向量机+猪不能用作但检测系统实现。为了解决这一问题,我们将混合方法连接支持向量机+猪和LeNet-5 CNN模型。在我们的方法中,我们使用支持向量机+猪技术来定位眼睛,深卷积神经网络(CNN)模型称为LeNet-5用来辨别,如果检测到眼睛是打开或关闭。
最近,一些研究进行使用深眼睛跟踪的cnn,例如,(8,32]。虽然深CNN模型已经成功地应用于解决各种计算机视觉问题在过去的几年中,在智能手机上运行深CNN模型仍被认为是具有挑战性的由于他们的计算复杂度。特别是但检测、深CNN的适用性技术变得更加限制以来,但检测问题强加更严格的实时要求,即要求在10帧每秒处理的速度(fps)比眼睛跟踪问题,因此必须采用的计算效率。作者的32]调查使用CNN模型称为ResNet-50 [33)对分类开放或封闭的眼睛,但他们的工作都需要一个成熟的桌面GPU如GeForce GTX 1070。我们计划利用CNN模型称为LeNet-5 [10),这样我们可以实现加工的速度在10帧/秒的商品智能手机。大宗商品智能手机有限的计算能力;例如,只有16个图形/着色器核心的三星Galaxy智能手机注5和1920核心GeForce GTX 1070 -基于GPU。因此,CNN模型针对智能手机一定很计算效率以达到实时的要求,但检测的问题。我们选择LeNet-5由于其小内存占用和计算效率。LeNet-5 CNN模型维护很多较小的参数的数量(即高很多推理/处理速度)相比,最近的深CNN模型开发AlexNet[等图像分类的目的34],VGG-16/19 [35],GoogLeNet [36),ResNet-50。在他们的深度不同的是,旁边的原因之一LeNet-5接受一个32×32黑白图像作为输入,而输入AlexNet和ResNet-50是224×224的颜色/ RGB图像。比较在实际的数字,大约有6000万个参数在ResNet-50 AlexNet和2500万多个参数(而不是少于100公斤参数LeNet-5)。由于海量AlexNet的参数,这是极大的挑战在这个节骨眼上利用AlexNet或实时ResNet-50但检测商品智能手机。LeNet-5由三个卷积层和7层包括两个池层。在我们LeNet-5实现,ReLU激活函数是用来代替的双曲正切函数作为激活(10]。
3所示。算法
在本节中,我们描述我们的算法有效的和可靠的但检测智能手机。
3.1。检测眼睛的ROI和计数眨眼
我们的检测算法包括两个步骤:地区的建议阶段,verify-and-classify阶段。假设有一个连续流的视频/相框来自智能手机的内置摄像头,处理每一帧。在该地区的提案阶段,我们利用一个线性SVM分类器与猪的特性在一个给定的ROI提取候选区域。(如何设置ROI是稍后解释。)我们基于svm探测器扫描ROI使用三种不同的滑动窗口大小25×25日28日×28日和31日×31并行处理扩展问题;也就是说,一个眼睛的大小可以随相机和眼睛之间的距离。使用nonmaximum抑制技术,28日×28像素区域最好的分数是选为候选区域。图1显示了一个可视化的例子nonmaximum抑制技术。最图中红色区域是该地区最好的分数,因此选为候选区域。然后,我们通过候选人地区LeNet-5 CNN模型是否检测到眼睛是打开或关闭,抑制假阳性检测。我们LeNet-5 CNN实现区分输入图像分为三个类别:打开眼睛,闭眼睛,和背景。如果LeNet-5分类输入背景,那么很可能支持向量机选择了一个错误的区域,无法找到。如前所述,我们看到,在眼睛闪烁的假阴性检测算法检测,即检测一个眨眼当没有实际的眼睛闪烁,更多的问题,因此,我们的混合算法是专注于减少假阴性检测。也因为线性支持向量机基本上是二元分类器,我们设计支持向量机来区分的眼睛和背景,让LeNet-5模型检查发现的眼睛的亲密。这样一个简单的选择相结合的使用多类支持向量机SVM和CNN。我们将比较混合方法的多类支持向量机的精度评估部分中使用我们的实验结果。
3.2。培训过程
我们有两个探测器/分类器组件:SVM和LeNet-5。我们培训了两个分类器单独使用LIBSVM [37和咖啡38)使用相同的数据集经济网(这是一个组合39)和一个随机视频图像的背景类的集合。经济网的数据集包含图像的视频打开眼睛,闭上眼睛。在SVM训练过程中使用的数据集,这两个开放和封闭的眼睛图片(总共9692张图片)构成的积极类和9810年背景图像剪辑构成负类。LeNet-5分类器训练、图像与三个不同的标签,打开眼睛,闭上眼睛,和背景。4924图像标记为打开眼睛,4870图像闭眼睛,和4905年图片作为背景。当训练LeNet-5使用咖啡,我们使用了亚当解算器,50000年总迭代,学习速率为0.001,L2正规化。
3.3。ROI的选择
如图2,我们的检测系统改变之间的两个不同的阶段:检测阶段和跟踪阶段,ROI选择机制取决于阶段。系统的初始状态是检测阶段。在检测阶段,投资回报率将整个地区的每个视频帧。我们使用视频输入分辨率为240×360。一旦检测到眼睛使用我们的混合检测方法在检测阶段,投资回报是设置为79×106地区(这是整个框架的1/9)集中在眼睛的位置。一个小的ROI区域允许高效的检测。一旦设置ROI,过渡到跟踪阶段。在跟踪阶段,我们只寻找一只眼睛的ROI。失去眼睛的,也就是说,没有找到眼睛使用我们的检测算法,我们试图预测眼睛的位置和迁移根据预测基于ROI值方向传感器。
3.4。使用回归预测眼睛的位置
预测在我们失败时,眼睛的位置来定位眼睛的ROI在跟踪阶段,我们使用定向传感器的读数(我们指方向传感器作为虚拟传感器(或软件)实现为一个Java代码的计算设备的“定向”使用内置的硬件加速计的读数和地磁场传感器)。然而,从定位传感器读数相差很大,从智能手机到智能手机和每个用户体验不同的手机使用习惯。因此,我们使用实时回归分析关联方向传感器的输入值和眼睛的位置(40]。当检测到眼睛(在任何阶段),其位置保存和方向传感器的读数。保存的数据用于实时的回归分析。我们发现眼睛的水平(垂直)的位置与方向传感器Y设在(X设在)值。使用回归分析预测的位置,我们推导(实时)保存元数据的线性回归方程,然后应用最新的传感器值的回归方程获得预期的位置。根据预期的眼睛位置,我们重置ROI。ROI搬迁后,我们试图发现一只眼睛在新的ROI。如果找到一只眼睛,我们仍在跟踪阶段;如果没有检测到眼睛,系统切换回检测阶段;我们试图找到一个眼睛在整个区域的输入视频帧。
4所示。评价
在本节中,我们将讨论我们的算法的性能。实验中,我们实现了我们的算法作为一个Android应用程序使用Android OpenCV库(27]对SVM和CNNDroid [41LeNet-5 CNN模型。使用Android的RenderScript CNNDroid能够并行处理框架。实验采用LG V20执行智能手机820高通Snapdragon处理器,除非另有说明。
我们首先验证算法的准确性使用ZJU眨眼数据集(42]。衡量我们的算法的性能,我们使用精度和召回指标定义为(真阳性)/(真阳性+假阳性的数量)和(真阳性)/(实际数量的阳性),分别。当我们观察表1,我们的算法的精度是94.4%,这是相当高的,实际上高于回忆,89.7%。我们的设计目标之一是抑制闪烁计数的高估尽可能和这些结果符合我们的设计目标。
接下来,我们比较我们的建议的ROI调整机制和7]。的实验中,我们实现了一个天真的版本的7]调整ROI技术结合支持向量机/ LeNet-5-based眼睛检测算法。最初,(7)利用Haar级联(26对检测的眼睛)。图3比较两种方法的预测成功率。在图中,我们可以看出我们的回归预测显示35.5%的预测成功率,而ROI提出调整方案(7]显示只有17%的预测成功率。预测成功意味着找到一只眼睛后调整ROI使用我们的方法或算法(7]。两种算法之间的主要区别是,在7],ROI被替换为屏幕的四个象限中的其中一个基于垂直/水平倾角不同,而在我们的方法中,回归方程代表传感器读数和眼睛的位置之间的相关性变化动态调整ROI。ROI调整是由当我们失去联系的眼睛跟踪阶段。结果如图3平均超过10实验采取不同的实验者在不同的环境中,例如,公共汽车和地铁。一些例子的结果的细节如表所示2。举个例子,如果我们看到的情况实验ID 3, 1384视频帧处理在跟踪阶段,没有找到眼睛在264帧的ROI。(回想一下,在跟踪阶段的眼睛只搜索在搜索区域中预设探测阶段。)和那些264帧,一只眼睛被发现后调整ROI使用我们的回归预测方法在108帧,导致约41%(= 108/264)的成功率。在这些实验中,处理的帧数的比值在检测阶段整体处理的帧从5%变化到10%意味着大多数的帧处理(效率)跟踪阶段。
图4图显示了一个示例回归分析基于期间获得的实验数据。图中,X设在代表了Y设在定位传感器和价值Y设在代表了X设在眼睛的位置在一个输入视频帧。我们执行一个实时回归分析(为每个轴)得到一个线性回归方程用于人眼定位预测基于最近的200点。
图5比较每个视频帧的处理延迟在跟踪阶段和检测阶段以两种不同的设备:LG V20和三星Galaxy注5 Exynos 7420处理器。(图中的值是平均超过1800帧。)如图,在跟踪阶段处理时间减少30%相比,检测阶段的LG V20和减少几乎一半的三星Galaxy注5。这些结果支持在我们的算法中引入两个阶段背后的基本原理。处理时间在跟踪阶段和检测阶段可以分解成两个时期运行SVM探测器和LeNet-5分类器。对于LG V20跟踪阶段,LeNet-5分类器需要49女士平均处理图像通过SVM探测器和SVM需要17个地区平均女士提出候选人。在LG V20检测阶段的情况下,支持向量机区域的提议和LeNet-5分类器48和47个女士,女士。总的来说,我们的计划展示了处理速率为13.9 fps和22.9帧/秒(1800年平均在处理帧)V20星系注5,分别,这是足够的闪烁的检测。V20,如果我们只考虑帧处理在跟踪阶段(或检测阶段),我们得到一个处理速度为15.15 fps(或10.52帧/秒)。我们要注意,有更多的空间优化应用程序的性能; that is, we have not explored all the parallelism opportunities available in SVM and LeNet-5 detectors in our Android test application. Our focus in this paper is to show that our algorithm enables reliable eye-blinking detection on Android smartphones using widely available tools in the community without fine tuning.
(一)
(b)
最后,我们比较的多类支持向量机的设计方法。比较的目的,我们开发了一种多类支持向量机(一个比一个方法),可以将图像分成三个类别的打开眼睛,闭上眼睛,和背景,一样LeNet-5分类器使用一个测试集和执行实验组成的400图像剪辑为每个类(200)。我们可以看出结果见表3LeNet-5优于多类支持向量机。例如,我们LeNet-5分类正确的200闭上眼睛闭上眼睛类图像,但200年的多类支持向量机分类只有161张图片图像闭上眼睛类。
5。结论
在本文中,我们提出了两种机器学习方法相结合的混合方法,线性SVM分类器与猪的特性和LeNet-5 CNN模型,这样眼睛闪烁探测可以有效和可靠地执行资源有限的智能手机。也,我们引入了一个回归定位传感器利用策略有效的ROI选择智能手机上眼动跟踪应用程序。通过实验结果,我们表明,我们的方法但检测效率和有效地执行优于现有方法。我们的近期工作包括提高性能和验证算法的准确性和各种学习的数据集较大自我们的系统的性能与不同的学习和测试数据集可以有很大的差异和优化我们的Android实现更高的处理速率。
的利益冲突
作者宣称没有利益冲突有关的出版。
确认
这项工作是支持的基础科学研究项目通过韩国国家研究基金会(NRF)由教育部(NRF - 2016 r1d1a1b03930393)。