一种高鲁棒的实时视线检测方法与流程

文档序号:14911769发布日期:2018-07-10 23:36阅读:138来源:国知局

本发明涉及模式识别、图像处理和人机交互领域,特别是涉及一种高鲁棒的实时视线检测方法。



背景技术:

视线检测是一种人机交互技术,它可以帮助计算机实现和人类用户之间方便且高效的交互。人机交互一直以来都是计算机领域关注的焦点,好的人机交互技术将极大地提升电子产品的用户体验,提高产品优势。并且,随着人机交互技术的发展,生活将变得更加智能和自动化,工作将变得更加高效和便捷。目前,它被广泛地应用于虚拟现实、增强现实以及网上购物和广告等方面。一种精确、实时的视线检测技术将大大降低这些应用的门槛,为实现更好的人机交互体验提供了保障。

目前,视线检测技术主要分为两种:基于传感器的方法和基于计算机视觉的方法。其中,基于传感器的方法会与人体产生物理接触,比如在眼部贴上电极检测眼球转动时产生的电信号。相比于基于传感器的方法,基于计算机视觉的方法不需要直接接触人体,对使用者更加友好且便捷。

对于基于计算机视觉的方法,当前普遍使用红外设备来辅助进行图像的采样,这样得到的图像经过处理可以获得较高精度的检测结果。然而,这类方法需要昂贵的红外设备,并且其检测效果会受到环境光照的影响。并且,该方法对于佩戴眼镜的人检测效果也不理想,因为镜片会产生反射影响检测。除红外设备辅助的方法外,还有的使用复杂的成像设备来采样图像,例如使用多角度摄像机、高清摄像机、深度摄像机等。然而,这类方法需要配备特定的成像设备,在现实生活中也难以广泛应用。

综上可知,若要将视线检测广泛应用到生活中,必须满足以下的条件:(1)检测时无需直接接触人体;(2)检测可以使用任意图像采集设备,包括低成本的手机前置摄像头;(3)高精度的实时视线检测算法。

因此,本发明提出了一种仅采用单个低成本摄像头的、基于回归的、精确的实时视线检测系统的解决方案,并且可以投入日常生活的实际应用。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种可以适用于低分辨率图像中视线检测的,并且具有高精度的方法。

为了实现上述目的,本发明采用以下技术方案:

一种高鲁棒的实时视线检测方法包括以下步骤:

1)由人脸特征点检测算法检测出图像中的人脸的68个特征点;

2)检测出人脸特征点后,利用双圆活动模型求得虹膜中心位置;

3)检测出人脸特征点后,利用取平均位置的方式获得参考点位置,并和虹膜中心位置结合计算得到“眼向量”;

4)求得头部姿态的估计;

5)利用回归算法求得与“眼向量”和头部姿态相关的映射函数,用该映射函数求得左右眼的视线位置;

6)将左右眼的视线位置进行加权求和,得到最终的视线位置。

优选的,所述的利用双圆活动模型求得虹膜中心位置的步骤之前还包括预处理步骤,所述的预处理步骤具体为:

1)利用68个特征点中在眼睛附近的12个特征点提取出眼睛区域;

2)对眼睛区域图像进行腐蚀处理,滤除噪声。

优选的,所述的双圆活动模型的外圆和内圆的半径大小为眼睛区域的宽度乘以一个设定的比例系数得到,使得虹膜的边缘能够位于内圆外圆之间,且内圆直径为眼睛区域宽度的0.25倍,外圆直径为内圆直径的1.44倍。

优选的,所述的利用双圆活动模型求得虹膜中心位置的过程中,在从左到右移动粗略估计好虹膜位置后,在该位置的上下左右-5~+5像素范围内进行移动,选择差值最大的位置作为最终的虹膜中心位置。

优选的,所述的利用取平均位置的方式获得参考点位置,具体为:从68个特征点中选取面部轮廓的36个特征点,将这些特征点的横纵坐标值求平均,即得到一个稳定的参考点。

优选的,所述的求得头部姿态的估计的方法为:从68个特征点中选取左右眼角点、左右嘴角点、鼻尖和下巴,得到6个特征点的位置,再由OpenCV库提供的迭代算法得到头部姿态。

优选的,所述步骤5)中的映射函数表示为一个n阶多项式函数,其形式如下:

其中,gh和gv分别表示视线位置的横坐标和纵坐标;eh和ev分别表示“眼向量”的横坐标和纵坐标;hp,hy和hr分别表示头部姿态的俯仰角,偏航角和翻滚角;而ak和bk则代表函数式中k阶项的系数,也即映射函数的固定参数。

优选的,所述步骤6)具体为:

求得的左右眼的视线坐标,通过加权求和得到最终的坐标,具体形式如下:

gfh=w*glh+(1-w)*grh,w∈[0,1]

gfv=w*glv+(1-w)*grv,w∈[0,1]

其中,w是权重系数;glh和grh分别是左眼和右眼的视线横坐标;glv和grv分别是左眼和右眼的视线纵坐标,gfh和gfv分别表示最终视线位置的横坐标和纵坐标。

本发明的高鲁棒的实时视线检测方法的优点是:

1.该方法的计算成本低,根据实际使用的表现,可以在主频3GHz的CPU处理器上达到每秒50帧左右的检测速度并且无需其他专用设备,因此该方法的硬件要求不高且具有实时性。

2.该方法的鲁棒性高,根据实际使用的表现,对于低分辨率图像也能准确检测到视线位置,除此之外受光照的影响也比较小,故对于很多不同场景都具有普适性。

3.该方法利用双圆活动模型进行虹膜中心检测的过程中,先对双圆活动模型根据实际中人眼和虹膜的大小比例进行了初始化,大大减少了模型移动的范围,从而减少了迭代计算的次数。

4.该方法利用双圆活动模型进行虹膜中心检测的过程中,分为粗略检测阶段和精确定位阶段进行,在粗略检测到虹膜中心位置后又让双圆活动模型在粗略位置周围-5~+5像素范围内精确计算最终位置,大大提高了虹膜中心位置检测的精度,从而提高了整体视线检测的效果。

5.该方法计算最终视线位置的过程中,同时利用了基于虹膜中心和参考点位置得到的“眼向量”以及基于迭代算法得到的头部姿态,综合两者的检测结果进行映射来计算视线位置,大大提高了该方法的准确性和鲁棒性。

6.该方法计算最终视线位置的过程中,利用加权求和的方法综合了左眼和右眼的检测结果,大大提高了该方法的准确性和鲁棒性。

附图说明

图1是本视线检测系统的算法总体流程图。

图2是人脸68个特征点位置的示意图;

图3是人脸68个特征点标号的示意图;

具体实施方式

下面结合技术方案和附图对本发明进一步说明。

如图1所示,本发明的一种高鲁棒的实时视线检测方法包括以下步骤:

1)由人脸特征点检测算法检测出图像中的人脸的68个特征点,如图2所示;

2)检测出人脸特征点后,利用双圆活动模型求得虹膜中心位置;

3)检测出人脸特征点后,利用取平均位置的方式获得参考点位置,并和虹膜中心位置结合计算得到“眼向量”;

4)求得头部姿态的估计;

5)利用回归算法求得与“眼向量”和头部姿态相关的映射函数,用该映射函数求得左右眼的视线位置;所述步骤5)中的映射函数表示为一个n阶多项式函数,其形式如下:

其中,gh和gv分别表示视线位置的横坐标和纵坐标;eh和ev分别表示“眼向量”的横坐标和纵坐标;hp,hy和hr分别表示头部姿态的俯仰角,偏航角和翻滚角;而ak和bk则代表函数式中k阶项的系数,也即映射函数的固定参数。

6)将左右眼的视线位置进行加权求和,得到最终的视线位置,具体为:

求得的左右眼的视线坐标,通过加权求和得到最终的坐标,具体形式如下:

gfh=w*glh+(1-w)*grh,w∈[0,1]

gfv=w*glv+(1-w)*grv,w∈[0,1]

其中,w是权重系数;glh和grh分别是左眼和右眼的视线横坐标;glv和grv分别是左眼和右眼的视线纵坐标,gfh和gfv分别表示最终视线位置的横坐标和纵坐标。

在本实施例中,所述的利用双圆活动模型求得虹膜中心位置的步骤之前还包括预处理步骤,所述的预处理步骤具体为:

1)利用68个特征点中在眼睛附近的12个特征点(图3中的37~48号点)提取出眼睛区域;

2)对眼睛区域图像进行腐蚀处理,滤除噪声。

在本发明的一个优选实施例中,所述的双圆活动模型的外圆和内圆的半径大小为眼睛区域的宽度乘以一个设定的比例系数得到,使得虹膜的边缘能够位于内圆外圆之间,且内圆直径为眼睛区域宽度的0.25倍,外圆直径为内圆直径的1.44倍。

在本发明的一个优选实施例中,所述的利用双圆活动模型求得虹膜中心位置的过程中,在从左到右移动粗略估计好虹膜位置后,在该位置的上下左右-5~+5像素范围内进行移动,选择差值最大的位置作为最终的虹膜中心位置。

在本发明的一个优选实施例中,所述的利用取平均位置的方式获得参考点位置,具体为:从68个特征点中选取面部轮廓的36个特征点(图3中的1~36号点),将这些特征点的横纵坐标值求平均,即得到一个稳定的参考点。

在本发明的一个优选实施例中,所述的求得头部姿态的估计的方法为:从68个特征点中选取左右眼角点、左右嘴角点、鼻尖和下巴,得到6个特征点的位置,再由OpenCV库提供的迭代算法得到头部姿态。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1