咱們有時候可能會想知道若是將其餘人的妝容放在本身臉上會是怎樣。如今,不須要耗費時間學習化妝技巧以及花錢購買化妝品,藉助深度生成模型,咱們就能輕鬆嘗試別人的妝容效果。
選自arXiv,做者:Wentao Jiang等,機器之心編譯,參與:Panda。
網絡
妝容遷移效果圖,咱們但願模型能將 Reference 的化妝風格遷移到 Source 上,從而獲得 Results。架構
在遷移學習領域,有一個任務名爲妝容遷移(makeup transfer),即將任意參照圖像上的妝容遷移到不帶妝容的源圖像上。不少人像美化應用都須要這種技術。近來的一些妝容遷移方法大都基於生成對抗網絡(GAN)。它們一般採用 CycleGAN 的框架,並在兩個數據集上進行訓練,即無妝容圖像和有妝容圖像。app
可是,現有的方法存在一個侷限性:只在正面人臉圖像上表現良好,沒有爲處理源圖像和參照圖像之間的姿態和表情差別專門設計模塊。另外,它們也不能在測試階段直接用於部分妝容遷移,由於它們沒法以可感知空間的方式提取妝容特徵。
框架
爲了克服這些問題以更好地服務真實世界場景,顏水成等研究者認爲完美的妝容遷移模型應具有如下能力:函數
可以穩健地處理不一樣的姿態,也就是在源圖像和參照圖像的姿態不一樣時也要能生成高質量的結果,好比能夠將側臉圖像上的妝容遷移到正臉圖像上。學習
可以實現逐部分遷移的遷移過程,便可以分開遷移人臉上不一樣區域的妝容,好比眼影或脣彩。測試
可以控制妝容的濃淺程度,便可以加強或減弱被遷移妝容的效果。Chen et al. 2019 提出了將圖像解構爲妝容隱碼(makeup latent code)和人臉隱碼(face latent code)來實現對妝容濃淺程度的控制,但這項研究並未考慮其它兩項需求。ui
針對這些需求,研究者提出了一種全新的姿態穩健型可感知空間式生成對抗網絡(PSGAN)。編碼
論文地址:https://arxiv.org/pdf/1909.06956.pdfspa
得益於當前風格遷移方法的發展,使用妝容矩陣,模型僅需對特徵圖(feature map)執行一次縮放和位移就能實現妝容遷移。可是,妝容遷移比風格遷移問題更復雜一些,這既須要考慮獲得結果,也須要考慮妝容樣式的細微細節。
研究者提出使用 MDNet 將參照圖像的妝容提煉爲兩個妝容矩陣 γ 和 β,二者具備與視覺特徵同樣的空間維度。而後,經過 AMM 模塊對 γ 和 β 進行變形處理,使其適應源圖像,從而獲得自適應妝容矩陣 γ' 和 β'。
這個 AMM 模塊能夠解決由於姿態差別而致使的不對齊問題,從而使 PSGAN 能穩健地處理不一樣姿態。最後,新提出的 DRNet 會首先對源圖像進行卸妝,而後再在卸妝後的結果上經過逐像素加權的乘法和加法來應用矩陣 γ』 和 β』,執行再化妝(re-makeup)。
由於妝容風格是以可感知空間的方式提煉出來的,因此能夠根據人臉解析的結果,經過設置逐像素運算中的權重來實現逐部分的遷移。好比在圖 1 的左上圖中,脣彩、皮膚和眼影均可以分別實現單獨遷移。
經過將權重設置爲 [0,1] 區間中的標量,能夠實現對濃淺程度的控制。圖 1 左下圖展現了一個示例:從左到右是愈來愈濃的妝。PSGAN 的 AMM 模塊也可以有效地解決姿態和表情差別問題。圖 1 的右上圖和右下圖分別展現了當姿態和表情差距較大時的遷移示例。研究者認爲,這三種新提出的模塊能讓 PSGAN 具有上述的完美妝容遷移模型所應具有的能力。
該模型可以讓用戶控制所要遷移的濃淺程度和圖像區域。
該研究的貢獻以下:
PSGAN 是首個能同時實現逐部分遷移、濃淺程度可控遷移和姿式穩健型遷移的基於 GAN 的方法。
新提出的 AMM 模塊能夠調整從參照圖像提取出的妝容矩陣,使其適應源圖像。這個模塊讓 PSGAN 有能力在姿態不一樣的圖像之間遷移妝容風格。
研究者進行了普遍的定性和定量實驗,結果代表 PSGAN 是有效的。
模型架構是什麼
對於 PSGAN 框架,首先,DRNet 對源圖像執行卸妝操做,MDNet 則從參照圖像提煉妝容矩陣。AMM 模塊將提煉出來的矩陣應用於 DRNet 的第三個瓶頸的輸出特徵圖,以實現妝容遷移。
對於 AMM 模塊,具備 136(68×2)個通道的綠色模塊表示像素的相對位置向量,而後再與 C 通道視覺特徵相鏈接。由此,可經過相對位置與視覺特徵的類似度爲源圖像中的每一個像素計算出注意圖(attentive map)。AMM 模塊獲得自適應妝容矩陣 γ』 和 β』,而後再逐元素地乘和加爲 DRNet 的特徵圖。圖中的橙色和灰色模塊分別表示有妝容和無妝容的特徵。
最後對於注意力圖,注意這裏僅計算了屬於一樣面部區域的像素的注意值。所以,在參照圖像的脣部和眼部上沒有響應值。
MDNet 採用了(Choi et al. 2017; Li et al. 2018)中使用的「編碼器-瓶頸」架構,沒有解碼器部分。它可從內在的面部特徵(如人臉形狀、眼睛大小)解離出與妝容有關的特徵(如脣彩、眼影)。與妝容相關的特徵被表示爲兩個妝容矩陣 γ 和 β,它們再被用於經過像素級的操做實現妝容遷移。如圖 2(B) 所示,參照圖像的特徵圖被饋送給兩個 1×1 卷積層,獲得 γ 和 β。
因爲源圖像和參照圖像之間可能存在姿態和表情的差別,因此獲得的感知空間型 γ 和 β 沒法直接應用於源圖像。AMM 模塊會計算出一個注意矩陣 A,指示了源圖像中像素相對於參照圖像中像素的變形狀況。
DRNet 使用了與(Choi et al. 2017; Li et al. 2018)相似的「編碼器-瓶頸-解碼器」架構。如圖 2(A) 所示,DRNet 的編碼器部分與 MDNet 同樣,但它們的參數並不同,由於它們的函數不一樣。編碼器部分使用了沒有仿射(affine)參數的實例歸一化,從而使特徵圖呈正態分佈,這可被視爲卸妝過程。
PSGAN 使用了多種目標函數:
判別器的對抗損失(adversarial loss)和生成器的對抗損失;
循環一致性損失(cycle consistency loss),由 Zhu et al. 2017 提出,這裏使用了 L1 損失來約束重建的圖像和定義循環一致性損失;
感知損失(perceptual loss),使用 L2 損失來衡量遷移後的圖像與源圖像的我的身份差別。研究者使用了一個在 ImageNet 上預訓練的 VGG-16 模型來比較源圖像和生成圖像在隱藏層中的激活;
妝容損失(makeup loss),由 Li et al. 2018 提出,能爲妝容遷移提供粗略的引導;
總損失(total loss),以上各個損失的加權和。
研究者使用了 MT(Makeup Transfer)數據集(Li et al. 2018; Chen et al. 2019)來訓練和測試網絡。其中包含 1115 張源圖像和 2719 張參照圖像。
對照實驗
圖 3 展現了 AMM 模塊的有效性。
圖 4 代表,僅考慮相對位置不足以實現良好的妝容矩陣變形。若是僅考慮相對位置,那麼中間的注意圖就相似於一個 2D 高斯分佈。
部分化妝和插值化妝
由於妝容矩陣 γ 和 β 是空間感知型矩陣,因此能夠在測試中實現部分遷移和插值遷移。爲了生成部分妝容,研究者使用了人臉解析結果來加權這兩個矩陣,從而計算出新的妝容矩陣。
圖 6 展現了部分地混合兩張參照圖像的妝容風格的結果。第三列的結果組合了參照圖像 1 的脣妝和參照圖像 2 的其它部分,看起來很天然,具備真實感。這種部分化妝的新功能讓 PSGAN 能實現定製化妝容遷移。
此外,還能夠經過係數 α∈[0,1] 實現兩張參照圖像的插值操做。圖 5 展現了使用一或兩張參照圖像的插值妝容遷移結果。經過將新的妝容張量饋送給 DRNet,研究者實現了兩張參照圖像的妝容風格之間的平滑過渡。生成結果代表,PSGAN 不只能控制妝容遷移的濃淺程度,還能經過混合兩種妝容風格的妝容張量來生成新的妝容風格。這能顯著擴展妝容遷移的應用範圍。
定量比較
研究者還在 Amazon Mechanical Turk(AMT)上執行了用戶研究,定量地比較了 PSGAN 與 BGAN(BeautyGAN)(Li et al. 2018)、CGAN(CycleGAN)(Zhu et al. 2017)、DIA(Liao et al. 2017)的結果。
定性比較