本发明涉及视线追踪技术领域,具体涉及一种瞳孔中心点定位方法。
背景技术:
视线追踪技术也称为眼动跟踪技术,是利用电子,机械,光学等各种检测手段获取用户当前视觉注意的方向的技术,因此在进行视线跟踪技术方面的研究时需要一些仪器的辅助,例如摄像头,感光的仪器等。它的研究方向包括生理学,心理学,光学,计算机科学领域,目的是要寻找能够客观、准确的反映用户实时的注视方向与视线落在空间位置的有效方法。视觉注意是指导视线追踪技术应用的基础,它体现了用户注意力集中的目标区域或者感兴趣区域,因此可以根据跟踪观察者的视觉路径,来查看观察者的感兴趣内容。当与计算机操作结合时可以模拟鼠标键盘操作;当与机械操作结合时可以操作各种机器等。
视线追踪系统就是将视线落点实时的输入到计算机中来完成用户的命令,这样不仅避免了传统输入设备需要手参与的冗余,而且增加了设备使用的灵活性与趣味性,它被应用到军事,游戏,体育研究,虚拟现实,车辆辅助驾驶等各种领域,前景十分广阔。将视线追踪技术用于人机交互系统中,可以将人们的手解放出来,做更多的事情,使用视线追踪技术设计的系统或仪器也可以有助于帮助上肢有疾病的特殊人群使用计算机或者其他智能机器,帮助从事计算机相关的工作人员脱离键盘与鼠标,远离键盘手与使用电脑引起的肩周炎等疾病。同时基于视线追踪的眼控人机交互系统可以作为家庭智能环境的终端管理系统,用户通过眼部运动即可抛弃遥控器,随心所欲的对家庭其余智能电器进行控制和操作。
现阶段国内外均有类似技术出现,但大多需依赖价格高昂的专业设备或通过外接硬件实现目标,且精度大多不能令人满意。因此,急需一种精确的瞳孔中心计算方法,解决上述问题。
技术实现要素:
为了解决现有技术的不足,提供一种更精确、更便捷的的定位瞳孔中心点的方法,本发明提供了一种瞳孔中心点定位方法,包括如下步骤:
S1:图像预处理,以将获取的包括人脸的彩色图像转换成灰色图像;
S2:人脸识别,从所述灰色图像中获取包含人脸的最大矩形区域;
S3:人眼区域识别,通过预设的比例范围从人脸的矩形区域内框选眼部区域;
S4:瞳孔识别,通过梯度交点计算的方法计算瞳孔中心点。
其中,所述步骤S4包括如下步骤:
S41:取眼部区域内任一可能点,计算该可能点的点积值;
S42:在眼部区域的所有可能点中,找出与最大点积值所对应的可能点,该可能点即为眼部区域内的瞳孔中心点。
其中,点积值的计算公式为:
其中,
其中,为任一可能点与眼部区域边缘的像素位置之间的位移向量;
为对应的像素位置的梯度向量,并且该梯度向量的方向与事实上的瞳孔中心点到对应的像素位置向量方向一致;
N为眼部区域边缘的像素位置数;
为瞳孔区域边缘像素的向量,T表示位移向量的矩阵转置;
表示该任一可能点对应的向量。
其中,梯度向量的计算公式为:
其中,xi和yi分别表示位移向量所对应的眼部区域边缘像素位置的横坐标和纵坐标,T表示对由括号中的两个偏导结果元素组成的矩阵进行转置。
其中,点积值的计算公式为:
其中,
其中,为任一可能点与眼部区域边缘的像素位置之间的位移向量;
为对应的像素位置的梯度向量,并且该梯度向量的方向与事实上的瞳孔中心点到对应的像素位置向量方向一致;
N为眼部区域边缘的像素位置数;
Wc为在通过高斯滤波过滤后的平滑倒影图像中每个可能点的灰度值;
为瞳孔区域边缘像素的向量,T表示位移向量的矩阵转置;
表示该任一可能点对应的向量。
其中,梯度向量的计算公式为:
其中,xi和yi分别表示位移向量所对应的眼部区域边缘像素位置的横坐标和纵坐标,T表示对由括号中的两个偏导结果元素组成的矩阵进行转置。
本发明提供的瞳孔中心点定位方法,在自然光照射的情况下,使用面部特征分析进行瞳孔定位,实现了在无辅助设备介入的情况下对较低分辨率的图像或视频进行瞳孔定位的方法。极大地扩大了瞳孔识别的应用范围,使普通网络摄像头进行瞳孔定位变成了可能。
附图说明
图1:本发明的瞳孔中心点定位方法的原理示意图。
具体实施方式
为了对本发明的技术方案及有益效果有更进一步的了解,下面配合附图详细说明本发明的技术方案及其产生的有益效果。
本发明提供一种瞳孔中心点定位方法,包括如下步骤:
S1:图像预处理,以将获取的包括人脸的彩色图像转换成灰色图像;
S2:人脸识别,从所述灰色图像中获取包含人脸的最大矩形区域;具体实施时,可使用人脸检测器获取;
S3:人眼区域识别,通过预设的比例范围从人脸的矩形区域内框选眼部区域;
S4:瞳孔识别,通过梯度交点计算的方法计算瞳孔中心点。
本发明中,所谓的梯度交点算法既是通过遍历计算某一图像区域中每个可能点的点积值以找出在该图像区域中有有最大点积值的点,从而找到事实中心点的方法,其中,点积值为图像区域中的任一点与图像区域边缘的像素位置所对应的各单位位移向量与梯度向量的积和,具体计算方法如下文所述。
本发明中,所述的图像预处理方法、人脸识别方法以及人眼区域识别方法均为现有技术中通用的方法,本发明不多加以限制。
本发明中,主要通过改进瞳孔识别方法,提供一种更精确的瞳孔中心点识别方法,具体的,通过分析圆形图像区域的梯度向量场特征得到该中心点,更具体的,通过分析该圆形图像(例如瞳孔)中的任一可能的中心点与该图像区域梯度向量分布方向的数学关系得到该中心点,其数学关系的分析原理,请参见图1所示,为本发明的瞳孔中心点定位方法的原理示意图,如图所示,图1的左侧,示意了该圆形图像内的任一可能的中心点C,图1的右侧,示意了该圆形图像内的事实上的中心点C*(下文称瞳孔中心点C*),请参见图1左侧,该可能的中心点C(下文称可能点C),与圆形图像的边缘的某一像素位置xi之间有一位移向量并且在该像素位置xi处有一与像素位置xi对应的梯度向量该梯度向量的方向与事实上的瞳孔中心点C*到对应的像素位置xi向量方向(如图1右侧所示)一致;由于一个圆形图像的边缘对应多个像素位置xi,每个可能点C也对应由多个位移向量和梯度向量构成的向量场,通过下述公式可得到各可能点C的点积值:
其中,
其中,为任一可能点与眼部区域边缘的像素位置之间的位移向量;
为对应的像素位置的梯度向量,并且该梯度向量的方向与事实上的瞳孔中心点到对应的像素位置向量方向一致;
N为眼部区域边缘的像素位置数;
为瞳孔区域边缘像素的向量,T表示位移向量的矩阵转置;
表示该任一可能点对应的向量。
也即,所谓的点积值,指的是每个可能点C所对应的向量场中所有的位移向量和梯度向量的内积之和,c表示该任一可能点对应的横坐标值,由于在所有的可能点C中,瞳孔中心点C*中的对应每个像素位置xi的位移向量以及梯度向量的方向一致,因此,瞳孔中心点C*对应的点积值最大,找出各可能点C中点积值最大的点,该点即为眼部区域内的瞳孔中心点C*。
也即,瞳孔中心点c*的定位公式为:
其中,梯度向量的计算公式为:
其中,xi和yi分别表示位移向量所对应的眼部区域边缘像素位置的横坐标和纵坐标,T表示对由括号中的两个偏导结果元素组成的矩阵进行转置。
本发明中,位移向量在计算过程中将被统一缩放至单位长度,以保证在不同像素位置xi的点积值计算结果有相同的权重,可以用单位长度作为不同点间计算的统一基准。为了提高算法在线性变化在高亮度和高对比度情况下的高鲁棒性,梯度向量在计算时同样应被统一缩放至单位长度以减少各点权重不同而带来的计算误差。
本发明中,对图像区域进行遍历计算时可通过精简梯度向量以减少复杂度,只考虑特征最明显的梯度向量忽略其他同类的分布在该图像区域的梯度向量同样可以得到精确的瞳孔中心点C*。
在某些情况下,某一区域的梯度点积最大值并不容易获得,或者算法将局部最大值判断为最大值从而导致瞳孔中心点定位不准。例如,在眼部区域中占多数面积的眼睑与虹膜和巩膜之间的低对比度或睫毛或皱纹的影响都可能会导致错误的定位结果。因此,算法中需结合对眼部先验知识的考虑以规避上述算法误差,增加算法的鲁棒性。根据常识,对比肤色与巩膜,人类的瞳孔颜色更深,所以每一个可能的瞳孔中心点C所在的像素颜色越深,该点越有可能为真正的瞳孔中心点C*,因此,可以为每一个可能点C赋予不同的权重值Wc,且Wc随着可能点C的像素颜色深度的增加而增加。
因此,本发明提供了一种更精确的计算可能点C的点积值的公式:
其中,
其中,为任一可能点与眼部区域边缘的像素位置之间的位移向量;
为对应的像素位置的梯度向量,并且该梯度向量的方向与事实上的瞳孔中心点到对应的像素位置向量方向一致;
N为眼部区域边缘的像素位置数;
Wc为在通过高斯滤波过滤后的平滑倒影图像中每个可能点的灰度值;
为瞳孔区域边缘像素的向量,T表示位移向量的矩阵转置;
表示该任一可能点对应的向量。
基于上述公式得到的瞳孔中心点c*的定位公式为:
同样的,梯度向量的计算公式为:
其中,xi和yi分别表示位移向量所对应的眼部区域边缘像素位置的横坐标和纵坐标,T表示对由括号中的两个偏导结果元素组成的矩阵进行转置。
同样的,位移向量为单位长度的等比缩放,从而实现在不同像素位置xi获得同样的计算权重。为了提高算法在线性变化在高亮度和高对比度情况下的高鲁棒性,梯度向量在计算时同样应为单位长度的等比缩放。
同样的,对图像区域进行遍历计算时可通过精简梯度向量以减少复杂度,只考虑特征最明显的梯度向量忽略其他同类的分布在该图像区域的梯度向量同样可以得到精确的瞳孔中心点C*。
由于该目标函数的值对低通滤波的参数变化不敏感,因此能避免诸如眼镜反射时出现的眼部区域亮度异常的问题。
综上,本发明在自然光照射的情况下,使用面部特征分析进行瞳孔定位,实现了在无辅助设备介入的情况下对较低分辨率的图像或视频进行瞳孔定位的方法。极大地扩大了瞳孔识别的应用范围,使普通网络摄像头进行瞳孔定位变成了可能。在多级面部特征分析的基础上,本方法的主要有益效果在于:
1、提出了一种基于梯度交叉中心点分布的圆形(半圆形)图案中心点定位方法。
2、将人眼特征作为先验知识考虑进了本算法,一次增加了本算法的鲁棒性。
3、在算法中加入了后处理算法以减少用户佩戴眼镜带来的识别精度下降等问题,良好的解决了眼镜玻璃反光或眼球特征突出等问题,增加了算法在复杂光环境下的鲁棒性,使其能够良好的应对光度变化。
虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。