Lipstick ain’t enough 论文简述

Lipstick ain’t enough

1. 简介

       以前的化妆转移模型只关注颜色的改变,并没有考虑到脸上的图案装饰,如脸上的贴纸和珠宝。该论文提出了一个完整的化妆转移框架来解决上边的问题。它包含一个改进的颜色转移分支和一个新的pattern转移分支。使用这两个模块来学习化妆的性质,如颜色,形状,纹理,位置。还引入了一个新的化妆数据集。

       该论文的贡献:

       (1)把化妆看做颜色转移和pattern的增加,开发了一个综合的化妆转移方法,它既可以完成轻度的化妆也可以实现极端的化妆分格。

       (2)设计了一个新的结构,该结构有两条分支,一个颜色转移,一个pattern转移。为了消除输入图片在脸的形状,头的姿势和表情上的差异,我们将脸部放到UV空间中。

       (3)引入了一个新的化妆数据集,包含极端的化妆风格。

       该论文还使用了3D面部模型来消除头部姿势和表情的影响,具体使用的是PRNet和UV代表。

2.方法

       Isn代表没化妆(n)的源图片(s),Irm代表化妆(m)参考图片(r),我们的目标就是获得Ism,有着source的脸,reference的妆,所以我们学习一个函数F:

       为了学习到这个函数,我们的方法基于一下两种观点:1)source和reference的有着不同的3D姿势,脸的形状和表情,为了消除这种不对准的情况,我们应该在化妆转移之前,将source和reference放到一个统一的模板上去,具体我们这使用的是UV映射。2)把化妆转移看作颜色的转移和pattern的增加。

图1:模型框架

       如上图所示,我们的方法包含三个步骤,1)首先将IsnIrm使用UV映射成TsnTrm,2)将这两个texture分别通过两个分支进行颜色的转移和pattern的转移,3)结合这两个分支的输出形成化妆转移的textureTsm,然后再映射回图像空间获得最后的结果Ism

       给定一张面部图片I,我们使用预训练的模型PRNet(以后用UV代表),我们可以从I中提取出UV位置映射S和UV纹理T,我们可以使用下边的公式表示:

3. 颜色转移分支

       这个分支使用的BeautyGAN提出的框架和losses。里面主要的部分是颜色交换网络C,它可以交换source和rederence之间的颜色TsmCTrnC≔C(TsnTrm).为了训练C,采用了一下的几种losses:

       (1)Adversarial Loss:Ladv使用两个discriminator,鼓励TsmCTrnC它们分别是化妆域和非化妆域。

       (2)Cycle Consistncy Loss:Lcyc是CycleGAN提出来的。

       (3)Percetual Loss:Lper使用在ImageNet预训练好的VGG-16来计算该loss。

       (4)Histogram Matching Loss:Lhist为了匹配result和reference的颜色分布。

       前边三个Loss都是普通的,最后一个是关键,Lhist利用Histogram Matching来分别计眼影,口红,脸的loss,总的Lhist如下:

       对于每个Lhisti(i={lip,eyes,skin})的计算方法如下:

       ΓsiΓri分别代表source和reference在i区域的mask。

       BeautyGAN在原始图像上使用Lhist,但是由于化妆区域没有对其在大小,位置上有很大的不同,所以降低了Lhist的有效性,我们这直接在UV上使用Lhist

4. Pattern转移分支

       当转移pattern时,我们需要保持它们的形状、纹理和位置,还需要融入3D的表面。直接在原图上处理是很复杂的需要语义分割,解扭曲,重扭曲,但是由于使用了UV位置映射,所以我们只需要进行图像分割。

       给定一张texture map(Trm),我们的目标是提取出patterns 的二进制mask,我们可以使用任何的分割网络,这里我们使用经典的带有预训练的Resnet-50 encoder的Unet来进行分割。采用dice loss:这里ΓgtΓpr是ground truth。

       为了训练这个网络,需要一个带有标注pattern的数据集,因为以前没有这样的数据集,所以我们自己合成了一个数据集叫做CPM-Synt-1,有着成对的数据。

5. 组合这两部分

       Pattern转移分支产生了pattern mask Γm,颜色转移分支产生了UV texture map TsmC,我们可以通过下边的公式来产生出我们想要的UV texture mapTsm

       得到Tsm后,在经过一次UV-1就可以生成最后的结果Ism=UV-1(Ss,Tsm)

6. Color-&-Pattern Makeup(CMP) Datasets

       由于没有带标注的极端的化妆分格的数据,所以我们自己收集了这类数据。这下边将会描述数据的收集和生成过程,一共产生了3个数据集CPM-Real,CPM-Synt-1和CPM-Synt2.

       (1)CPM-Real – In-the-Wild Makeup Dataset:该数据集中都是真实的化妆人脸图像,里面有许多不同化妆分格的图像,不仅有颜色的化妆也有pattern的化妆,在化妆的浓淡上也从轻到重都有,也有许多极端的化妆分格,包括面部的珠宝、涂鸦和节日妆容。(原文中还有收集数据集的过程)

       (2)CPM-Synt-1 – Added Pattern Dataset:该数据集是在真实的人脸上增加pattern所生成的图像。首先在网络上收集了一些pattern,像花,珠宝,纹身之类的,生成所谓的贴纸数据集,其中有577张高质量图片。下一步就是将这些patterns应用到MT数据集中,即将这些patterns贴到人脸上。实现时不是将patten直接放入人脸上,而是先将人脸转换成UV texture map,然后将pattern放入texture map中,并且还保留了图像的mask作为ground true用来后边的训练,最后再使用rendering函数转换成带有pattern的人像图像和pattern的mask。

       (3)CPM-Synt-2 – Transferred Pattern Dataset:虽然CMP-Synt-1有了ground-truth的标签,但是它不能被用来衡量pattern-base的化妆转移算法。因此设计了CMP-Synt-2数据库。具体方法如下: 其中颜色转移使用的BeautyGAN,最后使用(IsnIsgtIrm)三元组作为最后的数据集。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值