論文筆記 Generative Face Completion


 

這篇paper將巧妙地將四個loss函數結合在一起,其中每一個loss的功能不同。但這篇paper不夠elegant的地方也是loss太多!在本文中,我采用散文的寫作方法談談自己對這篇paper的理解,其實質就是“想到哪,寫到哪!”

 

如上圖所示,(a)輸入圖像;(b)用隨機square模板遮住輸入圖像一部分;(c)復原得到的圖像。理想狀態下,我們希望復原出的圖像與輸入圖像完全一致(視覺上 and 語義上)。哈哈,這個不是很簡單嗎,我們可以用L2范數regularize輸入圖像與輸出圖像,理想狀態下,輸入圖像與復原出的圖像完全一致!恭喜你,回答正確!作者也這樣試了試,結果如Figure 3 (c)所示。

哎呀!理想與現實差距有點大哦!仔細觀察一下Figure 3 (c),我們可以得出結論:復原結果模糊、復原得到的patch有點像、復原patch的邊緣清晰可見。其實,這個也很好理解,L2范數傾向於去平均,這樣會丟失很多高頻、低頻信息,使得圖像較為模糊、細節丟失。簡而言之,復原圖像與真實圖像差距有點大!換句話說,就是復原圖像看起來不真實!

 

這時候我腦海中浮現出一個概念,GAN的判決器不就是判定隨機噪聲生成圖像(或者patch)是否真實的嗎?哈哈,我們可以把這個思路搬過來哦!如果判決器判斷不出來復原的圖像是否是原圖,這不就表明,復原得到的圖像與原始圖像一致嗎?當然了,L2 loss還是必須的(可以理解為一個多任務學習)。說干就干,我直接判斷生成的patch的是否真實,於是得到了Figure 3 (d)。看起來比之前好多了哦!細細看來,發現這個圖片不是很真實,生成的patch在整幅圖像中顯得不協調!

 

不要灰心!生成的patch在整幅圖像中看起來不協調,換一種理解方式就是:整幅圖像看起來不真實嗎?索性我在上述兩個loss的基礎上,再加上一個生成的全局圖像是否真實的判定。這樣是不是就保證了生成的patch在整幅圖像中看起來比較自然些呢?請看Figure 3 (f)美女的大致輪廓已經顯現,看起來也自然的多了!

 

等等!對於我這個美女控來說,怎么允許美女的臉頰有褶皺呢,參看Figure 3 (f)?男的吧,我忍了!哈哈!怎么辦呢?我已經耗盡腦汁了!在山重水復疑無路時,我腦海中忽然浮現出一句詩“橫看成嶺側成峰”。於是,我決定大膽試試,遮住美女或者帥哥的一只眼睛,看看復原的這只眼是不是與另外一只眼搭配呢?請看下圖

在(c)中,我們可以明顯感覺出,所說兩只眼睛單獨看沒有問題,但是放在帥哥的臉上,怎么那么不自然呢?給人的感覺怪怪的!我們怎么才能使得他們協調一些呢?這個問題可理解為:保證兩只眼睛大小一致、五官比例勻稱等一些審美上的要求吧!

 

咯咯!這怎么和語義分割概念那么相似呢?假如,我能夠事先知道一些五官布局之類的語義,這不就幫我解決上述問題了嗎?說干就干,就給她引入語義信息!!!結果如(d),真是“千呼萬喚始出來”哦!總算得到了讓我滿意的“帥哥”、“美女”圖像!!!

 

說了這么多,我究竟在說的是什么呢?你是在搞圖像處理呢,還是在干啥?恩,不能不務正業了,下面給您放出論文中的模型

是不是看着很熟悉的樣子哦!Global discriminator就是判斷復原圖像是否真實的;local discriminator就是判斷復原圖像patch是否真實的。Parsing network那個是使得得到的人臉五官勻稱、整齊的!至於L2 重構,您就自己意會一下吧!這不就是將我剛剛分析的幾個要素整合到CNN網絡中了嗎?原理建模還可以這么理解哦!

 

明白了這篇paper的基本思路之后,下面就是在特定的數據集上訓練我們的網絡,當然了這個數據集必須包含作者需要的信息:GT parsing。作者選取的數據集是,CelebA。實際上,訓練好這個網絡之后,我們可以拿自己的人臉試試哦,看看是變帥了呢,還是變亮了呢?

 

說句話外話,Loss函數太多,每一個loss函數的權值怎么選,這個的確是個“黯然銷魂”的問題,作者只是給出了權重,但是沒有給出一些原則哦!如果您對鳥臉比較感興趣,估計您得自己選擇這些參數了哦!也許,您一下子就能選到了最佳組合,也許您在糾結到底什么權重是合適的呢?

 

以上就是自己一些粗淺的看法,不當之處,敬請各位批評指正!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM