基于深度学习的屏幕注视点估计方法、装置、介质及设备与流程

文档序号:32601641发布日期:2022-12-17 16:17阅读:200来源:国知局
基于深度学习的屏幕注视点估计方法、装置、介质及设备与流程

1.本发明涉及图像处理技术领域,特别是基于深度学习的屏幕注视点估计方法、装置、介质及设备。


背景技术:

2.随着人工智能的发展,在医疗、消费者行为研究、心理、vr眼镜等领域,对视线估计的需要也越来越多。传统的视线估计方法如几何方法,限制因素很多且误差高,对于一些特定方法需要一定的硬件设备,比如眼动仪、头戴式视线追踪设备、rgbd深度摄像头等;还需要一定的环境条件,如光照,需要将特定的光源照向眼睛,然后反射,这种方法不仅误差高,而且对眼睛有损伤,其他限制因素还有头部姿势变化、脸部遮挡、不同人眼睛结构变化等。对于新兴起的基于外观预测注视方向的方法,虽然减小了误差,但是对于一些高精度的需求尚不能满足。


技术实现要素:

3.鉴于上述问题,本发明提出一种克服上述问题或者至少部分地解决上述问题的基于深度学习的屏幕注视点估计方法及装置。
4.根据本发明的第一方面,提供了一种基于深度学习的屏幕注视点估计方法,所述方法包括:
5.获取视频流图像,将所述视频流数据输入预先训练好的视线估计模型;
6.通过所述视线估计模型对所述视频流图像进行人像眼部检测以估计所述视频流图像中人像的注视方向;
7.基于所述注视方向估计得到人像在屏幕上的注视像素点。
8.可选地,所述通过所述视线估计模型对所述视频流图像进行人像眼部检测以估计所述视频流图像中人像的注视方向包括:
9.检测所述视频流图像中的人脸区域,并定位所述人脸区域中的眼部区域;
10.提取所述视频流图像包含的眼部特征,根据所述眼部特征估计所述视频流图像中人像的注视方向。
11.可选地,所述检测所述视频流图像中的人脸区域,并定位所述人脸区域中的眼部区域包括:
12.通过所述视线估计模型利用人脸搜索和人脸关键点检测算法识别检测所述视频流图像中的人脸区域,并确定多个眼部关键点;
13.将所述多个眼部关键点拟合到三维面部模型上,得到所述多个眼部关键点对应的三维眼部关键点。
14.可选地,所述提取所述视频流图像包含的眼部特征,根据所述眼部特征估计所述视频流图像中人像的注视方向包括:
15.依据所述三维眼部关键点提取所述视频流图像的眼部特征;
16.识别所述人脸区域的中心线,将位于所述中心线任意一侧的眼部区域沿所述中心线翻转得到包含有左眼和右眼的眼部区域,以提取眼部特征;所述眼部特征包括左眼特征、右眼特征以及左眼和右眼的关联特征;
17.基于所述眼部特征进行特征分析以估计所述视频流图像中人像的注视方向。
18.可选地,所述视线估计模型包括特征提取模块、特征加权模块和回归模块;所述根据所述眼部特征估计所述视频流图像中人像的注视方向包括:
19.所述特征提取模块提取的所述视频流图像的眼部特征后输出眼部特征张量;
20.所述特征加权模块生成并输出权重矩阵,基于所述眼部特征张量和所述权重矩阵得到加权后的眼部特征张量;
21.所述回归模块对加权后的眼部特征张量进行特征整合以输出所述视频流图像中人像的注视角度,基于所述注视角度生成注视方向的方向向量。
22.可选地,所述获取视频流图像,将所述视频流数据输入预先训练好的视线估计模型之前,所述方法还包括:
23.获取图像数据集,并对所述图像数据集中的各原图像进行归一化处理;
24.搭建卷积神经网络模型;
25.利用经过归一化处理后的所述图像数据集训练所述卷积神经网络模型,得到能够根据输入图像估计出注视方向的视线估计模型。
26.可选地,所述检测所述视频流图像中的人脸区域,并定位所述人脸区域中的眼部区域包括:
27.检测所述视频流图像中的人脸区域,采用灰度积分投影法定位所述人脸区域中的眼部区域。
28.可选地,所述采用灰度积分投影法定位所述人脸区域中的眼部区域包括:
29.对检测出的人脸区域进行灰度处理,并做垂直积分投影,以计算人脸区域中双眼的横坐标;
30.采用差分投影方式计算人脸区域中双眼的纵坐标;
31.结合双眼的横坐标和纵坐标得到人脸区域左眼和右眼的坐标,以位所述人脸区域中的眼部区域。
32.可选地,所述提取所述视频流图像包含的眼部特征包括:
33.利用多个shi-tomasi角点联合定位的方式确定所述眼部区域的瞳孔轮廓点,依据所述瞳孔轮廓点提取所述视频流图像包含的眼部特征。
34.可选地,所述方法还包括:
35.获取人像注视所述屏幕中多个指定位置点时的目标屏幕坐标点和目标注视向量;
36.建立所述目标屏幕坐标点和目标注视向量之间的多组映射关系;
37.基于所述多组映射关系学习能够基于注视向量得到屏幕坐标点的回归模型。
38.可选地,所述基于所述注视方向估计得到人像在屏幕上的注视像素点包括:
39.基于所述注视方向对应的视线角度计算注视方向向量;
40.利用所述回归模型基于所述注视方向估计得到人像在屏幕上的注视像素点。
41.可选地,所述利用所述回归模型基于所述注视方向估计得到人像在屏幕上的注视像素点包括:
42.计算相机坐标系和屏幕坐标系之间的几何关系;
43.利用所述几何关系对所述注视方向向量进行坐标系转化得到参考注视向量;
44.利用所述回归模型对所述参考注视向量进行估计得到人像在屏幕上的注视像素点。
45.可选地,所述计算相机坐标系和屏幕坐标系之间的几何关系包括:
46.计算屏幕相对于相机的俯仰角;
47.基于所述俯仰角计算相机坐标系和屏幕坐标系之间的几何关系;所述几何关系包括旋转矩阵和平移矩阵。
48.根据本发明的第二方面,提供了一种基于深度学习的屏幕注视点估计装置,所述装置包括:
49.图像获取模块,用于获取视频流图像,将所述视频流数据输入预先训练好的视线估计模型;
50.注视方向估计模块,用于通过所述视线估计模型对所述视频流图像进行人像眼部检测以估计所述视频流图像中人像的注视方向;
51.注视点确定模块,用于基于所述注视方向估计得到人像在屏幕上的注视像素点。
52.根据本发明的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面中任一项所述的基于深度学习的屏幕注视点估计方法。
53.根据本发明的第四方面,提供了一种计算设备,所述计算设备包括处理器以及存储器:
54.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
55.所述处理器用于根据所述程序代码中的指令执行第一方面中任一项所述的基于深度学习的屏幕注视点估计方法。
56.本发明提供了基于深度学习的屏幕注视点估计方法、装置、介质及设备,本发明的方法通过将视频流图像输入至预先训练好的视线估计模型中,预测的注视方向应用到屏幕注视点估计上,通过训练视线估计模型来预测注视方向,实现注视像素点的估计,克服传统方法的影响,无需光照以及特定的光源照向眼睛,在一定程度上提升了注视点估计的精度,适应性强。
57.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
58.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
59.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
60.图1示出了根据本发明实施例的基于深度学习的屏幕注视点估计方法流程示意
图;
61.图2示出了根据本发明实施例的视线估计模型架构示意图;
62.图3示出了根据本发明实施例的经过灰度处理的人脸区域;
63.图4示出了根据本发明实施例的垂直积分投影示意图;
64.图5示出了根据本发明实施例的定位眼睛横坐标示意图;
65.图6示出了根据本发明实施例的水平积分投影示意图;
66.图7示出了根据本发明实施例的错误的眼睛定位示意图;
67.图8示出了根据本发明实施例的积分投影和差分投影结合得到的投影;
68.图9示出了根据本发明实施例的眼睛定位结果示意图;
69.图10示出了根据本发明实施例的识别处的瞳孔中心示意图;
70.图11示出了根据本发明实施例的视线角度和方向向量转换示意图;
71.图12示出了根据本发明实施例的用户注视屏幕示意图;
72.图13示出了根据本发明一实施例的基于深度学习的屏幕注视点估计装置结构示意图
73.图14示出了根据本发明另一实施例的基于深度学习的屏幕注视点估计装置结构示意图。
具体实施方式
74.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
75.本发明实施例提供了一种基于深度学习的屏幕注视点估计方法,如图1所示,本发明实施例的基于深度学习的屏幕注视点估计方法至少可以包括以下步骤s101~s103。
76.s101,获取视频流图像,将视频流数据输入预先训练好的视线估计模型;视频流图像可以是通过相机采集的实时视频流图像,或者是预先存储的视频流图像。视线估计模型为预先训练好的用于根据输入的图像分析图像中人像视线方向的神经网络模型。
77.s102,通过视线估计模型对视频流图像进行人像眼部检测以估计视频流图像中人像的注视方向。
78.s103,基于注视方向估计得到人像在屏幕上的注视像素点。
79.本发明实施例提供了一种基于深度学习的屏幕注视点估计方法,通过将视频流图像输入至预先训练好的视线估计模型中,预测的注视方向应用到屏幕注视点估计上,实现注视像素点的估计。基于本实施例提供的方法,通过训练视线估计模型来预测注视方向,克服传统方法的影响,无需光照以及特定的光源照向眼睛,在一定程度上提升了注视点估计的精度,适应性强。下面对本实施例的基于深度学习的屏幕注视点估计方法中各个步骤进行详细说明。
80.前文介绍,对于获取到的视频流图像,可先执行上述步骤s101,即将视频流数据输入预先训练好的视线估计模型之前,需先建立并训练视线估计模型,具体可以包括以下步骤a1~a3。
81.a1,获取图像数据集,并对图像数据集中的各原图像进行归一化处理。图像数据集是基于相机采集的或是基于网络收集的用户的面部图像。对于图像数据集中的各图像进行归一化处理时,具体可以包括:
82.对于图像数据集中的各图像来讲,均需进行预处理,具体可以通过人脸搜索和人脸关键点检测算法,识别出图像中人脸的二维眼部关键点。本实施例中,定义二维眼部关键点为左、右眼内外眼角、嘴角左右两个点以及下巴共七个点,头部中心为左右眼外眼角与两个嘴角之间的中心点。
83.通过相机校准求取相机的内参矩阵和畸变系数,将检测到的2d关键点拟合到3d面部模型上。这样,面部关键点就大致定位在3d相机坐标空间中。通过比较三维人脸模型和二维关键点,利用solvepnp算法(opencv中求解pnp,perspective-n-point的一种方法),如果场景的三维结构已知,利用多个控制点在三维场景中的坐标及其在图像中的透视投影坐标即可求解出相机坐标系与表示三维场景结构的世界坐标系之间的绝对位姿关系,包括绝对平移向量t以及旋转矩阵r,以及眼睛在三维相机坐标空间中的三维位置。通过求取当前帧的r和t,对图像进行归一化处理,得到一幅无平移和旋转的归一化图像。
84.a2,搭建卷积神经网络模型。实际应用中,可以使用如图2所示的vgg16网络架构搭建卷积神经网络模型。本实施例的视线估计模型包括特征提取模块、特征加权模块和回归模块。
85.a3,利用经过归一化处理后的图像数据集训练卷积神经网络模型,得到能够根据输入图像估计出注视方向的视线估计模型。视线估计模型可以从归一化预处理的图像中预测注视向量相对于相机的俯仰角θ和偏航角φ。
86.训练模型:对于本实施例所进行的训练过程,设置了以下超参数用于训练网络进行注视向量预测:(1)adam优化器;(2)学习率为0.0001,衰减权重设为0.1;(3)基于镜像和高斯噪声的数据增强。
87.经过训练的深度神经网络得到的注视方向模型可以对视线方向进行预测。预测得到的注视方向可以为矢量形式(俯仰和偏航角的形式)是关于相机对应的归一化图像。利用图像预处理过程中得到的变换参数,将预测的虚拟注视向量转换为相对于真实摄像机的实际注视向量。
88.在本实施例中,上述步骤s102通过视线估计模型对视频流图像进行人像眼部检测以估计视频流图像中人像的注视方向可以包括:s102-1,检测视频流图像中的人脸区域,并定位所述人脸区域中的眼部区域;s102-2,提取所述视频流图像包含的眼部特征,根据所述眼部特征估计所述视频流图像中人像的注视方向。本实施例中,检测视频流图像中的人脸区域时,可以采用人脸检测算法进行检测,对于检测出的人脸区域,可以进一步识别人脸区域中的眼部区域,进而根据眼部区域的眼部特征估计人像的注视方向。本发明实施例提供了两种确定眼部区域的方式,下面分别对本实施例的两种眼部区域的提取方式进行详细说明。
89.第一种方式
90.本实施例中,可以采用视线估计模型实现人像以及眼部区域的确定。即,上述步骤s102-1检测视频流图像中的人脸区域,并定位所述人脸区域中的眼部区域可以进一步包括:
91.b11,通过所述视线估计模型利用人脸搜索和人脸关键点检测算法识别检测所述视频流图像中的人脸区域,并确定多个眼部关键点。
92.b12,将所述多个眼部关键点拟合到三维面部模型上,得到所述多个眼部关键点对应的三维眼部关键点。本实施例的三维面部模型依据相机空间坐标系建立,优选利用mediapipe生成有468个关键点的三维面部模型,进而将图像数据集中的图像中的面部二维关键点拟合到三维面部模型中,实现对图像中的人脸及其在三维面部模型上的三维眼部关键点的标记。当然,在生成三维面部模型时选用的关键点的数量可以根据不同的需求进行设置,本实施例对此不做限定。本实施例的三维面部模型对应相机坐标空间建立。通过相机校准求取相机的内参矩阵和畸变系数,将检测到的二维关键点拟合到三维面部模型上。这样,眼部关键点就大致定位在三维相机坐标空间中。最后,基于所述三维眼部关键点进行特征分析以估计所述视频流图像中人像的注视方向。对于得到三维眼部关键点之后,可以进行进一步特征分析以估计所述视频流图像中人像的注视方向。
93.如上述实施例提及,视线估计模型包括特征提取模块、特征加权模块和回归模块;特征提取模块可以设置有人脸特征提取器,将视频流图像输入至视线估计模型之后,可以先利用特征提取模块对输入的视频流图像中的人脸眼部区域进行局部特征提取。
94.在本实施例中,视线估计模型输入的图像是头部甚至大于头部范围,进行视线估计所需的有效特征仅仅是眼部及脸部部分关键点,因此,本实施例的实现估计模型中的特征提取模块具备两个主要作用:

降维;

提取有用的数据特征。本实施例的特征提取模块可以有效减小数据维度(识别一侧区域)。同时,将标准人脸作为基准,将三维人脸关键点投影到二维平面上,为了方便计算特征点,假设左右眼关于脸部中线对称,眼睛特征点包括:眼球的12个关键点、虹膜的8个点、瞳孔的8个点共28个关键点。提取特征时通过扩张卷积增大感受野,提取一侧眼睛的关键特征。
95.进一步地,上述步骤s102-2提取所述视频流图像包含的眼部特征,根据所述眼部特征估计所述视频流图像中人像的注视方向可以包括:
96.b13,识别人脸区域的中心线,将位于中心线任意一侧的眼部区域沿中心线翻转得到包含有左眼和右眼的眼部区域。对于识别处的人脸区域,可以进一步确定人脸区域的中心线,并沿中心线进行翻转以将眼部位于同一侧,以得到包含有双眼的眼部区域。其中,中心线可通过两只眼睛的瞳孔中心连线的垂线确定。
97.b14,基于所述眼部特征进行特征分析以估计所述视频流图像中人像的注视方向。
98.本实施例的视线估计模型的特征提取模块可以设置有人脸特征提取器,本实施例通过对人脸特征提取器进行改进,特征提取器对两只眼睛共享相同的权重,人脸的大部分关键点是左右对称的,是可以通过平移旋转来求取,通过翻转其中一个眼睛图像,使所有图像的眼睛都在同一侧,可以改进特征提取过程。
99.第二种方式
100.本发明可选实施例中,上述步骤s102-1检测视频流图像中的人脸区域,并定位所述人脸区域中的眼部区域还可以包括:检测所述视频流图像中的人脸区域,采用灰度积分投影法定位所述人脸区域中的眼部区域。灰度积分投影法是对人脸图像进行水平和垂直方向的投影,根据波谷、波峰的分布情况来定位眼睛区域。
101.可选地,采用灰度积分投影法定位所述人脸区域中的眼部区域可以包括:
102.b21,对检测出的人脸区域进行灰度处理,并做垂直积分投影,以计算人脸区域中双眼的横坐标。
103.假设图像大小为m
×
n,g(x,y)表示图像中(x,y)处的灰度值。图3为经过灰度处理的人脸区域。
104.在图像[x1,x2]区域的水平积分投影为h(y),其中x1,x2∈[0,m],且x2》x1:
[0105][0106]
在图像[y1,y2]区域的水平积分投影为v(x),其中y1,y2∈[0,n],且y2》y1:
[0107][0108]
对检测出的人脸区域做垂直积分投影,分别求出左右两边垂直投影的最小值对应的坐标,得到两眼的水平坐标,如图4、5所示。
[0109]
b22,采用差分投影方式计算人脸区域中双眼的纵坐标。
[0110]
在一些情况下,眉毛的灰度值会比眼球的灰度值要低,这时就会将眉毛误判为眼睛,从而会导致纵坐标定位不准确,如图6~7所示。针对这个问题,本实施例引进了水平差分法,因为眼部区域在水平方向的灰度变化比较丰富,即由皮肤经过眼白到瞳孔,再由瞳孔经过眼白到皮肤,而眉毛区域的灰度值分布比较集中,水平方向变化率小。本实施例在积分投影的基础上,引入了差分投影的方法,将积分投影和差分投影相结合来定位眼睛的区域。
[0111]
δg(x+1,y)=g(x+1,y)-g(x,y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0112]
此公式(3)为同一方向相邻像素点间的差分公式。
[0113][0114]
其中,s(y)表示差分绝对值的累加值,则变化率越大的累加值越大。
[0115]
p(y)=k1×
h(y)-k2×
s(y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0116]
其中,k1,k2是赋予二者的权值,由不同的实验对k1,k2在(0,1)取不同的数值。如图6所示,由式(1)计算出水平积分最小的两个波谷y1,y2,再通过式(4)计算出它们的差分投影s(y1),s(y2)。若s(y1)《s(y2),将h(y1)的值赋给h(y2),保证p(y)在眼睛处取得最小值,y的值即为眼睛的纵坐标。如图8~9所示,该实施例的方法能得到比较好的定位结果。根据具体实验给定阈值τ
x
,τy,当x《τ
x
,y《τy时得到眼部区域e(x,y)。
[0117]
b23,结合双眼的横坐标和纵坐标得到人脸区域左眼和右眼的坐标,以进行眼部区域的定位。在得到双眼的横坐标和纵坐标之后,即可分别得到左眼和右眼的坐标,进而实现眼睛的定位。
[0118]
实际应用中,在处理连续眼图的时候,有时会遇到睫毛或眼睑部分地甚至严重地遮蔽了瞳孔的情况,抑或由于眼睛本身的固有抖动,以及眨眼等因素,造成眼图处理程序无法提取出眼图数据,即所谓的数据中断。其中尤其眨眼带来的影响最大。据统计,正常人平均每分钟要不由自主地眨眼十几次,通常2~6s就要眨眼一次,每次眨眼要用0.2~0.4s时间,这使得人像视线在跟踪视场上被注视目标时存在困难,无法适应视场中快速变化的情况。所以,当出现数据中断,无法提取眼图数据的情况时,可以使用如下最佳线性逼近的方
法来预测该时刻被中断的眼图数据。即可以由过去帧预测出眨眼时,即第帧时的眼球区域。
[0119]
假设灰度函数g(x,y)在k个顺序时刻的值为记为g(ti)(i=1,2,...,k)。用如下公式对t时刻的灰度值g(t)进行最佳线性逼近:
[0120][0121]
ti时刻测量值与逼近值之间的误差为:δεi=g(ti)-a
0-a1ti,对k个点估计的均方误差为:
[0122][0123]
为了检验预测算法性能与实际位置的关系,本文采用均方差对其性能进行验证。即当式(7)最小时,采用最佳逼近就是使上式取得最小值。采用最小二乘法来计算逼近函数的系数过程如下:e(δεi)是关于自变量a0和a1的二元函数,欲使e(δεi)取到最小值要满足:
[0124][0125]
从而利用消元法或克莱姆法则计算出a0,a1。
[0126][0127]
表1给出在k=1,2,3,4,5情况下的最佳线性逼近算法预测器的解。对于插值方法而言,一般是k越大逼近效果越好。经实验测试,当k=3准确率已经有95%,考虑到计算量的问题,本实施例选择k=3来预测。即:
[0128][0129]
由此也可以得到眼球区域e(x,y)。
[0130]
进一步地,上述步骤s102-2提取所述视频流图像包含的眼部特征,根据所述眼部特征估计所述视频流图像中人像的注视方向可以包括:利用多个shi-tomasi角点联合定位的方式确定所述眼部区域的瞳孔轮廓点,依据所述瞳孔轮廓点提取所述视频流图像包含的眼部特征。
[0131]
利用shi-tomasi算法中,将得到的眼部区域e(x,y)向x,y方向分别移动微小位移u,v,然后根据灰度的变化来检测角点。当e(x,y)平移(u,v)后,其灰度变化量为:
[0132][0133]
式中ω(x,y)为加权函数,一般是选用高斯加权函数.
[0134]
对g(x+u,y+v)用泰勒公式展开:
[0135]
g(x+u,y+v)≈g(x,y)+ug
x
+vgyꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0136]
其中,g
x
、gy分别表示图像灰度在x、y方向上的梯度值。进而将式(10)推导为:
[0137][0138]
其中,
[0139][0140]
由式(13)可知,灰度值的变化大小取决于自相关函数m,计算矩阵m的两个特征值λ1,λ2,进行对比。通过实验给定一个阈值τ,计算角点响应函数r:
[0141]
r=min(λ1,λ2)》τ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0142]
即如果较小的特征值仍比给定的阈值大,则这个特征点就是shi-tomasi角点。
[0143]
利用多个shi-tomasi角点联合定位的方式进行瞳孔定位,以提高瞳孔定位的准确率。多角点联合定位公式为:
[0144][0145]
其中,ri为自相关函数m的两个特征值中较小的一个,n为角点的个数,c为最终的角点,即瞳孔中心,如图10所示。
[0146]
基于上述提取的眼部特征,上述步骤s102-2根据眼部特征估计视频流图像中人像的注视方向包括:
[0147]
c1,特征提取模块提取的视频流图像的眼部特征后输出眼部特征张量;提取特征时,主要通过拾取一侧的关键特征,使两只眼睛的图像通过这种方式更加相似(如图2所示),并且特征提取器可以更多地关注左眼或右眼的相关特征,而不是不重要的特征,借此
改进左右眼特征融合过程,提取的特征输出为特征张量t,t的高为h,宽为w。
[0148]
c2,特征加权模块生成并输出权重矩阵,基于眼部特征张量和权重矩阵得到加权后的眼部特征张量。进行空间加权时,输入主要是提取的特征张量t大小c
×w×
h,c为特征张量的通道数,空间加权模块主要有两个卷积层组成,卷积核大小为1
×
1,激活函数为relu,加权模块生成一个w
×
h的权重矩阵p,利用求出的权重矩阵p与每个通道的特征张量t相乘:
[0149]
p*tc=vcꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0150]
式(16)中,c为通道数,vc为加权后的张量。
[0151]
c3,回归模块对加权后的眼部特征张量进行特征整合以输出视频流图像中人像的注视角度,基于注视角度生成注视方向的方向向量。
[0152]
本实施例的回归模块有两层全连接层组成,在最后一层全连接层上训练了一层线性回归层,用于输出所需要的注视角度,按需要将角度转为单位方向向量g。
[0153]
定义损失函数:
[0154][0155]
式(17)中,代表通过模型训练得到的第i帧或第i张图像的方向向量,分别代表xyz空间坐标系下的三个值,代表实际的方向向量,三个分量的平方差定义为当前帧的损失项。
[0156]
经过回归模块进行处理后得到的得到三维注视方向,通常用一个三维单位向量g表示,或者用φ和θ分别表示眼球俯仰角和偏航角。通过视线估计模型估计得到角度俯仰角φ和偏航角θ,进而利用俯仰角φ和偏航角θ可计算出注视方向的向量,视线角度和视线的方向向量之间可进行相互转换,如图11所示,三维单位向量(ug,vg,wg)的求解方法:已知角度θ和φ,所以可得:
[0157][0158]
本实施例的视线评估模型采用的评价指标首先为损失函数的收敛程度,当收敛到一定的最小值时,模型训练的效果较好,另一个评价指标使用跨数据集和取视频流来验证模型的训练效果,取流(接入内置或者外置摄像头,使用opencv的videocapture方法识别摄像头或者视频,一般内置摄像头默认为0,输出每一帧画面前对图像进行处理,比如灰度处理,之后每一帧的图像来验证模型结果,输出方向向量)。
[0159]
本实施例提到的方法,通过训练视线估计模型来预测注视方向,设置一个改进的人脸特征提取器,由于特征提取器对两只眼睛共享相同的权重,人脸的大部分关键点是左右对称的,是可以通过平移旋转来求取,通过翻转其中一个眼睛图像,使所有眼睛图像的鼻子都在同一侧,可以改进特征提取过程,使两只眼睛的图像通过这种方式更加相似。输入的人脸图像经过人脸检测和眼睛检测算法输入到特征提取器中,提取的特征通过空间加权运算,灵活的增强眼睛的重要特征,使得预测精度更高。
[0160]
在得到视频流图像中人像的注视向量之后,即可执行上述步骤s103,基于注视方向估计得到人像在屏幕上的注视像素点。
[0161]
为了计算出屏幕上的注视点,需要将视线方向向量和屏幕转换到统一坐标系下,即统一转换到相机坐标系,通过实现两个偏转角所求的方向向量(式3)是已在相机坐标系下的,只需确定屏幕相对于相机的位置,相对位置可通过r、t矩阵确定,通过假设的位置关系(图12)将求取旋转矩阵r和平移矩阵t矩阵简化成求取屏幕和相机之间的俯仰角τ。
[0162]
可选地,屏幕注视点的几种解法:

纯几何方法:需要完全的几何关系,将视线向量和屏幕转换到相机坐标系下后,需要计算向量在屏幕上的投影坐标;

纯深度学习方法:不需要坐标系转换,直接建立向量和屏幕坐标点的回归关系;

几何方法与深度学习方法的结合:首先通过坐标系转换统一到同一相机坐标系下,之后通过建立视线方向向量和屏幕注视坐标之间的回归关系进行求解。下面针对第三种方法进行详细说明。
[0163]
在确定屏幕注视点之前,需要先建立回归模型,即,以下步骤d1~d3。
[0164]
d1,获取人像注视所述屏幕中多个指定位置点时的目标屏幕坐标点和目标注视向量;即,预先在屏幕上设置多个位置点
[0165]
d2,建立所述目标屏幕坐标点和目标注视向量之间的多组映射关系。
[0166]
也就是说,通过主动引导的方式建立目标屏幕坐标点和目标注视向量之间的多组映射关系,可选地,首先将电脑连接摄像头,读取视频流,求取相机坐标系和屏幕坐标系之间的转换参数,确定屏幕相对于相机的位置,之后需要用户进行协作,屏幕上显示一个逐渐缩小的圆,用户需要注视圆的中心,当圆缩小到一定程度时,需要用户按下键盘任意键来收集此时坐标点,由此获得当前帧的三维方向向量和屏幕坐标点,之后建立注视向量和屏幕坐标之间的映射关系。
[0167]
d3,基于所述多组映射关系学习能够基于注视向量得到屏幕坐标点的回归模型。
[0168]
进一步地,上述步骤s103基于所述注视方向估计得到人像在屏幕上的注视像素点可以包括:
[0169]
e1,基于所述注视方向对应的视线角度计算注视方向向量,如上述公式(3)。
[0170]
e2,利用所述回归模型基于所述注视方向估计得到人像在屏幕上的注视像素点。
[0171]
e2-1,计算相机坐标系和屏幕坐标系之间的几何关系。先计算屏幕相对于相机的俯仰角,进而基于所述俯仰角计算相机坐标系和屏幕坐标系之间的几何关系;所述几何关系包括旋转矩阵和平移矩阵。
[0172]
为了将预测的3d凝视向量(在摄像机坐标空间中)投影到屏幕上的2d注视点,需要知道屏幕相对于摄像机的位置。本实施例中,可以根据典型的网络摄像头-监视器放置情况(例如内置笔记本电脑网络摄像头或安装在监视器上的外部网络摄像头)进行一些假设,从而简化设置。
[0173]
假设屏幕平面的x
screen
轴水平向左,y
screen
轴数值向下,z
screen
轴为垂直于平面,相机位于屏幕上方,且相机坐标系下的x
camera-y
camera
平面与屏幕x
screen-y
screen
平面重合,但绕x轴有旋转角度(如图12所示),表示为z
screen
和z
camera
之间的俯仰角τ,因此可以设置:
[0174]
(1)相机与屏幕之间的翻滚和偏航角为0
°
,只需计算相机和屏幕之间的俯仰角τ;
[0175]
(2)相机固有矩阵参数已知,通过相机校准获得相机的内参矩阵camera_matrix和畸变系数dist_coe:
[0176][0177]
公式(19)中,相机内参矩阵camera_matrix的参数f
x
和fy代表焦距,c
x
和cy代表图像长和宽,畸变系数分为径向畸变系数k1,k2,k3和切向畸变系数p1,p2。由于注视点是视线方向向量和屏幕平面的交点,因此可以假设屏幕平面为z=0。
[0178]
相机坐标系到屏幕坐标系的转换需求取旋转矩阵r_matrix和平移矩阵t_matrix,设:
[0179][0180]
式(5)中,r_matrix代表旋转矩阵,τ代表屏幕相对于相机的俯仰角(可看作绕x轴旋转),t_matrix代表平移矩阵,δa,δb,δc代表屏幕相对于相机在空间上的平移分量,也可以理解为屏幕坐标系和相机坐标系各自对应的原点坐标在三个方向上的差值。
[0181]
可选地,可以先设置多个屏幕注视点p
screen
,引导用户注视,每个注视点的坐标直接对应屏幕坐标系下的(x
screen
,y
screen
,z
screen
),且此时眼睛在相机坐标系下的空间坐标(x
camera
,y
camera
,z
camera
)可通过识别关键点获得。注视方向相对于相机的俯仰角α可通过下式求取:
[0182][0183]
基于公式(21)计算得到的α和视线估计模型估计得到角度俯仰角φ,结合视线估计模型得到的角度φ,可得屏幕相对于相机的俯仰角代入公式(20)即可得到旋转矩阵r。
[0184]
e2-2,利用所述几何关系对所述注视方向向量进行坐标系转化得到参考注视向量。
[0185]
利用上述旋转矩阵,因为相机坐标系到屏幕坐标系的转换依靠旋转r和平移矩阵t,故可得:
[0186]
t_matrix=g
camera
·
r_matrix-g
screen
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(22)
[0187]
式(22)中,g
camera
为相机坐标系下的空间坐标,g
screen
为屏幕坐标系下的空间坐标,由此,给定任意相机坐标系下的坐标或向量,都可通过校准得到的旋转和平移矩阵转换到屏幕坐标系下,由此得到注视点在屏幕坐标系下的三维坐标(x
screen
,y
screen
,z
screen
),由于屏幕是xy平面,所以只需将(x
screen
,y
screen
)转为屏幕的像素坐标就得到了屏幕上的注视点。
[0188]
e2-3,利用所述回归模型对所述参考注视向量进行估计得到人像在屏幕上的注视像素点。
[0189]
摄像头相对于屏幕发生了变化,或者头部姿势、用户改变时,为了提高估计的精度,需要强化屏幕校准技术,用户通过查看屏幕上预定义的位置进行协作,实现回归模型可
以定期进行校准,三维视线向量和屏幕坐标点之间可看作是一个回归问题,通过求取式(23)参数的回归函数来估计注视点。屏幕校准数据是由空间视线的方向向量和其对应的真实屏幕坐标组成,训练校准模型从三维方向向量预测屏幕坐标。校准时可采用与上述步骤c2采用的建立映射关系采用的方式类似,此处不再赘述。
[0190]
本实施例的胡桂模型可以根据需求进行旋转。针对小样本数据,为防止过拟合,优先采用线性岭回归模型:
[0191][0192]
式中,表示l2正则化项,λ为惩罚系数,为第j帧预测的屏幕坐标点的x值,为第j帧实际的屏幕坐标点的x值,为第j帧预测的屏幕坐标点的y值,为第j帧实际的屏幕坐标点的y值。
[0193]
(此处,lasso回归可代替线性岭回归模型,与线性岭回归模型不同的是:线性岭回归是在损失函数上加了l2正则化项,而lasso回归是在损失函数上加了l1正则化项,相比于线性岭回归,lasso回归计算量要更小,且更能直观地突出重要特征,此时,损失函数可构建为:
[0194][0195]
式中,λ||ω||1表示l1正则化项,λ为惩罚系数,为第j帧预测的屏幕坐标点的x值,为第j帧实际的屏幕坐标点的x值,为第j帧预测的屏幕坐标点的y值,为第j帧实际的屏幕坐标点的y值),通过训练模型求解三维视线向量和屏幕坐标点的回归解。
[0196]
本发明实施例提出了一种基于深度学习的屏幕注视点估计方法,避免了传统方法因设备、光照、头部姿势、等因素造成的影响。本发明实施例提供的方法通过利用几何方法(先确定摄像头和屏幕相对位置)与深度学习方法(求解空间注视方向向量与屏幕坐标的回归函数)相结合的算法来估计屏幕注视点的坐标,实现了高精度、高自由度(头部可随意变动)的估计方法,在该方法中加入了lasso回归模型(或线性岭回归模型),避免了求解回归函数时因数据量过少而导致过拟合。
[0197]
本发明提供了一种基于深度学习的屏幕注视点估计方法,通过训练视线估计模型来预测注视方向,本实施例的视线估计模型中的特征提取器对两只眼睛共享相同的权重,通过翻转其中一个眼睛图像,使所有眼睛图像和鼻子都在同一侧,可以改进特征提取过程,使两只眼睛的图像通过这种方式更加相似。输入的人脸图像经过人脸检测和眼睛检测算法输入到特征提取器中,提取的特征通过空间加权运算,灵活的增强眼睛的重要特征,克服传统方法的影响,使得注视屏幕点估计精度更高。
[0198]
基于同一发明构思,本发明实施例还提供了一种基于深度学习的屏幕注视点估计装置,如图13所示,本实施例的基于深度学习的屏幕注视点估计装置可以包括:
[0199]
图像获取模块1310,用于获取视频流图像,将所述视频流数据输入预先训练好的视线估计模型;
[0200]
注视方向估计模块1320,用于通过所述视线估计模型对所述视频流图像进行人像
眼部检测以估计所述视频流图像中人像的注视方向;
[0201]
注视点确定模块1330,用于基于所述注视方向估计得到人像在屏幕上的注视像素点。
[0202]
在本发明一可选实施例中,如图14所示,注视方向估计模块1320可以包括:
[0203]
眼部定位单元1321,用于检测所述视频流图像中的人脸区域,并定位所述人脸区域中的眼部区域;
[0204]
注视方向估计单元1322,用于提取所述视频流图像包含的眼部特征,根据所述眼部特征估计所述视频流图像中人像的注视方向。
[0205]
在本发明一可选实施例中,眼部定位单元1321还可以用于:
[0206]
通过所述视线估计模型利用人脸搜索和人脸关键点检测算法识别检测所述视频流图像中的人脸区域,并确定多个眼部关键点;
[0207]
将所述多个眼部关键点拟合到三维面部模型上,得到所述多个眼部关键点对应的三维眼部关键点。
[0208]
在本发明一可选实施例中,注视方向估计单元1322还可以用于:
[0209]
识别所述人脸区域的中心线,将位于所述中心线任意一侧的眼部区域沿所述中心线翻转得到包含有左眼和右眼的眼部区域,以提取眼部特征;所述眼部特征包括左眼特征、右眼特征以及左眼和右眼的关联特征;
[0210]
基于所述眼部特征进行特征分析以估计所述视频流图像中人像的注视方向。
[0211]
在本发明一可选实施例中,所述视线估计模型包括特征提取模块、特征加权模块和回归模块;所述根据所述眼部特征估计所述视频流图像中人像的注视方向包括:
[0212]
所述特征提取模块用于提取的所述视频流图像的眼部特征后输出眼部特征张量;
[0213]
所述特征加权模块用于生成并输出权重矩阵,基于所述眼部特征张量和所述权重矩阵得到加权后的眼部特征张量;
[0214]
所述回归模块用于对加权后的眼部特征张量进行特征整合以输出所述视频流图像中人像的注视角度,基于所述注视角度生成注视方向的方向向量。
[0215]
在本发明一可选实施例中,如图14所示,本实施例的基于深度学习的屏幕注视点估计装置可以还可以包括;模型训练模块1340;
[0216]
模型训练模块1340用于:搭建卷积神经网络模型;
[0217]
利用经过归一化处理后的所述图像数据集训练所述卷积神经网络模型,得到能够根据输入图像估计出注视方向的视线估计模型。
[0218]
在本发明一可选实施例中,眼部定位单元1321还可以用于:
[0219]
检测所述视频流图像中的人脸区域,采用灰度积分投影法定位所述人脸区域中的眼部区域。
[0220]
在本发明一可选实施例中,眼部定位单元1321还可以用于:
[0221]
对检测出的人脸区域进行灰度处理,并做垂直积分投影,以计算人脸区域中双眼的横坐标;
[0222]
采用差分投影方式计算人脸区域中双眼的纵坐标;
[0223]
结合双眼的横坐标和纵坐标得到人脸区域左眼和右眼的坐标,以进行眼部区域的定位。
[0224]
在本发明一可选实施例中,注视方向估计单元1322还可以用于:
[0225]
利用多个shi-tomasi角点联合定位的方式确定所述眼部区域的瞳孔轮廓点,依据所述瞳孔轮廓点提取所述视频流图像包含的眼部特征。
[0226]
在本发明一可选实施例中,模型训练模块1340还可以用于:
[0227]
获取人像注视所述屏幕中多个指定位置点时的目标屏幕坐标点和目标注视向量;
[0228]
建立所述目标屏幕坐标点和目标注视向量之间的多组映射关系;
[0229]
基于所述多组映射关系学习能够基于注视向量得到屏幕坐标点的回归模型。
[0230]
在本发明一可选实施例中,注视点确定模块1330还可以用于:
[0231]
基于所述注视方向对应的视线角度计算注视方向向量;
[0232]
利用所述回归模型基于所述注视方向估计得到人像在屏幕上的注视像素点。
[0233]
在本发明一可选实施例中,注视点确定模块1330还可以用于:
[0234]
计算相机坐标系和屏幕坐标系之间的几何关系;
[0235]
利用所述几何关系对所述注视方向向量进行坐标系转化得到参考注视向量;
[0236]
利用所述回归模型对所述参考注视向量进行估计得到人像在屏幕上的注视像素点。
[0237]
在本发明一可选实施例中,注视点确定模块1330还可以用于:
[0238]
计算屏幕相对于相机的俯仰角;
[0239]
基于所述俯仰角计算相机坐标系和屏幕坐标系之间的几何关系;所述几何关系包括旋转矩阵和平移矩阵。
[0240]
本发明可选实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述实施例所述的基于深度学习的屏幕注视点估计方法。
[0241]
本发明可选实施例还提供了一种计算设备,所述计算设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行上述实施例所述的基于深度学习的屏幕注视点估计方法。
[0242]
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
[0243]
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
[0244]
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom)、随机存取存储器(ram),磁碟或者光盘等各种可以存储程序代码的介质。
[0245]
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一
计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
[0246]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1