1. 程式人生 > >生成人臉修復模型:同時使用兩個鑑別器,直接合成逼真人臉

生成人臉修復模型:同時使用兩個鑑別器,直接合成逼真人臉

近日,加利福尼亞大學和 Adobe Research 在 arXiv 上聯合發表了一篇名為《生成人臉修復(Generative Face Completion)》的論文,論文中的模型包括包括一個生成器、兩個鑑別器以及一個語義解析網路,可針對缺失影象直接生成區域性或整張的逼真影象。此論文已被 CVPR 2017 接收,機器之心對該篇論文做了扼要介紹和解讀。論文連結請移步文末。

論文作者及單位:

1. 簡介

這篇論文提出了一個用來進行人臉修復的深度生成模型,如下圖所示,針對一副面部圖片中的缺失區域,這個模型可以直接修復人臉。

與之前很多其他工作不同,針對人臉修復任務,這篇論文的作者同時使用了兩個鑑別器來構建整個模型,因此不論是區域性影象還是整個影象,看上去都更加逼真。

2. 方法

2.1 模型結構

如上圖所示,整個模型包括一個生成器、兩個鑑別器以及一個語義解析網路。

這個專案中的生成器是一個基於 VGG-19 的自動編碼器。此外論文作者還構造了兩個卷積層,並在頂部有一個池化層,然後在後面加了一個全連線層作為編碼器。解碼器具有反池化層,結構與編碼器對稱。

區域性鑑別器被用來判別影象缺失區域中合成的影象補丁是否真實。整體鑑別器則用來判別整張影象的真實性。這兩個鑑別器的架構相似於論文《用深度卷積生成對抗網路來進行非監督表徵學習》中的所述架構。

語義解析網路用於改進上述生成對抗網路生成的圖片,語義解析網路是基於論文《使用全連線卷積編碼-解碼網路進行物體輪廓檢測》,因為這種網路能夠提取到影象的高水平特徵。以這種方式,生成的影象補丁 (人臉部分) 會具有更加自然的形態和尺寸。

2.2 損失函式

生成器中的重建損失函式 L_r 計算生成器的輸出和原始影象之間的 L_2 距離。

兩個鑑別器共享定義相同的損失函式 L_ai,如下圖方程所示,L_ai 經常用於生成對抗網路。

兩個鑑別器的損失函式的不同之處在於:區域性鑑別器的損失函式 (L_a1) 僅僅反向傳播影象缺失區域的損失梯度,而整體鑑別器的損失函式 (L_a2) 反向傳播整個影象的損失梯度。

解析網路的損失函式 L_p 是以畫素為單位的 softmax 損失,softmax 也是很多其他分類神經網路中常用的損失函式。

綜上所述,整個模型的損失函式定義如下:

對網路的訓練,論文作者將過程劃分為三個階段。第一階段,僅僅用 L_r 來訓練網路以重構影象。第二階段,用區域性對抗損失來對網路進行微調。第三階段,使用全域性對抗損失和語義正則化獲取最終結果。

3. 實驗結果

正如本文第一張影象所示,生成人臉修復演算法有著非常好的結果。圖 7 展示了這個模型對不同種類的遮蓋有著很好的魯棒性,它和現實應用非常接近。無論什麼形狀的遮蓋,網路都能生成令人滿意的結果。

  

圖 7. 臉部修復。在每一組,左邊:被遮蓋部分的人臉輸入,右邊:修復結果

如圖 9 所示,作者還對比了遮蓋大小對結果的影響。他們發現,在遮蓋中等大小的時候,存在一個性能的區域性最小值。因為當遮蓋是這個尺寸的時候,它很可能遮住一張人臉的五官之一 (如鼻子、眼睛......),而這種情況對這個模型來說是很難合成的。

  

圖 9:不同尺寸的正方形遮蓋下模型的效能評價。曲線展示了在 CelebA 資料集上的所有影象中模型效能的平均值。

圖 12 展示了這個生成模型的侷限性。首先,儘管這個模型包含了語義解析網路,它在訓練過程中能夠獲得一些高層次的特徵,但是它並不能識別人臉的位置和方向。所以,這個模型不能處理那些未對齊的人臉。第二,如上所述,對這個模型而言,生成人臉的區域性要比生成整張人臉要困難,因為這個模型不能總是檢測到相鄰畫素之間的空間關聯性。

圖 12 模型的侷限性。上排:在沒對齊的影象中,我們的模型未能成功地合成人眼。下排:仍難生成正確屬性的語義部分 (例如,紅色脣彩)。

5. 結論

這個基於生成對抗網路的模型具有兩個鑑別器和一個語義正則化網路,能夠處理人臉修復任務。它能夠在隨機噪聲中成功地合成缺失的人臉部分。

6. 點評

整體評價:

這篇論文提出了一個在人臉修復任務上有成功例項的生成模型。論文作者從數量和質量兩個方面評估了其模型,因此結果相當可信。

這篇論文的貢獻:

他們提供了一個設計生成對抗網路模型的新方式:同時使用多個鑑別器達成不同目標。例如,傳統的自編碼器使用 L_2 距離來重構影象,所以經常輸出非常平滑的結果。之前的工作經常使用從深度分類神經網路中得到的映射向量來改善這個結果。但是在這篇論文中,作者證明使用不同的鑑別器也能夠得到更低的平滑度,從而結果更好。

論文作者把訓練過程分成了幾個階段,這對訓練生成對抗網路而言確實是一個好想法。這就像人類學習的方式:人們首先學習一個物體的輪廓 (和這個專案中的影象重建類似),然後一步一步地學習每一部分的細節 (類似於這個專案中第二階段的微調以及第三階段)。

論文作者還證明了「峰值信噪比 (PSNR)」和「結構性相似指數,SSIM」不足以評價重構或生成結果,因為這兩個指標是傾向於平滑和模糊的結果。如圖 3、表 1 和表 2 所示,子圖 M1 比 M2 和 M3 具有更高的 SSIM 和 PSNR。但是 M2 和 M3 明顯具有語義層面更加合理的生成結果。

這篇論文還證明,語義解析網路能夠在生成對抗網路的隨機噪聲上提供一些額外的 (語義) 限制,以得到更加逼真的結果。圖 10 還展示了這些限制使得生成對抗網路能夠識別人臉的組成部分,因此生成對抗網路能夠在不同的隨機噪聲中以相似的形狀和尺寸生成人臉的缺失部分,僅僅在一些細節上有差別,例如眉毛的陰影。

改進建議

這個模型一個侷限是並不能處理一些未對齊的人臉,可以增加一個面部變形的網路來將輸入的人臉規範化。

使用其他型別的影象 (如建築或風景) 來訓練這個模型,來判斷其對其他型別的修復任務是否具有魯棒性。

參考文獻

[1] Radford, Alec, Luke Metz, and Soumith Chintala. "Unsupervised representation learning with deep convolutional generative adversarial networks." arXiv preprint arXiv:1511.06434 (2015).

[2] Yang, Jimei, et al. "Object contour detection with a fully convolutional encoder-decoder network." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.

論文連結:https://arxiv.org/abs/1704.05838