在前面的两篇文章中,小编详细介绍了传统的人脸妆造迁移在美颜sdk中的作用和实现方式。今天剩余的内容中,将为大家介绍深度学习人脸妆造迁移算法。
一、基于匹配的妆造算法
这个算法的主要流程是对人像进行五官分析,获取肤色,眉毛颜色,唇色等信息后,进行不同妆容的最佳匹配推荐,最后上妆。
风格推荐是从已上妆人脸数据库中挑选与当前素颜人脸最相近的图片。具体方法是使用一个人脸识别网络,选取该网络输出的人脸特征的欧氏距离最小者作为推荐结果。
然后是人脸分割,主要是进行五官提取,采用全卷积图像分割网络完成,对于已上妆数据集中的眼影部分妆造,素颜图片没有相应的原则,则根据美眼特征点定位给出眼影区域。由于妆容分割的前景部分相对于背景更重要,网络对这两部分的损失进行了加权。
最后是妆容迁移,妆容包括粉底(对应面部),唇彩(对应双唇),眼影(对应双眼)。
二、基于GAN的妆造迁移算法
以BeautyGAN为代表,输入两张人脸图片,一张无妆图,一张有妆图,模型输出换装之后的结果,即一张上妆图和一张卸妆图。
BeautyGAN采用了经典的图像翻译结构,生成器G输入无妆图和有妆图,通过编码器、若干个残差模块、解码器组成的生成器G得到上妆图和卸妆图。
为了消除迁移细节的瑕疵,将上妆图和卸妆图再次输入给G,重新执行一次卸妆和上妆,得到两张重建图和卸妆图,此时通过循环损失约束一张图经过两次G变换后与对应的原始图相同。
由于GAN等技术的成熟,人脸的妆造迁移算法得到了长足的进步,但在实际落地中仍然会面临着一些难题,如大姿态和大表情的妆造迁移问题,不过目前已经针对这个问题提出解决方案,这里就不再赘述。
以上,就是说有的人脸妆造迁移算法在美颜sdk中的实现和应用,目前人脸妆造迁移已经归类出不同程度的烟熏妆、华丽妆、复古妆、韩式妆、日式妆等,用于不同场景。如果你对美颜sdk接入有需求,欢迎咨询官方客服。
声明:本文由美狐原创,未经允许禁止转载,谢谢合作。