“非手动的个人电脑控制” 基于眼球动作识别的鼠标光标控制

原文地址:http://www.ijsrp.org/research_paper_apr2012/rp116.html

l  摘要

      这篇论文展现了一个人和计算机之间没有手参与的交互界面系统。这项技术的意在提供一种面向残疾人抑或一种全新的与鼠标交互的方式,来取代传统计算机屏幕上的指针设备。我们描述的这个系统使用的是一种实时的,中断式的,快速经济的脸部特征跟踪技术。这个建议的算法解决了目标在变化和旋转过程中问题的闭塞性和鲁棒性。它基于一种新颖的模板匹配技术。一个SSR过滤器用于过滤整张图片,SVM用于适应性的搜索窗口位置和尺寸。

 

l  索引——面部识别,SRRSVM,以及模式匹配

I.     介绍

这项技术旨在帮助一些拥有一系列交流障碍的残疾人使用设备。它将帮助他们通过有意识的动作,比如眼睛和鼻子的运动,来控制计算机,并通过特制的,培训的软件或者表达构建程序来交流信息。一些身体严重残疾的人也能通过它来使用计算机,进行一些娱乐活动比如上网,玩游戏。这个系统通过一个USB接口的或者一个内置的摄像头抓取并检测永和的面部动作。推荐的这个算法能够精确地跟踪动作变化来控制光标,这样就可以提供一种控制计算机鼠标或键盘的途径。

      基本上,一些基于摄像头的计算机交互方案已经比较先进了。然而,他们要么计算开销都比较大,要么不精确,要么存在闭塞性问题。例如,头部运动跟踪系统,它能从计算机顶部摄像头传递信号并跟踪置于用户前额的一个反射点。这个技术并不是完全可行的,因为有的残疾人不能移动他们的头部,除此之外但我们活动脖子的时候,这个系统就变得过分敏感了。眼动电图描记法,它是在用户眼部周围放置电极记录眼部动作的方法。这项技术的问题在于,残疾人在使用这种设备时需要其他人的协助,除此之外这种设备十分昂贵。

      另外一个例子是CAMSHIFT算法,它用肤色定位头部位置和状态。这个算法很快,并且不存在闭塞性问题,但是它精确性不高,虽然它能很好的翻译移动动作,但是它不能翻译旋转动作。

 

II.    应用的使用流程

2.1人脸检测

人脸检测在计算机视觉领域是一个广泛研究的课题。每一个涉及处理人类脸部图像的应用它都是核心部分。人脸检测可以分为两类:

2.1.1基于特征的方法

第一种方法涉及到寻找面部特征(如:鼻子,眼睛,眉毛,嘴唇,瞳孔),然后通过几何分析他们的位置,面积以及彼此之间的距离来实现可靠性。这种分析方法最终会导致它所识别的人脸以及人脸特征具有局限性。基于特征的分析由他的像素精度,局限性的特征和速度被人们熟知,另一方面它缺乏鲁棒性。

2.1.2基于图片的方法

第二种方法是基于扫描感兴趣面部图像的原理,它通过一个在不同尺度和区域上搜寻面部图像的窗口来实现。这种人脸检测的方式隐含了模式识别的内容,并且通过一些简单的方法,比如模式匹配或者一些更高级的机制比如神经网络和支持向量机来实现。在论述我们在这个应用中用到的人脸检测算法之前,这里有一些相关术语的说明。

2.2六个矩形分割过滤器

      首先,通过一个大矩形扫描输入图像。然后把这个大矩形分割成六个、小矩形,如图1所示:

1:矩形的分割

           我们先保存每一个小矩形框(S1-S6)的像素值。然后采用SSR过滤器检测BTE(Between-The-Eyes)。这个过程中涉及到两种几何学特征:

(1) 鼻子部分(Sn)要比左右眼部分(Ser,Sel)要浅。如图2所示:

其中:

Sn  = S2 + S5   Sn nose鼻子部分)

Ser  = S1 + S4   (Ser eye right眼右部分)

Sel  = S3 + S6  (Sel eye left眼左部分)

并且:

Sn >Ser    (1)

 Sn > Sel   (2)

                             

2SSR过滤器

 

(2) 眼部区域(包括眼睛和眉毛)Se相对来说要比颊骨部分(包括鼻子)Sc暗如图2所示:

其中:

Se= S1+ S2 + S3

Sc= S4+ S5 + S6

并且:

Se <Sc  (3)

当表达式(1)(2)(3)全都成立时,长方体中央区域就可以作为BTE的一个候选区。

 

2.3全图片

      为了辅助六分长方形过滤器,我们使用了一种称之为“全图片”的即时图像表示方法。”“全图像””定位于坐标(xy),它包含它上方和左方所有的像素值。如图三所示:

 

图三:”全图像”(i像素值,ii”全图像”)

那么,”全图像”定义如下:

ii (χ, y) = Σ і(χ′‚ y)        1

χ′≤χ‚y′≤ y

有了上面定义,SSR过滤器的计算就变得更加容易,更加迅速了。不管选区有多大通过三种算术操作,我们可以计算出任何一个属于这个选区的像素值。(图四)

 

图四:”全图像”,选区D的像素值计算可以这样:选区=D-B-C+A

      根据如下公式,“全图像”可以通过原图像(视频图像)的一个通道进行计算:

 s(χ,y) =s(χ,y-1)+i(χ,y)      (2)

ii(χ,y)=ii(χ -1,y)+s(χ,y)      (3)

其中s(χ,y)是在行上的一个累计值,并且s(χ, -1) = 0ii(-1‚ y) = 0。使用“全图像”可以通过四个数组计算任何一个矩形框中的像素累计值(图四)

 

2.4支持向量机(SVM)

      支持向量机是一种新型最大边缘分类器:在“学习理论”有这样一个定理,为了实现最小的分类错误,将积极样本从消极样本中分离出来的那个超平面应该是训练样本的最大边缘,这就是SVM的精髓。最接近超平面的数据样本称之为支持向量。超平面能够平衡其到正支持向量和负支持向量之间的距离,以得到的训练数据组的最大缘。

 

 

图五:具有最大边缘的超平面

支持向量机的训练模板

      支持向量机用于判定BET模板。每个BET的计算方法如下:提取35×21的模板,双眼距离23个像素,并且双眼连线位于在这个模板的第八行像素处(如图五,六,七)。前额和嘴区域在训练模型中没有用到,目的是为了避免不同样式的头发,胡须的影响。

 

 

      训练样本的属性是模板像素值,属性向量长35×21。两个局部最小暗点是从区域(S1+S3)(S2+S6)中提取的,而这两个区域是SSR分类器从左右眼样本中提取出来的。为了提取BTE模板,首先通过左右瞳孔间的距离除以23计算出刻度系数(SR),因为23是训练模板中第八行像素上两眼之间的距离。然后,提取模板的大小为35×SR×21,在模板中左右瞳孔连线应在第8×SR行,瞳孔间距为23×SR像素。

      然后通过设置SR缩减模板尺寸,以便于使它和训练模板的尺寸和在水平方向上的对齐方式一致,如图八所示。

 

图八:SVM人脸学习模型

      在本节中,我们已经讨论了不同的算法所需的脸部检测,即:SVMSSR,“全图像”,现在我们将有一个对于涉及人脸跟踪,运动检测,眨眼检测和眼睛跟踪等不同程序的详细研究。

I.     人脸检测算法

概述:

 

9:寻找人脸检测的候选图像

3.1人脸追踪

      现在我们找到所需要的面部特征,然后通过SSRSVM以及“全图像”方法就可以在视频流中跟踪它们。跟踪鼻尖的运动动作就可以用来移动鼠标指针,跟踪眨眼动作就可以用来控制鼠标点击。整个跟踪过程中通过之前帧中的特征出现的位置来预测当前帧中特征出现的位置;模式匹配以及一些启发式的操作也用于定位特征的新坐标。

3.2运动检测

在检测动作时,我们用某个特定区域(xy)的像素减去之前某个帧中的相同像素;如果减法运算的结果大于某个阈值,我们就认为这个像素在运动。

3.3眨眼检测

      在找到眼睛的新的确切位置之前,我们把眨眼检测应用于眼睛的ROI。只有当眼睛不再移动时眨眼检测进程才开始运行,因为当一个人使用鼠标而且想要点击时,他会把光标移动到想要点击的区域,停下,然后点击;所以,基本上使用脸部图像时也是一样的:用户通过自己的鼻尖控制鼠标光标移动到想要点击的区域,停下,然后眨眼。为了检测到眨眼信号我们在眼睛的ROI中应用到动作检测;如果在ROI中移动像素的数量大于某个阈值,我们就认为检测到了眨眼信号,因为如果眼睛是静止的,而且我们检测到了眼睛ROI中的一个动作,这就意味着眼睑在运动,也就是一个眨眼信号。为了避免眨眼的抖动,我们可以设置一个眨眼时间变量,这样在一个眨眼时间中除了第一个被检测到的眨眼信号之外其他眨眼电信号都被省略掉了。

 

3.4眼睛跟踪

如果左/右眨眼信号被检测到,左/右眼追踪进程将会跳过一次,而且认为左/右眼的位置与在前一帧中左/右眼的位置一样(因为只有在眼睛静止的时候才应眨眼检测)。眼睛追踪与鼻尖和BET追踪不一样,因为鼻尖和BET的特征是稳定的,而眼睛却不是(不如睁开,闭上,眨动等)。为了实现更好的追踪结果我们使用BET(稳定的特征可以很好的被跟踪)作为参考点;在定位BET和眼睛位置之后的每一帧中,我们都会计算眼睛和BET的相对位置;在定位BET位置的后的下一帧中,我们会假定眼睛和BET的相对位置保持不变,这样我们把眼睛的ROI置于新BET的相对位置上。为了找到眼睛在ROI中的新的模板我们组合了两种方式:第一个是使用模式匹配,第二是在ROI中搜索最暗的5×5区域(因为眼睛的瞳孔是黑色的),然后去寻找新的位置作为眼睛的新的位置。

 

II.    实现和应用

4.1接口

      对于操作我们的“非手动个人电脑控制”下面的设置是十分重要的。用户坐在坐在电脑显示器面前,使用一个市场上广泛使用的通用摄像头或者内置摄像头。

      我们的系统需要一个初始化过程。该相机的位置可以调整,以便使得用户的脸恰好在摄像头视频的正中心。然后,开始跟踪脸部特征,在这种情况下眼睛,眉毛,鼻孔,都被选中,从而获得第一鼻孔模板(图10)。在后续捕获到的帧中跟踪脸部特征的过程,就如上面的描述。

 

 

10:初始化窗口的一张截图

 

4.2应用

      “非手动个人电脑控制”具有精确性和稳定性。这有助于发展经济的基于用户界面的应用。这个系统可以用于许多教育娱乐领域,甚至可以用于控制计算机程序。

4.3软件规格说明

      我们用JAVA中的Jcreator来实现我们的算法。Jcreator是一个JAVA函数和一些特别的类的集合,它们常被用于图片处理以及实时计算机视觉计算。

      使用Java的优点是在复杂算法中它具有较低的计算消耗,并且具有平台独立性,另外JavaMedia FrameworkJMF)的内置特性使得它具有实时精确处理的能力。

 

4.4结论和展望

      本文着重分析非手动个人计算机控制——通过人的眼睛控制鼠光标的开发过程。首先这个问题域是特定的现有的商业产品之间的特点和缺点。这个系统的可用性很高,特别是对于桌面应用。它具有其他实时系统所不具有的的精确性和快速性。这些优势使得整个系统可以让残疾人士更好的使用计算机应用。事实上,不通过手来完美的模拟鼠标操作是完全可行的。然而,在测试这个系统之后,我们还将增加额外的语音识别功能,让残障人士可以输入密码等文本类的内容。

 

感谢

我们非常感谢D.RajyaLakshmi教授在写作本文时所给予的指导。

 

参考文献

[1] H.T. Nguyen,”.Occlusion robust adaptive template tracking.”.Computer

Vision, 2001.ICCV 2001 Proceedings 

[2] M.   Betke.   “the camera   mouse: Visual   Tracking of  Body Features  to 

provide  Computer  Access For People  With  Severe Disabilities.” IEEE

Transactions on Neural Systems And Rehabilitation Engineering. VOL.10.

NO 1. March 2002.

[3] Abdul Wahid Mohamed, “Control of Mouse Movement Using Human

Facial Expressions” 57, Ramakrishna Road, Colombo 06, SriLanka. 

[4] Arslan Qamar  Malik,“Retina  Based Mouse Control  (RBMC)”, World

Academy of Science, Engineering and Technology 31,2007 

[5] G  .Bradsky.”  Computer  Vision  Face  Tracking for   Use  in  aPerceptual  

User   Interface”.   Intel  Technology 2nd

Quarter

,98 Journal .

[6] A.  Giachetti,  Matching techniques  to  compute image  motion. Image

and Vision Computing 18(2000). Pp.247-260.

 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于深度学习的第一视角视频动作识别方法主要包括以下几种: 1. 3D卷积神经网络(3D CNN) 3D CNN是一种特殊的卷积神经网络,其可以直接处理视频序列数据,并在特征提取和分类过程中考虑视频序列中的时序信息。在视频动作识别中,3D CNN可以将视频序列作为输入,提取出视频序列的空间和时间信息,并输出对应的动作类别。 2. 基于LSTM的深度学习方法 LSTM是一种循环神经网络,其可以处理序列数据,并考虑数据之间的时间关系。在视频动作识别中,可以将每一帧图像作为LSTM的输入,并利用LSTM的记忆性质来处理视频序列中的时序信息。 3. 时空注意力网络(ST-ResNet) ST-ResNet是一种基于残差网络的时空注意力网络,其可以同时考虑视频序列中的空间和时间信息,并通过注意力机制来学习不同时间段和空间位置上的重要性。在视频动作识别中,ST-ResNet可以自适应地学习不同时间段和空间位置的重要性,并输出对应的动作类别。 4. 光流卷积神经网络(FlowNet) FlowNet是一种基于卷积神经网络的光流估计方法,其可以直接从视频序列中学习光流信息,并将其作为动作识别的特征。在视频动作识别中,FlowNet可以提取出视频序列中的光流信息,并将其作为输入特征,通过分类器对视频动作进行分类。 这些方法都是基于深度学习的方法,不需要手动提取特征,而是通过神经网络自动提取特征,并在特征提取和分类过程中考虑视频序列中的时序信息。相比于传统机器学习方法,这些方法具有更好的泛化能力和更高的分类准确率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值