工程科学学报.第41卷.第11期:1484-1492.2019年11月 Chinese Journal of Engineering,Vol.41,No.11:1484-1492,November 2019 D0L:10.13374/.issn2095-9389.2017.09.06.005,http://journals.ustb.edu.cn 视线追踪中一种新的由粗及精的瞳孔定位方法 李擎),胡京尧,迟健男,张晓翠,张国胜) 1)北京科技大学自动化学院.北京1000832)交通运输部公路科学研究院.北京100088 ☒通信作者,E-mail:sy inchi@126.com 摘要基于图像处理的方法,采用了由粗及精的瞳孔定位思想,提出了一种高精度的瞳孔定位算法.该算法首先利用瞳孔 区域的直方图,采用改进的最大类间方差法自适应地分割瞳孔区域,实现粗略定位,然后利用瞳孔灰度的梯度特性来精确定 位瞳孔边缘点,最后在像素级瞳孔边缘点的基础上,采用亚像素定位方法,更精确地求得亚像素级瞳孔边缘点,并通过椭圆拟 合的方法来精确确定瞳孔的中心位置.另外,针对瞳孔被遮挡的情况,本文提出了一种等距离补偿瞳孔的方法.多次实验结 果证明了该算法对遮挡瞳孔的定位有较强的鲁棒性,可以准确地定位瞳孔的位置 关键词人机交互:视线追踪:瞳孔定位:亚像素定位:遮挡补偿 分类号TP391.4 A new pupil localization method from rough to precise in gaze tracking LI Qing.HU Jing-yao,CHI Jian-nan,ZHANG Xiao-cui,ZHANG Guo-sheng? 1)School of Automation and Electrical Engineering,University of Science and Technology Beijing,Beijing 100083,China 2)Research Institute of Highway Ministry of Transport,Beijing 100088,China Corresponding author,E-mail:sy_jnchi@126.com ABSTRACT The gaze tracking technology is widely used in many fields,and it has a broad application prospect in the field of human- computer interaction.The technology is based on the eye characteristic parameters and the gaze parameters,and it estimates the direction of sight and placement of sight based on the eye model.Therefore,accurately locating the pupil position is important in the gaze tracking technology,and it directly affects the accuracy of the gaze tracking result.Presently,there are numerous algorithms used in eye detection;however,most of them are characterized by some problems,such as the low accuracy of locating the pupil position,high detection error,and slow operation speed;thus,they cannot meet the accuracy requirements of locating the pupil position.To solve these problems,in this study,a concept of pupil localization method from rough to precise was adopted,and a high-accuracy pupil localization method based on image processing was proposed.In this method,first,the improved maximal between-cluster variance algorithm used the histogram of the pupil region to adaptively segment region to roughly locate the pupil region.Then the pupil edge points can be accurately located by the gradient of the pupil grayscale.Finally,a sub-pixel localization method was adopted on the basis of the pixel level edge points of the pupil to locate the sub-pixel level edge points of pupil more accurately,and the center position of the pupil was accurately determined by the method of ellipse fitting.In addition,an equidistance pupil compensation method was proposed in this paper for the situation of pupil occlusion.Several experimental results show that the algorithm is robust to locate the position of pupil occlusion and that it can achieve accurate pupil localization. KEY WORDS human-computer interaction:gaze tracking:pupil localization;sub-pixel localization;occlusion compensation 收稿日期:2017-09-06 基金项目:国家重点研发计划资助项目(2017YFB1002804):运输车辆运行安全技术交通行业重点实验室开放课题资助项目:北京市自然 科学基金资助项目(4172040)
视线追踪中一种新的由粗及精的瞳孔定位方法 李 擎1),胡京尧1),迟健男1) 苣,张晓翠1),张国胜2) 1) 北京科技大学自动化学院,北京 100083 2) 交通运输部公路科学研究院,北京 100088 苣通信作者,E-mail: sy_jnchi@126.com 摘 要 基于图像处理的方法,采用了由粗及精的瞳孔定位思想,提出了一种高精度的瞳孔定位算法. 该算法首先利用瞳孔 区域的直方图,采用改进的最大类间方差法自适应地分割瞳孔区域,实现粗略定位,然后利用瞳孔灰度的梯度特性来精确定 位瞳孔边缘点,最后在像素级瞳孔边缘点的基础上,采用亚像素定位方法,更精确地求得亚像素级瞳孔边缘点,并通过椭圆拟 合的方法来精确确定瞳孔的中心位置. 另外,针对瞳孔被遮挡的情况,本文提出了一种等距离补偿瞳孔的方法. 多次实验结 果证明了该算法对遮挡瞳孔的定位有较强的鲁棒性,可以准确地定位瞳孔的位置. 关键词 人机交互;视线追踪;瞳孔定位;亚像素定位;遮挡补偿 分类号 TP391.4 A new pupil localization method from rough to precise in gaze tracking LI Qing1) ,HU Jing-yao1) ,CHI Jian-nan1) 苣 ,ZHANG Xiao-cui1) ,ZHANG Guo-sheng2) 1) School of Automation and Electrical Engineering, University of Science and Technology Beijing, Beijing 100083, China 2) Research Institute of Highway Ministry of Transport, Beijing 100088, China 苣 Corresponding author, E-mail: sy_jnchi@126.com ABSTRACT The gaze tracking technology is widely used in many fields, and it has a broad application prospect in the field of humancomputer interaction. The technology is based on the eye characteristic parameters and the gaze parameters, and it estimates the direction of sight and placement of sight based on the eye model. Therefore, accurately locating the pupil position is important in the gaze tracking technology, and it directly affects the accuracy of the gaze tracking result. Presently, there are numerous algorithms used in eye detection; however, most of them are characterized by some problems, such as the low accuracy of locating the pupil position, high detection error, and slow operation speed; thus, they cannot meet the accuracy requirements of locating the pupil position. To solve these problems, in this study, a concept of pupil localization method from rough to precise was adopted, and a high-accuracy pupil localization method based on image processing was proposed. In this method, first, the improved maximal between-cluster variance algorithm used the histogram of the pupil region to adaptively segment region to roughly locate the pupil region. Then the pupil edge points can be accurately located by the gradient of the pupil grayscale. Finally, a sub-pixel localization method was adopted on the basis of the pixel level edge points of the pupil to locate the sub-pixel level edge points of pupil more accurately, and the center position of the pupil was accurately determined by the method of ellipse fitting. In addition, an equidistance pupil compensation method was proposed in this paper for the situation of pupil occlusion. Several experimental results show that the algorithm is robust to locate the position of pupil occlusion and that it can achieve accurate pupil localization. KEY WORDS human-computer interaction;gaze tracking;pupil localization;sub-pixel localization;occlusion compensation 收稿日期: 2017−09−06 基金项目: 国家重点研发计划资助项目(2017YFB1002804);运输车辆运行安全技术交通行业重点实验室开放课题资助项目;北京市自然 科学基金资助项目(4172040) 工程科学学报,第 41 卷,第 11 期:1484−1492,2019 年 11 月 Chinese Journal of Engineering, Vol. 41, No. 11: 1484−1492, November 2019 DOI:10.13374/j.issn2095-9389.2017.09.06.005; http://journals.ustb.edu.cn
李擎等:视线追踪中一种新的由粗及精的瞳孔定位方法 ·1485 在日常生活中,人们获取到的外界信息的方 获取待分割 改进的OTSL 瞳孔区域粗 瞳孔边缘点 式有80%是通过眼睛.视线直接性、自然性和双 人眼图像 分割瞳孔 定位 提取 向性等特点使得视线追踪技术在许多领域有着广 遮挡瞳孔 拟合瞳孔 泛的应用,如广告分析研究、人机交互、场景研 亚像素定位 的补偿 椭圆 瞳孔边缘点 究、动态分析等-习 图1算法流程图 视线追踪技术的基本原理是对眼部图像进行 Fig.1 Flow diagram of algorithm 处理,提取眼晴特征,得到视线参数,最后根据模 型估算出用户的屏幕注视点或者视线方向.眼睛 眼图像,采用改进的最大类间方差法4(OTSU) 特征提取是视线追踪技术中的重要部分.其中,视 自适应分割人眼图像,先粗定位瞳孔区域.然后利 线追踪系统中瞳孔的精确定位又是重中之重 用瞳孔边缘像素的灰度梯度特性准确提取瞳孔边 目前人眼检测算法主要包括基于图像处理 缘点,排除亮斑对瞳孔边缘点提取的影响,亚像素 的方法和基于统计学习的方法.基于图像处理的 定位瞳孔边缘点,最后利用最小二乘法对瞳孔边 瞳孔检测的方法主要有基于灰度积分投影的方 缘点进行多次拟合,求出瞳孔边缘点所在的椭圆 法-6和基于霍夫圆变换的瞳孔检测-等方法 如果瞳孔存在遮挡,对遮挡瞳孔提出了一种等距 灰度积分投影算法利用了瞳孔区域灰度值较低的 离瞳孔补偿的方法 特性,对图像水平方向进行积分投影,投影所得的 1.1瞳孔粗定位 曲线上会有一个明显的波谷区域,该波谷区域是 最大类间方差(OTSU)分割通常是全局寻找 瞳孔部分在垂直方向上的大致投影位置.该算法 最优阈值,由于实验中拍摄的图像整体较暗,直接 只计算图像像素的灰度值,计算量小,处理速度 用全局OTSU分割效果不好,因此本文提出了一 快.睫毛、眼镜和不均匀光照等干扰因素会使得 种改进的OTSU自适应阈值分割算法对人眼图像 灰度积分投影曲线的波谷区域发生变化,出现多 进行分割 个波谷或波谷偏移的情况,因此检测误差较大 对一幅灰度图像进行阈值分割时,需要通过 基于Hough变换的椭圆检测算法较早用于瞳孔 一个灰度级(假定为k)去进行类别的区分,假定这 检测,利用边缘提取算法定位出瞳孔边界点,再 幅灰度图像的灰度级分为[0,1,…,t-2,t-1],再令 用霍夫圆变换的方法对瞳孔边缘点进行拟合,该 C代表前景(瞳孔),C代表背景(瞳孔以外部分), 方法具有瞳孔边缘提取不准确,圆拟合速度慢的 则Co表示灰度级为0,1,…,k-1]的像素点,C1表示 缺点.文献[9]存在瞳孔边缘点检测速度慢的问 灰度级为k,…,-1]的像素点.式中为灰度值, 题,而且对遮挡瞳孔的定位效果不好,不能精确 o为前景(瞳孔)像素点占整幅图像像素点的比 定位瞳孔遮挡时瞳孔的精确位置,基于统计学习 例,w为背景(瞳孔以外部分)像素点占整幅图像 的人眼检测算法主要有adaboost算法uo-和deep 像素点的比例.对于每一类出现的概率P()如式(1) learning算法I),这两种算法在人眼检测领域都有 所示: 较好的效果.基于统计的算法需要大量的训练样 本,其训练过程和分类器构成复杂,基于统计学习 wo=P(Co) 的算法无法精确定位瞳孔,无法满足瞳孔定位的 (1) 精度要求 w1=P(C1)= 视线追踪中需要精确定位瞳孔,本文基于图 像处理的方法,采用了由粗及精的瞳孔定位思想, 其中,p为灰度级i出现的概率,o+w1=1.另外, 提出了一种高精度的瞳孔定位算法.首先粗定位 定义w(为结合灰度值的概率计算函数,并令 瞳孔区域,然后精确定位瞳孔边缘点,亚像素定位 wk=wo,则每一类的平均灰度如式(2)所示: 瞳孔边缘点,最后拟合出瞳孔边缘点所在的椭圆, k- -1 针对瞳孔遮挡,提出了一种等距离瞳孔补偿的方 i·PdCo=∑i-p,/wo=uk/w肉 法.该算法有效提高了瞳孔定位的精度 i=0 t-1 1算法原理 M= i·P(C)=〉i·P/w1=u总-u/[1-w(k] i= 本文算法流程图如图1所示,首先相机拍摄人 (2)
在日常生活中,人们获取到的外界信息的方 式有 80% 是通过眼睛. 视线直接性、自然性和双 向性等特点使得视线追踪技术在许多领域有着广 泛的应用,如广告分析研究、人机交互、场景研 究、动态分析等[1−3] . 视线追踪技术的基本原理是对眼部图像进行 处理,提取眼睛特征,得到视线参数,最后根据模 型估算出用户的屏幕注视点或者视线方向. 眼睛 特征提取是视线追踪技术中的重要部分. 其中,视 线追踪系统中瞳孔的精确定位又是重中之重. 目前人眼检测算法主要包括基于图像处理 的方法和基于统计学习的方法. 基于图像处理的 瞳孔检测的方法主要有基于灰度积分投影的方 法[4−6] 和基于霍夫圆变换的瞳孔检测[7−8] 等方法. 灰度积分投影算法利用了瞳孔区域灰度值较低的 特性,对图像水平方向进行积分投影,投影所得的 曲线上会有一个明显的波谷区域,该波谷区域是 瞳孔部分在垂直方向上的大致投影位置. 该算法 只计算图像像素的灰度值,计算量小,处理速度 快. 睫毛、眼镜和不均匀光照等干扰因素会使得 灰度积分投影曲线的波谷区域发生变化,出现多 个波谷或波谷偏移的情况,因此检测误差较大. 基于 Hough 变换的椭圆检测算法较早用于瞳孔 检测,利用边缘提取算法定位出瞳孔边界点,再 用霍夫圆变换的方法对瞳孔边缘点进行拟合,该 方法具有瞳孔边缘提取不准确,圆拟合速度慢的 缺点. 文献 [9] 存在瞳孔边缘点检测速度慢的问 题,而且对遮挡瞳孔的定位效果不好,不能精确 定位瞳孔遮挡时瞳孔的精确位置. 基于统计学习 的人眼检测算法主要有 adaboost 算法[10−12] 和 deep learning 算法[13] ,这两种算法在人眼检测领域都有 较好的效果. 基于统计的算法需要大量的训练样 本,其训练过程和分类器构成复杂,基于统计学习 的算法无法精确定位瞳孔,无法满足瞳孔定位的 精度要求. 视线追踪中需要精确定位瞳孔,本文基于图 像处理的方法,采用了由粗及精的瞳孔定位思想, 提出了一种高精度的瞳孔定位算法. 首先粗定位 瞳孔区域,然后精确定位瞳孔边缘点,亚像素定位 瞳孔边缘点,最后拟合出瞳孔边缘点所在的椭圆. 针对瞳孔遮挡,提出了一种等距离瞳孔补偿的方 法. 该算法有效提高了瞳孔定位的精度. 1 算法原理 本文算法流程图如图 1 所示,首先相机拍摄人 眼图像,采用改进的最大类间方差法[14−15] (OTSU) 自适应分割人眼图像,先粗定位瞳孔区域. 然后利 用瞳孔边缘像素的灰度梯度特性准确提取瞳孔边 缘点,排除亮斑对瞳孔边缘点提取的影响,亚像素 定位瞳孔边缘点,最后利用最小二乘法对瞳孔边 缘点进行多次拟合,求出瞳孔边缘点所在的椭圆. 如果瞳孔存在遮挡,对遮挡瞳孔提出了一种等距 离瞳孔补偿的方法. 1.1 瞳孔粗定位 最大类间方差(OTSU)分割通常是全局寻找 最优阈值,由于实验中拍摄的图像整体较暗,直接 用全局 OTSU 分割效果不好,因此本文提出了一 种改进的 OTSU 自适应阈值分割算法对人眼图像 进行分割. k [0,1,··· ,t−2,t−1] C0 C1 C0 [0,1,··· , k−1] C1 [k,··· ,t−1] t w0 w1 对一幅灰度图像进行阈值分割时,需要通过 一个灰度级(假定为 )去进行类别的区分. 假定这 幅灰度图像的灰度级分为 ,再令 代表前景(瞳孔), 代表背景(瞳孔以外部分), 则 表示灰度级为 的像素点, 表示 灰度级为 的像素点. 式中 为灰度值 , 为前景(瞳孔)像素点占整幅图像像素点的比 例, 为背景(瞳孔以外部分)像素点占整幅图像 像素点的比例. 对于每一类出现的概率 P( ) 如式 (1) 所示: w0 = P(C0) = ∑ k−1 i=0 pi w1 = P(C1) = ∑t−1 i=k pi (1) pi i w0 +w1 = 1 w(k) w(k) = w0 其中, 为灰度级 出现的概率, . 另外, 定 义 为结合灰度值的概率计算函数 ,并令 ,则每一类的平均灰度如式 (2) 所示: u0 = ∑ k−1 i=0 i· P(i|C0) = ∑ k−1 i=0 i· pi/w0 = u(k)/w(k) u1 = ∑t−1 i=k i· P(i|C1)= ∑t−1 i=k i· pi/w1 = [ u总−u(k) ] / [1−w(k)] (2) 获取待分割 人眼图像 改进的OTSU 分割瞳孔 瞳孔区域粗 定位 瞳孔边缘点 提取 亚像素定位 瞳孔边缘点 拟合瞳孔 椭圆 遮挡瞳孔 的补偿 图 1 算法流程图 Fig.1 Flow diagram of algorithm 李 擎等: 视线追踪中一种新的由粗及精的瞳孔定位方法 · 1485 ·
·1486 工程科学学报,第41卷,第11期 其中,令u因=,图像的总平均灰度值u 样图像的灰度直方图如图3所示.由图3可以看 出,该图中较低灰度值区间内的像素点较多,眼部 i=0 P=woo+w1,且o是前景(瞳孔)像素 图片具有较低的灰度值 均灰度值,1是背景(瞳孔以外部分)像素点的平均 灰度值.这样,类间方差、类内方差及总方差如式 (3)所示: 灰度值 6=wo∑(i-uo)P(ilCo)+w 分G-yrC) 图3眼部图像灰度直方图 i=0 Fig.3 Gray histogram of eye image a=6间k)+k)=-const (3) 经过分析后可知,由于人眼区域图像灰度值 式中,6间为类间方差,层)为类内方差,为总 分布的特殊性,下采样图像中大部分像素的灰度 方差.由于总方差为常量(const),计算最大类间方 值小于100,因此对于瞳孔区域的分割来说,可以 差得到的阈值k即为最优,下面记“)”(类间方 将分割所用的阈值的寻找范围设定在灰度值0到 差)为“2(”,然后简化类间方差如式(4)所示: 100之间.首先,在灰度值0到100之间寻找灰度 直方图达到最高峰值点时对应的灰度值1,灰度值 =严色·-u2 (4) 0到之间的直方图的分布有一定的规律,可看作 wk)·[1-w] 由两类像素组成,在这个区间内进行OTSU分割 选择适当的k使得62()最大即可,这个k也就是最大 得到阈值2,这个阈值基本上可以分割这两类像 类间方差法要得到的阈值 素.然后,在灰度值0到2的范围之间寻找灰度直 本文提出了一种改进的OTSU自适应阈值分 方图达到最高峰值点时对应的灰度值3,综合2和 割算法,首先寻找人眼区域图像的灰度直方图最 3两个参数来进行调整,得到最终进行自适应分割 高峰值点对应的灰度值,大于该灰度值的像素忽 的阈值的结果,如式(⑤)所示: 略不计,对小于该灰度值的像素进行OTSU分割, 将得到的结果作为最终阈值计算时的一个参数 T=5+2-3 2 (5) 然后寻找小于该阈值的部分直方图的最高峰值点 人眼区域图像经过阈值T分割后的二值化图 所对应的灰度值,作为最终阈值计算时的另一个 像结果如图4所示,可以看出,阈值T已经可以较 参数.最后对这两个参数进行调整,将得到的结果 好地将瞳孔所在区域分割出来,证明由本文提出 作为最终的阈值,来对人眼区域进行图像分割,从 的算法进行计算所得的阈值的误差较小,只在瞳 而得到瞳孔区域的图像 孔区域以外仍含有部分干扰区域,对瞳孔区域的 在红外光源下拍摄的瞳孔,瞳孔区域的灰度 分割不造成影响.对于这些无效的干扰区域,我们 值比周围区域的灰度值低.相机拍摄的图像较大, 对自适应阈值分割后的图像进一步进行腐蚀膨胀 像素较多,因此为了提高图像处理的速度,感兴趣 处理即可将其去除,经过形态学处理后的瞳孔区 区域(region of interest,ROI)的提取在经过l/4× 域图像如图5所示 1/4的下采样图像上进行,下采样后的图像如图2 去除干扰后的二值化图像可以比较容易地粗 所示,瞳孔的定位就在该下采样图像上进行,下采 略定位瞳孔的中心位置.在图像上选择一个包括 图2下采样后图像 图4自适应倒值分割图 Fig.2 Image after down-sampling Fig.4 Adaptive threshold segmentation image
u(k) = ∑ k−1 i=0 i· pi u总 = ∑t−1 i=0 i· pi=w0u0 +w1u1 u0 u1 其中,令 ,图像的总平均灰度值 ,且 是前景(瞳孔)像素点的平 均灰度值, 是背景(瞳孔以外部分)像素点的平均 灰度值. 这样,类间方差、类内方差及总方差如式 (3) 所示: δ 2 间 (k) = w0 ( u0 −u总 )2 +w1 ( u1 −u总 )2 δ 2 内 (k) = w0 ∑ k i=0 (i−u0) 2P(i|C0)+w1 ∑t−1 i=k+1 (i−u1) 2P(i|C1) δ 2 总 =δ 2 间 (k)+δ 2 内 (k)=const (3) δ 2 间 (k) δ 2 内 (k) δ 2 总 k δ 2 间 (k) δ 2 (k) 式中, 为类间方差, 为类内方差, 为总 方差. 由于总方差为常量(const),计算最大类间方 差得到的阈值 即为最优,下面记“ ”(类间方 差)为“ ”,然后简化类间方差如式 (4) 所示: δ 2 (k) = [ u总 ·w(k)−u(k) ]2 w(k)·[1−w(k)] (4) k δ 2 选择适当的 使得 (k) 最大即可,这个 k 也就是最大 类间方差法要得到的阈值. 本文提出了一种改进的 OTSU 自适应阈值分 割算法,首先寻找人眼区域图像的灰度直方图最 高峰值点对应的灰度值,大于该灰度值的像素忽 略不计,对小于该灰度值的像素进行 OTSU 分割, 将得到的结果作为最终阈值计算时的一个参数. 然后寻找小于该阈值的部分直方图的最高峰值点 所对应的灰度值,作为最终阈值计算时的另一个 参数. 最后对这两个参数进行调整,将得到的结果 作为最终的阈值,来对人眼区域进行图像分割,从 而得到瞳孔区域的图像. 在红外光源下拍摄的瞳孔,瞳孔区域的灰度 值比周围区域的灰度值低. 相机拍摄的图像较大, 像素较多,因此为了提高图像处理的速度,感兴趣 区域 ( region of interest,ROI)的提取在经过 1/4 × 1/4 的下采样图像上进行,下采样后的图像如图 2 所示,瞳孔的定位就在该下采样图像上进行,下采 样图像的灰度直方图如图 3 所示. 由图 3 可以看 出,该图中较低灰度值区间内的像素点较多,眼部 图片具有较低的灰度值. t1 t1 t2 t2 t3 t2 t3 经过分析后可知,由于人眼区域图像灰度值 分布的特殊性,下采样图像中大部分像素的灰度 值小于 100,因此对于瞳孔区域的分割来说,可以 将分割所用的阈值的寻找范围设定在灰度值 0 到 100 之间. 首先,在灰度值 0 到 100 之间寻找灰度 直方图达到最高峰值点时对应的灰度值 ,灰度值 0 到 之间的直方图的分布有一定的规律,可看作 由两类像素组成,在这个区间内进行 OTSU 分割 得到阈值 ,这个阈值基本上可以分割这两类像 素. 然后,在灰度值 0 到 的范围之间寻找灰度直 方图达到最高峰值点时对应的灰度值 ,综合 和 两个参数来进行调整,得到最终进行自适应分割 的阈值的结果,如式 (5) 所示: T = t3 + t2 −t3 2 (5) T T 人眼区域图像经过阈值 分割后的二值化图 像结果如图 4 所示,可以看出,阈值 已经可以较 好地将瞳孔所在区域分割出来,证明由本文提出 的算法进行计算所得的阈值的误差较小,只在瞳 孔区域以外仍含有部分干扰区域,对瞳孔区域的 分割不造成影响. 对于这些无效的干扰区域,我们 对自适应阈值分割后的图像进一步进行腐蚀膨胀 处理即可将其去除,经过形态学处理后的瞳孔区 域图像如图 5 所示. 去除干扰后的二值化图像可以比较容易地粗 略定位瞳孔的中心位置. 在图像上选择一个包括 图 2 下采样后图像 Fig.2 Image after down-sampling 灰度值 像素点 图 3 眼部图像灰度直方图 Fig.3 Gray histogram of eye image 图 4 自适应阈值分割图 Fig.4 Adaptive threshold segmentation image · 1486 · 工程科学学报,第 41 卷,第 11 期
李擎等:视线追踪中一种新的由粗及精的瞳孔定位方法 1487 图9二值化图 图5腐蚀膨胀后的图 Fig.9 Binary image Fig.5 Image after erosion and dilation 明显不同,一般情况下,瞳孔所在区域的灰度值比 全部瞳孔范围的区域作为ROL,用于后续的处理, 较低,虹膜所在区域的灰度值较高,可以利用瞳孔 如图6所示,面积较小的白色框的区域表示瞳孔 边缘点的灰度值梯度,先对瞳孔边缘点精确定位, 的粗定位的位置,面积较大的白色框的区域作为 然后用椭圆拟合的方法将瞳孔边缘点拟合来求出 ROI区域,单独的包括全部瞳孔范围的ROI图像 瞳孔中心.如图10所示,先利用瞳孔粗定位算法 如图7所示 求出大致的瞳孔中心所在位置p,坐标为(xpyp), 图I0中pm点的灰度值较小,Pm+i的灰度值较大.可 以求出以(xpyp)为起点的射线,1上相邻像素点灰 度值的差值.利用不同像素点梯度的差异可以精 确定位瞳孔边缘点.瞳孔在x方向上的半径为x, 瞳孔在y方向上的半径为5,一般来说,瞳孔在x方 图6瞳孔粗定位 向的半径和在y方向的半径比较稳定.r如式(6) Fig.6 Pupil coarse localization 所示. =+ (6) 2 图7瞳孔ROI P. Fig.7 Region of interest of the pupil 当瞳孔有部分被遮挡时,采用本文提出的改 进的OTSU自适应阈值分割算法仍然可以很好地 将未被遮挡住的部分瞳孔区域分割出来.部分被 图10射线图 遮挡的瞳孔图像如图8所示,经分割后的二值化 Fig.10 Ray diagram 图像如图9所示.可以看出,瞳孔未被遮挡的区域 般瞳孔的边界点分布在以(xp,yp)为圆心,半 依旧可以被很好地分割出来,对二值化图像进行 径大小为r的圆附近.每一组不同角度的和半径 腐蚀膨胀处理后即可以去除周围无效的干扰区域. m在圆上可以确定一个不同的坐标点Pm,其中 1.2瞳孔精确定位 rn=r-10+n(n=0,1,…,20,0是以中心(xpyp)为起 使用上述方法粗定位瞳孔区域后,需要对瞳 点的射线与横轴方向的夹角,其中0≤0<2元,可以 孔边缘点进行精确定位.人眼的灰度图像中,可以 求出射线上某一个像素点Pn的坐标,pPm点坐标为 看出瞳孔所在区域和虹膜所在区域的灰度值具有 (xmyn,如式(7)所示: xn =xp+rncos0 yn yp+rn sine (7) 假定瞳孔灰度梯度值最大的像素点为方向上瞳 孔边缘点所在位置,由此可知,若图像上像素点 Pn的灰度值为tn,像素点pn在方向的灰度梯度值 图8遮挡瞳孔 为Dm,则Dn=tn-tn-1(=0,1,…,20). Fig.8 Pupil occlusion 当某一射线方向上有亮斑时,如图11所示,亮
全部瞳孔范围的区域作为 ROI,用于后续的处理, 如图 6 所示,面积较小的白色框的区域表示瞳孔 的粗定位的位置,面积较大的白色框的区域作为 ROI 区域,单独的包括全部瞳孔范围的 ROI 图像 如图 7 所示. 当瞳孔有部分被遮挡时,采用本文提出的改 进的 OTSU 自适应阈值分割算法仍然可以很好地 将未被遮挡住的部分瞳孔区域分割出来. 部分被 遮挡的瞳孔图像如图 8 所示,经分割后的二值化 图像如图 9 所示. 可以看出,瞳孔未被遮挡的区域 依旧可以被很好地分割出来,对二值化图像进行 腐蚀膨胀处理后即可以去除周围无效的干扰区域. 1.2 瞳孔精确定位 使用上述方法粗定位瞳孔区域后,需要对瞳 孔边缘点进行精确定位. 人眼的灰度图像中,可以 看出瞳孔所在区域和虹膜所在区域的灰度值具有 (xp, yp) pn pn+1 (xp, yp) x rx y ry x y r 明显不同,一般情况下,瞳孔所在区域的灰度值比 较低,虹膜所在区域的灰度值较高,可以利用瞳孔 边缘点的灰度值梯度,先对瞳孔边缘点精确定位, 然后用椭圆拟合的方法将瞳孔边缘点拟合来求出 瞳孔中心. 如图 10 所示,先利用瞳孔粗定位算法 求出大致的瞳孔中心所在位置 p,坐标为 , 图 10 中 点的灰度值较小, 的灰度值较大. 可 以求出以 为起点的射线[9,16] 上相邻像素点灰 度值的差值. 利用不同像素点梯度的差异可以精 确定位瞳孔边缘点. 瞳孔在 方向上的半径为 , 瞳孔在 方向上的半径为 ,一般来说,瞳孔在 方 向的半径和在 方向的半径比较稳定. 如式 (6) 所示. r = ( rx +ry ) 2 (6) (xp, yp) r θ rn pn rn = r −10+n(n = 0,1,··· ,20) θ (xp, yp) 0 ⩽ θ < 2π pn pn (xn, yn) 一般瞳孔的边界点分布在以 为圆心,半 径大小为 的圆附近. 每一组不同角度的 和半径 在圆上可以确定一个不同的坐标点 ,其中 , 是以中心 为起 点的射线与横轴方向的夹角,其中 ,可以 求出射线上某一个像素点 的坐标, 点坐标为 ,如式 (7) 所示: { xn = xp +rn cos θ yn = yp +rn sinθ (7) θ pn tn pn θ Dn Dn = tn −tn−1(n = 0,1,··· ,20) 假定瞳孔灰度梯度值最大的像素点为 方向上瞳 孔边缘点所在位置,由此可知,若图像上像素点 的灰度值为 ,像素点 在 方向的灰度梯度值 为 ,则 . 当某一射线方向上有亮斑时,如图 11 所示,亮 图 5 腐蚀膨胀后的图 Fig.5 Image after erosion and dilation 图 6 瞳孔粗定位 Fig.6 Pupil coarse localization 图 7 瞳孔 ROI Fig.7 Region of interest of the pupil 图 8 遮挡瞳孔 Fig.8 Pupil occlusion 图 9 二值化图 Fig.9 Binary image θ pn (xp , y p ) pn+1 图 10 射线图 Fig.10 Ray diagram 李 擎等: 视线追踪中一种新的由粗及精的瞳孔定位方法 · 1487 ·
1488 工程科学学报.第41卷第11期 域(方向1(1)、方向2(2)、方向3(3)、方向4(4) (2)如图12所示,若瞳孔边缘点的梯度方向及 瞳孔边缘点所处区域为方向1或(1),则根据点 (-1y+1)和点(y#1)的像素梯度值,利用线性插 值的方法得到方向1与边界交叉点位置(图中数 图11亮斑干扰示意图 字1所示位置)的梯度值G(x1,y根据点(x,y-1)和 Fig.11 Diagram of light spot interference 点(+y-1)的像素梯度值,利用线性插值的方法 斑边缘点的梯度值很大,此时的边缘点并不是瞳 得到方向(1)与边界交叉点位置(图中数字(1)所 孔的边缘点,而且亮斑的边缘点会对瞳孔边缘点 示位置)的梯度值G(x,y),其他方向上的处理方 的提取带来较大干扰.因此,遇到亮斑边缘点时, 法同上 需将射线转过一定角度,避开亮斑干扰,继续提取 (3)计算G(x1,y),G(xuu)及G(x,)(即三点 的梯度值),然后做梯度方向上的二次曲线拟合, 瞳孔的边缘点 求解极值点,所求即为亚像素级瞳孔边缘点 1.3瞳孔亚像素边缘检测 根据上述方法得到像素级瞳孔边缘点,然后 2瞳孔参数计算 进行瞳孔亚像素边缘点检测,如图12所示,首 2.1无遮挡计算 先根据眼睛图像中像素级瞳孔边缘点(x,y)梯度 瞳孔参数计算即对椭圆中心、长短轴、旋转角 方向上的信息,确定瞳孔边缘点的亚像素边缘位 度的求解.提取的瞳孔边缘点是一组离散数据,通 置;然后通过沿瞳孔像素级边缘点的梯度方向寻 过椭圆拟合的方法来确定瞳孔中心.基于最小二 找瞳孔边缘点局部梯度的极大值,计算得到亚像 乘法来求解具有很高的精度,由于用上文所述 素级瞳孔边缘点;最后处理所有的像素级瞳孔边 方法求取的特征点是一组精确的边界点,可以采 缘点,求出所有的亚像素级瞳孔边缘点所在位置. 用最小二乘法拟合椭圆的方法,设椭圆的方程如 式(IO)所示,A,B,C,D,E为待优化参数,N为样本 (x--) (xr-》 (X-1V) 个数,式(13)代表求解出的五个椭圆参数: x2+Axy+By2+Cx+Dy+E=0 (10) N F(A,B,C,D,E)= (+Axy+By+Cx+Dy+E)2 作y-)◆ (以 (XiVm) (11) OF OF OF OFOF 0) (12) (4) 0丽丽cD证=0 2BC-AD 0= ⊙ A2-4B C-) (2) (+ (r-y) 2D-AD y0= A2-4B 图12亚像素边缘检测 2(ACD-BC2-D2+4BE-A2E) Fig.12 Sub-pixel edge detection wid= N(A2-4B)(B-VA2+(1-B)2+1) 设二次拟合曲线的形式为: 2(ACD-BC2-D2+4BE-A2E) y=ax2+bx+c (8) hig= (42-4B)(B+VA2+(1-B2+1) 式中,a,b,c为需拟合计算出的参数,则极值点横 a-b2B 坐标为: a=tan-I a2B-b2 b (13) x=-2a (9) 式中,xo和yo为椭圆中心的坐标,wid和hig为椭圆 (I)计算像素级瞳孔边缘点(x,y)的梯度,得到 的长短轴,a为椭圆的倾斜角.本文取π/12角度的 瞳孔边缘点的灰度梯度方向及瞳孔边缘点所处区 间隔来提取瞳孔边缘点,边缘点的图像如图13所
斑边缘点的梯度值很大,此时的边缘点并不是瞳 孔的边缘点,而且亮斑的边缘点会对瞳孔边缘点 的提取带来较大干扰. 因此,遇到亮斑边缘点时, 需将射线转过一定角度,避开亮斑干扰,继续提取 瞳孔的边缘点. 1.3 瞳孔亚像素边缘检测 (xi , y j) 根据上述方法得到像素级瞳孔边缘点,然后 进行瞳孔亚像素边缘点[17] 检测,如图 12 所示,首 先根据眼睛图像中像素级瞳孔边缘点 梯度 方向上的信息,确定瞳孔边缘点的亚像素边缘位 置;然后通过沿瞳孔像素级边缘点的梯度方向寻 找瞳孔边缘点局部梯度的极大值,计算得到亚像 素级瞳孔边缘点;最后处理所有的像素级瞳孔边 缘点,求出所有的亚像素级瞳孔边缘点所在位置. 设二次拟合曲线的形式为: y = ax2 +bx+c (8) 式中,a,b,c 为需拟合计算出的参数,则极值点横 坐标为: x = − b 2a (9) (xi (1) 计算像素级瞳孔边缘点 , y j) 的梯度,得到 瞳孔边缘点的灰度梯度方向及瞳孔边缘点所处区 域(方向 1(1)、方向 2(2)、方向 3(3)、方向 4(4)). (xi−1, y j+1) (xi , y j+1) G(x1, y1) (xi , y j−1) (xi+1, y j−1) G(x(1), y(1)) (2) 如图 12 所示,若瞳孔边缘点的梯度方向及 瞳孔边缘点所处区域为方向 1 或 (1),则根据点 和点 的像素梯度值,利用线性插 值的方法得到方向 1 与边界交叉点位置(图中数 字 1 所示位置)的梯度值 ;根据点 和 点 的像素梯度值,利用线性插值的方法 得到方向 (1) 与边界交叉点位置(图中数字 (1) 所 示位置)的梯度值 ,其他方向上的处理方 法同上. G(x1, y1) G(x(1), y(1)) G(xi (3) 计算 , 及 , yi) (即三点 的梯度值),然后做梯度方向上的二次曲线拟合, 求解极值点,所求即为亚像素级瞳孔边缘点. 2 瞳孔参数计算 2.1 无遮挡计算 瞳孔参数计算即对椭圆中心、长短轴、旋转角 度的求解. 提取的瞳孔边缘点是一组离散数据,通 过椭圆拟合的方法来确定瞳孔中心. 基于最小二 乘法[18] 来求解具有很高的精度,由于用上文所述 方法求取的特征点是一组精确的边界点,可以采 用最小二乘法拟合椭圆的方法,设椭圆的方程如 式 (10) 所示,A,B,C,D,E 为待优化参数,N 为样本 个数,式 (13) 代表求解出的五个椭圆参数: x 2 + Axy+ By2 +Cx+ Dy+ E = 0 (10) F(A,B,C,D,E) = ∑ N i=1 (x 2 i + Axiyi + By2 i +Cxi + Dyi + E) 2 (11) ∂F ∂A = ∂F ∂B = ∂F ∂C = ∂F ∂D = ∂F ∂E = 0 (12) x0 = 2BC − AD A2 −4B y0 = 2D− AD A2 −4B wid = vut 2(ACD− BC2 − D 2 +4BE − A 2E) (A2 −4B)(B− √ A2 +(1− B) 2 +1) hig = vut 2(ACD− BC2 − D 2 +4BE − A 2E) (A2 −4B)(B+ √ A2 +(1− B) 2 +1) α = tan−1 √ a 2 −b 2B a 2B−b 2 (13) x0 y0 α π/12 式中, 和 为椭圆中心的坐标,wid 和 hig 为椭圆 的长短轴, 为椭圆的倾斜角. 本文取 角度的 间隔来提取瞳孔边缘点,边缘点的图像如图 13 所 图 11 亮斑干扰示意图 Fig.11 Diagram of light spot interference 1 4 3 2 (xi−1,yj−1) (xi−1,yj ) (xi−1,yj+1) (xi ,yj+1 (xi ,yj−1) ) (xi ,yj ) (xi+1,yj−1) (xi+1,yj ) (xi+1,yj+1) (2) (3) (1) (4) j i 图 12 亚像素边缘检测 Fig.12 Sub-pixel edge detection · 1488 · 工程科学学报,第 41 卷,第 11 期