孫宏偉,潘 峰,羅 川
(西南交通大學希望學院 軌道交通學院,四川 成都 610400)
隨著深度學習的發(fā)展,許多基于神經(jīng)網(wǎng)絡的去霧方法被提出來,它們大多是從大量訓練數(shù)據(jù)中提取特征并學習模糊和無模糊圖像對之間的映射。與上述傳統(tǒng)方法相比,基于卷積神經(jīng)網(wǎng)絡(CNN)的方法試圖直接回歸中間傳輸圖或最終清晰圖像,并實現(xiàn)卓越的性能和穩(wěn)定性。然而,由于缺乏真實世界的訓練數(shù)據(jù)和有效的經(jīng)驗,很難精確地估計這些中間參數(shù),不準確的估計將進一步降低數(shù)據(jù)性能。
Berman D等[1]提出了一種非局部路徑來表征清晰圖像。這些專門手工制作的經(jīng)驗對于某些數(shù)據(jù)有很好效果,但對于其他數(shù)據(jù)效果有限。李加元[2]提出了一些改進措施,從圖像中分割出天空區(qū)域,然后分別對天空區(qū)域和非天空區(qū)域進行處理,從而避免色偏的發(fā)生。但當天空分割不準確時,容易造成去霧圖像在天空邊界處像素不協(xié)調(diào)的問題。為此,本文采用擴張卷積來覆蓋更多的相鄰像素,幫助獲得更精確的恢復結(jié)果。同時為了抵消擴張卷積固有的“網(wǎng)格偽影”現(xiàn)象,進行了平滑處理[3]。另外還加入了循環(huán)網(wǎng)絡約束作為網(wǎng)絡整體訓練方式,以證明它的重要性。為了驗證提議的有效性,將它與典型算法在去霧基準數(shù)據(jù)集上進行比較。實驗表明,所提出算法在定性和定量上都大大優(yōu)于其他方法。
在本文設(shè)計中,生成器的功能是從輸入的模糊圖像中生成清晰圖像,不需要有估計中間參數(shù)的階段,它可以通過特征在通道上的連接來實現(xiàn)特征重用,即可以充分利用從淺層到深層提取的所有特征。同時,不僅要去除霧霾,還要盡可能保留輸入圖像的結(jié)構(gòu)和細節(jié)信息。如圖1所示,生成器包含編碼過程和解碼過程,編碼器包含三個密集塊,每個密集塊由一系列的卷積、批量歸一化(BN)和Relu層組成。經(jīng)過池化操作后,特征圖的尺寸最終縮小到輸入大小的1/8。在解碼過程中,特征圖的大小逐漸恢復到原始分辨率。特別注意的是,密集連接部分的擴張卷積是經(jīng)過平滑處理后的,這是為了避免像素漂移現(xiàn)象。引入對稱層的跳躍連接,通過向解碼器的對稱層提供特征映射,以突破解碼過程的信息瓶頸。
圖1 生成網(wǎng)絡結(jié)構(gòu)圖
在類似分割的深度預測任務中,主要矛盾之一是所需的多尺度上下文推理和下采樣時丟失的空間分辨率信息難以統(tǒng)一協(xié)調(diào)。使用擴張卷積便于解決這個問題,它支持感受野的指數(shù)擴展而不降低空間分辨率的大小。如圖2所示,對于圖2(a),是一個3×3的標準卷積核,此時擴張率為1,感受野3×3。對于圖2(b)、圖2(c),擴張率分別增大到2倍和4倍,卷積核仍然是3×3,但是感受野卻明顯增大,分別是7×7和15×15。由此可以發(fā)現(xiàn),擴張卷積可以通過增加擴張率來聚合大尺度空間的上下文信息,能夠在保證網(wǎng)絡中參數(shù)量不變且不損失細節(jié)信息的前提下,可以獲得更大的感受野。感受野k的卷積如式(1)所示。
(1)
式(1)表示在一維情況下,f為給定的輸入,?代表向量的卷積算子,w(i)是常規(guī)卷積層,r是擴張率,當r=1時,擴張卷積將退化為常規(guī)卷積。為了以直觀的方式理解擴張卷積,我們可以將其視為在兩個相鄰權(quán)重之間插入r-1個零。通過這種方式,擴張卷積可以增加感受野大小從k個到r*(k-1)+1個,而不降低分辨率。
圖2 擴張卷積平滑處理示意圖
盡管擴張卷積能有效增大感受野,但會產(chǎn)生所謂的像素漂移問題[4]。解決它最直接的方法就是不使用擴張率連續(xù)相同的擴張卷積,但是這還不夠,因為如果擴張率是成倍數(shù)的,這個問題依然存在。提出兩個解決辦法:一是將擴張率設(shè)計成鋸齒狀結(jié)構(gòu),例如[1,2,5,1,2,5]的循環(huán)結(jié)構(gòu)。二是我們設(shè)置的擴張率需要滿足式(2)。
Mi=max[Mi+1-2ri,Mi+1-2(Mi+1-ri),ri]
(2)
其中ri是i層的擴張率,Mi、Mi+1分別指在i層和i+1層允許的最大擴張率。那么假設(shè)總共有n層的話,默認Mn=rn。如果我們應用的卷積核為k×k,目標則是M2≤k,這樣至少可以用擴張率等于1(即常規(guī)卷積)的方式來覆蓋所有空洞。因此本文每一個密集塊的擴張率均采用(1,2,3,5)的設(shè)置。
鑒別網(wǎng)絡用于區(qū)分圖像是真是假,如圖3所示,其中的基本操作是卷積、批量歸一化和LeakyReLU函數(shù)激活。對于鑒別器的最后一層,將sigmoid函數(shù)應用于特征映射,以便概率分數(shù)可以被歸一化為[0,1]。
圖3 鑒別網(wǎng)絡結(jié)構(gòu)
1.1小節(jié)和1.3小節(jié)分別給出了生成器網(wǎng)絡和鑒別器網(wǎng)絡結(jié)構(gòu)。為了進一步確保GAN輸出(即G(x))與輸入數(shù)據(jù)x一致,更好的還原圖像信息,結(jié)合感知一致性損失(式4)和循環(huán)一致性損失(式5)增強循環(huán)根公式,以提高紋理信息恢復質(zhì)量,引入了一個半環(huán)形循環(huán)結(jié)構(gòu)進行訓練。如圖4所示。
圖4 增強的半循環(huán)網(wǎng)絡結(jié)構(gòu)
(3)
其中ki是一個已知的模糊核,它在訓練有霧圖像過程中使用。在合成訓練數(shù)據(jù)時,同樣被用于從清晰圖像yi生成模糊圖像xi。?表示卷積算子。
在訓練階段使用L1范數(shù)正則化的感知一致性損失函數(shù)(式4)和像素損失函數(shù)(式5),其中N
代表N個樣本:
(4)
(5)
為了使生成網(wǎng)絡學習過程更加穩(wěn)定,降低訓練模型的復雜性,同樣使用L1正則化損失函數(shù)(6)來規(guī)范生成器G。
(6)
本文提出的目標函數(shù)如式(7)所示。
(7)
最后通過求解下式來訓練G、D和D*模型如式(8)所示。
(8)
其中λ、γ和μ是權(quán)重參數(shù)。為了使訓練過程穩(wěn)定,本文在這項工作中使用了LA中的最小二乘GAN損失。
使用NYU2深度數(shù)據(jù)庫的實況圖像[5],與其生成的相應霧霾圖像作為訓練樣本,原始的清晰圖像作為目標圖像。訓練時,隨機選取其中的6000對圖像作為訓練集,網(wǎng)絡訓練迭代300000次。另外使用基準數(shù)據(jù)集RESIDE[6]作為測試集對網(wǎng)絡模型進行評估。把測試結(jié)果人為分成室內(nèi)和室外兩種區(qū)域以展示模型的泛化能力。
本文采用兩個廣泛使用的績效測量指標進行定量評估:全參考指標峰值信噪比(PSNR)和結(jié)構(gòu)相似性度量(SSIM)。PSNR是最常用和最廣泛使用的圖像質(zhì)量客觀評價標準之一。給定兩個圖像Xin和Xout,它們之間的PSNR如式(9)所示。
(9)
其中Xin代表輸入?yún)⒖紙D像,Xout代表生成的待評價圖像。PSNR數(shù)值越大,圖像失真就越小,去霧效果越完美。
另一個是結(jié)構(gòu)相似性(SSIM),它被認為與人類視覺系統(tǒng)(HVS)的質(zhì)量感知相關(guān)。它分別從亮度、對比度、結(jié)構(gòu)三方面度量圖像相似性。SSIM如式(10)所示。
(10)
為了充分驗證本文網(wǎng)絡效果,不同先進算法用于定量評估:He[7]算法,F(xiàn)DNet[8]和GCANet[9]。比較結(jié)果如表1所示(其中最好效果用粗字體標出)。
表1 與經(jīng)典去霧方法在SOTS比較結(jié)果
收斂性分析。由于本文方法需要聯(lián)合訓練生成網(wǎng)絡和判別網(wǎng)絡,一個與之相關(guān)的疑問是它們是否能夠很好收斂[10]。從圖5(a)可以看出,采用SOTS測試集的情況下,該方法在PSNR方面200個epoch內(nèi)收斂得很好。雖然在訓練階段使用多個鑒別器可能會增加復雜性[11]。但是結(jié)果表明,相比BaseGAN算法用一個鑒別器和生成器[12],本文提出模型會使訓練過程更加穩(wěn)定,和更好的收斂性能。
魯棒性分析。為了驗證所提出方法對圖像噪聲的抗干擾性,使用SOTS數(shù)據(jù)集中100幅圖像進行評估。并對每個樣本都添加了0%至5%隨機噪聲。圖5(b)顯示,即使在噪聲水平較高時,所提出方法也表現(xiàn)良好。
敏感性分析。由對1.4節(jié)中不同損失函數(shù)重要性的分析可知,在目標函數(shù)(8)中,權(quán)重參數(shù)λ對圖像恢復任務尤為重要。利用SOTS測試數(shù)據(jù)集來分析該參數(shù)效果,在保持其余權(quán)重γ和μ不變的情況下,將λ值設(shè)置為20到100,步長為10。從表2中可以看出,當λ設(shè)置在[40,80]范圍內(nèi)時,顯示性能較好,當該參數(shù)設(shè)置為60時,性能表現(xiàn)最好。
(a)
(b)
表2 關(guān)于權(quán)重參數(shù)λ的敏感性分析
為了了解提出算法中每個組件的重要性,本節(jié)針對幾個重要模塊進行討論分析:擴張卷積有/沒有采用平滑處理,有/沒有鑒別器D*加入,和平滑模塊數(shù)量的影響。由理論1.4節(jié)中可知,缺少鑒別網(wǎng)絡D*時去霧效果不徹底,沒有經(jīng)過平滑處理的擴張卷積會有較嚴重的偽影和顏色偏移[13]。相比之下,本文去霧算法能夠保持更好的顏色保真度。定量分析見表3所示。
進一步考慮到平滑模塊數(shù)量對去霧任務的影響,把平滑模塊數(shù)量從2設(shè)置到10進行評估,每個平滑模塊包含有擴張率為(1,2,3,5)的4個平滑卷積。表4表明,所提出方法對平滑塊的數(shù)量不敏感。根據(jù)經(jīng)驗,本文使用4個平滑塊作為準確性和速度之間的權(quán)衡。
表3 不同配置下每個組件的消融分析
表4 不同平滑塊對去霧任務的影響(SM代表平滑塊數(shù)量)
本文提出了一種端到端受約束的半循環(huán)GAN圖像去霧算法。為了保證最終估計結(jié)果能夠真實還原原圖像信息,采用密集連接模塊在生成網(wǎng)絡中,來增強特征利用率[14],并同時在訓練過程中加入模型約束。此外,為了消除像素漂移,對每一個擴張卷積都進行了平滑處理。盡管所提出方法簡單,但它克服了目前神經(jīng)網(wǎng)絡在上下文聚合信息時遇到的瓶頸問題。大量實驗研究表明,所提出算法在圖像去霧任務上可以獲得良好效果,且具有優(yōu)秀的魯棒性和收斂性。