Paper Reading Note
URL:
https://cg.cs.tsinghua.edu.cn/papers/CVPR-2019-Drawing.pdf
TL;DR
CVPR2019一篇來自清華大學的文章,主要設計了一種GAN的結構APDrawingGAN,實現了利用GAN做人臉肖像畫生成。
Motivation
肖像畫不同於一般的輪廓,在保證人臉各部位特徵的同時還需要具備一定的抽象美:
從左向右爲原圖 NPR模型 NPR加上下巴輪廓引導 APDrawingGAN
而SOTA的GAN方法在做這個任務時要麼就會改變人臉部特徵(1-4),要麼會犯錯(5-6):
Algorithm
Generator部分
Generator採用的結構是global net+local net。global部分用的是一個8層*2的U-Net結構,用於提取圖片的全局特徵。local部分將左眼等六個local屬性單獨提取出來,用了3層*2和4層*2的U-Net,這裏對每一個local feature都添加了一個L1的loss:
提取之後通過一個fusion net將二者結合,得到fake image。
計算這裏的損失是本文的一個亮點。由於與以往的任務不同,本文的任務目標是黑色線條構成,因此如果計算pixel-wise的loss會有較大的誤差。這裏作者用了一個DT Loss:
其中用於表示兩張圖的distance的函數:
這裏定義的意思就是對於每個pixel,去找離他最近的原圖中pixel,計算之間的的距離。
Discriminator部分
與Gen部分類似,也分成了global和local部分,最後將兩部分結合求一個true/fake損失。
Dataset
由於這個模型是需要pairs作爲ground truth,且爲了保證分佈的一致性,作者僱傭了一個專業的畫師畫了140張圖作爲訓練集(這裏真的夠嗎?)。由於不需要label標籤,作者在各個論文數據集中選取了6655張清晰人臉圖像作爲測試集。
Results
作者修改模型各部分參數的結果:
與SOTA方法對比:
當然,目前沒有SOTA的研究是針對這個任務的,所以這個對比的說服性不夠,不過直觀上看起來確實效果還可以。
Thoughts
本篇論文一個亮點在於提出了global和feature結合的Generator,能夠看出在把握細節特徵上也做的很出色。另一個亮點在於提出了針對於該任務的DT Loss,在線條構成的圖上更適用。
Demo
作者做了一個小程序demo可以看效果。