本发明涉及人机交互的注视点估计领域,具体涉及基于量化最小残差熵准则的人眼注视点估计方法。
背景技术
随着时代的发展,人眼注视点估计技术在实际生活中得到广泛的应用,它已经成为很多领域的重要研究对象。目前人眼注视点技术在各种各样的学科中都得到了广泛的应用,包括认知科学、心理学(特别是心理语言学、视觉世界的范式、人机交互(human–computerinteraction,hci)、市场研究和医学研究(神经诊断)等等。
尽管人眼注视点估计技术已经得到广泛应用,但仍然面临着诸多问题。如:估计精度仍有待提高,对场景依赖性强,估计速度也相对较慢等等。所以进一步提高估计算法的速度仍是研究者们非常感兴趣的问题之一。
技术实现要素:
本发明的目的是进一步提高人眼注视点估计技术的速度,提供了一种基于量化最小残差熵准则的人眼注视点估计方法,该方法能在保证估计精度的同时,大幅提高估计算法的实时性。
为了达到上述目的,本发明采用如下技术方案:
一种基于量化最小残差熵准则的人眼注视点估计方法,该方法只需要一个普通摄像头以及在屏幕上均匀标定少量的点,具体步骤如下:
步骤1:人脸图像提取:采用基于adaboost算法的人脸检测方法对人脸图像进行检测及提取,得到人脸图像;
步骤2:人眼图像精确提取及对齐:在经过步骤1对人脸图像进行提取后,采用亚像素级别边缘检测及仿射变换对人眼进行精确提取和对齐;具体方法为:
首先采用基于haar-like特征的viola-jones人眼检测算法从由步骤1得到的人脸图像中完成人眼图像的粗提取;
其次利用基于log算子的边缘检测得到人眼精确轮廓并提取;
最后对得到的人眼精确轮廓图像进行对齐操作,对齐操作主要是对所得人眼精确轮廓图像进行如下仿射变换:
在上述公式中,(x0,y0)为变换前的像素点位置,(x,y)为仿射变换后对应像素点的坐标,θ为旋转角度;
步骤3:人眼特征提取及降维:在经过步骤2对人眼图像精确提取及对齐后,采用hog特征提取算法对所得图像进行特征提取,再利用kl散度算法对人眼图像的hog特征进行降维操作,使得人眼特征空间降维后与注视点空间更加相似。为了更好学习度量测速,采用欧氏距离表示空间的距离测度关系,即:d(i,j)=||i-j||2;具体方法为:
假设对于训练样本集,定义训练样本之间的条件分布如下:
上式中d(i,j)=||i-j||2表示空间位置(i.j)之间的距离测度关系,d(i,k)表示(i.k)之间的距离测度关系,k表示不同样本的编号;
假设ψ,ω,г分别代表人眼特征空间,注视点空间以及人眼特征投影空间,人眼特征投影空间和注视点空间的条件分布如下:
上式中dг(i,j)和dψ(i,j)分别表示人眼特征投影空间和注视点空间的距离测速关系;
对于人眼特征投影空间条件分布pг(j|i)和注视点空间条件分布pψ(j|i),通过最小化kl散度kl(pψ(j|i)|pг(j|i))求解转换矩阵:
s.t.a∈psd
其中:
求解得到矩阵a,通过a=ctc求解,得到投影矩阵c,从而实现对人眼图像的特征降维;
步骤4:人眼注视点位置估计:首先对训练集进行标定,得到对应注视点的坐标,然后在测试过程中利用训练集中的训练人眼特征对测试人眼特征进行重构,从而得到测试人眼特征和训练人眼特征之间的权重关系,最后运用权值共享由训练集中注视点位置信息对测试者注视点位置进行估算;具体方法为:
首先对训练集进行标定,标定过程中保持头部姿态静止,测试者注释屏幕上的标定点,并随标定点的改变而改变;
假设标定点坐标信息为x={x1,x2,…,xn},步骤3中得到的人眼特征向量的训练集为e={e1,e2,…,en}∈rm×n,m表示人眼特征的维数,n表示样本个数,rm×n为m×n维向量的集合;假设测试人眼特征为é,则运用量化最小残差熵准则对测试人眼特征é重构过程如下:
式中:e为训练人眼特征集,cm为测试人眼特征éi量化后的值,mm表示量化到cm的éi的个数,d∈rn×1表示测试人眼特征é与第i个训练人眼特征向量之间的距离,
得到权重关系w后,测试样本的注视点位置
从而求出测试者注视点的位置坐标。
本发明的有益效果如下:
本发明对硬件要求低,只使用到了单个摄像头,而无任何其他辅助设备;由于增强了基于量化最小残差熵算法的局部性,本发明通过简单的标定环节,即可达到保证高精度的同时增强算法的实时性;由于运用kl散度对人眼特征空间进行投影变换,保证了人眼特征空间与住注视点空间结构的相似性,从而极大地提高了估计精度。
附图说明
图1为本发明估计算法的流程图。
图2为人眼精确提取过程。
图3(a)为人眼特征空间示意图。
图3(b)为注视点空间示意图。
图3(c)为投影后的空间示意图。
图4为不同标定点模式标定点分布情况。
图5为不同训练样本集时标定点分布情况示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
本发明的具体实施的流程图如图1所示,包含步骤如下:
步骤1:人脸图像提取;
步骤2:人眼图像精确提取及对齐;
步骤3:人眼特征提取及降维;
步骤4:人眼注视点位置估计。
步骤1的具体实现步骤为:
采用基于adaboost算法对采集图像进行人脸定位,然后对人脸图像进行提取,为后续处理提供基础。
步骤2的具体实现步骤为:
在经过步骤1对人脸图像进行提取后,采用亚像素级别边缘检测及仿射变换对人眼进行精确提取及对齐。具体方法为:
首先采用基于haar-like特征的viola-jones人眼检测算法从由步骤1得到的人脸图像中完成人眼图像的粗提取;
其次利用基于log算子的边缘检测得到人眼精确轮廓并提取;
最后对得到的人眼精确轮廓图像进行对齐操作。对齐操作主要是对所得人眼精确轮廓图像进行如下仿射变换:
在上述公式中,(x0,y0)为变换前的像素点位置,(x,y)为仿射变换后对应像素点的坐标,θ为旋转角度。
处理后得到人眼精确提取图像,过程如图2所示。
步骤3的具体实现步骤为:
在经过步骤2对人眼图像精确提取及对齐后,采用hog特征提取算法对所得图像进行特征提取,再利用kl散度算法对人眼图像的hog特征进行降维操作,使得人眼特征空间降维后与注视点空间更加相似。假设ψ,ω,г分别代表人眼特征空间,注视点空间以及人眼特征投影空间。为了更好学习度量测速,采用欧氏距离表示空间的距离测度关系,即:d(i,j)=||i-j||2。人眼特征投影空间衡量准则与注视点空间准则相似,即:d(cei,cej)≈d(xi,xj),其中c为人眼特征空间转换矩阵。则人眼特征空间、特征投影空间和注视点空间三个空间的距离测度分别表示如下:
dψ(i,j)=(ei-ej)t(ei-ej)
dγ(i,j)=(cei-cej)t(cei-cej)
dω(i,j)=(xi-xj)t(xi-xj)
上述特征投影空间距离测度可转换成如下表达式:
其中a是半正定矩阵(psd)。
假设对于训练样本集,定义训练样本之间的条件分布如下:
上式中d(i,j)=||i-j||2表示空间位置(i.j)之间的距离测度关系,d(i,k)表示(i.k)之间的距离测度关系,k表示不同样本的编号。
人眼特征投影空间和注视点空间的条件分布如下:
上式中dг(i,j)和dψ(i,j)分别表示人眼特征投影空间和注视点空间的距离测速关系。
对于人眼特征投影空间条件分布pг(j|i)和注视点空间条件分布pψ(j|i),通过最小化kl散度kl(pψ(j|i)|pг(j|i))求解转换矩阵:
s.t.a∈psd
其中:
上述目标函数为凸函数,存在最小值,求解过程使用交互迭代法,主要通过对主函数进行梯度下降法和投影到psd锥。目标函数的梯度函数如下所示:
对于第t次迭代,通过步长ζ调节变化,操作如下:
为了确保a为半正定矩阵,将a矩阵投影到psd锥。操作如下:
其中λk为矩阵a的特征值,uk为λk对应的特征向量。对负特征值进行消除操作:
从而利用交互迭代法对上述过程进行梯度操作和投影操作直至矩阵a收敛为止。结果如图3中图3(a)、图3(b)和图3(c)所示。
通过a=ctc求解,得到投影矩阵c,从而实现对人眼图像的特征降维。
步骤4的具体实现步骤:
首先对训练集进行标定,得到对应注视点的坐标,然后在测试过程中利用训练集中的训练人眼特征对测试人眼特征进行重构,从而得到测试人眼特征和训练人眼特征之间的权重关系,最后运用权值共享由训练集中注视点位置信息对测试者注视点位置进行估算。
1.标定过程
设计不同的标定点个数验证标定点个数对注视点估计结果的影响,标定点个数分别为9,16,25,36个,如图4所示。在标定过程中保持头部姿态静止,测试者注释屏幕上的标定点,并随标定点的改变而改变,记录标定点位置坐标信息。
2.测试人眼特征重构
假设标定点坐标信息为x={x1,x2,…,xn},步骤3中得到的人眼特征向量的训练集为e={e1,e2,…,en}∈rm×n,m表示人眼特征的维数,n表示样本个数,rm×n为m×n维向量的集合。假设测试人眼特征为é,则运用量化最小残差熵准则对测试人眼特征é重构过程如下:
式中:e为训练人眼特征集,cm为测试人眼特征éi量化后的值,即cm=q[éi],mm表示量化到cm的éi的个数,d∈rn×1表示测试人眼特征é与第i个训练人眼特征向量之间的距离,
根据共轭凸理论,存在以下命题:根据函数
s.t.p∈r
将上式代入目标函数中,可得增强函数如下:
其中p=(p1,p2,…,pn)是辅助变量。使用交互迭代法求解上式:
首先,cm=q[éi],mm表示量化到cm的éi的个数,m表示量化后的求和项数,可由算法求得已知。
然后:
上式可写成如下形式:
式中:
对上式求导,得:
则:
3.注视点位置估计,
得到测试人眼特征与训练样本之间的权重关系w后,测试样本的注视点位置
从而求出测试者注视点的位置坐标,如图5所示。