首页> 中国专利> 视线区域预测模型生成方法、装置、存储介质及电子设备

视线区域预测模型生成方法、装置、存储介质及电子设备

摘要

本公开实施例公开了一种视线区域预测模型的生成方法和装置、线区域预测方法和装置、计算机可读存储介质及电子设备,其中,视线区域预测模型包括眼部姿态预测模块和视线区域预测模块,该方法包括:将具有眼部姿态标签的第一人脸图像样本集作为初始模型的输入,训练眼部姿态预测模块;将具有视线区域标签的第二人脸图像样本集作为初始模型的输入,得到眼部姿态预测结果;基于第二人脸图像样本集,训练视线区域预测模块;将训练结束后的初始模型确定为视线区域预测模型。本公开实施例实现了端到端的模型训练,提高了视线区域预测模型的预测精度,在使用视线区域预测模型时,可以直接输入人脸图像,即可得到视线区域信息,提高了视线区域预测的效率。

著录项

  • 公开/公告号CN112308006A

    专利类型发明专利

  • 公开/公告日2021-02-02

    原文格式PDF

  • 申请/专利权人 深圳地平线机器人科技有限公司;

    申请/专利号CN202011244436.7

  • 发明设计人 陶冶;张宏志;

    申请日2020-11-10

  • 分类号G06K9/00(20060101);G06K9/62(20060101);

  • 代理机构11657 北京思源智汇知识产权代理有限公司;

  • 代理人毛丽琴

  • 地址 518052 广东省深圳市南山区粤海街道高新区社区高新南九道009号威新软件科技园5号楼4层04-06室

  • 入库时间 2023-06-19 09:46:20

说明书

技术领域

本公开涉及计算机技术领域,尤其是一种视线区域预测模型的生成方法、装置、线区域预测方法、装置、计算机可读存储介质及电子设备。

背景技术

随着人工智能技术的发展,视线区域预测技术被应用到众多领域,例如疲劳驾驶检测、视线追踪、智能座舱、智能人机交互等。目前的视线区域预测方法,通常使用多个模型执行不同功能的预测,再根据这些预测结果,进一步确定视线区域。例如,训练视线角度预测模型、关键点检测模型、人眼深度预测模型、视线三维区域计算模型等,各个模型通常是单独训练的。

发明内容

本公开的实施例提供了一种视线区域预测模型的生成方法、装置、计算机可读存储介质及电子设备。

本公开的实施例提供了一种视线区域预测模型的生成方法,视线区域预测模型包括眼部姿态预测模块和视线区域预测模块,该方法包括:将具有眼部姿态标签的第一人脸图像样本集作为初始模型的输入,训练眼部姿态预测模块;将具有视线区域标签的第二人脸图像样本集作为初始模型的输入,得到眼部姿态预测结果;基于第二人脸图像样本集,训练视线区域预测模块;将训练结束后的初始模型确定为视线区域预测模型。

根据本公开实施例的另一个方面,提供了一种视线区域预测方法,该方法包括:获取目标相机拍摄的人脸图像;将人脸图像输入预先训练的视线区域预测模型,基于视线区域预测模型包括的眼部姿态预测模块,得到眼部姿态预测结果,其中,视线区域预测模型预先基于上述视线区域预测模型的生成方法训练得到;将眼部姿态预测结果输入视线区域预测模型包括的视线区域预测模块,得到人脸图像对应的视线区域信息。

根据本公开实施例的另一个方面,提供了一种视线区域预测模型的生成装置,视线区域预测模型包括眼部姿态预测模块和视线区域预测模块,该装置包括:第一训练模块,用于将具有眼部姿态标签的第一人脸图像样本集作为初始模型的输入,训练眼部姿态预测模块;第一确定模块,用于将具有视线区域标签的第二人脸图像样本集作为初始模型的输入,得到眼部姿态预测结果;第二训练模块,用于基于第二人脸图像样本集,训练视线区域预测模块;第二确定模块,用于将训练结束后的初始模型确定为视线区域预测模型。

根据本公开实施例的另一个方面,提供了一种视线区域预测装置,该装置包括:获取模块,用于获取目标相机拍摄的人脸图像;第一预测模块,用于将人脸图像输入预先训练的视线区域预测模型,基于视线区域预测模型包括的眼部姿态预测模块,得到眼部姿态预测结果,其中,视线区域预测模型预先基于视线区域预测模型的生成方法训练得到;第二预测模块,用于将眼部姿态预测结果输入视线区域预测模型包括的视线区域预测模块,得到人脸图像对应的视线区域信息。

根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于执行上述视线区域预测模型的生成方法或视线区域预测方法。

根据本公开实施例的另一个方面,提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述视线区域预测模型的生成方法或视线区域预测方法。

基于本公开上述实施例提供的视线区域预测模型的生成方法、装置、计算机可读存储介质及电子设备,通过首先利用第一人脸图像样本集训练初始模型包括的眼部姿态预测模块,然后利用眼部姿态预测模块预测得到的眼部姿态预测结果以及第二人脸图像样本集训练初始模型包括的视线区域预测模块,最后将训练后的初始模型作为视线区域预测模型,由于眼部姿态预测模块和视线区域预测模块包含于视线区域预测模型中,因此,在训练时,模型包括的各组成部分的参数会同时更新,从而实现了端到端的模型训练,提高了视线区域预测模型的预测精度,在使用视线区域预测模型时,可以直接输入人脸图像,即可得到视线区域信息,提高了视线区域预测的效率。

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是本公开所适用的系统图。

图2是本公开一示例性实施例提供的视线区域预测模型的生成方法的流程示意图。

图3是本公开另一示例性实施例提供的视线区域预测模型的生成方法的流程示意图。

图4是本公开另一示例性实施例提供的视线区域预测模型的生成方法的流程示意图。

图5是根据本公开的视线区域预测模型的生成方法的模型训练过程的示例性示意图。

图6是本公开一示例性实施例提供的视线区域预测方法的流程示意图。

图7是本公开一示例性实施例提供的视线区域预测模型的生成装置的结构示意图。

图8是本公开另一示例性实施例提供的视线区域预测模型的生成装置的结构示意图。

图9是本公开一示例性实施例提供的视线区域预测装置的结构示意图。

图10是本公开一示例性实施例提供的电子设备的结构图。

具体实施方式

下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

现有方案在计算视线区域的时候,涉及多个模型拟合的环节,而模型的优化目标和最终视线区域的预测结果不完全一致,导致优化结果出现偏差,影响最终视线区域的性能。例如,目前的视线区域预测方案一般涉及到四个关键模型(包括视线角度预测模型、关键点检测模型、人眼深度预测模型、视线三维区域计算模型)的拟合,每个模型需要通过带有标注的原始数据来拟合。每个模型在线下一般需要单独训练达到各模型对应的精度要求,该方法忽略了视线区域预测误差对于每个模型学习目标的引导,导致模型的预测准确性降低。

图1示出了可以应用本公开的实施例的视线区域预测模型的生成方法或视线区域预测模型的生成装置,以及视线区域预测方法或视线区域预测装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101,网络102和服务器103。网络102用于在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如搜索类应用、网页浏览器应用、购物类应用、即时通信工具等。

终端设备101可以是各种电子设备,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。

服务器103可以是提供各种服务的服务器,例如利用终端设备101上传的人脸图像样本集进行模型训练,或者利用终端设备101上传的人脸图像进行视线区域预测的后台服务器。后台服务器可以利用人脸图像样本集进行模型训练,得到视线区域预测模型,或利用视线区域预测模型对接收的人脸图像进行视线区域预测,得到视线区域信息。

需要说明的是,本公开的实施例所提供的视线区域预测模型的生成方法或视线区域预测方法可以由服务器103执行,也可以由终端设备101执行,相应地,视线区域预测模型的生成装置或视线区域预测装置可以设置于服务器103中,也可以设置于终端设备101中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在人脸图像样本集或进行视线区域预测的人脸图像不需要从远程获取的情况下,上述系统架构可以不包括网络,只包括服务器或终端设备。

图2是本公开一示例性实施例提供的视线区域预测模型的生成方法的流程示意图。本实施例可应用在电子设备(如图1所示的终端设备101或服务器103)上,如图2所示,该方法包括如下步骤:

步骤201,将具有眼部姿态标签的第一人脸图像样本集作为初始模型的输入,训练眼部姿态预测模块。

在本实施例中,电子设备可以将具有眼部姿态标签的第一人脸图像样本集作为初始模型的输入,训练眼部姿态预测模块。其中,第一人脸图像样本集中的人脸图像包括眼部区域。本实施例中的视线区域预测模型包括眼部姿态预测模块和视线区域预测模块。眼部姿态预测模块用于确定输入的人脸图像指示的人物的眼部姿态,例如视线角度、瞳孔深度等。视线区域预测模块用于确定输入的人脸图像指示的人物的视线区域,即人眼注视的区域。

眼部姿态标签可以是预先对第一人脸图像样本集中的人脸图像进行标注的信息。眼部姿态标签预先经过现有的眼部姿态采集方法得到。例如通过确定瞳孔在三维空间的位置确定瞳孔与相机之间的距离,得到瞳孔深度标签;通过确定瞳孔在三维空间的位置和注视的视点的三维空间位置,确定两点之间的直线在三维空间的角度。

眼部姿态预测模块通常可以由人工神经网络构成,例如由包括卷积层、池化层、全连接层等的卷积神经网络构成。电子设备可以利用机器学习方法,将第一人脸图像样本集中的人脸图像作为初始模型的输入,初始模型可以首先提取人脸图像中的眼部区域的特征,将眼部区域的特征作为眼部姿态预测模块的输入,将与输入的人脸图像对应的眼部姿态标签作为期望输出(即优化模型参数的目标),对初始模型进行训练,针对每次训练输入的人脸图像,可以得到实际输出。其中,实际输出是初始模型实际输出的数据,用于表征眼部姿态。然后,电子设备可以采用梯度下降法和反向传播法,基于实际输出和期望输出,调整初始模型包括的眼部姿态预测模块的参数,将每次调整参数后得到的模型作为下次训练的初始模型,并在满足预设的针对眼部姿态预测模块的训练结束条件的情况下,结束训练,从而得到训练后的眼部姿态预测模块。上述训练结束条件可以包括但不限于以下至少一项:训练次数达到预设次数,眼部姿态预测模块对应的损失函数的损失值达到预设损失值。

步骤202,将具有视线区域标签的第二人脸图像样本集作为初始模型的输入,得到眼部姿态预测结果。

在本实施例中,电子设备可以将具有视线区域标签的第二人脸图像样本集作为初始模型的输入,得到眼部姿态预测结果。具体地,可以利用训练后的眼部姿态预测模块,对输入的人脸图像进行眼部姿态预测,得到眼部姿态预测结果。眼部姿态结果可以包括但不限于视线角度、瞳孔深度等信息。

上述视线区域标签可以是预先对人脸图像进行标注得到的。视线区域标签通常包括多个坐标信息,用于确定三维空间中的一个区域。

步骤203,基于第二人脸图像样本集,训练视线区域预测模块。

在本实施例中,电子设备可以基于第二人脸图像样本集,训练视线区域预测模块。其中,视线区域预测模块用于根据眼部姿态预测结果,得到表征人眼的注视区域的视线区域信息。

具体地,视线区域预测模块通常可以由人工神经网络构成,例如由包括卷积层、池化层、全连接层等的卷积神经网络构成,该模块可以对三维空间进行分类,确定哪些区域是人眼注视的区域。

电子设备可以利用机器学习方法,将第二人脸图像样本集中的人脸图像作为初始模型的输入,经过眼部姿态预测模块的处理得到眼部姿态预测结果,将眼部姿态预测结果作为视线区域预测模块的输入,将与输入的人脸图像对应的视线区域标签作为期望输出(即优化模型参数的目标),对初始模型进行训练,针对每次训练输入的人脸图像,可以得到实际输出。其中,实际输出是初始模型实际输出的数据,用于表征视线区域。然后,电子设备可以采用梯度下降法和反向传播法,基于实际输出和期望输出,调整初始模型包括的视线区域预测模块的参数,将每次调整参数后得到的模型作为下次训练的初始模型,并在满足预设的针对视线区域预测模块的训练结束条件的情况下,结束训练,从而得到训练后的视线区域预测模块。上述训练结束条件可以包括但不限于以下至少一项:训练次数达到预设次数,视线区域预测模块对应的损失函数的损失值达到预设损失值。

步骤204,将训练结束后的初始模型确定为视线区域预测模型。

在本实施例中,电子设备可以将训练结束后的初始模型确定为视线区域预测模型。视线区域预测模型可以接收包括眼部区域的人脸图像,输出视线区域信息。

本公开的上述实施例提供的方法,通过首先利用第一人脸图像样本集训练初始模型包括的眼部姿态预测模块,然后利用眼部姿态预测模块预测得到的眼部姿态预测结果以及第二人脸图像样本集训练初始模型包括的视线区域预测模块,最后将训练后的初始模型作为视线区域预测模型,由于眼部姿态预测模块和视线区域预测模块包含于视线区域预测模型中,因此,在训练时,模型包括的各组成部分的参数会同时更新,从而实现了端到端的模型训练,提高了视线区域预测模型的预测精度。

在一些可选的实现方式中,第一人脸图像样本集包括的人脸图像的数量小于第二人脸图像样本集包括的人脸图像的数量。由于视线区域标签的标注较简单,而眼部姿态标签的采集通常采用的方法较复杂,需要专业的工具及人员。例如眼部姿态标签可以包括视线角度标签和/或瞳孔深度标签,视线角度标签的获得可以预先通过确定瞳孔在三维空间的位置和注视的视点的三维空间位置,确定两点之间的直线在三维空间的角度。瞳孔深度标签可以通过利用深度采集器获得,例如双目摄像头、TOF摄像头、结构光摄像头等。因此,本实现方式收集的具有眼部姿态标签的第一人脸图像样本集包括的人脸图像的数量较少,在训练眼部姿态预测模块时,可以使用较少的样本对眼部姿态预测模块进行初步训练,使用较多的样本对视线区域预测模块进行训练,可以得到较好的训练效果。从而可以达到降低标签的采集难度,提高模型训练效率的效果。

在一些可选的实现方式中,上述步骤201可以如下执行:

响应于确定输入的人脸图像对应的眼部姿态标签包括视线角度标签,基于视线角度标签,训练眼部姿态预测模块包括的视线角度预测子模块。

响应于确定输入的人脸图像对应的眼部姿态标签包括瞳孔深度标签,基于瞳孔深度标签,训练眼部姿态预测模块包括的瞳孔深度预测子模块。

其中,本实现方式提供的眼部姿态预测模块可以包括视线角度预测子模块和/或瞳孔深度预测子模块。视线角度子模块用于确定输入的人脸图像指示的人物的视线角度。瞳孔深度预测子模块用于确定输入的人脸图像指示的人物的瞳孔深度。瞳孔深度表示瞳孔到相机的距离。视线角度预测子模块和瞳孔深度预测子模块通常可以由人工神经网络(例如卷积神经网络)构成。

应当理解,训练视线角度预测子模块和瞳孔深度预测子模块的方法与步骤201基本一致,这里不再赘述。

本实现方式通过设置视线角度预测子模块和瞳孔深度预测子模块,可以更全面地确定眼部姿态,提高视线区域预测的准确性。

在一些可选的实现方式中,步骤201可以如下执行:

首先,将第一人脸图像样本集包括的人脸图像输入初始模型包括的特征提取模块,得到眼部特征数据和人脸特征数据。

其中,特征提取模块用于提取眼部特征数据和人脸特征数据。眼部特征数据可以表征眼部的特征,例如眼部的大小、比例、瞳孔位置等;人脸特征数据用于表征人脸的特征,例如人脸的朝向、大小等。特征提取模块可以采用现有的多层卷积神经网络结构。

然后,基于眼部姿态标签,利用眼部特征数据和人脸特征数据训练眼部姿态预测模块。

具体地,在训练过程中,可以基于眼部姿态预测模块和视线区域预测模块分别对应的损失函数的损失值,不断调整模块参数。需要说明的是,若眼部姿态预测模块包括上述可选实现方式示出的视线角度预测子模块和/或瞳孔深度预测子模块时,可以将眼部特征数据和人脸特征数据作为视线角度预测子模块和/或瞳孔深度预测子模块的输入,利用视线角度标签和/或瞳孔深度标签进行训练。

本实现方式通过在视线区域预测模型中设置特征提取模块,可以提取输入的人脸图像的眼部特征和人脸特征,从而充分地利用眼部特征和人脸特征进行眼部姿态预测,提高眼部姿态预测和视线区域预测的准确性。

进一步参考图3,示出了视线区域预测模型的生成方法的又一个实施例的流程示意图。如图3所示,在上述图2所示实施例的基础上,步骤201可以包括如下步骤:

步骤2011,响应于确定输入的样本人脸图像还具有对应的视线区域标签,将眼部姿态预测模块对应的眼部姿态损失函数的权重设置为第一权重,并将视线区域预测模块对应的视线区域损失函数的权重设置为第二权重。

在本实施例中,第一权重大于第二权重。

具体地,本实施例中的第一人脸图像样本集中的人脸图像具有(可以部分人脸图像具有,或者全部人脸图像具有)对应的眼部姿态标签和视线区域标签。在训练时,可以对眼部姿态损失函数设置较大的第一权重(例如0.9),对视线区域损失函数设置较小的第二权重(例如0.1)。在训练过程中,由于视线区域损失函数的权重较小,视线区域预测模块的参数更新的幅度较小,即可以将模型参数的更新集中在眼部姿态预测模块。其中,眼部姿态损失函数可以是回归损失函数,例如L1范数损失函数、L2范数损失函数等。视线区域损失函数可以是用于分类的损失函数,例如交叉熵损失函数。

步骤2012,基于输入的样本人脸图像对应的眼部姿态标签和视线区域标签,确定眼部姿态损失函数的第一损失值和视线区域损失函数的第二损失值。

在本实施例中,基于眼部姿态损失函数,可以在训练时确定表征预测的眼部姿态与实际标注的眼部姿态的差距的第一损失值。基于视线区域损失函数,可以在训练时确定表征预测的视线区域与实际标注的视线区域的差距的第二损失值。

步骤2013,基于第一权重、第二权重,以及第一损失值和第二损失值,训练眼部姿态预测模块。

作为示例,假设眼部姿态损失函数为l1,视线区域损失函数为l2,第一权重为a,第二权重为b,则总损失函数为l=a×l1+b×l2。在训练过程中,利用梯度下降法和反向传播法,调整初始模型的参数,使总损失值不断减小,直到收敛。

在一些可选的实现方式中,步骤2011可以如下执行:

将眼部姿态损失函数包括的视线角度损失函数和瞳孔深度损失函数的权重之和设置为第一权重。其中,视线角度损失函数和瞳孔深度损失函数分别对应于眼部姿态预测模块包括的视线角度预测子模块和瞳孔深度预测子模块。

作为示例,假设视线角度损失函数为l11,瞳孔深度损失函数为l12,视线区域损失函数为l2,l11的权重为a1,l12的权重为a2,第一权重为a=a1+a2,第二权重为b,则总损失函数为l=a1×l11+a2×l12+b×l2。上述视线角度预测子模块和瞳孔深度预测子模块与图2对应实施例中描述的视线角度预测子模块和瞳孔深度预测子模块基本相同,这里不再赘述。

本实现方式通过对眼部姿态预测模块包括的视线角度预测子模块和瞳孔深度预测子模块的损失函数设置权重,可以更灵活地调整视线角度预测子模块和瞳孔深度预测子模块对视线区域预测的贡献程度,提高模型训练的针对性。

上述图3对应实施例提供的方法,通过将眼部姿态损失函数的权重设置为较大,将视线区域损失函数设置为较小,可以使得训练眼部姿态预测模块时,兼顾视线区域预测模块的训练,有助于提高训练后的视线区域预测模型的预测精度。

进一步参考图4,示出了视线区域预测模型的生成方法的又一个实施例的流程示意图。如图4所示,在上述图2所示实施例的基础上,步骤203可以包括如下步骤:

步骤2031,响应于确定输入的样本人脸图像还具有对应的眼部姿态标签,将眼部姿态预测模块对应的眼部姿态损失函数的权重设置为第三权重,并将视线区域预测模块对应的视线区域损失函数的权重设置为第四权重。

其中,第三权重小于第四权重。

具体地,本实施例中的第二人脸图像样本集中的人脸图像具有(可以部分人脸图像具有,或者全部人脸图像具有)对应的眼部姿态标签和视线区域标签。在训练时,可以对眼部姿态损失函数设置较小的第三权重(例如0.1),对视线区域损失函数设置较大的第四权重(例如0.9),在训练过程中,由于眼部姿态损失函数的权重较小,眼部姿态预测模块的参数更新的幅度较小,即可以将模型参数的更新集中在视线区域预测模块。

步骤2032,基于输入的样本人脸图像对应的眼部姿态标签和视线区域标签,确定眼部姿态损失函数的第一损失值和视线区域损失函数的第二损失值。

在本实施例中,基于眼部姿态损失函数,可以在训练时确定表征预测的眼部姿态与实际标注的眼部姿态的差距的第一损失值。基于视线区域损失函数,可以在训练时确定表征预测的视线区域与实际标注的视线区域的差距的第二损失值。

步骤2033,基于第三权重、第四权重,以及第一损失值和第二损失值,训练视线区域预测模块。

作为示例,假设眼部姿态损失函数为l1,视线区域损失函数为l2,第三权重为c,第四权重为d,则总损失函数为l=c×l1+d×l2。在训练过程中,利用梯度下降法和反向传播法,调整初始模型的参数,使总损失值不断减小,直到收敛。

应当理解,本实施例的眼部姿态模块也可以包括视线角度预测子模块和瞳孔深度预测子模块,相应的,眼部姿态损失函数可以包括视线角度损失函数和瞳孔深度损失函数,视线角度损失函数和瞳孔深度损失函数的权重之和可以设置为第三权重。

上述图4对应实施例提供的方法,通过将眼部姿态损失函数的权重设置为较小,将视线区域损失函数设置为较大,可以使得训练视线区域预测模块时,兼顾眼部姿态预测模块的训练,有助于提高训练后的视线区域预测模型的预测精度。通常,可以将图3与图4对应实施例相结合,即通过调整损失函数的权重,同时训练初始模型包括的各个模块,从而实现了视线区域预测误差对于每个模块在学习时对优化目标的引导,提高了模型训练的效率,使训练后的视线区域预测模型的预测精度更高。

参见图5,其示出了根据本公开的视线区域预测模型的生成方法的模型训练过程的示例性示意图。在图5中,首先将包括眼部区域的人脸图像501输入初始模型502的特征提取模块5021,得到眼部特征数据F1和人脸特征数据F2。然后,将F1和F2作为两个分支输入视线角度预测子模块5022和瞳孔深度预测子模块5023,得到视线角度信息O1和瞳孔深度信息O2。接着,将O1和O2输入视线区域预测模块5024,得到视线区域信息O3。在训练过程中,利用视线角度损失函数L1确定视线角度信息O1与视线角度标签503的差距,利用瞳孔深度损失函数L2确定瞳孔深度信息O2与瞳孔深度标签504的差距,利用视线区域损失函数L3确定视线区域信息O3与视线区域标签505的差距,基于上述各差距,调整初始模型包括的各模块的参数,使差距减小至收敛,最终训练后的初始模型作为视线区域预测模型。

继续参考图6,图6是本公开一示例性实施例提供的视线区域预测方法的流程示意图。本实施例可应用在电子设备(如图1所示的终端设备101或服务器103)上,如图6所示,该方法包括如下步骤:

步骤601,获取目标相机拍摄的人脸图像。

在本实施例中,电子设备可以从本地或从远程获取目标相机拍摄的人脸图像。其中,目标相机可以是设置在特定空间内的特定位置的相机。例如,目标相机可以是设置在车辆内部,用于拍摄车内人员的脸部,得到人脸图像。

步骤602,将人脸图像输入预先训练的视线区域预测模型,基于视线区域预测模型包括的眼部姿态预测模块,得到眼部姿态预测结果。

在本实施例中,电子设备可以将人脸图像输入预先训练的视线区域预测模型,基于视线区域预测模型包括的眼部姿态预测模块,得到眼部姿态预测结果。其中,视线区域预测模型预先基于上述图2对应实施例描述的方法训练得到。

步骤603,将眼部姿态预测结果输入视线区域预测模型包括的视线区域预测模块,得到人脸图像对应的视线区域信息。

在本实施例中,电子设备可以将眼部姿态预测结果输入视线区域预测模型包括的视线区域预测模块,得到人脸图像对应的视线区域信息。其中,视线区域信息用于表征人脸图像指示的人物的视线注视的区域,视线区域信息可以包括多个坐标,这些坐标可以表征三维空间内的区域。通常,在得到视线区域信息之后,可以将视线区域信息按照各种方式输出。例如在显示器上显示,或者存储到预设的存储区,或者发送到其他电子设备等。

本公开上述实施例提供的视线区域预测方法,通过将拍摄的人脸图像输入基于图2对应实施例训练的视线区域预测模型,即可得到视线区域信息,从而有效利用了端到端训练的模型进行视线区域预测,提高了视线区域预测的准确性和效率。

图7是本公开一示例性实施例提供的视线区域预测模型的生成装置的结构示意图。本实施例可应用在电子设备上,视线区域预测模型包括眼部姿态预测模块和视线区域预测模块,如图7所示,视线区域预测模型的生成装置包括:第一训练模块701,用于将具有眼部姿态标签的第一人脸图像样本集作为初始模型的输入,训练眼部姿态预测模块;第一确定模块702,用于将具有视线区域标签的第二人脸图像样本集作为初始模型的输入,得到眼部姿态预测结果;第二训练模块703,用于基于第二人脸图像样本集,训练视线区域预测模块;第二确定模块704,用于将训练结束后的初始模型确定为视线区域预测模型。

在本实施例中,第一训练模块701可以将具有眼部姿态标签的第一人脸图像样本集作为初始模型的输入,训练眼部姿态预测模块。其中,第一人脸图像样本集中的人脸图像包括眼部区域。本实施例中的视线区域预测模型包括眼部姿态预测模块和视线区域预测模块。眼部姿态预测模块用于确定输入的人脸图像指示的人物的眼部姿态,例如视线角度、瞳孔深度等。视线区域预测模块用于确定输入的人脸图像指示的人物的视线区域,即人眼注视的区域。

眼部姿态标签可以是预先对第一人脸图像样本集中的人脸图像进行标注的信息。眼部姿态标签预先经过现有的眼部姿态采集方法得到。例如通过确定瞳孔在三维空间的位置确定瞳孔与相机之间的距离,得到瞳孔深度标签;通过确定瞳孔在三维空间的位置和注视的视点的三维空间位置,确定两点之间的直线在三维空间的角度。

眼部姿态预测模块通常可以由人工神经网络构成,例如由包括卷积层、池化层、全连接层等的卷积神经网络构成。第一训练模块701可以利用机器学习方法,将第一人脸图像样本集中的人脸图像作为初始模型的输入,初始模型可以首先提取人脸图像中的眼部区域的特征,将眼部区域的特征作为眼部姿态预测模块的输入,将与输入的人脸图像对应的眼部姿态标签作为期望输出(即优化模型参数的目标),对初始模型进行训练,针对每次训练输入的人脸图像,可以得到实际输出。其中,实际输出是初始模型实际输出的数据,用于表征眼部姿态。然后,第一训练模块701可以采用梯度下降法和反向传播法,基于实际输出和期望输出,调整初始模型包括的眼部姿态预测模块的参数,将每次调整参数后得到的模型作为下次训练的初始模型,并在满足预设的针对眼部姿态预测模块的训练结束条件的情况下,结束训练,从而得到训练后的眼部姿态预测模块。上述训练结束条件可以包括但不限于以下至少一项:训练次数达到预设次数,眼部姿态预测模块对应的损失函数的损失值达到预设损失值。

在本实施例中,第一确定模块702可以将具有视线区域标签的第二人脸图像样本集作为初始模型的输入,得到眼部姿态预测结果。具体地,可以利用训练后的眼部姿态预测模块,对输入的人脸图像进行眼部姿态预测,得到眼部姿态预测结果。眼部姿态结果可以包括但不限于视线角度、瞳孔深度等信息。

上述视线区域标签可以是预先对人脸图像进行标注得到的。视线区域标签通常包括多个坐标信息,用于确定三维空间中的一个区域。

在本实施例中,第二训练模块703可以基于第二人脸图像样本集,训练视线区域预测模块。其中,视线区域预测模块用于根据眼部姿态预测结果,得到表征人眼的注视区域的视线区域信息。

具体地,视线区域预测模块通常可以由人工神经网络构成,例如由包括卷积层、池化层、全连接层等的卷积神经网络构成,该模块可以对三维空间进行分类,确定哪些区域是人眼注视的区域。

第二训练模块703可以利用机器学习方法,将第二人脸图像样本集中的人脸图像作为初始模型的输入,经过眼部姿态预测模块的处理得到眼部姿态预测结果,将眼部姿态预测结果作为视线区域预测模块的输入,将与输入的人脸图像对应的视线区域标签作为期望输出(即优化模型参数的目标),对初始模型进行训练,针对每次训练输入的人脸图像,可以得到实际输出。其中,实际输出是初始模型实际输出的数据,用于表征视线区域。然后,第二训练模块703可以采用梯度下降法和反向传播法,基于实际输出和期望输出,调整初始模型包括的视线区域预测模块的参数,将每次调整参数后得到的模型作为下次训练的初始模型,并在满足预设的针对视线区域预测模块的训练结束条件的情况下,结束训练,从而得到训练后的视线区域预测模块。上述训练结束条件可以包括但不限于以下至少一项:训练次数达到预设次数,视线区域预测模块对应的损失函数的损失值达到预设损失值。

在本实施例中,第二确定模块704可以将训练结束后的初始模型确定为视线区域预测模型。视线区域预测模型可以接收包括眼部区域的人脸图像,输出视线区域信息。

参照图8,图8是本公开另一示例性实施例提供的视线区域预测模型的生成装置的结构示意图。

在一些可选的实现方式中,第一训练模块701可以包括:第一训练单元7011,用于响应于确定输入的人脸图像对应的眼部姿态标签包括视线角度标签,基于视线角度标签,训练眼部姿态预测模块包括的视线角度预测子模块;第二训练单元7012,用于响应于确定输入的人脸图像对应的眼部姿态标签包括瞳孔深度标签,基于瞳孔深度标签,训练眼部姿态预测模块包括的瞳孔深度预测子模块。

在一些可选的实现方式中,第一训练模块701可以包括:提取单元7013,用于将第一人脸图像样本集包括的人脸图像输入初始模型包括的特征提取模块,得到眼部特征数据和人脸特征数据;第三训练单元7014,用于基于眼部姿态标签,利用眼部特征数据和人脸特征数据训练眼部姿态预测模块。

在一些可选的实现方式中,第一训练模块包括701可以:第一设置单元7015,用于响应于确定输入的样本人脸图像还具有对应的视线区域标签,将眼部姿态预测模块对应的眼部姿态损失函数的权重设置为第一权重,并将视线区域预测模块对应的视线区域损失函数的权重设置为第二权重,其中,第一权重大于第二权重;第一确定单元7016,用于基于输入的样本人脸图像对应的眼部姿态标签和视线区域标签,确定眼部姿态损失函数的第一损失值和视线区域损失函数的第二损失值;第四训练单元7017,用于基于第一权重、第二权重,以及第一损失值和第二损失值,训练眼部姿态预测模块。

在一些可选的实现方式中,第一设置单元7015可以进一步用于:将眼部姿态损失函数包括的视线角度损失函数和瞳孔深度损失函数的权重之和设置为第一权重,其中,视线角度损失函数和瞳孔深度损失函数分别对应于眼部姿态预测模块包括的视线角度预测子模块和瞳孔深度预测子模块。

在一些可选的实现方式中,第二训练模块703可以包括:第二设置单元7031,用于响应于确定输入的样本人脸图像还具有对应的眼部姿态标签,将眼部姿态预测模块对应的眼部姿态损失函数的权重设置为第三权重,并将视线区域预测模块对应的视线区域损失函数的权重设置为第四权重,其中,第三权重小于第四权重;第二确定单元7032,用于基于输入的样本人脸图像对应的眼部姿态标签和视线区域标签,确定眼部姿态损失函数的第一损失值和视线区域损失函数的第二损失值;第五训练单元7033,用于基于第三权重、第四权重,以及第一损失值和第二损失值,训练视线区域预测模块。

在一些可选的实现方式中,第一人脸图像样本集包括的人脸图像的数量小于第二人脸图像样本集包括的人脸图像的数量。

本公开上述实施例提供的视线区域预测模型的生成装置,通过首先利用第一人脸图像样本集训练初始模型包括的眼部姿态预测模块,然后利用眼部姿态预测模块预测得到的眼部姿态预测结果以及第二人脸图像样本集训练初始模型包括的视线区域预测模块,最后将训练后的初始模型作为视线区域预测模型,由于眼部姿态预测模块和视线区域预测模块包含于视线区域预测模型中,因此,在训练时,模型包括的各组成部分的参数会同时更新,从而实现了端到端的模型训练,提高了视线区域预测模型的预测精度。

图9是本公开一示例性实施例提供的视线区域预测装置的结构示意图。本实施例可应用在电子设备上,如图9所示,视线区域预测装置包括:获取模块901,用于获取目标相机拍摄的人脸图像;第一预测模块902,用于将人脸图像输入预先训练的视线区域预测模型,基于视线区域预测模型包括的眼部姿态预测模块,得到眼部姿态预测结果,其中,视线区域预测模型预先基于视线区域预测模型的生成方法训练得到;第二预测模块903,用于将眼部姿态预测结果输入视线区域预测模型包括的视线区域预测模块,得到人脸图像对应的视线区域信息。

在本实施例中,获取模块901可以从本地或从远程获取目标相机拍摄的人脸图像。其中,目标相机可以是设置在特定空间内的特定位置的相机。例如,目标相机可以是设置在车辆内部,用于拍摄车内人员的脸部,得到人脸图像。

在本实施例中,第一预测模块902可以将人脸图像输入预先训练的视线区域预测模型,基于视线区域预测模型包括的眼部姿态预测模块,得到眼部姿态预测结果。其中,视线区域预测模型预先基于上述图2对应实施例描述的方法训练得到。

在本实施例中,第二预测模块903可以将眼部姿态预测结果输入视线区域预测模型包括的视线区域预测模块,得到人脸图像对应的视线区域信息。其中,视线区域信息用于表征人脸图像指示的人物的视线注视的区域,视线区域信息可以包括多个坐标,这些坐标可以表征三维空间内的区域。通常,在得到视线区域信息之后,可以将视线区域信息按照各种方式输出。例如在显示器上显示,或者存储到预设的存储区,或者发送到其他电子设备等。

本公开上述实施例提供的视线区域预测模型的生成装置,通过将拍摄的人脸图像输入基于图2对应实施例训练的视线区域预测模型,即可得到视线区域信息,从而有效利用了端到端训练的模型进行视线区域预测,提高了视线区域预测的准确性和效率。

下面,参考图10来描述根据本公开实施例的电子设备。该电子设备可以是如图1所示的终端设备101和服务器103中的任一个或两者、或与它们独立的单机设备,该单机设备可以与终端设备101和服务器103进行通信,以从它们接收所采集到的输入信号。

图10图示了根据本公开实施例的电子设备的框图。

如图10所示,电子设备1000包括一个或多个处理器1001和存储器1002。

处理器1001可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1000中的其他组件以执行期望的功能。

存储器1002可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1001可以运行程序指令,以实现上文的本公开的各个实施例的视线区域预测模型的生成方法或视线区域预测方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如人脸图像视线区域预测模型等各种内容。

在一个示例中,电子设备1000还可以包括:输入装置1003和输出装置1004,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,在该电子设备是终端设备101或服务器103时,该输入装置1003可以是相机、鼠标、键盘等设备,用于输入人脸图像。在该电子设备是单机设备时,该输入装置1003可以是通信网络连接器,用于从终端设备101和服务器103接收所输入的人脸图像。

该输出装置1004可以向外部输出各种信息,包括预测的视线区域信息。该输出设备1004可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图10中仅示出了该电子设备1000中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1000还可以包括任何其他适当的组件。

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的视线区域预测模型的生成方法或视线区域预测方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的视线区域预测模型的生成方法或视线区域预测方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号