CN113191404B - 发型迁移模型训练方法、发型迁移方法及相关装置 - Google Patents
发型迁移模型训练方法、发型迁移方法及相关装置 Download PDFInfo
- Publication number
- CN113191404B CN113191404B CN202110409682.1A CN202110409682A CN113191404B CN 113191404 B CN113191404 B CN 113191404B CN 202110409682 A CN202110409682 A CN 202110409682A CN 113191404 B CN113191404 B CN 113191404B
- Authority
- CN
- China
- Prior art keywords
- hairstyle
- image
- sample
- feature
- migration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005012 migration Effects 0.000 title claims abstract description 462
- 238000013508 migration Methods 0.000 title claims abstract description 462
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012549 training Methods 0.000 title claims abstract description 58
- 230000004927 fusion Effects 0.000 claims abstract description 131
- 238000000605 extraction Methods 0.000 claims abstract description 122
- 210000004209 hair Anatomy 0.000 claims description 317
- 230000009467 reduction Effects 0.000 claims description 146
- 230000001815 facial effect Effects 0.000 claims description 89
- 238000012545 processing Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008485 antagonism Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 25
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 230000001172 regenerating effect Effects 0.000 description 14
- 230000004913 activation Effects 0.000 description 12
- 238000013461 design Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 238000010606 normalization Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000037308 hair color Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 4
- 238000005728 strengthening Methods 0.000 description 4
- 239000002537 cosmetic Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 230000003694 hair properties Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
Abstract
本申请提供发型迁移模型训练方法、发型迁移方法及相关装置,其中,发型迁移模型训练方法包括:获取样本发型图像和所样本参考发型图像;对样本发型图像和样本参考发型图像进行特征提取和特征融合,得到样本融合特征图像;对样本融合特征图像进行特征还原,以得到样本迁移发型图像;将样本迁移发型图像输入至图像判别模型和发型预测模型,以得到判别结果和发型预测结果;基于样本迁移发型图像和样本发型图像,以及,发型预测结果和样本参考发型图像中的发型,以及判别结果,对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,直至发型迁移模型、图像判别模型以及发型预测模型均收敛。该技术方案可以使虚拟美发的融合效果更自然。
Description
技术领域
本申请涉及图像处理领域,尤其涉及发型迁移模型训练方法、发型迁移方法及相关装置。
背景技术
美容美发是在用户行为中一种目标较为常见的行为,在进行美容美发之前,许多用户希望看到自己美容美发后的形象,因此,一些基于图像处理技术的虚拟美发应用应运而生。
在目前的虚拟美发应用中,在获取到待美发图像后,通过分割算法先从待美发图像中分割出头发区域,然后将模板中的模板发型迁移至头发区域,即用美发模板中的模板发型替换头发区域中的发型,并将模板发型与待美发图像中除头发区域以外的其他区域进行融合,得到美发后的效果图。这种方式过度依赖模板,融合效果较生硬。
发明内容
本申请提供发型迁移模型训练方法、发型迁移方法及相关装置,以解决现有虚拟美发技术融合效果较生硬的问题。
第一方面,提供一种发型迁移模型训练方法,其中,发型迁移模型包括特征提取模块、特征融合模块以及特征还原模块,该方法包括如下步骤:
获取样本发型图像和上述样本发型图像对应的样本参考发型图像,其中,上述样本参考发型图像中的发型不同于上述样本发型图像中的发型;
通过上述特征提取模块分别对上述样本发型图像和上述样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像;
通过上述特征融合模块将上述第一样本特征图像与上述第二样本特征图像进行特征融合,得到样本融合特征图像;
通过上述特征还原模块对上述样本融合特征图像进行特征还原,以得到上述样本发型图像对应的样本迁移发型图像;
将上述样本迁移发型图像输入至图像判别模型,以得到上述样本迁移发型图像的判别结果,上述判别结果用于指示上述样本迁移发型图像为真实样本发型图像的可能性;
将上述样本迁移发型图像输入至发型预测模型,以得到上述样本迁移发型图像的发型预测结果;
基于上述样本迁移发型图像和上述样本发型图像,以及,上述发型预测结果和上述样本参考发型图像中的发型,以及上述判别结果,对上述发型迁移模型、上述图像判别模型以及上述发型预测模型进行迭代调参,直至上述发型迁移模型、上述图像判别模型以及上述发型预测模型均收敛;
将收敛后的发型迁移模型确定为目标发型迁移模型。
在该技术方案中,通过将对样本发型图像和样本发型图像对应的样本参考发型图像进行特征提取得到的特征图像相融合后,再进行特征还原,得到样本迁移发型图像,再分别将样本发型图像输入至图像判别模型和发型预测模型中,得到图像判别模型对样本迁移发型图像的判别结果和发型预测模型对样本迁移发型图像的发型预测结果,最后基于样本迁移发型图像和样本发型图像、发型预测结果和样本参考发型中的发型以及判别结果,对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,直至发型迁移模型、图像判别模型以及发型预测模型均收敛,并将收敛后的发型迁移模型确定为目标发型迁移模型。基于判别结果对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,可以使图像判别模型具备鉴定样本发型图像真假的能力,且使得发型迁移模型生成的样本迁移图像足够逼真;基于发型预测结果和样本参考发型中的发型对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,可以使发型预测模型具备准确识别样本发型图像中的发型的能力,且使得发型迁移模型生成的样本迁移图像中的发型无限接近于样本参考发型图像中的发型;基于样本迁移发型图像和样本发型图像对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,可以使发型迁移模型生成的样本迁移图像的内容无限接近于样本发型图像的内容。因此,因此,通过将发型预测模型、图像判别模型与发型迁移模型进行联合训练,可以使得发型迁移模型学习到样本参考发型图像中的发型和样本发型图像中的内容,进而可以生成发型与样本参考发型图像中的发型一致且内容与样本发型图像的内容一致并且足够逼真的迁移图像,即使得发型迁移模型具备重新生成与待美发图像的内容一致且发型与参考发型图像的发型一致的真实图像的能力,由于是重新生成一张图片,而非在原始图像的基础上进行分割和渲染,可以使得融合效果更为自然。另外,由于在训练过程中,是对样本发型图像和样本发型图像对应的样本参考发型图像进行特征提取得到的特征图像相融合后,再进行特征还原所得到的样本迁移发型图像,起到了强化样本参考发型图像的发型特征的作用,保证发型迁移模型能充分学习到样本参考发型图像的发型特征,有助于样本发型图像的内容与样本参考发型图像的发型特征更好地融合,从而可以进一步提升重新生成的图片的融合效果。
结合第一方面,在一种可能的实现方式中,上述基于上述样本迁移发型图像和上述样本发型图像,以及,上述发型预测结果和上述样本参考发型图像中的发型,以及上述判别结果,对上述发型迁移模型、上述图像判别模型以及上述发型预测模型进行迭代调参,包括:根据上述样本迁移发型图像和上述样本发型图像,计算图像内容迁移损失;根据上述发型预测结果和上述样本参考发型图像中的发型,计算发型迁移损失;根据上述判别结果计算图像对抗损失;根据上述图像内容迁移损失、上述发型迁移损失以及上述图像对抗损失,得到总损失;根据上述总损失,对上述发型迁移模型、上述图像判别模型以及上述发型预测模型进行迭代调参。通过分别计算图像内容迁移损失、发型迁移损失以及图像对抗损失,可以确定样本迁移发型图像在图像内容、发型、真实性这三个维度上的准确度,根据内容迁移损失、发型迁移损失以及图像对抗损失确定总损失并根据总损失进行迭代调参,可以使模型在图像内容、发型、真实性这三个维度上的准确度逐步提升。
结合第一方面,在一种可能的实现方式中,上述根据上述图像内容迁移损失、上述发型迁移损失以及上述图像对抗损失,得到总损失,包括:对上述图像内容迁移损失、上述发型损失以及上述图像对抗损失进行加权求和,得到上述总损失。通过加权求和的方式,能够优化模型训练的方向。
结合第一方面,在一种可能的实现方式中,上述特征提取模块为编码器,上述编码器包括第一编码器和第二编码器;上述通过上述特征提取模块分别对上述样本发型图像和上述样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像,包括:通过上述第一编码器对上述样本发型图像进行特征提取,以得到上述第一样本特征图像;通过上述第二编码器对上述样本参考发型图像进行特征提取,以得到上述第二样本特征图像。通过为样本发型图像和样本参考发型图像设置不同的编码器以进行特征提取,可以独立学习到样本发型图像的内容特征和样本参考发型图像的发型特征,从而能够实现更好地融合,提升融合效果。
结合第一方面,在一种可能的实现方式中,上述特征还原模块包括依次连接的M个第一特征还原层、融合层以及依次连接的N个第二特征还原层,M、N为大于或等于1的正整数;上述通过上述特征还原模块对上述样本融合特征图像进行特征还原,以得到上述样本发型图像对应的样本迁移发型图像之前,还包括:对上述样本发型图像进行面部特征掩膜处理,以得到上述样本发型图像对应的面部特征掩膜图,上述样本发型图像对应的面部特征掩膜图用于反映上述样本发型图像的面部特征;上述通过上述特征还原模块对上述样本融合特征图像进行特征还原,以得到上述样本发型图像对应的样本迁移发型图像,包括:通过上述M个第一特征还原层对上述样本融合特征图像进行逐层特征还原,以得到风格迁移特征图;通过上述融合层将上述风格迁移特征图和上述样本发型图像对应的面部特征掩膜图进行融合处理,以得到面部特征风格融合图;通过上述N个第二特征还原层对上述面部特征风格融合图进行逐层特征还原,以得到上述样本迁移发型图像。在进行特征还原的过程中,通过融入样本发型图像对应的面部特征掩膜图所反映的面部特征,能够更好地进行还原,从而使得还原得到的样本迁移发型图像的图像内容与样本发型图像的内容更接近。
第二方面,提供一种发型迁移方法,包括如下步骤:
获取待迁移发型图像和目标发型图像,上述目标发型图像中的发型不同于上述待迁移发型图像中的发型;
将上述待迁移发型图像和上述目标发型图像输入至目标发型迁移模型,以通过上述目标发型迁移模型输出上述待迁移发型图像对应的迁移发型图像,其中,上述迁移发型图像中的发型为上述目标发型图像中的发型,上述目标发型迁移模型经过上述第一方面的发型迁移模型训练方法训练得到。
通过上述第一方面的发型迁移模型训练方法训练得到的目标发型迁移模型输出迁移发型图像,目标发型迁移模型具备重新生成与待美发图像的内容一致且发型与参考发型图像的发型相同的真实图像的能力,因而迁移发型图像的内容能够与待迁移发型图像的内容一致,迁移发型图像的发型能够与目标发型图像中的内容一致,并且,足够逼真,由于是重新生成一张图片,而非在原始图像的基础上进行分割和渲染,可以使得融合效果更为自然。并且,在重新生成迁移发型图像中的过程,由于是对待迁移发型图像和目标发型图像进行特征提取得到的特征图像相融合后,再进行特征还原,能使待迁移发型图像的内容特征与目标发型的发型特征更好地融合,从而可以进一步提升迁移发型图像的融合效果。
结合第二方面,在一种可能的实现方式中,上述将上述待迁移发型图像和上述目标发型图像输入至上述目标发型迁移模型,以通过上述目标发型迁移模型输出上述待迁移发型图像对应的迁移发型图像之前,还包括:对上述待迁移发型图像进行面部特征掩膜处理,以得到上述待迁移发型图像对应的面部特征掩膜图;上述将上述待迁移发型图像和上述目标发型图像输入至目标发型迁移模型,以通过上述目标发型迁移模型输出上述待迁移发型图像对应的迁移发型图像,包括:将上述待迁移发型图像、上述目标发型图像以及上述待迁移发型图像对应的面部特征掩膜图输入至目标发型迁移模型,以通过上述目标发型迁移模型输出上述待迁移发型图像对应的迁移发型图像。通过将待迁移发型图像对应的面部特征掩膜图与待迁移发型图像、目标发型图像一并输入至目标发型迁移模型,目标发型迁移模型能够将待迁移发型图像对应的面部特征掩膜图所反映的面部特征融入进生成的迁移发型图像中,使得迁移发型图像的内容与待迁移发型图像的内容更接近。
第三方面,提供一种发型迁移模型训练装置,上述发型迁移模型包括特征提取模块、特征融合模块以及特征还原模块;上述装置包括:
第一获取模块,用于获取样本发型图像和上述样本发型图像对应的样本参考发型图像,其中,上述样本参考发型图像中的发型不同于上述样本发型图像中的发型;
图像生成模块,用于通过上述特征提取模块分别对上述样本发型图像和上述样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像;通过上述特征融合模块将上述第一样本特征图像与上述第二样本特征图像进行特征融合,得到样本融合特征图像;通过上述特征还原模块对上述样本融合特征图像进行特征还原,以得到上述样本发型图像对应的样本迁移发型图像;
判断模块,用于将上述样本迁移发型图像输入至图像判别模型,以得到上述样本迁移发型图像的判别结果,上述判别结果用于指示上述样本迁移发型图像为真实样本发型图像的可能性;
发型预测模块,用于将上述样本迁移发型图像输入至发型预测模型,以得到上述样本迁移发型图像的发型预测结果;
调参模块,用于基于上述样本迁移发型图像和上述样本发型图像,以及,上述发型预测结果和上述样本参考发型图像中的发型,以及上述判别结果,对上述发型迁移模型、上述图像判别模型以及上述发型预测模型进行迭代调参,直至上述发型迁移模型、上述图像判别模型以及上述发型预测模型均收敛;
模型确定模块,用于将收敛后的发型迁移模型确定为目标发型迁移模型。
结合第三方面,在一种可能的设计中,上述调参模块具体用于:根据上述样本迁移发型图像和上述样本发型图像,计算图像内容迁移损失;根据上述发型预测结果和上述样本参考发型图像中的发型,计算发型迁移损失;根据上述判别结果计算图像对抗损失;根据上述图像内容迁移损失、上述发型迁移损失以及上述图像对抗损失,得到总损失;根据上述总损失,对上述发型迁移模型、上述图像判别模型以及上述发型预测模型进行迭代调参。
结合第三方面,在一种可能的设计中,上述调参模块具体用于:对上述图像内容迁移损失、上述发型损失以及上述图像对抗损失进行加权求和,得到上述总损失。
结合第三方面,在一种可能的设计中,上述特征提取模块为编码器,上述编码器包括第一编码器和第二编码器;上述图像生成模块具体用于:通过上述第一编码器对上述样本发型图像进行特征提取,以得到上述第一样本特征图像;通过上述第二编码器对上述样本参考发型图像进行特征提取,以得到上述第二样本特征图像。
结合第三方面,在一种可能的设计中,上述特征还原模块包括依次连接的M个第一特征还原层、融合层以及依次连接的N个第二特征还原层,M、N为大于或等于1的正整数;上述装置还包括:第一掩膜处理模块,用于对上述样本发型图像进行面部特征掩膜处理,以得到上述样本发型图像对应的面部特征掩膜图,上述样本发型图像对应的面部特征掩膜图用于反映上述样本发型图像的面部特征;上述图像还原模块具体用于:通过上述M个第一特征还原层对上述样本融合特征图像进行逐层特征还原,以得到风格迁移特征图;通过上述融合层将上述风格迁移特征图和上述样本发型图像对应的面部特征掩膜图进行融合处理,以得到面部特征风格融合图;通过上述N个第二特征还原层对上述面部特征风格融合图进行逐层特征还原,以得到上述样本迁移发型图像。
第四方面,提供一种发型迁移装置,包括:
第二获取模块,用于获取待迁移发型图像和目标发型图像,上述目标发型图像中的发型不同于上述待迁移发型图像中的发型;
图像输出模块,用于将上述待迁移发型图像和上述目标发型图像输入至上述目标发型迁移模型,以通过上述目标发型迁移模型输出上述待迁移发型图像对应的迁移发型图像,其中,上述迁移发型图像中的发型为上述目标发型图像中的发型,上述目标发型迁移模型经过上述第一方面的发型迁移模型训练方法训练得到。
结合第四方面,在一种可能的设计中,上述装置还包括:第二掩膜处理模块,用于对上述待迁移发型图像进行面部特征掩膜处理,以得到上述待迁移发型图像对应的面部特征掩膜图;上述图像输出模块具体用于:将上述待迁移发型图像、上述目标发型图像以及上述待迁移发型图像对应的面部特征掩膜图输入至目标发型迁移模型,以通过上述目标发型迁移模型输出上述待迁移发型图像对应的迁移发型图像。
第五方面,提供计算机设备,包括存储器以及一个或多个处理器,一个或多个处理器用于执行存储在存储器中的一个或多个计算机程序,一个或多个处理器在执行一个或多个计算机程序时,使得该计算机设备实现上述第一方面的发型迁移模型训练方法或上述第二方面的发型迁移方法。
第六方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,上述程序指令当被处理器执行时使上述处理器执行上述第一方面的发型迁移模型训练方法或上述第二方面的发型迁移方法。
本申请可以实现如下有益效果:通过在发型迁移的过程中重新生成一张图片,而非在原始图像的基础上进行分割和渲染,可以使得融合效果更为自然。另外,由于在训练过程中,是对样本发型图像和样本发型图像对应的样本参考发型图像进行特征提取得到的特征图像相融合后,再进行特征还原所得到的样本迁移发型图像,起到了强化样本参考发型图像的发型特征的作用,保证发型迁移模型能充分学习到样本参考发型图像的发型特征,有助于样本发型图像的内容与样本参考发型图像的发型特征更好地融合,从而可以进一步提升重新生成的图片的融合效果。
附图说明
图1为申请实施例提供的一种虚拟美发的场景示意图;
图2为本申请实施例提供的发型迁移模型的示意图;
图3为本申请实施例提供的一种发型迁移模型训练方法的流程示意图;
图4为本申请实施例提供的编码器的结构示意图;
图5为本申请实施例提供的解码器的结构示意图;
图6是本申请实施例提供的图像判别模型的结构示意图;
图7是本申请实施例提供的特征还原模块的结构示意图;
图8为本申请实施例提供的另一种发型迁移模型训练方法的流程示意图;
图9为本申请实施例提供的一种发型迁移方法的流程示意图;
图10为本申请实施例提供的一种发型迁移模型训练装置的结构示意图;
图11为本申请实施例提供的一种发型迁移装置的结构示意图
图12为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请的技术方案可适用于各种虚拟美发的场景,具体地,本申请的技术方案可应用于支持虚拟美发功能的各种应用终端(如手机、平板电脑、个人电脑等)以及各种智能硬件(如智能穿衣镜、智能美发镜、智能柜等)。
为便于理解,先介绍虚拟美发的一个场景示例。参见图1,图1为申请实施例提供的一种虚拟美发的场景示意图。其中,图1中的A1为用户的原始发型图像,原始发型图像中的发型为用户当前的真实发型,该用户想要将发型更换为图1中的B所示的参考发型,将B所示的参考发型迁移至原始发型图像A1后,得到图1中的A2所示的发型图像,A2即为对原始发型图像进行虚拟美发后的迁移发型图像。由图1可知,虚拟美发,是指将参考发型图像中的参考发型的发色、长度、发式等各种头发属性或头发特征移植到需要进行虚拟美发的发型图像中,以得到发型为参考发型的迁移发型图像。其中,迁移发型图像为用户更换发型提供了参考,能供用户了解将发型更换为参考发型后的形象,用户可以基于迁移发型图像判断参考发型是否适合用户自身,进一步地,能够便于用户决定是否需要更换发型为参考发型。
虚拟美发的技术实现方案多种多样,不同的技术实现方案,在进行虚拟美发时产生的效果不同,为了提升虚拟美发的效果,本申请提出了一种发型迁移模型训练方法,通过对发型迁移模型进行训练,得到具备发型迁移功能的目标发型迁移模型,然后利用目标发型迁移模型实现发型迁移方法,从而实现虚拟美发,能实现较好的虚拟美发效果。
首先介绍本申请涉及的发型迁移模型,其中,发型迁移模型是指具备生成图像功能的模型。参见图2,图2为本申请实施例提供的发型迁移模型的示意图,如图2所示,发型迁移模型M可包括特征提取模块M1、特征融合模块M2以及特征还原模块M3。其中,特征提取模块M1与特征融合模块M2连接,用于对输入至特征提取模块M1的原始发型图像和参考发型图像分别进行特征提取,得到原始发型图像和参考发型图像各自对应的特征图,并将原始发型图像和参考发型图像各自对应的特征图输入至特征融合模块M2;特征融合模块M2与特征还原模块M3连接,用于将输入至特征融合模块M2的原始发型图像和参考发型图像各自对应的特征图,进行特征融合,得到带有原始发型图像和参考发型图像的特征的融合特征图,将融合特征图输入至特征还原模块M3;特征还原模块M3用于将输入至特征还原模块M3的融合特征图进行特征还原,以生成带有原始发型图像和参考发型图像的特征的迁移发型图像。通过对发型迁移模型进行训练,得到能够重新生成一张迁移发型图像的目标迁移发型模型,迁移发型图像带有参考发型的各项头发属性和待迁移发型的内容特征。其中,头发属性是指能够从不同维度对发型进行描述且用以区分不同发型的特征,具体地,头发属性包括但不限于头发长度(具体可细分为长、中长、短等)、头发颜色(具体可细分为黑色、灰色、黄色灯)、头发形态(具体可细分为卷发、直发等)、头发发式(具体可细分为带刘海、中分、偏分)、头发稀疏程度(具体可细分为浓密、稀疏等),等等。
以下具体介绍对发型迁移模型进行训练,得到目标迁移发型模块的过程。
参见图3,图3为本申请实施例提供的一种发型迁移模型训练方法的流程示意图,该方法可应用于上述提到的应用终端或智能硬件上,其中,发型迁移模型的基本架构可参见图2。
如图3所示,该方法包括如下步骤:
步骤S101,获取样本发型图像和样本发型图像对应的样本参考发型图像。
步骤S102,通过特征提取模块分别对样本发型图像和样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像。
步骤S103,通过特征融合模块将第一样本特征图像与第二样本特征图像进行特征融合,得到样本融合特征图像。
步骤S104,通过特征还原模块对样本融合特征图像进行特征还原,以得到样本发型图像对应的样本迁移发型图像。
步骤S105,将样本迁移发型图像输入至图像判别模型,以得到样本迁移发型图像的判别结果。
步骤S106,将样本迁移发型图像输入至发型预测模型,以得到样本迁移发型图像的发型预测结果。
步骤S107,基于样本迁移发型图像和样本发型图像,以及,发型预测结果和样本参考发型图像中的发型,以及判别结果,对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,直至发型迁移模型、图像判别模型以及发型预测模型均收敛。
步骤S108,将收敛后的发型迁移模型确定为目标发型迁移模型。
其中,上述步骤S101、步骤S102以及步骤S107中涉及的样本发型图像和样本参考发型图像是指图像内容包含有头发区域且用作训练样本的用户图像,该用户图像包括但不限于为用户人脸图像、用户身体图像或用户半身图像。样本发型图像和样本参考发型图像是两个相对的概念,样本参考发型图像中的发型不同于样本发型图像中的发型,样本发型图像可以理解为是需要更换发型的用户图像,样本发型图像中的发型例如可以是该样本发型图像中的用户的真实发型;样本参考发型图像可以理解为是发型用作参考的用户图像,样本参考发型图像中的发型为参考发型,也即拟迁移至样本发型图像中的发型。示例性地,样本发型图像和样本参考发型图像可分别对应于图1中的A1和B。
具体地,对于上述步骤S101,可以通过从互联网中爬取带有头发区域的用户图像或从专用的发型图像数据库中获取两张发型不同的用户图像用作样本发型图像和样本参考发型图像。应理解的是,在实际训练过程中,可以将两张发型不同的用户图像作为一组训练样本,获取多组训练样本组成训练样本集。每次训练从训练样本集中获取一组或多组训练样本,将每组训练样本中的其中一张用户图像作为样本发型图像,将另一张作为样本参考发型图像,以获取得到样本发型图像和样本发型图像对应的样本参考发型图像。
其中,上述步骤S102中涉及的特征提取模块可以参见图2所示的特征提取模块M1,特征提取模块用于对输入至特征提取模块的图像(如本申请实施例的样本发型图像或样本参考发型图像)进行特征提取,以达到提取输入至特征提取模块的图像的各种图像特征的目的。其中,特征提取模块可以为任一能实现特征提取功能的图像提取结构。
在一些实施例中,特征提取模块可以由依次连接的多个特征提取层组成。在依次连接的多个特征提取层中,相互连接的两个特征提取层中的下一个特征提取层用于提取该相互连接的两个特征提取层中的上一个特征提取层输出的特征图,通过逐层特征提取,能提取到输入至特征提取模块的图像在各个语义层次上的图像特征,从而可以达到全方位提取输入至特征提取模块的图像的目的。对于本申请实施例中,特征提取模块可以将样本发型图像和样本参考发型分别输入至该多个特征提取层中的第一个特征提取层,通过该多个特征提取层对样本发型图像和样本参考发型图像分别进行逐层特征提取,然后分别获取该多个特征提取层中的最后一个特征提取层的输出,从而分别获取到用于表征样本发型图像的特征的第一样本特征图像和用于表征样本参考发型图像的特征的第二样本特征图像。
在一些可能的实施方式中,上述依次连接的多个特征提取层可以为编码器,其中,编码器的每一个特征提取层均可以由卷积层、激活函数层以及实例归一化层组成。卷积层用于对上一个特征提取层输出的特征图进行卷积处理,以得到卷积特征图,激活函数层用于对卷积层输出的卷积特征图进行激活处理,实例归一化层用于对激活处理后的卷积特征图进行归一化处理,以向下一个特征提取层输出特征图。具体地,每一个特征提取层的处理过程可以用如下公式来进行表示:
其中,l的取值为0至Y-1,Y为特征提取层的总数量。表示编码器中的第(l+1)个特征提取层输出的特征图;/>表示编码器中的第l个特征提取层输出的第m个特征图;表示编码器中的第(l+1)个特征提取层中的卷积核,/>表示编码器中的第(l+1)个特征提取层中的偏置项,将特征图与卷积核进行矩阵相乘求和并加上偏置项,即为对特征图的卷积处理;σ表示编码器中的第(l+1)个特征提取层的激活函数,具体地,激活函数可以为LealyRelu函数;IN表示编码器中的第(l+1)个特征提取层中的实例化处理。当l为0时,/>表示样本发型图像或样本参考发型图像;当l为Y-1时,/>表示第一样本特征图像或第二样本特征图像。
在一种具体实现方式中,编码器可以包括四个特征提取层。示例性地,编码器的结构示意图可以参见图4。如图4所示,编码器包括特征提取层E1、特征提取层E2、特征提取层E3以及特征提取层E4。其中,特征提取层E1包括32个尺寸为1*1步长为1的卷积核,用于对输入至特征提取层E1的尺寸为256*256的图像进行特征提取,以得到32张尺寸为256*256的特征图。特征提取层E2与特征提取层E1连接,特征提取层E2包括64个尺寸为3*3步长为1的卷积核,用于对特征提取层E1输出的32张尺寸为256*256的特征图进行特征提取,以得到64张尺寸为128*128的特征图。特征提取层E3与特征提取层E2连接,特征提取层E3包括128个尺寸为3*3步长为1的卷积核,用于对特征提取层E2输出的64张尺寸为128*128的特征图进行特征提取,以得到128张尺寸为64*64的特征图。特征提取层E4与特征提取层E3连接,特征提取层E4包括256个尺寸为1*1步长为1的卷积核,用于对特征提取层E3输出的128张尺寸为64*64的特征图进行特征提取,以得到256张尺寸为32*32的特征图。基于图4的编码器结构,随着特征提取层层次的逐渐加深、特征图的逐渐缩小以及卷积核数量的逐渐增加,能够实现从全局特征到局部特征的全方位特征提取。应理解的是,当通过图4所示的编码器对样本发型图像和样本参考发型图像进行特征提取时,在进行特征提取之前,需将样本发型图像和样本参考发型图像进行预处理,以将样本发型图像和样本参考发型图像的尺寸调整为编码器的输入图像的尺寸,即将样本发型图像和样本参考发型图像的尺寸调整为256*256后,再输入至特征提取层E1;当输入图像为样本发型图像时,特征提取层E4输出的256张尺寸为32*32的特征图即为第一样本特征图像,当输入图像为样本参考发型图像时,特征提取层E4输出的256张尺寸为32*32的特征图即为第二样本特征图像。应理解的是,上述图4仅为本申请的一个示例,不对本申请的编码器构成限定。
在一些可选的实施例中,为了对样本发型图像和样本参考发型图像进行更好地特征提取,可设置两个编码器,以分别对样本发型图像和样本参考发型图像进行特征提取。该两个编码器包括第一编码和第二编码器,上述步骤S102可具体化为如下步骤:通过第一编码器对样本发型图像进行特征提取,以得到第一样本特征图像;通过第二编码器对样本参考发型图像进行特征提取,以得到第二样本特征图像。其中,第一编码与第二编码器的结构可以相同,例如,第一编码器与第二编码器均如图4所示。通过为样本发型图像和样本参考发型模型设置不同的编码器以进行特征提取,可以相对独立地提取样本发型图像和样本参考发型图像的特征,从而能够独立提取出样本发型图像的内容特征和样本参考发型图像的发型特征,有助于提升样本发型图像和样本参考发型图像的融合效果。
其中,上述步骤S103涉及的特征融合模块可以参见图2所示的特征融合模块M2。特征融合模块用于对特征提取模块提取到的多种特征进行融合,以达到将不同特征图中所涵盖的特征融合到一个特征图的目的。在一种可行的实施方式中,可以通过将第一样本特征图像与第二样本特征图像进行对应特征相乘的方式,得到样本融合特征图。由于通过特征提取模块可以提取到样本发型图像和样本参考发型图像的多个特征,对于每一个特征,均对应有一个样本发型图像对应的样本特征图像(即第一样本特征图像)和样本参考发型图像对应的样本特征图像(即第二样本特征图像),因此,将对应于同一个特征的第一样本特征图像和第二样本特征图像相乘,即可得到该同一个特征对应的样本融合特征图。
举例来说,以特征提取模块为图4所示的编码器为例,由图4可知,对于输入至编码器的样本发型图像和样本参考发型图像,编码器会分别输出256张尺寸为32*32的特征图,尺寸为32*32的特征图在数学上表征为一个32行32列的特征矩阵,因此,可以将对应于同一个卷积核的两个特征图所对应的两个特征矩阵相乘,得到特征融合矩阵,即得到该同一个卷积核对应的样本融合特征图,由于编码器最后一层有256个卷积核,所以可得到256张32*32的样本融合特征图。
其中,上述步骤S104涉及的特征还原模块可以参见图2所示的特征还原模块M3。特征还原模块用于对输入至特征还原模块的特征图(如本申请实施例的样本融合特征图像)进行特征还原,达到还原图像的目的。其中,特征还原模块可以为任一能实现特征还原功能的特征还原结构。
在一些实施例中,特征提取模块可以由依次连接的多个特征还原层组成,在依次连接的多个特征还原层中,相互连接的两个特征还原层中的下一个特征还原层用于还原该相互连接的两个特征还原层中的上一个特征还原层输出的特征图,通过逐层特征还原,能够将输入至特征还原模块的特征图所表示的各个语义层次上的图像特征均进行还原,从而得到实现对图像细节的恢复,得到图像细节完整无误的图像。本申请实施例中,特征还原模块可以将样本融合特征图输入至第一个特征还原层,通过多个特征还原层对样本融合特征图进行逐层特征还原,然后获取多个特征还原层中最后一个特征还原层的输出,从而得到样本迁移发型图像。
在一些可行的实施方式中,依次连接的多个特征还原层可以为解码器,其中,解码器的每一个特征还原层均可以由转置卷积层、激活函数层以及实例归一化层组成。转置卷积层用于对上一个特征还原层输出的特征图进行反卷积处理,以得到反卷积特征图,激活函数层用于对转置卷积层输出的反卷积特征图进行激活处理,实例归一化层用于对激活处理后的反卷积特征图进行归一化处理,以向下一个特征还原层输出特征图。对于多个特征还原层中的第一个特征还原层,其输入为样本融合特征图;对于多个特征还原层中的最后一个特征还原层,其输出为样本迁移发型图像。通过反卷积的方式,能够更好地恢复图像细节。
在一种可能的实现方式中,解码器可以与编码器呈对称设置。以编码器的结构为如图4所示的结构为例,解码器可包括五个特征还原层,解码器的结构示意图可以参见图5。如图5所示,解码器包括特征还原层F1、特征还原层F2、特征还原层F3、特征还原层F4以及特征还原层F5,其中,特征还原层F1包括256个反卷积核,用于对特征融合模块输入的256张尺寸为32*32的样本融合特征图进行特征还原,以得到256张尺寸为32*32的特征图。特征还原层F2与特征还原层F1连接,特征还原层F2包括128个反卷积核,用于对特征还原层F1输出的256张尺寸为32*32的特征图进行特征还原,以得到128张尺寸为64*64的特征图。特征还原层F3与特征还原层F2连接,特征还原层F3包括64个反卷积核,用于对特征还原层F2输出的128张尺寸为64*64的特征图进行特征还原,以得到64张尺寸为128*128的特征图。特征还原层F4与特征还原层F3连接,特征还原层F4包括32个卷积核,用于对特征还原层F3输出的64张尺寸为128*128的特征图进行特征还原,以得到32张尺寸为256*256的特征图;特征还原层F5与特征还原层F4连接,用于将特征还原层F4输出的32张尺寸为256*256的特征图还原为一张尺寸为256*256的样本迁移发型图像。可以看出,图5中的特征还原层F1~特征还原层F4与图4中的特征提取层E1~特征还原层E4呈U型对称设置,这样能够从全局特征和局部特征进行全方位提取和还原,由于样本融合特征图融合了样本发型图像和样本参考发型图像的特征,因此样本迁移发型图像能准确再现样本发型图像和样本参考发型图像的特征。
其中,上述步骤S105涉及的图像判别模型是指用于判断输入至图像判别模型的图像(如本申请实施例的发型迁移模型生成的样本迁移发型图像)是否为真实图像的模型。本申请实施例中,对于输入至图像判别模型的样本迁移发型图像,图像判别模块会输出一个判别结果,该判别结果包含了样本迁移发型图像为真实样本发型图像的概率和样本迁移发型图像为虚假样本发型图像的概率。
在一些实施例中,图像判别模型可以由依次连接的多个第一卷积模块构成,相互连接的两个第一卷积模块中上一个第一卷积模块的输出为该相互连接的两个第一卷积模块中下一个第一卷积模块的输入,多个第一卷积模块中第一个第一卷积模块的输入可以为样本迁移发型图像,多个第一卷积模块中最后一个第一卷积模块的输出为判别结果。其中,每个第一卷积模块均可以由卷积层、激活函数层、实例归一化层和丢弃(Dropout)层组成。
在一种具体实现方式中,图像判别模型可以包括五个第一卷积模块。示例性地,图像判别模型的结构示意图可以参见图6。如图6所示,图像判别模型包括第一卷积模块G1、第一卷积模块G2、第一卷积模块G3、第一卷积模块G4以及第一卷积模块G5。其中,第一卷积模块G1包括32个尺寸为3*3步长为2的卷积核、第一卷积模块G2包括64个尺寸为3*3步长为2的卷积核,第一卷积模块G3包括128个尺寸为3*3步长为2的卷积核,第一卷积模块G4包括256个尺寸为3*3步长为1的卷积核,第一卷积模块G5为全球平均池化(Global AveragePooling,GAP)层,第一卷积模块G5用于输出样本迁移发型图像的判别结果。通过在各个第一卷积模块中增加丢弃层,可以防止过拟合,从而使得图像判别模型具备更强的判别能力。
其中,上述步骤S106涉及的发型预测模型是指用于识别输入至发型预测模型的发型图像(如本申请实施例中的样发型迁移模型生成的样本迁移发型图像)中的发型的各项头发属性的模型。本申请实施例中,对于输入至发型预测模型的样本迁移发型图像,发型预测模型会针对每项头发属性,均会输出一个该头发属性下的预测结果,各项头发属性下的预测结果组成样本迁移发型图像的发型预测结果。其中,发型预测结果可以以多位独热编码(one-hot)的形式呈现,不同的多位独热编码代表不同发型,在多位独热编码中,不同位置的编码代表了不同头发属性下的预测结果。例如,用头发长度、头发颜色、头发形态这三个头发属性来对不同的发型进行区分,按头发长度对发型进行区分可分为6种,按头发颜色对发型进行区分可分为10种,按头发形态对发型进行区分可以分为3种,则发型预测结果可以以9位的独热编码来表示,其中,1-3位的编码可用于表示头发长度这一属性下的预测结果,4-7位的编码可用于表示头发颜色这一属性下的预测结果,8-9位的编码可用于头发形态这一属性下的预测结果,通过9位的独热编码,即可以表示发型预测模型对样本迁移发型图像在头发长度、头发颜色以及头发形态上的预测结果。
在一些实施例中,发型预测模型可以由依次连接的多个第二卷积模块和K个全连接层构成,其中,K为头发属性的数量。相互连接的两个第二卷积模块中上一个第二卷积模块的输出为相互连接的两个第二卷积模块中的下一个第二卷积模块的输入,多个第二卷积模块中的第一个第二卷积模块的输入可以为样本迁移发型图像,多个第二卷积模块中最后一个第二卷积模块分别与K个全连接层连接,K个全连接层的输出组成发型预测结果。其中,每个第二卷积模块可以由卷积层和激活函数层构成。通过设置K个全连接层以分别确定各头发属性下的预测结果,能够实现对头发属性的解耦,即实现对头发属性特征的独立提取,有助于提高模型的精准度;K个全连接层通过共享多个第二卷积模块提取到的特征,能够降低计算的复杂度。
其中,上述步骤S107中涉及的迭代调参,是指依据发型迁移模型、图像判别模型以及预测模型的期望输出与发型迁移模型、图像判别模型以及预测模型的实际输出之间的误差,调整发型迁移模型、图像判别模型以及预测模型中的参数,使得依据发型迁移模型、图像判别模型以及预测模型的实际输出向发型迁移模型、图像判别模型以及预测模型的期望输出逼近。通过多次调整发型迁移模型、图像判别模型以及预测模型中的参数,使得发型迁移模型、图像判别模型以及预测模型的实际输出无限逼近于发型迁移模型、图像判别模型以及预测模型的期望输出,则确定发型迁移模型、图像判别模型以及发型预测模型收敛。应理解的是,每进行一次参数调整,则执行一次上述步骤S101~步骤S106,即上述步骤S101~步骤S106的执行次数与参数调整的次数相同。
在一些实施例中,可以基于样本迁移发型图像和样本发型图像,以及,发型预测结果和样本参考发型图像中的发型,以及判别结果,计算发型迁移模型、图像判别模型以及发型预测模型这三个模型的总损失,以三个模型的总损失来衡量发型迁移模型、图像判别模型以及预测模型的期望输出与发型迁移模型、图像判别模型以及预测模型的实际输出之间的误差。当三个模型的总损失小于预设阈值或训练次数(指参数调整的次数)达到预设次数时,则确定发型迁移模型、图像判别模型以及发型预测模型均收敛。
在一种可行的实施方式中,三个模型的总损失可以由图像内容迁移损失、发型迁移损失、判别损失决定,其中,可以根据样本迁移发型图像和样本发型图像,计算图像内容迁移损失;根据发型预测结果和样本参考发型图像中的发型,计算发型迁移损失;根据判别结果计算图像对抗损失;根据图像内容迁移损失、发型迁移损失以及图像对抗损失,得到三个模型的总损失。
其中,图像内容迁移损失用于衡量发型迁移模型在生成样本迁移发型图像的过程中,样本迁移发型图像的内容与样本发型图像的内容之间的差距,即两张图像中的内容之间的偏离程度。图像内容迁移损失越小,则说明样本迁移发型图像的内容与样本发型图像的内容之间的偏离程度越低,也即样本迁移发型图像中的内容与样本发型图像的内容越相似;图像内容迁移损失越大,则说明样本迁移发型图像的内容与样本发型图像的内容之间的偏离程度越大,也即样本迁移发现图像中的内容与样本发型图像的内容越不相似。
在一种具体实现方式中,可以通过计算样本迁移发型图像与样本发型图像之间的均方误差来确定样本迁移发型图像的内容与样本发型图像的内容之间的偏离程度,从而求得图像内容迁移损失。图像内容迁移损失的计算公式可以如下:
Lpix=Ex[‖G1(x)-G2(x)‖]mse
其中,Lpix表示图像内容迁移损失,G1(x)表示样本发型图像中的像素值,G2(x)表示样本迁移发型图像中的像素值。
可选地,也可以通过其他用于评价两个图像的内容之间的偏离程度的指标来确定图像内容迁移损失,例如还可以计算样本迁移发型图像与样本发型图像之间的方差、标准差等来确定图像内容迁移损失。进一步地,还可以通过利用多种用于评价两个图像之间的偏离程度的指标的组合来确定图像内容迁移损失,以更准确地确定图像内容迁移损失。有关于确定图像内容迁移损失的方式,本申请实施例不做限定。
其中,发型迁移损失用于衡量发型迁移模型在生成样本迁移发型图像的过程中,样本迁移发型图像中的发型与样本参考发型图像中的发型之间的差距,也即两张图像中的发型之间的偏离程度。发型迁移损失越小,则说明样本迁移发型图像中的发型与样本参考发型图像中的发型之间的偏离程度越小,也即样本迁移发型图像中的发型与样本参考发型图像中的发型越相似;发型迁移损失越大,则说明样本迁移发型图像中的发型与样本参考发型图像中的发型之间的偏离程度越大,也即样本迁移发型图像中的发型与样本参考发型图像中的发型越不相似。
由于用发型预测结果来表示样本迁移发型图像中的发型,发型预测结果以多位独热编码的形式呈现,相应地,也可以用发型标签来表示样本参考发型图像中的发型,发型标签同样以多位独热编码的形式呈现。其中,发型预测结果对应的多位独热编码的位数与发型标签对应的多位独热编码的位数一致,且相同位置处的独热编码对应同一个头发属性。例如,用9位独热编码表示发型预测结果,发型预测结果对应的9位独热编码中,1-3位的编码对应的是头发长度这一头发属性,相应地,也用9位独热编码表示发型标签,发型标签对应的9位独热编码中1-3位的编码同样也对应头发长度这一属性。这样,以发型预测结果和发型标签分别表示样本参考发型图像中的发型和样本迁移发型图像中的发型,可实现对样本参考发型图像中的发型和样本迁移发型图像中的发型的量化,进而可计算样本发型图像中的发型和样本迁移发型图像中的发型之间的偏离程度。
在一种具体实现方式中,可以通过计算样本迁移发型图像中的发型与样本参考发型图像中的发型的绝对值损失来确定样本迁移发型图像中的发型与样本参考发型图像中的发型之间的偏离程度,从而求得发型迁移损失。发型迁移损失的计算公式可以如下:
其中,Lstyle表示发型迁移损失,表示样本参考发型图像对应的发型标签中第i个头发属性对应的标签,/>表示发型预测结果中第i个头发属性对应的预测结果,K表示头发属性的数量。
可选地,也可以通过其他评价独热编码之间的相似度的指标来确定发型迁移损失,例如,还可以计算发型预测结果与发型标签之间的平方误差等来确定发型迁移损失。有关于确定发型迁移损失的方式,本申请实施例不做限制。
其中,图像对抗损失用于衡量发型迁移模型在生成样本迁移发型图像的过程中,发型迁移模型生成真实图像的能力和图像判别模型的判别能力。图像对抗损失越大,发型迁移模型生成真实图像的能力和图像判别模型的判别能力越强;图像对抗损失越小,发型迁移模型生成真实图像的能力和图像判别模型的判别能力越弱。
在一种具体实现方式,可以通过计算交叉熵以确定图像对抗损失。具体地,图像对抗损失的计算公式可以如下:
Ldis=Ex[log D(x)]+Ex,t[log(1-D(G(x,t)))]
其中,Ldis表示图像对抗损失,D(x)表示图像判别模型对样本发型图像的判别结果,D(G(x,t))表示输出图像判别模型对样本迁移发型图像的判别结果。即,在计算图像对抗损失的过程中,除了将样本发型图像输入至图像判别模型中,也要将样本发型图像输入至图像判别模型。
通过上述方案,可分别确定图像内容迁移损失、发型迁移损失、图像对抗损失,从而可以总损失来衡量发型迁移模型、图像判别模型以及预测模型的精度,依据总损失进行迭代调参,可以使模型在图像内容、发型、真实性这三个维度上的准确度逐步提升。
在一些可能的实施方式中,在计算得到图像内容迁移损失、发型迁移损失、图像对抗损失后,可以对图像内容迁移损失、发型迁移损失以及图像对抗损失进行加权求和,以得到总损失。具体地,总损失的计算公式如下:
L=α*Lpix+β*Ldis+γ*Lstyle
其中,L为总损失,α为图像内容迁移损失的权重,Lpix表示图像内容迁移损失,β为图像对抗损失的权重,Ldis表示图像对抗损失,γ为发型迁移损失的权重,Lstyle表示发型迁移损失。通过加权求和的方式,能够优化发型迁移模型、图像判别模型以及预测模型训练的方向,进而可以训练得到更准的发型迁移模型、图像判别模型以及预测模型。
上述可知,在图3对应的实施例中,基于上述步骤S101~步骤S108,基于判别结果对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,可以使图像判别模型具备鉴定样本发型图像真假的能力,且使得发型迁移模型生成的样本迁移图像足够逼真;基于发型预测结果和样本参考发型中的发型对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,可以使发型预测模型具备准确识别样本发型图像中的发型的能力,且使得发型迁移模型生成的样本迁移图像中的发型无限接近于样本参考发型图像中的发型;基于样本迁移发型图像和样本发型图像对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,可以使发型迁移模型生成的样本迁移图像的内容无限接近于样本发型图像的内容。因此,通过将发型预测模型、图像判别模型与发型迁移模型进行联合训练,可以使得发型迁移模型学习到样本参考发型图像中的发型和样本发型图像中的内容,进而可以生成发型与样本参考发型图像中的发型一致且内容与样本发型图像的内容一致并且足够逼真的迁移图像,即使得发型迁移模型具备重新生成与待美发图像的内容一致且发型与参考发型图像的发型一致的真实图像的能力,由于是重新生成一张图片,而非在原始图像的基础上进行分割和渲染,可以使得融合效果更为自然。另外,由于在训练过程中,是对样本发型图像和样本发型图像对应的样本参考发型图像进行特征提取得到的特征图像相融合后,再进行特征还原所得到的样本迁移发型图像,起到了强化样本参考发型图像的发型特征的作用,保证发型迁移模型能充分学习到样本参考发型图像的发型特征,有助于样本发型图像的内容与样本参考发型图像的发型特征更好地融合,从而可以进一步提升重新生成的图片的融合效果。
在一些可能的实施例中,在进行特征还原的过程,可以在特征还原模块中增加用于融合样本发型图像的面部特征的融合层,以实现对样本发型图像的面部特征的叠加。在一种可行的实施方式中,融合层可以设置于上述依次连接的多个特征还原层中的其中两个特征还原层之间,用于将该其中两个特征层还原层中的上一个特征还原层输出的特征图与样本发型图像的面部特征融合后,输入至该其中两个特征层还原层中的下一个特征还原层。特征还原模块可以包括依次连接的M个第一特征还原层、融合层以及依次连接的N个第二特征还原层,M、N为大于或等于1的正整数,其中,融合层设置于M个第一特征还原层中的最后一个特征还原层与N个第二特征还原层之间。以特征还原模块包括五个特征还原层为例,示例性地,特征还原模块的结构可以如图7所示,包括特征还原层F1、特征还原层F2、特征还原层F3、特征还原层F4以及特征还原层F5,其中,特征还原层F1、特征还原层F2、特征还原层F3以及特征还原层F4为第一特征还原层,特征还原层F5为第二特征还原层,融合层L连接特征还原层F4和特征还原层F5。基于包含有融合层的特征还原模块,可以对样本发型图像的面部特征进行叠加,从而使样本迁移发型图像能够更好地再现样本发型图像的面部特征。
参见图8,图8为本申请实施例提供的另一种发型迁移模型训练方法的流程示意图,该方法可应用于上述提到的应用终端或智能硬件上,其中,发型迁移模型的基本架构可参见图2。如图8所示,该方法包括如下步骤:
步骤S201,获取样本发型图像和样本发型图像对应的样本参考发型图像。
步骤S202,通过特征提取模块分别对样本发型图像和样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像。
步骤S203,通过特征融合模块将第一样本特征图像与第二样本特征图像进行特征融合,得到样本融合特征图像。
这里,步骤S201~步骤S203的有关描述可参考前述步骤S101~步骤S103的内容,此处不再赘述。
步骤S204,通过M个第一特征还原层对样本融合特征图像进行逐层特征还原,以得到风格迁移特征图。
这里,第一特征还原层的组成可以与前述介绍的特征还原层的组成相同,有关于第一特征还原层的介绍,可参考前述对特征还原层的介绍。通过M个第一特征还原层对样本融合特征图像进行逐层特征还原,是指将样本融合特征图像输入至M个第一特征还原层中的第一个第一特征还原层,以通过第一特征还原层进行特征还原处理,第一个特征还原层将特征还原处理得到的特征图输入至第二个第二特征还原层中,以通过第二个特征还原中进行特征还原处理,第二个特征还原层将特征还原处理得到的特征图输入至第三个第一特征还原层中,以此类推,直至得到M个第一特征还原层中的最后一个第一特征还原进行特征还原处理后的特征图,作为风格迁移特征图。以M个第一特征还原层为图7中的特征还原层F1、特征还原层F2、特征还原层F3、特征还原层F4为例,则特征还原层F4输出的32张尺寸为256*256的特征图即为风格迁移特征图。
步骤S205,对所述样本发型图像进行面部特征掩膜处理,以得到样本发型图像对应的面部特征掩膜图。
这里,样本发型图像对应的面部特征掩膜图用于反映样本发型图像的面部特征,面部特征可以是指最能体现样本发型图像中的用户身份的特征。具体地,面部特征包括但不限于眼睛、眉毛、鼻子、嘴巴、嘴唇。
在一种可行的实施方式中,可以通过人脸关键点检测算法检出样本发型图像中的面部特征,然后基于检测出的面部特征进行面部特征掩膜处理,以得到样本发型图像对应的面部特征掩膜图。其中,进行面部特征掩膜处理是指在样本发型图像中突出化面部特征对应的区域,并弱化其他不属于面部特征的区域。
在一种具体实现方式中,可以通过二值化的方式进行面部特征掩膜处理,即将样本发型图像中面部特征对应的区域设置为1,将其他不属于面部特征的区域设置为0,从而得到样本发型图像对应的面部特征掩膜图。通过二值化的方式,能够明确区分面部特征对应的区域和其他不属于面部特征的区域。
步骤S206,通过融合层将风格迁移特征图和样本发型图像对应的面部特征掩膜图进行融合处理,以得到面部特征风格融合图。
在一种可行的实施方式中,融合层可以通过将风格迁移特征图和样本发型图像对应的面部特征掩膜图相乘,以实现将风格迁移特征图和样本发型图像对应的面部特征掩膜图进行融合处理。具体地,可以将样本发型图像对应的面部特征掩膜图处理为与风格迁移特征图尺寸相同的图像,然后与风格迁移特征图进行相乘,得到面部特征风格融合图。
举例来说,以风格迁移特征图为图7中的32张尺寸为256*256的特征图为例,则可以将样本发型特征图处理为尺寸为256*256的图像S,尺寸为256*256的特征图和图像S在数学上可表征为一个256行256列的矩阵,则可以将图像S对应的256行256列的特征矩阵,分别与32张尺寸为256*256的特征图对应的32个256行256列的特征矩阵相乘,得到32个新的256行256列的特征矩阵,这32个新的256行256列的特征矩阵对应的图像即为面部特征风格融合图,即融合层L输出32张尺寸为256*256的面部特征风格融合图。
S207,通过N个第二特征还原层对面部特征风格融合图进行逐层特征还原,以得到样本迁移发型图像。
这里,第二特征还原层的组成可以与前述介绍的特征还原层的组成相同,有关于第二特征还原层的介绍,可参考前述对特征还原层的介绍。通过N个第二特征还原对面部特征风格融合图进行逐层特征还原的原理与前述通过M个第一特征还原层对样本融合特征图像进行逐层特征还原的原理相同,可参考前述步骤S204的描述。以N个第二特征还原层为图7中的特征还原层5为例,则特征还原层5可以将融合层输出的32张尺寸为256*256的面部特征风格融合图还原为一张尺寸为256*256的样本迁移发型图像。
步骤S208,将样本迁移发型图像输入至图像判别模型,以得到样本迁移发型图像的判别结果。
步骤209,将样本迁移发型图像输入至发型预测模型,以得到样本迁移发型图像的发型预测结果。
步骤S210,基于样本迁移发型图像和样本发型图像,以及,发型预测结果和样本参考发型图像中的发型,以及判别结果,对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,直至发型迁移模型、图像判别模型以及发型预测模型均收敛。
步骤S211,将收敛后的发型迁移模型确定为目标发型迁移模型。
这里,步骤S208~步骤S211的有关描述可参考前述步骤S105~步骤S108的有关内容,此处不再赘述。
上述可知,在图8对应的实施例中,在对样本融合特征图进行特征还原的过程中,通过融入样本发型图像对应的面部特征掩膜图所反映的面部特征,能够更好地进行还原,从而使得还原得到的样本迁移发型图像的图像内容与样本发型图像的内容更接近。
在通过上述实施例训练得到目标发型迁移模型后,可利用目标发型迁移模型实现发型迁移,即实现虚拟美发。参见图9,图9为本申请实施例提供的一种发型迁移方法的流程示意图,该方法可应用于上述提到的应用终端或智能硬件上。如图9所示,该方法包括如下步骤:
步骤S301,获取待迁移发型图像和目标发型图像。
本申请实施例中,待迁移发型图像和目标发型图像是指图像内容包含有头发区域的用户图像,其中,目标发型图像中的发型不同于待迁移发型图像,待迁移发型图像中的发型为待更换的发型,目标发型图像中的发型是指打算迁移至待迁移发型图像中的发型,待迁移发型图像和目标发型图像可分别对应于图1中的A1和B。
具体实现中,可以通过前述介绍的应用终端或智能硬件获取用户操作,从而获取待迁移发型图像和目标发型图像。
步骤S302,将待迁移发型图像和目标发型图像输入至目标发型迁移模型,以通过目标发型迁移模型输出所述待迁移发型图像对应的迁移发型图像。
这里,目标发型迁移模型为通过上述图3实施例中的发型迁移模型训练方法的训练得到的发型迁移模型。有关于目标发型迁移模型输出待迁移图像对应的迁移发型图像的具体原理,可参考前述图3中步骤S102~步骤S104中特征提取模块、特征融合模块以及特征还原模块对样本发型图像和样本参考发型图像进行处理得到样本迁移发型图像的过程,此处不再赘述。
上述可知,在图9对应的实施例中,目标发型迁移模型具备重新生成与待美发图像的内容一致且发型与参考发型图像的发型相同的真实图像的能力,因而迁移发型图像的内容能够与待迁移发型图像的内容一致,迁移发型图像的发型能够与目标发型图像中的内容一致,并且,足够逼真,由于是重新生成一张图片,而非在原始图像的基础上进行分割和渲染,可以使得融合效果更为自然。并且,在重新生成迁移发型图像中的过程,由于是对待迁移发型图像和目标发型图像进行特征提取得到的特征图像相融合后,再进行特征还原,能使待迁移发型图像的内容特征与目标发型的发型特征更好地融合,从而可以进一步提升迁移发型图像的融合效果。
在一些可能的实施例中,为了使目标迁移发型图像能够更好地再现待迁移发型图像的面部特征,在生成目标迁移发型图像的过程中,可以融入待迁移发型图像的面部特征。在将待迁移发型图像和目标发型图像输入至目标发型迁移模型之前,还可以对待迁移发型图像进行面部特征掩膜处理,以得到待迁移发型图像对应的面部特征掩膜图;在将待迁移发型图像和所述目标发型图像输入至目标发型迁移模型时,可以将待迁移发型图像对应的面部特征掩膜图一并输入至目标发型迁移模型。其中,目标发型迁移模型为通过上述图8实施例中的发型迁移模型训练方法的训练得到的发型迁移模型。有关于目标发型迁移模型输出待迁移图像对应的迁移发型图像的具体原理,可参考前述步骤S202~步骤S207中特征提取模块、特征融合模块以及特征还原模块对样本发型图像、样本参考发型图像以及样本发型图像对应的面部特征掩膜图进行处理得到样本迁移发型图像的过程,此处不再赘述。
通过将待迁移发型图像对应的面部特征掩膜图与待迁移发型图像、目标发型图像一并输入至目标发型迁移模型,目标发型迁移模型能够将待迁移发型图像对应的面部特征掩膜图所反映的面部特征融入进生成的迁移发型图像中,使得迁移发型图像的内容与待迁移发型图像的内容更接近。
上述介绍了本申请的方法,为了更好地实施本申请的方法,接下来介绍本申请的装置。
参见图10,图10为本申请实施例提供的一种发型迁移模型训练装置的结构示意图,该装置可以为前述提到的应用终端或智能硬件的一部分,其中,发型迁移模型的基本架构可参见图2。如图10所示,该装置40包括:
第一获取模块401,用于获取样本发型图像和上述样本发型图像对应的样本参考发型图像,其中,上述样本参考发型图像中的发型不同于上述样本发型图像中的发型;
图像生成模块402,用于通过上述特征提取模块分别对上述样本发型图像和上述样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像;通过上述特征融合模块将上述第一样本特征图像与上述第二样本特征图像进行特征融合,得到样本融合特征图像;通过上述特征还原模块对上述样本融合特征图像进行特征还原,以得到上述样本发型图像对应的样本迁移发型图像;
判断模块403,用于将上述样本迁移发型图像输入至图像判别模型,以得到上述样本迁移发型图像的判别结果,上述判别结果用于指示上述样本迁移发型图像为真实样本发型图像的可能性;
发型预测模块404,用于将上述样本迁移发型图像输入至发型预测模型,以得到上述样本迁移发型图像的发型预测结果;
调参模块405,用于基于上述样本迁移发型图像和上述样本发型图像,以及,上述发型预测结果和上述样本参考发型图像中的发型,以及上述判别结果,对上述发型迁移模型、上述图像判别模型以及上述发型预测模型进行迭代调参,直至上述发型迁移模型、上述图像判别模型以及上述发型预测模型均收敛;
模型确定模块406,用于将收敛后的发型迁移模型确定为目标发型迁移模型。
在一种可能的设计中,上述调参模块405具体用于:根据上述样本迁移发型图像和上述样本发型图像,计算图像内容迁移损失;根据上述发型预测结果和上述样本参考发型图像中的发型,计算发型迁移损失;根据上述判别结果计算图像对抗损失;根据上述图像内容迁移损失、上述发型迁移损失以及上述图像对抗损失,得到总损失;根据上述总损失,对上述发型迁移模型、上述图像判别模型以及上述发型预测模型进行迭代调参。
在一种可能的设计中,上述调参模块405具体用于:对上述图像内容迁移损失、上述发型损失以及上述图像对抗损失进行加权求和,得到上述总损失。
在一种可能的设计中,上述特征提取模块为编码器,上述编码器包括第一编码器和第二编码器;上述图像生成模块402具体用于:通过上述第一编码器对上述样本发型图像进行特征提取,以得到上述第一样本特征图像;通过上述第二编码器对上述样本参考发型图像进行特征提取,以得到上述第二样本特征图像。。
在一种可能的设计中,上述特征还原模块包括依次连接的M个第一特征还原层、融合层以及依次连接的N个第二特征还原层,M、N为大于或等于1的正整数;上述装置40还包括:第一掩膜处理模块407,用于对上述样本发型图像进行面部特征掩膜处理,以得到样本发型图像对应的面部特征掩膜图,上述样本发型图像对应的面部特征掩膜图用于反映上述样本发型图像的面部特征;上述图像还原模块具体用于:通过上述M个第一特征还原层对上述样本融合特征图像进行逐层特征还原,以得到风格迁移特征图;通过上述融合层将上述风格迁移特征图和上述样本发型图像对应的面部特征掩膜图进行融合处理,以得到面部特征风格融合图;通过上述N个第二特征还原层对上述面部特征风格融合图进行逐层特征还原,以得到上述样本迁移发型图像。
需要说明的是,图10对应的实施例中未提及的内容可参见图3-图8对应的方法实施例的描述,这里不再赘述。
上述装置中,基于判别结果对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,可以使图像判别模型具备鉴定样本发型图像真假的能力,且使得发型迁移模型生成的样本迁移图像足够逼真;基于发型预测结果和样本参考发型中的发型对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,可以使发型预测模型具备准确识别样本发型图像中的发型的能力,且使得发型迁移模型生成的样本迁移图像中的发型无限接近于样本参考发型图像中的发型;基于样本迁移发型图像和样本发型图像对发型迁移模型、图像判别模型以及发型预测模型进行迭代调参,可以使发型迁移模型生成的样本迁移图像的内容无限接近于样本发型图像的内容。因此,通过将发型预测模型、图像判别模型与发型迁移模型进行联合训练,可以使得发型迁移模型学习到样本参考发型图像中的发型和样本发型图像中的内容,进而可以生成发型与样本参考发型图像中的发型一致且内容与样本发型图像的内容一致并且足够逼真的迁移图像,即使得发型迁移模型具备重新生成与待美发图像的内容一致且发型与参考发型图像的发型一致的真实图像的能力,由于是重新生成一张图片,而非在原始图像的基础上进行分割和渲染,可以使得融合效果更为自然。另外,由于在训练过程中,是对样本发型图像和样本发型图像对应的样本参考发型图像进行特征提取得到的特征图像相融合后,再进行特征还原所得到的样本迁移发型图像,起到了强化样本参考发型图像的发型特征的作用,保证发型迁移模型能充分学习到样本参考发型图像的发型特征,有助于样本发型图像的内容与样本参考发型图像的发型特征更好地融合,从而可以进一步提升重新生成的图片的融合效果。
参见图11,图11为本申请实施例提供的一种发型迁移装置的结构示意图,该装置可以为前述提到的应用终端或智能硬件的一部分。如图7所示,该装置50包括:
第二获取模块501,用于获取待迁移发型图像和目标发型图像,上述目标发型图像中的发型不同于上述待迁移发型图像中的发型;
图像输出模块502,用于将上述待迁移发型图像和上述目标发型图像输入至上述目标发型迁移模型,以通过上述目标发型迁移模型输出上述待迁移发型图像对应的迁移发型图像,其中,上述迁移发型图像中的发型为上述目标发型图像中的发型,上述目标发型迁移模型经过前述图3-图8所示的发型迁移模型训练方法训练得到。
需要说明的是,图11对应的实施例中未提及的内容可参见图9对应的方法实施例的描述,这里不再赘述。
该装置中,目标发型迁移模型具备重新生成与待美发图像的内容一致且发型与参考发型图像的发型的真实图像的能力,因而迁移发型图像的内容能够与待迁移发型图像的内容一致,迁移发型图像的发型能够与目标发型图像中的内容一致,并且,足够逼真,由于是重新生成一张图片,而非在原始图像的基础上进行分割和渲染,可以使得融合效果更为自然。在重新生成迁移发型图像中的过程,由于是对待迁移发型图像和目标发型图像进行特征提取得到的特征图像相融合后,再进行特征还原,能使待迁移发型图像的内容特征与目标发型的发型特征更好地融合,从而可以进一步提升迁移发型图像的融合效果。
参见图12,图12为本申请实施例提供的一种计算机设备的结构示意图,该计算机设备60包括处理器601、存储器602。处理器601连接到存储器602,例如处理器601可以通过总线连接到存储器602。
处理器601被配置为支持该计算机设备60执行图3-图8的方法或图9的方法中相应的功能。该处理器601可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器602用于存储程序代码等。存储器602可以包括易失性存储器(volatilememory,VM),例如随机存取存储器(random access memory,RAM);存储器602也可以包括非易失性存储器(non-volatile memory,NVM),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器602还可以包括上述种类的存储器的组合。
在一些可能的情况中,处理器601可以调用所述程序代码以执行以下操作:
获取样本发型图像和上述样本发型图像对应的样本参考发型图像,其中,上述样本参考发型图像中的发型不同于上述样本发型图像中的发型;
通过上述特征提取模块分别对上述样本发型图像和上述样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像;
通过上述特征融合模块将上述第一样本特征图像与上述第二样本特征图像进行特征融合,得到样本融合特征图像;
通过上述特征还原模块对上述样本融合特征图像进行特征还原,以得到上述样本发型图像对应的样本迁移发型图像;
将上述样本迁移发型图像输入至图像判别模型,以得到上述样本迁移发型图像的判别结果,上述判别结果用于指示上述样本迁移发型图像为真实样本发型图像的可能性;
将上述样本迁移发型图像输入至发型预测模型,以得到上述样本迁移发型图像的发型预测结果;
基于上述样本迁移发型图像和上述样本发型图像,以及,上述发型预测结果和上述样本参考发型图像中的发型,以及上述判别结果,对上述发型迁移模型、上述图像判别模型以及上述发型预测模型进行迭代调参,直至上述发型迁移模型、上述图像判别模型以及上述发型预测模型均收敛;
将收敛后的发型迁移模型确定为目标发型迁移模型。
在另一些可能的情况中,处理器601可以调用所述程序代码以执行以下操作:
获取待迁移发型图像和目标发型图像,上述目标发型图像中的发型不同于上述待迁移发型图像中的发型;
将上述待迁移发型图像和上述目标发型图像输入至目标发型迁移模型,以通过上述目标发型迁移模型输出上述待迁移发型图像对应的迁移发型图像,其中,上述迁移发型图像中的发型为上述目标发型图像中的发型,上述目标发型迁移模型前述图3-图8所示的发型迁移模型训练方法训练得到。
需要说明的是,各个操作的实现还可以对应参照上述方法实施例的相应描述;所述处理器601还可以其他功能硬件配合执行上述方法实施例中的其他操作。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如前述实施例所述的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only memory,ROM)或随机存储记忆体(Random Accessmemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (11)
1.一种发型迁移模型训练方法,其特征在于,所述发型迁移模型包括特征提取模块、特征融合模块以及特征还原模块;所述方法包括:
获取样本发型图像和所述样本发型图像对应的样本参考发型图像,其中,所述样本参考发型图像中的发型不同于所述样本发型图像中的发型;
通过所述特征提取模块分别对所述样本发型图像和所述样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像;
通过所述特征融合模块将所述第一样本特征图像与所述第二样本特征图像进行特征融合,得到样本融合特征图像;
通过所述特征还原模块对所述样本融合特征图像进行特征还原,以得到所述样本发型图像对应的样本迁移发型图像;
将所述样本迁移发型图像输入至图像判别模型,以得到所述样本迁移发型图像的判别结果,所述判别结果用于指示所述样本迁移发型图像为真实样本发型图像的可能性;
将所述样本迁移发型图像输入至发型预测模型,以得到所述样本迁移发型图像的发型预测结果;
基于所述样本迁移发型图像和所述样本发型图像,以及,所述发型预测结果和所述样本参考发型图像中的发型,以及所述判别结果,对所述发型迁移模型、所述图像判别模型以及所述发型预测模型进行迭代调参,直至所述发型迁移模型、所述图像判别模型以及所述发型预测模型均收敛;
将收敛后的发型迁移模型确定为目标发型迁移模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述样本迁移发型图像和所述样本发型图像,以及,所述发型预测结果和所述样本参考发型图像中的发型,以及所述判别结果,对所述发型迁移模型、所述图像判别模型以及所述发型预测模型进行迭代调参,包括:
根据所述样本迁移发型图像和所述样本发型图像,计算图像内容迁移损失;
根据所述发型预测结果和所述样本参考发型图像中的发型,计算发型迁移损失;
根据所述判别结果计算图像对抗损失;
根据所述图像内容迁移损失、所述发型迁移损失以及所述图像对抗损失,得到总损失;
根据所述总损失,对所述发型迁移模型、所述图像判别模型以及所述发型预测模型进行迭代调参。
3.根据权利要求2所述的方法,其特征在于,所述根据所述图像内容迁移损失、所述发型迁移损失以及所述图像对抗损失,得到总损失,包括:
对所述图像内容迁移损失、所述发型损失以及所述图像对抗损失进行加权求和,得到所述总损失。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述特征提取模块为编码器,所述编码器包括第一编码器和第二编码器;
所述通过所述特征提取模块分别对所述样本发型图像和所述样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像,包括:
通过所述第一编码器对所述样本发型图像进行特征提取,以得到所述第一样本特征图像;
通过所述第二编码器对所述样本参考发型图像进行特征提取,以得到所述第二样本特征图像。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述特征还原模块包括依次连接的M个第一特征还原层、融合层以及依次连接的N个第二特征还原层,M、N为大于或等于1的正整数;
所述通过所述特征还原模块对所述样本融合特征图像进行特征还原,以得到所述样本发型图像对应的样本迁移发型图像之前,还包括:
对所述样本发型图像进行面部特征掩膜处理,以得到所述样本发型图像对应的面部特征掩膜图,所述样本发型图像对应的面部特征掩膜图用于反映所述样本发型图像的面部特征;
所述通过所述特征还原模块对所述样本融合特征图像进行特征还原,以得到所述样本发型图像对应的样本迁移发型图像,包括:
通过所述M个第一特征还原层对所述样本融合特征图像进行逐层特征还原,以得到风格迁移特征图;
通过所述融合层将所述风格迁移特征图和所述样本发型图像对应的面部特征掩膜图进行融合处理,以得到面部特征风格融合图;
通过所述N个第二特征还原层对所述面部特征风格融合图进行逐层特征还原,以得到所述样本迁移发型图像。
6.一种发型迁移方法,其特征在于,包括:
获取待迁移发型图像和目标发型图像,所述目标发型图像中的发型不同于所述待迁移发型图像中的发型;
将所述待迁移发型图像和所述目标发型图像输入至目标发型迁移模型,以通过所述目标发型迁移模型输出所述待迁移发型图像对应的迁移发型图像,其中,所述迁移发型图像中的发型为所述目标发型图像中的发型,所述目标发型迁移模型经过如权利要求1-5任一项所述的发型迁移模型训练方法训练得到。
7.根据权利要求6所述的方法,其特征在于,所述将所述待迁移发型图像和所述目标发型图像输入至所述目标发型迁移模型,以通过所述目标发型迁移模型输出所述待迁移发型图像对应的迁移发型图像之前,还包括:
对所述待迁移发型图像进行面部特征掩膜处理,以得到所述待迁移发型图像对应的面部特征掩膜图;
所述将所述待迁移发型图像和所述目标发型图像输入至目标发型迁移模型,以通过所述目标发型迁移模型输出所述待迁移发型图像对应的迁移发型图像,包括:
将所述待迁移发型图像、所述目标发型图像以及所述待迁移发型图像对应的面部特征掩膜图输入至目标发型迁移模型,以通过所述目标发型迁移模型输出所述待迁移发型图像对应的迁移发型图像。
8.一种发型迁移模型训练装置,其特征在于,所述发型迁移模型包括特征提取模块、特征融合模块以及特征还原模块;所述装置包括:
第一获取模块,用于获取样本发型图像和所述样本发型图像对应的样本参考发型图像,其中,所述样本参考发型图像中的发型不同于所述样本发型图像中的发型;
图像生成模块,用于通过所述特征提取模块分别对所述样本发型图像和所述样本参考发型图像进行特征提取,以得到第一样本特征图像和第二样本特征图像;通过所述特征融合模块将所述第一样本特征图像与所述第二样本特征图像进行特征融合,得到样本融合特征图像;通过所述特征还原模块对所述样本融合特征图像进行特征还原,以得到所述样本发型图像对应的样本迁移发型图像;
判断模块,用于将所述样本迁移发型图像输入至图像判别模型,以得到所述样本迁移发型图像的判别结果,所述判别结果用于指示所述样本迁移发型图像为真实样本发型图像的可能性;
发型预测模块,用于将所述样本迁移发型图像输入至发型预测模型,以得到所述样本迁移发型图像的发型预测结果;
调参模块,用于基于所述样本迁移发型图像和所述样本发型图像,以及,所述发型预测结果和所述样本参考发型图像中的发型,以及所述判别结果,对所述发型迁移模型、所述图像判别模型以及所述发型预测模型进行迭代调参,直至所述发型迁移模型、所述图像判别模型以及所述发型预测模型均收敛;
模型确定模块,用于将收敛后的发型迁移模型确定为目标发型迁移模型。
9.一种发型迁移装置,其特征在于,包括:
第二获取模块,用于获取待迁移发型图像和目标发型图像,所述目标发型图像中的发型不同于所述待迁移发型图像中的发型;
图像输出模块,用于将所述待迁移发型图像和所述目标发型图像输入至所述目标发型迁移模型,以通过所述目标发型迁移模型输出所述待迁移发型图像对应的迁移发型图像,其中,所述迁移发型图像中的发型为所述目标发型图像中的发型,所述目标发型迁移模型经过如权利要求1-5任一项所述的发型迁移模型训练方法训练得到。
10.一种计算机设备,其特征在于,包括存储器以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述一个或多个处理器在执行所述一个或多个计算机程序时,使得所述计算机设备实现如权利要求1-5任一项或权利要求6或7所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项或权利要求6或7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110409682.1A CN113191404B (zh) | 2021-04-16 | 2021-04-16 | 发型迁移模型训练方法、发型迁移方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110409682.1A CN113191404B (zh) | 2021-04-16 | 2021-04-16 | 发型迁移模型训练方法、发型迁移方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113191404A CN113191404A (zh) | 2021-07-30 |
CN113191404B true CN113191404B (zh) | 2023-12-12 |
Family
ID=76977151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110409682.1A Active CN113191404B (zh) | 2021-04-16 | 2021-04-16 | 发型迁移模型训练方法、发型迁移方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113191404B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019237846A1 (zh) * | 2018-06-11 | 2019-12-19 | 腾讯科技(深圳)有限公司 | 图像处理方法、人脸识别方法、装置和计算机设备 |
CN111325664A (zh) * | 2020-02-27 | 2020-06-23 | Oppo广东移动通信有限公司 | 风格迁移方法、装置、存储介质及电子设备 |
CN111553246A (zh) * | 2020-04-15 | 2020-08-18 | 山东大学 | 基于多任务对抗学习网络的汉字风格迁移方法及系统 |
WO2020168844A1 (en) * | 2019-02-19 | 2020-08-27 | Boe Technology Group Co., Ltd. | Image processing method, apparatus, equipment, and storage medium |
CN111784565A (zh) * | 2020-07-01 | 2020-10-16 | 北京字节跳动网络技术有限公司 | 图像处理方法、迁移模型训练方法、装置、介质及设备 |
CN111815534A (zh) * | 2020-07-14 | 2020-10-23 | 厦门美图之家科技有限公司 | 实时皮肤妆容迁移方法、装置、电子设备和可读存储介质 |
-
2021
- 2021-04-16 CN CN202110409682.1A patent/CN113191404B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019237846A1 (zh) * | 2018-06-11 | 2019-12-19 | 腾讯科技(深圳)有限公司 | 图像处理方法、人脸识别方法、装置和计算机设备 |
WO2020168844A1 (en) * | 2019-02-19 | 2020-08-27 | Boe Technology Group Co., Ltd. | Image processing method, apparatus, equipment, and storage medium |
CN111325664A (zh) * | 2020-02-27 | 2020-06-23 | Oppo广东移动通信有限公司 | 风格迁移方法、装置、存储介质及电子设备 |
CN111553246A (zh) * | 2020-04-15 | 2020-08-18 | 山东大学 | 基于多任务对抗学习网络的汉字风格迁移方法及系统 |
CN111784565A (zh) * | 2020-07-01 | 2020-10-16 | 北京字节跳动网络技术有限公司 | 图像处理方法、迁移模型训练方法、装置、介质及设备 |
CN111815534A (zh) * | 2020-07-14 | 2020-10-23 | 厦门美图之家科技有限公司 | 实时皮肤妆容迁移方法、装置、电子设备和可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于卷积网络特征迁移的小样本物体图像识别;白洁;张金松;刘倩宇;;计算机仿真(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113191404A (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110443143B (zh) | 多分支卷积神经网络融合的遥感图像场景分类方法 | |
US20230115700A1 (en) | Automated generation of machine learning models | |
WO2021027759A1 (en) | Facial image processing | |
CN109344920B (zh) | 顾客属性预测方法、存储介质、系统及设备 | |
CN110826060A (zh) | 物联网恶意软件的可视化分类方法、装置与电子设备 | |
CN111783779B (zh) | 图像处理方法、装置和计算机可读存储介质 | |
CN113781164B (zh) | 虚拟试衣模型训练方法、虚拟试衣方法和相关装置 | |
KR20190091806A (ko) | 생성적 적대 네트워크를 이용한 비디오 시퀀스 생성 시스템 및 그 방법 | |
CN113065525B (zh) | 年龄识别模型训练方法、人脸年龄识别方法及相关装置 | |
CN113095333B (zh) | 无监督特征点检测方法及装置 | |
CN114037640A (zh) | 图像生成方法及装置 | |
CN114549913A (zh) | 一种语义分割方法、装置、计算机设备和存储介质 | |
CN115862120B (zh) | 可分离变分自编码器解耦的面部动作单元识别方法及设备 | |
CN111488810A (zh) | 人脸识别方法、装置、终端设备及计算机可读介质 | |
CN113609900B (zh) | 局部生成人脸定位方法、装置、计算机设备和存储介质 | |
CN113191404B (zh) | 发型迁移模型训练方法、发型迁移方法及相关装置 | |
CN113762117A (zh) | 一种图像处理模型的训练方法、图像处理模型及计算机设备 | |
CN113420665A (zh) | 对抗人脸图像生成、人脸识别模型训练方法、装置及设备 | |
CN113674374A (zh) | 基于生成式对抗网络的中文文本生成图像方法及装置 | |
CN112818774A (zh) | 一种活体检测方法及装置 | |
CN112001865A (zh) | 一种人脸识别方法、装置和设备 | |
CN112419249B (zh) | 一种特殊服饰图片转化方法、终端设备及存储介质 | |
CN115587297A (zh) | 构建图像识别模型和图像识别的方法、装置、设备及介质 | |
CN113674383A (zh) | 生成文本图像的方法及装置 | |
Smtith et al. | Malware generation with specific behaviors to improve machine learning-based detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |