劉 揚(yáng)
(江蘇自動(dòng)化研究所,江蘇連云港 222061)
惡劣天氣環(huán)境下的圖像清晰化處理是計(jì)算機(jī)視覺中的一個(gè)重要任務(wù)。如圖1所示,許多計(jì)算機(jī)視覺應(yīng)用如:軍事作戰(zhàn)(目標(biāo)檢測、目標(biāo)識別、目標(biāo)跟蹤),安防系統(tǒng)和交通導(dǎo)航等都依賴于高質(zhì)量圖像。在下雨、下雪、起霧或者抖動(dòng)等影響下,相機(jī)捕捉的圖片會有一定程度的失真。由于沙塵、雨、雪、霧、霾等容易遮擋住圖像中的目標(biāo),造成目標(biāo)不明確,降低了圖片內(nèi)容的可識別性,使用低質(zhì)量圖片嚴(yán)重影響計(jì)算機(jī)視覺應(yīng)用。因此,為了保證計(jì)算機(jī)視覺應(yīng)用在惡劣天氣下能夠正常運(yùn)行,需要對惡劣天氣環(huán)境下拍攝的圖像進(jìn)行清晰化處理,降低圖像的失真度,提高圖像的質(zhì)量。本文針對上述問題,結(jié)合卷積神經(jīng)網(wǎng)絡(luò),提出了一種新的殘差聚集網(wǎng),用于恢復(fù)高質(zhì)量圖像。
傳統(tǒng)的圖像清晰化技術(shù)采用高斯混合模型、低秩估計(jì)、字典學(xué)習(xí)等技術(shù)。雖然傳統(tǒng)技術(shù)能夠取得一定的效果,但是由于雨、雪、霧、霾、抖動(dòng)等影響因素在圖像中表現(xiàn)為多方向、多密度、多類別,簡單地使用傳統(tǒng)方法難以建模圖像中的復(fù)雜影響因素。因此,傳統(tǒng)技術(shù)在多數(shù)情況下會失去原有的性能。
圖1 圖像清晰化處理與計(jì)算機(jī)視覺應(yīng)用
近幾年來,隨著計(jì)算機(jī)計(jì)算能力的不斷提高,深度卷積神經(jīng)網(wǎng)絡(luò)得到迅猛發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺任務(wù)上得到了廣泛的應(yīng)用。在眾多圖像處理任務(wù)如圖像去雨流、圖像去噪、圖像去霧、圖像去模糊、圖像去雨滴等有重要突破。卷積神經(jīng)網(wǎng)絡(luò)可以提取豐富的特征,可以很好地?cái)M合雨、霧、霾、雪、抖動(dòng)等在圖像中的復(fù)雜分布。文獻(xiàn)[1]提出了一種新的跳連方式,利用網(wǎng)絡(luò)提取的層級細(xì)節(jié)流,通過跳連方式將細(xì)節(jié)特征從低維空間傳播到高維空間,可以很好地指導(dǎo)網(wǎng)絡(luò)對低維特征的學(xué)習(xí),在圖像修復(fù)方面取得不錯(cuò)的效果。針對單步處理圖像難以恢復(fù)出高質(zhì)量圖像的問題,文獻(xiàn)[2]提出了一種多步圖像處理模式,在網(wǎng)絡(luò)中引入循環(huán)神經(jīng)單元,構(gòu)建一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過關(guān)聯(lián)不同步驟圖像處理的隱藏層信息,可以很好地指導(dǎo)網(wǎng)絡(luò)下一步的修復(fù)工作,實(shí)驗(yàn)表明,該方法在圖像去雨等任務(wù)上取得了不錯(cuò)的效果。不同于上述方式,文獻(xiàn)[3]結(jié)合了膨脹卷積和循環(huán)神經(jīng)單元,提出了一種循環(huán)多尺度增強(qiáng)網(wǎng)絡(luò),該網(wǎng)絡(luò)融合多尺度特征,可以高效地建模各種復(fù)雜前景。上述方法可以在特定的圖像處理任務(wù)中取得一定的效果,但在不同任務(wù)中沒有很好的泛化能力?;谠搯栴},本文提出了一種新的殘差聚集網(wǎng),可以在圖像去雨流、圖像去噪、圖像去霧、圖像去模糊、圖像去雨滴等任務(wù)都表現(xiàn)優(yōu)異。殘差聚集網(wǎng)可以充分地利用網(wǎng)絡(luò)提取的局部層級特征生成高效的高維特征,殘差聚集網(wǎng)使用殘差連接,允許網(wǎng)絡(luò)不同層之間互相傳遞信息流。
如圖2所示,圖像清晰化處理就是從低質(zhì)量圖像恢復(fù)出高質(zhì)量的清晰圖像。該部分主要總結(jié)了圖像去雨流、圖像去噪、圖像去霧、圖像去模糊、圖像去雨滴的相關(guān)工作。
圖2 不同場景下的圖像清晰化處理
基于深度神經(jīng)網(wǎng)絡(luò)的高斯圖像去噪有很長的研究歷史, 文獻(xiàn)[4]提出了REDNet網(wǎng)絡(luò),REDNet網(wǎng)絡(luò)由多層卷積層和反卷積層構(gòu)成,卷積層和反卷積層通過對稱跳連傳遞信息。文獻(xiàn)[5]提出了MemNet網(wǎng)絡(luò),該網(wǎng)絡(luò)具有局部記憶模塊和全局稠密連接能力,可以記住的局部細(xì)節(jié)信息,并充分利用全局信息,取得了比REDNet網(wǎng)絡(luò)優(yōu)越的性能。而文獻(xiàn)[6]通過神經(jīng)網(wǎng)絡(luò)自動(dòng)搜索架構(gòu)搜索出高效的網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)表明具有大小卷積核重復(fù)配對的標(biāo)準(zhǔn)自動(dòng)編碼器性能遠(yuǎn)遠(yuǎn)高于MemNet網(wǎng)絡(luò)。
在圖像去霧中,王玉坤等人提出一種基于小波變換的霧天圖像清晰化方法[7]。張凱等人提出了一種卷積神經(jīng)網(wǎng)絡(luò)[8],聯(lián)合估算透射率和全局大氣光。文獻(xiàn)[9]則提出一種直接估算干凈背景圖的方法,該方法不需要顯式地估算透射率和全局大氣光。區(qū)別上述的方式,文獻(xiàn)[10]將卷積神經(jīng)網(wǎng)絡(luò)集成到傳統(tǒng)的基于先驗(yàn)的方法上,高效地估算出干凈背景圖。
在運(yùn)動(dòng)去模糊中,基于卷積深度神經(jīng)網(wǎng)絡(luò)的方法[11-13]取得了重大的突破。文獻(xiàn)[11]改進(jìn)殘差模塊,提出了一種由粗到細(xì)的方法恢復(fù)圖片中的模糊部分。不同于文獻(xiàn)[11],文獻(xiàn)[12]提出了一種基于生成對抗網(wǎng)絡(luò)[13]的方法,可以更好地學(xué)習(xí)不同場景的模糊核。
圖像去雨流和去雨滴也是圖像清晰化的重要研究內(nèi)容。文獻(xiàn)[14]使用導(dǎo)向?yàn)V波器提取圖片的高頻信息訓(xùn)練神經(jīng)網(wǎng)絡(luò)。文獻(xiàn)[15]提出一種聯(lián)合估計(jì)圖像中雨流的密度并去除雨流的方法,來緩解圖像中雨的分布密度不均勻的問題。林向偉等人提出了基于多細(xì)節(jié)卷積神經(jīng)網(wǎng)絡(luò)的單幅圖像去雨方法[16]。李夏等人提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的圖像多步去雨模型[2],該模型實(shí)現(xiàn)漸進(jìn)式去除圖像的雨流信息,取得了比單步去雨模型更高的性能。而在圖像去雨滴中,錢瑞等人提出了一種混合網(wǎng)絡(luò)模型[17],該模型包括一個(gè)卷積LSTM模塊用于定位雨滴位置和一個(gè)卷積神經(jīng)網(wǎng)絡(luò)用于生成干凈背景圖像。該模型融合在一個(gè)生成對抗網(wǎng)絡(luò)框架中,可以高效地檢測圖像中的雨滴信息并實(shí)現(xiàn)去除雨滴的效果。
由于上述的圖像清晰化方法只在某一個(gè)特定任務(wù)中(如:圖像去雨流、圖像去噪、圖像去霧、圖像去模糊、圖像去雨滴)表現(xiàn)出不錯(cuò)的效果,但是在五個(gè)任務(wù)上不具備較好的泛化能力。因此,本文基于卷積神經(jīng)網(wǎng)絡(luò),提出了一種新的網(wǎng)絡(luò)結(jié)構(gòu): 殘差聚集網(wǎng),該網(wǎng)絡(luò)結(jié)果可以在五個(gè)任務(wù)中表現(xiàn)出優(yōu)異的性能,可以在復(fù)雜惡劣環(huán)境下為計(jì)算機(jī)視覺應(yīng)用提供高質(zhì)量圖像。
圖像清晰化模型一般可以定義為一個(gè)簡單的線性模型。
I=B+R
(1)
其中,I表示輸入的低質(zhì)量圖像,B表示干凈背景圖,R表示估算的殘差圖。由于圖像清晰化是一個(gè)病態(tài)問題,本文構(gòu)造一種端到端的基于卷積神經(jīng)網(wǎng)絡(luò)的方法估算殘差圖。如圖3所示,殘差聚集網(wǎng)的網(wǎng)絡(luò)結(jié)構(gòu)主要包括四個(gè)部分:低質(zhì)量圖片分解,低維特征提取,殘差聚集模塊和殘差圖生成。
假定Iin、Il、Ih分別表示低質(zhì)量圖片、低頻特征和高頻特征。圖像中的沙塵、雨、雪、霧、霾、噪聲等均屬于高頻信息。具體的殘差聚集網(wǎng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 殘差聚集網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)
首先使用中值濾波對低質(zhì)量圖片進(jìn)行濾波操作,從低質(zhì)量圖片中分離出低頻信息Il,然后,將低質(zhì)量圖片Iin減去低頻信息Il可以獲得高頻信息Ih。
Ih=Iin-Il
(2)
隨后,使用低維特征提取器從高頻信息中提取低維特征
Fsf=Tsf(Ih)
(3)
其中,Tsf表示卷積—批歸一化—relu激活函數(shù)的組合操作,該操作輸入高頻信息Ih,輸出特征圖Fsf。
更進(jìn)一步,為了提取更豐富的特征信息,本文構(gòu)造了殘差聚集模塊,通過堆疊多個(gè)殘差聚集模塊,可以提取豐富的高維特征。殘差聚集模塊提取的各層特征圖使用稠密連接將特征圖傳遞到最后的殘差變換模塊,通過特征壓縮和蒸餾提取更高效的高維特征。
Fff=TRAB(Fsf,M)
(4)
其中,TRAB表示使用殘差聚集模塊提取特征,M表示堆疊M塊殘差聚集模塊。通過堆疊多塊殘差聚集模塊充分提取和利用局部層級特征,輸出高維特征Fff。每一塊殘差聚集模塊由三個(gè)部分組成: 殘差特征提取器,稠密變換層和局部特征融合。具體地,殘差特征提取器使用殘差模塊提取不同特征圖;稠密變換層將殘差特征提取器提取的特征圖組合到一起,使用卷積核為1*1的卷積操作壓縮和蒸餾特征;局部特征融合將每一塊殘差聚集模塊的輸入跳連到稠密變換層的輸入,允許網(wǎng)絡(luò)低維特征向高維特征流動(dòng)。
使用殘差圖生成器估算殘差圖
Frm=Trm(Fff)
(5)
其中,Trm表示卷積—批歸一化的組合操作,該操作輸入高維特征Fff估算出殘差圖Frm。
最后,從低質(zhì)量圖Iin減去估算的殘差圖Frm可以獲得清晰化之后的高質(zhì)量圖像。
Iout=Iin-Frm
(6)
為了增加網(wǎng)絡(luò)的非線性表達(dá)能力,緩解梯度消失問題,我們選擇修正線性單元(relu)作為網(wǎng)絡(luò)的激活函數(shù),在每一層卷積和批歸一化層之后我們使用修正線性單元(relu)激活函數(shù)將特征映射到非線性特征空間,提高特征的表達(dá)能力。具體地,修正線性單元(relu)表達(dá)式如下
Frelu=max(0,x)
(7)
其中,x為輸入,Frelu為修正結(jié)果。
直觀上,在進(jìn)行網(wǎng)絡(luò)訓(xùn)練的時(shí)候,要求清晰化圖片Iout要和對應(yīng)的干凈圖片Igt在像素級別上保持一致。因此,使用均方誤差(MSE)約束兩者的相似性。
(8)
使用均方誤差約束兩者的一致性容易造成圖像過度平滑,丟失背景細(xì)節(jié)信息。因此,為了保持清晰化圖片的背景細(xì)節(jié),采用峰值信噪比(PSNR)損失和結(jié)構(gòu)相似性(SSIM)[18]損失保證結(jié)構(gòu)相似性和像素相似性。
(9)
(10)
其中PSNR(,)和SSIM(,)表示指標(biāo)計(jì)算函數(shù),用于計(jì)算清晰化之后的圖片和干凈圖片之間的PSNR和SSIM指標(biāo)。
此外,鑒于生成對抗網(wǎng)絡(luò)在許多圖像處理任務(wù)的廣泛應(yīng)用,引入對抗損失作為損失函數(shù)的一部分,進(jìn)一步提升清晰化圖片的性能。本文采用條件對抗損失如下所示
Ladv=minGmaxDEIin,z[log(1-D(Iin,G(Iin,z)))]+
EIin,Igt[log(D(Iin,Igt))]
(11)
其中,G表示殘差聚集網(wǎng),D表示判別器,使用條件生成對抗網(wǎng)絡(luò)[19]中的判別器結(jié)構(gòu)。為了加速網(wǎng)絡(luò)訓(xùn)練,將噪聲z設(shè)置為常量。
最終,網(wǎng)絡(luò)訓(xùn)練使用的損失函數(shù)如下所示
L=minGmaxD[Lmse(G)+λ1Lpsnr(G)+
λ2Lssim(G)+λ3Ladv(G,D)]
(12)
其中,λ1,λ2,λ3表示對應(yīng)損失函數(shù)的權(quán)重。
本文選擇五個(gè)圖像清晰化任務(wù):圖像去雨流、圖像去噪、圖像去霧、圖像去模糊、圖像去雨滴來評測殘差聚集網(wǎng)的性能。使用公開的數(shù)據(jù)集訓(xùn)練殘差聚集網(wǎng),在測試數(shù)據(jù)集上做相應(yīng)測試。具體的數(shù)據(jù)集,網(wǎng)絡(luò)訓(xùn)練設(shè)置和實(shí)驗(yàn)結(jié)果介紹如下。
對于五個(gè)圖像清晰化任務(wù)所使用的數(shù)據(jù)集如表1和表2所示。對于圖像去雨任務(wù),使用合成的Rain100L和Rain100H兩個(gè)數(shù)據(jù)集;對于圖像去噪任務(wù),使用BSD數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù),在訓(xùn)練的時(shí)候自動(dòng)生成高斯白噪聲,將噪聲添加到圖片中,生成對應(yīng)的噪聲圖片和無噪聲圖片作為訓(xùn)練數(shù)據(jù);對于圖像去霧任務(wù),使用Dehaze數(shù)據(jù)集;對于圖像去模糊任務(wù),使用公開的GoPro數(shù)據(jù)集; 對于圖像去雨滴任務(wù),使用收集的RainDrop數(shù)據(jù)集。
表1 圖像去雨流訓(xùn)練和測試數(shù)據(jù)集
表2 圖像去噪、去霧、去模糊、去雨滴的訓(xùn)練測試數(shù)據(jù)集
殘差聚集網(wǎng)的訓(xùn)練流程如圖4所示,由于數(shù)據(jù)集的圖片大小不一樣,因此,預(yù)先對輸入圖像進(jìn)行隨機(jī)裁剪,對于每一步訓(xùn)練,隨機(jī)從訓(xùn)練集中裁剪出20對大小為64*64的圖片對作為網(wǎng)絡(luò)的輸入。
圖4 殘差聚集網(wǎng)訓(xùn)練流程
對于網(wǎng)絡(luò)結(jié)構(gòu),低維特征提取器包含一個(gè)卷積層,一個(gè)批歸一化層(batch normalization)和一個(gè)relu激活函數(shù)層;殘差圖生成器包含一個(gè)卷積層和一個(gè)批歸一化層(batch normalization);殘差聚集網(wǎng)堆疊6塊殘差聚集模塊,每塊殘差聚集模塊使用2個(gè)殘差塊提取層級特征,使用一個(gè)卷積核大小為1*1的卷積將各個(gè)層級特征組合變換到高維特征。除了上述提到的1*1卷積核,網(wǎng)絡(luò)中的其他卷積操作均使用3*3的卷積核,卷積步長設(shè)置為1,除了殘差圖生成器以外(設(shè)置為3),每一層卷積的輸出通道設(shè)置為64。使用TensorFlow搭建殘差聚集網(wǎng),使用NVIDIA GeForce GTX 1080Ti顯卡訓(xùn)練網(wǎng)絡(luò)。網(wǎng)絡(luò)使用Adam優(yōu)化器優(yōu)化,Adam優(yōu)化器的指數(shù)衰減參數(shù)beta1和beta2設(shè)置為0.9和0.999。網(wǎng)絡(luò)訓(xùn)練40 000步,網(wǎng)絡(luò)學(xué)習(xí)率從初始的0.1,經(jīng)過25 000步之后降低為0.01,然后在30 000之后固定為0.001。損失函數(shù)的權(quán)重參數(shù)λ1、λ2、λ3分別設(shè)置為0.001、0.1、0.001。此外,公式(9)中的σ1設(shè)置為0.001。為了穩(wěn)定訓(xùn)練,每一步訓(xùn)練三次生成器和一次判別器。
在下雨天氣環(huán)境下拍攝圖片,容易造成圖片有許多雨流。由于雨流的密度和方向存在比較大的差異,殘差聚集網(wǎng)內(nèi)部的殘差聚集模塊利用多個(gè)殘差模塊可以提取豐富的雨流特征,利用特征變換層融合豐富的雨流特征產(chǎn)生高維雨流特征,使得殘差聚集網(wǎng)可以高效地去除圖像中的雨流。
本文對比了殘差聚集網(wǎng)和DDN(CVPR2017)[14], DID-MDN(CVPR2018)[15],MSCSC(CVPR2018)[20], DualCNN(CVPR2018)[21]四種方法的去雨流效果。使用PSNR和SSIM指標(biāo)作為評測指標(biāo),在Rain100L和Rain100H兩個(gè)數(shù)據(jù)集上評測幾種方法在圖像去雨流上的性能。比較結(jié)果如表3所示,殘差聚集網(wǎng)絡(luò)能夠取得比其他方法更好的去雨流效果。在Rain100L數(shù)據(jù)集上,殘差聚集網(wǎng)在PSNR和SSIM指標(biāo)上取得了2.66%和2.70%的改進(jìn),在Rain100H數(shù)據(jù)集上,取得了1.19%和4.00%的改進(jìn)。
表3 殘差聚集網(wǎng)在Rain100L數(shù)據(jù)集和Rain100H數(shù)據(jù)集上去雨流的量化指標(biāo)
圖像去雨流對比結(jié)果如圖5a-h)所示,本文選擇了兩種效果比較好的方法(DDN和DualCNN)與殘差聚集網(wǎng)進(jìn)行對比。兩張圖片均含有稠密的雨流,利用殘差聚集網(wǎng)可以建模復(fù)雜的雨流分布,估算出雨流殘差圖,得到干凈的去雨圖像。而DDN和DualCNN兩種方法的去雨流圖像上仍然殘留較多的雨痕。
圖5 殘差聚集網(wǎng)與DDN[14]和DualCNN[21]在圖像去雨流結(jié)果上的比較
進(jìn)一步對殘差聚集模塊的性能進(jìn)行分析驗(yàn)證。如圖6所示,我們分析比較了四種殘差聚集模塊的變體。比較結(jié)果如表4所示,簡單地使用殘差塊去雨流取得的效果一般,將跳步連接和稠密連接分別加到基本殘差塊中可以較大的提升網(wǎng)絡(luò)的去雨流性能。將圖6的(1) (2) (3)結(jié)合構(gòu)成最終的殘差聚集模塊,可以得到最佳的去雨流性能,如表4最后一列所示。
圖6 (1)簡單實(shí)用殘差塊提取特征(RFE);(2)將低維特征通過跳步連接傳輸?shù)礁呔S特征(RFE+LFE);(3)將殘差塊提取的特征通過稠密連接傳輸?shù)礁呔S特征(RFE+DTL);(4)為(1) (2) (3)的結(jié)合(RFE+LFE+DTL)
表4 不同殘差聚集模塊在Rain100L的去雨流的量化指標(biāo)
殘差聚集網(wǎng)在圖像去噪、圖像去霧、圖像去模糊、圖像去雨滴等任務(wù)上,能夠高效地去除圖像中噪聲、霧、模糊、雨滴等遮擋物,取得很不錯(cuò)的效果。各種任務(wù)下運(yùn)用殘差聚集網(wǎng)處理圖像后的效果如圖7所示。
圖7 各種任務(wù)下殘差聚集網(wǎng)處理后的效果
在圖像去噪中,殘差聚集網(wǎng)可以從具有噪聲的圖像中學(xué)習(xí)復(fù)雜的噪聲分布,估算出圖片中高頻噪聲信息,恢復(fù)出高質(zhì)量的去噪圖片。在圖像去霧中,殘差聚集網(wǎng)可以自適應(yīng)地學(xué)習(xí)霧和天空的特征,在去霧過程中去除圖像中的霧,保留圖像的天空細(xì)節(jié)。在圖像去模糊中,殘差聚集網(wǎng)聯(lián)合估算模糊核和去模糊圖像,直接輸出去模糊的圖像,可以從模糊圖像中恢復(fù)出高質(zhì)量的去模糊圖像。在圖像去雨滴中,雨滴的形狀和大小與雨流存在較大的差異,兩者的分布截然不同,因此無法簡單地將圖像去雨流任務(wù)直接遷移到圖像去雨滴任務(wù),需要使用雨滴數(shù)據(jù)集重新訓(xùn)練網(wǎng)絡(luò),殘差聚集網(wǎng)也可以表現(xiàn)出令人滿意的效果。
惡劣的天氣條件會使得環(huán)境中物體的可見度變低,嚴(yán)重影響眾多計(jì)算機(jī)視覺應(yīng)用的可行性。在惡劣的天氣條件下,由于環(huán)境中的沙塵、雨、雪、霧、霾等的影響,給相機(jī)拍攝帶來很大的難度;另一方面,在正常的天氣下,由于物體的運(yùn)動(dòng)和相機(jī)的抖動(dòng)容易造成拍攝的圖像變得模糊不清。為了解決惡劣條件下圖像的不清晰問題,本文提出了一種新的方法,構(gòu)建新的網(wǎng)絡(luò)模型殘差聚集網(wǎng),從低質(zhì)量圖像中恢復(fù)出高質(zhì)量的清晰圖像。殘差聚集網(wǎng)可以解決圖像去雨流、圖像去噪、圖像去霧、圖像去模糊、圖像去雨滴等圖像處理任務(wù)。作為計(jì)算機(jī)視覺應(yīng)用的前期處理,圖像清晰化在軍事作戰(zhàn)系統(tǒng)、安防系統(tǒng)和交通導(dǎo)航等具有很重大的應(yīng)用價(jià)值。