从系列去雨论文看如何创新
論文:Restoring An Image Taken Through a Window Covered with Dirt or Rain
 首頁(yè):https://cs.nyu.edu/~deigen/rain/
傅雪陽(yáng)首頁(yè):https://xueyangfu.github.io/
 廈門大學(xué)智能數(shù)據(jù)分析與處理實(shí)驗(yàn)室:
 https://xmu-smartdsp.github.io/
1. Restoring an image (ICCV 2013)
在我們拍攝照片的時(shí)候會(huì)遇到透過(guò)玻璃拍攝的場(chǎng)景,如窗戶、車窗,或者透過(guò)玻璃自拍等,而玻璃上的污漬會(huì)影響照片的效果,這篇論文針對(duì)這類透過(guò)玻璃拍攝的照片,進(jìn)行污跡或者雨漬的去除。
CNN結(jié)構(gòu)同LeNet,函數(shù)表示:
xxx 表示N×M×3N × M × 3N×M×3的RGB輸入圖像,激活函數(shù)使用tanh,第一個(gè)卷積層使用“valid”填充,卷積核大小為16X16(果然年代久遠(yuǎn),還有偶數(shù)的大卷積核);最后一層使用“full”填充,卷積核大小為8;中間使用1?11*11?1的卷積,通道數(shù)為512,共兩個(gè)中間層(L=3)。所以:W1 :16X6X3X512,W2:1X1X512X512,W3:8X8X512X512。
損失函數(shù)采用輸入標(biāo)簽和網(wǎng)絡(luò)輸出的MSE:
輸入為64X64大小的圖像塊,輸出大小為56X56,做MSE時(shí),和GT中間56X56對(duì)應(yīng)像素相減。采用隨機(jī)梯度下降(SGD)更新可訓(xùn)練參數(shù):
η\etaη為學(xué)習(xí)率,參數(shù)初始化使用均值為0,方差為0.001的正態(tài)分布,偏置b初始化為0,學(xué)習(xí)率衰減因子:0.001,不使用動(dòng)量和權(quán)重正則化。
測(cè)試環(huán)境:Matlab + Nvidia GTX 580;耗時(shí):3888 × 2592 彩色圖像60s,1280 × 720彩色圖像7s。
2. Clearing the Skies (TIP 2017)
論文主要借鑒上一篇文章的網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)了一個(gè)改進(jìn)的單圖像去雨CNN結(jié)構(gòu),主要改進(jìn)點(diǎn):
- CNN映射有雨圖和去雨圖的細(xì)節(jié)層,而不是直接在原圖建立映射關(guān)系。
 - 未將網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜化,而是通過(guò)雨滴先驗(yàn)知識(shí)進(jìn)行圖像預(yù)處理,改變了優(yōu)化的目標(biāo)函數(shù)。
 
網(wǎng)絡(luò)結(jié)構(gòu)
CNN結(jié)構(gòu)函數(shù)表示:
作者把雨滴視為圖像高頻部分,通過(guò)低通濾波(引導(dǎo)濾波、雙邊濾波或者滾動(dòng)濾波)將有雨圖I和其無(wú)雨圖標(biāo)簽J分別分為基礎(chǔ)層和細(xì)節(jié)層:
基礎(chǔ)層為平滑后的圖像,有:Ibase≈JbaseI_{base} ≈ J_{base}Ibase?≈Jbase?,所以只需要建立兩個(gè)細(xì)節(jié)層的映射關(guān)系即可,損失函數(shù)由原來(lái)預(yù)測(cè)圖與標(biāo)簽圖的MSE變?yōu)榱?
訓(xùn)練時(shí),參數(shù)設(shè)置同第一篇論文一致,輸入64X64圖像塊,輸出56X56大小圖像,
圖像增強(qiáng)處理
網(wǎng)絡(luò)訓(xùn)練完成后,去雨結(jié)果圖像可以直接通過(guò)以下運(yùn)算得到:
但是在雨比較大的情況下,會(huì)出現(xiàn)霧的情況,影響視覺(jué)效果,所以對(duì)基礎(chǔ)層和輸出的細(xì)節(jié)層做了圖像增強(qiáng):
3. deep detail network (CVPR 2017)
論文在上一篇的基礎(chǔ)上進(jìn)行了進(jìn)一步優(yōu)化,設(shè)計(jì)了一個(gè)改進(jìn)的單圖像去雨CNN結(jié)構(gòu),主要改進(jìn)點(diǎn):
- 建立真實(shí)圖像和雨圖之間的負(fù)殘差映射,再次縮小映射范圍,優(yōu)化映射空間。
 - 使用殘差結(jié)構(gòu),可以使用更深的網(wǎng)絡(luò)建立映射關(guān)系,并通過(guò)先驗(yàn)知識(shí),輸入圖像細(xì)節(jié)層。
 
CNN結(jié)構(gòu)函數(shù)表示:
其中,
L為CNN總層數(shù),*表示卷積操作,BN表示batch normalization,σ\sigmaσ表示激活函數(shù)ReLU,不使用池化操作。
利用引導(dǎo)濾波將雨跡圖劃分為細(xì)節(jié)層和基礎(chǔ)層(同上一篇),
損失函數(shù):
參數(shù)設(shè)置:層數(shù)L=26,優(yōu)化器:SGD,權(quán)重衰減因子10?1010^{-10}10?10,動(dòng)量0.9,batch size:20,初始學(xué)習(xí)率:0.1,迭代100K/200K時(shí)除以10,共迭代210K次,卷積核大小為3,個(gè)數(shù)為16。
4. Residual-Guide Network (ACM MM 2018)
同樣采用負(fù)殘差映射的思想設(shè)計(jì)了一個(gè)CNN單圖像去雨網(wǎng)絡(luò)ResGuideNet,主要貢獻(xiàn)點(diǎn):
- 通過(guò)由淺入深的Block結(jié)構(gòu),獲取由粗到細(xì)獲取負(fù)殘差輸出。
 - 通過(guò)聯(lián)合損失優(yōu)化每個(gè)Block輸出,根據(jù)集成學(xué)習(xí)的思想融合所有負(fù)殘差輸出。
 
CNN結(jié)構(gòu)函數(shù)形式:
特征復(fù)用:通過(guò)密集連接復(fù)用每一個(gè)Block輸出的負(fù)殘差特征。
循環(huán)計(jì)算:如結(jié)構(gòu)圖左下角左下角所示,為平衡模型參數(shù)和性能,每個(gè)Block內(nèi)部的兩個(gè)卷積層采用循環(huán)計(jì)算的策略加深Block深度,函數(shù)表示:
為了避免結(jié)構(gòu)加深帶來(lái)的梯度消失的問(wèn)題,將Block第一個(gè) Conv+LReLU的輸出加到每個(gè)子循環(huán)中:
塊間融合:如結(jié)構(gòu)圖右下角所示:通過(guò)集成學(xué)習(xí)的思想將不同Block的預(yù)測(cè)結(jié)果concatenate在一起,最后通過(guò)1X1卷積得到最后的結(jié)果。
損失函數(shù):對(duì)于每一個(gè)Block,采用L2L_2L2?+SSIM loss 損失函數(shù):
M個(gè)Block和最后merge輸出的總損失:
實(shí)驗(yàn)細(xì)節(jié):環(huán)境:python + TensorFlow、NVIDIA GeForce GTX 1080(8GB),初始化:Xavier,優(yōu)化器:RMSProp,初始學(xué)習(xí)率: 0.001,batch size:16,迭代次數(shù):50000,每層卷積為:16個(gè)3X3,輸出層卷積,3個(gè)1X 1。
5. Lightweight Pyramid Networks (T-NNLS 2019)
為了使去雨網(wǎng)絡(luò)更輕量化,使其適用于移動(dòng)設(shè)備,作者提出了輕量級(jí)的金字塔去雨網(wǎng)絡(luò)LPNet,參數(shù)量少于8K,主要貢獻(xiàn):
- 將傳統(tǒng)的高斯-拉普拉斯金字塔運(yùn)用到CNN中,使用一個(gè)參數(shù)量少的小網(wǎng)絡(luò)可實(shí)現(xiàn)很好的結(jié)果。
 - 結(jié)合多尺度、循環(huán)計(jì)算和殘差學(xué)習(xí)技術(shù),在大雨場(chǎng)景下,也能很好地實(shí)現(xiàn)單圖像去雨。
 
CNN結(jié)構(gòu)函數(shù)形式:
a、構(gòu)建拉普拉斯金字塔
b、特征提取網(wǎng)絡(luò)
c、循環(huán)模塊
d、重建高斯金字塔
作者之前提出方法(方案二、方法三)通過(guò)引導(dǎo)濾波將圖像分解成基礎(chǔ)層和細(xì)節(jié)層,運(yùn)用細(xì)節(jié)層訓(xùn)練可以有效減小優(yōu)化空間,但是引導(dǎo)濾波針對(duì)雨量比較厚的圖像達(dá)不到很好的細(xì)節(jié)提取效果。于是,作者使用拉普拉斯金字塔將圖像分解為不同尺度的圖像金字塔,最后融合不同尺度圖片的處理結(jié)果。
損失函數(shù):
實(shí)驗(yàn)細(xì)節(jié):
5個(gè)尺度的拉普拉斯金字塔:[0.0625, 0.25, 0.375, 0.25, 0.0625]為構(gòu)建高斯金字塔的固定平滑核。
所有子網(wǎng)絡(luò)結(jié)構(gòu)相同,卷積核個(gè)數(shù)不同,W0,1,3,4W^{0,1,3,4}W0,1,3,4卷積核大小為3x3,W^2卷積核大小為1,每個(gè)子網(wǎng)絡(luò)循環(huán)block次數(shù)T = 5,激活函數(shù)LReLUs,參數(shù)為:0.2。
使用生成的雨圖,包含大雨圖像和小雨圖像,輸入大小80×8080 × 8080×80 圖像塊,Adam優(yōu)化器,batch size為10,學(xué)習(xí)率:0.001,epoch為3。
想了解更多,請(qǐng)關(guān)注公眾號(hào):AI搞事情
總結(jié)
以上是生活随笔為你收集整理的从系列去雨论文看如何创新的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 【机器学习课程01】李宏毅2020年机器
 - 下一篇: 【opencv系列02】OpenCV4.