一种基于瞳孔特征实现视线追踪的方法
技术领域
本发明涉及眼球追踪技术,尤其涉及一种基于瞳孔特征实现视线追踪的方法。
背景技术
视线追踪也称眼动追踪,是利用摄像设备实时观测人眼的运动情况,通过一定的方法估算出视线的方向和视线落点坐标的一种技术,近年来该技术被引入到信息领域,并结合计算机视觉和图像处理技术可以广泛使用在心理分析、患者眼动交流、兴趣数据分析、安全驾驶、人机交互和军事模拟等众多领域。视线追踪技术实现的方法经历了近百年的发展,先后采用了机械记录法、电流记录法、电磁记录法和当代的光学记录法,对实验人员的人眼侵入程度越来越小,精度也越来越高。
视线追踪目前以光学记录法为主,依赖于光学器件——CCD或 CMOS图像传感器拍摄人眼图像,而后通过人眼模型将人眼的特征点数据映射到视线的三维数据,从而估算出视线方向,这是光学记录法的两大步骤:特征提取和实现估计。可以提取的人眼特征主要是:虹膜中心、虹膜边缘、瞳孔边缘、瞳孔中心、巩膜边缘、外界光源在眼睛肿的反射点(普尔钦斑)。在这些人眼特征的基础上衍生出的的估算方法有:
1.角膜反射法:外部光源照射到人眼,当眼睛运动的时候,反射点也会随之运动,摄像机通过记录反射点的变化来分析视线的方向。
2.瞳孔角膜反射法:它是角膜反射法的改进,它不仅需要检测反射点的位置,而且还要检测瞳孔中心的位置信息。瞳孔角膜反射法进一步细分为:瞳孔中心与角膜反射向量法、给予眼球三维模型的视线估计方法,这类方法会因为头部运动造成准确性降低,因此常适用于穿戴式眼动跟踪系统,利用眼球转动时相对位置不变的眼部特征做参考,提取视线变化参数,通过几何模型或映射模型获取视线方向。
3.双铺金野法,利用光线经过眼球时各个组织部分对光线的折射率不同的原理,分析光源反射产生的图像,角膜反射回来的光线较强,成为第一普金野图像,角膜后表面反射光线较弱为第二普金野图像,从晶状体前表面反射出来的图像为第三普金野图像,从晶状体后表面反射回来的图像位第四普金野图像,从而估算眼球的视线方向,但是该系统的设备昂贵、设置复杂。
4.虹膜-巩膜边缘法,该法使用红外光远照射眼睛,反射的红外光线被两只光敏晶体管接受,当眼睛转动的时候,两只晶体管接受的反射量此增彼减,可以估算出视线的大致方向,但精度略低。
综上所述,目前的眼动追踪方法面临的主要问题有:(1)眼睛的光照环境、特征选取、外部其他干扰因素等原因导致眼睛特征提取准确度和可靠性不足;(2)方法需要昂贵的设备作支撑;(3)需要较为复杂的光源设置,比如瞳孔角膜反射法,需要明暗交替的断续光源照射眼睛以获取明瞳和暗瞳;(4)受限于头部运动,测量精度不高。
发明内容
因此,为解决上述现有技术存在的技术缺陷和不足,本发明提供一种基于瞳孔特征实现视线追踪的方法。
具体的,本发明实施例提供一种基于瞳孔特征实现视线追踪的方法,其特征在于,包括:
提取用户的瞳孔边缘信息;
根据所述瞳孔边缘信息,确定用户的瞳孔中心点;
根据所述瞳孔中心点确定所述用户观察的目标点,以得到所述用户的视线方向。
在上述实施例的基础上,提取用户的瞳孔边缘信息,包括:
采用红外采集设备获取所述眼部图像信息,所述红外采集设备包括至少一个红外灯源;
对所述眼部图像信息进行处理,得到所述眼部图像信息在指定方向上灰度的梯度值,并将所述灰度的梯度值达到最大值时所在的位置确定为瞳孔边缘点的位置。
在上述实施例的基础上,根据所述瞳孔边缘信息,确定用户的瞳孔中心点,包括:
提取所述瞳孔边缘信息中的散点信息并将所述散点信息拟合,形成类椭圆曲线;
计算出所述类椭圆曲线长轴和短轴的交点,将所述交点确定为所述瞳孔中心点。
在上述实施例的基础上,在提取用户的瞳孔边缘信息之前,还包括:
将屏幕和配备至少一个红外光源的红外采集设备放置于所述用户眼睛前方的特定位置;
控制所述屏幕的不同位置依次出现K个点以引导所述用户对所述K 个点进行依次观察,其中,K为大于等于2的整数;
控制所述红外光源照射所述用户的眼部区域并控制所述红外采集设备对所述用户的眼睛进行拍摄;
记录并处理所述用户对所述K个点进行依次观察时的瞳孔边缘信息,得到所述用户的瞳孔中心点;
根据所述K个点的坐标(X,Y)和所述瞳孔中心点坐标(x,y)得到映射模型(X,Y)=F(x,y)。
在上述实施例的基础上,将屏幕和配备至少一个红外光源的红外采集设备放置于所述用户眼睛前方的特定位置,包括:
将所述红外采集设备放置于所述用户眼睛的正前下方位置处并将所述屏幕放置于所述用户眼睛的正前方,且所述红外采集设备和所述用户眼睛之间的距离满足关系为:1/d+1/v=1/f;其中,d为所述红外采集设备和所述用户眼睛之间的距离,f为所述红外采集设备的焦距,v为所述红外采集设备的像距。
在上述实施例的基础上,记录并处理所述用户对所述K个点进行依次观察时的瞳孔边缘信息,得到所述用户的瞳孔中心点,包括:
获取经过用户眼睛反射后的红外图像并对所述红外图像进行预处理形成修正红外图像,以增加用户的瞳孔区域图像和非瞳孔区域图像的对比度;
在所述修正红外图像上估算瞳孔中心点坐标(xmin,ymin);
以坐标(xmin,ymin)为起点沿指定射线方向在所述修正红外图像上计算灰度的梯度值,并将梯度值达到最大值时所在的位置确定为瞳孔边缘点的位置;
对多个所述瞳孔边缘点进行拟合处理形成类椭圆曲线,以所述类椭圆曲线的中心作为所述瞳孔中心点。
在上述实施例的基础上,获取经过用户眼睛反射后的红外图像并对所述红外图像进行预处理形成修正红外图像,包括:
采用增强算子作用在所述红外图像的每个像素以使图像亮度增强进而实现灰度对比度的增大,之后对所述红外图像采用拉普拉斯法进行图像滤波处理;
其中,所述增强算子的公式为:
En=c*lg(1+double(f0));其中,En为增强算子,f0为原函数灰度值, c是常系数。
在上述实施例的基础上,在所述修正红外图像上估算瞳孔中心点位置的坐标(xmin,ymin),包括:
采用灰度积分法在所述修正红外图像上估算瞳孔中心位置的坐标 (xmin,ymin);其中,xmin和ymin的公式为:
其中,min表示取最小值运算,sum表示求和运算,f(i,j)表示在坐标(i,j)处图像的灰度值。
在上述实施例的基础上,对多个所述瞳孔边缘点进行拟合处理形成类椭圆曲线,包括:
步骤a、从N个所述瞳孔 边缘点中选取任意5个点,使用最小二乘法进行椭圆拟合形成第一类椭圆方程;
步骤b、对N个所述瞳孔 边缘点利用随机采样一致性算法通过所述第一类椭圆方程进行局内点和局外点甄别,统计得到M个局内点和N-M个局外点;
步骤c、判断局内点占有率
是否小于第一阈值t1;若是,则确定所述5个点为非典型瞳孔 边缘点,拟合椭圆为非典型特征椭圆,则重新执行步骤a;若否,则确定所述5个点为典型瞳孔 边缘点,则执行步骤d;
步骤d、根据所述M个局内点任意选取5个点,利用最小二乘法对所述第一类椭圆方程进行优化形成第二类椭圆方程,并对所述N个瞳孔 边缘点利用随机采样一致性算法通过所述第二类椭圆方程进行局内点和局外点甄别,最终统计得到M1个局内点和N-M1局外点;
步骤e、判断局内点占有率
是否大于第二阈值t2;如是,则终止迭代,认为所述第二类椭圆方程为最优方程;若否,则执行步骤d。
在上述实施例的基础上,根据所述K个点的坐标(X,Y)和所述瞳孔中心点坐标(x,y)得到映射模型(X,Y)=F(x,y),包括:
通过所述K个点的坐标(X,Y)和对应的所述瞳孔中心点坐标(x,y)确定所述映射模型的参数a、b、c、d、e、f、g、h、k、l、m及n,以完成所述映射模型的建立。
本发明提供的基于瞳孔特征实现视线追踪的方法的优点有:不受环境干扰因素的影响和头部运动的影响,准确度和可靠性高,且无需昂贵复杂的设备,成本低廉。
附图说明
为了更清晰地说明本发明或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍。显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。下面将结合附图,对本发明的具体实施方式进行详细的说明。
图1为本发明实施例提供的一种基于瞳孔特征实现视线追踪的方法的流程图;
图2为本发明实施例提供的红外采集设备、屏幕和眼睛之间的位置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种基于瞳孔特征实现视线追踪的方法,请参考图1,图1为本发明实施例提供的一种基于瞳孔特征实现视线追踪的方法的流程图。如图1所示,该方法包括:
提取用户的瞳孔边缘信息;
根据所述瞳孔边缘信息,确定用户的瞳孔中心点;
根据所述瞳孔中心点确定所述用户观察的目标点,以得到所述用户的视线方向。
具体地,可以根据所述瞳孔中心点和用户观察目标点的匹配特点,具体确定所述用户的视线方向。在本实施例中,用户观察目标点的匹配特点,可以通过大数据的方式确定,无需事先对该用户进行训练学习或者建模。
其中,在上述实施例中,提取用户的瞳孔边缘信息,具体可以为:
采用红外采集设备获取所述眼部图像信息,所述红外采集设备包括至少一个红外灯源;
对所述眼部图像信息进行处理,得到所述眼部图像信息在指定方向上灰度的梯度值,并将所述灰度的梯度值达到最大值时所在的位置确定为瞳孔边缘点的位置。
具体地,瞳孔内、外对红外线的反射有很明显的差异。拍摄的图像在瞳孔区域光线较强,亮度高;在非瞳孔区则图像较暗,亮度低。瞳孔区域灰度明显低于其他区域,在边缘位置处,梯度变化剧烈。过处理后的图像信息中,在指定的方向上,瞳孔区的灰度值与非瞳孔区的灰度值在交界处有剧烈的变化,在交界处的梯度值也会达到最大,据此判断出瞳孔边缘点的位置。
例如,设f(i,j)为图像f在坐标(i,j)处的灰度值,灰度值的偏微分为
进一步地,在上述实施例的基础上,根据所述瞳孔边缘信息,确定用户的瞳孔中心点,包括:
提取所述瞳孔边缘信息中的散点信息并将所述散点信息拟合,形成类椭圆曲线;
计算出所述类椭圆曲线长轴和短轴的交点,将所述交点确定为所述瞳孔中心点。
进一步地,在上述实施例的基础上,在提取用户的瞳孔边缘信息之前,还包括:
将屏幕和配备至少一个红外光源的红外采集设备放置于所述用户眼睛前方的特定位置;
控制所述屏幕的不同位置依次出现K个点以引导所述用户对所述K 个点进行依次观察,其中,K为大于等于2的整数;
控制所述红外光源照射所述用户的眼部区域并控制所述红外采集设备对所述用户的眼睛进行拍摄;
记录并处理所述用户对所述K个点进行依次观察时的瞳孔边缘信息,得到所述用户的瞳孔中心点;
根据所述K个点的坐标(X,Y)和所述瞳孔中心点坐标(x,y)得到映射模型(X,Y)=F(x,y)。
通过事先对该用户的视线习惯进行训练、建模以获得该用户的瞳孔中心和视线之间的匹配特点,而非通过大数据的方式事先预设该用户的瞳孔中心和视线之间的匹配特点,可以提高视线追踪的精度。
进一步地,在上述实施例的基础上,将屏幕和配备至少一个红外光源的红外采集设备放置于所述用户眼睛前方的特定位置,包括:
将所述红外采集设备放置于所述用户眼睛的正前下方位置处并将所述屏幕放置于所述用户眼睛的正前方,且所述红外采集设备和所述用户眼睛之间的距离满足关系为:1/d+1/v=1/f;其中,d为所述红外采集设备和所述用户眼睛之间的距离,f为所述红外采集设备的焦距,v为所述红外采集设备的像距。
优选地,经过试验,红外采集设备放置于所述用户眼睛的正前下方 2cm-4cm处。请参考图2,图2为本发明实施例提供的红外采集设备、屏幕和眼睛之间的位置示意图。采用如图2所述的拍摄方式,可以达到较好的拍摄效果。
进一步地,在上述实施例的基础上,记录并处理所述用户对所述K 个点进行依次观察时的瞳孔边缘信息,得到所述用户的瞳孔中心点,具体可以为:
获取经过用户眼睛反射后的红外图像并对所述红外图像进行预处理形成修正红外图像,以增加用户的瞳孔区域图像和非瞳孔区域图像的对比度;
在所述修正红外图像上估算瞳孔中心点坐标(xmin,ymin);
以坐标(xmin,ymin)为起点沿指定射线方向在所述修正红外图像上计算灰度的梯度值,并将梯度值达到最大值时所在的位置确定为瞳孔边缘点的位置;
例如,设f(i,j)为图像f在坐标(i,j)处的灰度值,灰度值的偏微分为
随后,对多个所述瞳孔边缘点进行拟合处理形成类椭圆曲线,以所述类椭圆曲线的中心作为所述瞳孔中心点。
进一步地,在上述实施例的基础上,获取经过用户眼睛反射后的红外图像并对所述红外图像进行预处理形成修正红外图像,具体可以为:
采用增强算子作用在所述红外图像的每个像素以使图像亮度增强进而实现灰度对比度的增大,之后对所述红外图像采用拉普拉斯法进行图像滤波处理;
其中,所述增强算子的公式为:En=c*lg(1+double(f0));其中,En为增强算子,f0为原函数灰度值,c是常系数。其中,c的具体取值可根据实际情况设置,本发明在此不做限制。
进一步地,在上述实施例的基础上,在所述修正红外图像上估算瞳孔中心点位置的坐标(xmin,ymin),包括:
采用灰度积分法在所述修正红外图像上估算瞳孔中心位置的坐标 (xmin,ymin);其中,xmin和ymin的公式为:
其中,min表示取最小值运算,sum表示求和运算,f(i,j)表示在坐标(i,j)处图像的灰度值。
因为瞳孔中心位置处最暗,通过上述求最小值的方法,可以估算出瞳孔中心的粗略位置。
进一步地,在上述实施例的基础上,本发明采用最小二乘法(LSM) 和随机采样一致性(RANSAC)混合迭代的一种算法,对多个所述瞳孔边缘点进行拟合处理形成类椭圆曲线。本方法既能够克服最小二乘法精度不高的缺点,又改进了RANSAC算法时效性的不足。具体步骤如下:
步骤a、从N个所述瞳孔 边缘点中选取任意5个点,使用最小二乘法进行椭圆拟合形成第一类椭圆方程;
步骤b、对N个所述瞳孔 边缘点利用随机采样一致性算法通过所述第一类椭圆方程进行局内点和局外点甄别,统计得到M个局内点和N-M个局外点;
在本实施例中,落在所述类椭圆上的点,视为局内点。当然,本发明不在此处做限制。
步骤c、判断局内点占有率
是否小于第一阈值t1;若是,则确定所述5个点为非典型瞳孔 边缘点,拟合椭圆为非典型特征椭圆,则重新执行步骤a;若否,则确定所述5个点为典型瞳孔 边缘点,则执行步骤d;
步骤d、根据所述M个局内点任意选取5个点,利用最小二乘法对所述第一类椭圆方程进行优化形成第二类椭圆方程,并对所述N个瞳孔 边缘点利用随机采样一致性算法通过所述第二类椭圆方程进行局内点和局外点甄别,最终统计得到M1个局内点和N-M1局外点;
步骤e、判断局内点占有率
是否大于第二阈值t2;如是,则终止迭代,认为所述第二类椭圆方程为最优方程;若否,则执行步骤d。
可选地,本发明实施例还提供另一种采用最小二乘法(LSM)和随机采样一致性(RANSAC)混合迭代的一种算法,对多个所述瞳孔边缘点进行拟合处理形成类椭圆曲线。具体步骤如下:
步骤S1:从N个瞳孔 边缘点中选取任意5个点,使用LSM进行椭圆拟合,将剩余的N-5个点利用RANSAC带入椭圆方程进行局内点和局外点甄别,统计出N个点中共有M个局内点,N-M个局外点;
步骤S2:如果局内点占有率
小于阈值t1,则认为步骤S1选取的5个点为非典型瞳孔 边缘点,拟合椭圆为非典型特征椭圆,跳到步骤 S1;若
则认为步骤S1选取的5个点典型瞳孔 边缘点,则跳往步骤S3;
步骤S3:将步骤S1中甄别出的M个局内瞳孔 边缘点全部带入LSM 方程,求出优化的椭圆方程,再次使用RANSAC算法,对N-M个瞳孔 边缘点带入新的椭圆方程进行局内点的再甄别,甄别的局内点为M1,局外点为N-M1;
步骤S4:计算局内点占有率
若大于阈值t2,则终止迭代,认为当前的椭圆方程为最优方程;若
则认为局内点比例无法满足阈值,跳入步骤S3,再次迭代。
进一步地,在上述实施例的基础上,根据所述K个点的坐标(X,Y) 和所述瞳孔中心点坐标(x,y)得到映射模型(X,Y)=F(x,y),包括:
通过所述K个点的坐标(X,Y)和对应的所述瞳孔中心点坐标(x,y)确定所述映射模型的参数a、b、c、d、e、f、g、h、k、l、m及n,以完成所述映射模型的建立。
具体地,屏幕中依次出现的K个点的坐标记录为 X=(X1,X2,X3…Xk),Y=(Y1,Y2,Y3…Yk),对应的瞳孔中心坐标为 x=(x1,x2,x3…xk),y=(y1,y2,y3…yk),模型的建立则可以用下面的矩阵表达:
f(x,y)表示x和y的一种关系,代表着映射关系函数F绝非简单的一次线性关系,M表示瞳孔中心位置和屏幕坐标之间的映射参数。
本发明建立的模型如下:
将该模型使用矩阵形式表达为:
在本模型中,取K=6时,X,Y对应有6个屏幕坐标,瞳孔相应也有 6个对应中心坐标,X=|X1,X2,X3,X4,X5,X6|,Y=|Y1,Y2,Y3,Y4,Y5,Y6|,同理, x=|x1,x2,x3,x4,x5,x6|,y=|y1,y2,y3,y4,y5,y6|,那么上面的矩阵可以进一步改写为:
通过方程组求出a、b、c、d、e、f、g、h、k、l、m及n,进而得到所述映射模型。
综上,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制,本发明的保护范围应以所附的权利要求为准。