Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 論文筆記

 

Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 論文筆記網絡

ECCV 2016 函數

 

摘要: 許多經典問題能夠看作是 圖像轉換問題(image transformation tasks)。本文所提出的方法來解決的圖像轉換問題,是以監督訓練的方式,訓練一個前向傳播的網絡,利用的就是圖像像素級之間的偏差。這種方法在測試的時候很是有效,由於僅僅須要一次前向傳播便可。可是,像素級的偏差 沒有捕獲 輸出和 gt 圖像之間的 感知區別(perceptual differences)。學習

  與此同時,最近的工做代表,高質量的圖像能夠經過 perceptual loss function 來生成,不依賴於像素之間的差異,而是 高層圖像特徵之間的差異。圖像正是基於這種特徵之間的 loss 進行訓練的。這種方法能夠產生高質量的圖像,可是速度卻很慢,由於須要解決一個優化問題。測試

  本文中,咱們將二者的優點進行結合,訓練一個前向傳播的網絡進行圖像轉換的任務,可是不用 pixel-level loss function,而採用 perceptual loss function。在訓練的過程當中,感知偏差 衡量了圖像之間的類似性,在測試的時候能夠實時的進行轉換。優化

 

 

 

網絡的訓練:編碼

  網絡主要由兩個部分構成:一個是 image transformation network 一個是 loss network 用來定義 loss function。圖像轉換網絡 是一個殘差網絡,它將輸入圖像轉換爲輸出圖像 y^。每一個損失函數計算一個 scalar value 衡量輸出圖像和目標圖像之間的不一樣。圖像轉換網絡 是經過 SGD 進行訓練的,利用加權的損失函數,以下所示:spa

   

  爲了解決 per-pixel losses 的缺陷,而且容許咱們的 loss function 能夠更好的衡量 感知和語義的區別,咱們從最近的經過優化來產生圖像獲得了啓發。關鍵點在於:這些方法用到的網絡已是學習到編碼感知和語義信息,這些網絡都是在分類的數據集上進行訓練後的。咱們因此就用這些網絡來固定的做爲 loss network 來定義咱們的損失函數。scala

 

  剛開始看那個流程圖的時候,比較糊塗的是兩個 target,$y_c$ 和 $y_s$ 。實際上是這樣子的:orm

  對於每個圖像 x ,咱們有一個 content target $y_c$ 和 一個 style target $y_s$。blog

  

  對於 style transfer 來講,the content target $y_c$ 是輸入圖像 x,the output image y^ 應該 結合 the content x = $y_c$ 和 $y_s$ 的 style 。

  

  對於 超分辨來講,輸入圖像 x 是一個低分辨率的圖像,the content target $y_c$ 是一個 gt 高分辨率的圖像,style reconstruction loss 沒有用到。對於一種超分辨的因子,咱們就訓練一種網絡。

 

 


 

   實驗結果:

  

相關文章
相關標籤/搜索