·Shape 是人臉姿態的指導資訊,文章用了外輪廓、鼻樑和嘴巴指導生成器,而眼睛等其他人臉資訊的生成則是自由靈活的。
·Background 告訴模型關注人臉區域而非背景區域,多mask一些前額頭皮膚可以幫助模型學習與額頭膚色相匹配的膚色,過度更加自然。
·Identity guidance 文章指出如果模型的可變性僅由輸入的landmark(shape、background)提供,則模型會快速過擬合於訓練集並傾向於重建影像,導致合成影像與訓練集影像相似。為解決這個問題,文章為生成器加入的identity資訊,生成器的輸入包含了影像A的landmrak以及影像B的identity,合成影像將是影像A姿態特徵和影像B身份特徵的組合。
·Identity Discr. 為連體神經網路,同時輸入合成影像與身份參考影像B,使用同一網路結構、同一網路引數對映到嵌入向量空間並計算距離損失。身份判別器使用Proxy-NCA loss用訓練集進行預訓練,在GAN的訓練過程中用contrastive loss微調身份判別器。預訓練後的身份判別器將人臉中身份資訊對映至嵌入向量空間,嵌入向量空間中將同類身份距離拉近、不同身份距離拉遠。在GAN的對抗訓練過程中真假影像輸入帶著不相同的身份標籤輸入至身份判別器,生成器力圖混淆身份判別器,隨著訓練進行生成器合成的假影像成為針對身份判別器的困難樣本,判別器用contrastive loss微調優化自身。
注:深度度量學習中的損失函式 | 小毛驢 (yangxudong.github.io)。深度度量學習(deep metric learning)是度量學習的一種方法,它的目標是學習一個從原始特徵到低維稠密的向量空間(稱之為嵌入空間,embedding space)的對映,使得同類物件在嵌入空間上使用常用的距離函式(歐氏距離、cosine距離等)計算的距離比較近,而不同類的物件之間的距離則比較遠。
·MLP 為反摺積網路,輸入是一個one-hot向量,輸出為高維向量,規格與生成器bottleneck層相同並進行拼接。(不是很理解為什麼將one-hot表示輸入MLP,MLP要訓練嗎?)
Result
文章特地寫了一段“Are we just doing face swapping?”。定性角度:給出一組合成圖片表明與單純換臉的區別;定量角度:使用人臉識別網路無法識別出合成影像的參考身份。
Personal Opinions
文章做的人臉匿名個人認為是一種影像風格融合,能夠控制模型的目標融合身份提升了對人臉匿名模型的控制力,但在融合結果的解釋力上是不足的。正如文章中與“換臉”的辨析,合成人臉既不像原始影像A,也不像身份參考影像B。文中提到合成影像使用了身份參考影像B的高層次特徵(race、sex),視覺效果上有合理性但缺乏定量的分析。總之文章的匿名方法說不清楚是如何融合影像A、B的,這造成了應用場景上的侷限,可用性仍然停留在合成影像具有自然的人臉這一點上,但是CIAGAN避免了合成影像過擬合於訓練集。