Perceptual loss for Real time Style Transfer and Super-Resolution 論文閱讀

這篇論文Perceptual Losses for Real-Time Style Transfer and Super-Resolution由Stanford Uni 的Justion Johnson所寫, 27 Mar 2016 發表在arXiv

名詞解釋

LR: 低解析度圖像 low resolutional images

HR: 高解析度圖像 high resolutional images

SR: 超解析度圖像 Super-Resolution images

CNN: 卷積神經網路 Convolutional Networks

Perceptual loss: 感知損失

VGG-16: 16 層的VGG 網路

Style Transfer: 風格轉移問題

Super-Resolution: 超解析度問題

PSNR: 峰值信噪比 --- 越大說明信號損失越小

本文首先闡述了Style Transfer 和 Super Resolution 現階段的發展。 提出了一個重要的概念--"Perceptual Loss". 指出其他的paper用Pixel loss 來計算相似度, 也就是 l(sr,hr) = frac{1}{C	imes H	imes W}||sr-hr||_{2}^{2} 這個方法把Super -Resolution 的問題理解成了一個普通的MSE 回歸問題。這篇文章指出了Pixel Loss 存在的缺點,其中一個缺點為 Pixel Loss 不能判斷兩張圖像認知上的異同。

舉個例子:兩張一樣的圖像, 只不過圖像A 的所有像素都比圖像B往左偏移了一個像素。 這兩張圖像的Pixle loss 會非常大,但這兩張圖像應該被判定為相同。

然而用Perceptual loss 就能很好的克服這一問題。

Perceptual loss 借用了已經訓練好的VGG-16這一網路。 把VGG-16網路的中間層activations作為目標,計算兩個圖像經過VGG-16中間層的兩個activations 的歐氏距離。 可以用如下數學公式表達:

mathit{l}_{feat}^{phi}(HR,SR)=frac{1}{C_jH_jW_j}||  phi_j(SR)-phi_j(HR)||_2^2

其中:

  • j 是 VGG-16 的中間層代號,比如 j = 	ext{relu3\_3}或者  j = 	ext{Conv2\_3}
  •  phi_j(y) 指的是輸入圖像是y , VGG-16 網路的j 中間層的輸出。比如phi_	ext{relu3\_3}(HR)指的是HR 作為輸入,relu3_3層的輸出。
  • C_jH_jW_j phi_j(y) 的長寬高。

那麼Perceptual loss 這數學公式就可以理解為兩個圖像在VGG-16中間層j的歐氏距離。 越小,說明VGG-16網路認為,這兩張圖越接近。

這篇論文又提出了一個框架來解決Style Transfer 和 Super-Resolution 問題。可以用下圖來表示。

其中: 左邊的fW 指的是圖像變化網路,論文內使用了多層殘差網路,作用是生成圖像。 fW 里的weight 是我們要通過訓練讓網路學到的。 右邊的Loss net 是用來計算Perceptual loss 的,這裡使用VGG-16,而且weight 提前訓練好,我們不會改變weight。更新方法為Adam。

---

如果用這個網路解決 Super-Resolution 問題, X是LR,hat{y} 是Image Transform Net

以X作為輸入得到的輸出, y_c是原圖HR。不使用 y_sy_s 只會在style Transfer 里用到 ), 論文中j 使用的是relu2_2.

論文中提到的Images Transform Net 的具體細節如下:

左邊擴大4倍,右邊擴大8倍,

其中使用的residual network為

結果


推薦閱讀:

《大演算:機器學習的終極演演算法將如何改變我們的未來,創造新紀元的文明》
關鍵詞提取Part1(A Quick Review)
十分種讀懂KNN

TAG:計算機視覺 | 機器學習 | 人工智慧 |