【圖像去噪】DnCNN論文詳解(Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising)

論文原文:https://arxiv.org/pdf/1608.03981.pdf

一、簡介

老實(shí)說,這篇論文后半部分不太值得細(xì)讀,大量內(nèi)容都是討論實(shí)驗(yàn)萧豆,寫的比較啰嗦。啟發(fā)性的內(nèi)容較少昏名,看完后只知道你的模型效果好涮雷,但不太知道為什么好。

文章重點(diǎn)

  1. 強(qiáng)調(diào)了residual learning(殘差學(xué)習(xí))和batch normalization(批量標(biāo)準(zhǔn)化)在圖像復(fù)原中相輔相成的作用轻局,可以在較深的網(wǎng)絡(luò)的條件下洪鸭,依然能帶來快的收斂和好的性能膜钓。

  2. 文章提出DnCNN,在高斯去噪問題下卿嘲,用單模型應(yīng)對(duì)不同程度的高斯噪音颂斜;甚至可以用單模型應(yīng)對(duì)高斯去噪、超分辨率拾枣、JPEG去鎖三個(gè)領(lǐng)域的問題沃疮。

二、DnCNN網(wǎng)絡(luò)模型

DnCNN網(wǎng)絡(luò)結(jié)構(gòu)

網(wǎng)絡(luò)結(jié)構(gòu):

第一部分:Conv(3 * 3 * c * 64)+ReLu (c代表圖片通道數(shù))

第二部分:Conv(3 * 3 * 64 * 64)+BN(batch normalization)+ReLu

第三部分:Conv(3 * 3 * 64)

每一層都zero padding梅肤,使得每一層的輸入司蔬、輸出尺寸保持一致。以此防止產(chǎn)生人工邊界(boundary artifacts)姨蝴。第二部分每一層在卷積與reLU之間都加了批量標(biāo)準(zhǔn)化(batch normalization俊啼、BN)。

2.1.殘差學(xué)習(xí)residual learning

DnCNN結(jié)合了ResNet的residual learning左医,關(guān)于ResNet的知識(shí)總結(jié)授帕,見我另一篇文章:http://www.reibang.com/p/11f1a979b384

不同的是DnCNN并非每隔兩層就加一個(gè)shortcut connection,而是將網(wǎng)絡(luò)的輸出直接改成residual image(殘差圖片)浮梢,設(shè)純凈圖片為x跛十,帶噪音圖片為y,假設(shè)y=x+v秕硝,則v是殘差圖片芥映。即DnCNN的優(yōu)化目標(biāo)不是真實(shí)圖片與網(wǎng)絡(luò)輸出之間的MSE(均方誤差),而是真實(shí)殘差圖片與網(wǎng)絡(luò)輸出之間的MSE远豺。

根據(jù)ResNet中的理論奈偏,當(dāng)殘差為0時(shí),堆積層之間等價(jià)于恒等映射躯护,而恒等映射是非常容易訓(xùn)練優(yōu)化的惊来。作者注意到在圖像復(fù)原領(lǐng)域(尤其是在噪音程度較小的情況下),噪音圖片與純凈圖片的殘差非常小榛做,所以理論上殘差學(xué)習(xí)非常適合運(yùn)用到圖像復(fù)原上唁盏。

通俗講内狸,這樣的網(wǎng)絡(luò)設(shè)計(jì)就是在隱層中將真實(shí)的圖片x從原噪音圖y中消去检眯。作者注意到:在超分領(lǐng)域,低分辨率圖片就是高分辨率圖片的雙三次上采樣操作形成的昆淡,故超分領(lǐng)域的殘差圖片和去高斯噪聲領(lǐng)域的殘差圖片是等價(jià)的锰瘸,同理還有JPEG解鎖領(lǐng)域的殘差圖片。也么一來昂灵,用一個(gè)模型應(yīng)對(duì)三種問題便有了可能性避凝,最終實(shí)驗(yàn)證明確實(shí)有效舞萄。

2.2.批量標(biāo)準(zhǔn)化batch normalization

SGD(隨機(jī)梯度下降法)廣泛應(yīng)用于CNN的訓(xùn)練方法中,但是訓(xùn)練的性能卻很大程度受內(nèi)部協(xié)變量移位這一問題所影響管削。BN就是在每一層的非線性處理之前加入標(biāo)準(zhǔn)化倒脓、縮放、移位操作來減輕內(nèi)部協(xié)變量的移位含思∑槠可以給訓(xùn)練帶來更快的速度,更好的表現(xiàn)含潘,使網(wǎng)絡(luò)對(duì)初始化變量的影響沒有那么大饲做。

內(nèi)部協(xié)變量移位(internal covariate shift):深層神經(jīng)網(wǎng)絡(luò)在做非線性變換前的激活輸入值,隨著網(wǎng)絡(luò)深度加深或者在訓(xùn)練過程中遏弱,其分布逐漸發(fā)生偏移或者變動(dòng)盆均,之所以訓(xùn)練收斂慢,一般是整體分布逐漸往非線性函數(shù)的取值區(qū)間的上下限兩端靠近(對(duì)于Sigmoid函數(shù)來說漱逸,意味著激活輸入值WU+B是大的負(fù)值或正值)泪姨,所以這導(dǎo)致反向傳播時(shí)低層神經(jīng)網(wǎng)絡(luò)的梯度消失,這是訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)收斂越來越慢的本質(zhì)原因饰抒。

批量標(biāo)準(zhǔn)化(batch normalization):就是通過一定的規(guī)范化手段驴娃,把每層神經(jīng)網(wǎng)絡(luò)任意神經(jīng)元這個(gè)輸入值的分布強(qiáng)行拉回到均值為0方差為1標(biāo)準(zhǔn)正態(tài)分布,即把越來越偏的分布強(qiáng)制拉回比較標(biāo)準(zhǔn)的分布循集,這樣使得激活輸入值落在非線性函數(shù)對(duì)輸入比較敏感的區(qū)域唇敞,所以輸入的小變化才就會(huì)導(dǎo)致?lián)p失函數(shù)有較大的變化,意思就是讓梯度變大咒彤,避免梯度消失問題產(chǎn)生疆柔,而且梯度變大意味著學(xué)習(xí)收斂速度快,能大大加快訓(xùn)練速度镶柱。

2.3.網(wǎng)絡(luò)深度network depth

作者參考《Very deep convolutional networks for large-scale image recognition》的標(biāo)準(zhǔn)旷档,將DnCNN的卷積核大小設(shè)置為3 * 3,并且去掉了所有的池化層歇拆。

感受野:是卷積神經(jīng)網(wǎng)絡(luò)中某一層輸出的特征圖對(duì)到網(wǎng)絡(luò)輸入圖像中映射的區(qū)域的大小鞋屈。

image

感受野計(jì)算時(shí)有下面的幾個(gè)情況需要說明:

  1. 第一層卷積層的輸出特征圖像素的感受野的大小等于濾波器的大小故觅;
  2. 深層卷積層的感受野大小和它之前所有層的濾波器大小和步長有關(guān)系厂庇;
  3. 計(jì)算感受野大小時(shí),忽略了圖像邊緣的影響输吏,即不考慮padding的大小权旷。

此外,關(guān)于每一層的strides的說明贯溅,這個(gè)strides是之前所有層stride的乘積拄氯,即

strides(i)= stride(1) * stride(2) * ...* stride(i-1)

對(duì)于單層卷積網(wǎng)絡(luò)躲查,其feature map上每個(gè)特征點(diǎn)對(duì)應(yīng)原圖上的感受野大小等于卷積層濾波器的大小译柏;對(duì)于多層卷積網(wǎng)絡(luò)镣煮,可由此逐層往回反饋,通過反復(fù)迭代獲得原始輸入圖像中感受野大小鄙麦,即后面深層的卷積層感受野大小就和之前所有網(wǎng)絡(luò)層的濾波器大小步長有關(guān)系了怎静,在計(jì)算的時(shí)候,忽略圖像Padding的大小黔衡。使用的公式可以表示如下:

r(i) = (r(i+1) - 1) * stride(i) + c(i)

其中蚓聘,r(i)表示第i層感受野大小,stride(i)表示第i層步長盟劫,c(i)表示第i層卷積核大小夜牡。
此外,對(duì)于卷積網(wǎng)絡(luò)中的激活函數(shù)層(ReLU/Sigmoid/...)等侣签,感受野迭代公式為:

r(i)=r(i+1)

對(duì)于DnCNN網(wǎng)絡(luò)塘装,網(wǎng)絡(luò)層數(shù)是d的時(shí)候,網(wǎng)絡(luò)的感受野就是(2d+1) * (2d+1)影所。DnCNN的感受野與網(wǎng)絡(luò)深度d相關(guān)蹦肴,而卷積神經(jīng)網(wǎng)絡(luò)中的感受野可以類比到傳統(tǒng)去噪算法中的effective patch size。故作者參考最主流的幾個(gè)去噪算法猴娩,根據(jù)2d+1=effective patch size阴幌,反向推出DnCNN一個(gè)合適的網(wǎng)絡(luò)深度。

最終卷中,在噪聲水平為25的情況下矛双,作者選擇EPLL的36*36作為參考標(biāo)準(zhǔn),因?yàn)镋PLL的effective patch size橫向比較最畜≡ァ(如果DnCNN選擇最小的感受野都能勝過這些主流算法议忽,就說明DnCNN很牛逼)。處理高斯去噪的DnCNN的深度為17十减,通用去噪任務(wù)的DnCNN的深度為20栈幸。

三、實(shí)驗(yàn)

作者做了三種實(shí)驗(yàn):

  1. 對(duì)比有無residual learning與batch normalization對(duì)復(fù)原效果帮辟、收斂快慢的影響速址,最終證明這兩是相輔相成的,都利用上時(shí)網(wǎng)絡(luò)各方面性能達(dá)到最好织阅。

  2. 根據(jù)特定程度的高斯噪聲訓(xùn)練DnCNN-S壳繁、根據(jù)不定程度的高斯噪聲訓(xùn)練DnCNN-B、根據(jù)不同程度的噪音(包括不同程度的高斯噪聲荔棉、不同程度的低分辨率闹炉、不同程度的JPEG編碼)訓(xùn)練的DnCNN-3來與最前沿的其他算法做對(duì)比實(shí)驗(yàn)。結(jié)論:DnCNN-S有最好的性能润樱,但是DnCNN-B也有優(yōu)于其他算法的性能渣触,證明了DnCNN-B具有很好的盲去高斯噪聲的能力;DnCNN-3則證明了DnCNN-3具有不俗的復(fù)原圖像的泛化能力壹若。

  3. 對(duì)比了DnCNN與其他前沿去噪算法的運(yùn)行速度的實(shí)驗(yàn)嗅钻,結(jié)論:速度還是不錯(cuò)的,CPU\GPU環(huán)境下均屬于中上水平店展。

四养篓、總結(jié)

這篇文章非常棒的公開了源碼,所以后面會(huì)考慮自己復(fù)現(xiàn)一下赂蕴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末柳弄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子概说,更是在濱河造成了極大的恐慌碧注,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糖赔,死亡現(xiàn)場離奇詭異萍丐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)放典,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門逝变,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奋构,你說我怎么就攤上這事骨田。” “怎么了声怔?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵态贤,是天一觀的道長。 經(jīng)常有香客問我醋火,道長悠汽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任芥驳,我火速辦了婚禮柿冲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘兆旬。我一直安慰自己假抄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宿饱,像睡著了一般熏瞄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谬以,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天强饮,我揣著相機(jī)與錄音,去河邊找鬼为黎。 笑死邮丰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铭乾。 我是一名探鬼主播剪廉,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼炕檩!你這毒婦竟也來了斗蒋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤捧书,失蹤者是張志新(化名)和其女友劉穎吹泡,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體经瓷,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡爆哑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了舆吮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揭朝。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖色冀,靈堂內(nèi)的尸體忽然破棺而出潭袱,到底是詐尸還是另有隱情,我是刑警寧澤锋恬,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布屯换,位于F島的核電站,受9級(jí)特大地震影響与学,放射性物質(zhì)發(fā)生泄漏彤悔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一索守、第九天 我趴在偏房一處隱蔽的房頂上張望晕窑。 院中可真熱鬧,春花似錦卵佛、人聲如沸杨赤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疾牲。三九已至植捎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間说敏,已是汗流浹背鸥跟。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工丢郊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盔沫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓枫匾,卻偏偏與公主長得像架诞,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子干茉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容