筆記:APDrawingGAN: Generating Artistic Portrait Drawings From Face Photos With Hierarchical GANs

APDrawingGAN: Generating Artistic Portrait Drawings From Face Photos With Hierarchical GANs
APDrawing(藝術肖像畫)特點
1.樣式高度抽象,包含少量稀疏但連續的圖形元素
2.樣式轉換具有更強的語義約束,特別是面部特徵不應丟失或移位
3.APDrawing中的渲染在不同的面部部位之間不一致
4.某些輪廓無法精準的定位
5.藝術家會在原圖中放置一些與低級特徵無關的線條


文章貢獻
1.將人臉照片生成高質量、富有表現力的藝術肖像畫,對黑白線條分明的複雜髮型的繪製有更好的效果
2.繪製輸出分爲多個圖層,每個圖層有單獨的損失函數來控制。同時提出了四項損失的loss函數,包括對抗損失、像素級損失、一種新的DT損失、局部變換損失
3.從十個人臉數據集中使用了6655張面部照片來預訓練模型,並構建了一個藝術肖像畫數據集(包括140對高分辨率人臉圖像和對應的藝術肖像畫)

APDrawingGAN結構
不同於標準的GAN結構,文章爲G和D提出了分層的網絡結構,包括一個全局網絡和六個局部網絡。
六個局部網絡分別負責左眼、右眼、鼻子、嘴、頭髮和背景。通過融合網絡將全局網絡和局部網絡的輸出整合到一起。原理是畫師在繪畫時對不同的區域使用不同的畫法。由於單個CNN很難對多種特徵進行編解碼,分層結構可以更好的提取不同位置的特徵。
1. G的分層結構
G包括Gglobal、Gl(六個區域)、Gfusion,使用U-Net*設計。
*U-Net採用的是一個包含上採樣和下采樣的網絡結構。下采樣用來逐步展現環境信息,上採樣結合下采樣各層信息和上採樣的輸入信息還原細節信息,並逐步還原圖像經度。
Gl_eye_l,Gl_eye_r,Gl_nose,Gl_mouth是有三層下卷積和上卷積的U-Net。Gl_hair,Gl_bg是有四層下卷積和上卷積的U-Net。具有skip connection的U-Net可以合併多尺度特徵,並提供足夠的(但不是過度的)靈活性來學習藝術家在藝術肖像畫中針對不同面部區域的畫法。
在將所有局部G的輸出融合的時候在重疊區域上使用最小池化。最小池化可以有效保留每個區域的響應。
Gglobal有八層下卷積和上卷積的U-Net。Gfusion由一個平坦卷積塊、兩個殘差塊和一個最終卷積層構成。
並不添加顯式噪聲,而是在U-Net上使用dropout來作爲噪聲。
2. D的分層結構
D包括Dglobal、Dl(六個區域)。Dglobal爲全局判別器,Dl爲局部判別器。使用Pix2Pix中的Markovian discriminator來實現。與Pix2Pix的區別在於輸入的是整張圖片或局部區域。

損失函數
1.對抗損失
D判別輸入是否爲真
2.像素級損失
使圖片在像素尺度上更接近ground-truth
3. DT損失
使得線條和筆畫的學習效果更好。使用DT損失去解決輕微的未對準情況。利用了距離轉化(distance transform)和Chamfer matching。
它計算的是藝術家肖像畫中每個線條上的像素到生成肖像畫中相同類型(黑或白)的最近像素的距離之和,和生成肖像畫到藝術家肖像畫的距離之和的總和。
訓練兩個CNN θw和θb來檢測黑白線條。
Chamfer matching:計算生成圖片和ground-truth的IDT和I‘DT。
4.局部變換損失
局部G的輸出與ground-truth的差異

訓練
1.數據集
140對高分辨率人臉圖像和對應的藝術肖像畫,尺度歸一化到512*512。
2.預訓練初始化
從十個數據集找出6655張圖像,原人臉圖像用NPR生成結果並使用OpenFace添加下頜線,用於預訓練10個epochs。由於NPR生成的畫像是對齊的,預訓練時不使用DT損失。
3.正式訓練
70對樣本訓練,70對樣本測試。進行-10°到10°的旋轉和1~1.1倍的縮放進行數據增強。

標準
Frechet Inception Distance (FID)
較低的FID意味着較高圖片質量和多樣性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章