論文:Restoring An Image Taken Through a Window Covered with Dirt or Rain
首頁:https://cs.nyu.edu/~deigen/rain/python
傅雪陽首頁:https://xueyangfu.github.io/
廈門大學智能數據分析與處理實驗室:
https://xmu-smartdsp.github.io/git
在咱們拍攝照片的時候會遇到透過玻璃拍攝的場景,如窗戶、車窗,或者透過玻璃自拍等,而玻璃上的污漬會影響照片的效果,這篇論文針對這類透過玻璃拍攝的照片,進行污跡或者雨漬的去除。github
CNN結構同LeNet,函數表示:微信
$x$ 表示$N × M × 3$的RGB輸入圖像,激活函數使用tanh,第一個卷積層使用「valid」填充,卷積核大小爲16X16(果真年代久遠,還有偶數的大卷積核);最後一層使用「full」填充,卷積核大小爲8;中間使用$1*1$的卷積,通道數爲512,共兩個中間層(L=3)。因此:W1 :16X6X3X512,W2:1X1X512X512,W3:8X8X512X512。網絡
損失函數採用輸入標籤和網絡輸出的MSE:ide
輸入爲64X64大小的圖像塊,輸出大小爲56X56,作MSE時,和GT中間56X56對應像素相減。採用隨機梯度降低(SGD)更新可訓練參數:函數
$\eta$爲學習率,參數初始化使用均值爲0,方差爲0.001的正態分佈,偏置b初始化爲0,學習率衰減因子:0.001,不使用動量和權重正則化。性能
測試環境:Matlab + Nvidia GTX 580;耗時:3888 × 2592 彩色圖像60s,1280 × 720彩色圖像7s。學習
論文主要借鑑上一篇文章的網絡結構,設計了一個改進的單圖像去雨CNN結構,主要改進點:測試
CNN結構函數表示:
做者把雨滴視爲圖像高頻部分,經過低通濾波(引導濾波、雙邊濾波或者滾動濾波)將有雨圖I和其無雨圖標籤J分別分爲基礎層和細節層:
基礎層爲平滑後的圖像,有:$I_{base} ≈ J_{base}$,因此只須要創建兩個細節層的映射關係便可,損失函數由原來預測圖與標籤圖的MSE變爲了:
訓練時,參數設置同第一篇論文一致,輸入64X64圖像塊,輸出56X56大小圖像,
網絡訓練完成後,去雨結果圖像能夠直接經過如下運算獲得:
可是在雨比較大的狀況下,會出現霧的狀況,影響視覺效果,因此對基礎層和輸出的細節層作了圖像加強:
論文在上一篇的基礎上進行了進一步優化,設計了一個改進的單圖像去雨CNN結構,主要改進點:
CNN結構函數表示:
其中,
L爲CNN總層數,*表示卷積操做,BN表示batch normalization,$\sigma$表示激活函數ReLU,不使用池化操做。
利用引導濾波將雨跡圖劃分爲細節層和基礎層(同上一篇),
損失函數:
參數設置:層數L=26,優化器:SGD,權重衰減因子$10^{-10}$,動量0.9,batch size:20,初始學習率:0.1,迭代100K/200K時除以10,共迭代210K次,卷積核大小爲3,個數爲16。
一樣採用負殘差映射的思想設計了一個CNN單圖像去雨網絡ResGuideNet,主要貢獻點:
CNN結構函數形式:
特徵複用:經過密集鏈接複用每個Block輸出的負殘差特徵。
循環計算:如結構圖左下角左下角所示,爲平衡模型參數和性能,每一個Block內部的兩個卷積層採用循環計算的策略加深Block深度,函數表示:
爲了不結構加深帶來的梯度消失的問題,將Block第一個 Conv+LReLU的輸出加到每一個子循環中:
塊間融合:如結構圖右下角所示:經過集成學習的思想將不一樣Block的預測結果concatenate在一塊兒,最後經過1X1卷積獲得最後的結果。
損失函數:對於每個Block,採用$L_2$+SSIM loss 損失函數:
M個Block和最後merge輸出的總損失:
實驗細節:環境:python + TensorFlow、NVIDIA GeForce GTX 1080(8GB),初始化:Xavier,優化器:RMSProp,初始學習率: 0.001,batch size:16,迭代次數:50000,每層卷積爲:16個3X3,輸出層卷積,3個1X 1。
爲了使去雨網絡更輕量化,使其適用於移動設備,做者提出了輕量級的金字塔去雨網絡LPNet,參數量少於8K,主要貢獻:
CNN結構函數形式:
a、構建拉普拉斯金字塔
b、特徵提取網絡
c、循環模塊
d、重建高斯金字塔
做者以前提出方法(方案2、方法三)經過引導濾波將圖像分解成基礎層和細節層,運用細節層訓練能夠有效減少優化空間,可是引導濾波針對雨量比較厚的圖像達不到很好的細節提取效果。因而,做者使用拉普拉斯金字塔將圖像分解爲不一樣尺度的圖像金字塔,最後融合不一樣尺度圖片的處理結果。
損失函數:
實驗細節:
5個尺度的拉普拉斯金字塔:[0.0625, 0.25, 0.375, 0.25, 0.0625]爲構建高斯金字塔的固定平滑核。
全部子網絡結構相同,卷積核個數不一樣,$W^{0,1,3,4}$卷積核大小爲3x3,W^2卷積核大小爲1,每一個子網絡循環block次數T = 5,激活函數LReLUs,參數爲:0.2。
使用生成的雨圖,包含大雨圖像和小雨圖像,輸入大小$80 × 80$ 圖像塊,Adam優化器,batch size爲10,學習率:0.001,epoch爲3。
想了解更多,請關注微信公衆號:AI搞事情