一种基于单摄像头单光源的视线追踪方法

文档序号:6488918阅读:476来源:国知局
一种基于单摄像头单光源的视线追踪方法
【专利摘要】本发明涉及一种基于单摄像头单光源的视线追踪方法,包括:数据采集步骤,具体为通过装有摄像头的感应设备,采集人眼的图像数据;数据处理步骤,包括计算机接收采集的人眼数据,通过计算机使用视线追踪算法进行分析和处理,并定位视线坐标;数据分析结果输出步骤,接收数据处理步骤的分析处理结果并输出到数字显示频显示给客户或打印机打印给客户。本发明仪器设备简单,算法处理效率高,精确度高,处理头动范围广;用户操作便捷、仪器使用舒适,人机交互更加趋于自然;设备制造成本低廉。
【专利说明】一种基于单摄像头单光源的视线追踪方法
[0001]【技术领域】
[0002]本发明涉及视线追踪【技术领域】,特别涉及一种基于单摄像头单光源的视线追踪方法。
【背景技术】
[0003]视线追踪技术是眼动仪的核心技术,眼动仪通过记录人在处理视觉信息时的眼动轨迹特征,广泛用于视知觉、阅读等方面研究。眼动技术先后经历了观察法、后像法、机械记录法、光学记录法、影像记录法等多种演变,通过对眼动轨迹的记录从中提取如注视点,注视时间和次数,眼跳距离,瞳孔大小等数据,从而研究眼动轨迹。
[0004]目前,市场上基于视线追踪的眼动仪缺陷比较明显:第一,成本太高,仪器太过复杂,不适用于中小型用户;第二,精确度较低,处理操作单元非常大,而记录的用户操作非常少,并且要求用户颈部以上保持静止,对头动限制很大;第三,仅适用于医学和心理学,对用户的普及度不高,使得使用率比较低。

【发明内容】

[0005]本发明就是针对上述【背景技术】中的不足之处,而提出一种基于单摄像头单光源的视线追踪方法,该方法及系统的追踪精确度高,速度快,成本低等优点,使用方便,效果良好,且用户体验更加轻松自然。
[0006]本发明为解决上述技术问题,所提供的一种方法为:
[0007]一种基于单摄像头单光源的视线追踪方法,包括:
[0008]数据采集步骤,具体为通过装有摄像头的感应设备,采集人眼的图像数据;
[0009]数据处理步骤,包括计算机接收采集的人眼数据,通过计算机使用视线追踪算法进行分析和处理,并定位视线坐标;
[0010]数据分析结果输出步骤,接收数据处理步骤的分析处理结果并输出到数字显示频显示给客户或打印机打印给客户。
[0011]按上述方法,所述数据处理步骤中的视线追踪算法具体包括以下步骤:
[0012](I)图像预处理:对摄像头捕捉到的人眼图像进行桶形畸变校正,再将其转化为灰度图像,对灰度图像进行中值滤波和高斯模糊;
[0013](2)确定光斑搜索区域:在灰度图像上寻找反射光斑粗略中心,在搜索范围内扫描图像上的每个像素的灰度值,记录搜索范围内像素灰度值最高点的灰度值H和坐标(Xh, Yh),同时记录像素灰度值最低点的灰度值L和坐标(XI,Yl);
[0014](3)搜索光斑位置:以搜索到的像素灰度值最高点的坐标(Xh,Yh)为中心,设定阈值T1,取第一方正形搜索窗口,在搜索窗口内扫描每一个像素的灰度值,若该像素的灰度值大于阈值T1则以该像素为新的中心,设定阈值T2,取第二正方形搜索窗口,在该窗口内,扫描每个像素的灰度值,并计算小于阈值T2的像素的个数,设定阈值T3,若小于阈值T2的像素的个数大于阈值T3则停止扫描并认为该像素为检测到的光斑,否则继续扫描直到扫描完窗口内所有像素为止,若扫描完第二窗口内的所有像素均未检测到光斑则认为没有检测到光斑重新采集图像进行运算;其中,Tl=搜索到的像素灰度值最高点的灰度值HX0.9,T2=搜索到的像素灰度值最低点的灰度值LX 1.2,T3=图像长度X0.1X图像宽度X0.15X0.1?0.8 ;如果步骤(2)中得到的像素灰度值最高点(Xh,Yh)的灰度值H小于T1X0.5+T2,则认为该图像上没有光斑,重复前述所有步骤直至确定图像上有光斑;
[0015](4)计算光斑中心:以检测到的光斑坐标为圆心,设定光斑区域搜索范围,即光斑为中心的15X15的窗口,逐个扫描区域内的像素的灰度值,利用亮度加权算法,计算光斑的中心Cl ;
[0016](5)计算瞳孔灰度阈值:光斑中心Cl为中心,设定瞳孔搜索范围,统计灰度直方图,用贪心算法计算瞳孔灰度阈值、光斑灰度阈值,利用阈值调整算法,通过分析比较光斑阈值和瞳孔阈值对瞳孔阈值进行调整;
[0017](6)粗略计算瞳孔中心位置:以光斑中心为中心,设定瞳孔搜索范围,根据灰度直方图计算得到的瞳孔灰度阈值,利用重心法计算瞳孔中心,若通过计算未得到瞳孔中心坐标则认为未检测到瞳孔,重新采集人眼图像,并从步骤一开始重新进行计算,直至计算得到瞳孔中心坐标;若计算得到瞳孔中心坐标则认为检测到瞳孔,并比较新、旧瞳孔中心的坐标,第一次计算时认为光斑中心坐标等于旧的瞳孔中心坐标,若新瞳孔坐标横、纵坐标与对应旧瞳孔坐标横、纵坐标的差值均小于1,则停止运算,否则以该坐标为瞳孔中心坐标;若新瞳孔坐标横、纵坐标与对应丨H瞳孔坐标横、纵坐标的差值中任何一值大于I,则以新的瞳孔中心坐标为中心,缩小搜索窗口,迭代运算瞳孔中心,直到新旧瞳孔中心坐标的横纵差值均小于I为止,若瞳孔中心坐标始终无法收敛则认为未检测到瞳孔,重新采集人眼图像并从步骤一开始重新进行计算;
[0018](7)剔除虚假光斑:计算瞳孔中心到光斑中心的距离,若该距离大于100像素,则修改原光斑范围内像素的灰度值,依据步骤(4)计算的得到的光斑中心Cl,以Cl为中心在15 X 15窗口内将窗口内的像素的灰度值修改为当前像素灰度值X 0.5,重新计算光斑中心和瞳孔中心,以瞳孔中心为中心设定二值化区域,利用瞳孔灰度阈值进行局部二值化,并统计二值化区域内小于瞳孔灰度阈值的像素个数;
[0019](8)边缘检测:若二值化区域内小于瞳孔灰度阈值的像素个数小于搜索区域面积X0.1或二值化区域内小于瞳孔灰度阈值的像素个数大于搜索区域面积X0.5则认为没有检测到瞳孔,重新采集人眼图像,重新计算,利用9X9模板的索贝尔算子进行瞳孔区域的边缘检测;
[0020](9)瞳孔边缘点提取:以瞳孔中心为中心,做一条直线,从瞳孔中心出发分别沿直线的两个方向,扫描直线上的像素的灰度值,若灰度值为O则继续扫描,若灰度值为255,以该像素坐标为中心设定窗口,窗口长:图像长度X0、2,窗口宽:图像宽度X0.4.计算瞳孔边缘点坐标,利用得到的重心坐标沿梯度方向上将扫描直线穿过的相关点的梯度值变化拟合成一条二次曲线y=aX~2+bX+C,通过令曲线导数为零的条件建立方程来确定亚像素边界点的位置,并将得到的瞳孔边缘点坐标加入瞳孔边缘点队列,改变直线角度,使直线旋转扫描180度;
[0021](10)瞳孔边缘点筛选并拟合椭圆:利用得到的瞳孔边缘点坐标,计算瞳孔边缘点到瞳孔中心的距离,并计算瞳孔边缘点到瞳孔中心的平均距离;将每个边缘点计算得到的至幢孔中心的距离与平均距离进行比值运算,若该比值不在阈值τ5范围,内则排除该边缘点,迭代计算平均距离直至平均距离稳定为止;将筛选过的瞳孔边缘点,利用最小二乘法,拟合最优椭圆(0.7〈Τ5〈1.2);
[0022](11)计算瞳孔边缘点进一步优化:以最优椭圆中心为平面坐标系的中心,以椭圆的长轴为y轴,以椭圆的短轴为X轴,计算瞳孔边缘点在以椭圆中心为原点的平面坐标系内的坐标,计算与瞳孔边缘点拥有相同横坐标的最优椭圆上的点对应的纵坐标,将计算得到的纵坐标与对应瞳孔边缘点的纵坐标进行比值运算,将比值与阈值T6比较,若在阈值Τ6范围,0〈Τ6〈0.15,内则加入新的瞳孔边缘队列,若不在范围内则不加入新的瞳孔边缘队列;
[0023](12)计算视线坐标:基于新的瞳孔边缘点队列,利用最小二乘法,拟合最优椭圆,第二次拟合的椭圆中心和光斑中心计算PCR向量,即瞳孔中心与光斑中心连线形成的向量,设瞳孔中心为(xl,yl),光斑中心为“2,72),则?0?向量为&112,71-72),根据?0?向量和人眼参数,带入视线计算公式,计算视线坐标。
[0024]按上述方案,第一正方形搜索窗口选为:长=图像长度X0.15,宽=图像宽度 X0.2。
[0025]按上述方案,第二正方形搜索窗口选为:长=图像长度X0.1,宽=图像宽度 X0.15。
[0026]按上述方案,所述T3确定为,图像长度X0.1X图像宽度Χ0.15X0.3.[0027]按上述方案,所述瞳孔搜索范围优选为:长=图像长度Χ0.2,宽=图像宽度 Χ0.3。
[0028]按上述方案:步骤剔除虚假光斑中的修改元光斑范围内的像素的灰度值具体指:以光斑中心C1为中心,在长=图像长度Χ0.02,宽=`图像宽度Χ0.03区域内,将窗口内的像素的灰度值修改为当前像素灰度值Χ0.5。
[0029]按上述方案,所述感应设备由嵌入在眼镜的镜框上的摄像头,与眼镜一起构成。
[0030]按上述方案,步骤计算瞳孔灰度阈值所述所述通过分析比较光斑阈值和瞳孔阈值对瞳孔阈值进行调整,具体为:若瞳孔阈值小于光斑阈值Χ0.4,则将瞳孔阈值调整为,新瞳孔阈值=(旧瞳孔阈值+光斑灰度阈值X 0.5)/2 ;若瞳孔阈值大于光斑阈值X 0.6,则将瞳孔阈值调整为,新瞳孔阈值=(旧瞳孔阈值+光斑灰度阈值X0.5)/2 ;其他情况下,瞳孔阈值不进行调整
[0031]按上述方案,所述感应设备由嵌入在眼镜的镜框上的摄像头,与眼镜一起构成。
[0032]本发明与传统的视线追踪方法相比其优点在于:仪器设备简单,算法处理效率高,精确度高,处理头动范围广;用户操作便捷、仪器使用舒适,人机交互更加趋于自然;设备制造成本低廉。
[0033]注:本发明的图形的长和宽的数值单位为像素。
【专利附图】

【附图说明】
[0034]图1摄像机采集到的原始人眼图像;
[0035]图2人眼图像预处理;
[0036]图3角膜反射光斑搜索范围;
[0037]图4定位角膜反射光斑;[0038]图5a精确计算角膜反射光斑中心算法的计算区域;
[0039]图5b角膜反射光斑中心;
[0040]图6人眼图像的灰度直方图,其中黑色竖线为计算的瞳孔阈值;
[0041]图7a瞳孔中心区域图其中黄色方框为第一次计算瞳孔中心的搜索区域,紫色的方框为根据算法不断进行调整后的计算瞳孔中心的搜索区域;
[0042]图7b用计算得到的瞳孔灰度阈值对瞳孔搜索区域进行二值化后的结果图,其中,最小的方框内只有包含二值化后的椭圆型瞳孔,在搜索区域变化的过程中将瞳孔上方由于眼睑、睫毛和图像噪声造成的虚假瞳孔像素点全部剔除;
[0043]图7c最终粗算后的瞳孔中心区域图,其中,紫色的方框为根据算法不断进行调整后的计算瞳孔中心的搜索区域;
[0044]图8a用索贝尔算子进行边缘检测后的结果图;
[0045]图Sb去除眼睑,睫毛,反射光斑这些虚假瞳孔边缘之后的瞳孔边缘检测结果;
[0046]图9a以步骤6计算的瞳孔中心为中心,利用扫描线算法,让扫描线分别沿不同的方向搜索瞳孔索贝尔算子检测到的瞳孔边缘点模拟图;
[0047]图9b扫描线检测到瞳孔边缘点后,精确计算瞳孔亚像素边缘点的搜索区域图;
[0048]图1Oa瞳孔边缘点筛选图;
[0049]图1Ob使用未经筛选的瞳孔边缘点使用最小二乘法进行椭圆拟合后的结果图;
[0050]图1Oc使用平均距离进行瞳孔边缘点筛选后进行椭圆拟合后的结果图;
[0051]图11使用椭圆方程进行瞳孔边缘点筛选的筛选图;
[0052]图12a使用经过两次筛选后的瞳孔边缘点进行椭圆拟合后的结果图,其中,紫色的圆点分别为瞳孔中心和反射光斑中心;
[0053]图12b瞳孔中心到反射光斑中心的PCR图,其中,紫色箭头表示瞳孔中心到反射光斑中心形成的PCR向量;
[0054]图13本发明检测方法流程图;
[0055]图14感应设备和眼镜镜框的结构图。
【具体实施方式】
[0056]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限制本发明。
[0057]图13示出了本发明检测方法流程图,图1至图12b示出了本发明相关步骤所对应的影像图。
[0058]感应设备由嵌入在眼镜I的镜框上的摄像头3 —起构成,如图14所示,通过感应设备,采集人眼的图像数据图1所示;接收采集的人眼数据,使用视线追踪算法进行分析和处理,并定位视线坐标;接收数据处理步骤的分析处理结果并输出给用户,其输出方式可以使终端显示器显示或打印机打印。
[0059]所述数据处理步骤中的视线追踪算法具体包括以下步骤:
[0060](I)图像预处理:对摄像头捕捉到的人眼图像进行桶形畸变校正,再将其转化为灰度图像,对灰度图像进行中值滤波和高斯模糊,如图2所示;[0061](2)确定光斑搜索区域:在灰度图像上寻找反射光斑粗略中心,如图3所示,紫色方框为确定的搜索方位,在搜索范围内扫描图像上的每个像素的灰度值,记录搜索范围内像素灰度值最高点的灰度值Η和坐标(Xh,Yh),同时记录像素灰度值最低点的灰度值L和坐标(XI,Y1);
[0062](3)搜索光斑位置:以搜索到的像素灰度值最高点的坐标(Xh,Yh)为中心,设定阈值?\,取第一方正形搜索窗口,长=图像长度X 0.15,宽=图像宽度X 0.2,在搜索窗口内扫描每一个像素的灰度值,若该像素的灰度值大于阈值!\则以该像素为新的中心,设定阈值Τ2,取第二正方形搜索窗口,长=图像长度Χ0.1,宽=图像宽度Χ0.15,在该窗口内,扫描每个像素的灰度值,并计算小于阈值Τ2的像素的个数,设定阈值Τ3,若小于阈值Τ2的像素的个数大于阈值Τ3则停止扫描并认为该像素为检测到的光斑,如图4四所示,紫色标记对光斑进行标记定位;否则继续扫描直到扫描完窗口内所有像素为止,若扫描完第二窗口内的所有像素均未检测到光斑则认为没有检测到光斑重新采集图像进行运算;其中,Tl=搜索到的像素灰度值最高点的灰度值ΗΧ0.9,Τ2=搜索到的像素灰度值最低点的灰度值LX 1.2,Τ3=图像长度Χ0.1X图像宽度Χ0.15X0.3 ;如果步骤(2)中得到的像素灰度值最高点(Xh, Yh)的灰度值Η小于ΤΙ X0.5+T2,则认为该图像上没有光斑,重复前述所有步骤直至确定图像上有光斑;
[0063](4)计算光斑中心:以检测到的光斑坐标为圆心,设定光斑区域搜索范围,即光斑为中心的15X15的窗口,如图5a所示,逐个扫描区域内的像素的灰度值,利用亮度加权算法,计算光斑的中心C1,如图5b所示;
[0064](5)计算瞳孔灰度阈值:光斑中心C1为中心,设定瞳孔搜索范围为长=图像长度X0.2,宽=图像宽度X0.3,在该范围内统计灰度直方图,如图6所示,用贪心算法计算瞳孔灰度阈值、光斑灰度阈值,利用阈值调整算法,通过分析比较光斑阈值和瞳孔阈值对瞳孔阈值进行调整,具体调整原则为,若瞳孔阈值小于光斑阈值X0.4,则将瞳孔阈值调整为,新瞳孔阈值=(旧瞳孔阈值+光斑灰度阈值X 0.5)/2 ;若瞳孔阈值大于光斑阈值X0.6,则将瞳孔阈值调整为,新瞳孔阈`值=(旧瞳孔阈值+光斑灰度阈值X0.5)/2 ;其他情况下,瞳孔阈值不进行调整;
[0065](6)粗略计算瞳孔中心位置:以光斑中心为中心,设定瞳孔搜索范围,根据灰度直方图计算得到的瞳孔灰度阈值,利用重心法计算瞳孔中心,若通过计算未得到瞳孔中心坐标则认为未检测到瞳孔,重新采集人眼图像,并从步骤一开始重新进行计算,直至计算得到瞳孔中心坐标;若计算得到瞳孔中心坐标则认为检测到瞳孔,并比较新、旧瞳孔中心的坐标,第一次计算时认为光斑中心坐标等于旧的瞳孔中心坐标,,若新瞳孔坐标横、纵坐标与对应旧瞳孔坐标横、纵坐标的差值均小于1,则停止运算,采集图像过程如图7a所示,否则以该坐标为瞳孔中心坐标;若新瞳孔坐标横、纵坐标与对应丨日瞳孔坐标横、纵坐标的差值中任何一值大于1,则以新的瞳孔中心坐标为中心,缩小搜索窗口,迭代运算瞳孔中心,直到新旧瞳孔中心坐标的横纵差值均小于1为止,整个过程如图7b、图7c所示,若瞳孔中心坐标始终无法收敛则认为未检测到瞳孔,重新采集人眼图像并从步骤一开始重新进行计算;需要说明的是,图7b进而了局部二值化,是为了展示瞳孔搜索区域变化的过程,最后最小的框体内只有瞳孔,没有其他噪声的干扰,说明这个算法是有效的。
[0066](7)剔除虚假光斑:计算瞳孔中心到光斑中心的距离,若该距离大于100像素,则修改原光斑范围内像素的灰度值,优选的,以光斑中心Cl为中心,在长=图像长度X0.02,宽=图像宽度X 0.03区域内,将窗口内的像素的灰度值修改为当前像素灰度值X 0.5,依据步骤(4)计算的得到的光斑中心Cl,以Cl为中心在15X15窗口内将窗口内的像素的灰度值修改为当前像素灰度值X0.5,重新计算光斑中心和瞳孔中心,以瞳孔中心为中心设定二值化区域,利用瞳孔灰度阈值进行局部二值化,并统计二值化区域内小于瞳孔灰度阈值的像素个数;
[0067](8)边缘检测:若二值化区域内小于瞳孔灰度阈值的像素个数小于搜索区域面积X0.1或二值化区域内小于瞳孔灰度阈值的像素个数大于搜索区域面积X0.5则认为没有检测到瞳孔,重新采集人眼图像,重新计算,利用9X9模板的索贝尔算子进行瞳孔区域的边缘检测,如图8a、图8b所示;
[0068](9)瞳孔边缘点提取:以瞳孔中心为中心,做一条直线,从瞳孔中心出发分别沿直线的两个方向,扫描直线上的像素的灰度值,图9a所不,若灰度值为O则继续扫描,若灰度值为255,以该像素坐标为中心设定窗口,窗口长:图像长度X0、2,窗口宽:图像宽度X0.4.计算瞳孔边缘点坐标,利用得到的重心坐标沿梯度方向上将扫描直线穿过的相关点的梯度值变化拟合成一条二次曲线y=aX~2+bX+C,通过令曲线导数为零的条件建立方程来确定亚像素边界点的位置,并将得到的瞳孔边缘点坐标加入瞳孔边缘点队列,改变直线角度,使直线旋转扫描180度,结果如图9b所示;
[0069](10)瞳孔边缘点筛选并拟合椭圆:利用得到的瞳孔边缘点坐标,计算瞳孔边缘点到瞳孔中心的距离,并计算瞳孔边缘点到瞳孔中心的平均距离;将每个边缘点计算得到的到瞳孔中心的距离与平均距离进行比值运算,若该比值不在阈值T5范围,内则排除该边缘点,迭代计算平均距离直至平均距离稳定为止,筛选结果如图1Oa所示;将筛选过的瞳孔边缘点,利用最小二乘法,拟合最优椭圆(0.7〈T5〈1.2),拟合结果如图1Ob所示;
[0070](11)计算瞳孔边缘点进一步优化:以最优椭圆中心为平面坐标系的中心,以椭圆的长轴为y轴,以椭圆的短轴为X轴,计算瞳孔边缘点在以椭圆中心为原点的平面坐标系内的坐标,计算与瞳孔边缘点拥有相同横坐标的最优椭圆上的点对应的纵坐标,将计算得到的纵坐标与对应瞳孔边缘点的纵坐标进行比值运算,将比值与阈值T6比较,若在阈值T6范围,0〈T6〈0.15,内则加入新的瞳孔边缘队列,若不在范围内则不加入新的瞳孔边缘队列,筛选结果如图11所示;
[0071](12)计算视线坐标:基于新的瞳孔边缘点队列,利用最小二乘法,拟合最优椭圆,图12a为示例图,第二次拟合的椭圆中心和光斑中心计算PCR向量,即瞳孔中心与光斑中心连线形成的向量,设瞳孔中心为(xl,yl),光斑中心为(x2,y2),则PCR向量为(xl-x2, yl_y2),根据PCR向量和人眼参数,带入视线计算公式,计算视线坐标,如图12b所
/Jn ο
【权利要求】
1.一种基于单摄像头单光源的视线追踪方法,包括: 数据采集步骤,具体为通过装有摄像头的感应设备,采集人眼的图像数据; 数据处理步骤,包括计算机接收采集的人眼数据,通过计算机使用视线追踪算法进行分析和处理,并定位视线坐标; 数据分析结果输出步骤,接收数据处理步骤的分析处理结果并输出到数字显示频显示给客户或打印机打印给客户。
2.根据权利要求1所述基于单摄像头单光源的视线追踪方法,其特征在于:所述数据处理步骤中的视线追踪算法具体包括以下步骤: (1)图像预处理:对摄像头捕捉到的人眼图像进行桶形畸变校正,再将其转化为灰度图像,对灰度图像进行中值滤波和高斯模糊; (2)确定光斑搜索区域:在灰度图像上寻找反射光斑粗略中心,在搜索范围内扫描图像上的每个像素的灰度值,记录搜索范围内像素灰度值最高点的灰度值H和坐标(Xh,Yh),同时记录像素灰度值最低点的灰度值L和坐标(XI,Yl); (3)搜索光斑位置:以搜索到的像素灰度值最高点的坐标(Xh,Yh)为中心,设定阈值T1,取第一方正形搜索窗口,在搜索窗口内扫描每一个像素的灰度值,若该像素的灰度值大于阈值T1则以该像素为新的中心,设定阈值T2,取第二正方形搜索窗口,在该窗口内,扫描每个像素的灰度值,并计算小于阈值T2的像素的个数,设定阈值T3,若小于阈值T2的像素的个数大于阈值T3则停止扫描并认为该像素为检测到的光斑,否则继续扫描直到扫描完窗口内所有像素为止,若扫描完第二窗口内的所有像素均未检测到光斑则认为没有检测到光斑重新采集图 像进行运算;其中,Tl=搜索到的像素灰度值最高点的灰度值HX0.9,T2=搜索到的像素灰度值最低点的灰度值LX 1.2,T3=图像长度X0.1X图像宽度X0.15X0.1~0.8 ;如果步骤(2)中得到的像素灰度值最高点(Xh,Yh)的灰度值H小于T1X0.5+T2,则认为该图像上没有光斑,重复前述所有步骤直至确定图像上有光斑; (4)计算光斑中心:以检测到的光斑坐标为圆心,设定光斑区域搜索范围,即光斑为中心的15X15的窗口,逐个扫描区域内的像素的灰度值,利用亮度加权算法,计算光斑的中心Cl ; (5)计算瞳孔灰度阈值:光斑中心Cl为中心,设定瞳孔搜索范围,统计灰度直方图,用贪心算法计算瞳孔灰度阈值、光斑灰度阈值,利用阈值调整算法,通过分析比较光斑阈值和瞳孔阈值对瞳孔阈值进行调整; (6)粗略计算瞳孔中心位置:以光斑中心为中心,设定瞳孔搜索范围,根据灰度直方图计算得到的瞳孔灰度阈值,利用重心法计算瞳孔中心,若通过计算未得到瞳孔中心坐标则认为未检测到瞳孔,重新采集人眼图像,并从步骤一开始重新进行计算,直至计算得到瞳孔中心坐标;若计算得到瞳孔中心坐标则认为检测到瞳孔,并比较新、旧瞳孔中心的坐标,第一次计算时认为光斑中心坐标等于旧的瞳孔中心坐标,若新瞳孔坐标横、纵坐标与对应旧瞳孔坐标横、纵坐标的差值均小于1,则停止运算,否则以该坐标为瞳孔中心坐标;若新瞳孔坐标横、纵坐标与对应旧瞳孔坐标横、纵坐标的差值中任何一值大于1,则以新的瞳孔中心坐标为中心,缩小搜索窗口,迭代运算瞳孔中心,直到新旧瞳孔中心坐标的横纵差值均小于I为止,若瞳孔中心坐标始终无法收敛则认为未检测到瞳孔,重新采集人眼图像并从步骤一开始重新进行计算;(7)剔除虚假光斑:计算瞳孔中心到光斑中心的距离,若该距离大于100像素,则修改原光斑范围内像素的灰度值,依据步骤(4)计算的得到的光斑中心Cl,以Cl为中心在15X15窗口内将窗口内的像素的灰度值修改为当前像素灰度值X0.5,重新计算光斑中心和瞳孔中心,以瞳孔中心为中心设定二值化区域,利用瞳孔灰度阈值进行局部二值化,并统计二值化区域内小于瞳孔灰度阈值的像素个数; (8)边缘检测:若二值化区域内小于瞳孔灰度阈值的像素个数小于搜索区域面积X0.1或二值化区域内小于瞳孔灰度阈值的像素个数大于搜索区域面积X0.5则认为没有检测到瞳孔,重新采集人眼图像,重新计算,利用9X9模板的索贝尔算子进行瞳孔区域的边缘检测; (9)瞳孔边缘点提取:以瞳孔中心为中心,做一条直线,从瞳孔中心出发分别沿直线的两个方向,扫描直线上的像素的灰度值,若灰度值为O则继续扫描,若灰度值为255,以该像素坐标为中心设定窗口,窗口长:图像长度X0、2,窗口宽:图像宽度X0.4.计算瞳孔边缘点坐标,利用得到的重心坐标沿梯度方向上将扫描直线穿过的相关点的梯度值变化拟合成一条二次曲线y=aX~2+bX+C,通过令曲线导数为零的条件建立方程来确定亚像素边界点的位置,并将得到的瞳孔边缘点坐标加入瞳孔边缘点队列,改变直线角度,使直线旋转扫描.180 度; (10)瞳孔边缘点筛选并拟合椭圆:利用得到的瞳孔边缘点坐标,计算瞳孔边缘点到瞳孔中心的距离,并计算瞳孔边缘点到瞳孔中心的平均距离;将每个边缘点计算得到的到瞳孔中心的距离与平均距离进行 比值运算,若该比值不在阈值T5范围,内则排除该边缘点,迭代计算平均距离直至平均距离稳定为止;将筛选过的瞳孔边缘点,利用最小二乘法,拟合最优椭圆(0.7〈Τ5〈1.2); (11)计算瞳孔边缘点进一步优化:以最优椭圆中心为平面坐标系的中心,以椭圆的长轴为y轴,以椭圆的短轴为X轴,计算瞳孔边缘点在以椭圆中心为原点的平面坐标系内的坐标,计算与瞳孔边缘点拥有相同横坐标的最优椭圆上的点对应的纵坐标,将计算得到的纵坐标与对应瞳孔边缘点的纵坐标进行比值运算,将比值与阈值T6比较,若在阈值T6范围,0〈T6〈0.15,内则加入新的瞳孔边缘队列,若不在范围内则不加入新的瞳孔边缘队列; (12)计算视线坐标:基于新的瞳孔边缘点队列,利用最小二乘法,拟合最优椭圆,第二次拟合的椭圆中心和光斑中心计算PCR向量,即瞳孔中心与光斑中心连线形成的向量,设瞳孔中心为(xl,yl),光斑中心为(叉2,72),则?0?向量为&112,7112),根据卩0?向量和人眼参数,带入视线计算公式,计算视线坐标。
3.根据权利要求2所述基于单摄像头单光源的视线追踪方法,其特征在于:所述第一正方形搜索窗口选为:长=图像长度X0.15,宽=图像宽度X0.2。
4.根据权利要求2所述基于单摄像头单光源的视线追踪方法,其特征在于:所述第二正方形搜索窗口选为:长=图像长度X0.1,宽=图像宽度X0.15。
5.根据权利要求2所述基于单摄像头单光源的视线追踪方法,其特征在于:所述所述T3确定为,图像长度X0.1X图像宽度X0.15X0.3。
6.根据权利要求2所述基于单摄像头单光源的视线追踪方法,其特征在于:所述瞳孔搜索范围优选为:长=图像长度X0.2,宽=图像宽度X0.3。
7.根据权利要求2所述基于单摄像头单光源的视线追踪方法,其特征在于:所述步骤剔除虚假光斑中的修改元光斑范围内的像素的灰度值具体指:以光斑中心Cl为中心,在长=图像长度X0.02,宽=图像宽度X0.03区域内,将窗口内的像素的灰度值修改为当前像素灰度值X0.5。
8.根据权利要求2所述基于单摄像头单光源的视线追踪方法,其特征在于:所述感应设备由嵌入在眼镜的镜框上的摄像头,与眼镜一起构成。
9.根据权利要求2所述基于单摄像头单光源的视线追踪方法,其特征在于:所述步骤计算瞳孔灰度阈值所述所述通过分析比较光斑阈值和瞳孔阈值对瞳孔阈值进行调整,具体为:若瞳孔阈值小于光斑阈值X0.4,则将瞳孔阈值调整为,新瞳孔阈值=(旧瞳孔阈值+光斑灰度阈值X0.5)/2 ;若瞳孔阈值大于光斑阈值X0.6,则将瞳孔阈值调整为,新瞳孔阈值=(旧瞳孔阈值+光斑灰度阈值X0.5) /2 ;其他情况下,瞳孔阈值不进行调整。
10.根据权利要求1或2所述基于单摄像头单光源的视线追踪方法,其特征在于:所述感应设备由嵌入在眼镜的镜`框上的摄像头,与眼镜一起构成。
【文档编号】G06K9/54GK103679180SQ201210346380
【公开日】2014年3月26日 申请日期:2012年9月19日 优先权日:2012年9月19日
【发明者】杨硕, 蔡恒进, 张慧婷, 苏泽垚 申请人:武汉元宝创意科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1