APP下载

双重Haar-like特征瞳孔检测方法*

2020-12-02王长元贾宏博胡秀华

西安工业大学学报 2020年5期
关键词:瞳孔眼部边缘

师 露,王长元,贾宏博,胡秀华

(1.西安工业大学 计算机科学与工程学院,西安 710021;2.空军军医大学 空军特色医学中心,北京 100142)

眼睛是人们获取信息的主要方式,人类的精神状态分析、行为分析和消费者的认知模型研究等均得益于针对眼部数据的分析[1-3],该特点使得眼动跟踪技术成为人机交互、虚拟现实等人工智能领域的基本构件[4]。

眼动跟踪技术是指利用眼球运动时相对不变的眼部特征作为参照物,得到注视方向、移动轨迹和速度等眼动数据[5]。瞳孔的精准定位和分割是保障眼动跟踪技术性能的基石,目前提出的瞳孔检测算法主要分为网络模型和判别式模型。前者是利用深度学习技术,基于大量的、带有标签的眼部样本训练预定模型,该方法的优点是快速准确,但是其严重依赖训练集样本的质量和类型分布,在没有大型瞳孔数据集的当下,该方法在训练过程中所需的时间成本和算力资源都过于庞大。后者是利用传统图像处理的方法,基于瞳孔的特征将其从背景中分离,识别效果取决于算法所提取瞳孔特征的鲁棒性,该类算法不受计算机算力限制,检测快速便捷,本文提出的方法也属于判别式模型。

在判别式模型中,将“眼部图片中最黑的区域为瞳孔区域”作为最基本的瞳孔结构特征[6],广泛适用于不同遮挡情况下的瞳孔检测[7-9]。该特征不仅使得自适应阈值成为瞳孔检测领域内常用的启发式图像处理步骤[10],也使得Haar-like特征在该领域取得了成功。Haar-like特征反映区域内不同像素块间的灰度变化,像素块的大小及其位置关系的变化产生丰富的Haar-like特征。典型的Haar-like特征由文献[11]提出,随后文献[12]提出积分法提高特征获取速度,文献[13]对Haar-like特征库进一步扩展,自此Haar-like特征广泛用于人脸检测、行人检测等目标检测领域。在瞳孔检测领域,文献[14]基于瞳孔结构特征,结合典型的Haar-like特征设计出新的Haar-like特征,并将其用于自适应阈值二值化处理后的人脸正面图片以确定瞳孔区域,随后分析该区域内像素分布以确定瞳孔中心。该算法在人脸正面数据集内瞳孔定位效果良好,但是其难以抵抗镜面反射造成的干扰。文献[15]则利用Haar-like中心特征进行瞳孔粗定位,随后应用自适应阈值处理瞳孔区域,利用随机一致性采样(Random Sample Concensus,RANSAC)确定瞳孔中心点坐标,该算法针对离轴图片在5 pixel误差范围内得到了87%的检测率,其在光照和镜面反射情况下采集的样本失误率较高。

为降低光照和镜面反射对瞳孔检测造成的干扰,使算法在现实环境中仍能稳定地提供精确的瞳孔数据。相比于文献[14]和文献[15]利用瞳孔的单类型Haar-like特征,本文结合瞳孔的双重结构特征和边缘特征提出一种从粗到细的瞳孔检测方法。本文运用双重Haar-like特征进行瞳孔粗定位,相对丰富的特征信息可提高粗定位的精确度,随后利用形态学像素模型对瞳孔区域进行边缘去噪,结合本文提出的最长边缘假设,消除瞳孔区域内所有的干扰像素,由此提高边缘拟合精度,最终结合最小二乘法进行边缘拟合,进一步精确瞳孔位置。

1 算法概述

本文算法分为三个阶段:

1) 利用基于双重Haar-like特征的特征提取器初步估计瞳孔区域,缩小随后任务的处理范围;

2) 利用Canny滤波器[16]提取瞳孔区域内的边缘特征,结合形态像素模型过滤边缘图像,根据瞳孔边缘最长假设确定边缘像素点;

3) 基于瞳孔轮廓像素,利用最小二乘法[17]拟合出瞳孔轮廓,确定瞳孔中心位置、瞳孔椭圆的长轴、短轴、偏离角度等瞳孔信息。

1.1 估计瞳孔范围

由于眼部结构的特殊性,眼部图片中瞳孔具有“高亮度像素包围黑色像素块”的特征,结合现有的Haar-like特征模板[11,13],本文提出基于双重Haar-like线特征的瞳孔检测器估计瞳孔大致范围。

由于瞳孔的个体差异性、光线的明暗变化引起的放大和收缩反应以及采集设备的位置不同造成的尺寸、形状的变化,单一模板会限制Haar-like特征的提取能力。为充分提取目标特征,文献[12]提出Haar-like特征模型时保留模型中黑白矩阵比例关系,在满足图片尺寸的要求下扩大模型覆盖面积,利用Adaboost方法[18]处理检测到的所有特征,以确定目标位置。该方法作为人脸检测的里程碑式算法,爆发式地提取特征以提高检测精度,利用该方法处理瞳孔图片则会产生大量的冗余特征。因此本文基于Haar-like线特征中黑白矩阵的比例关系,保留文献[15]提出的比例关系(图1(a)),并在重复实验的基础上提出新的比例关系(图1(b)),二者共同作为瞳孔检测器的Haar-like特征。

图1 双重Haar-like特征瞳孔检测器的粗定位过程 Fig.1 The process of rough localization by a double Haar-like features pupil detector

双重Haar-like特征瞳孔检测器的检测过程如图1所示,其核心是将双重Haar-like线性模板分别与瞳孔灰度图进行卷积运算得到对应的特征图,特征图中像素最小值坐标即为瞳孔区域的中心位置,其中r仅用于表示Haar-like线性模型中黑白矩阵的比例关系。对于双重Haar-like特征检测器得到的两个瞳孔位置,取其中心点作为瞳孔的粗定位结果,检测效果如图2所示,图中第一行为初始完整的眼部图片,第二行为双重Haar-like特征检测器确定的瞳孔位置。为提高特征图的计算效率,本文使用文献[12]提出的积分图运算方法计算相应的特征图。

图2 瞳孔粗定位效果图Fig.2 The results of rough location of a pupil

1.2 确定瞳孔轮廓像素点

对瞳孔图像的边缘特征进行分析后,本文认为瞳孔边缘可假定为由连续像素点形成的弧线。基于该假设,本文对瞳孔区域进行Canny filter滤波[16]获得边缘图,经过边缘去噪确定属于瞳孔边缘的像素点。

如图3(a)所示,Canny filter提取到的边缘包含许多与瞳孔边缘无关且影响后期边缘拟合的像素点。基于上文的边缘特征假设,本文进行边缘去噪的方式为渐进性地消除范围内可拟合出直线的像素点:

1) 边缘细化:将瞳孔范围内的边缘线细化,在保留边缘形状的基础上尽可能的删减像素,即消除交叉点像素,效果如图3(b)所示;

2) 直线标准化:将瞳孔范围内所有近似为直线的边缘像素进行直线标准化,转变为严格的水平直线或垂直直线,该步骤减小了“直线”的丰富度,便于后续直线删减操作,效果如图3(c)所示;

3) 消除直线:消除瞳孔范围内所有独立存在的水平直线和垂直直线,效果如图3(d)所示;

4) 确定瞳孔边缘:将瞳孔范围内最长的边缘作为瞳孔轮廓,滤除其余所有像素,效果如图3(e)所示。

图3 瞳孔区域边缘去噪过程Fig.3 The process of edge denoising around a pupil

本文在对瞳孔范围内边缘进行形态学处理时使用的像素模型如图4所示,其中白色和灰色方块皆代表边缘像素。模型匹配时,灰色方块位置内像素移出边缘,黑色方块内像素则加入边缘。上述模型基于文献[6]提出的像素移动模型,但与该团队对整个瞳孔图片做处理的方式不同,本文仅对瞳孔范围进行处理,在进行“边缘细化”和“直线标准化”操作后基于瞳孔边缘最长假设,消除与瞳孔边缘无关的所有像素,提高边缘拟合精度。

图4 边缘去噪过程中采用的形态像素模型Fig.4 Morphological pixel manipulation pattern used in the process of edge denoising

1.3 获取瞳孔信息

医学认定,瞳孔位于虹膜中央,呈圆盘状。因此在基于图像处理的瞳孔检测领域中,通常将瞳孔的轮廓假设为椭圆,并以椭圆中心作为瞳孔的精确位置。椭圆拟合作为本文提出的瞳孔检测算法的最后一个环节,基于1.2节获取的像素拟合出最贴近瞳孔边缘的椭圆,该椭圆的中心点坐标即为瞳孔中心点位置。

目前,椭圆拟合主要由三种算法实现:基于投票的Hough变换[19]、基于搜索的RANSAC[20]和最小二乘法[17]。相比于易受噪声干扰的最小二乘法,Hough变换和RANSAC以计算复杂度为代价提高了算法的鲁棒性,在本文设计的检测步骤下,进入椭圆检测阶段后像素点仅为瞳孔边缘像素。因此,本文采用最小二乘法[17]作为获取瞳孔信息的椭圆拟合算法,部分眼部图片的检测效果如图5所示,其中白色曲线为本文算法检测的瞳孔边缘。

图5 部分样本瞳孔检测结果Fig.5 The results of pupil detection of some samples

2 实验与结果分析

实验采用文献[21]制作的数据集“Labelled Pupils in the Wild”(LPW),该团队对来自不同国家的22名被试人员,在室内和室外不同光源下,利用Pupil Pro Head-mounted Eye Tracker跟踪器采集了66个眼部视频,每个视频包含2 000帧图片,部分样本如图6所示。

图6 LPW数据集中部分样本Fig.6 Samples of LPW

为了评价本文算法的瞳孔检测性能,实验选用Swirski[15],ExCuSe[6],Isophote[22]和Gradient[23]算法进行对比实验,其中,Swirski和ExCuSe作为瞳孔检测领域的先进算法被广泛用于算法的评价[24],Isophote和Gradient作为两个简单的瞳孔检测算法可进一步体现LPW中瞳孔图像的复杂度。

2.1 定量分析

对Swirski,ExCuSe,Isophote,Gradient和本文算法在LPW数据集上的实验结果,从检测误差的角度进行量化分析,各算法在LPW数据集上的误差分布如图7所示,其中Y轴数值表示小于相应检测误差的检测概率。在计算检测误差时,采用LPW提供的标签值作为真实值,利用欧式距离计算算法输出值和真实值之间的差距。在20 pixel的误差范围内,Isophote与Gradient低于42%的检测比例反映出LPW数据集具有一定的检测难度,在此背景下,本文算法与ExCuSe分别取得了64%的检测结果,略高于Swirski的61%。在100 pixel的误差范围内,本文算法取得了91%的检测率,ExCuSe和Swirski则分别取得了77%和85%的检测率。上述数据证明本文在四种对比算法中,在精确度上达到了ExCuSe的程度,在检测能力上整体表现最佳。

图7 Swirski,ExCuSe,Isophote,Gradient和本文算法在LPW数据集上的瞳孔检测误差分布图Fig.7 Cumulative error distribution of Swirski,ExCuSe,Isophote,Gradient and the new algorithm on LPW dataset

2.2 定性分析

本章节基于本文算法在LPW数据集上不同情况下的眼部图片的检测结果,定性分析采集环境、镜面反射对算法性能造成的影响。表1为在20 pixel误差范围内,Swirski、ExCuSe和本文算法针对不同情况下眼部图片的检测效果。结果表明,本文算法相比于Swirski和ExCuSe能有效抵抗镜面反射造成的干扰,并且对于采集环境的变化具有一定的鲁棒性。

表1 Swirski,ExCuSe和本文算法针对不同情况的眼部图片,在20 pixel误差范围内的检测概率Tab.1 The detection probability for different eye pictures by Swirski,ExCuSe and the new algorithms (within the pixel error range of 20 pixel)

1) 采集环境。由于强光的红外部分会在瞳孔上产生反射和阴影,在室外环境下采集的瞳孔图片相比于室内图片增加了检测的难度,这也是本文算法对室内图片的检测效果要优于室外图片的原因。

2) 镜面反射。由于视力存在缺陷的用户需要佩戴眼镜以维持日常生活,因此瞳孔检测算法对眼镜造成的镜面反射和遮挡的鲁棒性是十分重要的。本文算法在这两种情况下的检测效果近似,检测率均在64%(20 pixel误差范围内对整个数据集进行处理)附近,因此镜面反射和遮挡并没有对检测性能造成严重的干扰。

3 结 论

本文以灰度眼部图片为研究对象,提出了一种基于双重Haar-like线特征和瞳孔边缘特征的检测方法。基于双重Haar-like线特征的瞳孔检测器确定灰度眼部图片中瞳孔的大致范围,通过形态像素模型和瞳孔边缘最长假设确定该范围内属于瞳孔边缘的像素,提高椭圆拟合的准确度,利用最小二乘法进行椭圆拟合以获取瞳孔位置信息。在LPW瞳孔数据集上的检测结果表明,本文算法相比于其他具有代表性的检测算法总体性能最佳。对实验结果进一步分析表明,光照和镜面反射并未对本文算法的检测性能造成严重的干扰,这使得本算法可以为真实环境下人员的疲劳检测、行为分析等领域提供稳定精确的眼动数据。同时,本文算法在检测精度上还有一定的提升空间,在以后的工作中将进一步优化瞳孔粗定位算法,缩小误差范围,采用更具鲁棒性的椭圆拟合算法提高检测精度。

猜你喜欢

瞳孔眼部边缘
窥见眼部瑜伽
瞳孔
一张图看懂边缘计算
瞳孔大,决策力差
屠岸的散文诗(两章)
美目莫忘眉
在边缘寻找自我
走在边缘
边缘艺术