视线估计方法、装置、电子设备及计算机可读存储介质与流程

文档序号:26911012发布日期:2021-10-09 15:05阅读:92来源:国知局
视线估计方法、装置、电子设备及计算机可读存储介质与流程

1.本发明涉及人工智能技术领域,尤其涉及一种视线估计方法、装置、电子设备,以及计算机可读存储介质。


背景技术:

2.随着计算机视觉、人工智能等领域的高速发展,视线估计技术的研究引起了广泛的关注。视线是分析人类行为和心理状态的一个重要的非语言线索,是人注意力与兴趣的表现之一,视线信息有助于推断人的内心状态或意图,可以更好地理解个体之间的互动。因此,视线估计在很多研究领域都发挥着重要的作用,如虚拟现实、医疗、在线教育学生状态分析、车辆驾驶等。
3.人眼视线估计通常从人眼图像中估计人的视线方向或注视点的位置。一般来说,视线估计方法可以分为基于模型的方法和基于表观的方法两大类。基于模型的方法的基本思想是基于眼睛角膜反射等特征,结合三维眼球先验知识,估计视线方向。具体地,通常将三维眼睛模型与检测到的眼睛特征相匹配,例如近红外角膜反射、瞳孔中心和虹膜轮廓。尽管基于模型的方法可以达到合理的精度,但大多数方法都需要专用设备,如红外光摄像机、立体/高清摄像机和rbg

d摄像机。而基于外观的方法则是直接提取人脸外观的视觉特征,训练模型,学习一个将外观映射到视线方向的模型,从而进行视线估计。然而,上述基于外观的方法未关注到视线内部的一些有效信息,从而模型不能学到有效信息。
4.由此可见,如何简便地提高视线估计的精度成为当前亟待解决的技术问题。


技术实现要素:

5.有鉴于此,本公开所解决的技术问题之一在于提供一种视线估计方法、装置、电子设备,以及计算机可读存储介质,用以解决上述技术问题至少之一。
6.根据本公开的第一方面,提供了一种视线估计方法。所述方法包括:获取待视线估计的脸部图像中的左眼部位图像和右眼部位图像;对所述脸部图像、所述左眼部位图像和所述右眼部位图像分别进行图像特征提取,以获得所述脸部图像的脸部特征数据、所述左眼部位图像的左眼部位特征数据和所述右眼部位图像的右眼部位特征数据;基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的俯仰角;基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的偏航角;基于所述脸部图像中眼部视线的俯仰角和偏航角,估计所述脸部图像中眼部视线的方向。
7.根据本公开的第二方面,提供了一种视线估计装置。所述装置包括:获取模块,用于获取待视线估计的脸部图像中的左眼部位图像和右眼部位图像;特征提取模块,用于对所述脸部图像、所述左眼部位图像和所述右眼部位图像分别进行图像特征提取,以获得所述脸部图像的脸部特征数据、所述左眼部位图像的左眼部位特征数据和所述右眼部位图像的右眼部位特征数据;第一预测模块,用于基于所述脸部特征数据、所述左眼部位特征数据
和所述右眼部位特征数据,预测所述脸部图像中眼部视线的俯仰角;第二预测模块,用于基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的偏航角;估计模块,用于基于所述脸部图像中眼部视线的俯仰角和偏航角,估计所述脸部图像中眼部视线的方向。
8.根据本公开的第三方面,提供了一种电子设备。所述电子设备包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开的第一方面所述的方法。
9.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据本公开的第一方面所述的方法。
10.根据本公开提供的视线估计方案,通过待视线估计的脸部图像的脸部特征数据、所述脸部图像中的左眼部位图像的左眼部位特征数据和所述脸部图像中的右眼部位图像的右眼部位特征数据,能够准确地预测所述脸部图像中眼部视线的俯仰角和偏航角。此外,通过所述脸部图像中眼部视线的俯仰角和偏航角,估计所述脸部图像中眼部视线的方向,能够简便地提高视线估计的精度。
附图说明
11.在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:图1示出了本公开示例性实施例的视线估计方法的步骤流程图;图2示出了本公开示例性实施例的俯仰角预测网络的结构示意图;图3示出了本公开示例性实施例中视线角度预测模型的结构示意图;图4示出了本公开示例性实施例的视线估计装置的结构示意图;图5示出了本公开示例性实施例的一种电子设备的结构示意图。
具体实施方式
12.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
13.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
14.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
15.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域
技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
16.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
17.参照图1,示出了本公开示例性实施例的视线估计方法的步骤流程图。
18.具体地,本公开示例性实施例提供的视线估计方法包括以下步骤:在步骤s101中,获取待视线估计的脸部图像中的左眼部位图像和右眼部位图像。
19.在本实施例中,待视线估计的脸部图像可为通过终端设备的摄像头拍摄获得的脸部图像或者从其它电子设备获取到的脸部图像。
20.在一些可选实施例中,在获取待视线估计的脸部图像中的左眼部位图像和右眼部位图像时,通过目标检测模型,对所述脸部图像分别进行左眼部位检测和右眼部位检测,以获得所述脸部图像的左眼部位检测结果和右眼部位检测结果;基于所述脸部图像的左眼部位检测结果和右眼部位检测结果,确定所述脸部图像中的左眼部位图像和右眼部位图像。籍此,通过目标检测模型,对脸部图像分别进行左眼部位检测和右眼部位检测,能够准确地获得脸部图像的左眼部位检测结果和右眼部位检测结果。此外,通过脸部图像的左眼部位检测结果和右眼部位检测结果,能够准确地确定脸部图像中的左眼部位图像和右眼部位图像。
21.在一个具体的例子中,当目标检测模型为用于检测目标所在的位置的外包框的模型时,脸部图像的左眼部位检测结果可为脸部图像的左眼部位所在的位置的外包框,脸部图像的右眼部位检测结果可为脸部图像的右眼部位所在的位置的外包框。在基于脸部图像的左眼部位检测结果和右眼部位检测结果,确定脸部图像中的左眼部位图像和右眼部位图像时,基于脸部图像的左眼部位所在的位置的外包框,对脸部图像进行分割,以获得脸部图像中的左眼部位图像;基于脸部图像的右眼部位所在的位置的外包框,对脸部图像进行分割,以获得脸部图像中的右眼部位图像。具体地,当目标检测模型为centernet网络时,脸部图像的左眼部位检测结果可为脸部图像的左眼部位的中心点、脸部图像的左眼部位的中心点的偏移量,以及脸部图像的左眼部位的中心点距离检测框左边和上边的距离;脸部图像的右眼部位检测结果可为脸部图像的右眼部位的中心点、脸部图像的右眼部位的中心点的偏移量,以及脸部图像的右眼部位的中心点距离检测框左边和上边的距离。在基于脸部图像的左眼部位检测结果和右眼部位检测结果,确定脸部图像中的左眼部位图像和右眼部位图像时,基于脸部图像的左眼部位的中心点、脸部图像的左眼部位的中心点的偏移量,以及脸部图像的左眼部位的中心点距离检测框左边和上边的距离,确定脸部图像的左眼部位所在的位置的检测框;基于脸部图像的左眼部位所在的位置的检测框,对脸部图像进行分割,以获得脸部图像中的左眼部位图像;基于脸部图像的右眼部位的中心点、脸部图像的右眼部位的中心点的偏移量,以及脸部图像的右眼部位的中心点距离检测框左边和上边的距离,确定脸部图像的右眼部位所在的位置的检测框;基于脸部图像的右眼部位所在的位置的检测框,对脸部图像进行分割,以获得脸部图像中的右眼部位图像。
22.在步骤s102中,对所述脸部图像、所述左眼部位图像和所述右眼部位图像分别进行图像特征提取,以获得所述脸部图像的脸部特征数据、所述左眼部位图像的左眼部位特征数据和所述右眼部位图像的右眼部位特征数据。
23.在本实施例中,脸部特征数据可为脸部特征表征向量,左眼部位特征数据可为左
眼部位特征表征向量,右眼部位特征数据可为右眼部位特征表征向量。
24.在一些可选实施例中,在对所述脸部图像、所述左眼部位图像和所述右眼部位图像分别进行图像特征提取时,通过视线角度预测模型中的脸部特征提取网络,对所述脸部图像进行图像特征提取,以获得所述脸部图像的脸部特征数据;通过所述视线角度预测模型中的左眼部位特征提取网络,对所述左眼部位图像进行图像特征提取,以获得所述左眼部位图像的左眼部位特征数据;通过所述视线角度预测模型中的右眼部位特征提取网络,对所述右眼部位图像进行图像特征提取,以获得所述右眼部位图像的右眼部位特征数据。籍此,通过视线角度预测模型中的脸部特征提取网络,对脸部图像进行图像特征提取,能够准确地获得脸部图像的脸部特征数据。通过视线角度预测模型中的左眼部位特征提取网络,对左眼部位图像进行图像特征提取,能够准确地获得左眼部位图像的左眼部位特征数据。此外,通过视线角度预测模型中的右眼部位特征提取网络,对右眼部位图像进行图像特征提取,能够准确地获得右眼部位图像的右眼部位特征数据。
25.在一个具体的例子中,视线角度预测模型可理解为用于预测视线角度的神经网络模型。脸部特征提取网络可为resnet50网络,作为视线角度预测模型的脸部主干网络,resnet50网络可以是由残差块、平均池化层和全连接层串联构建得到的神经网络。其中,残差块包括若干个具有残差连接的卷积层和池化层。脸部特征数据可为维度为1024维的脸部特征表征向量。左眼部位特征提取网络可为resnet18网络,作为视线角度预测模型的左眼主干网络,resnet18网络可以是由残差块、平均池化层和全连接层串联构建得到的神经网络。其中,残差块包括若干个具有残差连接的卷积层和池化层。左眼部位特征数据可为维度为512维的左眼部位特征表征向量。右眼部位特征提取网络可为resnet18网络,作为视线角度预测模型的右眼主干网络。右眼部位特征数据可为维度为512维的右眼部位特征表征向量。
26.在步骤s103中,基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的俯仰角。
27.在本实施例中,俯仰角可理解为眼部的眼球上下转动时眼部的瞳孔的中心线与眼部的正视线的夹角。
28.在一些可选实施例中,在基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的俯仰角时,通过视线角度预测模型中的俯仰角预测网络,基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的俯仰角的类别和偏移量;基于所述脸部图像中眼部视线的俯仰角的类别和偏移量,确定所述脸部图像中眼部视线的俯仰角。籍此,通过视线角度预测模型中的俯仰角预测网络,能够准确地预测脸部图像中眼部视线的俯仰角的类别和偏移量。此外,通过脸部图像中眼部视线的俯仰角的类别和偏移量,能够准确地确定脸部图像中眼部视线的俯仰角。
29.在一个具体的例子中,俯仰角预测网络可包括第一全连接层、输入端与第一全连接层的输出端连接的第二全连接层,以及输入端与第一全连接层的输出端连接的第三全连接层。如图2所示,在通过视线角度预测模型中的俯仰角预测网络,基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的俯仰角的类别和偏移量时,对所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数
据进行拼接,以获得拼接后的特征数据;通过所述俯仰角预测网络包括的第一全连接层,对所述拼接后的特征数据进行降维映射处理,以获得降维映射后的特征数据;通过所述俯仰角预测网络包括的第二全连接层,对所述降维映射后的特征数据进行再次的降维映射处理,以获得所述脸部图像中眼部视线的俯仰角的类别;通过所述俯仰角预测网络包括的第三全连接层,对所述降维映射后的特征数据进行再次的降维映射处理,以获得所述脸部图像中眼部视线的俯仰角的偏移量。其中,俯仰角的类别可采用n维的特征向量进行表征,n表示俯仰角的类别的总数,俯仰角的偏移量可采用1维的特征向量进行表征。
30.在一个具体的例子中,将维度为512维的左眼部位特征表征向量、维度为512维的右眼部位特征表征向量和维度为1024维的脸部特征表征向量进行拼接,以获得维度为2048维的拼接向量。在经过第一全连接层进行映射之后,获得维度为1024维的特征向量,之后再通过第二全连接层进行映射之后,获得维度为n维的类别表征向量。n取决于俯仰角的角度范围,如俯仰角的角度范围为[

90,90],可以定义俯仰角的类别为4类,也即是第一类:[

90,

40];第二类:[

40,0];第三类:[0,40];第四类:[40,90]。与此同时,维度为1024维的特征向量再通过第三全连接层进行映射之后,获得维度为1维的偏移量表征向量。
[0031]
在一些可选实施例中,在基于所述脸部图像中眼部视线的俯仰角的类别和偏移量,确定所述脸部图像中眼部视线的俯仰角时,确定所述俯仰角的类别所对应的俯仰角区间;基于所述俯仰角区间的角度跨度、所述俯仰角区间的起始角度和所述俯仰角的偏移量,确定所述脸部图像中眼部视线的俯仰角。籍此,通过脸部图像中眼部视线的俯仰角的类别所对应的俯仰角区间和脸部图像中眼部视线的俯仰角的偏移量,能够准确地确定脸部图像中眼部视线的俯仰角。
[0032]
在一个具体的例子中,如果脸部图像中眼部视线的俯仰角的类别为第三类,并且脸部图像中眼部视线的俯仰角的偏移量为0.5,则确定第三类所对应的俯仰角区间为[0,40],并通过偏移量乘俯仰角区间的角度跨度加上俯仰角区间的起始角度得到最终的视线的俯仰角为20度。
[0033]
在步骤s104中,基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的偏航角。
[0034]
在本实施例中,偏航角可理解为眼部的眼球左右转动时眼部的瞳孔的中心线与眼部的正视线的夹角。
[0035]
在一些可选实施例中,在基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的偏航角时,通过视线角度预测模型中的偏航角预测网络,基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的偏航角的类别和偏移量;基于所述脸部图像中眼部视线的偏航角的类别和偏移量,确定所述脸部图像中眼部视线的偏航角。籍此,通过视线角度预测模型中的偏航角预测网络,能够准确地预测出脸部图像中眼部视线的偏航角的类别和偏移量。此外,通过脸部图像中眼部视线的偏航角的类别和偏移量,能够准确地确定脸部图像中眼部视线的偏航角。
[0036]
在一个具体的例子中,偏航角预测网络可包括第四全连接层、输入端与第四全连接层的输出端连接的第五全连接层,以及输入端与第四全连接层的输出端连接的第六全连接层。在通过视线角度预测模型中的偏航角预测网络,基于所述脸部特征数据、所述左眼部
位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的偏航角的类别和偏移量时,对所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据进行拼接,以获得拼接后的特征数据;通过所述偏航角预测网络包括的第四全连接层,对所述拼接后的特征数据进行降维映射处理,以获得降维映射后的特征数据;通过所述偏航角预测网络包括的第五全连接层,对所述降维映射后的特征数据进行再次的降维映射处理,以获得所述脸部图像中眼部视线的偏航角的类别;通过所述偏航角预测网络包括的第六全连接层,对所述降维映射后的特征数据进行再次的降维映射处理,以获得所述脸部图像中眼部视线的偏航角的偏移量。其中,偏航角的类别可采用m维的特征向量进行表征,m表示偏航角的类别的总数,偏航角的偏移量可采用1维的特征向量进行表征。
[0037]
在一个具体的例子中,将维度为512维的左眼部位特征表征向量、维度为512维的右眼部位特征表征向量和维度为1024维的脸部特征表征向量进行拼接,以获得维度为2048维的拼接向量。在经过第四全连接层进行映射之后,获得维度为1024维的特征向量,之后再通过第五全连接层进行映射之后,获得维度为m维的类别表征向量。m取决于偏航角的角度范围,如偏航角的角度范围为[

120,120],可以定义偏航角的类别为6类,也即是第一类:[

120,

90];第二类:[

90,

40];第三类:[

40,0];第四类:[0,40];第五类:[40,90] ;第六类:[90,120]。与此同时,维度为1024维的特征向量再通过第六全连接层进行映射之后,获得维度为1维的偏移量表征向量。
[0038]
在一些可选实施例中,在基于所述脸部图像中眼部视线的偏航角的类别和偏移量,确定所述脸部图像中眼部视线的偏航角时,确定所述偏航角的类别所对应的偏航角区间;基于所述偏航角区间的角度跨度、所述偏航角区间的起始角度和所述偏航角的偏移量,确定所述脸部图像中眼部视线的偏航角。籍此,通过脸部图像中眼部视线的偏航角的类别所对应的偏航角区间和脸部图像中眼部视线的偏航角的偏移量,能够准确地确定脸部图像中眼部视线的偏航角。
[0039]
在一个具体的例子中,如果脸部图像中眼部视线的偏航角的类别为第五类,并且脸部图像中眼部视线的偏航角的偏移量为0.7,则确定第五类所对应的偏航角区间为[40,90],并通过偏移量乘偏航角区间的角度跨度加上偏航角区间的起始角度得到最终的视线的偏航角为75度。
[0040]
在步骤s105中,基于所述脸部图像中眼部视线的俯仰角和偏航角,估计所述脸部图像中眼部视线的方向。
[0041]
在一些可选实施例中,在基于所述脸部图像中眼部视线的俯仰角和偏航角,估计所述脸部图像中眼部视线的方向时,基于所述脸部图像中眼部视线的俯仰角和偏航角,确定所述脸部图像中眼部视线的方向向量;基于所述脸部图像中眼部视线的方向向量,估计所述脸部图像中眼部视线的方向。籍此,通过脸部图像中眼部视线的方向向量,能够准确地估计脸部图像中眼部视线的方向。
[0042]
在一个具体的例子中,将零度的俯仰角定义为水平,即z等于0,并将偏航角定义为相对于x轴的逆时针方向,则脸部图像中眼部视线的方向向量的x坐标为脸部图像中眼部视线的偏航角的余弦值与所述脸部图像中眼部视线的俯仰角的余弦值的乘积,脸部图像中眼部视线的方向向量的y坐标为脸部图像中眼部视线的偏航角的正弦值与脸部图像中眼部视线的俯仰角的余弦值的乘积,脸部图像中眼部视线的方向向量的z坐标为脸部图像中眼部
视线的俯仰角的正弦值。
[0043]
在一些可选实施例中,通过以下方式训练所述视线角度预测模型:基于脸部图像样本、所述脸部图像样本中的左眼部位图像样本和所述脸部图像样本中的右眼部位图像样本,获得所述脸部图像样本中眼部视线的俯仰角的类别预测数据和偏移量预测数据,以及所述脸部图像样本中眼部视线的偏航角的类别预测数据和偏移量预测数据;基于所述脸部图像样本中眼部视线的俯仰角的类别预测数据和类别标注数据、所述脸部图像样本中眼部视线的俯仰角的偏移量预测数据和偏移量标注数据、所述脸部图像样本中眼部视线的偏航角的类别预测数据和类别标注数据,以及所述脸部图像样本中眼部视线的偏航角的偏移量预测数据和偏移量标注数据,训练所述视线角度预测模型。其中,俯仰角的类别预测数据和偏移量预测数据可以分别为俯仰角的类别预测向量和偏移量预测向量,偏航角的类别预测数据和偏移量预测数据可以分别为偏航角的类别预测向量和偏移量预测向量。俯仰角的类别标注数据和偏移量标注数据可以分别为俯仰角的类别标注向量和偏移量标注向量,偏航角的类别标注数据和偏移量标注数据可以分别为偏航角的类别标注向量和偏移量标注向量。籍此,通过脸部图像样本中眼部视线的俯仰角的类别预测数据和类别标注数据、脸部图像样本中眼部视线的俯仰角的偏移量预测数据和偏移量标注数据、脸部图像样本中眼部视线的偏航角的类别预测数据和类别标注数据,以及脸部图像样本中眼部视线的偏航角的偏移量预测数据和偏移量标注数据,能够有效地训练视线角度预测模型。
[0044]
在一个具体的例子中,所述训练所述视线角度预测模型的方式还包括:通过类别损失函数,确定所述脸部图像样本中眼部视线的俯仰角的类别预测数据和类别标注数据的第一损失值,以及所述脸部图像样本中眼部视线的偏航角的类别预测数据和类别标注数据的第二损失值;通过偏移量损失函数,确定所述脸部图像样本中眼部视线的俯仰角的偏移量预测数据和偏移量标注数据的第三损失值,以及所述脸部图像样本中眼部视线的偏航角的偏移量预测数据和偏移量标注数据的第四损失值;基于所述第一损失值、所述第二损失值、所述第三损失值,以及所述第四损失值,调整所述视线角度预测模型的模型参数。籍此,通过第一损失值、第二损失值、第三损失值,以及第四损失值,能够准确地调整视线角度预测模型的模型参数。
[0045]
在一个具体的例子中,类别损失函数可采用如下的交叉熵损失函数:偏移量损失函数可采用如下的l1损失函数:其中,表示真实标注数据,表示模型预测数据,表示类别损失值,表示偏移量损失值。
[0046]
具体地,可通过交叉熵损失函数,计算第一损失值和第二损失值。可通过l1损失函数,计算第三损失值和第四损失值。
[0047]
在一个具体的例子中,在基于第一损失值、第二损失值、第三损失值,以及第四损失值,调整视线角度预测模型的模型参数时,计算第一损失值、第二损失值、第三损失值,以及第四损失值的和;基于第一损失值、第二损失值、第三损失值,以及第四损失值的和,调整视线角度预测模型的模型参数。在调整视线角度预测模型的模型参数时,可采用反向传播算法,或者随机梯度下降算法来调整视线角度预测模型的模型参数。
[0048]
在一个具体的例子中,通过确定第一损失值、第二损失值、第三损失值,以及第四损失值,对当前获得的俯仰角的类别预测数据、俯仰角的偏移量预测数据、偏航角的类别预测数据以及偏航角的偏移量预测数据进行评估,以作为后续训练视线角度预测模型的依据。具体地,可将第一损失值、第二损失值、第三损失值,以及第四损失值反向传输给视线角度预测模型,从而迭代地训练视线角度预测模型。视线角度预测模型的训练是一个迭代的过程,本实施例仅对其中的一次训练过程进行了说明,但本领域技术人员应当明了,对视线角度预测模型的每次训练都可采用该训练方式,直至完成视线角度预测模型的训练。
[0049]
在本实施例中,利用渐进式的方式来提升视线估计的精度。具体地,首先根据视线的俯仰角的范围来确定视线的俯仰角的类别标签,并根据视线的偏航角的范围来确定视线的偏航角的类别标签。然后,通过多任务的学习方式,对视线的俯仰角的类别、视线的俯仰角的偏移量、视线的偏航角的类别以及视线的偏航角的偏移量进行学习,这样做的好处在于视线角度预测模型可以根据视线的俯仰角的类别和视线的偏航角的类别自动地学到视线的俯仰角的范围的信息和视线的偏航角的范围的信息,从而将某个类别的俯仰角或者偏航角限制在某个范围,从而降低大角度的俯仰角或者偏航角的误差,这也是渐进式的体现。多任务学习的体现在于第一损失值、第二损失值、第三损失值,以及第四损失值的和,即视线角度预测模型对俯仰角或者偏航角进行类别和偏移量的预测。
[0050]
在一个具体的例子中,如图3所示,视线角度预测模型包括左眼部位特征提取网络、右眼部位特征提取网络、脸部特征提取网络、俯仰角预测网络和偏航角预测网络。其中,左眼部位特征提取网络的输出端分别与俯仰角预测网络和偏航角预测网络的输入端连接,右眼部位特征提取网络的输出端分别与俯仰角预测网络和偏航角预测网络的输入端连接,脸部特征提取网络的输出端分别与俯仰角预测网络和偏航角预测网络的输入端连接。左眼部位特征提取网络的输入为左眼部位图像,右眼部位特征提取网络的输入为右眼部位图像,脸部特征提取网络的输入为脸部图像,俯仰角预测网络的输出为俯仰角的类别和偏移量,偏航角预测网络的输出为偏航角的类别和偏移量。
[0051]
根据本公开示例性实施例提供的视线估计方法,通过待视线估计的脸部图像的脸部特征数据、脸部图像中的左眼部位图像的左眼部位特征数据和脸部图像中的右眼部位图像的右眼部位特征数据,能够准确地预测出脸部图像中眼部视线的俯仰角和偏航角。此外,通过脸部图像中眼部视线的俯仰角和偏航角,估计脸部图像中眼部视线的方向,能够简便地提高视线估计的精度。
[0052]
本实施例提供的视线估计方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、pc机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(pda)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如google glass、oculus rift、hololens、gear vr)等。
[0053]
图4示出了本公开示例性实施例的视线估计装置的结构示意图,参见图4,该装置包括:获取模块401,用于获取待视线估计的脸部图像中的左眼部位图像和右眼部位图像;特征提取模块402,用于对所述脸部图像、所述左眼部位图像和所述右眼部位图像分别进行图像特征提取,以获得所述脸部图像的脸部特征数据、所述左眼部位图像的左眼
部位特征数据和所述右眼部位图像的右眼部位特征数据;第一预测模块403,用于基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的俯仰角;第二预测模块404,用于基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的偏航角;估计模块405,用于基于所述脸部图像中眼部视线的俯仰角和偏航角,估计所述脸部图像中眼部视线的方向。
[0054]
在本公开示例性实施例中,通过待视线估计的脸部图像的脸部特征数据、脸部图像中的左眼部位图像的左眼部位特征数据和脸部图像中的右眼部位图像的右眼部位特征数据,能够准确地预测出脸部图像中眼部视线的俯仰角和偏航角。此外,通过脸部图像中眼部视线的俯仰角和偏航角,估计脸部图像中眼部视线的方向,能够简便地提高视线估计的精度。
[0055]
在一种可能的实现方式中,所述获取模块401还用于:通过目标检测模型,对所述脸部图像分别进行左眼部位检测和右眼部位检测,以获得所述脸部图像的左眼部位检测结果和右眼部位检测结果;基于所述脸部图像的左眼部位检测结果和右眼部位检测结果,确定所述脸部图像中的左眼部位图像和右眼部位图像。
[0056]
在一种可能的实现方式中,所述特征提取模块402还用于:通过视线角度预测模型中的脸部特征提取网络,对所述脸部图像进行图像特征提取,以获得所述脸部图像的脸部特征数据;通过所述视线角度预测模型中的左眼部位特征提取网络,对所述左眼部位图像进行图像特征提取,以获得所述左眼部位图像的左眼部位特征数据;通过所述视线角度预测模型中的右眼部位特征提取网络,对所述右眼部位图像进行图像特征提取,以获得所述右眼部位图像的右眼部位特征数据。
[0057]
在一种可能的实现方式中,所述第一预测模块403,包括:第一预测子模块,用于通过视线角度预测模型中的俯仰角预测网络,基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的俯仰角的类别和偏移量;第一确定子模块,用于基于所述脸部图像中眼部视线的俯仰角的类别和偏移量,确定所述脸部图像中眼部视线的俯仰角。
[0058]
在一种可能的实现方式中,所述第一确定子模块,还用于:确定所述俯仰角的类别所对应的俯仰角区间;基于所述俯仰角区间的角度跨度、所述俯仰角区间的起始角度和所述俯仰角的偏移量,确定所述脸部图像中眼部视线的俯仰角。
[0059]
在一种可能的实现方式中,所述第二预测模块404,包括:第二预测子模块,用于通过视线角度预测模型中的偏航角预测网络,基于所述脸部特征数据、所述左眼部位特征数据和所述右眼部位特征数据,预测所述脸部图像中眼部视线的偏航角的类别和偏移量;第二确定子模块,用于基于所述脸部图像中眼部视线的偏航角的类别和偏移量,确定所述脸部图像中眼部视线的偏航角。
[0060]
在一种可能的实现方式中,所述第二确定子模块,还用于:确定所述偏航角的类别所对应的偏航角区间;基于所述偏航角区间的角度跨度、所述偏航角区间的起始角度和所述偏航角的偏移量,确定所述脸部图像中眼部视线的偏航角。
[0061]
在一种可能的实现方式中,所述估计模块405,还用于:基于所述脸部图像中眼部
视线的俯仰角和偏航角,确定所述脸部图像中眼部视线的方向向量;基于所述脸部图像中眼部视线的方向向量,估计所述脸部图像中眼部视线的方向。
[0062]
在一种可能的实现方式中,所述装置还包括:获得模块,用于基于脸部图像样本、所述脸部图像样本中的左眼部位图像样本和所述脸部图像样本中的右眼部位图像样本,获得所述脸部图像样本中眼部视线的俯仰角的类别预测数据和偏移量预测数据,以及所述脸部图像样本中眼部视线的偏航角的类别预测数据和偏移量预测数据;训练模块,用于基于所述脸部图像样本中眼部视线的俯仰角的类别预测数据和类别标注数据、所述脸部图像样本中眼部视线的俯仰角的偏移量预测数据和偏移量标注数据、所述脸部图像样本中眼部视线的偏航角的类别预测数据和类别标注数据,以及所述脸部图像样本中眼部视线的偏航角的偏移量预测数据和偏移量标注数据,训练所述视线角度预测模型。
[0063]
在一种可能的实现方式中,所述训练模块,还用于:通过类别损失函数,确定所述脸部图像样本中眼部视线的俯仰角的类别预测数据和类别标注数据的第一损失值,以及所述脸部图像样本中眼部视线的偏航角的类别预测数据和类别标注数据的第二损失值;通过偏移量损失函数,确定所述脸部图像样本中眼部视线的俯仰角的偏移量预测数据和偏移量标注数据的第三损失值,以及所述脸部图像样本中眼部视线的偏航角的偏移量预测数据和偏移量标注数据的第四损失值;基于所述第一损失值、所述第二损失值、所述第三损失值,以及所述第四损失值,调整所述视线角度预测模型的模型参数。
[0064]
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的视线估计方法。
[0065]
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的视线估计方法。
[0066]
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的视线估计方法。
[0067]
参考图5,现将描述可以作为本公开的服务器或客户端的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0068]
如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0069]
电子设备500中的多个部件连接至i/o接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向电子设备500输入信息的任何类型的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元507可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元504可以包括但不限于磁盘、光盘。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
[0070]
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理。例如,在一些实施例中,视线估计方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到电子设备500上。在一些实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视线估计方法。
[0071]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0072]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0073]
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0074]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的
反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0075]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0076]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1