一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于单目的注视点估计视线追踪方法

2022-11-19 09:26:00 来源:中国专利 TAG:


1.本发明涉及注视点估计技术领域,特别涉及一种基于单目的注视点估计视线追踪方法。


背景技术:

2.注视点估计已经被确认为计算机视觉的一门研究方向,凝视技术只通过眼睛就可以进行操作,这一技术更好的发展可以为人们的生活带来更多的便利。注视点估计方法可以应用到多个领域,例如:医疗领域、心理学研究领域、个性化广告推荐领域以及安全领域等等。研究表明,人们更希望仅通过眼睛就可以完成对电子设备的操作,且注视点估计可以为残障人士带来更大的便利,种种情况表明注视点估计有很大的应用场景。
3.注视点估计可以说是人脸检测的一个分支。现如今很多的注视点估计方法都需要严格的实验环境,以及先进的实验设备。现有的大多数方法仍然存在以下问题:在现实条件下估计的注视位置不准确,需要复杂的设备适应头部运动,以及获取的图像质量低等问题。
4.因此,在现有注视点估计方法的基础上,如何提高注视点估计的准确度,成为本领域技术人员亟需解决的问题。


技术实现要素:

5.鉴于上述问题,本发明提出了一种至少解决上述部分技术问题的基于单目的注视点估计视线追踪方法,该方法可显著提高注视点估计的准确度。
6.本发明实施例提供一种基于单目的注视点估计视线追踪方法,包括如下步骤:
7.s1、获取待注视点估计的图像;根据所述待注视点估计的图像,得到头部姿态旋转向量和头部姿态平移向量;
8.s2、根据所述头部姿态旋转向量和头部姿态平移向量,拟合生成头部三维坐标模型;
9.s3、从所述头部三维坐标模型内提取眼睛部分的信息点,得到眼睛三维中心点坐标和注视向量;
10.s4、将所述眼睛三维中心点坐标和注视向量相结合,得到最终注视点,完成对所述待注视点估计的图像的注视点估计。
11.进一步地,还包括:
12.s5、将所述最终注视点输入预设鼠标移动函数中,控制鼠标点跟随所得到的所述最终注视点移动,完成对所述待注视点估计的图像的视线追踪。
13.进一步地,所述步骤s1包括:
14.获取待注视点估计的图像;标定所述待注视点估计的图像的相机内参,得到内参矩阵;
15.将所述待注视点估计的图像输入拟合三维模板模型,输出标记点;
16.对所述待注视点估计的图像进行人脸框检测,得到人脸框信息;
17.根据所述内参矩阵、标记点和人脸框信息,得到头部姿态旋转向量和头部姿态平移向量。
18.进一步地,所述步骤s2包括:
19.将所述头部姿态旋转向量转变为头部姿态旋转矩阵;
20.根据所述头部姿态旋转矩阵和所述头部姿态平移向量,拟合生成头部三维坐标模型。
21.进一步地,所述步骤s3包括:
22.从所述头部三维坐标模型内提取眼睛部分的信息点,将所述眼睛部分的信息点从三维坐标点转为二维坐标点;
23.根据所述二维坐标点,得到眼睛二维中心点坐标;
24.根据所述眼睛二维中心点坐标,建立以头部为坐标原点的三维空间轴模型;
25.从所述三维空间轴模型内提取眼睛注视的三维角度,以及眼睛三维中心点坐标;将所述眼睛注视的三维角度转换成注视向量。
26.进一步地,通过如下公式根据所述二维坐标点,得到眼睛二维中心点坐标:
[0027][0028][0029]
上式中,(x
li
,y
li
)表示左眼二维坐标点或右眼二维坐标点;n表示眼睛部分的信息点的数量;(x
lc
,y
lc
)表示左眼二维中心点坐标或右眼二维中心点坐标。
[0030]
进一步地,通过如下公式将所述眼睛注视的三维角度转换成注视向量:
[0031][0032][0033][0034]
上式中,leyevec=[lvecx,lvecy,lvecz]表示注视向量;α表示眼睛注视的x轴偏转;β表示眼睛注视的y轴偏转;表示眼睛注视的z轴旋转。
[0035]
进一步地,所述步骤s4包括:
[0036]
将所述眼睛三维中心点坐标和注视向量相结合,得到映射到屏幕上的注视点的位置;
[0037]
将所述映射到屏幕上的注视点的位置转换成设置在检测框内部的位置,得到左眼投影注视点和右眼投影注视点;
[0038]
将所述左眼投影注视点和右眼投影注视点取均值,得到最终注视点,完成对所述待注视点估计的图像的注视点估计。
[0039]
进一步地,通过如下公式将所述眼睛三维中心点坐标和注视向量相结合,得到映射到屏幕上的注视点的位置:
[0040][0041][0042]
上式中,leyevec=[lvecx,lvecy,lvecz]表示注视向量;leyecen3d=[x
lc3d
,y
lc3d
,z
lc3d
]表示左眼三维中心点坐标或右眼三维中心点坐标;(x,y)表示左眼或右眼映射到屏幕上的注视点的位置。
[0043]
进一步地,通过如下公式将所述映射到屏幕上的注视点的位置转换成设置在检测框内部的位置,得到左眼投影注视点和右眼投影注视点:
[0044][0045][0046]
上式中,upper表示预设摄像头到屏幕的距离;wf表示检测框的宽度;hf表示检测框的高度;ws表示投影屏幕的宽度;hs表示投影屏幕的高度;(x,y)表示左眼或右眼映射到屏幕上的注视点的位置;(xlp,ylp)表示得到的左眼投影注视点或右眼投影注视点。
[0047]
本发明实施例提供的上述技术方案的有益效果至少包括:
[0048]
本发明实施例提供的一种基于单目的注视点估计视线追踪方法,包括如下步骤:获取待注视点估计的图像;根据待注视点估计的图像,得到头部姿态旋转向量和头部姿态平移向量;根据头部姿态旋转向量和头部姿态平移向量,拟合生成头部三维坐标模型;从头部三维坐标模型内提取眼睛部分的信息点,得到眼睛三维中心点坐标和注视向量;将眼睛三维中心点坐标和注视向量相结合,得到最终注视点,完成对待注视点估计的图像的注视点估计;将最终注视点传入控制鼠标的函数中,控制鼠标点跟随所得到的最终注视点移动,完成对待注视点估计的图像的视线追踪。该方法侧重于通过结合头部姿势信息改进一般凝视估计,可显著提高注视点估计的准确度。
[0049]
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0050]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0051]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0052]
图1为本发明实施例提供的基于单目的注视点估计视线追踪方法流程图;
[0053]
图2为本发明实施例提供的以头部为坐标原点的三维空间轴模型示意图。
具体实施方式
[0054]
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0055]
本发明实施例提供一种基于单目的注视点估计视线追踪方法,参照图1所示,包括如下步骤:
[0056]
s1、获取待注视点估计的图像;根据待注视点估计的图像,得到头部姿态旋转向量和头部姿态平移向量;
[0057]
s2、根据头部姿态旋转向量和头部姿态平移向量,拟合生成头部三维坐标模型;
[0058]
s3、从头部三维坐标模型内提取眼睛部分的信息点,得到眼睛三维中心点坐标和注视向量;
[0059]
s4、将眼睛三维中心点坐标和注视向量相结合,得到最终注视点,完成对待注视点估计的图像的注视点估计;
[0060]
s5、将最终注视点传入控制鼠标的函数中,控制鼠标点跟随所得到的最终注视点移动,完成对待注视点估计的图像的视线追踪。
[0061]
本实施例提供的基于单目的注视点估计视线追踪方法,可显著提高注视点估计的准确度,侧重于通过结合头部姿势信息改进一般凝视估计,提高了注视点估计方案的灵活性。
[0062]
下面具体对该方法进行详细说明:
[0063]
(1)头部姿态估计
[0064]
由于注视点的估计是头部姿势和眼球运动相结合来得到的,因此本质上与一个人的头部姿势息息相关。进行头部姿态的估计需要标注出各3d坐标点,而坐标点的标定则需要相机的参数,故需要先对相机进行标定得出相机内参。
[0065]
调用opencv的undistort方法对获取的待注视点估计的图像进行去畸变处理,基于小孔成像的原则,设p=(x,y,z),p为三维空间中的一点,f为相机焦距,k为相机的内参矩阵,α、β表示图像单位距离上像素的个数,f
x
=αf,fy=βf将相机的焦距f变换为在x,y方向上的像素度量表示。从相机坐标系,通过透视投影变换到相机的成像平面上的像点p=(x,y),将像点p从成像坐标系,通过缩放和平移变换到像素坐标系上点w=(μ,v),设外参旋转矩阵为r、平移向量为t,利用公式:
[0066][0067]
上式中,(c
x
,cy)表示相机感光板中心在像素坐标系下的坐标。
[0068]
进而得到需要的内参矩阵k:
[0069]
[0070]
在得到了内参矩阵后,进行头部姿态的估计。假设摄像头前只会出现一个人脸而不会出现多个,通过拟合三维模板模型,通过标记的3d人脸模型数据估计头部姿势。用surf级联方法进行人脸框的检测,之后将得到的标记点、内参矩阵以及人脸框信息进行输入,得到旋转向量和平移向量,旋转向量默认值为头部姿势初始估值不旋转,平移向量默认值为脸就在摄像头前面。之后,通过rotation.from_rotvec函数将旋转向量转为旋转矩阵,通过上面得到的头部姿态旋转矩阵和头部姿态平移向量,拟合三维坐标模型。该三维坐标模型由多组三维坐标点构成。
[0071]
(2)眼动信息提取
[0072]
眼睛部位是直接的局部信息,对于进行注视预测非常重要。眼睛部分的信息包含在了通过拟合的3d模型(三维坐标模型)提取出的信息点里面,分别为左眼的6个信息点以及右眼的6个信息点,对这6个点进行平均值的计算以获得人眼中心点的坐标。首先依靠opencv的函数将所得的点从三维坐标点转为二维坐标点,然后再计算二维平面眼动方向。
[0073]
在此仅展示左眼的计算过程,设左眼的6个坐标点为leye1=(x
l1
,y
l1
),leye2=(x
l2
,y
l2
),leye3=(x
l3
,y
l3
),leye4=(x
l4
,y
l4
),leye5=(x
l5
,y
l5
),leye6=(x
l6
,y
l6
),设左眼中心坐标leyecen=(x
lc
,y
lc
),故:
[0074]
左眼中心点x轴坐标x
lc
为:
[0075][0076]
左眼中心点y轴坐标y
lc
为:
[0077][0078]
故上述公式已求出眼睛的中心坐标,下面进行矢量的计算,以绘制二维界面上眼睛注视方向,从而给使用者一个直观的眼部以及头部姿态的移动模型,参照图2所示,建立以头部为坐标原点的三维空间轴模型。
[0079]
为获得眼睛注视方向的矢量,需要将眼睛注视的三维角度转换成注视向量,这里也仅以左眼作为计算点,设在x轴偏转为α,y轴偏转为β,z轴旋转为设转换后的注视向量为leyevec=[lvecx,lvecy,lvecz],则有:
[0080][0081][0082][0083]
采用opencv的函数进行三维坐标与二维坐标的转换,故可以将上述得出的中心点坐标与注视向量相结合,得出二维界面上的眼注视方向。眼动信息可以让使用者在二维界面上直观的看到自己的注视方向,在实验中可以标注出视线的注视方向以及头部姿态在三个坐标轴上的移动方向,以让使用者有更直观的感受。
[0084]
(3)注视点估计
[0085]
在上述两部分已经进行了头部、眼部特征的提取以及一些参数的计算,下面实现从三维点到二维屏幕的注视点估计,通过结合姿态估计和眼球运动来预测注视点的位置,实现三维空间中检测到的注视信息在二维界面上的表现。通过从头部及眼部提取到的信息想要得到注视点,需要将注视的矢量转换到眼部凝视方向上去,设左眼部或右眼部三维中心点坐标leyecen3d=[x
lc3d
,y
lc3d
,z
lc3d
],结合在上述得到的leyevec=[lvecx,lvecy,lvecz],将眼中心点与注视向量相结合:
[0086][0087][0088]
得到映射到屏幕的位置,但是得到的是屏幕上的注视点,需要将该注视点转换到设置的检测框内从而进行精准度的检测,这就需要进一步的转换。其中upper代表电脑自带摄像头到屏幕的距离,wf、hf分别代表设置的检测框的宽度与高度,ws、hs分别代表所使用的设备的屏幕宽度与高度,故:
[0089][0090][0091]
因此,得到了左眼或右眼在屏幕上投影出的注视点pl(xlp,ylp),左眼和右眼两者注视的是相同的点,取均值得到最终的注视点p(x,y)。
[0092]
进一步地,可将得到的注视点传入到控制鼠标的函数中,从而让鼠标点跟随所得到的注视点进行移动,达到人机交互的结果。控制鼠标的函数为预设鼠标移动函数,通过该函数间接控制鼠标进行自主移动。
[0093]
以下通过电脑自带摄像头实时采集的图像为例,通过上述提供的方法,进行面部的人脸框、人脸坐标点的提取,并进行头部姿态及人眼注视方向的绘制。
[0094]
通过对人脸图像训练得到人脸识别模型,可以精准地定位人脸的位置并提取脸部关键点。
[0095]
可选地,在测试模块中,可以对测试用的格子设置两种状态,当人眼注视到测试格子时,格子颜色变为白色;未注视到时,则显示为红色。整体测试模块背景为黑色,整个测试模块铺满整个屏幕,故可以显示注视点的位置为整个电子设备屏幕的所有区域。
[0096]
可选地,在测试模块中实现控制鼠标移动,鼠标点显示为白色十字形状,以让人们更直观的看到自己注视到的位置。
[0097]
该基于单目的注视点估计视线追踪方法不仅仅专注于控制鼠标移动,更侧重于通过结合头部姿势信息改进一般凝视估计,提高注视点估计方案的灵活性,可以推广到其他日常生活场景。实现了在电子设备上实时显示人眼注视点并控制鼠标移动的功能。允许人
的头部进行绕x轴和y轴的旋转,并且这样的动作并不会使得结果受到很大影响,非常符合人们的日常头部活动,该方法在外观和实验环境方面都具有可变性。
[0098]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献