|AI不止能美颜,美妆迁移这样做 | 赠书


|AI不止能美颜,美妆迁移这样做 | 赠书
本文插图
|AI不止能美颜,美妆迁移这样做 | 赠书
本文插图

本文内容节选自《深度学习之人脸图像处理:核心算法与案例实践》 , 作者言有三 。
美颜和美妆是人脸中很常见的技术 , 在网络直播以及平常的社交生活中都有很多应用场景 。 本文重点介绍的是人脸妆造迁移的核心技术及其相关资源 。
想要了解关于深度学习的更多干货知识 , 关注AI科技大本营并评论分享你对本文的学习心得或人脸图像实践的见解 , 我们将从中选出10条优质评论 , 各送出《深度学习之人脸图像处理:核心算法与案例实践》一本+作者精心准备的AI专业版学习扑克牌一副 。 活动截止时间为8月8日晚8点 。
|AI不止能美颜,美妆迁移这样做 | 赠书
本文插图

什么是人脸妆造迁移
所谓妆造迁移算法 , 指的是将一张人像的妆容迁移到任意一张人像照片中 , 这是美颜算法中比较复杂的技术 , 示意图如下:
|AI不止能美颜,美妆迁移这样做 | 赠书
本文插图

图(a)是原图 , 图(b)是妆造风格图 , 图(c)就是将图(b)中的妆造迁移到图(a)中 。
下面我们就来剖析传统的妆造迁移算法和基于深度学习的妆造迁移算法 。
|AI不止能美颜,美妆迁移这样做 | 赠书
本文插图

传统妆造迁移算法
根据对数据集要求的不同可以分为两类 , 第一类是需要成对的妆造前后的图作为训练集 , 即有监督的模型;第二类则不需要成对的妆造前后对比图作为训练集 , 即无监督的模型 。
2.1 基于梯度约束和成对数据的算法
基于成对图的算法 , 它需要同一个人脸图像妆造前后的对比图作为训练集 , 对数据集的要求很高 , 以《Example-Based Cosmetic Transfer》算法为例 。
假如A和A*是成对的无妆造和有妆造的图 , B是需要进行妆造迁移的图 , B*是最终的效果 , 如下图所示:
|AI不止能美颜,美妆迁移这样做 | 赠书
本文插图

该方法通常包括3个步骤:
第一步是面部区域定位和对齐 。 首先需要完成人脸的检测 , 眉毛和睫毛 , 嘴唇等需要妆容迁移的区域的检测 , 对妆造迁移算法会产生干扰的固有皮肤特征 , 如雀斑、痣或瑕疵的去除 。 然后需要对面部几何形状进行变形 , 获得标准的正脸 , 从而使得所有的操作可以在该空间中进行 。
第二步是妆容映射(cosmetic map)算法 。 该算法中将人脸图像分解为颜色和光照两部分的乘积 , 通过计算一个妆造前后的光照密度对比图cp来完成迁移 , 计算方法如下:
|AI不止能美颜,美妆迁移这样做 | 赠书
本文插图

其中ap*就是妆造后图像 , ap就是妆造前的图像 。 得到cp后使用一个加权操作将该对比图应用到图B中 , 即:
|AI不止能美颜,美妆迁移这样做 | 赠书
本文插图

γ是一个加权系数 , 越大则迁移效果越明显 。
第三步是外观修正 。 上式只有当样例图和目标图有完全相同的几何结构和光照 , 并且精确对齐时才能成立 , 而这基本上是不可能的 , 因此还需要对它进行局部几何变换修正 , 即将样例图的二阶laplacian信息映射到目标图中 , 其估计方法如下:
|AI不止能美颜,美妆迁移这样做 | 赠书
本文插图

由于右边是确定的值 , β是一个权重参数 , 所以我们只需要对bp进行更新使其满足上式 , 这通过iterative Gauss-Seidel solver算法来实现 。


推荐阅读