论文Digital Face Makeup by Example(妆容迁移,无监督模型)

需求:两幅图像(素颜目标图和带妆参考图)

方法:将两幅图像分别分解成三层:面部结构层(包括眼睛、鼻子、嘴巴等)、皮肤细节层(包括皮肤纹理、瑕疵、痣、皱纹等)、颜色层,将参考图的皮肤细节层和颜色层迁移到目标图上,同时保留目标图的面部结构层。

模型:

在传输之前需要目标图和参考图之间进行面部完全对齐(因为信息是逐像素传递)

步骤:

1. 面部对齐:

采用薄板样条(TPS)[1]将参考图扭曲为目标图。

使用ASM获得TPS所需的控制点,因为脸型的多样性,我们可以手动添加控制点。

 

图a是83个控制点的示例,控制点定位了眉毛、眼睛、鼻子、嘴唇等还有其它面部皮肤。将这些组件分为三类,使用不同的颜色定义(图b)

2. 层分解

①将目标图和参考图先分解为颜色层和亮度层:

将目标图和参考图转换为CIELAB颜色空间,L*表示亮度层,a*、b*表示颜色层

②再将亮度层分解为人脸结构层和皮肤细节层:

对亮度层进行保边平滑处理(edge-preserving smoothing),得到人脸结构层,然后将亮度层减去或除以人脸结构层,得到皮肤细节层。这步操作有两种方法可以处理(WLS算法和双边滤波[2]),本文采用第一种。

 

l表示亮度层,s表示人脸结构层。|s-l|2是为了让s与l相似,是为了让s尽可能的平滑。

为了在不同区域平滑度不同,所以在H中加入β

p表示图像像素,ε是一个很小的常数,防止除0。

 

皮肤细节层:

 

3. 皮肤细节迁移

加权相加

 

δ代表权重,I是目标图,ε是参考图,R是生成图。结果不能特别小,否则生成的图像会因缺少皮肤细节而失真。

4. 颜色迁移

 

属于皮肤区域的时候两者权重相加,本文中的实验ℷ=0.8

5. 高光和阴影迁移

高光和阴影效果的平滑变化保留在人脸结构层中

使用梯度编辑算法[3],保持目标图的光照,迁移高光和阴影效果同时产生平滑效果。

 

使用Gauss-Seidel方法求解

6. 唇妆

用目标图引导的来自参考图的像素值填充生成图的每一个像素

 

M表示化妆后的唇部区域,G()表示高斯函数,是分别使用参考图和目标图的直方图均衡后仅L*通道中像素值的差异。

将M的化妆结果合并到生成图R中,用梯度替换法将M的L*通道加到R的L* 通道上,M 的 a∗, b∗通道替换R中的相应区域。

 

与有监督模型结果对比

参考图只用了一张妆后图。结构保留更好。对于肤色,本文是从参考图中提取肤色,Tong等人是保留原有肤色。

缺点:

需要保持参考图和目标图都是正面

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值