眼动跟踪技术通过记录人的眼球运动轨迹和瞳孔变化等特征,收集并分析视觉认知方面的重要信息。这项技术在认知心理学、神经科学和用户体验设计等领域中应用广泛[1-6]。在上述领域中,眼动追踪技术都需要使用眼动仪和配套软件记录和分析被试者的眼球动作。眼动仪可分为桌面式和头戴式。桌面式眼动仪通过红外线或摄像头捕捉眼睛位置和瞳孔大小,一般放置在电脑屏幕下方或是内置到显示器中[7-8]。头戴式眼动仪一般由眼镜和内置的眼动追踪器组成,佩戴者能够自由移动并环顾四周[9-10]。
在实际应用中,上述设备暴露出一些问题。桌面式眼动仪在使用过程中,被试者要求坐在显示器前,与屏幕内容进行交互。整个过程中被试者的自然行为被约束,头部姿势也被固定,这样会对研究条件造成限制,导致相关研究结果不够准确。穿戴式眼动仪通常戴在头部或者面部,这样导致屈光不正的被试者无法佩戴眼镜,无法满足其进行眼动追踪检测和研究的需求,直接使用也会导致测试结果不可靠。目前,瑞典公司Tobii最新产品Tobii Pro Glasses 3,外观非常接近常规眼镜,支持后加式视力矫正镜片,能够满足屈光度不正人群的使用。但是该产品价格昂贵、无法提供原始数据进行扩展性实验,并且矫正镜片需要定制化,无法满足需要大量试验人员数据的研究要求,新配的矫正镜片佩戴者也会出现眼部不适的情况。在此情况下,进行测试获取的研究结果可能是不准确的。
针对上述问题,希望在不限制被试者自由活动的同时,保证测试结果不被干扰的情况下增加设备的通用性。本文研发出一款插片式近眼眼球追踪系统设备,外观接近于眼镜。该设备能够得到近眼采集眼动图像,屈光度不正人员可以在专业人员指导下选择最适合自己的镜片安装插片,并根据真实瞳距进行调节,确保设备佩戴过程中眼睛的舒适性和良好的视觉效果。该设备可以适配不同屈光不正人员,降低了定制化的成本,能够快速地进行相关研究测试,与其相配套的眼动特征提取算法也能够很好地获取眼动数据。
1 实验设备近眼眼球追踪系统设备外观采用了验光试镜架主体,安装了近眼采集模块,并获取眼球运动图像,镜架可安装替换镜片、瞳距也可调节,满足各类屈光度不正的佩戴者。系统设备如图1所示,近眼采集模块实现了双路图像采集,其中相机模块有摄像头和红外光源。红外光源均匀分布在圆形镜框上,一方面是提供光照;另一方面是产生“暗瞳”现象,便于后续图像处理。摄像头位置位于镜框底部、镜片后面,这样既不会影响佩戴者的视野,又不会受到来自镜片的光学干扰,便于拍摄眼部运动。
|
图 1 实验设备图 Figure 1 Experimental equipment |
系统设备基本参数:镜框圈的直径为48 mm,中梁的长度为19 mm,镜架的整体倾斜角为7°,镜片的后顶点距离眼球12 mm,双眼瞳距调节范围48~80 mm,镜框上可安装镜片插槽,被试者能够根据自己眼睛度数选择合适的镜片进行屈光度矫正。
系统硬件平台由于受到试镜架结构的限制,为了满足多路图像采集要求,硬件要既小又轻,且高性能和低功耗。硬件系统框架如图2所示:
|
图 2 硬件系统框架 Figure 2 Framework of the hardware system |
在硬件系统中,通过光源模块和摄像头模块获得眼部图像,光源采用波长850 nm的红外LED灯,摄像头模块采用小体积、大视场角高集成度的虹膜相机模块,该模块对红外光源具有较好的感光特性可实现低功率红外照明。处理单元用于处理摄像机输出的图像信号,在选型上为了兼顾功耗和性能,选用了基于“无内部互锁流水级的微处理器(microprocessor without interlockedpipeline stages,MIPS)”架构的具有低功耗、高性能和高集成度的处理器。
2 眼动特征提取 2.1 眼部图像裁剪为了获得比较完整的眼部图像,眼部捕捉设备的眼睛摄像头拍摄的眼部图像区域会远大于眼睛区域,如图3所示,其中包括了眉毛等非眼睛区域。
|
图 3 眼部图像 Figure 3 Image of an eye |
图像裁剪是为了获取眼睛区域,眼睛区域内容简单、特征明显。为此,通过Dlib训练人眼检测器的方法对图像中的眼睛区域进行定位,对图像进行裁剪得到眼睛区域,减少后续图像处理的计算量。
Dlib是一个用于图像处理的开源库,除了可以进行高品质的人脸识别,还可以进行目标检测器的训练。在使用眼部捕捉设备采集了一段眼部视频,每一帧提取大小为400× 400的图像,作为原始数据集。通过Dlib里的标记工具imglab对原始数据集打标签,标签对应的是在数据集图像上框出的眼睛区域。
Dlib核心原理是使用方向梯度直方图(histogram of oriented gradient, HOG)特征来表示待测物体[11-13]。与其他特征算子相比,HOG特征算子对图像的几何特征和光学的形变有着很好的不变性。该特征提取算子搭配支持向量机(support vector machines, SVM)使用,进行物体检测。
2.1.1 训练数据参数设置Dlib目标检测器训练的超参数是由检测训练类设定,该类包含参数C,add_left_right_image_flips,detection_window_size,epsilon参数详情如表1所示。
|
|
表 1 参数详情 Table 1 Parameter details |
训练过程中使用支持向量机(SVM)对数据集进行分类,由于存在部分分类错误的情况,为了将误差降到最低,添加一个惩罚项进行浮动,模型求解可以表示为约束最优化问题,表达式为
| $ \begin{gathered} \;\\ \min w,b,\xi \frac{1}{2}\parallel W{\parallel ^2} + C\sum\limits_{i = 1}^N {\xi_i} \\ {\rm{s}}.{\rm{t}}.{\text{ }}y_i({W^{\rm{T}}}X_i + b) \geqslant 1 - \xi_i{\text{ }},{\text{ }}i = 1,2,\cdots,N \\ \end{gathered} $ | (1) |
式中:
|
图 4 不同C值的训练效果 Figure 4 Training effect of different C values |
从图4可以看出,在惩罚系数C为15时,训练指标中的精确率、召回率最高分别是1和0.998,训练指标高说明训练效果好。因此,本文惩罚系数C设置为15,检测窗口大小设置为80×80,训练终止条件epsilon设置为0.01。
2.2 眨眼检测进行眨眼检测前,先确定人眼区域后,再通过训练眼部特征点模型文件,得到眼部特征点坐标信息如图5(a)所示,蓝点即为识别的眼部特征点。Soukupova 等[14]提出了眼睛纵横比概念,构造函数计算眼睛纵横比EAR,设定阈值统计眨眼情况。
|
图 5 眼部特征点信息 Figure 5 Eye feature point information |
在确定眼睛区域后,使用6个点来表示眼睛特征点,从左眼角开始,顺时针进行标号1、2、3、4、5、6,如图5(a)所示。
图5(a)中标定的6个点表示眼睛睁开和闭合的状态。处于睁眼状态时,垂直距离变大;处于闭眼状态时,垂直距离变小。单从这一状态判断人眼状态较容易出现误差,所以通过Soukupova 等[14]推导出眼睛纵横比(eye aspect ratio,EAR)表达式为
| $ \begin{split} & \;\\ & EAR = \frac{{\parallel P2 - P6\parallel + \parallel P3 - P5\parallel }}{{2\parallel P1 - P4\parallel }} \end{split}$ | (2) |
式中:P1~P6表示标注的6个特征点的坐标;EAR表示纵横比。
如图5(b)EAR曲线所示,当眼睛睁开和闭合时,纵横比EAR会有不同的数据值范围,故当EAR低于某个阈值N,眼睛处于闭合状态,本文N值取0.25。完整的眨眼过程如图6所示,眨眼动作完成一般需要M(2~3帧),所以算法在检测眨眼次数时,在判断EAR是否低于闭眼阈值的同时,还需要统计连续闭眼帧数,其中N值、M值都是根据大量实验数据进行设定。
|
图 6 眨眼过程 Figure 6 Blinking process |
在得到裁剪后的眼睛区域图像,对图像进行预处理,一般先将图像进行灰度化,灰度图像只有8位的图像深度,处理速度较快,虽然丢失了颜色等级,但图像的亮度等级描述与彩色图像一致,图像灰度化原理的表达式为
| $ GRAY = B*0.114 + G*0.587 + R*0.299 $ | (3) |
式中:B,G,R代表了彩色图像的三通道;GRAY是单通道灰度图。
为了更好分辨出图像中瞳孔信息,采用直方图均衡化来增强图像对比度,调整图像的灰度级分布,使得每个灰度级出现的频率尽量均衡,图像中暗的部分变得更亮,原本亮的部分变得暗一些,提高图像的可读性,直方图均衡化的对比结果如图7所示。
|
图 7 直方图均衡化对比结果 Figure 7 Comparison results of histogram equalization |
图像传感器拍摄时亮度不够均匀,以及电路元器件自身和相互影响产生的噪声,其幅度分布服从高斯分布,使用高斯滤波消除噪声,选用高斯模板对图像所有像素进行卷积,滤波效果如图8(a)所示;对于图像中随机出现的噪点,使用中值滤波消除这些噪点,并保持图像边缘特性,中值滤波的效果如图8(b)所示。
|
图 8 图像去噪 Figure 8 Image denoising |
图像去噪后,先利用灰度参数阈值对图像进行二值化分割,分割结果如图9(a)所示,再利用Canny算子进行边缘检测,得到候选瞳孔轮廓边缘如图9(b)所示。
|
图 9 候选瞳孔信息 Figure 9 Candidate pupil information |
瞳孔检测当中存在睫毛、眼睑边缘,环境光照等信息,一方面增加了瞳孔检测的计算量,另一方面会产生一些错误瞳孔拟合,造成瞳孔的错误识别。
在进行图像处理后获得图像边缘轮廓信息,利用直接最小二乘法拟合算法进行椭圆拟合[15]。椭圆拟合只需要6个点进行拟合,在实际图像边缘信息中包含了大量的边缘点,导致拟合出多个椭圆信息,其中就包含了错误的瞳孔拟合信息。
对于这些错误瞳孔拟合信息,通过瞳孔形状、运动特征进行筛选,排除错误瞳孔拟合信息,其中的灰度参数、长短轴参数、面积参数与瞳孔特征、机器设备参数有关。摄像头的焦距,分辨率会影响长短轴参数,摄像头与眼睛的相对位置影响面积参数,红外补光灯的光照强度影响灰度参数。上述参数对每位测试者都不同,采用多位测试者进行实验,选择合适的数值作为参数阈值。
2.4.1 灰度参数阈值当从近眼相机中观察,可以看出人眼的组成由内向外分别是瞳孔、虹膜和巩膜,对应的灰度值由瞳孔、虹膜到巩膜逐渐升高,可见瞳孔的灰度值最低。根据这样灰度分布特性,可以通过设置合适的灰度阈值将瞳孔区域分割出来[16-17]。
灰度阈值的选择在阈值分割中十分重要,合适的阈值可以很好地将瞳孔区域分割出来,不合适的阈值会影响瞳孔区域的提取效果[18-19]。过低的阈值会造成瞳孔区域的缺失,过高的阈值会造成含有干扰区域的瞳孔区域。图10(a)是人眼图像的灰度直方图,从灰度直方图中可以看出瞳孔区域的灰度值很低且比较集中。从整体直方图看,瞳孔和虹膜的灰度分布满足“双峰一谷”特性,可以通过阈值分割的方法提取瞳孔区域。本文将直方图中的第一个波峰后出现的波谷对应的灰度值标记为阈值T,对于不同的人眼图像阈值T不同,通过自适应阈值T对人眼图像进行分割得到瞳孔区域。
|
图 10 瞳孔阈值分割 Figure 10 Pupil threshold segmentation |
如图10(b)所示,通过阈值分割得到瞳孔区域,由于存在部分区域灰度值相似,可能包含了部分错误瞳孔区域,产生了较多错误轮廓边缘点,在进行椭圆拟合时就会出现错误瞳孔拟合情况。
2.4.2 长短轴参数阈值及面积参数阈值视频中收集到的瞳孔无论是放大还是缩小,其形状基本都是接近于正圆,正常人的瞳孔大小在2~5 mm,平均约为4 mm。由此可以认为在视频中对瞳孔轮廓进行椭圆拟合得到的椭圆长轴和短轴应在相对固定的像素距离范围内,拟合后瞳孔轮廓接近正圆,计算出来的长短轴的比值也在一定范围内,此外拟合面积也在相应区间范围内。因此将长短轴的长度分布,长短轴的比值,椭圆拟合区域的像素面积作为正确瞳孔轮廓的筛选条件,最终得到正确的瞳孔轮廓。在实验中统计了6位测试人员的3000张眼睛图像的瞳孔椭圆拟合对应长轴和短轴的长度分布相对频率情况。根据图11(a)和图11(b)长度分布情况以及曲线拟合情况,舍弃一些错误信息,长轴主要在35到60之间,短轴主要分布在30到55之间,所以长轴阈值设置为65,短轴阈值设置为25,将长轴小于长轴阈值、短轴大于短轴阈值的椭圆保留,其余舍弃。
|
图 11 候选瞳孔轮廓的筛选条件 Figure 11 Screening conditions for candidate pupil contours |
图11(c)表示上述长轴和短轴的比值计算。图中长短轴的比值主要分布在1.0~1.3之间。这种情况是由于眼球旋转和相机角度问题而发生的,导致拍摄瞳孔呈椭圆形。为了确保瞳孔轮廓准确识别,长短轴比阈值设置在1.0~1.3范围内。图11(d)表示椭圆拟合面积(瞳孔面积)的分布,它集中在1000~2000区间内。测试人员瞳孔散大后,集中在2000~4000区间,小部分区域为4000~4800。在实验中,面积参数阈值范围设置为900~5000。
在候选瞳孔轮廓中进行筛选,同时满足上述3个参数要求的瞳孔轮廓信息确定为正确的瞳孔轮廓,只要不满足任何一个参数要求的候选瞳孔轮廓舍弃。
3 实验设计 3.1 软件平台软件平台是基于Window10环境下,电脑配置为Core i5 CPU 2.40GHz的四核处理器,程序实现工具为PyCharm,在Python语言环境中应用OpenCV(open source computer vision library)计算机视觉库进行编程。
3.2 实验流程随机选择几位试验者,采集每位试验者在注视不同方向的眼睛视频,以保证捕捉到眼睛注视屏幕的不同姿态。
视频处理过程,按照实验流程进行瞳孔检测和眨眼检测,统计眼部图像裁剪的正确率、瞳孔检测的正确率和眨眼检测的正确率。
(1)通过设备采集眼部图像视频,由机器学习训练生成检测眼睛图像区域模型。导入训练模型检测眼睛图像区域,得到眼睛区域坐标信息,在眼部图像裁剪出眼睛区域,以此除去与眼睛区域无关的冗余部分;(2)将眼睛区域图像转为灰度图,进行高斯滤波,二值化等图像预处理操作;通过设定自适应瞳孔二值化阈值,对二值化后的眼睛图像进行边缘检测,得到边缘区域;(3)通过候选瞳孔筛选策略,排除错误瞳孔,将正确瞳孔椭圆拟合中心作为瞳孔中心;其次通过上述训练获得的眼部特征点模型计算眼睛纵横比,统计眨眼次数。
4 实验结果分析 4.1 图像裁剪6位测试者的眼部图像采集效果如图12所示,其中绿色矩形框内为裁剪区域,裁剪区域内包含上下眼睑,左右眼睑就表示裁剪正确。可以看出不同测试者的眼睛区域裁剪正确率都在100%,保留了详细的瞳孔信息,去除了眼部图像中的冗余信息。
|
图 12 裁剪区域图 Figure 12 Cropped area diagram |
对6位试验者的一张眼部图像分别进行有图像裁剪和无图像裁剪的瞳孔检测,时间对比如表2所示。
|
|
表 2 时间对比 Table 2 Time comparison |
从表中可以看到进行有图像裁剪后,瞳孔检测的时间减少了13.61%,有效提高了检测时间。
4.2 瞳孔定位拟合情况错误瞳孔筛选后得到正确的瞳孔拟合情况,椭圆拟合边界与瞳孔边缘很好的重合度被视为正确瞳孔拟合图像。
图13(a)为错误拟合瞳孔图,图13(b)为正确瞳孔拟合图,从图中可以看出在经过瞳孔筛选策略筛选后去掉了眼角位置的错误拟合,得到了正确的瞳孔拟合。在不同位置下的瞳孔都有正确拟合。
|
图 13 瞳孔拟合图 Figure 13 Pupil fitting diagram |
统计了6位测试者的眼图,对每位测试者的2 000张眼图进行测试,统计瞳孔检测的正确率如表3所示。
|
|
表 3 瞳孔检测正确率 Table 3 Accuracy of the pupil detection |
从表3中可以看出,瞳孔检测平均正确率在97.24%,不同测试者个体之间存在差异。相较而言,2号测试者的瞳孔检测正确率偏低,是由于眼图中存在瞳孔位置相对相机位置过偏,导致拍摄瞳孔变形,不符合瞳孔特征;还有一部分瞳孔与上眼睑重合。总体上错误瞳孔筛选方法对多数测试者来说具有较高的正确率。
在相同条件下,将基于霍夫圆变换定位瞳孔中心的算法与本文提出的算法进行了对比[20]。统计结果如表4所示。该文算法在人眼图像中定位瞳孔中心,准确率为97.24%,基于Hough圆变换算法的准确率为96.71%。两种算法定位瞳孔中心的平均时间为0.1865 s和0.3862 s。由此可见,本文算法在保证高准确率的前提下,在定位时间方面也具有优势。
|
|
表 4 两种瞳孔中心定位算法的实验统计结果 Table 4 Experimental statistical results of two pupil center localization algorithms |
实验中分别统计了多位试验者视频中眨眼情况,将算法统计的眨眼次数与真实统计的眨眼情况进行比较分析,数据如表5所示,从数据中得出,不同试验者在眨眼情况的不确定性下,算法统计的结果准确率在91.59%。其中5号测试者眨眼正确率在65%,是由于测试者在拍摄过程中存在眯眼状态,导致判断眨眼动作出现错误统计。
|
|
表 5 眨眼统计 Table 5 Blink statistics |
本文设计了一款近眼眼球追踪系统设备,在保证相配套的眼动特征提取算法鲁棒性的同时,设备自身可以适配不同类型人群。针对屈光度不正人群,设备通过插片的方式,对不同镜片进行试戴,根据被试者的真实瞳距进行调节,保证被试者佩戴设备中眼睛的舒适性和清晰度。大大降低了穿戴式眼动追踪设备中镜片定制化的限制,增强了设备的普适性,减少了研究过程眼部不适带来的干扰,提高了相关研究数据结果的可靠性。相配套的特征提取算法中瞳孔检测正确率达到了97.24%,眨眼检测正确率达到了91.59%。因此本文的眼动跟踪系统设备,可以为心理学、神经学、用户体验设计等领域应用研究提供可靠性数据支持。
| [1] | THOMPSON C, PASQUINI A, HILLS P J. Carry-over of attentional settings between distinct tasks: a transient effect independent of top-down contextual biases[J]. Consciousness and Cognition, 2021, 90: 103104. DOI:10.1016/j.concog.2021.103104 |
| [2] | NAJAR S A, SANJRAM P K. Gaze behavior and human error in distracted driving: Unlocking the complexity of articulatory rehearsal mechanism[J]. Transportation Research Part F:Traffic Psychology and Behaviour, 2018, 59: 12–23. DOI:10.1016/j.trf.2018.08.005 |
| [3] | BISZAK A M, BABBAGE D R. Facial affect recognition difficulties in traumatic brain injury rehabilitation services[J]. Brain Injury, 2014, 28(1): 97–104. DOI:10.3109/02699052.2013.856475 |
| [4] | AKHAND O, RIZZO J R, RUCKER J C, et al. History and future directions of vision testing in head trauma[J]. Journal of Neuro-Ophthalmology, 2019, 39(1): 68–81. DOI:10.1097/WNO.0000000000000726 |
| [5] | LARRAZABAL A J, GARCÍA CENA C E, MARTÍNEZ C E. Video-oculography eye tracking towards clinical applications: a review[J]. Computers in Biology and Medicine, 2019, 108: 57–66. DOI:10.1016/j.compbiomed.2019.03.025 |
| [6] | VAN DER LANS R, PIETERS R, WEDEL M. Online advertising suppresses visual competition during planned purchases[J]. Journal of Consumer Research, 2021, 48(3): 374–393. DOI:10.1093/jcr/ucab017 |
| [7] | HENNESSEY C, FISET J. Long range eye tracking: bringing eye tracking into the living room[C]//Proceedings of the Symposium on Eye Tracking Research and Applications. Santa Barbara: ACM, 2012. |
| [8] | MORGANTE J D, ZOLFAGHARI R, JOHNSON S P. A critical test of temporal and spatial accuracy of the Tobii T60XL eye tracker[J]. Infancy, 2012, 17(1): 9–32. DOI:10.1111/j.1532-7078.2011.00089.x |
| [9] | COGNOLATO M, ATZORI M, MÜLLER H. Head-mounted eye gaze tracking devices: An overview of modern devices and recent advances[J]. Journal of Rehabilitation and Assistive Technologies Engineering, 2018, 5: 205566831877399. |
| [10] | WAN Z H, XIONG C H, CHEN W B, et al. Robust and accurate pupil detection for head-mounted eye tracking[J]. Computers & Electrical Engineering, 2021, 93: 107193. |
| [11] | 刘晓悦, 王云明. 基于HOG-SVM的改进跟踪-学习-检测算法的目标跟踪方法[J]. 科学技术与工程, 2019, 19(27): 266–271. |
| [12] | CALERO M J F, ALDÁS M, LÁZARO J, et al. Pedestrian detection under partial occlusion by using logic inference, HOG and SVM[J]. IEEE Latin America Transactions, 2019, 17(9): 1552–1559. DOI:10.1109/TLA.2019.8931190 |
| [13] | 田耘, 甄雯, 赵海军. 基于改进的SIFT算子和SVM分类器的瞳孔中心定位[J]. 液晶与显示, 2017, 32(6): 499–505. |
| [14] | SOUKUPOVÁ T, ČECH J C. Real-time eye blink detection using facial landmarks[C]//Proceedings of the 21st Computer Vision Winter Workshop. Rimske Toplice, 2016. |
| [15] | 师露, 王长元, 贾宏博, 等. 双重Haar-like特征瞳孔检测方法[J]. 西安工业大学学报, 2020, 40(5): 493–498. |
| [16] | 胡艳红, 魏江. 红外图像中瞳孔定位算法[J]. 电子设计工程, 2019, 27(1): 189–193. |
| [17] | 顾可可, 付威威, 董月芳, 等. 基于改进轮廓跟踪的瞳孔快速检测[J]. 红外技术, 2017, 39(6): 574–578. |
| [18] | 王延年, 姬乐乐. 基于阈值分割及边缘检测的虹膜定位算法[J]. 微处理机, 2016, 37(6): 34–37. |
| [19] | 赵浩然, 季渊, 穆廷洲, 等. 面向近眼式应用的快速瞳孔中心定位算法[J]. 电讯技术, 2020, 60(9): 1102–1107. |
| [20] | 张宏薇, 王仕洋, 李宪龙, 等. 基于Hough变换的瞳孔识别方法研究与实现[J]. 液晶与显示, 2016, 31(6): 621–625. |
2024, Vol. 46
Issue (2): 54-62


