生成人臉修復模型:同時使用兩個鑒別器,直接合成逼真人臉
近日,加利福尼亞大學和 Adobe Research 在 arXiv 上聯合發表了一篇名為《生成人臉修復(Generative Face Completion)》的論文,論文中的模型包括一個生成器、兩個鑒別器以及一個語義解析網絡,可針對缺失圖像直接生成局部或整張的逼真圖像。論文鏈接請移步文末。
一、簡介
這篇論文提出了一個用來進行人臉修復的深度生成模型,如下圖所示,針對一副面部圖片中的缺失區域,這個模型可以直接修復人臉。
與之前很多其他工作不同,針對人臉修復任務,這篇論文的作者同時使用了兩個鑒別器來構建整個模型,因此不論是局部圖像還是整個圖像,看上去都更加逼真。
二、方法
1. 模型結構
如上圖所示,整個模型包括一個生成器、兩個鑒別器以及一個語義解析網絡。
這個項目中的生成器是一個基于 VGG-19 的自動編碼器。此外論文作者還構造了兩個卷積層,并在頂部有一個池化層,然后在后面加了一個全連接層作為編碼器。解碼器具有反池化層,結構與編碼器對稱。
局部鑒別器被用來判別圖像缺失區域中合成的圖像補丁是否真實。整體鑒別器則用來判別整張圖像的真實性。這兩個鑒別器的架構相似于論文《用深度卷積生成對抗網絡來進行非監督表征學習》中的所述架構。
語義解析網絡用于改進上述生成對抗網絡生成的圖片,語義解析網絡是基于論文《使用全連接卷積編碼-解碼網絡進行物體輪廓檢測》,因為這種網絡能夠提取到圖像的高水平特征。以這種方式,生成的圖像補丁 (人臉部分) 會具有更加自然的形態和尺寸。
2. 損失函數
生成器中的重建損失函數 L_r 計算生成器的輸出和原始圖像之間的 L_2 距離。
兩個鑒別器共享定義相同的損失函數 L_ai,如下圖方程所示,L_ai 經常用于生成對抗網絡。
兩個鑒別器的損失函數的不同之處在于:局部鑒別器的損失函數 (L_a1) 僅僅反向傳播圖像缺失區域的損失梯度,而整體鑒別器的損失函數 (L_a2) 反向傳播整個圖像的損失梯度。
解析網絡的損失函數 L_p 是以像素為單位的 softmax 損失,softmax 也是很多其他分類神經網絡中常用的損失函數。
綜上所述,整個模型的損失函數定義如下:
對網絡的訓練,論文作者將過程劃分為三個階段。第一階段,僅僅用 L_r 來訓練網絡以重構圖像。第二階段,用局部對抗損失來對網絡進行微調。第三階段,使用全局對抗損失和語義正則化獲取最終結果。
三、實驗結果
正如本文第一張圖像所示,生成人臉修復算法有著非常好的結果。圖 7 展示了這個模型對不同種類的遮蓋有著很好的魯棒性,它和現實應用非常接近。無論什么形狀的遮蓋,網絡都能生成令人滿意的結果。
圖 7. 臉部修復。在每一組,左邊:被遮蓋部分的人臉輸入,右邊:修復結果
如圖 9 所示,作者還對比了遮蓋大小對結果的影響。他們發現,在遮蓋中等大小的時候,存在一個性能的局部最小值。因為當遮蓋是這個尺寸的時候,它很可能遮住一張人臉的五官之一 (如鼻子、眼睛......),而這種情況對這個模型來說是很難合成的。
圖 9:不同尺寸的正方形遮蓋下模型的性能評價。曲線展示了在 CelebA 數據集上的所有圖像中模型性能的平均值。
圖 12 展示了這個生成模型的局限性。首先,盡管這個模型包含了語義解析網絡,它在訓練過程中能夠獲得一些高層次的特征,但是它并不能識別人臉的位置和方向。所以,這個模型不能處理那些未對齊的人臉。第二,如上所述,對這個模型而言,生成人臉的局部要比生成整張人臉要困難,因為這個模型不能總是檢測到相鄰像素之間的空間關聯性。
圖 12 模型的局限性。上排:在沒對齊的圖像中,我們的模型未能成功地合成人眼。下排:仍難生成正確屬性的語義部分 (例如,紅色唇彩)。
五、結論
這個基于生成對抗網絡的模型具有兩個鑒別器和一個語義正則化網絡,能夠處理人臉修復任務。它能夠在隨機噪聲中成功地合成缺失的人臉部分。
六、點評
整體評價:
這篇論文提出了一個在人臉修復任務上有成功實例的生成模型。論文作者從數量和質量兩個方面評估了其模型,因此結果相當可信。
這篇論文的貢獻:
他們提供了一個設計生成對抗網絡模型的新方式:同時使用多個鑒別器達成不同目標。例如,傳統的自編碼器使用 L_2 距離來重構圖像,所以經常輸出非常平滑的結果。之前的工作經常使用從深度分類神經網絡中得到的映射向量來改善這個結果。但是在這篇論文中,作者證明使用不同的鑒別器也能夠得到更低的平滑度,從而結果更好。
論文作者把訓練過程分成了幾個階段,這對訓練生成對抗網絡而言確實是一個好想法。這就像人類學習的方式:人們首先學習一個物體的輪廓 (和這個項目中的圖像重建類似),然后一步一步地學習每一部分的細節 (類似于這個項目中第二階段的微調以及第三階段)。
論文作者還證明了「峰值信噪比 (PSNR)」和「結構性相似指數,SSIM」不足以評價重構或生成結果,因為這兩個指標是傾向于平滑和模糊的結果。如圖 3、表 1 和表 2 所示,子圖 M1 比 M2 和 M3 具有更高的 SSIM 和 PSNR。但是 M2 和 M3 明顯具有語義層面更加合理的生成結果。
這篇論文還證明,語義解析網絡能夠在生成對抗網絡的隨機噪聲上提供一些額外的 (語義) 限制,以得到更加逼真的結果。圖 10 還展示了這些限制使得生成對抗網絡能夠識別人臉的組成部分,因此生成對抗網絡能夠在不同的隨機噪聲中以相似的形狀和尺寸生成人臉的缺失部分,僅僅在一些細節上有差別,例如眉毛的陰影。
七、改進建議
這個模型一個局限是并不能處理一些未對齊的人臉,可以增加一個面部變形的網絡來將輸入的人臉規范化。
使用其他類型的圖像 (如建筑或風景) 來訓練這個模型,來判斷其對其他類型的修復任務是否具有魯棒性。
論文鏈接:https://arxiv.org/abs/1704.05838
【本文是51CTO專欄機構機器之心的原創文章,微信公眾號“機器之心( id: almosthuman2014)”】