考虑识别鲁棒性和虹膜颜色影响的瞳孔精准定位方法

2024-03-24 03:10罗亚波
南京大学学报(自然科学版) 2024年1期
关键词:虹膜瞳孔相似性

罗亚波,李 鑫

(武汉理工大学机电工程学院,武汉,430070)

人眼是人观察世界、获取信息的最主要途径,同时也反映人的注意力、体现人的生理状况.瞳孔是人眼中心颜色最深的类圆,其大小受情绪变化、光线强度、生理状态等影响,因此人因工程对人眼的研究大多集中在瞳孔.瞳孔定位(瞳孔检测)是指提取瞳孔中心坐标并标记其实际边界(瞳孔边界)[1].准确的瞳孔定位广泛应用于人因工程、人机交互、心理学、智能驾驶、医疗健康等领域[2],是注意力分析、凝视跟踪的前提.而由于应用场景的多元化,检测设备、背景复杂程度、光照强度等影响图像质量,导致瞳孔检测准确率较低,在某些领域无法规模化应用.此外,主流虹膜颜色有褐色、蓝色、绿色,虹膜与瞳孔的对比度不同是影响瞳孔检测准确率的又一因素.因此,如何准确地检测瞳孔受到研究界广泛关注.

形状结构特征和外观纹理特征是瞳孔检测常用的特征,Hough 变换是常用的目标检测方法,但准确率有限且运算量大.因此张宏薇等[3]提出改进的Hough 变换检测瞳孔,由于设置了检测圆的半径范围,所以在准确率和检测速度方面,比仅利用Hough 变换有显著提升,但不同数据集的规格不同,需要人工设置半径范围,算法的自适应性不高,且对图像分辨率要求较高.Gu et al[4]使用轮廓跟踪方法提取瞳孔区域,确定区域质心为瞳孔中心,该方法适用于不规则瞳孔的检测,并且可以满足实时检测的要求,但由于使用固定阈值进行二值化,不能适应光照变化,鲁棒性较差.宋保全等[5]基于亚像素边缘的多模板匹配算法定位瞳孔,提取训练样本图像的亚像素边缘创建匹配模板,使用创建好的模板集合对待测图像进行匹配,该方法不易受个体差异影响,无需人工调参,具有一定的鲁棒性.王鹏等[6]基于近眼红外图像,获取最大连通域后边缘检测,利用改进的最小二乘椭圆拟合定位瞳孔中心,可以解决反射光斑干扰以及瞳孔被部分遮挡的问题.Zhou et al[7]基于参数优化,设置三步阈值,二值化图像后提取瞳孔轮廓,能够较好地解决瞳孔与背景灰度值接近时定位精度下降的问题.El et al[8]提出带变形边缘检测的霍夫圆变换算法检测瞳孔,通过多次滤波处理图像,使用Canny 算子检测瞳孔边缘,经过细化去除不满足曲率的边缘,能够较好地去除模糊和噪声对检测精度的影响.

目前主流的瞳孔检测方法是基于深度学习的方 法,Khan et al[9]提出一种深度学习和图像处理算法相结合的瞳孔定位方法,通过深度神经网络获取眼部图像,在眼图上利用多级卷积来找到所识别的眼眶内瞳孔的最佳水平和垂直坐标.崔家礼等[10]基于卷积神经网络,在网络结构中减少下采样因子,增加扩张残差单元,实现复杂场景下的直接人眼检测.Gdoura et al[11]结合了卷积神经网络和类似马尔可夫随机场的过程,提出一种轻量级的混合模型,能够在相同的卷积层上运行不同的图像尺度,在性能提高的基础上,显著降低模型大小.尽管使用大量标记瞳孔中心的样本进行训练可以获得较好的结果,但是此类方法训练耗时,且高质量的数据集有限.此外,深度学习模型在实际应用中涉及模型部署,要解决模型框架兼容性差,所需的环境难以配置的问题,以及深度学习模型的结构通常比较庞大,需要大量的算力才能满足实时运行的需求,模型的运行效率需要优化的问题.

为了克服虹膜颜色、图像分辨率、照明、噪声等对瞳孔定位精度的影响,本文基于由粗到细思想,结合深度学习和图像处理算法,提出一种适应低分辨率全脸图像的瞳孔定位新方法.为验证方法的有效性,在BioID 数据集和GI4E 数据集上进行实验.创新性地考虑虹膜颜色的影响,自制由低分辨率的深色虹膜人脸图像组成的数据集并进行实验,结果表明该方法具有较高的识别鲁棒性,且可以有效对抗虹膜颜色变化对定位准确率的影响.由于方法的非接触性和鲁棒性,可广泛应用于人机交互、残疾人通信、智能驾驶等方面.

1 瞳孔定位方法描述

所提出的瞳孔定位方法的流程如图1 所示,首先利用基于深度学习的面部关键点检测方法提取图像中仅包含眼睛(分为左眼和右眼)的区域,缩小瞳孔定位的范围,减少下一步自相似性分数和梯度辐射分数的计算量.对截取的图像进行预处理,减小虹膜或瞳孔上的反射光斑,降低光照对瞳孔定位准确性的影响.其次根据瞳孔的纹理特征和梯度特征,分别计算眼部区域自相似性分数和梯度辐射分数,消除边缘响应后进行均值滤波处理消除主要由于噪声引起的异常大的值.最后对梯度辐射分数归一化以消除不同特征分数之间数量级不同的影响,使不同特征分数对定位结果的作用相等.合并自相似性空间和梯度辐射空间,确定联合空间数据峰值位置即为瞳孔中心.

图1 瞳孔定位方法流程Fig.1 Flow diagram of the algorithm

1.1 眼部图像获取及处理方法人眼检测或瞳孔检测任务的错误通常表现为将输入图像中背景噪声或人眉毛、眼角等低像素值区域错误地认为是目标区域.然而,利用深度学习算法可以从低分辨率图像或视频帧中准确提取面部和眼部区域,可以有效地解决这一问题.

使用预训练的深度学习模型获取输入图像中的面部图像,对面部区域进行关键点检测,根据每个眼睛的多个关键点的最小横、纵坐标确定眼睛区域的左边界和上边界,根据最大横、纵坐标确定眼睛区域的右边界和下边界,裁剪眼睛图像以粗定位瞳孔中心可能出现的区域.

关键点检测是通过使用Dlib 库[12]实现的.使用Dlib 从图像中提取面部区域,这一操作可以去除图像中不感兴趣区域,消除背景噪声的影响.在面部区域中检测68 个关键点,如图2 所示.每个眼睛区域包含眼角及眼睑共六个关键点,根据六个关键点横、纵坐标的最值,确定眼睛区域的边界,裁剪出眼睛区域图像用于后续计算,相较于在整个面部区域检测瞳孔,计算量大大减少.

图2 面部68 个关键点Fig.2 Facial 68 key points

对截取的眼部图像进行双边滤波,过滤图像中的噪声,同时可以很好地保护瞳孔及虹膜的边缘,便于后续计算.形态学开运算能有效去除图像中孤立的高像素值点,对眼部图像进行开运算,可有效去除由于照明变化引起的虹膜和瞳孔上小的反射亮斑,提高检测任务的准确率.在一个面部区域中同时检测两个眼部区域的输入图像才被视为有效输入.

1.2 自相似性分数计算方法高分辨率图像可以清晰观察到圆形的瞳孔,通过分析外观纹理特征,可知圆形的瞳孔具有高度径向自相似性、良好的旋转不变性和尺度不变性,根据自相似性定位瞳孔可以很好地降低照明和头部姿态的影响.

自相似性是指图像局部区域的像素值与经几何变换后的局部区域的像素值之间存在线性关系.高自相似区域是即使在几何变换(如旋转或反射)、尺度、视点或照明条件变化以及在噪声的情况下也保持其独特特性的区域[13].几何变换前后像素值的线性关系表示为:

其中,P表示半径为R的圆形区域,x是P中的点,I(x)表示x点的像素值,T表示区域P上定义的几何变换.为了检测瞳孔,T仅限于旋转和反射.

在大多数现实图像中,区域P中几乎所有点都不能满足式(1),因此使用归一化的相关系数(normalized correlation coefficient,ncc)衡量式(1)的线性关系,以此表示自相似性.如果归一化相关系数接近1,则认为局部区域具有高自相似性.

其中,i为区域P中点的序号,为区域P中所有点的平均像素值.

根据式(2)计算任意区域在不同几何变换情况下的归一化相关系数,以此衡量区域的自相似性.通过极性光栅采样将圆形区域P转化为矩形区域P,可以极大简化式(2)的计算,以N个角度和M个圆采样.当极性光栅采样的半径为rm时,表示区域P自相似性的归一化相关系数为:

由于输入图像中瞳孔的尺度不尽相同,针对不同半径,根据式(3)得到多尺度自相似性的计算为:

根据式(4),计算输入图像眼部区域的自相似性,得到自相似性映射图.由于自相似性具有较强的边缘响应,为提高瞳孔定位准确率需消除边缘响应.差分高斯算子沿着边缘具有较小的主曲率,垂直边缘具有较大的主曲率,因此只需比较主曲率比率即可消除边缘响应.主曲率通过海森矩阵求得,为减少计算量,使用海森矩阵特征值的比例.α,β(α>β)为海森矩阵两个特征值,Tr 为矩阵的迹,Det 为矩阵行列式值,设γ=α/β,则:

为了检测主曲率是否在某个阈值Tr 下,只需检查比值大小,若满足式(6)则剔除该点,否则保留.

最后进行均值滤波,消除主要由噪声引起的异常大的值,相比于高斯滤波既平滑了数据,又减少了计算量,平滑的自相似性映射图作为第一部分的结果.图3 为人眼部图像,其自相似性映射图及消除边缘响应的自相似性映射图示例.为了显示图像,将自相似性得分缩放到[0,255],图中越亮的点更可能表示瞳孔中心.

图3 包含人眼(a)、对应的多尺度自相似性(b)及消除边缘响应的多尺度自相似性(c)的示例Fig.3 A pattern:(a) a human eye,(b) the corresponding multiscale radial saliency,(c) the multiscale radial saliency for eliminating the edge responses

1.3 梯度辐射分数计算方法边缘纹理特征比较依赖图像分辨率,当待检测图像为低分辨率图像,真实世界中的高频区域在图像中易表现出明显的锯齿状,形状特征变形,不能胜任高精度的检测任务.有明显锯齿状边缘的瞳孔区域自相似性较低,单一使用自相似性定位瞳孔准确率有限,而梯度特征在低分辨率图像中仍能保持良好,可用于低质量图像中瞳孔定位.因此,提出梯度辐射分数概念.

第二阶段是依靠梯度信息计算眼部图像的梯度辐射分数.梯度辐射分数是根据图像梯度计算出的图像某一像素点与其余所有点的强度关系,在兴趣点处计算得到较大的梯度辐射分数,可以依靠梯度辐射分数检测图像中兴趣点,梯度辐射分数同径向自相似性特征一样具有较好的旋转不变性,可以有效减小头部姿态对定位准确性的影响.

p(x,y)是输入图像上的一点,p′是与p点距离为r的点,即p′(x′,y′)是以点p为圆心,半径为r的圆上的点,从点p到点p′ 是梯度下降的方向,则:

由于需要计算每一点到其余各点的梯度辐射分数,计算量巨大,为简化计算,使算法检测效率较高,且保证数据之间相对大小不变,令点对点的梯度辐射分数为梯度幅值大小,综合所有点对一点的单一梯度辐射分数,即为该点梯度辐射分数.点p到点p′ 的辐射分数为点p的梯度幅值,即:

以搜索半径r在眼部图像中检测瞳孔兴趣点,即假定瞳孔中心点到瞳孔边缘距离为r,计算所有点处梯度辐射分数,每一点处的梯度辐射分数等于以该点为圆心,r为半径的圆上所有点对该点的梯度辐射:

以此方法计算所有点处的梯度辐射分数,其中p是输入图像上的点,n是以p为圆心,r为半径的圆上所有像素点的个数,pi是圆上的点,i∈[1,n],m(pi,p,r)是点pi对点p的辐射分数.

由于输入图像中瞳孔的尺度不同,针对不同半径,准确检测到多尺度瞳孔,无需改变图像尺寸构建图像金字塔,仅需调整梯度辐射分数检测半径,计算不同检测半径下的梯度辐射分数的均值,以多尺度梯度辐射分数的均值表示某点的梯度辐射分数,检测半径r∈[Rmin,Rmax].

根据式(12)计算得到眼部区域各点的梯度辐射分数,对计算得到的多尺度梯度辐射分数进行均值滤波处理,消除主要由于噪声引起的异常大值.自相似性分数的分布为[0,1],对平滑后的多尺度梯度辐射分数进行归一化处理,以便后续与第一阶段自相似性分数相结合确定瞳孔中心,归一化处理的多尺度梯度辐射分数作为第二阶段的结果.

超疏水表面的构建主要是利用了铜和银两种金属的氧化还原电势([Cu2+/Cu (+0.337)- Ag+/Ag (+0.799 1)])的差异进行第2相金属沉积。制备过程示意图如图1所示。将洁净的铜块放入硝酸银溶液中后,在较短的时间内(10 s~60 s)将银置换出来,被还原的银在铜块表面沉淀并选择生长。调整反应时间、预处理温度可以对微观形貌进行调控。将这种沉积了银粒子的铜块放入硫醇溶液中,利用硫醇与银之间极易键和的特点,在表面组装上一层硫醇分子,以降低表面的自由能从而实现表面超疏水。

按照瞳孔特殊的形状,利用常规的圆形检测方法可以检测瞳孔,但是真实情况下,由于眼睑闭合遮挡或眼球运动,图像中可视的瞳孔区域并不一定是正圆,常规的圆形检测方法对于圆度要求较高,如果参数设置比较严苛,可能无法检测到瞳孔区域,而参数设置比较宽容的情况下可能会检测到多个圆形区域,误把其他区域标记为瞳孔区域.对瞳孔区域进一步观察,发现人眼巩膜到虹膜区域、虹膜到瞳孔区域,灰度值持续降低,巩膜和虹膜的边界处、虹膜和瞳孔的边界处,梯度特征明显,因此使用梯度辐射分数方法定位瞳孔比较可行,相较于常规圆检测方法具有更高的检测精度.

1.4 定位瞳孔中心计算得到的眼部区域自相似性分数和梯度辐射分数用于最终定位瞳孔中心.将两个阶段计算得到的数据逐点相加,对相加后的数据矩阵进行均值平滑,降低噪声的影响.最后选择平滑后的联合矩阵中的最大值点作为瞳孔中心.图4 为本文所提方法定位瞳孔的示例,图4a 为裁剪的眼部图像,图4b 为自相似性映射图,图4c 为梯度辐射分数,图4d 为平滑后的联合分数,图4e 展示了检测到的瞳孔中心.

图4 本方法定位瞳孔的示例Fig.4 An example of locating the pupil using this method

2 实验及结果

为了验证本文方法对于低质量图像瞳孔定位的准确性,在瞳孔检测常用公共数据集上进行实验,并与其他文献方法进行比较分析.

由于现有研究中所使用的数据集受试者大多来自西方地区,虹膜颜色较浅,与瞳孔颜色对比明显,瞳孔定位较为容易.而对于虹膜颜色较深,与瞳孔对比不明显的情况,如亚非地区人脸图像的瞳孔定位,部分基于颜色或形状特征的方法准确性较差,标记的瞳孔中心偏离瞳孔区域,位于虹膜区域,因此对于黑色或深棕色瞳孔定位难度高于蓝绿色瞳孔.现有研究中仅在公共数据集上验证所提出的方法,或在自制数据集上进行验证,但是自制数据集受试者为西方人种,忽略了虹膜颜色不同会对瞳孔定位准确率造成影响.现有方法在某些场景可能失效,鲁棒性较差,因此本研究在保持低图像分辨率基础上,在自制数据集中加入不同于公共数据集的深色虹膜.为验证本方法对于虹膜颜色的鲁棒性,在自制数据集上进行实验.

2.1 实验准备瞳孔检测过程中使用以下自定义参数.用于自相似性计算的最小尺度s=0.05×Weye,最大尺度S=0.15×Weye,Weye为眼部区域的宽度;极性光栅采样过程中N=round(π×M),其中round()为四舍五入取整函数;用于梯度辐射分数计算的最小检测半径Rmin=0.05×Weye,最大半径Rmax=0.15×Weye.

由于眼球的不规则运动,瞳孔中心可能在眼眶边缘,在瞳孔定位任务中计算自相似性不能简单地丢弃每个方向上的边界像素.本文采用的办法并非以截取的眼部图像作为独立图像计算其中所有点的自相似性,而是在整个面部图像中,仅计算眼部区域的每个点的自相似性,这样既保证计算的简单性,同时可以计算边界像素自相似性,避免可能丢弃真实瞳孔中心的问题.

2.2 公共数据集实验使用BioID 数据集[14]测试本文所提出的算法.BioID 数据集是瞳孔定位使用最广泛的数据集之一,由1521 张384×286像素的灰度图像组成,这些图像来自23 个受试者在不同时间和地点的正面或偏转的人脸,因此照明状况及背景不同,且人脸在图像中的尺度也不同.BioID 数据集的部分图像中受试者眼睛闭合,或佩戴眼镜时瞳孔被眼镜上的反射光斑遮挡,且图像分辨率较低,低于普通网络摄像头,被认为是困难和真实的数据集,可以有效验证瞳孔定位方法的鲁棒性.

GI4E 数据集[15]由1236 张800×600 像素的彩色图像组成,这些图像来自不同照明和背景的室内,通过让103 个受试者注视屏幕的12 个不同点获取不同头部姿态、眼睑闭合状态、照明状况等的图像.GI4E 数据集被认为是符合真实状况的数据集.

2.3 评价指标为了验证本文提出的瞳孔检测算法的准确性,实验采用瞳孔检测领域通用指标归一化误差进行评估,以便与现有文献方法进行对比.这一指标是由Jesorsky et al[16]提出的,使用双眼瞳孔定位较大的误差,与真实双眼瞳孔坐标欧几里得距离的比,衡量瞳孔定位的精度.归一化误差的计算如下所示:

其中,dleft与dright是检测出的左瞳孔中心和右瞳孔中心坐标与真实坐标之间的欧几里得距离,w是两瞳孔中心真实坐标之间的欧几里得距离.以归一化误差为指标,算法检测准确度与人脸和图像比例及图像的大小无关,e≤0.25(内眼角间距的一半)大致对应眼睛中心到眼角的距离,e≤0.10大致对应虹膜区域,e≤0.05 大致对应瞳孔区域.

2.4 公共数据集实验结果与分析图5 显示了本文所提方法在BioID 数据集上的实验结果(实线),并且与仅使用自相似性方法(点线)和仅使用梯度辐射方法(段线)在BioID 数据集上的表现进行对比.本文提出的方法在归一化误差e≤0.05时准确率为94.67%,即94.67%的图像瞳孔被准确地定位在瞳孔区域,归一化误差e≤0.10 时准确率达到99.47%.由图可见,自相似性分数和梯度辐射分数组合的性能优于仅使用单一分数,可以显著降低定位的归一化误差.在BioID 数据集的表现说明,本文方法对于低分辨率图像仍能以高准确率定位图像中瞳孔坐标,且照明状态、头部姿态发生变化对结果的影响较小.

图5 本文算法在BioID 数据集上的实验结果Fig.5 Experimental results of our algorithm on BioID dataset

图6 为准确定位BioID 数据集图像双眼瞳孔的示例,即使该图像中受试者眼睛部分闭合,仍能以较小的误差定位瞳孔中心,归一化误差为0.0389.

图6 BioID 数据集瞳孔定位示例Fig.6 An example of pupil localization in BioID dataset

为了进一步说明本文所提方法的优越性,使用BioID 数据集,以归一化误差为衡量指标,与其他文献中使用的方法进行比较,表1 为不同算法在BioID 数据集上的准确率比较结果.从表1 可以看出,与其他文献中的方法相比,本文所提方法在BioID 数据集上取得较好的结果,当e≤0.05时,本文方法的准确率优于大多数现有方法,即本文方法定位结果基本在瞳孔区域内,与真实坐标相比没有明显偏离.当e≤0.10 时,本文方法的准确率为99.47%,优于文献[19-21]中的方法,与现有最先进的方法相比没有明显区别,说明本文方法的有效性和优越性.

表1 本文方法与其他方法准确率比较(BioID 数据集)Table 1 The accuracy of the proposed method compared with other methods (BioID dataset)

第二部分实验是为了说明本文方法对彩色面部图像瞳孔定位的准确性,在GI4E 数据集上进行,并与其他文献中使用的方法进行对比,表2 显示了不同算法在GI4E 数据集上的结果.使用本文所提算法,97.09 % 的图像归一化误差e≤0.05,在e≤0.10 的情况下瞳孔定位准确率达到99.51 %,优于现有大多数算法,说明所提出的方法的优越性,对于彩色图像同样具有较好的准确性,且在不同光照环境和头部姿态状况下,均实现较好的性能,具有较好的鲁棒性.

表2 本文方法与其他方法准确率比较(GI4E 数据集)Table 2 The accuracy of the proposed method compared with other methods (GI4E dataset)

2.5 自制数据集实验结果与分析用于验证本方法能有效对抗虹膜颜色影响的自制数据集由11 位实验人员的298 张384×216 像素的彩色图像组成.自制数据集的图像在实验室内获取,实验人员性别和体型不同,光照强度、头部姿态、注视方向可以改变,部分图像中受试者佩戴眼镜.图像分辨率低于大多数常见摄像头采集图像的分辨率,用于验证本文方法能有效定位低分辨率图像中瞳孔位置,对硬件要求较低.实验人员均为深色虹膜,用于验证本方法对深色虹膜人员瞳孔定位的有效性.图7 展示了自制数据集的部分图像.为了验证本文提出的方法对于深色虹膜人员瞳孔定位的准确性,使用本文方法在自制数据集上进行实验,图8 为本文方法以及仅单独使用自相似性方法和仅单独使用梯度辐射方法在自制数据集上的表现.由图8 分析可知,使用本文方法定位自制数据集图像中瞳孔位置,当归一化误差e≤0.05 时准确率为98.66 %,e≤0.10 时准确率为100 %,验证了本文方法不仅可以准确定位浅色虹膜人员的瞳孔,对深色虹膜人员的瞳孔中心定位同样具有较高的准确率,对于不同虹膜颜色有很好的鲁棒性.

图7 自制数据集部分图像Fig.7 Partial images from the self-made dataset

图8 自制数据集实验结果Fig.8 Experimental results of the self-made dataset

表3 展示了本文方法在自制数据集上不同归一化误差时的准确率.

表3 本文方法在自制数据集上的准确率Table 3 The accuracy of the proposed method (selfmade dataset)

3 结论

针对瞳孔定位鲁棒性及虹膜颜色影响定位准确率问题,提出一种在包含全脸的图像中精准定位瞳孔中心的新方法:

(1)通过计算眼部区域各点的自相似性衡量区域的径向显著性,提高了对头部姿态、尺度、照明等变化的鲁棒性;

(2)根据瞳孔与周围区域的梯度关系,计算眼部区域的梯度辐射分数,保证低分辨率图像的定位准确度,提高对虹膜颜色变化的抗性;

(3)对联合数据进行均值滤波,在提高方法定位准确性的同时保证了较小的计算量.

在BioID 和GI4E 数据集上进行实验,当归一化误差e≤0.05 时,取得了94.67%(BioID)和97.09%(GI4E)的准确率.自制用于实验的低分辨率深色虹膜的人脸数据集,为瞳孔定位领域数据集引入虹膜颜色因素,自制数据集的定位准确率为98.66%(e≤0.05),表明本文方法对于虹膜颜色变化具有较高的鲁棒性,满足高精度瞳孔定位的要求.

由于本文方法为减少计算量,基于人脸检测裁剪出的眼部图像实现,因此不适用于图像中不包含整个面部的情况.未来将基于图像的形状和纹理进行方法改进,直接粗定位眼部及精定位瞳孔,不依赖整个面部,以适用于图像中仅包含部分人脸的场景.

猜你喜欢
虹膜瞳孔相似性
“天眼”的“瞳孔保健师”
一类上三角算子矩阵的相似性与酉相似性
双眼虹膜劈裂症一例
浅析当代中西方绘画的相似性
瞳孔里的太阳
“刷眼”如何开启孩子回家之门
瞳孔
低渗透黏土中氯离子弥散作用离心模拟相似性
瞳孔
虹膜识别技术在公安领域中的应用思考