1. 程式人生 > >【論文詳解】DPED:DSLR-Quality Photos on Mobile Devices with Deep Convolutional Networks

【論文詳解】DPED:DSLR-Quality Photos on Mobile Devices with Deep Convolutional Networks

目錄

1.論文概述

2.效果展示

3.網路內容介紹

3.1作者的貢獻

3.2 網路資料

3.3 網路結構

3.4 損失函式

3.4.1顏色損失。

3.4.2紋理損失textures loss。

3.4.3內容損失 content loss。 

3.4.4梯度損失 total variation loss。


1.論文概述

這是一篇關於影象增強的神經網路論文,將手機照片作為輸入,將DSLR相機拍出的照片作為target,通過網路使其學習到一個對映函式,希望手機能拍出相機照片的效果。論文地址基於TensorFlow的github程式碼

2.效果展示

上圖中右邊是原始圖,左邊是增強後的圖,可以看出效果還是顯著的。言歸正傳,下面一一介紹其細節。

3.網路內容介紹

3.1作者的貢獻

  • 提出了一個新穎的端對端的方式,使其學習到從手機到DSLR相機的一種特徵對映。
  • 作者貢獻了大量的資料集,有6k張使用DSLR相機採集的照片,以及三種不同的手機照片。
  • 提出了多種loss函式融合,有content loss,textures loss,color loss,tv loss,有效的對影象質量進行評估。這裡多種loss函式相當於實現了不同的影象增強(紋理增強,顏色增強,內容增強,細節增強)
  • 實驗客觀的評估了其演算法,表明演算法能夠使手機照片生成DSLR相機質量的影象

3.2 網路資料

作者為了得到影象對也就是質量差的手機照片與高質量的DSLR影象,作者同時將三種不同的手機與相機進行同時拍攝。所以的照片均在白天拍攝,雖然同時同地拍攝,但仍然難保證影象對是完美的一模一樣對齊。為了得到對齊的影象對,採用了SIFT匹配演算法。而網路的輸入是採用解析度是100x100的三通道patch塊,作者提出大的影象塊對結果也沒多大的提升,而且小的patch還可以減少計算資源。最終每個pathch作為網路的輸入以及之前通過的匹配演算法最終使得每個影象對的偏移畫素不超過5個。

3.3 網路結構

可以看出整個網路的框架是個基於GAN對抗網路的影象增強。先看影象增強網路也就是GAN的生成網路,將三通道的影象patch作為輸入,經過4個殘差block後,每個殘差block裡面有兩個卷積層。經過殘差block後再經過了三個卷積層,最後一個卷積層的特徵圖是三通道的。整個增強網路一共有12層。同增強網路得到的enhanced image可以計算出兩種損失函式,color loss和tv loss.其中color loss還需要target影象與enhanced image一起作為參考計算得到。target這裡就是DSLR的影象patch。

根據作者的程式碼裡下面的判別網路的輸入是單通道的灰度圖。但是此單通道的灰度圖是上面增強網路生成的影象與target影象一起融合生成的,至於融合的方式各有不同,作者是採用權重方式,還可以通過將兩圖進行concatate起來,多通道輸入。下面的判別網路,有5層卷積層,一個全連線,全連線的神經元是1024,並最後生成2維的概率向量。[batchsize,2].此時就相當於二分類問題了,由於判別網路有target作為監督,其原型就是CGAN了。得到二分類的概率後由交叉熵可以得到對抗網路的損失,此損失用於對抗網路的反向傳播求導。剛才得到的交叉熵損失同時可以作為textures loss。

最下面還可以看到還有一個預訓練的VGG網路,此網路用於特徵提取,分別將增強網路產生的影象和target分別輸入,此網路用於得到content loss,其原則就是,如果enhenced image與target很接近的話,那麼都通過VGG網路提取特徵後兩者所提取的特徵也就是很接近的,此次用歐式距離來評價content loss。至此幾個損失函式都介紹完了。

不過最終的增強網路的總損失為contentLoss colorLoss,tvLoss,texturesLoss相加和。將此損失作為增強網路的損失進行梯度下降方向傳播。下面再一一介紹其各種損失函式。

3.4 損失函式

3.4.1顏色損失。

 

顏色損失,分別將增強網路得到的enhenced image與target先進行高斯模糊,也就是去掉部分的邊緣細節紋理部分,剩下的能作為比較的就是對比度,顏色了。採用高斯核處理後度量顏色損失的原因是人的視覺對顏色變化不是特別敏感,顏色在區域性比較平滑。所以模糊核消除了紋理部分,內容部分,留下color作為評價也就是color loss。同時color loss(加了個模糊核)也有個好處,就是其能夠保證影象的區域性平移不變性。以下圖為例

上圖橫座標是影象的畫素偏移量,縱座標是其對應的誤差,可以明顯的看出在有畫素偏移個數大於5時,colorloss明顯的比mseloss要小,一般影象的評價用mse對每個畫素進行評價,此時用colorloss看出,即使影象由畫素的偏移,colorloss作為損失後對模型更魯棒,表現出來的就是其誤差夠小,至少是比用Mse評價的標準要小。

3.4.2紋理損失textures loss。

作者在對抗網路裡面沒有采用預定義的損失函式,而選擇一種比較好的損失並且還可以用來評價影象的紋理資訊。損失函式用交叉熵函式。作者在對抗網路裡進行評價紋理損失,將灰度圖作為輸入,其原因是影象的紋理資訊與灰度空間分佈有關。具體可以參考紋理與灰度的關係。通過最終對抗網路最終達到平衡以間接的保證增強網路的紋理資訊。

 

3.4.3內容損失 content loss。 

   

分別將增強網路的影象與target影象均輸入到VGG網路中用於提取特徵,其原理是如果增強網路學習到的與target影象很像,則經過VGG網路提取特徵後兩者特徵也很接近。內容損失是基於VGG網路提取特徵進行評價。與直接進行畫素一對一進行評價其內容外,可以選擇一個更好的損失函式可以對影象的多方面比如紋理啊,影象的感知質量等進行特徵的表達。能夠儘量的保證影象的語義資訊,而僅僅只考慮影象的畫素級別一一對有時並不能對影象內容進行量化。作者通過VGG網路提取特徵後進行歐式距離評價。

3.4.4梯度損失 total variation loss。

 

    梯度損失也就是整體上對影象進行微小的平滑,同時有效的去除椒鹽噪聲。

  • 總損失 =weights(contenloss +texturesloss +colorloss+tvloss ),總損失為以上各損失的加權和,將此總損失作為增強網路的損失進行約束增強網路,使其產生一種很好的由手機到DSLR相機的對映。

4. 作者論文網路還存在的缺陷

    作者通過增強後的影象顯示,部分影象存在一些不可避免的缺陷。其中兩個典型的缺陷出現在增強後的影象上。 

  • 顏色偏差,如下圖第一張圖片(第一張為原影象,第二行為增強後的影象)
  • 對比度提高(下圖第二張圖片)

   儘管這些缺陷經常引起看起來還算比較合理的視覺效果,但有時候會導致影象內容的改變看起來像是人工的偽點。

  另外一個顯著的缺陷是,由於GAN的自然特點,當源影象有噪聲時,增強後的影象中噪聲將會被放大.(如下圖 第二張和第三張影象),不過一般手機拍照出的低質量影象也很少有噪聲。

   最後,由於此演算法在源影象和目標影象存在強的對應匹配關係,即需要強監督學習,這對於其他的相機來說是比較繁瑣的,即需要一種弱監督的方式,同樣,他們課題組提出了另外一篇paperWESPE: Weakly Supervised Photo Enhancer for Digital Cameras,期待下一期對此paper的講解。