一种基于头部姿态的眼睛注视视角测定方法转让专利

申请号 : CN201610885089.3

文献号 : CN106529409B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 詹宜巨吕律蔡庆玲唐承佩

申请人 : 中山大学

摘要 :

本发明公开了一种基于头部姿态的眼睛注视视角测定方法,其不需添加LED光源,仅采用一个摄像头、一个点激光器和布置在竖向实体标定平面上的标定点,即可完成训练过程,获得脸部模型数据库、三维头部姿态数据库和回归模型,再采用同一个摄像头获得用户在当前时刻的脸部图像,采用训练过程得到的数据通过实时测定过程,即可实时计算出用户的眼睛在当前时刻的眼睛注视视角,因此,本发明能够实现对用户眼睛注视视角进行测定,其对硬件的依赖小,能够有效的扩展眼睛注视视角测定的应用范围。

权利要求 :

1.一种基于头部姿态的眼睛注视视角测定方法,包含训练过程和实时测定过程;

所述的训练过程,包括:

步骤1-1、原始数据获取步骤,包括:

步骤1-1-1,在用户的头上佩戴一个朝向所述用户前方的点激光器(Laser),并在所述用户的前方安放一个摄像头、在所述用户前方的竖向实体标定平面(W)上设置多个标定点(Point),其中,所述用户的头部(Head)完全落在所述摄像头的拍摄范围之内,所述用户所在位置距离所述竖向实体标定平面(W)的距离、每一个所述标定点(Point)与用户的相对位置以及由所述距离和相对位置决定的用户二维头部姿态均为已知的预设值,该预设的二维头部姿态记为训练用二维头部姿态,所述训练用二维头部姿态以欧拉角表示,包括所述用户头部绕一个三维直角坐标系Y轴转动的Yaw旋转角和绕所述三维直角坐标系Z轴转动的Pitch旋转角,并且,所述用户头部绕所述三维直角坐标系X轴转动的欧拉角为Roll旋转角;

步骤1-1-2,令所述用户在所述所在位置通过转动头部,使得所述点激光器(Laser)所发出的激光点分别落在所述各个标定点(Point)上,以用所述摄像头拍摄所述激光点落在每一个所述标定点(Point)时所述用户的脸部图像,并记为训练用脸部图像,其中,所述各个标定点(Point)中包含有正中标定点,当所述激光点落在正中标定点上时,所述激光器(Laser)的指向垂直于所述竖向实体标定平面(W),即所述用户头部的Yaw旋转角和Pitch旋转角均为0,将所述摄像头在所述激光点落在正中标定点上时拍摄到的训练用脸部图像记为正中训练用脸部图像;

步骤1-2、将每一幅所述训练用脸部图像作为受处理脸部图像按以下步骤1-2-1至步骤

1-2-5的方法进行处理,得到所述各幅训练用脸部图像的二维脸部特征,并保存在脸部模型数据库中,其中,所述二维脸部特征包含二维脸部特征像素点、眼部特征像素点、角膜缘特征像素点和瞳孔中心特征像素点;

步骤1-2-1、对受处理脸部图像中的人脸进行定位;

步骤1-2-2、用主动形状模型基于其默认的参数对所述受处理脸部图像中被定位出的人脸进行处理,得到所述受处理脸部图像中人脸的二维脸部特征像素点的坐标;

步骤1-2-3、从所述受处理脸部图像的二维脸部特征像素点中提取出包围所述用户双眼眼部的特征像素点,记为眼部特征像素点,其中,所述用户的每一只眼睛对应有六个所述眼部特征像素点,位于中间位置的四个所述眼部特征像素点根据相互之间的相对位置分别记为左上方特征像素点、右上方特征像素点、右下方特征像素点和左下方特征像素点,其余两个所述眼部特征像素点根据相对位置分别记为内眼角特征像素点和外眼角特征像素点;

步骤1-2-4、对所述受处理脸部图像位于所述用户每一只眼睛所对应眼部特征像素点围成区域内的图像区域进行处理,分别定位出所述受处理脸部图像中位于所述用户双眼角膜缘上的特征像素点,记为角膜缘特征像素点;

步骤1-2-5、对所述受处理脸部图像的用户每一只眼睛对应的角膜缘特征像素点进行曲线拟合,得到所述受处理脸部图像中用户每一只眼睛对应的角膜缘曲线及该角膜缘曲线的中心像素点,将所述角膜缘曲线的中心像素点记为瞳孔中心特征像素点;

步骤1-3、回归模型建立步骤,包括:

步骤1-3-1、用所述主动形状模型基于所述脸部模型数据库计算每一所述训练用二维头部姿态所对应的用户头部的Roll旋转角,将所述训练用二维头部姿态及其对应的Roll旋转角记为训练用三维头部姿态,保存在三维头部姿态数据库中;并且,所述主动形状模型在训练过程即计算所述各个二维头部姿态所对应Roll旋转角的过程中自动对其默认的参数进行更新,使得主动形状模型的默认参数向适配于所述摄像头的参数变化,将所述主动形状模型完成所述训练过程后更新得到的参数记为适配参数;其中,在所述训练过程中计算得到的所述正中训练用脸部图像与用户本人的缩放比例记为s';

步骤1-3-2、将每一个所述训练用三维头部姿态及其对应的二维脸部特征作为输入,建立三维头部姿态与二维脸部特征的回归模型,并保存在所述三维头部姿态数据库中;

所述的实时测定过程,包括:

步骤2-1、用所述摄像头拍摄所述用户在当前时刻的脸部图像,并记为测定用脸部图像,其中,所述用户位于其头部(Head)能够完全落在所述摄像头拍摄范围之内的任意位置;

步骤2-2、将所述测定用脸部图像作为受处理脸部图像按所述步骤1-2-1至步骤1-2-5的方法进行处理,并且,按所述步骤1-2-2的方法进行处理时,所述主动形状模型基于所述步骤1-3-1得到的适配参数对受处理脸部图像即所述测定用脸部图像中被定位出的人脸进行处理,得到所述测定用脸部图像的二维脸部特征、所述测定用脸部图像中人脸所对应的三维脸部特征点的坐标和测定用脸部图像与用户本人的缩放比例s,其中,所述二维脸部特征包含二维脸部特征像素点、眼部特征像素点、角膜缘特征像素点和瞳孔中心特征像素点;

步骤2-4、将所述测定用脸部图像的二维脸部特征作为步骤1-3-2所建立回归模型的输入,计算出所述测定用脸部图像的三维头部姿态,即所述用户在拍摄该测定用脸部图像时的欧拉角,包括Yaw旋转角、Pitch旋转角和Roll旋转角,记为三维头部姿态欧拉角(φRoll,φYaw,φPitch);

步骤2-5、用户的眼睛注视视角实时计算步骤,包括:

步骤2-5-1、建立眼部模型,即:将所述用户的一只真实眼球视为一个球体,并将所述真实眼球按照所述步骤2-2得到的缩放比例s进行缩放后得到的球体记为图像眼球,其中,所述真实眼球的半径预设为R0、眼球中心至外眼角特征点与内眼角特征点所在直线的距离预设为L0,所述图像眼球的球心记为o;并且,将所述步骤2-2得到的三维脸部特征点中对应所述图像眼球的外眼角特征点、内眼角特征点和瞳孔中心特征点依次记为e1、e2和p,将所述外眼角特征点e1与内眼角特征点e2的中点记为m,所述球心o在所述外眼角特征点e1与内眼角特征点e2的连线上的垂足记为n;所述球心o与瞳孔中心特征点p之间的距离即为所述图像眼球的半径R,所述球心o到所述垂足n的方向即为所述用户在拍摄所述测定用脸部图像时的头部姿态方向V1,该头部姿态方向V1用欧拉角表示即为所述步骤2-4得到的三维头部姿态欧拉角(φRoll,φYaw,φPitch),所述球心o到所述瞳孔中心特征点p的方向即为所述用户在拍摄所述测定用脸部图像时的眼睛注视方向V2,该眼睛注视方向V2用欧拉角表示即为所述用户的眼睛注视视角,记为(ωRoll,ωYaw,ωPitch);

步骤2-5-2、以所述测定用脸部图像的二维脸部特征、三维脸部特征点的坐标和三维头部姿态作为所述眼部模型的输入,按以下公式七至公式十一计算出所述用户在当前时刻即拍摄所述测定用脸部图像时的眼睛注视视角(ωRoll,ωYaw,ωPitch):式中,L为所述球心o与垂足n之间的距离,T为所述中点m与垂足n之间的距离,s'为所述正中训练用脸部图像与用户本人的缩放比例,(px,py,pz)、(e1x,e1y,e1z)和(e2x,e2y,e2z)依次为所述步骤2-2得到的三维脸部特征点中对应所述图像眼球的瞳孔中心特征点p、外眼角特征点e1和内眼角特征点e2的坐标,(mx,my,mz)为所述中点m的坐标,(ox,oy,oz)为所述球心o的坐标。

2.根据权利要求1所述的眼睛注视视角测定方法,其特征在于:所述的步骤1-1还包括步骤1-1-3,所述的训练过程还包括步骤1-4,所述的实时测定过程还包括步骤2-3,所述步骤2-2执行完成后先进入所述步骤2-3;

步骤1-1-3,在所述激光点落在所述各个标定点(Point)中的至少一个上时,用所述摄像头连续拍摄所述用户的一组训练用脸部图像,并令所述用户在该连续拍摄过程中眨眼,从每一组所述摄像头连续拍摄到的训练用脸部图像中选取出所述用户眨眼开始时刻的图像作为对应相应标定点(Point)的眨眼脸部图像;

步骤1-4、计算所述步骤1-1-3获得的每一幅眨眼脸部图像中用户右眼的左上方特征像素点与左下方特征像素点之间的距离、用户右眼的右上方特征像素点与右下方特征像素点之间的距离、用户左眼的左上方特征像素点与左下方特征像素点之间的距离、用户左眼的右上方特征像素点与右下方特征像素点之间的距离,计算该四个距离的平均值作为相应眨眼脸部图像所对应的眨眼距离,将所述步骤1-1-3获得的所有眨眼脸部图像的眨眼距离平均值记录为眨眼临界距离步骤2-3、判断所述测定用脸部图像中的用户是否眨眼的步骤,包括:计算所述测定用脸部图像中用户右眼的左上方特征像素点与左下方特征像素点之间的距离、用户右眼的右上方特征像素点与右下方特征像素点之间的距离、用户左眼的左上方特征像素点与左下方特征像素点之间的距离、用户左眼的右上方特征像素点与右下方特征像素点之间的距离,并计算该四个距离的平均值,比较该平均值是否小于所述眨眼临界距离 如果比较结果为是,则判断所述用户在拍摄所述测定用脸部图像时正在眨眼,放弃该测定用脸部图像,回到所述步骤2-1重新开始测定;如果比较结果为否,则判断所述用户在拍摄所述测定用脸部图像时未眨眼,进入步骤2-4。

3.根据权利要求1或2所述的眼睛注视视角测定方法,其特征在于:所述的步骤1-2-4中,定位所述受处理脸部图像中用户每一只眼睛所对应的角膜缘特征像素点的方法如下:步骤1-2-4-1、计算出所述左上方特征像素点、右上方特征像素点、右下方特征像素点和左下方特征像素点的中心像素点ec的直角坐标系坐标;

步骤1-2-4-2、建立以所述中心像素点ec为起点、 为方向的射线,该射

线的表达式如公式一所示:

式中,pix(r,θ)为所述射线的像素函数,θ为所述射线与所述直角坐标系的横轴之间的夹角,θ∈[0,2π],r为所述中心像素点ec与位于所述射线上的目标像素点之间的距离,所述为所述目标像素点在以中心像素点ec为极点、以所述直角坐标系的横轴为极轴的极坐标系下的极坐标,f表示所述目标像素点的函数;

步骤1-2-4-3、按公式二计算所述公式一所示的射线表达式的径向导数,得到如公式三所示的pix(r,θ)一维导数的最大值,并按公示四将公式三计算出的像素点limbal(θ)的极坐标转换成直角坐标;

式中,limbal(θ)、x和y分别表示由步骤1-2-4-3拟合计算出的所述受处理脸部图像中位于所述用户一只眼睛的角膜缘上的像素点的极坐标、直角坐标系横坐标和直角坐标系纵坐标,这些由步骤1-2-4-3拟合计算出的像素点记为角膜缘拟合计算像素点;

步骤1-2-4-4、从所述各个角膜缘拟合计算像素点中剔除掉位于所述用户上眼皮和下眼皮的像素点,并将剩余的像素点记为角膜缘特征像素点,其中,位于所述用户上眼皮的像素点的横坐标位于所述左上方特征像素点的横坐标与所述右上方特征像素点的横坐标之间、纵坐标位于所述左上方特征像素点的纵坐标与所述右上方特征像素点的纵坐标之间,位于所述用户下眼皮的像素点的横坐标位于所述左下方特征像素点的横坐标与所述右下方特征像素点的横坐标之间、纵坐标位于所述左下方特征像素点的纵坐标与所述右下方特征像素点的纵坐标之间。

4.根据权利要求1或2所述的眼睛注视视角测定方法,其特征在于:所述的步骤1-1中,所述竖向实体标定平面(W)为墙面。

5.根据权利要求1或2所述的眼睛注视视角测定方法,其特征在于:所述的步骤1-2-1中,基于Haar特征或者基于HOG特征对所述受处理脸部图像中的人脸进行定位。

6.根据权利要求1或2所述的眼睛注视视角测定方法,其特征在于:所述的步骤1-2-5中,所述角膜缘特征像素点通过曲线拟合算法RANSAC进行曲线拟合。

7.根据权利要求1或2所述的眼睛注视视角测定方法,其特征在于:所述的步骤1-3-2中,所述回归模型基于高斯过程隐变量模型建立。

8.根据权利要求1或2所述的眼睛注视视角测定方法,其特征在于:所述的步骤2-5-1中,所述半径预设为R0取值为12.4mm,所述眼球中心至外眼角特征点与内眼角特征点所在直线的距离L0取值为4.5mm。

说明书 :

一种基于头部姿态的眼睛注视视角测定方法

技术领域

[0001] 本发明涉及一种基于头部姿态的眼睛注视视角测定方法,属于图像处理领域。

背景技术

[0002] 随着物联网的发展,越来越多的设备都加入了计算处理器变成智能设备,比如智能冰箱,智能售货机等等。于是智能化的人机交互也变得越来越重要。眼睛是人类获取外界信息的重要途径,眼睛注视的视角反应了人对外界的兴趣。眼睛注视视角的估计可以应用于商业广告测试、医学诊断、发展心理学以及虚拟现实等领域。所以眼睛注视视角的估计在人机交互中具有重要的意义,也是学术界研究的一个热点、难点问题。
[0003] 现有计算注视视角的方法,需要用一个880nm的LED光源照射人眼。人眼对LED光的反射点叫做普尔钦斑点glint点,第一Purkinje图像。利用普尔钦斑点可以计算瞳孔中心。将人眼近似看做一个球型,人眼的注视方向近似的表示成球心指向瞳孔中心的向量。目前的主流方法都是基于这个模型。
[0004] 基于上面的模型,现有计算注视视角的设备有2种类型,头戴式和非头戴式。头戴式设备以类似眼镜的形式戴在头上,镜框的中部有一个向内对着用户的LED光源和一个对着外面的摄像头,该摄像头的作用是计算头部移动时的情况。两个镜框分别各有一个摄像头对着眼睛。头戴式设备的问题有两个:第一是头戴设备比较昂贵;第二是用户体验不好。非头戴式设备,通常是一个长方形的盒子,里面有一到二个LED光源,和一个摄像头。使用时,该设备需要正对用户。非头戴式设备也有两个问题:第一是因为该设备一般离用户的距离比头戴式远,LED光源可能受到环境中其他不可见的LED光源的干扰;第二是要求限制人的头部动作,不能像头戴式那样自由移动。虽然非头戴式设备有这两个缺点,但是因为用户体验比头戴式设备好得多,所以找到一种不受LED光源影响,并且头部能自由移动的非头戴式的计算注视视角的方法,对视线跟踪技术的普及和发展具有重要的意义。

发明内容

[0005] 本发明所要解决的技术问题是:提供一种基于头部姿态的眼睛注视视角测定方法。
[0006] 解决上述技术问题,本发明所采用的技术方案如下:
[0007] 一种基于头部姿态的眼睛注视视角测定方法,包含训练过程和实时测定过程;
[0008] 所述的训练过程,包括:
[0009] 步骤1-1、原始数据获取步骤,包括:
[0010] 步骤1-1-1,在用户的头上佩戴一个朝向所述用户前方的点激光器,并在所述用户的前方安放一个摄像头、在所述用户前方的竖向实体标定平面上设置多个标定点,其中,所述用户的头部完全落在所述摄像头的拍摄范围之内,所述用户所在位置距离所述竖向实体标定平面的距离、每一个所述标定点与用户的相对位置以及由所述距离和相对位置决定的用户二维头部姿态均为已知的预设值,该预设的二维头部姿态记为训练用二维头部姿态,所述训练用二维头部姿态以欧拉角表示,包括所述用户头部绕一个三维直角坐标系Y轴转动的Yaw旋转角和绕所述三维直角坐标系Z轴转动的Pitch旋转角,并且,所述用户头部绕所述三维直角坐标系X轴转动的欧拉角为Roll旋转角;
[0011] 步骤1-1-2,令所述用户在所述所在位置通过转动头部,使得所述点激光器所发出的激光点分别落在所述各个标定点上,以用所述摄像头拍摄所述激光点落在每一个所述标定点时所述用户的脸部图像,并记为训练用脸部图像,其中,所述各个标定点中包含有正中标定点,当所述激光点落在正中标定点上时,所述激光器的指向垂直于所述竖向实体标定平面,即所述用户头部的Yaw旋转角和Pitch旋转角均为0,将所述摄像头在所述激光点落在正中标定点上时拍摄到的训练用脸部图像记为正中训练用脸部图像;
[0012] 步骤1-2、将每一幅所述训练用脸部图像作为受处理脸部图像按以下步骤1-2-1至步骤1-2-5的方法进行处理,得到所述各幅训练用脸部图像的二维脸部特征,并保存在脸部模型数据库中,其中,所述二维脸部特征包含二维脸部特征像素点、眼部特征像素点、角膜缘特征像素点和瞳孔中心特征像素点;
[0013] 步骤1-2-1、对受处理脸部图像中的人脸进行定位;
[0014] 步骤1-2-2、用主动形状模型基于其默认的参数对所述受处理脸部图像中被定位出的人脸进行处理,得到所述受处理脸部图像中人脸的二维脸部特征像素点的坐标;
[0015] 步骤1-2-3、从所述受处理脸部图像的二维脸部特征像素点中提取出包围所述用户双眼眼部的特征像素点,记为眼部特征像素点,其中,所述用户的每一只眼睛对应有六个所述眼部特征像素点,位于中间位置的四个所述眼部特征像素点根据相互之间的相对位置分别记为左上方特征像素点、右上方特征像素点、右下方特征像素点和左下方特征像素点,其余两个所述眼部特征像素点根据相对位置分别记为内眼角特征像素点和外眼角特征像素点;
[0016] 步骤1-2-4、对所述受处理脸部图像位于所述用户每一只眼睛所对应眼部特征像素点围成区域内的图像区域进行处理,分别定位出所述受处理脸部图像中位于所述用户双眼角膜缘上的特征像素点,记为角膜缘特征像素点;
[0017] 步骤1-2-5、对所述受处理脸部图像的用户每一只眼睛对应的角膜缘特征像素点进行曲线拟合,得到所述受处理脸部图像中用户每一只眼睛对应的角膜缘曲线及该角膜缘曲线的中心像素点,将所述角膜缘曲线的中心像素点记为瞳孔中心特征像素点;
[0018] 步骤1-3、回归模型建立步骤,包括:
[0019] 步骤1-3-1、用所述主动形状模型基于所述脸部模型数据库计算每一所述训练用二维头部姿态所对应的用户头部的Roll旋转角,将所述训练用二维头部姿态及其对应的Roll旋转角记为训练用三维头部姿态,保存在三维头部姿态数据库中;并且,所述主动形状模型在训练过程即计算所述各个二维头部姿态所对应Roll旋转角的过程中自动对其默认的参数进行更新,使得主动形状模型的默认参数向适配于所述摄像头的参数变化,将所述主动形状模型完成所述训练过程后更新得到的参数记为适配参数;其中,在所述训练过程中计算得到的所述正中训练用脸部图像与用户本人的缩放比例记为s';
[0020] 步骤1-3-2、将每一个所述训练用三维头部姿态及其对应的二维脸部特征作为输入,建立三维头部姿态与二维脸部特征的回归模型,并保存在所述三维头部姿态数据库中;
[0021] 所述的实时测定过程,包括:
[0022] 步骤2-1、用所述摄像头拍摄所述用户在当前时刻的脸部图像,并记为测定用脸部图像,其中,所述用户位于其头部能够完全落在所述摄像头拍摄范围之内的任意位置;
[0023] 步骤2-2、将所述测定用脸部图像作为受处理脸部图像按所述步骤1-2-1至步骤1-2-5的方法进行处理,并且,按所述步骤1-2-2的方法进行处理时,所述主动形状模型基于所述步骤1-3-1得到的适配参数对受处理脸部图像即所述测定用脸部图像中被定位出的人脸进行处理,得到所述测定用脸部图像的二维脸部特征、所述测定用脸部图像中人脸所对应的三维脸部特征点的坐标和测定用脸部图像与用户本人的缩放比例s,其中,所述二维脸部特征包含二维脸部特征像素点、眼部特征像素点、角膜缘特征像素点和瞳孔中心特征像素点;
[0024] 步骤2-4、将所述测定用脸部图像的二维脸部特征作为步骤1-3-2所建立回归模型的输入,计算出所述测定用脸部图像的三维头部姿态,即所述用户在拍摄该测定用脸部图像时的欧拉角,包括Yaw旋转角、Pitch旋转角和Roll旋转角,记为三维头部姿态欧拉角(φRoll,φYaw,φPitch);
[0025] 步骤2-5、用户的眼睛注视视角实时计算步骤,包括:
[0026] 步骤2-5-1、建立眼部模型,即:将所述用户的一只真实眼球视为一个球体,并将所述真实眼球按照所述步骤2-2得到的缩放比例s进行缩放后得到的球体记为图像眼球,其中,所述真实眼球的半径预设为R0、眼球中心至外眼角特征点与内眼角特征点所在直线的距离预设为L0,所述图像眼球的球心记为o;并且,将所述步骤2-2得到的三维脸部特征点中对应所述图像眼球的外眼角特征点、内眼角特征点和瞳孔中心特征点依次记为e1、e2和p,将所述外眼角特征点e1与内眼角特征点e2的中点记为m,所述球心o在所述外眼角特征点e1与内眼角特征点e2的连线上的垂足记为n;所述球心o与瞳孔中心特征点p之间的距离即为所述图像眼球的半径R,所述球心o到所述垂足n的方向即为所述用户在拍摄所述测定用脸部图像时的头部姿态方向V1,该头部姿态方向V1用欧拉角表示即为所述步骤2-4得到的三维头部姿态欧拉角(φRoll,φYaw,φPitch),所述球心o到所述瞳孔中心特征点p的方向即为所述用户在拍摄所述测定用脸部图像时的眼睛注视方向V2,该眼睛注视方向V2用欧拉角表示即为所述用户的眼睛注视视角,记为(ωRoll,ωYaw,ωPitch);
[0027] 步骤2-5-2、以所述测定用脸部图像的二维脸部特征、三维脸部特征点的坐标和三维头部姿态作为所述眼部模型的输入,按以下公式七至公式十一计算出所述用户在当前时刻即拍摄所述测定用脸部图像时的眼睛注视视角(ωRoll,ωYaw,ωPitch):
[0028]
[0029]
[0030]
[0031]
[0032]
[0033] 式中,L为所述球心o与垂足n之间的距离,T为所述中点m与垂足n之间的距离,s'为所述正中训练用脸部图像与用户本人的缩放比例,(px,py,pz)、(e1x,e1y,e1z)和(e2x,e2y,e2z)依次为所述步骤2-2得到的三维脸部特征点中对应所述图像眼球的瞳孔中心特征点p、外眼角特征点e1和内眼角特征点e2的坐标,(mx,my,mz)为所述中点m的坐标,(ox,oy,oz)为所述球心o的坐标。
[0034] 作为本发明的改进实施方式:所述的步骤1-1还包括步骤1-1-3,所述的训练过程还包括步骤1-4,所述的实时测定过程还包括步骤2-3,所述步骤2-2执行完成后先进入所述步骤2-3;
[0035] 步骤1-1-3,在所述激光点落在所述各个标定点中的至少一个上时,用所述摄像头连续拍摄所述用户的一组训练用脸部图像,并令所述用户在该连续拍摄过程中眨眼,从每一组所述摄像头连续拍摄到的训练用脸部图像中选取出所述用户眨眼开始时刻的图像作为对应相应标定点的眨眼脸部图像;
[0036] 步骤1-4、计算所述步骤1-1-3获得的每一幅眨眼脸部图像中用户右眼的左上方特征像素点与左下方特征像素点之间的距离、用户右眼的右上方特征像素点与右下方特征像素点之间的距离、用户左眼的左上方特征像素点与左下方特征像素点之间的距离、用户左眼的右上方特征像素点与右下方特征像素点之间的距离,计算该四个距离的平均值作为相应眨眼脸部图像所对应的眨眼距离,将所述步骤1-1-3获得的所有眨眼脸部图像的眨眼距离平均值记录为眨眼临界距离
[0037] 步骤2-3、判断所述测定用脸部图像中的用户是否眨眼的步骤,包括:计算所述测定用脸部图像中用户右眼的左上方特征像素点与左下方特征像素点之间的距离、用户右眼的右上方特征像素点与右下方特征像素点之间的距离、用户左眼的左上方特征像素点与左下方特征像素点之间的距离、用户左眼的右上方特征像素点与右下方特征像素点之间的距离,并计算该四个距离的平均值,比较该平均值是否小于所述眨眼临界距离 如果比较结果为是,则判断所述用户在拍摄所述测定用脸部图像时正在眨眼,放弃该测定用脸部图像,回到所述步骤2-1重新开始测定;如果比较结果为否,则判断所述用户在拍摄所述测定用脸部图像时未眨眼,进入步骤2-4。
[0038] 作为本发明的优选实施方式:所述的步骤1-2-4中,定位所述受处理脸部图像中用户每一只眼睛所对应的角膜缘特征像素点的方法如下:
[0039] 步骤1-2-4-1、计算出所述左上方特征像素点、右上方特征像素点、右下方特征像素点和左下方特征像素点的中心像素点ec的直角坐标系坐标;
[0040] 步骤1-2-4-2、建立以所述中心像素点ec为起点、 为方向的射线,该射线的表达式如公式一所示:
[0041]
[0042] 式中,pix(r,θ)为所述射线的像素函数,θ为所述射线与所述直角坐标系的横轴之间的夹角,θ∈[0,2π],r为所述中心像素点ec与位于所述射线上的目标像素点之间的距离,所述 为所述目标像素点在以中心像素点ec为极点、以所述直角坐标系的横轴为极轴的极坐标系下的极坐标,f表示所述目标像素点的函数;
[0043] 步骤1-2-4-3、按公式二计算所述公式一所示的射线表达式的径向导数,得到如公式三所示的pix(r,θ)一维导数的最大值,并按公示四将公式三计算出的像素点limbal(θ)的极坐标转换成直角坐标;
[0044]
[0045]
[0046]
[0047] 式中,limbal(θ)、x和y分别表示由步骤1-2-4-3拟合计算出的所述受处理脸部图像中位于所述用户一只眼睛的角膜缘上的像素点的极坐标、直角坐标系横坐标和直角坐标系纵坐标,这些由步骤1-2-4-3拟合计算出的像素点记为角膜缘拟合计算像素点;
[0048] 步骤1-2-4-4、从所述各个角膜缘拟合计算像素点中剔除掉位于所述用户上眼皮和下眼皮的像素点,并将剩余的像素点记为角膜缘特征像素点,其中,位于所述用户上眼皮的像素点的横坐标位于所述左上方特征像素点的横坐标与所述右上方特征像素点的横坐标之间、纵坐标位于所述左上方特征像素点的纵坐标与所述右上方特征像素点的纵坐标之间,位于所述用户下眼皮的像素点的横坐标位于所述左下方特征像素点的横坐标与所述右下方特征像素点的横坐标之间、纵坐标位于所述左下方特征像素点的纵坐标与所述右下方特征像素点的纵坐标之间。
[0049] 作为本发明的优选实施方式:所述的步骤1-1中,所述竖向实体标定平面为墙面。
[0050] 作为本发明的优选实施方式:所述的步骤1-2-1中,基于Haar特征或者基于HOG特征对所述受处理脸部图像中的人脸进行定位。
[0051] 作为本发明的优选实施方式:所述的步骤1-2-5中,所述角膜缘特征像素点通过曲线拟合算法RANSAC进行曲线拟合。
[0052] 作为本发明的优选实施方式:所述的步骤1-3-2中,所述回归模型基于高斯过程隐变量模型建立。
[0053] 作为本发明的优选实施方式:所述的步骤2-5-1中,所述半径预设为R0取值为12.4mm,所述眼球中心至外眼角特征点与内眼角特征点所在直线的距离L0取值为4.5mm。
[0054] 与现有技术相比,本发明具有以下有益效果:
[0055] 第一,本发明不需添加LED光源,仅采用一个摄像头、一个点激光器和布置在竖向实体标定平面上的标定点,即可完成训练过程,获得脸部模型数据库、三维头部姿态数据库和回归模型,再采用同一个摄像头获得用户在当前时刻的脸部图像,采用训练过程得到的数据通过实时测定过程,即可实时计算出用户的眼睛在当前时刻的眼睛注视视角,因此,本发明能够实现对用户眼睛注视视角进行测定,其对硬件的依赖小,能够有效的扩展眼睛注视视角测定的应用范围。
[0056] 第二,本发明能够通过步骤1-1-3、步骤1-4和步骤2-3对用户在拍摄测定用脸部图像时是否眨眼进行判断,有效果的提高了眼睛注视视角测定的可靠性。
[0057] 第三,本发明通过步骤1-2-4-1至步骤1-2-4-4实现步骤1-2-4中对角膜缘特征像素点的定位,其与现有的角膜缘定位方法如Canny边缘检测不同:本发明的方法不需要事先定义阈值,其对于光线条件的变化有更好的健壮性。

附图说明

[0058] 下面结合附图和具体实施例对本发明作进一步的详细说明:
[0059] 图1-1为本发明的眼睛注视视角测定方法的流程框图;
[0060] 图1-2为本发明中对受处理脸部图进行处理的流程框图;
[0061] 图2-1为用户佩戴点激光器Laser的示意图;
[0062] 图2-2为点激光器Laser、竖向实体标定平面W和各个标定点Point的相对位置示意图;
[0063] 图3为用主动形状模型处理受处理脸部图像得到的二维脸部特征像素点的示意图;
[0064] 图4-1为中心像素点ec和射线在图3所示人脸图像中的示意图;
[0065] 图4-2为图4-1所示射线的径向导数的示意图;
[0066] 图5为本发明的步骤2-5-1中的图像眼球的示意图。

具体实施方式

[0067] 如图1-1所示,本发明基于头部姿态的眼睛注视视角测定方法,包含训练过程和实时测定过程。
[0068] 上述训练过程,包括:
[0069] 步骤1-1、原始数据获取步骤,包括:
[0070] 步骤1-1-1,参见图2-1和图2-2,在用户的头上佩戴一个朝向用户前方的点激光器Laser,并在用户的前方安放一个摄像头、在用户前方的竖向实体标定平面W上设置多个标定点Point,其中,用户的头部Head完全落在摄像头的拍摄范围之内,竖向实体标定平面W可以为墙面,用户所在位置距离竖向实体标定平面W的距离、每一个标定点Point与用户的相对位置以及由距离和相对位置决定的用户二维头部姿态均为已知的预设值,该预设的二维头部姿态记为训练用二维头部姿态,训练用二维头部姿态以欧拉角表示,包括用户头部绕一个三维直角坐标系Y轴转动的Yaw旋转角和绕三维直角坐标系Z轴转动的Pitch旋转角,并且,用户头部绕三维直角坐标系X轴转动的欧拉角为Roll旋转角。
[0071] 其中,上述摄像头可以是专业的摄像机,也可以是最普通的网络摄像头;上述标定点Point越多即上述Yaw旋转角和Pitch旋转角取值越多,则本训练过程得到的模型就越精确,上述Yaw旋转角和Pitch旋转角一般可以取值为{-90°,-75°,-60°,-45°,-30°,-15°,0°,15°,30°,45°,60°,75°,90°}。
[0072] 步骤1-1-2,令用户在上述所在位置通过转动头部,使得点激光器Laser所发出的激光点分别落在各个标定点Point上,以用摄像头拍摄激光点落在每一个标定点Point时用户的脸部图像,并记为训练用脸部图像,其中,各个标定点Point中包含有正中标定点,当激光点落在正中标定点上时,激光器Laser的指向垂直于竖向实体标定平面W,即用户头部的Yaw旋转角和Pitch旋转角均为0,将摄像头在激光点落在正中标定点上时拍摄到的训练用脸部图像记为正中训练用脸部图像。
[0073] 步骤1-1-3,在激光点落在上述各个标定点Point中的至少一个上时,用摄像头连续拍摄用户的一组训练用脸部图像,并令用户在该连续拍摄过程中眨眼,从每一组摄像头连续拍摄到的训练用脸部图像中选取出用户眨眼开始时刻的图像作为对应相应标定点Point的眨眼脸部图像;由于人眨眼是一个眼部区域从大变小的过程,因此,用户眨眼过程的脸部图像是包含有多幅图像的,选取出的眨眼脸部图像即为最能够反映出用户眨眼时的眼部特性的图像。
[0074] 步骤1-2、参见图1-2,将每一幅训练用脸部图像作为受处理脸部图像按以下步骤1-2-1至步骤1-2-5的方法进行处理,得到各幅训练用脸部图像的二维脸部特征,并保存在脸部模型数据库中,其中,二维脸部特征包含二维脸部特征像素点、眼部特征像素点、角膜缘特征像素点和瞳孔中心特征像素点。
[0075] 步骤1-2-1、对受处理脸部图像中的人脸进行定位,其中,对图像中的人脸进行定位的方法已经很成熟,主要有两种,一种是基于Haar特征的人脸检测(参见,Viola and M.J.Jones,“Rapid Object Detection using a Boosted Cascade of Simple Features”,IEEE CVPR 2001),一种是基于HOG特征的人脸检测(参见Navneet Dalal and Bill Triggs,“Histograms of Oriented.Gradients for Human Detection”,IEEE CVPR 2005);这两种方法都可以用于本步骤1-2-1中的人脸定位。
[0076] 步骤1-2-2、参见图3,用主动形状模型基于其默认的参数对受处理脸部图像中被定位出的人脸进行处理,得到受处理脸部图像中人脸的二维脸部特征像素点的坐标,其中,图3示出了一幅受处理脸部图像的二维脸部特征像素点,即图中的特征像素点0至特征像素点65共66个特征像素点,主动形状模型的实施方法可参见J.Saragih,S.Lucey and J.Cohn,“Deformable Model Fitting by Regularized Landmark Mean-Shifts”,International Journal of Computer Vision,2010。
[0077] 步骤1-2-3、从受处理脸部图像的二维脸部特征像素点中提取出包围用户双眼眼部的特征像素点,记为眼部特征像素点,其中,用户的每一只眼睛对应有六个眼部特征像素点,位于中间位置的四个眼部特征像素点根据相互之间的相对位置分别记为左上方特征像素点、右上方特征像素点、右下方特征像素点和左下方特征像素点,其余两个眼部特征像素点根据相对位置分别记为内眼角特征像素点和外眼角特征像素点,图3中的特征像素点36至特征像素点41即用户右眼的眼部特征像素点,特征像素点42至特征像素点47即用户左眼的眼部特征像素点,眼部特征像素点不包含用户眉毛上的特征像素点,对于用户的右眼而言,左上方特征像素点、右上方特征像素点、右下方特征像素点和左下方特征像素点依次为图3中的特征像素点37、38、40和41,内眼角特征像素点和外眼角特征像素点依次为图3中的特征像素点39和36,对于用户的左眼而言,左上方特征像素点、右上方特征像素点、右下方特征像素点和左下方特征像素点依次为图3中的特征像素点43、44、46和47,内眼角特征像素点和外眼角特征像素点依次为图3中的特征像素点42和45。
[0078] 步骤1-2-4、对受处理脸部图像位于用户每一只眼睛所对应眼部特征像素点围成区域内的图像区域进行处理,分别定位出受处理脸部图像中位于用户双眼角膜缘上的特征像素点,记为角膜缘特征像素点;其中,定位受处理脸部图像中用户每一只眼睛所对应的角膜缘特征像素点的方法如下:
[0079] 步骤1-2-4-1、参见图3和图4-1,计算出左上方特征像素点、右上方特征像素点、右下方特征像素点和左下方特征像素点的中心像素点ec的直角坐标系坐标。
[0080] 步骤1-2-4-2、建立以中心像素点ec为起点、 为方向的射线,该射线的表达式如公式一所示:
[0081]
[0082] 式中,pix(r,θ)为射线的像素函数,θ为射线与直角坐标系的横轴之间的夹角,θ∈[0,2π],r为中心像素点ec与位于射线上的目标像素点之间的距离, 为目标像素点在以中心像素点ec为极点、以直角坐标系的横轴为极轴的极坐标系下的极坐标,f表示目标像素点的函数。
[0083] 步骤1-2-4-3、参见图4-2,按公式二计算公式一所示的射线表达式的径向导数,得到如公式三所示的pix(r,θ)一维导数的最大值,并按公示四将公式三计算出的像素点lim bal(θ)的极坐标转换成直角坐标;
[0084]
[0085]
[0086]
[0087] 式中,lim bal(θ)、x和y分别表示由步骤1-2-4-3拟合计算出的受处理脸部图像中位于用户一只眼睛的角膜缘上的像素点的极坐标、直角坐标系横坐标和直角坐标系纵坐标,这些由步骤1-2-4-3拟合计算出的像素点记为角膜缘拟合计算像素点。
[0088] 步骤1-2-4-4、从各个角膜缘拟合计算像素点中剔除掉位于用户上眼皮和下眼皮的像素点,并将剩余的像素点记为角膜缘特征像素点,其中,位于用户上眼皮的像素点的横坐标位于左上方特征像素点的横坐标与右上方特征像素点的横坐标之间、纵坐标位于左上方特征像素点的纵坐标与右上方特征像素点的纵坐标之间,位于用户下眼皮的像素点的横坐标位于左下方特征像素点的横坐标与右下方特征像素点的横坐标之间、纵坐标位于左下方特征像素点的纵坐标与右下方特征像素点的纵坐标之间。
[0089] 本发明步骤1-2-4-1至步骤1-2-4-4的定位受处理脸部图像中用户一只眼睛所对应的角膜缘特征像素点的方法,与现有的角膜缘定位方法如Canny边缘检测(参见John Canny,“A computational approach to edge detection”,IEEE Transactions on PAMI,1986)不同,本发明的方法不需要事先定义阈值,其对于光线条件的变化有更好的健壮性。
[0090] 步骤1-2-5、对受处理脸部图像的用户每一只眼睛对应的角膜缘特征像素点进行曲线拟合,得到受处理脸部图像中用户每一只眼睛对应的角膜缘曲线及该角膜缘曲线的中心像素点,将角膜缘曲线的中心像素点记为瞳孔中心特征像素点,,其中,角膜缘特征像素点的曲线拟合优选通过曲线拟合算法RANSAC参见,Martin A Fischler and Robert C Bolles,“Random sample consensus:a  paradigm for model fitting with applications to image analysis and automated cartography”,Communications of the ACM,1981实现。
[0091] 步骤1-3、回归模型建立步骤,包括:
[0092] 步骤1-3-1、用主动形状模型基于脸部模型数据库计算每一训练用二维头部姿态所对应的用户头部的Roll旋转角,将训练用二维头部姿态及其对应的Roll旋转角记为训练用三维头部姿态,保存在三维头部姿态数据库中;并且,主动形状模型在训练过程即计算各个二维头部姿态所对应Roll旋转角的过程中自动对其默认的参数进行更新,使得主动形状模型的默认参数向适配于摄像头的参数变化,将主动形状模型完成训练过程后更新得到的参数记为适配参数;其中,在训练过程中计算得到的正中训练用脸部图像与用户本人的缩放比例记为s'。
[0093] 上述步骤1-3-1的具体计算过程可以表示如下:
[0094] 根据主动形状模型有公式五:
[0095]
[0096] 其中R表示对不相似的图像所对应的p值的惩罚值,D表示对于图像I中第xi个位置错误地作为第i个标记的值。xi由公式六得到:
[0097]
[0098] 其中 是第i个标记点三维位置坐标的平均值,Φi是主成分矩阵,q是非刚性形变的控制参数,s'是摄像头拍摄到的图像与用户本人的缩放比例,t是平移向量,w是旋转向量(由欧拉角表示),R是w对应的旋转矩阵。公式五中的p=[s',t,w,q],由公式六计算得到。所以当图像对应的头部姿态的Yaw角度和Pitch角度,利用公式五和公式六,计算当Yaw角度和Pitch角度固定的情况下,Roll值使得公式五最小,可以得到三维欧拉角。
[0099] 步骤1-3-2、将每一个训练用三维头部姿态及其对应的二维脸部特征作为输入,建立三维头部姿态与二维脸部特征的回归模型,并保存在三维头部姿态数据库中,其中,该回归模型优选基于高斯过程隐变量模型(参见,N.D.Lawrence,“Probabilistic non-linear principal component analysis with Gaussian process latent variable models”,Journal of Machine Learning Research,2005)建立,但也可以基于其他现有的回归模型建立。
[0100] 步骤1-4、参见图3,计算步骤1-1-3获得的每一幅眨眼脸部图像中用户右眼的左上方特征像素点37与左下方特征像素点41之间的距离、用户右眼的右上方特征像素点38与右下方特征像素点40之间的距离、用户左眼的左上方特征像素点43与左下方特征像素点47之间的距离、用户左眼的右上方特征像素点44与右下方特征像素点46之间的距离,计算该四个距离的平均值作为相应眨眼脸部图像所对应的眨眼距离,将步骤1-1-3获得的所有眨眼脸部图像的眨眼距离平均值记录为眨眼临界距离
[0101] 上述实时测定过程,包括:
[0102] 步骤2-1、用摄像头拍摄用户在当前时刻的脸部图像,并记为测定用脸部图像,其中,用户位于其头部Head能够完全落在摄像头拍摄范围之内的任意位置;
[0103] 步骤2-2、将测定用脸部图像作为受处理脸部图像按步骤1-2-1至步骤1-2-5的方法进行处理,并且,按步骤1-2-2的方法进行处理时,主动形状模型基于步骤1-3-1得到的适配参数对受处理脸部图像即测定用脸部图像中被定位出的人脸进行处理,得到测定用脸部图像的二维脸部特征、测定用脸部图像中人脸所对应的三维脸部特征点的坐标和测定用脸部图像与用户本人的缩放比例s,其中,二维脸部特征包含二维脸部特征像素点、眼部特征像素点、角膜缘特征像素点和瞳孔中心特征像素点;其中,需要说明的是,本步骤中主动形状模型必须基于适配参数而不能基于其默认参数来计算三维脸部特征点的坐标,这是因为:用主动形状模型对脸部图像处理本身就可以得到两组数据,一组是二维脸部特征像素点、另一组是三维脸部特征点,如果主动形状模型是基于其默认的参数实施的,由于主动形状模型的默认参数是由现有的脸部图像库计算得到的,而现有的脸部图像库并没有公开拍摄库中脸部图像的摄像器材的具体参数,比如相机的焦距等,因此,会造成主动形状模型基于其默认参数计算出的二维脸部特征像素点是精确的、而三维脸部特征点则是不精确的;而在步骤1-3-1得到的适配参数,则是与步骤1-1-1和步骤2-1所使用的摄像头相适配,因此,主动形状模型基于该适配参数计算出的二维脸部特征像素点和三维脸部特征点都是精确的。
[0104] 步骤2-3、判断测定用脸部图像中的用户是否眨眼的步骤,包括:计算测定用脸部图像中用户右眼的左上方特征像素点37与左下方特征像素点41之间的距离、用户右眼的右上方特征像素点38与右下方特征像素点40之间的距离、用户左眼的左上方特征像素点43与左下方特征像素点47之间的距离、用户左眼的右上方特征像素点44与右下方特征像素点46之间的距离,并计算该四个距离的平均值,比较该平均值是否小于眨眼临界距离 如果比较结果为是,则判断用户在拍摄测定用脸部图像时正在眨眼,放弃该测定用脸部图像,回到步骤2-1重新开始测定;如果比较结果为否,则判断用户在拍摄测定用脸部图像时未眨眼,进入步骤2-4。
[0105] 步骤2-4、将测定用脸部图像的二维脸部特征作为步骤1-3-2所建立回归模型的输入,计算出测定用脸部图像的三维头部姿态,即用户在拍摄该测定用脸部图像时的欧拉角,包括Yaw旋转角、Pitch旋转角和Roll旋转角,记为三维头部姿态欧拉角(φRoll,φYaw,φPitch)。
[0106] 步骤2-5、用户的眼睛注视视角实时计算步骤,包括:
[0107] 步骤2-5-1、参见图5,建立眼部模型,即:将用户的一只真实眼球视为一个球体,并将真实眼球按照步骤2-2得到的缩放比例s进行缩放后得到的球体记为图像眼球,其中,真实眼球的半径预设为R0、眼球中心至外眼角特征点与内眼角特征点所在直线的距离预设为L0,按照公知的医学常识,R0优选取值为12.4mm,L0优选取值为4.5mm,图像眼球的球心记为o;并且,将步骤2-2得到的三维脸部特征点中对应图像眼球的外眼角特征点、内眼角特征点和瞳孔中心特征点依次记为e1、e2和p,将外眼角特征点e1与内眼角特征点e2的中点记为m,球心o在外眼角特征点e1与内眼角特征点e2的连线上的垂足记为n,因为眼皮和眼球不是完全贴合的,所以中点m与垂足n是不重合的;球心o与瞳孔中心特征点p之间的距离即为图像眼球的半径R,球心o到垂足n的方向即为用户在拍摄测定用脸部图像时的头部姿态方向V1,该头部姿态方向V1用欧拉角表示即为步骤2-4得到的三维头部姿态欧拉角(φRoll,φYaw,φPitch),球心o到瞳孔中心特征点p的方向即为用户在拍摄测定用脸部图像时的眼睛注视方向V2,该眼睛注视方向V2用欧拉角表示即为用户的眼睛注视视角,记为(ωRoll,ωYaw,ωPitch)。
[0108] 步骤2-5-2、以测定用脸部图像的二维脸部特征、三维脸部特征点的坐标和三维头部姿态作为眼部模型的输入,按以下公式七至公式十一计算出用户在当前时刻即拍摄测定用脸部图像时的眼睛注视视角(ωRoll,ωYaw,ωPitch):
[0109]
[0110]
[0111]
[0112]
[0113]
[0114] 式中,L为球心o与垂足n之间的距离,T为中点m与垂足n之间的距离,s'为正中训练用脸部图像与用户本人的缩放比例,(px,py,pz)、(e1x,e1y,e1z)和(e2x,e2y,e2z)依次为步骤2-2得到的三维脸部特征点中对应图像眼球的瞳孔中心特征点p、外眼角特征点e1和内眼角特征点e2的坐标,(mx,my,mz)为中点m的坐标,(ox,oy,oz)为球心o的坐标。
[0115] 本发明不局限于上述具体实施方式,根据上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,本发明还可以做出其它多种形式的等效修改、替换或变更,均落在本发明的保护范围之中。