LADN: Local Adversarial Disentangling Network for Facial Makeup and De-Makeup
LADN: Local Adversarial Disentangling Network for Facial Makeup and De-Makeup
摘要
本文是基于局部对抗网络来做的,可以用来美妆也可以用来去美妆。中心思想是多尺度重叠的判别器在基于内容的消去网络,获得面部图片的局部迁移细节。 目前的网络无法实现细节。交叉风格迁移无监督的设置。
没有配对的妆前妆后照片可以拿到。
文中主要贡献
- 使用局部对抗判别器而不是剪切图片。模型能够更好的迁移和卸妆
- 通过系统的loss的合作,loss是在美妆分支以及卸妆分支上,可以很好的区分latent 向量。如此网络可以生成真实图片。
生成美妆和去美妆
美妆推荐论文[21,23,3]
LADN
缺少像素对齐的妆前妆后照片,文中主要讲妆容迁移和去除问题作为一个无监督的问题去考虑。
可以这么理解EC表示内容,Ea表示风格。两者交叉组合。基于内容的分支加了跳线。
模型详述
定义化妆前的数据{xi} i=1….M, 化妆后的数据{yj}j=1,….,N。I, j 表示面部图像的身份,妆容风格在y中的数据可以相互之间各不相同,未化妆的和化妆的也不会一个身份成对出现。
模型结构详解
首先定义内容encoder
定义风格encoder
生成器两个
文中dcoder encoder使用的是unet 网络,将内容latent 与 风格latent进行concat然后经过生成器输出结果。
然后使用两个判别器
判断卸妆和化妆的
首先的对抗loss如下
局部style loss 判别器
局部判别器实现妆容风格的细节。使用合成的groud truth W(xi, yj ) 根据landmarks扭曲和进行对齐。扭曲时产生伪影,但是这些能够修负被生成网络的结果,使用local 判别器来构建style loss,能够帮助生成器捕捉到妆容。
使用over lapping的补丁。来训练模型,其中512*512 的图片,局部图片补丁大小是102*102。
假设有k个landmarks,那么每个landmark都会有一个局部补丁。就会有k个local判别器。
Local 判别器loss将会有下面的形式
不对称loss
在化妆迁移的分支使用高阶loss能够迁移更多的细节。平滑loss主要应用于卸妆分支,使得面部颜色更加流畅。
高阶loss
高阶loss值如下使用了laplace算子如下:
其中h是权重,f是拉普拉斯算子。
Smooth loss
其中s是权重,f是laplace算子。
Other loss function
加入重构loss到网络中类似cycle gan,将本人的风格和内容输入到一个网络中生成图像,将生成的图像与原始图像对比,形成loss。
通过生成的结果~xj, xi~抽取特征生成不同风格的图像再次做对比
KL 散度
将妆容表达,从encoder中获得,为了符合先验高斯分布给出一个KL loss如下
其中总的loss如下