人脸模型训练方法、换脸方法、装置和电子设备与流程

文档序号:31606590发布日期:2022-09-21 10:54阅读:408来源:国知局
人脸模型训练方法、换脸方法、装置和电子设备与流程

1.本公开涉及图像处理技术领域,尤其涉及深度学习技术领域。具体涉及一种人脸模型训练方法、换脸方法、装置和电子设备。


背景技术:

2.人脸融合(换脸)是指将源图像的人物面部信息迁移到目标图像,同时保持目标图像的表情、姿态、光照、肤色等属性不变。目前的换脸技术通常是通过神经网络实现,即通过使用大量独立的图片对神经网络进行训练,得到换脸模型,然后,利用换脸模型实现换脸。


技术实现要素:

3.本公开提供了一种人脸模型训练方法、换脸方法、装置和电子设备。
4.根据本公开的第一方面,提供了一种人脸模型训练方法,包括:
5.获取训练数据集,所述训练数据集包括第一训练数据,所述第一训练数据包括待换脸的相同对象的两张脸部图像和第一监督图像,所述两张脸部图像包括:处于侧脸姿态的第一脸部图像,所述第一监督图像包括所述第一脸部图像;
6.基于所述训练数据集对初始换脸模型进行训练,得到训练后的目标换脸模型。
7.根据本公开的第二方面,提供了一种换脸方法,包括:
8.获取第六脸部图像和第七脸部图像;
9.将所述第六脸部图像和所述第七脸部图像输入目标换脸模型进行换脸处理,得到所述目标换脸模型输出的第四换脸图像,其中,所述目标换脸模型为基于训练数据集对初始换脸模型进行训练之后得到的模型,所述训练数据集包括第一训练数据,所述第一训练数据包括待换脸的相同对象的两张脸部图像和第一监督图像,所述两张脸部图像:处于侧脸姿态的第一脸部图像,所述第一监督图像包括所述第一脸部图像。
10.根据本公开的第三方面,提供了一种人脸模型训练装置,包括:
11.第一获取模块,用于获取训练数据集,所述训练数据集包括第一训练数据,所述第一训练数据包括待换脸的相同对象的两张脸部图像和第一监督图像,所述两张脸部图像包括:处于侧脸姿态的第一脸部图像,所述第一监督图像包括所述第一脸部图像;
12.训练模块,用于基于所述训练数据集对初始换脸模型进行训练,得到训练后的目标换脸模型。
13.根据本公开的第四方面,提供了一种换脸装置,包括:
14.第二获取模块,用于获取第六脸部图像和第七脸部图像;
15.换脸模块,用于将所述第六脸部图像和所述第七脸部图像输入目标换脸模型进行换脸处理,得到所述目标换脸模型输出的第四换脸图像,其中,所述目标换脸模型为基于训练数据集对初始换脸模型进行训练之后得到的模型,所述训练数据集包括第一训练数据,所述第一训练数据包括待换脸的相同对象的两张脸部图像和第一监督图像,所述两张脸部图像:处于侧脸姿态的第一脸部图像,所述第一监督图像包括所述第一脸部图像。
16.根据本公开的第五方面,提供了一种电子设备,包括:
17.至少一个处理器;以及
18.与所述至少一个处理器通信连接的存储器;其中,
19.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面或第二方面所述的方法。
20.根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述第一方面或第二方面所述的方法。
21.根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面或第二方面所述的方法。
22.本公开实施例中,由于第一训练数据包括处于侧脸姿态的第一脸部图像,有利于模型学习如何对侧脸图像进行换脸。同时,由于第一训练数据中待换脸的两张脸部图像为相同对象的脸部图像,因此,在对第一脸部图像进行换脸之后,理论上所述第一脸部图像应该保持不变,即所述第一脸部图像可以视为换脸之后真实的侧脸图像,基于此,本公开通过将所述第一脸部图像作为监督图像,有利于提高对侧脸图像进行换脸过程中的监督效果,进而提高训练之后得到的模型对侧脸图像的换脸效果。
附图说明
23.附图用于更好地理解本方案,不构成对本公开的限定。其中:
24.图1是本公开实施例提供的一种人脸模型训练方法的流程图;
25.图2是本公开实施例中第二监督图像生成过程的流程示意图;
26.图3是本公开实施例提供的一种换脸方法的流程图;
27.图4是本公开实施例提供的一种人脸模型训练装置的结构示意图;
28.图5是本公开实施例中第一获取模块的结构示意图;
29.图6是本公开实施例中训练模块的结构示意图;
30.图7是本公开实施例提供的一种换脸装置的结构示意图;
31.图8本公开实施例提供的用于实现人脸模型训练方法或换脸方法的电子设备的框图。
具体实施方式
32.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
33.请参见图1,图1为本公开实施例提供的一种人脸模型训练方法,所述人脸模型训练方法,包括以下步骤:
34.步骤s101、获取训练数据集,所述训练数据集包括第一训练数据,所述第一训练数据包括待换脸的相同对象的两张脸部图像和第一监督图像,所述两张脸部图像包括:处于侧脸姿态的第一脸部图像,所述第一监督图像包括所述第一脸部图像;
35.步骤s102、基于所述训练数据集对初始换脸模型进行训练,得到训练后的目标换
脸模型。
36.其中,所述第一训练数据包括所述第一脸部图像、所述第一监督图像和第八脸部图像,其中,所述第一脸部图像和所述第八脸部图像形成所述待换脸的两张脸部图像。所述第一脸部图像为待换脸图像,在初始换脸模型进行换脸训练过程中,初始换脸模型需要将第八脸部图像中的面部信息换脸至所述第一脸部图像,以得到换脸后的脸部图像。其中,在换脸之后,第一脸部图像中的面部的表情、姿态、光照、肤色等属性保持不变。
37.上述待换脸的两张脸部图像为相同对象的脸部图像可以是指:待换脸的两张脸部图像中的对象的身份属性相同,例如,当所述待换脸的两张脸部图像均为人脸图像时,所述待换脸的两张脸部图像为同一个人的脸部图像。其中,所述待换脸的两张脸部图像可以是从同一视频数据中获取的同一人物的脸部图像。
38.可以理解的是,所述待换脸的两张脸部图像中的人脸姿态、面部表情、光照等信息可以不同。
39.上述侧脸姿态可以是与正脸姿态相对应的脸部姿态,其中,所述正脸姿态即面部朝向正前方的姿态,而所述侧脸姿态可以是与正脸姿态之间的姿态夹角超过预设角度的姿态,例如,当脸部姿态与正脸姿态之间的姿态夹角位于60
°
至120
°
之间时,视为侧脸姿态。
40.上述第八脸部图像的脸部姿态既可以是正脸姿态,也可以是侧脸姿态。
41.相关技术中的换脸技术对于侧脸和极端角度的鲁棒性较差,容易产生明显的伪影和五官扭曲等问题。
42.基于此,本公开实施例中,在基于第一训练数据对初始换脸模型进行训练时,即在初始换脸模型学习如何对侧脸姿态的脸部图像进行换脸时,由于第一脸部图像与第八脸部图像为相同对象的脸部图像,因此,所述第一脸部图像与所述第八脸部图像中的面部信息基本相同,故将所述第八脸部图像中的面部信息迁移至所述第一脸部图像之后,理想状态下,所述第一脸部图像保持不变。基于此,本公开实施例中,通过将第一脸部图像作为第一训练数据中的监督图像,有利于基于真实的侧脸图像对侧脸换脸训练过程进行强行监督,进而提高模型对侧脸图像进行换脸过程中的监督效果,以提高训练之后得到的模型对侧脸图像的换脸效果。
43.具体地,在初始换脸模型基于第八脸部图像对第一脸部图像进行换脸之后,可以得到换脸后的第五换脸图像,然后,可以基于所述第五换脸图像与所述第一监督图像构建损失函数,并利用所构建的损失函数对所述初始换脸模型的模型参数进行优化,以便于提高初始换脸模型对侧脸图像的换脸效果。
44.上述初始换脸模型可以是基于现有的手段训练得到的换脸模型。例如,可以使用大量独立的图片对预先构建的换脸模型进行换脸训练,以得到所述初始换脸模型。由于所述初始换脸模型在训练之前,预先学习了一定的换脸知识,因此,可以加快对所述初始换脸模型进行训练的速度。
45.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
46.该实施方式中,由于第一训练数据包括处于侧脸姿态的第一脸部图像,有利于模型学习如何对侧脸图像进行换脸。同时,由于第一训练数据中待换脸的两张脸部图像为相同对象的脸部图像,因此,在对第一脸部图像进行换脸之后,理论上所述第一脸部图像应该
保持不变,即所述第一脸部图像可以视为换脸之后真实的侧脸图像,基于此,本公开通过将所述第一脸部图像作为监督图像,有利于提高对侧脸图像进行换脸过程中的监督效果,进而提高训练之后得到的模型对侧脸图像的换脸效果。从而有利于克服相关技术中,在对处于侧脸姿态的人脸图像或处于极端角度姿态的人脸图像进行换脸时,出现的鲁棒性较差、容易产生明显的伪影和五官扭曲等问题。
47.可选地,步骤s101中获取的所述训练数据集还包括第二训练数据,所述第二训练数据包括第二脸部图像、第三脸部图像和第二监督图像,所述第二脸部图像与所述第三脸部图像为不同对象的脸部图像。
48.其中,所述第二脸部图像和第三脸部图像可以是不同人物的人脸图像,且对所述第二脸部图像和所述第三脸部图像中的人脸姿态不做限定,例如,二者可以均为正脸图像;或者,其中一者为正脸图像,另一种为侧脸图像;或者,二者均为侧脸图像等。可以理解的是,所述第二脸部图像和所述第三脸部图像共同形成所述第二训练数据中两个待换脸的脸部图像。
49.所述第二监督图像可以是对所述第二脸部图像和第三脸部图像进行换脸之后得到的换脸效果较好的脸部图像。
50.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
51.该实施方式中,通过将第二训练数据对初始换脸模型进行训练,如此,有利于初始换脸模型学习如何对不同对象之间的脸部图像进行换脸,以进一步提高训练得到的模型的换脸效果。
52.可选地,步骤s101所述获取训练数据集,进一步可以包括:
53.通过向第一换脸模型输入所述第二脸部图像和所述第三脸部图像,将所述第三脸部图像中的面部信息迁移至所述第二脸部图像,得到输出的第一换脸图像;
54.通过向第二换脸模型输入所述第二脸部图像和所述第三脸部图像,将所述第三脸部图像中的面部信息迁移至所述第二脸部图像,得到输出的第二换脸图像,其中,所述第一换脸模型在第一脸部区域的换脸精度高于所述第二换脸模型在所述第一脸部区域的换脸精度,所述第二换脸模型在所述第一脸部区域之外的其他第二脸部区域的换脸精度高于所述第一换脸模型在所述第二脸部区域的换脸精度;
55.将所述第二换脸图像中所述第一脸部区域的图像内容替换为所述第一换脸图像中所述第一脸部区域的图像内容,得到所述第二监督图像。
56.其中,所述第二脸部区域可以是指脸部图像中,除所述第一区域之外的其他区域。
57.上述第一换脸模型和第二换脸模型可以是基于相关技术中的换脸模型的训练方法训练得到的换脸模型。例如,相关技术中,大多依赖图像自我重建损失函数,色彩感知损失函数,循环自我重建等训练方式对换脸模型进行训练。在训练时,相关人员可以通过减小身份损失函数的比例,这样,训练得到的模型换脸相似度较低(即换脸的准确性较低),但换脸之后得到的图像的牙齿和面部干净。同时,还可以通过增大身份损失函数的比例,这样,训练得到的模型换脸相似度较高(即换脸的准确性较高),但换脸之后的得到的图像可能存在伪影。且这两种模型在侧脸场景都不鲁棒。
58.具体地,所述第二换脸模型可以是基于现有的换脸技术训练得的换脸相似度较
高,但换脸之后的得到的图像可能存在伪影的模型。相应地,所述第一换脸模型可以是基于现有的换脸技术训练得的换脸相似度较低,但换脸之后得到的图像的牙齿和面部干净的模型。
59.上述目标区域可以是脸部图像中与人物身份识别关联性较低的区域,例如,可以是嘴巴区域、耳部区域等。如此,可以确保在将所述第二换脸图像的所述目标区域的图像内容替换为所述第一换脸图像的所述目标区域的图像内容之后,所述第二换脸图像中的人物的身份不会变化。下文以所述目标区域为嘴部区域为例,对本公开实施例提供的人脸模型训练方法作进一步的解释说明。
60.由于所述第一换脸模型在脸部的目标区域的换脸精度高于所述第二换脸模型在所述目标区域的换脸精度,因此,所述第一换脸图像中的目标区域的换脸效果较好。而所述第二换脸模型在所述目标区域之外的其他脸部区域的换脸精度高于所述第一换脸模型在所述其他脸部区域的换脸精度,因此,所述第二换脸图像中除所述目标区域之外的其他脸部区域的换脸效果较好。基于此,本公开实施例中通过将所述第一换脸图像中的目标区域与第二换脸图像中目标区域之外的其他脸部区域进行融合,即将所述第一换脸图像和第二换脸图像中换脸效果较好的区域进行融合,如此,融合之后,得到的第二监督图像可以视为:将所述第三脸部图像中的面部信息迁移至所述第二脸部图像之后,换脸效果较好的脸部图像。
61.请参见图2,在本公开一个实施例中,可以预选获取所述第二脸部图像中的嘴部掩码,然后,基于第一换脸模型对第二脸部图像和第三脸部图像进行换脸得到第一换脸图像,同时,基于第二换脸模型对第二脸部图像和第三脸部图像进行换脸得到第二换脸图像。再利用所述嘴部掩码将所述第一换脸图像中的嘴部区域融合至所述第二换脸图像的嘴部区域,从而得到所述第二监督图像。如此,所述第二脸部图像、所述第三脸部图像和所述第二监督图像共同形成所述第二训练数据,以完成所述第二训练数据的获取过程。
62.该实施方式中,通过分别利用第一换脸模型和第二换脸模型对所述第二脸部图像和所述第三脸部图像进行换脸,以得到第一换脸图像和第二换脸图像。然后将所述第一换脸图像和第二换脸图像中换脸效果较好的区域进行融合,以得到第二监督图像,从而有利于提高第二训练数据中监督图像的质量,进而有利于提高对初始换脸模型的训练效果。
63.可选地,步骤s101中获取的所述训练数据集还包括第三训练数据,所述第三训练数据包括第四脸部图像、第五脸部图像和第三监督图像,所述第四脸部图像与所述第五脸部图像为相同对象的脸部图像,所述第三监督图像包括所述第四脸部图像。
64.其中,所述第四脸部图像和第五脸部图像可以分别为各种姿态的脸部图像。且所述第四脸部图像形成待换脸的图像,即在基于所述第三训练数据对所述初始换脸模型进行训练的过程中,所述初始换脸模型将所述第五脸部图像中的面部信息迁移至所述第四脸部图像中,以完成换脸过程。
65.由于所述第四脸部图像与所述第五脸部图像为相同对象的脸部图像,因此,所述第四脸部图像与所述第五脸部图像中的面部信息基本相同,故将所述第五脸部图像中的面部信息迁移至第四脸部图像之后,理想状态下,所述第四脸部图像保持不变,因此,通过将所述第四脸部图像作为所述第三监督图像,基于所述第三训练数据对所述初始换脸模型进行训练的过程中的监督效果。
66.具体地,由于所述第一训练数据和第三训练数据中,待换脸的两张图像的身份属性均相同,为确保训练得到的目标换脸模型对不同姿态的脸部图像均具有较好的换脸效果,所述第一脸部图像和所述第四脸部图像可以分别选取不同姿态的脸部图像,例如,所述第四脸部图像可以为正脸姿态的脸部图像,或者,所述第四脸部图像可以为介于正脸姿态与侧脸姿态之间的其他姿态的脸部图像。
67.该实施方式中,通过基于所述第三训练数据对初始换脸模型进行训练,如此,有利于使得训练得到的目标换脸模型对各种姿态的脸部图像均具有较好的换脸效果。
68.可选地,上述步骤s101所获取的训练数据集中,所述第一训练数据和所述第二训练数据分别包括:源图像、目标图像和目标监督图像;
69.上述步骤s102的训练过程具体包括:
70.通过向所述初始换脸模型输入所述源图像和所述目标图像,将所述源图像中的面部信息迁移至所述目标图像,得到输出的第三换脸图像;
71.基于所述第三换脸图像和所述目标监督图像构建目标损失函数;
72.基于所述目标损失函数对所述初始换脸模型进行参数优化,得到所述目标换脸模型;
73.其中,所述第一训练数据中的目标图像包括所述第一脸部图像,所述目标损失函数包括重建损失函数、色彩感知损失函数、对抗训练损失函数和身份损失函数之和。
74.可以理解的是,上述第三训练数据也包括所述源图像、目标图像和目标监督图像。即所述训练数据集中的任意一个训练数据均包括所述源图像、目标图像和目标监督图像。在所述第一训练数据中,所述第一脸部图像形成所述目标图像,所述第八图像形成所述源图像,所述第一监督图像形成所述目标监督图像。在所述第二训练数据中,所述第二脸部图像形成所述目标图像,所述第三图像形成所述源图像,所述第二监督图像形成所述目标监督图像。在所述第三训练数据中,所述第四脸部图像形成所述目标图像,所述第五图像形成所述源图像,所述第三监督图像形成所述目标监督图像。
75.上述重建损失函数、色彩感知损失函数、对抗训练损失函数和身份损失函数可以是相关技术中常见的损失函数,例如,在本公开一个实施例中,重建损失函数可以表示为:
76.l
recon
=||i
r-i
t
||177.其中,l
recon
表示重建损失函数,ir表示第三换脸图像,i
t
表示目标监督图像。
78.所述色彩感知损失函数可以表示为:
[0079][0080]
其中,l
sc
表示色彩感知损失函数,vggm为vgg网络的第m层输,ir表示第三换脸图像,i
t
表示目标监督图像。
[0081]
所述对抗训练损失函数可以表示为:
[0082][0083]
其中,l
gan
为对抗训练损失函数,e为计算期望值,d为判别器,ir表示第三换脸图像,i
t
表示目标监督图像。
[0084]
所述身份损失函数可以表示为:
[0085][0086]
其中,l
id
表示身份损失函数,vr表示第三换脸图像中的身份特征,vs表示源图像中的身份特征。
[0087]
需要说明的是,由于所述第一训练数据和第三训练数据中均是由目标图像形成监督图像,为避免基于所述第一训练数据和第三训练数据对初始换脸模型进行训练之后,所述初始换脸模型直接将所述目标图像作为输出。本公开实施例中,通过在所述训练数据集中引入所述第二训练数据,由于所述第二训练数据中的目标图像与监督图像不同,从而使得初始换脸模型在进行训练的过程中,每次执行换脸过程均需要将源图像的面部信息迁移至目标图像之后,才能得到换脸图像,从而避免了初始换脸模型直接将目标图像确定为换脸后的换脸图像的问题。
[0088]
该实施方式中,通过使所述目标损失函数包括重建损失函数、色彩感知损失函数、对抗训练损失函数和身份损失函数之和,从而有利于进一步提高所训练得到的目标换脸模型的换脸效果。
[0089]
可选地,上述步骤s102的训练过程中,所述第一训练数据对应的所述身份损失函数的系数为第一系数;
[0090]
所述第二训练数据对应的所述身份损失函数的系数为第二系数;
[0091]
所述第一系数大于所述第二系数。
[0092]
可以理解的是,在所述目标损失函数中,所述重建损失函数、色彩感知损失函数、对抗训练损失函数和身份损失函数之前均可以包括一个常数作为系数。
[0093]
具体地,所述第一训练数据对应的所述身份损失函数的系数具体可以是指:在基于所述第一训练数据对所述初始换脸模型进行训练时,所述目标损失函数中的身份损失函数的系数为第一系数。相应地,所述第二训练数据对应的所述身份损失函数的系数为第二系数具体可以是指:在基于所述第二训练数据对所述初始换脸模型进行训练时,所述目标损失函数中的身份损失函数的系数为第二系数。
[0094]
相关技术中,基于换脸模型对侧脸图像进行换脸不鲁棒的其中一个原因在于身份损失函数过高,例如,当目标图像为侧脸图像,而源图像为正脸图像时,若身份损失函数过高,换脸模型则倾向于将所生成的换脸图像与源图像更相似,即倾向于在侧脸图像中生成正脸,从而导致伪影等问题。基于此,本公开实施例中,在基于第一训练数据对初始换脸模型进行训练时,即在利用侧脸图像对初始换脸模型进行训练时,通过降低身份损失函数,以降低身份损失函数在目标损失函数中的权重,进而避免因身份损失函数权重过高,而导致所训练得到的目标换脸模型对侧脸图像换脸不鲁棒的问题。同时,由于第一训练数据中待换脸的两张脸部图像的身份信息相同,因此,可以避免因身份损失函数过低,而导致换脸后的图像相似度低的问题。
[0095]
在本公开一个实施例中,通过实验验证,当所述第二系数为所述第一系数的1/5时,所训练得到的目标模型具有较好的训练效果,因此,所述第二系数可以为所述第一系数的1/5。可以理解的是,
[0096]
该实施方式中,在基于侧脸图像对模型进行训练时,通过降低目标损失函数中身份损失函数的权重,如此,有利于避免因身份损失函数权重过高,而导致所训练得到的目标
换脸模型对侧脸图像换脸不鲁棒的问题。
[0097]
此外,通过实验验证,在所述训练数据集中,所述第一训练数据的数量、所述第二训练数据的数量和所述第三训练数据的数量的比值为3:6:1时,所训练得到的目标换脸模型较为稳定,因此,在本公开一个实施例中,第一训练数据的数量、所述第二训练数据的数量和所述第三训练数据的数量的比值可以为3:6:1。
[0098]
可以理解的是,第一训练数据的数量、所述第二训练数据的数量和所述第三训练数据的数量也可以取其他比值。
[0099]
本公开一个实施例中,由于视频数据中通常包括不同的人脸图像,且通常包括同一人物的各种姿态的人脸图像。因此,上述步骤s101所述的训练数据集可以基于视频数据生成得到。具体地,所述训练数据的获取过程可以为:
[0100]
首先,可以对视频数据中的人脸图像进行对齐操作,由于后续人脸识别模型对输入的图像要求为采用的是5点对齐的方式对齐后的图像,而后续初始换脸模型对输入的图像要求为采用72点对齐的方式对齐后的图像。基于此,本公开实施例中,可以对视频数据中的每张人脸图像分别采5点对齐的方式和72点对齐的方式分别进行对齐。
[0101]
然后,将5点对齐的方式对齐后的人脸图像输入人脸识别模型进行分类,具体地,人脸视频模型可以过滤所述视频数据中人脸相似度过低的人脸图像,同时,可以对身份id相同的人物的人脸图像进行归类。然后,可以计算每张人脸图像的姿态,并按照姿态角度对人脸图像进行分组,例如,可以以60度为界限将人脸图像进行分组。在分组之后,每个分组中的人脸图像为同一对象的人脸图像,且每一分组中人脸姿态的姿态角度位于同一范围之内。
[0102]
当需要获取第一训练数据时,可以从第一目标分组中第一脸部图像,从第二目标分组中获取第八脸部图像,其中,所述第一目标分组用于存储第一对象处于侧脸姿态的脸部图像,所述第二目标分组中用于存储所述第一对象处于正脸姿态的脸部图像。并将所述第一脸部图像确定为所述第一监督图像,从而得到所述第一训练数据。
[0103]
当需要获取所述第二训练数据时,可以从第三目标分组中获取所述第二图像,并从第四目标分组中获取所述第三图像,其中,所述第三目标分组用于存储第二对象的脸部图像,所述第四目标分组用于存储第三对象的脸部图像。然后,基于上述第一换脸模型和第二换脸模型按照上述方法生成所述第二监督图像,从而得到所述第二训练数据。
[0104]
当需要获取所述第三训练数据时,可以从第四目标分组中获取所述第四脸部图像和第五脸部图像,并将所述第四脸部图像确定为所述第三监督图像,以得到所述第三训练数据。其中,所述第四目标分组用于存储第四对象的正脸图像。
[0105]
此外,在基于上述第一训练数据、第二训练数据和第三训练数据对初始换脸模型进行训练之前,可以对各个训练数据中的源图像进行色彩增强处理,以提升网络泛华性。
[0106]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0107]
请参见图3,为本公开实施例提供的一种换脸方法的流程图,所述换脸方法包括以下步骤:
[0108]
步骤s301、获取第六脸部图像和第七脸部图像;
[0109]
步骤s302、将所述第六脸部图像和所述第七脸部图像输入目标换脸模型进行换脸
处理,得到所述目标换脸模型输出的第四换脸图像,其中,所述目标换脸模型为基于训练数据集对初始换脸模型进行训练之后得到的模型,所述训练数据集包括第一训练数据,所述第一训练数据包括待换脸的相同对象的两张脸部图像和第一监督图像,所述两张脸部图像:处于侧脸姿态的第一脸部图像,所述第一监督图像包括所述第一脸部图像。
[0110]
本实施例提供的换脸方法为基于上述实施例的人脸模型训练方法训练得到的目标换脸模型进行换脸的方法,其具体实现过程与上述实施例相对应,且具有相对应的有益效果,为避免重复,在此不再予以赘述。
[0111]
该实施方式中,由于第一训练数据包括处于侧脸姿态的第一脸部图像,有利于模型学习如何对侧脸图像进行换脸。同时,由于第一训练数据中待换脸的两张脸部图像为相同对象的脸部图像,因此,在对第一脸部图像进行换脸之后,理论上所述第一脸部图像应该保持不变,即所述第一脸部图像可以视为换脸之后真实的侧脸图像,基于此,本公开通过将所述第一脸部图像作为监督图像,有利于提高对侧脸图像进行换脸过程中的监督效果,进而提高训练之后得到的目标换脸模型对侧脸图像的换脸效果。即本公开实施例提供的换脸方法对侧脸图像具有较好的换脸效果。
[0112]
请参见图4,为本公开实施例提供的一种人脸模型训练装置400的结构示意图,所述人脸模型训练装置400,包括:
[0113]
第一获取模块401,用于获取训练数据集,所述训练数据集包括第一训练数据,所述第一训练数据包括待换脸的相同对象的两张脸部图像和第一监督图像,所述两张脸部图像包括:处于侧脸姿态的第一脸部图像,所述第一监督图像包括所述第一脸部图像;
[0114]
训练模块402,用于基于所述训练数据集对初始换脸模型进行训练,得到训练后的目标换脸模型。
[0115]
可选地,所述训练数据集还包括所述第二训练数据,所述第二训练数据包括第二脸部图像、第三脸部图像和第二监督图像,所述第二脸部图像与所述第三脸部图像为不同对象的脸部图像。
[0116]
可选地,请参见图5,所述第一获取模块401,包括:
[0117]
处理子模块4011,用于通过向第一换脸模型输入所述第二脸部图像和所述第三脸部图像,将所述第三脸部图像中的面部信息迁移至所述第二脸部图像,得到输出的第一换脸图像;
[0118]
处理子模块4011,还用于通过向第二换脸模型输入所述第二脸部图像和所述第三脸部图像,将所述第三脸部图像中的面部信息迁移至所述第二脸部图像,得到输出的第二换脸图像,其中,所述第一换脸模型在第一脸部区域的换脸精度高于所述第二换脸模型在所述第一脸部区域的换脸精度,所述第二换脸模型在所述第一脸部区域之外的其他第二脸部区域的换脸精度高于所述第一换脸模型在所述第二脸部区域的换脸精度;
[0119]
替换子模块4012,用于将所述第二换脸图像中所述第一脸部区域的图像内容替换为所述第一换脸图像中所述第一脸部区域的图像内容,得到所述第二监督图像。
[0120]
可选地,所述训练数据集还包括第三训练数据,所述第三训练数据包括第四脸部图像、第五脸部图像和第三监督图像,所述第四脸部图像与所述第五脸部图像为相同对象的脸部图像,所述第三监督图像包括所述第四脸部图像。
[0121]
可选地,所述第一训练数据和所述第二训练数据分别包括:源图像、目标图像和目
标监督图像;请参见图6,所述训练模块402,包括:
[0122]
换脸子模块4021,用于通过向所述初始换脸模型输入所述源图像和所述目标图像,将所述源图像中的面部信息迁移至所述目标图像,得到输出的第三换脸图像;
[0123]
构建子模块4022,用于基于所述第三换脸图像和所述目标监督图像构建目标损失函数;
[0124]
优化子模块4023,基于所述目标损失函数对所述初始换脸模型进行参数优化,得到所述目标换脸模型;
[0125]
其中,所述第一训练数据中的目标图像包括所述第一脸部图像,所述目标损失函数包括重建损失函数、色彩感知损失函数、对抗训练损失函数和身份损失函数之和。
[0126]
可选地,所述第一训练数据对应的所述身份损失函数的系数为第一系数;
[0127]
所述第二训练数据对应的所述身份损失函数的系数为第二系数;
[0128]
所述第一系数大于所述第二系数。
[0129]
需要说明地,本实施例提供的人脸模型训练装置400能够实现上述人脸模型训练方法实施例的全部技术方案,因此至少能够实现上述全部技术效果,此处不再赘述。
[0130]
请参见图7,为本公开实施例提供的一种换脸装置700的结构示意图,所述换脸装置700,包括:
[0131]
第二获取模块701,用于获取第六脸部图像和第七脸部图像;
[0132]
换脸模块702,用于将所述第六脸部图像和所述第七脸部图像输入目标换脸模型进行换脸处理,得到所述目标换脸模型输出的第四换脸图像,其中,所述目标换脸模型为基于训练数据集对初始换脸模型进行训练之后得到的模型,所述训练数据集包括第一训练数据,所述第一训练数据包括待换脸的相同对象的两张脸部图像和第一监督图像,所述两张脸部图像:处于侧脸姿态的第一脸部图像,所述第一监督图像包括所述第一脸部图像。
[0133]
需要说明地,本实施例提供的换脸装置700能够实现上述换脸方法实施例的全部技术方案,因此至少能够实现上述全部技术效果,此处不再赘述。
[0134]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0135]
根据本公开的实施例,本公开还提供了另一种电子设备、一种可读存储介质和一种计算机程序产品。
[0136]
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0137]
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0138]
电子设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0139]
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如人脸模型训练方法,或,换脸方法。例如,在一些实施例中,人脸模型训练方法,或,换脸方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,执行上文描述的人脸模型训练方法,或,换脸方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行人脸模型训练方法,或,换脸方法。
[0140]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0141]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0142]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0143]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0144]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0145]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0146]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0147]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1