基于视线角度的人眼视线检测研究
计算机技术与发展第19卷 第8期 ol. 19 No. 8 V 2009年8月A ug. 2009COM PUT ER TECHNOLOGY AND DEVELOPM ENT
基于视线角度的人眼视线检测研究
李 涛
(东南大学软件学院, 江苏南京210007)
摘 要:文中主要研究使用普通的摄像头进行人眼视线方向的估计。在综合介绍了各种人眼视线检测方法的基础上提出了一种新的图像处理的方法来检测人眼视线方向。所采用的方法是先通过Hough 变换计算出在低分辨率的情况下, 人眼的上眼睑圆周及内外角点、虹膜中心后, 然后在检测视线方向上采取了分部处理的方法。首先判断视角, 再计算眼睛的视线方向。试验表明, 此法比传统的虹膜检测法要精确得多。由于采取了分部处理, 极大方便了计算机的实现。关键词:Hough 变换; 虚假局部最大值; 阈值处理
中图分类号:T P335 文献标识码:A 文章编号:1673-629X(2009) 08-0037-04
Eye Gazing Direction Inspection Based on Gazing Angle
LI Tao
(College of Software Engineer ing , Southeast University, Nanjing 210007, China)
Abstract:Does research on the gaze direction estimation of human eye using the common camera. A new gazing direction method based on image processing is developed after a variety of gazing direction methods are all supplied. The upper eyelid circle, (i nn er and outer ) eye corners and iri s center coordinates can be calculated by Hough transform in low resolution. T he m ethod descri bed is step-by-step treat ment w hen directing gazing direction. First of all, the perspective is judged. Then gazing direction can be calculated. The experimental re sults validate that the method is more accurate than that of traditional iris detection. M oreover, the results can be calculated more easi ly by computer because of s tep-by-step treatment m ethod.
Key words:Hough transform; false l ocal maximum; threshold processing
0 引 言
最近几年, 随着图像处理技术的高速发展和高分辨率的摄像机器的应用, 人眼视线检测的精度已经达到很高的程度(0. 1 以下) 。但是目前人眼视线检测技术仍然不像语音识别、手写文字输入技术发展的那样成熟, 其主要的原因是成本问题。高分辨率的摄像机以及与之相关的图像处理算法的复杂所带来的价格是它无法普及的主要原因。但是可以预见, 它以后在人机交互、驾驶员疲劳检测、助残、空中导航、军事等方面都具有广阔的前景。
由于昂贵的摄像头无法普及使用, 因此文中研究的目的之一就是通过使用廉价的摄像头(图像尺寸320*240) 来捕捉图像并且分析处理来获得基本正确的视线检测结果。
1 人眼视线检测的实现方法
传统的视线检测方法分为三种:以电磁学手段为基础的视线检测方法, 以光学手段为基础的视线检测方法, 基于视频图像处理的视线检测方法。1. 1 以电磁学手段为基础的视线检测方法
以电磁学手段为基础的视线检测方法主要有三种:电磁线圈法, 眼电图法, 接触镜法[1]。1. 1. 1 电磁线圈法
主要是利用电磁感应的原理测量眼睛的移动。此法是将感应线圈做成的特殊镜片放在试验者的角膜上, 然后在眼睛的周围加上固定的交变磁场, 当眼睛转动时, 将使特制的镜片发生转动以切割附近的磁感线, 因而产生不同的感应电动势。依据感应电动势的变化来记录分析眼球的运动。该方法测量的精度高, 速度快。使用这种方法很容易受到眼睛状况的影响, 如眼泪分泌量和过敏等。
目前采用这种方法的仪器已经商用化, 荷兰的skalar 仪器公司和华盛顿的C-N -C 技术公司都有成收稿日期:2008-12-04; 修回日期:2009-03-13
作者简介:李 涛(1983-) , 男, 江苏赣榆人, 硕士研究生, 研究方向为软件无线电, 图像处理; 导师:刘云辉, 博士, 研究员, 研究方向为软件无线电、图像处理。
∀ 38 ∀ 计算机技术与发展 第19卷
1. 1. 2 眼电图法
这种方法主要是利用电极的原理来检测视线方向。因为人的视网膜前后存在着一个电压差, 当眼球转动时眼睛周围的电势肯定会发生变化。所以首先在眼睛的四周装上四个电极, 当眼睛移动时, 电极将产生相应的变化信号, 可依据这些差异的信号来判断眼球运动的情况。根据资料显示, 这种方法大约可以识别出眼球3度左右的水平偏转, 以及5度左右的垂直偏转。但是由于电极始终在眼睛四周的皮肤上, 而皮肤受汗腺、皮肤分泌物的影响, 它的电阻是因时而异的, 这就容易造成电信号的不稳定, 造成很大的测量误差, 而且电极对人也有伤害作用。1. 1. 3 接触镜法
基本原理是将一块反射镜放在角膜上, 当眼球转动时, 反射镜将向不同方向反射入射光, 采集这些不同的反射光, 可以判断出眼睛的注视方向。该方法简单易行, 理论上精度也很高, 但是将反射镜植入角膜将造成人的不舒适。另外, 反射镜反射的光也容易受到泪水的折射从而造成统计误差。
1. 2 以光学手段为基础的视线检测方法
以光学手段为基础的视线追踪的基本原理是根据图像处理原理, 使用能自动跟踪眼睛的特殊摄像机, 读取从试验者眼睛的不同区域反射来的不同红外光线(光线) , 以此来判断视线的方向, 达到视线追踪检测的目的。但是这种方法带来的问题是红外线太强, 容易对眼睛造成伤害, 红外线太弱又容易被噪声淹没。所以这样的检测效果不是很好。
目前它主要的检测方法有角膜反射法(Corneal re flection) [2]、红外光电反射法(Infrared Photoelectric) [3]、红外电视法(Infrared T V) [4]。在各种方法中, 红外电视法由于具有操作方便, 对人无干扰, 可移动等优点, 是目前较为理想的一种眼动测量方法。这些方法都需要借助图像处理这个工具来完成视线输入方向的识别。
1. 2. 1 红外电视法
红外电视法主要是在假定试验者头部基本不动的情况下测定的。当用一红外辅助光源照射到人的脸部时, 在眼睛的角膜表面形成反射像, 此反射像被称为普尔钦斑点。在假定试验者头不动的情况下, 由于红外发光二极管的位置是固定不变的, 而眼球是一个近似的球体, 当眼球转动时, 可以认为普尔钦斑点的绝对位置是不变的, 而虹膜和瞳孔的位置要发生相应的变化, 这样可以通过红外辅助光源在虹膜形成的普尔钦斑点与瞳孔的相对位置关系来判断视线方向。由于瞳孔的, 部图像进行阈值处理后, 很容易找到瞳孔与普尔钦斑的相对位置关系, 从而断定视线方向。当头部发生微小转动时, 就要建立视线方向修正系统。这种基于红外的方法目前仍然比较流行。1. 2. 2 角膜反射法
该法是实时采集角膜表面形成的虚像, 根据虚像的相对移动状况, 来判断眼球的行动情况, 进而判断视线的方向。资料显示:台湾的成大研究所的 Eye-gaze ! 系统就是采用这种技术。但是这种方法非常不准确, 特别容易受到眼动时各种噪声信号的影响。1. 2. 3 红外光电反射法
这种方法的基本原理是基于虹膜与巩膜的不同反射机理。将红外光源和反射光检测器安装在眼睛附近, 确保光源能照射在虹膜和巩膜的边界处。当眼睛向一边移动时, 反射光检测器就会检测来自眼睛一边的反射光比另一边的少, 从而可以判断眼球移动的方向、幅度, 进而粗略估计出眼睛的注视方向。这种检测方法的误差非常大。当在水平方向达到较好的精度时, 在垂直方向的精度就会较差。加拿大EyeCan 公司的VisionKey 系统, 美国的M ic roguide 公司的M icrigu ide 系统就是基于这种方法的。
1. 3 基于视频图像处理的视线检测方法
由于近几年数字图像处理技术的发展, 基于视频图像处理的视线检测方法不仅可以检测视线方向, 而且还可以获取眼部的部分信息用于虹膜身份识别[5], 因此基于视频图像处理的视线检测方法因具有广阔的发展前景开始受到很大的重视。大体将这样的视线检测方法分为两类, 一类是基于眼睛轮廓的视线检测方法[6], 另外一类就是基于虹膜、瞳孔的视频图像处理的检测方法。
1. 3. 1 基于眼睛轮廓的视线检测方法
非常明显的事实是, 人在平视或者仰视时眼的轮廓比俯视时要大。因此设计算法时, 首先根据预先测量出的眼眶的大小, 将俯视与平视和仰视区分开。然后利用向上看和平视时, 上眼眶到眼睛中心的距离比值的不同, 区分开向上看和平视; 然后再处理向左、中、右看的问题。计算出所有瞳孔点到眼眶左边缘的距离的平方和及右边缘的距离的平方和的比, 从中发现向左、中、右看时, 该值有明显的区别。用这种方法可以检测出仰视和平视时的左、中、右。向下看时的干扰比较多, 需要运用图像预过滤技术, 将过滤合格的图像进行均衡, 二值化以后, 提取出眼角与瞳孔的图像(反色后眼角较白, 瞳孔最白) , 以此来判断向下时的注视方向。如图1[6]所示, 显示了详细的算法流程。
第8期 李 涛:基于视线角度的人眼视线检测研究∀39∀
来检测和判断出人眼的注视方向。方法的精度比较高, 但是毫无疑问, 该算法大量使用了眼眶的信息, 因此计算非常复杂, 计算的实时性受到了一定的限制。故此法适用于实时要求不高但是精度要求较高的场
合。
定的上眼睑圆周上采用锁定区域的匹配搜索即可找到内外角点[14]。上眼睑是由内外角点所确定的一段圆弧, 由这段圆弧即可以得到圆心角。在找到上眼睑圆周和内外角点之后, 可以粗略地估计出虹膜的边缘信息, 根据这些边缘信息以及虹膜的边缘像素梯度背离圆心
的知识, 计算机可以很容易地计算出虹膜的相对中心坐标(x , y ) 。
图1 人眼注视方向检测流程
1. 3. 2 基于虹膜、瞳孔的视频图像处理的检测方法
人眼注视不同方向时其瞳孔位置也不相同[7]。这种方法即是利用瞳孔中心的变化来判断视线方向。在试验者佩戴头盔时通过方向矫正得到试验者的正视时的眼部图像, 在随后的过程中, 利用昆虫复眼的检测速度以及生物学原理, 用摄像头采集眼部运动的序列图像, 通过比较该序列图像和其正视时的眼部图像差别, 即可得到眼球转过的角度。从而可以推测出眼睛注视的方向[8]。这里是假设头部不动的情况下得到的检测结果。当头部发生微小转动时, 就要建立坐标补偿机制
[9]
图2 梯度的八个标准方向
2. 2 根据圆心角进行眼睛视线的初步定位
人的眼睛视线可以粗略地分为三个视角(俯视, 平视和仰视) , 三个方向(往左看, 往右看, 往中间看) 。三个视角分别对应三个方向, 因此一共有九种视线方向。如图3所示。这三个视角对应的眼睑圆心角是明显不同的。首先利用上节中检测的上眼睑圆周及内外角点, 计算出眼睑圆心角, 根据圆心角的大小来大体估计人眼视线属于三个视角中的哪一个。确定以后, 再根据图像处理的方法确定视线属于三个方向中的哪一个。
往左看
往中间看
往右看
仰视
, 将正视时的眼部图像进行调整。但是当头部发
生较大偏转时, 就要观察头部相对于空间某一固定坐标系的变化位置、方向, 然后确定视线的方向。
往左看往中间看往右看
平视
2 基于视线角度的视线识别技术
2. 1 基于梯度的Hou gh 变换检测上眼睑、内外角点
由于所摄取的图像不清晰, 亮度不明显, 噪声太多, 因此在寻找上眼睑圆周及内外角点时, 采取了对图像噪声不敏感的基于梯度的Hough 变换法来解决这个问题。本课题在利用基于灰度投影的方法[10~12]求得眼睛的大体区域后, 利用Hough 变换来检测圆形的方法, 其检测圆形的公式是(x -a) 2+(y -b) 2=r 2。其中(a, b) 是圆心, r 是半径。在检测圆心时, 可以采用边缘梯度方向信息, 这样不仅可以降低运算量, 而且对于虚假局部最大值实现了有效的抑制[13]。对于边缘梯度提供的八个标准方向, 如图2所示, 只需要检查0~
, , 往左看往中间看往右看
俯视
图3 人眼视线的九个不同方向
研究表明, 人眼在俯视、仰视和平视时的圆心角是完全不相同的。当处于仰视状态时, 圆心角最大, 平视时次之, 俯视最小。如图4所示。
文中针对这些不同的视角, 采取阈值处理。首先根据试验者平视时测得的圆心角 1(实验表明, 1的值大约为90 ) 作为阈值, 大于这个值的定位为仰视, 小于这个值的定位为俯视(实际是将 1作为一个区域值来看待, 在这个区域值范围内都作为平视处理) 。由此, 判断了仰视、俯视和平视。现在, 再设计一个算法
∀ 40 ∀ 计算机技术与发展 第19卷
时的情况。首先, 连接圆心与正视时虹膜的中心作为主轴, 当圆心与测得的虹膜中心在主轴允许的误差范围内时, 认为是往中间看, 当它在主轴左边时, 便认为是向左看,
当它在主轴右边时则认为是向右看。
找其中的特征, 以此来判断人眼视线的方向。该方法不仅精度高, 而且采取了分治法把判断视线方向, 分为先判断视角, 再判断方向, 实现起来更加简单, 易于理解。
通过试验表明, 该方法对于低分辨率的图像具有相当高的精度。但是由于Hough 变换本身计算量很大, 需要的计算时间增加, 由此带来了实时性的问题(随着计算机硬件的发展, 此问题正在解决) 。因此, 文中所述的方法适合于实时性要求不高, 但是精度要求较高的场合。
参考文献:
[1] 毛 臻. 角膜地形测量中眼球定位跟踪若干技术的研究
[D].南京:南京理工大学, 2007.
图4 不同视角对应不同圆心角
2. 3 判断仰视、俯视和平视时的向右看、向左看和向
中间看
判断仰视、俯视和平视时的向右看、向左看和向中间看时, 文中采取了坐标系法。首先, 测得圆心的坐标是A (x 1, y 1) , 正视时的虹膜中心坐标是B(x 2, y 2) , 然后由(1) 测得的虹膜中心坐标C(x , y) , 以A 为坐标原点, 圆心与B 连线为y 轴正向, 与y 轴垂直的线为x 轴, 右手方向为x 轴正向。如图5所示, 据此可以得到向量, D =A -E =A -B 然后用E #D(叉乘) , 如果算出的结果是负的, 表明正在往左看, 反之表明正在往右看。在实验中, 假设E
#D 在一定的误差范围内都认为是在往前看。
[2] 赵新灿, 左洪福, 徐兴民. 视线跟踪技术研究[J].光电工
程, 2007, 34(10) :118-123.
[3] 时书锋, 赵乐军, 陈怀深. 眼动测量系统及其芯片设计[J].
西安电子科技大学学报, 2000, 27(1) :58-61.
[4] 尹海容, 屠大维, 罗记平. 视线跟踪输入及其图像处理[J].
光学技术, 2003, 29(4) :461-463.
[5] 唐 超. 瞳孔精确定位方法的研究[D].长春:吉林大学,
2007.
[6] 郝 群, 刘伟华, 李 博. 基于图像处理的人眼注视方向检
测研究[J].光学技术, 2004, 30(5) :547-551.
[7] 罗兴贤, 魏生民, 刘雅婧, 等. 基于图像处理的视线跟踪方
向研究[J].现代制造工程, 2007(1) :87-90.
[8] Hutchinson T E, White K P . Human computer interaction us
ing eye gaze input[J].IEEE. T ransaction Systems, Man , and Cybernetics, 1989, 19(6) :1527-1533.
[9] Ebisawa Y, Ohtani M , Sugioka A. Si ngle M irror T racking
System for Free-head Video -based Eye-gaze Detection M ethod[C]//Proceedings -19th International Conference. Chicago, U SA:IEEE/EM BS, 1997.
[10]张晨欢. 基于图像的人眼状态检测[D]. 南京:南京理工大
学, 2007.
[11]许俊波, 牛艳云, 陈 琳. 一种灰度人脸图像双眼定位的新
方法[J]. 软件导刊, 2007(5) :104-105.
[12]胡迎春, 张增芳, 邓 翔. 人脸图像特征点眼睛的定位与提
取[J].广西工学院学报, 2003, 14(1) :35-39.
[13]Kyung-Name Kim, Ramakrishna R S. V ision-based Eye-gaze tracking for Human Computer Interface[C]//IEEE In ternational Conference on Systems, Man, and Cybernetics. T okyo, Japan:[s. n. ], 1999:324-329.
图5 往右看时的向量图
[14]孙兴华, 陈国勇, 赵春霞, 等. 基于Hough 变换和梯度信息
的人眼视线方向估计[J].小型微型计算机系统, 2007, 6(6) :1123-1128.
3 结束语
该方法通过对分辨率低的人眼图像进行处理, 寻