人脸预测模型的训练及多任务预测方法、装置和直播系统与流程
未命名
09-07
阅读:78
评论:0

1.本技术涉及网络直播技术领域,特别是涉及一种人脸预测模型的训练方法和装置、人脸多任务预测方法和装置、直播系统、计算机设备以及计算机可读存储介质。
背景技术:
2.随着网络直播技术的发展,各种美颜、美妆和整形等特效被广泛应用于网络直播当中,从而可以提高网络直播中分享的优质内容的传播效果。在直播过程中,为了精准定位到人脸位置并进行特效添加,需要对人脸关键点检测、分割等,因此人脸关键点检测、分割相关算法是美颜、美妆、整形等直播、短视频特效技术的基础。
3.目前,在对人脸图像执行2d关键点、3d关键点和图像分割任务时,通常是训练人脸预测模型来进行检测,每个预测模型可以完成一个相应的预测任务,例如,预测2d关键点可以使用2d关键点模型、预测3d关键点可以使用3d关键点模型、预测图像分割可以使用分割模型等,然而,在直播场景下,当需要完成多种预测任务时,同时使用这些预测模型无法满足直播实时性的高要求,由此会影响直播场景下美颜、美妆算法的运算效率,难以满足直播业务中的多任务使用需求,容易影响直播效果。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种人脸预测模型的训练方法和装置、人脸多任务预测方法和装置、直播系统、计算机设备以及计算机可读存储介质,实现单模型的多任务预测功能,提升了直播实时性。
5.第一方面,本技术提供一种人脸预测模型的训练方法,包括:
6.根据预测任务对人脸图像集进行分组,并根据各个预测任务分别对所述人脸图像分组进行数据标注;
7.构建特征图金字塔网络以及各个预测任务对应的预测任务层,将所述预测任务层分别连接到所述特征图金字塔网络输出的特征图上得到人脸多任务预测模型;
8.分别配置所述人脸多任务预测模型的各个预测任务层在预测训练中的损失函数;
9.利用所述标注的人脸图像并根据所述损失函数对所述人脸多任务预测模型进行训练。
10.在一个实施例中,构建特征图金字塔网络以及各个预测任务对应的预测任务层,包括:
11.构建一个提取图像特征的特征图金字塔网络;其中,所述特征图金字塔网络以人脸图像为输入,输出分辨率逐渐增大的多个特征图;
12.根据需要执行的各个预测任务,在所述特征图金字塔网络之后分别搭建对应的预测任务层。
13.在一个实施例中,将所述预测任务层分别连接到所述特征图金字塔网络输出的特征图上得到人脸多任务预测模型,包括:
14.针对于各个预测任务层,分别从所述特征图金字塔网络输出的特征图中选择至少一个特征图作为输入图像;
15.根据各个预测任务对应选择的输入图像将所述预测任务层连接到所述特征图上,得到人脸多任务预测模型。
16.在一个实施例中,利用所述标注的人脸图像并根据所述损失函数对所述人脸多任务预测模型进行训练,包括:
17.读取各组已标注的人脸图像,并分别输入到人脸多任务预测模型;
18.计算在各个所述损失函数共同影响下人脸多任务预测模型输出的各个预测任务的预测结果;
19.根据所述预测结果对人脸多任务预测模型的参数进行调整,直至人脸多任务预测模型输出的预测结果达到设定指标要求。
20.在一个实施例中,预测任务包括:预测人脸图像的2d关键点和预测人脸图像的3d关键点;
21.所述根据各个预测任务分别对所述人脸图像分组进行数据标注,包括:
22.在2d关键点人脸图像分组的每张人脸图像上人脸部位标注若干个2d关键点;
23.利用人脸3d基模型渲染一张正面人脸图像,确定3d基模型顶点与各个2d关键点的对应关系;根据所述对应关系在3d关键点人脸图像分组的每张人脸图上人脸部位标注若干个2d关键点。
24.在一个实施例中,利用人脸3d基模型渲染一张正面人脸图像,确定3d基模型顶点与各个2d关键点的对应关系,包括:
25.将人脸3d基模型的表情基和形状基进行降维;
26.利用人脸3d基模型的平均脸渲染一张正面人脸图像,并在所述正面人脸图像上标注若干个2d关键点;
27.计算所述正面人脸图像上3d顶点的2d投影点,并分别确定与各个2d关键点之间距离最小的投影点,获得正脸时3d基模型顶点与2d关键点的对应关系;
28.对所述正面人脸图像脸颊轮廓的2d关键点进行调整处理,获得侧脸时3d基模型顶点与2d关键点的对应关系。
29.在一个实施例中,所述预测任务还包括:预测人脸图像中人脸可见区域像素分类和预测3d人脸关键点所形成3d网格;
30.所述根据各个预测任务分别对所述人脸图像分组进行数据标注,还包括:
31.将人脸区域分割人脸图像分组的每张人脸图像上的人脸区域与背景区域进行分割,将所述人脸区域标注为前景像素,将背景区域标注为背景像素;
32.根据所述3d基模型顶点连接关系确定3d关键点人脸图像分组的人脸图像的3d关键点连接关系。
33.在一个实施例中,所述预测任务层包括:预测人脸图像的2d关键点的第一预测任务层,预测人脸图像中人脸可见区域像素分类的第二预测任务层,预测人脸图像的3d关键点的第三预测任务层和预测3d人脸关键点所形成3d网格的第四预测任务层;
34.所述图像特征的特征图金字塔网络输出分辨率逐渐增大的特征图f1、特征图f2、特征图f3和特征图f4;
35.其中,所述第一预测任务层和第二预测任务层为卷积神经网络层,以特征图f4作为输入图像;所述第三预测任务层和第四预测任务层为线性层,以特征图f1作为输入图像。
36.在一个实施例中,所述分别配置所述人脸多任务预测模型的各个预测任务层在预测训练中的损失函数,包括:
37.配置第一预测任务层的损失函数为其中,表示人脸多任务预测模型预测的第i个关键点坐标,表示标注的第i个2d关键点坐标;
38.配置第二预测任务层的损失函数为l
seg
=-(gt
seg
*logpred
seg
)+(1-gt
seg
)*log(1-pred
seg
)),其中,gt
seg
为前景像素或者背景像素的标注信息,pred
seg
为人脸多任务预测模型的预测结果;
39.配置第三预测任务层和第四预测任务层的损失函数为其中,为人脸多任务预测模型预测的3d人脸关键点在人脸图像上的2d投影点,表示标注的第i个2d关键点坐标。
40.第二方面,本技术提供一种人脸预测模型的训练装置,包括:
41.数据标注模块,用于根据预测任务对人脸图像集进行分组,并根据各个预测任务分别对所述人脸图像分组进行数据标注;
42.模型搭建模块,用于构建特征图金字塔网络以及各个预测任务对应的预测任务层,将所述预测任务层分别连接到所述特征图金字塔网络输出的特征图上得到人脸多任务预测模型;
43.函数配置模块,用于分别配置所述人脸多任务预测模型的各个预测任务层在预测训练中的损失函数;
44.模型训练模块,用于利用所述标注的人脸图像并根据所述损失函数对所述人脸多任务预测模型进行训练。
45.第三方面,本技术提供一种人脸多任务预测方法,包括:
46.获取主播的目标人脸图像;
47.将所述目标人脸图像输入所述人脸多任务预测模型;其中,所述人脸多任务预测模型采用所述的人脸预测模型的训练方法得到;
48.根据预测任务需求从所述人脸多任务预测模型输出的预测结果中选择相应的目标任务预测结果。
49.第四方面,本技术提供一种人脸多任务预测装置,包括:
50.图像获取模块,用于获取主播的目标人脸图像;
51.模型预测模块,用于将所述目标人脸图像输入所述人脸多任务预测模型;其中,所述人脸多任务预测模型采用所述的人脸预测模型的训练方法得到;
52.结果选择模块,用于根据预测任务需求从所述人脸多任务预测模型输出的预测结果中选择相应的目标任务预测结果。
53.第五方面,本技术提供一种直播系统,包括:主播端、观众端以及直播服务器;其中,所述主播端和观众端分别通过通信网络连接至所述直播服务器;
54.所述主播端,用于接入直播间的主播以及采集主播直播视频流上传至直播服务
器;
55.所述直播服务器,用于进行主播端与观众端之间的直播转发和向观众端下发直播视频;从主播直播视频流中获取主播的目标人脸图像,利用所述的人脸多任务预测方法获取所述目标人脸图像的目标任务预测结果并添加特效;
56.所述观众端,用于接入直播间的观众用户以及接收所述直播视频进行播放。
57.第六方面,本技术提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的人脸预测模型的训练方法的步骤或者所述的人脸多任务预测方法的步骤。
58.第七方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的人脸预测模型的训练方法的步骤或者所述的人脸多任务预测方法的步骤。
59.上述各实施例提供的技术方案,在人脸预测模型的训练中,根据预测任务对人脸图像集进行分组并进行数据标注,通过构建特征图金字塔网络以及各个预测任务对应的预测任务层,连接特征图与预测任务层得到人脸多任务预测模型;然后配置各个预测任务层的损失函数,最后利用标注的人脸图像和损失函数对人脸多任务预测模型进行训练;该技术方案,能够训练得到同时执行多种预测任务的预测模型,提升人脸多任务预测的效率,特别适用于直播场景下预测需求,满足不同实时直播场景的使用需求。
60.进一步的,在人脸多任务预测中,首先获取主播的目标人脸图像,然后输入到人脸多任务预测模型;再根据预测任务需求从人脸多任务预测模型输出的预测结果中选择相应的目标任务预测结果;该技术方案,利用输入的目标人脸图像可以同时预测并输出多种任务的预测结果,从而实现单模型预测多任务功能,可以根据需求来选择多种预测结果来添加直播特效,更好地满足直播业务对算法实时性的高要求。
附图说明
61.图1是一个示例的直播业务应用场景示意图;
62.图2是一个实施例的人脸预测模型的训练方法流程图;
63.图3是一个示例的人脸图像3d关键点标注结果示意图;
64.图4是一个示例的3d关键点与2d关键点的转换示意图;
65.图5是一个示例的人脸多任务预测模型结构示意图;
66.图6是一个实施例的人脸预测模型的训练装置结构示意图;
67.图7是一个实施例的人脸多任务预测方法流程图;
68.图8是一个实施例的人脸多任务预测装置结构示意图;
69.图9是一个示例的直播系统结构示意图;
70.图10是一个实施例的计算机设备的结构示意图。
具体实施方式
71.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
72.本技术实施例提供的技术方案,可以应用于如图1所示的本技术相关方法的应用场景中,图1是一个示例的直播业务应用场景示意图,该直播系统可以包括直播服务器、主播端和观众端,主播端和观众端通过通信网络与直播服务器进行数据通信,从而使得主播端的主播和观众端的观众用户能够进行实时网络直播。其中,对于主播端和观众端,其终端设备可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,直播服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
73.以下对本技术的人脸预测模型的训练方法的实施例进行说明,本技术可以是应用于人脸信息预测的场景中,能够通过单模型来同时实现多任务预测的功能;参考图2所示,图2是一个实施例的人脸预测模型的训练方法流程图,可以包括以下步骤:
74.s11,根据预测任务对人脸图像集进行分组,并根据各个预测任务分别对所述人脸图像分组进行数据标注。
75.此步骤中,可以从互联网网络等途径收集包含人脸的人脸图像,然后根据预测任务将这些人脸图像分组,得到不同预测任务对应的人脸图像分组,再根据不同预测任务来对这些人脸图像分组进行数据标注。
76.例如,如果预测任务包括预测人脸图像的2d关键点和预测人脸图像的3d关键点,对应的,可以预先获取2d关键点人脸图像分组和3d关键点人脸图像分组,在对人脸图像分组进行数据标注时,可以包括如下:
77.(1)在2d关键点人脸图像分组的每张人脸图像上人脸部位标注若干个2d关键点。
78.对于2d关键点,其是指人脸图像中人脸可见区域的关键点,一般情况下,在人脸处于侧脸情况下,脸颊轮廓点并非现实3d世界中人脸的脸颊位置,而是在2d图像可见区域中最接近3d真实人脸脸颊的位置上。
79.示例性的,可以在2d关键点人脸图像分组的每张人脸图像上标注人脸图像的2d关键点,如每张人脸图像标注300个2d关键点。
80.(2)利用人脸3d基模型渲染一张正面人脸图像,确定3d基模型顶点与各个2d关键点的对应关系;根据所述对应关系在3d关键点人脸图像分组的每张人脸图上人脸部位标注若干个2d关键点。
81.对于3d关键点,其是指对应人脸图像中的3d真实人脸的关键点,一般情况下,在人脸侧脸情况下,虽然该区域被遮挡,在人脸图像上不可见,但是脸颊轮廓点处于3d真实人脸的脸颊区域。
82.示例性的,可以利用人脸3d基模型渲染一张正面人脸图像,然后确定3d基模型顶点与各个2d关键点的对应关系,在标注3d关键点时,可以将3d关键点的数据标注转换为2d关键点来进行标注,3d关键点与2d关键点可以通过3d基模型所确定的对应关系来实现3d-2d关键点之间的转换。
83.作为实施例,可以通过bfm(bfm facial model,人脸模型)人脸3d基模型来确定3d基模型的顶点与各个2d关键点的对应关系,从而确定3d-2d之间的转换关系,具体包括如下:
84.a、将人脸3d基模型的表情基和形状基进行降维。
85.例如,可以使用bfm2019人脸3d基模型(参数化模型),利用pca(principal component analysis,主成分分析)降维技术把bfm2019人脸3d基模型的表情基和形状基先
降维到80维。
86.b、利用人脸3d基模型的平均脸渲染一张正面人脸图像,并在所述正面人脸图像上标注若干个2d关键点。
87.例如,利用bfm2019人脸3d基模型的平均脸meanshape来渲染一张正面人脸图像,参照2d关键点的标注方法,在正面人脸图像上标注300个2d关键点。
88.c、计算正面人脸图像上3d顶点的2d投影点,并分别确定与各个2d关键点之间距离最小的投影点,获得正脸时3d基模型顶点与2d关键点的对应关系。
89.例如,计算平均脸meanshape上每一个人脸图像的3d顶点的2d投影,对于所标注的300个2d关键点,分别找到与其距离最小的投影点,则在正脸情况下,得到该投影点的3d顶点与2d关键点之间的对应关系。
90.参考图3所示,图3是一个示例的人脸图像3d关键点标注结果示意图,其中“·”点是标注的2d关键点,
“×”
点是与之对应的3d关键点在人脸图像上投影点,可见二者几乎是重合的,从而得到正面时3d-2d关键点之间的转换关系。
91.d、对正面人脸图像脸颊轮廓的2d关键点进行调整处理,获得侧脸时3d基模型顶点与2d关键点的对应关系。
92.示例性的,由于人脸图像发生旋转时,人脸区域的脸颊位置的3d关键点与2d关键点差异较大,据此对人脸区域的脸颊轮廓的关键点进行调整,使得侧脸时也能获得3d基模型顶点与2d关键点的对应关系,从而得到侧面时3d-2d关键点之间的转换关系。
93.例如,参考图4所示,图4是一个示例的3d关键点与2d关键点的转换示意图;如图示,假设人脸图像正脸时,第1999号3d顶点v
1999
=(x,y,z)对应第1号人脸图像的脸颊2d关键点pt1=(w,h),根据v
1999
的y轴坐标可以定义一条水平线,长度为人脸宽度的一半,将该水平线上的所有3d顶点编号加入2d关键点pt1的3d顶点集合ω1={1999,
…
};对于人脸图像的左边侧脸情况,则取出集合ω1中所有编号的3d顶点,x坐标最大的3d顶点对应此时的2d关键点pt1,以此类推,可以得到人脸图像上的各个3d关键点对应的2d关键点。
94.如上述实施例中,由于将3d关键点转换为2d关键点进行标注,因此3d关键点人脸图像分组可以与2d关键点人脸图像分组共用一组人脸图像。
95.在一个实施例中,预测任务还可以包括预测人脸图像中人脸可见区域像素分类和预测3d人脸关键点所形成3d网格;据此,可以先获取人脸区域分割人脸图像分组,在对人脸图像分组进行数据标注时,可以包括如下:
96.(3)将人脸区域分割人脸图像分组的每张人脸图像上的人脸区域与背景区域进行分割,将所述人脸区域标注为前景像素,将背景区域标注为背景像素。
97.对于人脸区域分割,其是指人脸图像中人脸可见区域的逐像素分类,分割后的图像内容一般只包括人脸可见区域,不包括头发、服饰等其他背景区域。
98.示例性的,首先将人脸区域分割人脸图像分组的每张人脸图像上的人脸区域与头发、服饰等背景区域分割开来,然后人脸区域标注为前景像素(像素值为1),将背景区域标注为背景像素(通常像素值取值为0),从而将人脸区域与背景区域的分割。
99.(4)根据所述3d基模型顶点连接关系确定3d关键点人脸图像分组的人脸图像的3d关键点连接关系。
100.对于3d网格,即3dmesh,其是对应人脸图像中的3d真实人脸的3d网格,由3d关键点
以及3d关键点之间的连接关系组成。由于3d基模型顶点连接关系是固定的,因此在对3d网格进行数据标注时,利用该3d基模型顶点连接关系及前面标注的3d关键点(由2d关键点及对应关系可确定)即可得到各个3d关键点之间的连接关系。
101.上述实施例的方案,设计了预测人脸图像的2d关键点、人脸区域分割和预测人脸图像的3d关键点及其3d网格的预测任务;并且通过将3d关键点转换为2d关键点进行数据标注的方案,从而便于在单个模型中进行多任务的模型训练。
102.s12,构建特征图金字塔网络以及各个预测任务对应的预测任务层,将所述预测任务层分别连接到所述特征图金字塔网络输出的特征图上得到人脸多任务预测模型。
103.此步骤中,为搭建人脸多任务预测模型的过程,利用特征图金字塔网络(feature pyramid networks,fpn)来提取输入的人脸图像的特征图,并且根据各个预测任务搭建对应的预测任务层,再根据不同预测任务中对于不同特征图的需求将预测任务层分别连接到特征图金字塔网络输出的相应特征图上,从而搭建出人脸多任务预测模型。
104.在一个实施例中,对于步骤s12中的构建特征图金字塔网络以及各个预测任务对应的预测任务层的过程,可以包括如下:
105.s201,构建一个提取图像特征的特征图金字塔网络;其中,所述特征图金字塔网络以人脸图像为输入,输出分辨率逐渐增大的多个特征图。
106.例如,构建图像特征的特征图金字塔网络输出分辨率逐渐增大的特征图f1、特征图f2、特征图f3和特征图f4;其中,特征图f1至f4的分辨率逐渐增大。
107.s202,根据需要执行的各个预测任务,在所述特征图金字塔网络之后分别搭建对应的预测任务层。
108.例如,如前面实施例,可以设置预测人脸图像的2d关键点、预测人脸图像的3d关键点、预测人脸图像中人脸可见区域像素分类和预测3d人脸关键点所形成3d网格四个预测任务。
109.对应的,搭建预测任务层包括:预测人脸图像的2d关键点的第一预测任务层,预测人脸图像中人脸可见区域像素分类的第二预测任务层,预测人脸图像的3d关键点的第三预测任务层和预测3d人脸关键点所形成3d网格的第四预测任务层。
110.优选的,第一预测任务层和第二预测任务层可以为卷积神经网络层,第三预测任务层和第四预测任务层可以为线性层。
111.在上述实施例中,对于步骤s12中的将所述预测任务层分别连接到所述特征图金字塔网络输出的特征图上得到人脸多任务预测模型的过程,可以包括如下:
112.s203,针对于各个预测任务层,分别从所述特征图金字塔网络输出的特征图中选择至少一个特征图作为输入图像。
113.示例性的,针对于上述四个预测任务层,可以特征图金字塔网络输出的特征图中选择不同的特征图作为该预测任务层的输入图像;优选的,可以选择分辨率最大的特征图f4作为第一预测任务层和第二预测任务层的输入图像,选择分辨率最小的特征图f1作为第三预测任务层和第四预测任务层的输入图像;当然也可以通过其他形式的选择方案,比如选择特征图f1和f2作为第三预测任务层和第四预测任务层的输入图像;选择特征图f3和f4作为第一预测任务层和第二预测任务层的输入图像等;具体可以不同情况下的训练需求进行设定。
114.s204,根据各个预测任务对应选择的输入图像将所述预测任务层连接到所述特征图上,得到人脸多任务预测模型。
115.如图5所示,图5是一个示例的人脸多任务预测模型结构示意图,图中第一预测任务层和第二预测任务层以特征图f4作为输入图像,第三预测任务层和第四预测任务层以特征图f1作为输入图像,其中:
116.第一预测任务层以特征图f4作为输入图像,采用卷积神经网络的操作函数conv2d函数来得到热图heatmap,然后利用热图heatmap并使用soft-argmax算法计算得到2d关键点坐标。
117.第二预测任务层为以特征图f4作为输入图像且为卷积神经网络层,采用卷积神经网络的操作函数conv2d函数来预测人脸图像的分割图像。
118.第三预测任务层利用线性函数linear函数来预测bfm基模型的系数和相机参数,其中系数包括形状系数为w
id
∈r
80x1
、表情系数为w
exp
∈r
80x1
;相机参数包括平移参数t∈r
3x1
和旋转参数r∈r
3x1
等,预测的3d人脸关键点集合v=meanshape+w
id
*b
id
+w
exp
*b
exp
。
119.第四预测任务层是利用第三预测任务层3d人脸关键点的预测结果及3d关键点连接关系得到,即利用3d人脸关键点集合v加上预定义的3d顶点三角形的连接关系即得到3dmesh。
120.上述实施例,提供了搭建人脸多任务预测模型的技术方案,该人脸多任务预测模型包含了当前直播场景中常用的几种预测任务,特别是覆盖了美颜、美妆、整形等直播、短视频特效技术常用的人脸关键点检测与分割算法,极大地提高了直播场景下的算法效率。
121.s13,分别配置所述人脸多任务预测模型的各个预测任务层在预测训练中的损失函数。
122.此步骤中,基于所搭建的人脸多任务预测模型,设计各个预测任务层在预测训练中的损失函数,由于人脸多任务预测模型是单模型多任务预测结构,在训练时各个预测任务层的损失函数相互影响,最终输出是多个预测任务同时输出预测结果。
123.在一个实施例中,以预测人脸图像的2d关键点、预测人脸图像的3d关键点、预测人脸图像中人脸可见区域像素分类和预测3d人脸关键点所形成3d网格四个预测任务为例,对应的,配置各个预测任务层在预测训练中的损失函数,可以包括如下:
124.配置第一预测任务层的损失函数为其中,表示人脸多任务预测模型预测的第i个关键点坐标,表示标注的第i个2d关键点坐标。
125.配置第二预测任务层的损失函数为l
seg
=-(gt
seg
*logpred
seg
)+(1-gt
seg
)*log(1-pred
seg
)),其中,gt
seg
为前景像素或者背景像素的标注信息,即像素属于前景像素(1)还是背景像素(0),pred
seg
为人脸多任务预测模型的预测结果(0~1)。
126.配置第三预测任务层和第四预测任务层的损失函数为其中,为人脸多任务预测模型预测的3d人脸关键点在人脸图像上的2d投影点,表示标注的第i个2d关键点坐标;其中,3d关键点与2d关键点的对应关系为3d基模型顶点与2d关键点的对应关系。
127.上述实施例的方案,根据预测任务分别设计了各个预测任务层在预测训练中对应
的损失函数,各个损失函数在模型训练过程中相互影响,从而可以形成多个预测任务同时输出预测结果的功能。
128.s14,利用所述标注的人脸图像并根据所述损失函数对所述人脸多任务预测模型进行训练。
129.此步骤中,是利用各个人脸图像分组,在设定的损失函数下对人脸多任务预测模型进行训练,从而得到可以在实际场景中预测使用的人脸多任务预测模型。
130.在一个实施例中,对于训练的过程,可以包括如下:
131.s401,读取各组已标注的人脸图像,并分别输入到人脸多任务预测模型;具体的,将标注好的人脸图像分别输入到人脸多任务预测模型中。
132.s402,计算在各个所述损失函数共同影响下人脸多任务预测模型输出的各个预测任务的预测结果;在训练过程中,各个预测任务层均进行训练并同时输出预测结果。
133.s402,根据所述预测结果对人脸多任务预测模型(包括特征图金字塔网络和各个预测任务层)的参数进行调整,直至人脸多任务预测模型输出的预测结果达到设定指标要求。
134.上述实施例的方案,利用单个模型的多个预测任务层的损失函数下同时进行模型训练,从而可以使得人脸多任务预测模型可以对单个人脸图像进行多个任务同时预测,从而提升了模型预测算法效率。
135.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
136.基于同样的发明构思,本技术还提供了一种用于实现上述所涉及的相关方法的装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个相关装置实施例中的具体限定可以参见上文中对于相关方法的限定,在此不再赘述。
137.参考图6所示,图6是一个实施例的人脸预测模型的训练装置结构示意图,该装置包括:
138.数据标注模块11,用于根据预测任务对人脸图像集进行分组,并根据各个预测任务分别对所述人脸图像分组进行数据标注;
139.模型搭建模块12,用于构建特征图金字塔网络以及各个预测任务对应的预测任务层,将所述预测任务层分别连接到所述特征图金字塔网络输出的特征图上得到人脸多任务预测模型;
140.函数配置模块13,用于分别配置所述人脸多任务预测模型的各个预测任务层在预测训练中的损失函数;
141.模型训练模块14,用于利用所述标注的人脸图像并根据所述损失函数对所述人脸多任务预测模型进行训练。
142.上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
143.本实施例的人脸预测模型的训练装置可执行本技术的实施例所提供的一种人脸预测模型的训练方法,其实现原理相类似,本技术各实施例中的人脸预测模型的训练装置中的各模块所执行的动作是与本技术各实施例中的人脸预测模型的训练方法中的步骤相对应的,对于人脸预测模型的训练装置的各模块的详细功能描述具体可以参见前文中所示的对应的人脸预测模型的训练方法中的描述,此处不再赘述。
144.基于前述实施例提供的人脸预测模型的训练方案,本技术还提供一种人脸多任务预测方法,在该方法中,利用了前述任意实施例的人脸预测模型的训练方法得到的人脸多任务预测模型。
145.参考图7所示,图7是一个实施例的人脸多任务预测方法流程图,包括:
146.s21,获取主播的目标人脸图像。
147.具体的,在直播场景中,直播服务器可以获取主播端上传的主播图像,根据主播图像进行人脸识别得到主播的目标人脸图像。
148.s22,将所述目标人脸图像输入所述人脸多任务预测模型。
149.具体的,将需要添加特征等处理的目标人脸图像输入到的预先训练的人脸多任务预测模型进行多任务预测得到相应的预测结果。
150.例如,可以输入一张目标人脸图像,人脸多任务预测模型即可输出人脸图像的2d关键点、人脸图像分割图、人脸图像的3d关键点及其3dmesh的预测结果。
151.s23,根据预测任务需求从所述人脸多任务预测模型输出的预测结果中选择相应的目标任务预测结果。
152.具体的,直播服务器根据使用需求,可以从人脸多任务预测模型输出的多个预测结果中选择所需的目标任务预测结果;例如,如果当前需要获取人脸图像的2d关键点和人脸图像分割图,则可以选择这两个输出预测结果进行使用。
153.如本技术提供的技术方案,可以用一个预测模型同时输出人脸的2d关键点、人脸分割图、3d关键点及其3dmesh等预测结果,可以显著提高使用人脸关键点检测算法、人脸分割算法、人脸3d关键点与3dmesh算法场景中的算法计算效率,更好地满足直播业务对算法的高实时性要求。
154.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
155.基于同样的发明构思,本技术还提供了一种用于实现上述所涉及的相关方法的装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个相关装置实施例中的具体限定可以参见上文中对于相关方法的限定,在
此不再赘述。
156.参考图8所示,图8是一个实施例的人脸多任务预测装置结构示意图,该装置包括:
157.图像获取模块21,用于获取主播的目标人脸图像;
158.模型预测模块22,用于将所述目标人脸图像输入所述人脸多任务预测模型;其中,所述人脸多任务预测模型采用上述任意实施例的人脸预测模型的训练方法得到;
159.结果选择模块23,用于根据预测任务需求从所述人脸多任务预测模型输出的预测结果中选择相应的目标任务预测结果。
160.上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
161.本实施例的人脸多任务预测装置可执行本技术的实施例所提供的一种人脸多任务预测方法,其实现原理相类似,本技术各实施例中的人脸多任务预测装置中的各模块所执行的动作是与本技术各实施例中的人脸多任务预测方法中的步骤相对应的,对于人脸多任务预测装置的各模块的详细功能描述具体可以参见前文中所示的对应的人脸多任务预测方法中的描述,此处不再赘述。
162.下面阐述直播系统的实施例。
163.本实施例提供的直播系统,参考图9所示,图9是一个示例的直播系统结构示意图,该直播系统包括:主播端、观众端以及直播服务器;其中主播端和观众端分别通过通信网络连接至直播服务器。
164.对于主播端,其是用于接入直播间的主播用户以及采集主播直播视频流上传至直播服务器;对于直播服务器,其是用于进行主播端与观众端之间的直播转发和向观众端下发直播视频;从主播直播视频流中获取主播的目标人脸图像,利用上述任意实施例的人脸多任务预测方法获取所述目标人脸图像的目标任务预测结果并添加特效;对于所述观众端,其是用于接入直播间的观众用户以及接收所述直播视频进行播放。
165.如图9所示,假设观众用户a、b、c
……
通过app客户端访问直播间观看主播的直播画面,当主播用户需要使用美颜、美妆等特效时,需要调用人脸多任务预测模型来对其人脸相关信息进行多任务预测,如人脸的2d关键点、人脸分割图、3d关键点及其3dmesh等,此时,主播用户可以通过其客户端将视频流上传到直播服务器之后,由直播服务器调用人脸多任务预测模型来获取相关预测结果,并添加相应的特效效果;然后直播服务器可以将添加了特效效果之后的视频画面生成直播视频流下发到各个观众用户a、b、c
……
的客户端上进行播放。由于上述直播系统采用了本技术的人脸多任务预测模型,在进行人脸相关信息的多任务预测时,能够同时输出多个任务的预测结果,提高了模型算法效率,能够更好的服务于网络直播业务中的美颜、美妆等特效技术。
166.下面阐述本技术的计算机设备及计算机可读存储介质的实施例。
167.参考图10所示,图10是一个示例的计算机设备结构示意图,该计算机设备可以是直播服务器应用的设备,也可以是观众端和主播端应用的设备,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和
计算机程序的运行提供环境。该计算机设备的数据库用于存储人脸图像数据集等数据。该计算机设备的网络接口用于与外部的设备通过通信网络连接。该计算机程序被处理器执行时以实现本技术实施例所提供的相关方法。
168.本领域技术人员可以理解,上述实施例提供的计算机设备结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
169.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例的方法中的步骤。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
170.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
171.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
172.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种人脸预测模型的训练方法,其特征在于,包括:根据预测任务对人脸图像集进行分组,并根据各个预测任务分别对所述人脸图像分组进行数据标注;构建特征图金字塔网络以及各个预测任务对应的预测任务层,将所述预测任务层分别连接到所述特征图金字塔网络输出的特征图上得到人脸多任务预测模型;分别配置所述人脸多任务预测模型的各个预测任务层在预测训练中的损失函数;利用所述标注的人脸图像并根据所述损失函数对所述人脸多任务预测模型进行训练。2.根据权利要求1所述的人脸预测模型的训练方法,其特征在于,构建特征图金字塔网络以及各个预测任务对应的预测任务层,包括:构建一个提取图像特征的特征图金字塔网络;其中,所述特征图金字塔网络以人脸图像为输入,输出分辨率逐渐增大的多个特征图;根据需要执行的各个预测任务,在所述特征图金字塔网络之后分别搭建对应的预测任务层。3.根据权利要求2所述的人脸预测模型的训练方法,其特征在于,将所述预测任务层分别连接到所述特征图金字塔网络输出的特征图上得到人脸多任务预测模型,包括:针对于各个预测任务层,分别从所述特征图金字塔网络输出的特征图中选择至少一个特征图作为输入图像;根据各个预测任务对应选择的输入图像将所述预测任务层连接到所述特征图上,得到人脸多任务预测模型。4.根据权利要求1所述的人脸预测模型的训练方法,其特征在于,预测任务包括:预测人脸图像的2d关键点和预测人脸图像的3d关键点;所述根据各个预测任务分别对所述人脸图像分组进行数据标注,包括:在2d关键点人脸图像分组的每张人脸图像上人脸部位标注若干个2d关键点;利用人脸3d基模型渲染一张正面人脸图像,确定3d基模型顶点与各个2d关键点的对应关系;根据所述对应关系在3d关键点人脸图像分组的每张人脸图上人脸部位标注若干个2d关键点。5.根据权利要求4所述的人脸预测模型的训练方法,其特征在于,利用人脸3d基模型渲染一张正面人脸图像,确定3d基模型顶点与各个2d关键点的对应关系,包括:将人脸3d基模型的表情基和形状基进行降维;利用人脸3d基模型的平均脸渲染一张正面人脸图像,并在所述正面人脸图像上标注若干个2d关键点;计算所述正面人脸图像上3d顶点的2d投影点,并分别确定与各个2d关键点之间距离最小的投影点,获得正脸时3d基模型顶点与2d关键点的对应关系;对所述正面人脸图像脸颊轮廓的2d关键点进行调整处理,获得侧脸时3d基模型顶点与2d关键点的对应关系。6.根据权利要求4所述的人脸预测模型的训练方法,其特征在于,所述预测任务还包括:预测人脸图像中人脸可见区域像素分类和预测3d人脸关键点所形成3d网格;所述根据各个预测任务分别对所述人脸图像分组进行数据标注,还包括:将人脸区域分割人脸图像分组的每张人脸图像上的人脸区域与背景区域进行分割,将
所述人脸区域标注为前景像素,将背景区域标注为背景像素;根据所述3d基模型顶点连接关系确定3d关键点人脸图像分组的人脸图像的3d关键点连接关系。7.一种人脸预测模型的训练装置,其特征在于,包括:数据标注模块,用于根据预测任务对人脸图像集进行分组,并根据各个预测任务分别对所述人脸图像分组进行数据标注;模型搭建模块,用于构建特征图金字塔网络以及各个预测任务对应的预测任务层,将所述预测任务层分别连接到所述特征图金字塔网络输出的特征图上得到人脸多任务预测模型;函数配置模块,用于分别配置所述人脸多任务预测模型的各个预测任务层在预测训练中的损失函数;模型训练模块,用于利用所述标注的人脸图像并根据所述损失函数对所述人脸多任务预测模型进行训练。8.一种人脸多任务预测方法,其特征在于,包括:获取主播的目标人脸图像;将所述目标人脸图像输入所述人脸多任务预测模型;其中,所述人脸多任务预测模型采用权利要求1-6任一项所述的人脸预测模型的训练方法得到;根据预测任务需求从所述人脸多任务预测模型输出的预测结果中选择相应的目标任务预测结果。9.一种人脸多任务预测装置,其特征在于,包括:图像获取模块,用于获取主播的目标人脸图像;模型预测模块,用于将所述目标人脸图像输入所述人脸多任务预测模型;其中,所述人脸多任务预测模型采用权利要求1-6任一项所述的人脸预测模型的训练方法得到;结果选择模块,用于根据预测任务需求从所述人脸多任务预测模型输出的预测结果中选择相应的目标任务预测结果。10.一种直播系统,其特征在于,包括:主播端、观众端以及直播服务器;其中,所述主播端和观众端分别通过通信网络连接至所述直播服务器;所述主播端,用于接入直播间的主播以及采集主播直播视频流上传至直播服务器;所述直播服务器,用于进行主播端与观众端之间的直播转发和向观众端下发直播视频;从主播直播视频流中获取主播的目标人脸图像,利用权利要求8所述的人脸多任务预测方法获取所述目标人脸图像的目标任务预测结果并添加特效;所述观众端,用于接入直播间的观众用户以及接收所述直播视频进行播放。11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6中任一项所述的人脸预测模型的训练方法的步骤或者权利要求8的人脸多任务预测方法的步骤。12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的人脸预测模型的训练方法的步骤或者权利要求8的人脸多任务预测方法的步骤。
技术总结
本申请涉及一种人脸预测模型的训练方法和装置、人脸多任务预测方法和装置、直播系统、计算机设备以及计算机可读存储介质;该训练方法包括:根据预测任务对人脸图像集进行分组,并分别对人脸图像分组进行数据标注;构建特征图金字塔网络以及各个预测任务对应的预测任务层,将预测任务层分别连接到特征图金字塔网络输出的特征图上得到人脸多任务预测模型;分别配置人脸多任务预测模型的各个预测任务层在预测训练中的损失函数;利用标注的人脸图像并根据损失函数对人脸多任务预测模型进行训练。该技术方案,能够训练得到同时执行多种预测任务的预测模型,提升人脸多任务预测的效率,特别适用于直播场景下预测需求,满足不同实时直播场景的使用需求。实时直播场景的使用需求。实时直播场景的使用需求。
技术研发人员:宫凯程
受保护的技术使用者:广州方硅信息技术有限公司
技术研发日:2023.06.06
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种屏幕调整方法和智能电视机与流程 下一篇:一种激光焊接工艺的制作方法