1.一种瞳孔-普尔钦斑视线跟踪与注视提取方法,其特征在于,包括以下步骤:
(1)眼部图像获取与阈值处理:通过基与Haar-Ababoost的面部识别、ASM识别以及Haar眼部区域识别技术,可以实现眼部区域特征的识别与跟踪,并将眼部区域的图像从宽视野摄像机拍摄图像中截取出来;获取眼球区域图像后,瞳孔和普尔钦斑在图像中的灰度值处于一个特定的位置,瞳孔比背景区域颜色更黑,而普尔钦斑更亮,为了能够突出瞳孔以及普尔钦斑,通过阈值法进行二值化处理,阈值法是通过设置阈值决定每个像素的值,如式1,p(x,y)为二值图像像素值,f(x,y)为原图像灰度值,Threshold为阈值,对于8位图来说二值化只有两个像素值0和255;
在合理的阈值下,瞳孔区域会与背景完全脱离开,在另一组阈值下,普尔钦斑也会与背景分离,经过阈值处理后,眼部区域图像普尔钦斑以及瞳孔的特征更为简单,可以很方便地对瞳孔进行圆拟合处理获取中心点;阈值处理需要每次使用时根据光照情况进行调试;
(2)瞳孔中心与普尔钦斑识别:
(2.1)瞳孔中心定位
获得瞳孔图像后,需要找到瞳孔的中心位置,瞳孔中心是瞳孔的圆心;课题采用霍夫变换(Hough)检测圆,从而获得瞳孔的圆心;
在极坐标中,圆上任意一点的坐标如式2所示表示,其中r为半径,x、y为圆心坐标;当圆半径已知,圆心已知,像素点坐标P(X,Y)绕圆心旋转360度后坐标值依然不变;
X=x+rcosθ
Y=y+rsinθ (式2)
霍夫变换就是利用这个重要性质,首先对图像进行边缘检测获取边缘像素,然后给定一个半径,按照这个半径绘制一个圆,中间圆代表待检测圆,蓝色圆为以红圆边缘像素为圆心,以给定一个值为半径绘制的一系列圆,若这个圆半径极其接近或者等于待检测圆半径,蓝色的一系列圆会在待检测圆圆心附近汇聚;
若蓝圆像素值为一个权重值,那么权重图像则为以每个边缘像素为圆心以r半径绘圆,对其圆轮廓像素像素值累加权重值γ,非轮廓像素则加0;设图像为m×n的一个矩阵;则权重图的像素值fλ(x,y)为(式3):其中C(xi,yj,r,x,y)为圆搜索函数,原型如式4所示,其含义为图像中坐标(x,y),是否在以圆边缘像素(xi,yj)为圆心,半径为r的圆上;
(2.2)Blob普尔钦斑识别:
普尔钦斑是红外光源在角膜上反射的亮斑,其灰度值在图像中非常大,通过阈值后会在图像中显示为亮斑;不同于瞳孔,由于亮斑区面积非常小,不需要进行圆拟合获得其中心,只需要进行斑点识别然后获得斑点的重心即可;
采用Blob算法实现斑点识别;算法首先对原图像进行高斯模糊和拉普拉斯处理,这里利用LOG算子模板对图像卷积实现(式5),处理后的图像斑点区域灰度值会比较高;将这些高灰度值区域进行连通计算可以获得连通区域的半径和中心;
由于普尔钦斑图像已经经过了阈值处理,可以很容易识别出四个亮斑,每个斑点数据包含中心点和斑点半径信息;虽然通过阈值处理和半径范围设定能够将图像中的干扰亮斑过滤点,但是也有一定概率出现一些与普尔钦斑亮度半径相似的反光点被算法误识别,不过这些噪声斑点远离瞳孔区域;因此将识别出的斑点与瞳孔距离进行比较,过滤掉远离瞳孔区域的点即可;
(3)基于透视法的视线估计
本课题改进了光源系统,使用四个光源系统,该系统中四个红外光源分别置于屏幕四个角,在眼球形成的普尔钦斑图像连起来为一个四边形;单光源系统中,只有一个普尔钦斑作为参考点,当注视点不变,头部来回运动就会引起瞳孔-普尔钦斑相对位置变化,而注视估计主要依据相对位置,因此系统就会失准,所以单光源系统要求使用者头部位置固定在系统标定时的位置;四光源系统中,存在四个普尔钦斑参考点,头部运动的同时,四个参考点围成的四边形的形状尺寸也会发生变化,这种变化可以测量,因此可以通过普尔钦斑四边形尺寸形状变化来消除头部运动的影响;
在四光源系统中,无论头部如何,普尔钦斑与瞳孔几何数据之间的比值是不变的,根据比值通过缩放将瞳孔与普尔钦斑坐标转换到瞳孔-普尔钦斑相对坐标系中,在该坐标系中排除了头部运动影响,只考虑瞳孔与普尔钦斑相对位置变化;
(3.1)四光源普尔钦斑成像原理
普尔钦斑是红外光源照射到眼角膜从角膜外表面反射回来的光斑;眼角膜近似于曲率半径为7.8mm的单球体,光源是一个范围光,当某一条光路的光子照射到角膜表面,通过反射进入摄像机,就会在图像上留下光斑,因此光斑位置由光源、眼球、摄像机三者之间关系决定;
(3.2)四光源普尔钦斑视线估计
1)数据预处理
设四光源在屏幕中位置分别对应四个点左上角p1(u1,v1)、左下角p2(u2,v2)、右上角p3(u3,v3)、右下角p4(u4,v4)、瞳孔中心坐标为pq(uq,vq),半径为r;宽视野图像中,眼球位置变化会引起四光源普尔钦斑四边形变化,其中有两个类型的变化:尺寸变化和形状变化;
设lij为眼球图像中pipj两点之间的像素长度;则尺寸系数Cs如(式6),为1分之根号下普尔钦斑四边形面积;普尔钦斑坐标和瞳孔中心坐标乘以尺寸系数后,将瞳孔坐标与普尔钦斑坐标进行尺寸缩放,缩放后的坐标为瞳孔普尔钦斑与普尔钦斑点阵四边形相对坐标,消除了用户远离或者靠近摄像机引起的普尔钦斑点阵尺度变化影响;最后以一个普尔钦斑点为参考原点平移坐标系,课题将左小角点为参考原点,获得瞳孔中心的相对坐标Pq(xq,yq);
如上所述,随着头部运动,普尔钦斑点阵四边形形状会有不同的变化;四边形的形状变化用两组对边之间夹角表示;设Lij为pipj两点之间的直线,则L12与L34为一组,夹角为θa;L13与L24为一组,夹角为θb,则如式7所示,θb也同理可得:预处理后的数据构成一个状态向量Teye,如式8;视线估计则基于该向量为数据基础,通过系统标定以及机器学习实现视线的估计;
Teye=[xq,yq,r,Cs,θa,θb] (式8)
2)非线性多项式直接拟合
如果为穿戴式设备或者使用窄视野的固定摄像机摄像机,头部位置相对固定,此时对四光源系统可以忽略头部运动的影响;直接使用瞳孔中心相对位置坐标Pq(xq,yq)进行视线估计;设靶屏幕坐标St(U,V),提取靶平面坐标,其视线估计可以用多项式来拟合视线,如式
9所示:
其中通过系统标定来确定多项式中a,b,c,d,e,f,g,h的参数值;系统标定通过使用者注视靶平面采样,然后解求估计出这8个参数的值,使用者根据系统提示注视靶平面对应的点并采集原始的瞳孔中心相对坐标数据,采集多组数据后则可以直接解出视线估计多项式;
设采样数据为Si(Ui,Vi,xi,yi),其中:UV为靶平面点归一化坐标,也就是说屏幕一个1×
1的平面,定义靶平面中心点的靶平面坐标为(0.5,0.5);xy是注视对应靶平面点时的瞳孔中心相对位置坐标;根据靶平面图示,在图中采样7个点,分别为左上S1,左下S2,右上S3,右下S4,中上S5,中下S6,中心Sc;
首先对瞳孔中心相对坐标根据靶平面坐标中心点样本进行坐标系变换,当注视靶平面中点时,定义此时的瞳孔中心相对坐标为(0,0);如式10,之后对于测量出来的所有瞳孔中心相对坐标进行同样变换;
根据拟合多项式可知进行如下变换后d和h两参数均为0.5,这样通过三个定标点即可求出其他6个参数的值;设以S5,S2,S4为一组;则有式11和式12,根据两个方程组分别求解最终求得参数的值;
根据该多项式进行视线估计并通过实验记录数据,可获得视线注视统计数据,其中使用者分别注视屏幕的左上角,中点和右下角。