“Perceptual Losses for Real-Time Style Transfer and Super-Resolution”論文出自斯坦福大學李飛飛團隊,發表於ECCV 2016
論文地址:https://arxiv.org/abs/1603.08155
補充材料地址:https://cs.stanford.edu/people/jcjohns/papers/eccv16/JohnsonECCV16Supplementary.pdf
簡介
圖像轉換問題(image transformation tasks),輸入一副圖像轉換成另一幅圖像輸出。現有方法來解決的圖像轉換問題,往往以監督訓練的方式,訓練一個前向傳播的網絡,利用的就是圖像像素級之間的誤差。這種方法在測試的時候非常有效,因為僅僅需要一次前向傳播即可。但是,像素級的誤差沒有捕獲輸出和ground-truth圖像之間的感知區別(perceptual differences)。
最近的研究工作表明,高質量的圖像可以通過定義和優化perceptual loss函數來生成,該損失函數基於使用預訓練好的網絡提供的高層的特征。
本文中,我們將兩者的優勢進行結合,訓練一個前向傳播的網絡進行圖像轉換的任務,但是不用 pixel-level loss function,而采用 perceptual loss function。在訓練的過程中,感知誤差衡量了圖像之間的相似性,在測試的時可實時運行。
網絡架構
網絡架構的設計是本文的亮點,網絡主要由兩個部分構成:一個是 image transformation network 一個是 loss network 用來定義 loss function。
圖像轉換網絡是一個殘差網絡,用於風格遷移和超分辨的網絡結構有所不同,可參考論文的補充材料,具體的圖像轉換網絡如下:
在使用中,Transform網絡用來對圖像進行轉換,它的參數是變化的,而Loss網絡,則保持參數不變,Transform的結果圖,風格圖和內容圖都通過Loss Net得到每一層的feature激活值,並以之進行Loss計算
損失函數
image trans- formation network將輸入圖像轉換為輸出圖像 y^。每個損失函數計算一個 scalar value 衡量輸出圖像和目標圖像之間的不同。圖像轉換網絡 是通過 SGD 進行訓練的,利用加權的損失函數,如下所示:
對於 style transfer 來說,the content target yc 是輸入圖像 x,the output image y^ 應結合 the content x = yc 和 ys 的 style
對於超分辨來說,輸入圖像 x 是一個低分辨率的圖像,the content target yc 是一個 gt 高分辨率的圖像,style reconstruction loss沒有用到。對於每一種超分辨的因子,需要單獨訓練。
Feature Reconstruction Loss
不同層的重建效果不同,可以通過實驗結果看到,高層的重建效果可以保留圖像內容和整體的空間結構,但是顏色,紋理,確切的形狀不能保留。
Style Reconstruction Loss
構建了一個Gram矩陣,即i通道的feature map與j通道的feature map進行內積,用以衡量兩個feature map之間的差異度,從而可以從兩張圖的Gam矩陣入手,構建loss函數。
兩張圖的size即使完全不一致也可以計算出該style loss,因為Gram矩陣計算時基於的是卷積層的feature map的總差異。
重建效果
實驗結果
總結
風格遷移效果與文中的參考文獻[10]類似,但是快了3個數量級。
使用perceptual loss的圖像超分辨率獲得了更好的視覺效果。
作者在文章末尾提出了,打算把perceptual loss應用於其他image transformation tasks中去,例如圖像着色和語義分割。並嘗試使用不同的lose network以驗證對transform network的影響。
參考:
https://www.cnblogs.com/wangxiaocvpr/p/6298179.html
https://blog.csdn.net/stdcoutzyx/article/details/54025243
————————————————
版權聲明:本文為CSDN博主「騎豬撞地球J」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_43840215/article/details/89761549