视线估计模型建立方法、装置、电子设备及存储介质

文档序号:30701589发布日期:2022-07-09 19:59阅读:171来源:国知局
视线估计模型建立方法、装置、电子设备及存储介质

1.本技术涉及人工智能技术领域,尤其涉及一种视线估计模型建立方法、装置、电子设备及存储介质。


背景技术:

2.视线是揭示人理解外界环境方式的重要线索。视线估计技术在如人机交互、虚拟现实、增强现实、医学分析等领域得到了诸多应用。近年来,视线估计技术吸引了诸多关注。视线估计技术,是指通过拍摄到的用户面部图像,计算用户的视线方向的技术。
3.目前,前沿技术通常使用卷积神经网络解决视线估计问题。其中,输入为彩色摄像头拍摄的用户面部图像,输出为一个3维的方向向量,代表相机坐标系中的用户视线方向。其特点在于仅需要单个网络摄像头拍摄用户面部图片,且不需要个人校准即可追踪用户视线方向。
4.现有技术中,视线估计模型训练过程需要大量包含视线方向标注的用户面部图像输入来提高视线估计模型的精确度。然而,实际应用中难以获取大量包含视线方向标注的用户面部图像,导致训练的视线估计模型精确度低。


技术实现要素:

5.本技术提供一种视线估计模型建立方法、装置、电子设备及存储介质,用于提高视线估计模型的精确度。
6.第一方面,本技术提供一种视线估计模型建立方法,包括:迭代执行以下处理,直至当前的第一旋转分布损失满足第一约束条件:将第一用户面部图片以多个第一角度旋转得到多个第一旋转图片,所述第一用户面部图片包含视线方向标注;将所述多个第一旋转图片作为视线估计模型的输入,根据所述视线估计模型输出的多个第一视线估计结果、所述第一角度以及所述视线方向标注,通过第一旋转分布损失的计算,对所述视线估计模型进行约束调整;迭代执行以下处理,直至当前的第二旋转分布损失满足第二约束条件,以获得训练完成的视线估计模型:将第二用户面部图片以多个第二角度旋转得到多个第二旋转图片,所述第二用户面部图片不包含视线方向标注;以及,将所述多个第二旋转图片的部分图片输入所述视线估计模型,获得所述视线估计模型输出的多个第二视线估计结果;将所述多个第二旋转图片的其余图片输入伪标签生成模型,获得所述伪标签生成模型输出的多个第三视线估计结果;根据所述多个第二视线估计结果、所述多个第三视线估计结果以及所述第二角度,通过第二旋转分布损失的计算,对所述视线估计模型进行约束调整。
7.在一种可能的实施方式中,所述第一约束条件包括第一旋转分布损失不高于预定的阈值;所述将所述多个第一旋转图片作为视线估计模型的输入,根据所述视线估计模型输出的多个第一视线估计结果、所述第一角度以及所述视线方向标注,通过旋转分布损失计算,对所述视线估计模型进行约束调整,包括:根据所述多个第一角度,建立对应的第一旋转矩阵;以及,根据所述第一旋转矩阵,获得所述多个第一视线估计结果经反向旋转后的
多个第一结果;计算每个第一结果和所述视线方向标注的误差,获得所述多个第一结果对应的第一绝对误差;以及,计算所述多个第一结果内部的第一一致性误差;根据当前的第一旋转分布损失,对所述视线估计模型进行约束调整;其中,所述第一旋转分布损失为所述第一绝对误差和所述一第一致性误差之和。
8.在一种可能的实施方式中,所述第二约束条件包括第二旋转分布损失不高于预定的阈值;所述根据所述多个第二视线估计结果、所述多个第三视线估计结果以及所述第二角度,通过第二旋转分布损失的计算,对所述视线估计模型进行约束调整,包括:根据所述第二角度,建立对应的第二旋转矩阵;以及,根据所述第二旋转矩阵,分别将所述多个第二视线估计结果和所述多个第三视线估计结果进行反向旋转,获得多个第二结果和多个第三结果;根据所述多个第三结果,得到所述第二用户面部图片的伪视线方向标注;计算每个第二结果和所述伪视线方向标注的误差,获得所述多个第二结果对应的第二绝对误差;以及,计算所述多个第二结果内部的第二一致性误差;根据当前的第二旋转分布损失,对所述视线估计模型进行约束调整;其中,所述第二旋转分布损失为所述第二绝对误差和所述第二一致性误差之和。
9.在一种可能的实施方式中,所述根据所述多个第三结果,得到所述第二用户面部图片的伪视线方向标注,包括:计算所述多个第三结果的平均值,作为所述第二用户面部图片的伪视线方向标注。
10.在一种可能的实施方式中,所述根据当前的第二旋转分布损失,对所述视线估计模型进行约束调整之后,还包括:获取当前视线估计模型的模型参数和所述伪标签生成模型的模型参数;通过对所述视线估计模型的模型参数和所述伪标签生成模型的模型参数进行加权平均计算,获得调整参数;根据所述调整参数,对所述伪标签生成模型的模型参数进行调整。
11.第二方面,本技术提供一种视线估计模型建立装置,包括:预训练模块,用于迭代执行以下处理,直至当前的第一旋转分布损失满足第一约束条件:将第一用户面部图片以多个第一角度旋转得到多个第一旋转图片,所述第一用户面部图片包含视线方向标注;将所述多个第一旋转图片作为视线估计模型的输入,根据所述视线估计模型输出的多个第一视线估计结果、所述第一角度以及所述视线方向标注,通过第一旋转分布损失的计算,对所述视线估计模型进行约束调整;建模模块,用于迭代执行以下处理,直至当前的第二旋转分布损失满足第二约束条件,以获得训练完成的视线估计模型:将第二用户面部图片以多个第二角度旋转得到多个第二旋转图片,所述第二用户面部图片不包含视线方向标注;以及,将所述多个第二旋转图片的部分图片输入所述视线估计模型,获得所述视线估计模型输出的多个第二视线估计结果;将所述多个第二旋转图片的其余图片输入伪标签生成模型,获得所述伪标签生成模型输出的多个第三视线估计结果;根据所述多个第二视线估计结果、所述多个第三视线估计结果以及所述第二角度,通过第二旋转分布损失的计算,对所述视线估计模型进行约束调整。
12.在一种可能的实施方式中,所述预训练模块,具体用于根据所述多个第一角度,建立对应的第一旋转矩阵;以及,根据所述第一旋转矩阵,获得所述多个第一视线估计结果经反向旋转后的多个第一结果;所述预训练模块,具体还用于计算每个第一结果和所述视线方向标注的误差,获得所述多个第一结果对应的第一绝对误差;以及,计算所述多个第一结
果内部的第一一致性误差;所述预训练模块,具体还用于根据当前的第一旋转分布损失,对所述视线估计模型进行约束调整;其中,所述第一旋转分布损失为所述绝对误差和所述一致性误差之和。
13.在一种可能的实施方式中,所述建模模块,具体用于根据所述第二角度,建立对应的第二旋转矩阵;以及,根据所述第二旋转矩阵,分别将所述多个第二视线估计结果和所述多个第三视线估计结果进行反向旋转,获得多个第二结果和多个第三结果;所述建模模块,具体还用于根据所述多个第三结果,得到所述第二用户面部图片的伪视线方向标注;所述建模模块,具体还用于计算每个第二结果和所述伪视线方向标注的误差,获得所述多个第二结果对应的第二绝对误差;以及,计算所述多个第二结果内部的第二一致性误差;所述建模模块,具体还用于根据当前的第二旋转分布损失,对所述视线估计模型进行约束调整;其中,所述第二旋转分布损失为所述第二绝对误差和所述第二一致性误差之和。
14.在一种可能的实施方式中,所述建模模块,具体用于计算所述多个第三结果的平均值,作为所述第二用户面部图片的伪视线方向标注。
15.在一种可能的实施方式中,所述装置还包括:获取模块,用于获取当前视线估计模型的模型参数和所述伪标签生成模型的模型参数;调整模块,用于通过对所述视线估计模型的模型参数和所述伪标签生成模型的模型参数进行加权平均计算,获得调整参数;所述调整模块,还用于根据所述调整参数,对所述伪标签生成模型的模型参数进行调整。
16.第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面中任一项所述的方法。
17.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行如第一方面中任一项所述的方法。
18.本技术提供的视线估计模型建立方法、装置、电子设备及存储介质,根据包含视线方向标注的用户面部图片以多个角度旋转得到的图片,基于旋转分布损失的计算,对视线估计模型迭代多次进行约束调整,以完成预训练;并且预训练完成后,根据不包含视线方向标注的用户面部图片以多个角度旋转得到的图片,基于伪标签生成模型提供的伪视线方向标注和旋转分布损失的计算,对伪标签生成模型和视线估计模型迭代多次进行约束调整,以完成视线估计模型的训练。以上方案,能够基于少量包含视线方向标注的图片,获得大量训练样本进行视线估计模型的训练,从而提高视线估计模型的精确度。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
20.图1为本技术实施例提供的一种视线估计模型建立方法的应用场景示意图;
21.图2为本技术实施例一提供的一种视线估计模型建立方法的流程示意图;
22.图3为本技术实施例提供的视线估计模型预训练示例;
23.图4为本技术实施例提供的旋转分布损失计算过程示例;
24.图5为本技术实施例提供的视线估计模型适配实际场景的训练流程示例;
25.图6为本技术实施例二中提供的一种视线估计模型建立装置的结构示意图;
26.图7为本技术实施例三中提供的一种视线估计模型建立装置的装置框图;
27.图8为本技术实施例四中提供的一种电子设备的结构示意图。
28.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
29.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
30.首先对涉及的名词进行解释:
31.卷积神经网络(convolutional neural networks,简称cnn):是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。
32.图1为本技术实施例提供的一种视线估计模型建立方法的应用场景示意图。结合图示的场景进行举例:对用户面部图片进行多次旋转,得到一组旋转图片。将一组旋转图片输入基于卷积神经网络的视线估计模型进行训练,视线估计模型输出视线估计结果。根据视线估计结果计算旋转分布损失,依据旋转分布损失对视线估计模型进行调整。
33.下面结合以下各实施例对本技术实施例的方案进行示例介绍。
34.实施例一
35.图2为本技术实施例一提供的一种视线估计模型建立方法的流程示意图,该方法包括以下步骤:
36.s101、迭代执行以下处理,直至当前的第一旋转分布损失满足第一约束条件:将第一用户面部图片以多个第一角度旋转得到多个第一旋转图片,所述第一用户面部图片包含视线方向标注;将所述多个第一旋转图片作为视线估计模型的输入,根据所述视线估计模型输出的多个第一视线估计结果、所述第一角度以及所述视线方向标注,通过第一旋转分布损失的计算,对所述视线估计模型进行约束调整;
37.s102、迭代执行以下处理,直至当前的第二旋转分布损失满足第二约束条件,以获得训练完成的视线估计模型:将第二用户面部图片以多个第二角度旋转得到多个第二旋转图片,所述第二用户面部图片不包含视线方向标注;以及,将所述多个第二旋转图片的部分图片输入所述视线估计模型,获得所述视线估计模型输出的多个第二视线估计结果;将所述多个第二旋转图片的其余图片输入伪标签生成模型,获得所述伪标签生成模型输出的多个第三视线估计结果;根据所述多个第二视线估计结果、所述多个第三视线估计结果以及所述第二角度,通过第二旋转分布损失的计算,对所述视线估计模型进行约束调整。
38.作为示例,该实施例的执行主体可以为视线估计模型建立装置,该视线估计模型建立装置的实现有多种。例如,可以为程序软件,也可以为存储有相关计算机程序的介质,例如,u盘等;或者,该装置还可以为集成或安装有相关计算机程序的实体设备,例如,芯片、智能终端、电脑、服务器等。
39.根据视线方向的定义,在用户面部图片旋转时,其对应的视线方向会旋转与用户面部图片相同的角度。根据这一现象,本技术实施例通过旋转,将一张用户面部图片拓展为一组旋转后图片,而对于这一组旋转后用户面部图片的视线估计结果,经过反向旋转后,应当与未旋转用户面部图片的视线方向保持一致。
40.作为一种可实施方式,视线估计模型建立方法包括s101以及s102两个主要步骤: s101使用包含视线方向标注的用户面部图片作为训练集输入视线估计模型,得到预训练的视线估计模型,将包含视线方向标注的用户面部图片称为源域;s102在s101的基础上,使用不包含视线方向标注的用户面部图片作为测试集输入预训练的视线估计模型,得到适配实际场景的视线估计模型,将不包含视线方向标注的用户面部图片称为目标域。接下来分别对两个步骤进行示例说明。
41.在一个示例中,s101包括根据所述多个第一角度,建立对应的第一旋转矩阵;以及,根据所述第一旋转矩阵,获得所述多个第一视线估计结果经反向旋转后的多个第一结果;计算每个第一结果和所述视线方向标注的误差,获得所述多个第一结果对应的第一绝对误差;以及,计算所述多个第一结果内部的第一一致性误差;根据当前的第一旋转分布损失,对所述视线估计模型进行约束调整;其中,所述第一旋转分布损失为所述绝对误差和所述一致性误差之和。
42.作为一种可实施方式,如图3所示,图3为视线估计模型预训练示例。将包含视线方向标注gs的第一用户面部图片is以多个第一角度k次,得到多个第一旋转图片。将所述多个第一旋转图片输入视线估计模型f
θ
得到多个第一视线估计结果根据多个第一角度建立第一旋转矩阵根据视线方向标注gs、第一视线估计结果以及第一旋转矩阵计算旋转分布损失,对视线估计模型进行约束调整。
43.可选的,旋转分布损失计算过程示例如图4所示。设一组旋转后的图片的视线估计结果为该组旋转对应的旋转矩阵为原图对应的视线方向标注为gs。旋转分布损失ld由两部分组成:
[0044][0045]
其中,绝对误差l
mean
确保了视线估计模型对于旋转后图片的估计准确性。具体计算过程为,一组旋转后图片的视线估计结果,在经过反向旋转后,应当与原图的视线方向标注保持一致:
[0046][0047]
一致性误差l
std
确保了视线估计模型对于旋转后图片的估计稳定性。具体计算过程为,一组旋转后图片的视线估计结果,在经过反向旋转后,两两之间应当保持一致:
[0048]
[0049][0050]
结合场景示例来说,反向旋转的多个第一结果与视线方向标注之间若存在误差,说明视线估计模型的估计结果准确性未达要求,通过计算反向旋转的多个第一结果与视线方向标注之间绝对误差的平均值,对视线估计模型进行进一步训练。反向旋转的多个第一结果之间若存在误差,说明视线估计模型的估计结果的重现性和稳定性未达要求,通过计算反向旋转的多个第一结果之间的标准差,对视线估计模型进行进一步训练。
[0051]
基于以上实施方式,将第一用户面部图片通过不同角度的旋转得到多个第一旋转图片,从而增加视线估计模型的输入样本,基于旋转分布损失约束,通过多次迭代训练,提高视线估计模型的精确度。
[0052]
以上方案得到了预训练的视线估计模型,接下来对训练适配实际场景的视线估计模型进行示例说明。
[0053]
在一个示例中,s102包括根据所述第二角度,建立对应的第二旋转矩阵;以及,根据所述第二旋转矩阵,分别将所述多个第二视线估计结果和所述多个第三视线估计结果进行反向旋转,获得多个第二结果和多个第三结果;根据所述多个第三结果,得到所述第二用户面部图片的伪视线方向标注;计算每个第二结果和所述伪视线方向标注的误差,获得所述多个第二结果对应的第二绝对误差;以及,计算所述多个第二结果内部的第二一致性误差;根据当前的第二旋转分布损失,对所述视线估计模型进行约束调整;其中,所述第二旋转分布损失为所述第二绝对误差和所述第二一致性误差之和。
[0054]
作为一种可实施方式,如图5所示,图5为视线估计模型适配实际场景的训练流程示例。将旋转增强源域视线估计模型的复制,作为适配目标域的视线估计模型f
θ
、伪标签生成模型的初始化状态。给定一张第二用户面部图片,进行k次随机旋转(对应第二旋转矩阵),得到一组旋转后的第二旋转图片。用f
θ
对旋转后的图片进行视线估计,得到第二视线估计结果其中t代表目标域。再将第二用户面部图片进行k次随即旋转(对应第三旋转矩阵),并用对其进行视线估计,得到第三视线估计结果。根据第三视线估计结果计算得到伪视线方向标注将第二视线估计结果第二旋转矩阵伪视线方向标注输入旋转分布损失函数计算损失,并对fθ的参数进行约束调整。
[0055]
结合场景示例来说,s102和s101区别在于,s102的输入图片不包含视线方向标注,符合实际应用的场景,实际应用中视线估计模型对不含视线方向标注的图片进行视线估计。为了计算旋转分布损失进行视线估计模型的约束调整,引入伪视线方向标注代替视线方向标注。
[0056]
基于以上实施方式,通过不包含视线方向标注的用户面部图片对视线估计模型进行训练,得到了适配应用场景的视线估计模型。
[0057]
在一个示例中,根据所述多个第三结果,得到所述第二用户面部图片的伪视线方向标注,包括:计算所述多个第三结果的平均值,作为所述第二用户面部图片的伪视线方向
标注。
[0058]
作为一种可实施方式,将第三结果根据第三矩阵进行反向旋转后取平均值,作为对应该目标域图片的伪视线方向标签的
[0059]
基于以上实施方式,通过复制视线估计模型得到伪标签生成模型,通过伪标签生成模型输出的视线估计结果计算得到伪视线方向标签,从而以伪视线方向标签作为依据,实现在不包含视线方向标注的应用场景计算旋转分布损失。
[0060]
以上方案对视线估计模型进行适配场景的训练,接下来对模型参数的调整进行示例性说明。
[0061]
在一个示例中,根据当前的第二旋转分布损失,对所述视线估计模型进行约束调整之后,还包括:获取当前视线估计模型的模型参数和所述伪标签生成模型的模型参数;通过对所述视线估计模型的模型参数和所述伪标签生成模型的模型参数进行加权平均计算,获得调整参数;根据所述调整参数,对所述伪标签生成模型的模型参数进行调整。
[0062]
作为一种可实施方式,每张图片训练完成后,将模型的参数与模型f
θ
的参数θ进行加权平均,作为新的伪标签生成模型可选的,参数调整公式为:
[0063][0064]
其中,t代表当前的迭代次数,a为平均权重。
[0065]
再可选的,a设置为0.99。
[0066]
基于以上实施方式,通过多次迭代的方法调整视线估计模型的参数,从而提高视线估计模型的精确度。
[0067]
本实施例提供的视线估计模型建立方法中,根据包含视线方向标注的用户面部图片以多个角度旋转得到的图片,基于旋转分布损失的计算,对视线估计模型迭代多次进行约束调整,以完成预训练;并且预训练完成后,根据不包含视线方向标注的用户面部图片以多个角度旋转得到的图片,基于伪标签生成模型提供的伪视线方向标注和旋转分布损失的计算,对伪标签生成模型和视线估计模型迭代多次进行约束调整,以完成视线估计模型的训练。以上方案,能够基于少量包含视线方向标注的图片,获得大量训练样本进行视线估计模型的训练,从而提高视线估计模型的精确度。
[0068]
实施例二
[0069]
图6为本技术实施例二提供的一种视线估计模型建立装置的结构示意图,如图6 所示,该装置包括:
[0070]
预训练模块61,用于迭代执行以下处理,直至当前的第一旋转分布损失满足第一约束条件:将第一用户面部图片以多个第一角度旋转得到多个第一旋转图片,所述第一用户面部图片包含视线方向标注;将所述多个第一旋转图片作为视线估计模型的输入,根据所述视线估计模型输出的多个第一视线估计结果、所述第一角度以及所述视线方向标注,通过第一旋转分布损失的计算,对所述视线估计模型进行约束调整;
[0071]
建模模块62,用于迭代执行以下处理,直至当前的第二旋转分布损失满足第二约束条件,以获得训练完成的视线估计模型:将第二用户面部图片以多个第二角度旋转得到多个第二旋转图片,所述第二用户面部图片不包含视线方向标注;以及,将所述多个第二旋转图片的部分图片输入所述视线估计模型,获得所述视线估计模型输出的多个第二视线估
计结果;将所述多个第二旋转图片的其余图片输入伪标签生成模型,获得所述伪标签生成模型输出的多个第三视线估计结果;根据所述多个第二视线估计结果、所述多个第三视线估计结果以及所述第二角度,通过第二旋转分布损失的计算,对所述视线估计模型进行约束调整。
[0072]
作为示例,该实施例的执行主体可以为视线估计模型建立装置,该视线估计模型建立装置的实现有多种。例如,可以为程序软件,也可以为存储有相关计算机程序的介质,例如,u盘等;或者,该装置还可以为集成或安装有相关计算机程序的实体设备,例如,芯片、智能终端、电脑、服务器等。
[0073]
根据视线方向的定义,在用户面部图片旋转时,其对应的视线方向会旋转与用户面部图片相同的角度。根据这一现象,本技术实施例通过旋转,将一张用户面部图片拓展为一组旋转后图片,而对于这一组旋转后用户面部图片的视线估计结果,经过反向旋转后,应当与未旋转用户面部图片的视线方向保持一致。
[0074]
作为一种可实施方式,视线估计模型建立方法包括s101以及s102两个主要步骤: s101使用包含视线方向标注的用户面部图片作为训练集输入视线估计模型,得到预训练的视线估计模型,将包含视线方向标注的用户面部图片称为源域;s102在s101的基础上,使用不包含视线方向标注的用户面部图片作为测试集输入预训练的视线估计模型,得到适配实际场景的视线估计模型,将不包含视线方向标注的用户面部图片称为目标域。接下来分别对两个步骤进行示例说明。
[0075]
在一个示例中,预训练模块61,具体用于根据所述多个第一角度,建立对应的第一旋转矩阵;以及,根据所述第一旋转矩阵,获得所述多个第一视线估计结果经反向旋转后的多个第一结果;预训练模块61,具体还用于计算每个第一结果和所述视线方向标注的误差,获得所述多个第一结果对应的第一绝对误差;以及,计算所述多个第一结果内部的第一一致性误差;预训练模块61,具体还用于根据当前的第一旋转分布损失,对所述视线估计模型进行约束调整;其中,所述第一旋转分布损失为所述第一绝对误差和所述第一一致性误差之和。
[0076]
作为一种可实施方式,如图3所示,图3为视线估计模型预训练示例。将包含视线方向标注gs的第一用户面部图片is以多个第一角度k次,得到多个第一旋转图片。将所述多个第一旋转图片输入视线估计模型f
θ
得到多个第一视线估计结果根据多个第一角度建立第一旋转矩阵根据视线方向标注gs、第一视线估计结果以及第一旋转矩阵计算旋转分布损失,对视线估计模型进行约束调整。
[0077]
可选的,旋转分布损失计算过程示例如图4所示。设一组旋转后的图片的视线估计结果为该组旋转对应的旋转矩阵为原图对应的视线方向标注为gs。旋转分布损失ld由两部分组成:
[0078][0079]
其中,绝对误差l
mean
确保了视线估计模型对于旋转后图片的估计准确性。具体计算过程为,一组旋转后图片的视线估计结果,在经过反向旋转后,应当与原图的视线方向标注保持一致:
[0080][0081]
一致性误差l
std
确保了视线估计模型对于旋转后图片的估计稳定性。具体计算过程为,一组旋转后图片的视线估计结果,在经过反向旋转后,两两之间应当保持一致:
[0082][0083][0084]
结合场景示例来说,反向旋转的多个第一结果与视线方向标注之间若存在误差,说明视线估计模型的估计结果准确性未达要求,通过计算反向旋转的多个第一结果与视线方向标注之间绝对误差的平均值,对视线估计模型进行进一步训练。反向旋转的多个第一结果之间若存在误差,说明视线估计模型的估计结果的重现性和稳定性未达要求,通过计算反向旋转的多个第一结果之间的标准差,对视线估计模型进行进一步训练。
[0085]
基于以上实施方式,将第一用户面部图片通过不同角度的旋转得到多个第一旋转图片,从而增加视线估计模型的输入样本,基于旋转分布损失约束,通过多次迭代训练,提高视线估计模型的精确度。
[0086]
以上方案得到了预训练的视线估计模型,接下来对训练适配实际场景的视线估计模型进行示例说明。
[0087]
在一个示例中,建模模块62,具体用于根据所述第二角度,建立对应的第二旋转矩阵;以及,根据所述第二旋转矩阵,分别将所述多个第二视线估计结果和所述多个第三视线估计结果进行反向旋转,获得多个第二结果和多个第三结果;建模模块62,具体还用于根据所述多个第三结果,得到所述第二用户面部图片的伪视线方向标注;建模模块62,具体还用于计算每个第二结果和所述伪视线方向标注的误差,获得所述多个第二结果对应的第二绝对误差;以及,计算所述多个第二结果内部的第二一致性误差;建模模块62,具体还用于根据当前的第二旋转分布损失,对所述视线估计模型进行约束调整;其中,所述第二旋转分布损失为所述第二绝对误差和所述第二一致性误差之和。
[0088]
作为一种可实施方式,如图5所示,图5为视线估计模型适配实际场景的训练流程示例。将旋转增强源域视线估计模型的复制,作为适配目标域的视线估计模型f
θ
、伪标签生成模型的初始化状态。给定一张第二用户面部图片,进行k次随机旋转(对应第二旋转矩阵),得到一组旋转后的第二旋转图片。用f
θ
对旋转后的图片进行视线估计,得到第二视线估计结果其中t代表目标域。再将第二用户面部图片进行k次随即旋转(对应第三旋转矩阵),并用对其进行视线估计,得到第三视线估计结果。根据第三视线估计结果计算得到伪视线方向标注将第二视线估计结果第二旋转矩阵伪视线方向标注输入旋转分布损失函数计算损失,并对f
θ
的参数进行约束调整。
[0089]
结合场景示例来说,s102和s101区别在于,s102的输入图片不包含视线方向标注,符合实际应用的场景,实际应用中视线估计模型对不含视线方向标注的图片进行视线估计。为了计算旋转分布损失进行视线估计模型的约束调整,引入伪视线方向标注代替视线方向标注。
[0090]
基于以上实施方式,通过不包含视线方向标注的用户面部图片对视线估计模型进行训练,得到了适配应用场景的视线估计模型。
[0091]
在一个示例中,建模模块62,具体用于根据所述多个第三结果,得到所述第二用户面部图片的伪视线方向标注,包括:计算所述多个第三结果的平均值,作为所述第二用户面部图片的伪视线方向标注。
[0092]
作为一种可实施方式,将第三结果根据第三矩阵进行反向旋转后取平均值,作为对应该目标域图片的伪视线方向标签的
[0093]
基于以上实施方式,通过复制视线估计模型得到伪标签生成模型,通过伪标签生成模型输出的视线估计结果计算得到伪视线方向标签,从而以伪视线方向标签作为依据,实现在不包含视线方向标注的应用场景计算旋转分布损失。
[0094]
以上方案对视线估计模型进行适配场景的训练,接下来对模型参数的调整进行示例性说明。
[0095]
在一个示例中,视线估计模型建立装置还包括:获取模块63,用于获取当前视线估计模型的模型参数和所述伪标签生成模型的模型参数;调整模块64,用于通过对所述视线估计模型的模型参数和所述伪标签生成模型的模型参数进行加权平均计算,获得调整参数;所述调整模块64,还用于根据所述调整参数,对所述伪标签生成模型的模型参数进行调整。
[0096]
作为一种可实施方式,每张图片训练完成后,将模型的参数与模型f
θ
的参数θ进行加权平均,作为新的伪标签生成模型可选的,参数调整公式为:
[0097][0098]
其中,t代表当前的迭代次数,a为平均权重。
[0099]
再可选的,a设置为0.99。
[0100]
基于以上实施方式,通过多次迭代的方法调整视线估计模型的参数,从而提高视线估计模型的精确度。
[0101]
本实施例提供的视线估计模型建立装置中,预训练模块,用于根据包含视线方向标注的用户面部图片以多个角度旋转得到的图片,基于旋转分布损失的计算,对视线估计模型迭代多次进行约束调整,以完成预训练;建模模块,用于预训练完成后,根据不包含视线方向标注的用户面部图片以多个角度旋转得到的图片,基于伪标签生成模型提供的伪视线方向标注和旋转分布损失的计算,对伪标签生成模型和视线估计模型迭代多次进行约束调整,以完成视线估计模型的训练。以上方案,能够基于少量包含视线方向标注的图片,获得大量训练样本进行视线估计模型的训练,从而提高视线估计模型的精确度。
[0102]
实施例三
[0103]
图7是根据一示例性实施例示出的一种视线估计模型建立装置的装置框图,该装置可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设
备,健身设备,个人数字助理等。
[0104]
装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件 806,多媒体组件808,音频组件810,输入/输出(i/o)接口812,传感器组件814,以及通信组件816。
[0105]
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
[0106]
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0107]
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
[0108]
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0109]
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器 804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
[0110]
i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0111]
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感
器,磁传感器,压力传感器或温度传感器。
[0112]
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc) 模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0113]
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0114]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、 cd-rom、磁带、软盘和光数据存储设备等。
[0115]
实施例四
[0116]
图8为本技术实施例中提供的一种电子设备的结构示意图,如图8所示,该电子设备包括:
[0117]
处理器(processor)291,电子设备还包括了存储器(memory)292;还可以包括通信接口(communication interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器294中的逻辑指令,以执行上述实施例的方法。
[0118]
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0119]
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本技术实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
[0120]
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
[0121]
本技术实施例提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前述实施例所述的方法。
[0122]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
[0123]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并
且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1