《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 智能相机在实时眼动识别中的应用
智能相机在实时眼动识别中的应用
来源:电子技术应用2013年第11期
倪怡雯, 穆平安, 戴曙光
上海理工大学 光电信息与计算机工程学院, 上海200093
摘要: 对基于智能相机的眼动识别系统和方法进行了研究和设计,并对该系统在常见的各种测试条件下进行了大量的实验和应用分析。基于智能相机的眼动识别系统结构小巧紧凑,检测速度快,准确度高,较基于PC的检测系统和头盔式检测设备的性能有大幅的提高。
中图分类号: TP277
文献标识码: A
文章编号: 0258-7998(2013)11-0089-03
Real-time eye recognition using a smart camera
Ni Yiwen, Mu Ping′an, Dai Shuguang
School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
Abstract: In this paper, a detection method and system for eye recognition using a smart camera is designed. A lot of experiments for application analysis and are carried out in variously common test conditions. Eye recognition system that based on smart camera not only has a small compact design, high detecting speed and accuracy compared with the system based on PC and the helmet-mounted one.
Key words : eye recognition; template matching; smart camera; embedded systems; application development

    眼动识别是一种通过在视频帧中不断检测眼睛及眼球位置来判断眼球注视以及移动方向的过程。眼动识别有非常重要的研究意义,在心理学、医学、设计学[1]、工效安全、人机交互[2-3]和军事领域[4]上都有广泛的应用和深远的前景。

    当下最尖端的眼动识别系统主要是通过PC组合Web camera来进行视觉处理[5-6]。然而PC用作主要计算处理单元体积过于庞大,不足以满足实际应用的环境要求,仅能作为实验环境测试之用。由此头盔式的眼动识别设备应运而生,这类产品虽能够部分解决无法携带的问题,但是使用者的舒适感较差,更重要的是运算的速度和准确度却大大降低。
    而智能相机以其嵌入式、低功耗的处理器,使快速算法成为可能,尤其在自动化检测应用中其优越和稳定的性能,配合小巧紧凑的结构,非常适合于实时眼动识别应用程序的执行。
1 眼动识别算法提出
    Fleck等提出在智能相机中使用FPGA模块,通过粒子滤波器模型来实时识别跟踪[7],这个方法需要用大量的样本,环境越复杂,描述后验概率分布所需要的样本数量就越多,算法的复杂度就越高。另外,重采样造成的样本有效性和多样性的损失,会导致样本贫化现象。本文在虹膜识别应用的基础上[8],设计开发了应用在智能相机中的软件来完成眼动识别的功能,包括模板匹配、边缘检测、识别和标识黑眼球中心位置等。在一般的眼动识别算法中,进行眼动识别前,首先要对人脸进行检测,以提高眼动识别追踪算法的精确度[9]。本文提出直接选定左眼为感兴趣区域的方法,快而准确,然后在感兴趣区域内匹配黑眼球相对眼睛的位置,不同位置标明不同眼动方向,以此识别当前眼动状态,若随时间变化实时检测就能起到眼球运动识别的效果。
2 基于智能相机的眼动识别设计
2.1 眼动识别方法流程分析

    将摄像头设定为连续检测眼动信息的状态,进行图像采集和检测。图1所示为实时眼动识别算法的流程图。

    (1)图像获取:用图像传感器获取测试对象的图片,设置光圈、曝光时间和增益。
    (2)图像预处理:将原始图像转换成灰度图像。设计目标是每秒数十帧的实时检测,灰度图足以表现面部为主图像的边缘和特征,能够快速进行大量的模板匹配算法。
    (3)眼部检测:预先设计制作眼部区域的模板。因为人类眼睛在生理上具有双眼旋转运动协调特性,故单眼模板兼具速度和可信度。运用模板匹配的方法在当前帧图像中检测与模板相似的部分,设置相似度的度量值,由于制作模板民实际检测时光照条件不完全相同,还存在图像的形变,根据测试通常将最小阈值设定在600左右最佳(最大为1 000)。
    (4)前视模板、左视模板和右视模板:对感兴趣区域依次匹配黑眼球位置的模板,默认常态下眼睛处于前视状态,若不匹配则再尝试匹配左视和右视模板。在三个模板的匹配范围内都不符合时,记录为无匹配方向。无匹配方向的意义,例如用于行车安全系统中,可认为视线脱离安全驾驶状态。
    (5)确定眼球方向:将第(4)步中识别到的匹配模板对应返回一个眼动方向,并记录、显示于屏幕上。
    (6)记录眼睛坐标:计算黑眼球的中心坐标。正视时取正圆的圆心,左、右视时取椭圆两焦点的中点,作为当前眼睛的坐标点。
    (7)标识当前位置:将第(6)步的坐标作为坐标系原点,创建坐标系,并叠加于图像的图层上,完成当前帧图像的检测,开始下一帧采集。
    这种方法可以应用于各种类型的智能相机上,并可运用各种编程语言来实现。本文采用“G”语言(图形化的程序语言),它提供了仪器编程和数据采集的便捷途径,在进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
2.2 硬件平台设计
    通过NI 1772 SMART CAMERA和触控屏(或显示屏),即可独立完成实时眼动识别的图像采集、图像处理、图像分析和信息反馈等步骤。系统非常精简,大大降低了可以应用场合的限制。
    NI 1772智能相机使用Intel Atom Z530(1.6 GHz处理器),内有512 MB的RAM;图像传感器为Kodak KAI-0340S 单色CCD(分辨率640×480(VGA),最大可用帧速率114 f/s)。通过RS232串行连接动态地控制照明,通过千兆以太网I/P和TCP/IP协议,实现与触摸屏(HMIS)相连接进行人机交互,完成配置调整和检测图像和参数实时反馈。
2.3 软件设计与实现
 如图2所示,根据图1所示流程算法,设计了软件程序。

    VBAI编译的算法程序分两个步骤,首先要规划子模块的次序,合理布局分支的结构,降低帧率的损失,提高程序可读性便于修改。然后对应每个子模块的作用,完善各个模块的功能。
    由箭头相连接的为子模块,方框内是具体每个模块的子函数。子模块acq实现采集图像,子模块Inspect center、Inspect left、Inspect right完成寻找眼部感兴趣区域(本文中使用左眼为ROI),并对该区域进行多次匹配,确定当前眼球所处状态,显示对应状态的反馈提示;子模块Inspect 2提示处理检测过程中的错误信息,与用户显示界面进行信息传递等。
    (1)acq(图像获取)中子函数:
    Acquire Image: 通过智能相机的图像传感器获取单帧图像,图像为灰度图。
    (2)Inspect center、Inspect left、Inspect right(正视检测、左视检测、右视检测)中分别有以下4个子函数:
    ①Eye Match Pattern: 眼动匹配。在调试阶段预先设置好匹配模板,分左视模板(椭圆形模板)、正视(圆形模板)、右视(椭圆形模板)3个。测试检测时,先匹配感兴趣区域,减少需要处理的图像范围,然后在感兴趣区域内依次匹配3个模板,找到与某个模板的灰度特性相似的区域(设置在±45°范围内旋转的区域都符合识别范围),个数指定为最多一个。若没有匹配对象也进行第②步。
    ②Set Coordinate System:构建坐标系统。计算第①步中匹配区域的大小,并记录该区域中心点位置(正圆的圆心或椭圆两焦点的中点)和匹配区域与模板对比倾斜的角度。对没有匹配对象的帧跳过当前步骤。
    ③Create Region of Interest:建立感兴趣区域。以第②步的中心点位置为坐标原点,将感兴趣区域设置为匹配到的眼动区域,用圆标记出眼球的位置。没有匹配对象的帧则跳过当前步骤。
    ④Draw Eye & Track: 标识眼动检测结果。在采集到的实时图像上覆盖一个图层,将眼球区域的中心点标记在该图层上。程序只记录所有成功匹配的帧,此时匹配状态值为真,在程序前面板上将匹配到的模板用对应的“LEFT”、“CENTER”、“RIGHT”指示进行标识。
    (3)Inspect 2(检测统计)中有以下3个子函数:
    ①Calibrate Image at Eye Match Pattern:校正图像坐标。
    ②Set Inspection Status: 检测状态反馈。反馈此帧图像是否顺利进行了眼动信息识别,检测过程中有无报错,若值为“FAULT”则此帧检测结果无效。
    ③Update Eye-tracking Result: 自定义一个前面板,即用户界面。显示实时采集到的图像、检测状态、注视方向、标识眼球位置等。
3 眼动识别实验分析
3.1 实验方法

    考虑到眼动识别应具有应用的广泛性,需要能够在不同光照环境下工作,因此需要在不同光照条件下可以通过调整曝光时间来获取较高质量的检测图像,测试环境越暗,曝光时间越长,帧率越低。反之,光线越好的环境下帧率越高。实验中,模拟驾驶时眼部及头部的自然状态,对实时眼动识别算法进行应用实验。
    以1 min内获得的实时数据作为分析样本,分别测试了系统在无干扰测试状态、头部左右转动干扰(左右各45°以内)、面部角度倾斜干扰和特殊情况(佩戴眼镜等局部遮挡)条件下的准确性。每个测试条件分别在光线环境不同处,分40 f/s、50 f/s、60 f/s、80 f/s、100 f/s、112 f/s(max)6种不同图像采集的速度进行对比,并在帧率最高的情况下统计检测100帧图像的效率。
3.2 实验数据与分析
    在“Set Inspection Status”的值为真的条件下,若识别到的眼动状态(左视、正视、右视、其他区域)与实际眼动的状态相符,则认为是一次成功的检测,反之亦然。1 min内测试正确率的数据整理后如表1所示。

 

 

    由表2可知, 平均对100帧图片进行识别需要约40 ms,每帧仅需要0.4 ms,模板匹配部分作为识别检测的重点占80%,实时性好,接近使用高性能的PC进行图像运算,完全能够应用于实时在线眼动识别检测。
    本文设计搭建了一个基于智能相机的实时眼动识别系统,拓宽了眼动识别能够应用的场合,并自主设计了在该硬件系统平台上可以运行的眼动识别软件,进行了大量不同环境和条件下的实验。反复大量的数据分析结果显示,该方法和系统有较高的准确性和非常出色的实时性。在无外界干扰、脸部角度倾斜和部分遮挡的条件下都达到了过九成的准确率,尤其在脸部角度倾斜条件下,仍有平均95%以上的良好表现。
    由于头部转动对识别准确率的影响较大,今后可以进一步对该因素带来的问题进行研究。另外可以在头部无较大移动条件下,将本文中的眼球坐标归一到同一坐标中,绘制眼动轨迹进行分析,应用于其他眼动识别的场合。
参考文献
[1] FRANGESKIDES A L. A hands-free non-invasive human compuer interation system[J]. Advances in Systems, Computing Sciences and Software Engineering, 2006:235-242.
[2] Lu Wanxuan, Li Mi, Lu Shengfu, et al. Impact of information Overload for Visual Search on Web Pages: An Eyetracking Study[C]. Proc. 2010 IEEE/ICME International Conference on Complex Medical Engineering. Gold Coast, Australia, July 2010:13-15.
[3] JAVIER Orozco, F.XAVIER Roca, JORDI Gonzàlez. Realtime gaze tracking with appearance-based Models[J].Machine  Vision and Applications,October,2009,20(6):353-364.
[4] KIRCHER J C, COOK A E, HACKER D J. Deception detection using oculomotor movements[J]. United States Patent Application Publication, Dec. 23, 2010: US 2010/0324454 A1.
[5] GARG R, GUPTA V, AGRAWAL V. Efficient iris recognition method for identification[C]. in Proc. ICUMT,2009:1-6.
[6] PEREZ C A, LAZCANO V A, PABLO A. Estévez, et al. Held. Real-time iris detection on faces with coronal axis rotation [C]. in Proc. SMC (7) 2004: 6389-6394.
[7] FLECK S, LANWER S, STRABER W. A smart camera  approach to realtime tracking[C]. 13th European Signal Processing Conference,EUSIPCO, 2005.
[8] MEHRUBEOGLU M, BUI H T, MCLAUCHLAN L. Realtime iris tracking with a smart camera[C]. Proceedings of  SPIE, vol. 7871, Real-Time Image and Video Processing.  N. Kehtarnavaz and M. F. Carlsohn, Eds. 787104, EI,Feb. 2011.
[9] Chen Youngsheng, Su Chanhung, Chen Chusong, et al. Video-based eye tracking for autostereoscopic displays[J]. Optical Engineering, 2001,40(12):2726-2734.

此内容为AET网站原创,未经授权禁止转载。