美图影像实验室推出MakeupGan妆容迁移算法,开启个性化妆容时代

近日,美图影像实验室(MTlab)突破行业技术瓶颈,自主研发基于DL(Deep Learning)的MakeupGan(Makeup Generative Adversarial Networks)网络架构,推出革新AI算法——妆容迁移(Makeup Transfer)。该算法支持用户自由选取心仪模特妆容并将迁移到自己脸上,不仅可以迁移眼影、眉毛、口红等基础妆容,还可迁移美瞳、卧蚕、睫毛、五官立体、亮片闪片等细腻细节。迁移效果清晰、自然。该技术将赋能美图公司拓展个性化妆容和虚拟试妆相关业务。MakeupGan妆容迁移效果1:从左至右,模特图@YI薰_ 、用户图、最终效果图导语

虚拟试妆技术一直是美妆、美颜市场最重要的技术之一。当前该领域流行的主流技术为传统素材贴妆,该技术指由专业设计师按指定格式设计好妆容素材,再利用人脸关键点检测把妆容素材贴到对应的五官位置上。MTlab研究发现,这类技术存在两个明显不足:1、需要专业设计师设计妆容素材,限制大,用户不能自由选择自己喜欢的妆容;2、妆容素材直接贴在五官上,浮于表面,很多时候看起来不够真实。

由于传统贴妆技术的不足,当前市场上的虚拟试妆相关业务还很难满足大多数用户的需求,为了改变这一局面,MTlab自主研发了一套全新妆容迁移技术。妆容迁移是指将目标图上的妆容直接迁移到原图上的技术。相比传统贴妆技术,妆容迁移具有极高的自由度,它可以让用户不再局限于设计师设计好的妆容,而是可以自主、任意地从真实模特图中获取妆容,极大地丰富了妆容的多样性。此外,妆容迁移技术不仅可以迁移五官妆容信息,还可以对肤色、光影等信息进行整体迁移。再加上妆容信息直接来源于真实模特图,因此该技术可以很好地保持妆容的真实度。

研究现状

妆容迁移属于目前较新的研究领域,相比于其他DL研究任务,妆容迁移需要解决的问题主要有两个:

1、原图和目标图五官位置和姿态都不固定,如何让网络感知不同位置上的妆容信息?

2、该任务很难获取真实环境中的一对一数据,如何让网络正确监督学习

对于这两个问题,近些年的一些研究者提出了一些解决方案,具体可以总结如下:

对于问题1,主要采用的解决办法是:设计一种映射和反映射机制(也可以设计网络结构来实现这样的映射),将原图像特征映射为identity feature和makeup feature,这样原图的identity feature可以和目标图的makeup feature进行组合,将组合特征反映射为图像特征就可以显式地让网络更好地感知妆容信息。

对于问题2,主要采用的解决办法有两类:a,用一种颜色迁移算法(比如,直方图匹配)结合五官分割进行局部颜色迁移,把目标图各五官成分的颜色迁移到原图对应的五官成分上,这样网络输出的五官区域就可以和颜色迁移后的五官区域直接做loss进行学习;b,结合人脸点用一种形变算法(比如,三角网格形变)将目标图warp到原图上,这样原图和目标图的五官就基本对齐了,再设计loss进行监督训练。

研究者们的创新方案收获了很多成果。目前,对于原图和目标图姿态比较接近且肤色差异较小的情况下,很多研究方案都能比较好地迁移五官妆容的颜色信息。然而,对于真实用户复杂多变的环境(复杂姿态、复杂光照、复杂妆容等)、更多细腻细节的迁移需求(睫毛、眼瞳、亮片闪片等),妆容迁移技术依然面临着很大挑战。MakeupGan妆容迁移效果2:从左至右,模特图@YI薰_ 、用户图、最终效果图MakeupGan妆容迁移方案

要将妆容迁移算法真正落地到产品层面需要保证以下两个方面的效果:

1、鲁棒性,不仅在姿态和肤色差异不大的情况下有稳定效果,还要保证在复杂姿态、多变光照、特殊妆容的场景下依然能保持较好效果。

2、全面性,不仅能迁移眼影、眉毛、口红等颜色信息,还需要迁移睫毛、美瞳、卧蚕、亮片闪片等较为精确的细节信息。

MTlab突破技术瓶颈提出的MakeupGan妆容迁移方案,较好地解决了上述两个问题,并率先将技术落地到实际产品中。MakeupGan妆容迁移方案的核心流程如下图所示:图中所展示的流程主要包括:姿态矫正模块、G网络模块和训练Loss模块,其中训练Loss模块里还包括了MakeupGan模块。在这几个模块中,姿态矫正和MakeupGan是本方案的核心创新模块。

该方案的完整工作流程如下:

1、通过MTlab自主研发的人脸关键点检测算法检测出原始尺寸的原图和目标图的人脸点,并做摆正、裁脸等操作得到流程图中以及后续步骤提到的原图、目标图、原图人脸点和目标图人脸点;

2、通过MTlab自主研发的五官分割算法将原图和目标图的眉毛、眼睛、嘴唇和皮肤分割出来作为后续模块的输入;

3、将目标图、原图人脸点和目标图人脸点输入姿态矫正模块,并得到姿态矫正后的目标图,姿态矫正后的目标图整体上会和原图的姿态一致,并且整个脸的五官大小比例会更接近原图;

4、把矫正后的目标图和原图输入G网络得到结果图,根据结果图和目标图计算Cycle consistency loss、Perceptual loss和Makeup loss,同时把结果图、原图人脸点、原图五官mask输入MakeupGan模块计算Makeup gan loss,这些loss控制整个网络的训练;

5、将实际裁好后的图输入训练好的G网络可以得到网络输出的结果图,结合MTlab自研的颜色迁移算法将原图的颜色和光照迁回一部分到结果图上确保结果更加自然,并将处理后的结果图逆回到原始尺寸原图中即完成算法过程。

对于G网络结构、Makeup loss、Cycle consistency loss和Perceptual loss,该方案参考了论文PSGan[1]并结合自有方案进行调整。由于MakeupGan方案设计了姿态矫正模块,已经可以较好地进行显式的姿态适配,因此在G网络中删除了论文里的AMM结构。Makeup loss则沿用了PSGan的局部五官直方图匹配loss。由于论文中Cycle consistency loss和Perceptual loss里的input和target使用的是同一张图,这在一定程度上会削弱其它loss对于五官区域的监督,进而影响妆容的学习。MTlab利用五官mask来调节这一问题。首先对五官mask取反并进行边缘模糊,然后再把模糊后的mask归一化到(a,1](a>0)之间得到mask’。利用mask’将loss调整如下:对于姿态矫正模块,详细流程绘制如下:姿态矫正模块流程图该模块可以提升算法的鲁棒性,主要包含两个部分,一个是姿态适配,一个是求解变换矩阵。姿态适配是根据原图和目标图的人脸点来判断两张脸的朝向是否相同,若不同则将目标图和目标图的人脸点进行左右翻转,使目标图的朝向和原图一致。求解变换矩阵是利用目标图和原图的人脸点构建最小二乘模型Y=X*M,通过最小二乘的矩阵求法可以求得一个3x3的M矩阵,这里的M矩阵本质就是一个变换矩阵,包含平移、旋转、缩放等原子变换信息。利用M矩阵可以将目标图的像素坐标(x,y)变换到一个新的位置(x’,y’),再用重映射函数remap即可将目标图进行整体变换,变换后目标图的整体五官大小比例会尽可能的接近原图五官的大小比例。

关于MakeupGan模块,详细流程绘制如下:该模块是本方案的核心创新模块,主要保证美瞳、卧蚕、亮片闪片等妆容细节的迁移。MakeupGan模块设计了3个D网络,分别是眉毛判别网络D-Eyebrow、眼睛判别网络D-Eye和嘴唇判别网络D-Lip。

D网络结构的设计主要参考了论文[2]采用SFT结构,并把G网络改成D网络来使用。具体所做的调整为:(1)把residual blocks 的数量从16调整为8;(2)去掉Upsampling之后的层。此外,Condition网络部分使用4通道的局部五官mask作为输入,4通道的mask包括:原mask、对原mask进行左右翻转后的mask、对原mask进行向左镜像后的mask、对原mask进行向右镜像后的mask,而Condition网络的输出即为SFT的Condition maps部分。

眉毛和眼睛都有左右之分,训练时会将左右两部分concat起来,所以D-eyebrow和D-eye的D网络部分为6通道输入,Condition网络部分为8通道输入,而D-lip的D网络部分为3通道输入,Condition网络部分为4通道输入。要训练D网络并获得Makeup gan loss需要从结果图和目标图中获取各自的五官成分,借助人脸点即可crop出每个五官的矩形框,再用mask把非五官区域与掉就得到五官成分。每个D网络可以得到一个gan loss,这样就可以得到3个gan loss,即Eyebrow gan loss、Eye gan loss和Lip gan loss。把3个loss加起来就是本方案的Makeup gan loss。

结语

MTlab自主研发的基于DL的MakeupGan(Makeup Generative Adversarial Networks)网络架构,不仅可以将无妆容的人物图片迁移处理为有妆容的图片,还可以将有妆容的人物图片迁移为无妆容的图片,甚至还可以在不同妆容图片间相互迁移。当前该技术可以处理图像数据,帮助用户简单变美,

除了妆容迁移,MTlab已通过美图AI开放平台(ai.meitu.com)对外开放了数十种计算机视觉相关技术,提供经市场验证的专业AI算法服务和解决方案。未来MTlab还将继续探索基于视频数据的趣味玩法,并将通过美图AI开放平台对外应用。

参考文献

[1] Jiang W, Liu S, Gao C, et al. PSGAN: Pose and Expression Robust Spatial-Aware GAN for Customizable Makeup Transfer[C]// 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020.

[2] Wang X, Yu K, Dong C, et al. Recovering Realistic Texture in Image Super-Resolution by Deep Spatial Feature Transform[C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018.

[3] Li T, Qian R, Dong C, et al. BeautyGAN: Instance-level Facial Makeup Transfer with Deep Generative Adversarial Network[C]// Proceedings of the 26th ACM international conference on Multimedia. 2018.

[4] Park T, Liu M, Wang T, et al. Semantic Image Synthesis With Spatially-Adaptive Normalization[C]// 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020.

[5] Chen H, Hui K, Wang S, et al. BeautyGlow: On-Demand Makeup Transfer Framework With Reversible Generative Network[C]// 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019.

产业美图影像实验室
相关数据
感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

提升算法技术

Boosting是一种主要用于减少偏差的机器学习集成元算法,也是监督学习的一个变化,是一种将弱学习器转换为强学习器的机器学习算法家族。 Boosting是基于Kearns和Valiant(1988,1989)提出的问题:一组弱学习器能创造一个强大的学习器吗?一个弱的学习器被定义为一个分类器,它与真实的分类只有轻微的相关性(它可以比随机猜测更好地标注示例)。相反,强大的学习器是一个与真实分类任意相关的分类器。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

暂无评论
暂无评论~