論文:PSGAN: Pose and Expression Robust Spatial-Aware GAN for Customizable Makeup Transfer
Github:https://github.com/wtjiang98/PSGAN
CVPR2020
主要貢獻:
- PSGAN是第一個實現局部換妝,換妝深淺控制,姿態,表情魯棒的換妝算法,可以很好的應用於真實世界環境。
- PSGAN中的MDNet模塊被提出,從參考圖片中分解出妝容信息爲2個矩陣,通過這2個矩陣實現局部換妝,換妝深淺控制。
- PSGAN中的AMM模塊,實現將妝容信息的2個矩陣過渡爲對應於原圖的2個矩陣。
- 提出新的換妝數據集Makeup-Wild dataset
整體模塊:
整體模塊由3個部分組成,
- Makeup distill network(MDNet)
MDNet實現了從參考圖片中提取出參考圖片的妝容信息,將這些妝容信息表示爲2個妝容矩陣γ,β,其矩陣維度大小爲1*H*W 。
2.Attentive makeup morphing module (AMM)
由於原始圖片和參考圖片可能會在表情和姿態上存在大的差異,因此MDNet直接提取的妝容矩陣γ,β不可以被直接應用於原始圖片。這裏通過原圖和參考圖生成的attention矩陣,將妝容矩陣γ,β修改爲適應於原圖的妝容矩陣γ’,β’。
實現上首先對參考圖的維度進行變換,將C*H*W的維度變換爲C*(HW),然後在channel維度上concat一個人臉68個關鍵點座標位置矩陣。對原始圖片也進行該同樣的操作。然後將原始圖片的(C+136)*HW和參考圖片的(C+136)*HW進行矩陣運算,得到attention矩陣HW*HW。
這裏還需要對P進行一個歸一化操作,同時,除了位置信息之外,還需要加入該位置的像素信息V,最終將該attention矩陣表示如下,
其中,[·,·] 表示concat操作
p表示68個人臉關鍵點的x,y座標
w表示視覺特徵的權重
I(·) 表示原始圖x的人臉區域i和目標圖y的人臉區域j相同時爲1,其餘情況爲0
N表示人臉區域的個數,這裏N=3,包括眼睛,嘴巴,皮膚,3個區域。
將該attention矩陣HW*HW和參考圖的γ,β矩陣進行運算,得到適應於原圖的妝容矩陣γ’,β’矩陣。
3.Makeup apply network (MANet)
MANet通過將妝容矩陣γ’,β’以乘加運算的模式,應用於原圖的特徵層,實現換妝的效果。
Loss函數:
Adversarial loss :
對抗loss
Cycle consistency loss :
L1 loss
Perceptual loss :
L2 loss
Makeup loss:
直方圖匹配loss
Total loss :
其中,λadv = 1, λcyc = 10, λper = 0.005,λmake = 1
Makeup-Wild dataset :
圖片大小爲256*256,403張化妝的圖片,369張未化妝的圖片。
實驗結果:
總結:
- loss和beautyGAN的loss一樣,吸收了beautyGAN中的基於直方圖匹配的換妝loss。
- 可以控制換妝的深淺,只換任意部位的妝容,支持多姿勢