去噪深度卷積網(wǎng)絡(luò)實戰(zhàn)擴(kuò)展_第1頁
去噪深度卷積網(wǎng)絡(luò)實戰(zhàn)擴(kuò)展_第2頁
去噪深度卷積網(wǎng)絡(luò)實戰(zhàn)擴(kuò)展_第3頁
去噪深度卷積網(wǎng)絡(luò)實戰(zhàn)擴(kuò)展_第4頁
去噪深度卷積網(wǎng)絡(luò)實戰(zhàn)擴(kuò)展_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、去噪深度卷積網(wǎng)絡(luò)實戰(zhàn)擴(kuò)展(三)一nCNN網(wǎng)絡(luò)實戰(zhàn)講解在近幾年深度學(xué)習(xí)領(lǐng)域,有一類去噪神經(jīng)網(wǎng)絡(luò)非常出名,這就是DnCNN網(wǎng)絡(luò)。英文是: Feed-forward denoising convolutional neural networks (DnCNNs)。這個網(wǎng)絡(luò)強調(diào)了 residual learning (殘差學(xué)習(xí))和batch normalization (批量標(biāo)準(zhǔn)化)在信號 復(fù)原中相輔相成的作用,可以在較深的網(wǎng)絡(luò)的條件下,依然能帶來快的收斂和好的性能。這 個算法可以解決處理未知噪聲水平的高斯去噪、超分辨率、JPEG去鎖等多個領(lǐng)域的問題。一、算法來源和介紹哈爾濱工大的張凱教授,在2016

2、年發(fā)表的Beyond a Gaussian Denoiser Residual Learning of Deep CNN for Image Denoising論文中,首次論述DnCNN網(wǎng)絡(luò)的原理。這張圖就清晰的說明了整個的主要結(jié)構(gòu)。主要包括了:第1層Conv + ReLU:輸入為35x35xc的圖像,經(jīng)過64個3x3x3的卷積核卷積,輸出為64 張35x35的特征圖,即35x35x64的圖像。(因為加了 padding,所以大小沒有變)。第(2-1)層Conv + BN + ReLU :,有64個3x3x64的卷積核,所以這些層的輸入輸出 都為35x35x64的圖像。在卷積和激活函數(shù)間添加批

3、量歸一化。最后一層Conv :通過c個3x3x64的卷積核,重建c維圖像,作為輸出。每一層都zero padding,使得每一層的輸入、輸出尺寸保持一致。以此防止產(chǎn)生人工邊界 (boundary artifacts)。二、主要原理介紹1.主要原理日x) +identityIweight layerRx)relweight layerDnCNN結(jié)合了 ResNet的residual learning,即殘差學(xué)習(xí)。不同的是DnCNN并未在神經(jīng)網(wǎng) 絡(luò)層之間增加連接,而是將網(wǎng)絡(luò)學(xué)習(xí)過程中的輸出直接改為殘差。DnCNN的殘差是什么意思呢?假設(shè)干凈圖片為x,含噪聲圖片為y,那有y=x+n,這里的n 就是殘

4、差,也就是噪聲。在DnCNN的學(xué)習(xí)過程中,優(yōu)化的目標(biāo)不再是干凈圖片與網(wǎng)絡(luò)輸出 之間的誤差(loss),而是殘差與網(wǎng)絡(luò)輸出之間的誤差。就這么一個改變會帶來哪些好處呢?第一:在特定的噪聲水平下訓(xùn)練比最先進(jìn)的方法如BM3D,WNNM和TNRD有更好的高斯 去噪效果。第二:對于盲高斯去噪,比為特定噪聲水平訓(xùn)練的BM3D和TNRD表現(xiàn)的更好。第三:當(dāng)被延伸到一些一般的圖像去噪任務(wù)時,也能獲得很好的結(jié)果。第四:一個DnCNN模型對于三個一般圖像去噪任務(wù)的高效性,即高斯去噪,有著多重升級 因子的SISR和有著不同質(zhì)量因子的JPEG去塊問題。2.網(wǎng)絡(luò)深度DnCNN有個特點就是網(wǎng)絡(luò)深度較大。作者參考Very d

5、eep convolutional networks for large- scale image recognition的標(biāo)準(zhǔn),將DnCNN的卷積核大小設(shè)置為3 * 3,并且去掉了所有 的池化層。作者處理高斯去噪的DnCNN的深度為17,通用去噪任務(wù)的DnCNN的深度為20。到底需 要多深的網(wǎng)絡(luò),這和感受野有關(guān)。作者為了和補丁大小為36x36的EPLL作比較,選擇了和 它差不多的感受野,35x35。因此,對應(yīng)的網(wǎng)絡(luò)深度即為17(2x17 + 1)x(2x17 + 1)。這么深的網(wǎng)絡(luò)結(jié)構(gòu),處理起來其實是比較慢的。所以讀者可以自己在性能和效果之間折中選 擇網(wǎng)絡(luò)的深度。3.批量歸一化(BN)DnC

6、NN有比較深的網(wǎng)絡(luò)訓(xùn)練,怎么保證訓(xùn)練過程中穩(wěn)定和快速就非常重要。這里用到了批 量歸一化層。歸一化處理的原理就是歸一化至:均值0、方差為1。BN的主要作用包括了:1)改善流經(jīng)網(wǎng)絡(luò)的梯度2)允許更大的學(xué)習(xí)率,大幅提高訓(xùn)練速度:3)減少對初始化的強烈依賴4)改善正則化策略:作為正則化的一種形式,輕微減少了對dropout的需求簡單說,就是提高了訓(xùn)練的速度,增強了學(xué)習(xí)的能力。三、程序分析 說了這么多,到憔程序是啥樣子的呢?張凱教授很慷慨,公布了源程序,包括了 matlab版 和python版本的。matlab版本的網(wǎng)絡(luò)結(jié)構(gòu)是這樣的:et, 1 b ye r-3 end+1 二 jCruct x 1 c

7、anv1 ?, swei!jht3 * j /(3r3P1,6xzctoj(65 j-lf 1) ) j -s stride * j 1 j pBd r 1.dilatej lfleariLliLgRaiLe1 * Irll f wei ghcDecay veiglicCeaay). pea-F();net1 airEis/ )1 *zandn f P B sirigLe jf sctoj rlrA sing-le h) rneanrcLr* LcarmnqRat e1 F - 1 1J d ,- weightE-ecay r Cl 5 r . 牛匕兒(H ;nec . Laversetid+

8、L ) = scruac (1 lypm1 * 1 rela* r leak1 * 0;endner-1 arE is and+L acruct 1 r 1 ccnv1 .weight 5 1 j jqrt (2 / (WW) randri ( 9 r 3 r single r zeroa11 singlek) r sei ide * x 1 x -1 learnlngRate”?Irl1? e e dilate1j14.we i gh tDeca P -weight fecay, .pal 1, opra1, (H);rei. layersd+l = 3crucc f C!/pe , 1 l

9、oss ) ; % loake sere che new rulcaa un Is is. rlie same folder .python版本是這樣的:def DnCNN(J :inpc = Input(shape=(NoneNone K1M1st layer, Conv+relux = Conv2D(filters=fi4 r kernel size= (3 p 3 F gtrides=(1j1) r padding=Bsame 1) (inptx = Activaticn 1 rein1 (*1& layerSjr Coxiv4BN+ relu for in rangeIS sx = C

10、anv2D f iltezs=64 r keinEl_size=(3 P 3 F 5tixde5= (1 f 1) r padding=1 (kJx = Ba/ccliNcirinjaljLMaLiLXciiiCaxtSiH-t F 已psllcm=le-3 (xjx = Activatianl relu1 ) x)last layer Convx = Comv2D (f i 11ers=lf kernel_size= 3f 3 J r strides=(l f pad.ding= saute r(xlx = Sutotract (J inptf x# input - x#Recurns A

11、tensor, the difference of the inputs.mo del = Mocel ( input s=inpt t output s=xpython版本比matlab版本要簡潔很多,但訓(xùn)練網(wǎng)絡(luò)的速度卻比matlab慢很多。為了測試DnCNN在地震去噪處理的效果如何,我使用前面課程的訓(xùn)練數(shù)據(jù),自己寫了一個 程序。6# 1拖建網(wǎng)緡 input = Input (shape=( 64j (S4= 1)# 1st Luyerj Conv-f-rettiConv2D(fillers =32kernel_s 126=(33) stride5=fljl) j padding=rsame

12、 ) (input)I Activation ( Brelu)(k)Laye rSj Conv-+SW+re L u1 in range(15);k = Conv2(fiIters=32kemel_size=(3J3)strides=(lJl)padding=same p k = BatchNlormalization( axis=-l) (k)k = Activation(reluF)(k)Last Lay已ConvB9.0fcr.1Conv2D(fillers =1 j kernel_size=(3Ji3)strides=(ljl) j padding=rsa:me p ) (x) Subt rart() (input j k)Returns A tensoPj tk色 diff&rence of the inputs.I.8 K!B dncnn = keras.Model(input5=inputj cutputs=x)11#c/ncnn. comp Hl e (op t wi r = crac/elta Jj io5s= mecrrsunreterrorJ) !j dncnni.ccmpile(optimizer=,adam,j loss=rmean_squaired_error1) !4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論