石育越,寧 芊
(四川大學(xué)電子信息學(xué)院,成都 610000)
當(dāng)今的科技進(jìn)步加快了計算機(jī)視覺領(lǐng)域的發(fā)展,例如目標(biāo)檢測、場景分割、行為識別和無人駕駛。這些系統(tǒng)處理的圖像都是由成像設(shè)備所獲取的。然而,在惡劣天氣情況下,尤其是霧天或霧霾天氣,空氣中的懸浮粒子會嚴(yán)重影響光線的傳播,進(jìn)而影響成像質(zhì)量。此類天氣條件下獲取的圖像往往存在色彩失真、模糊、對比度降低等質(zhì)量問題,從而影響后續(xù)計算機(jī)視覺系統(tǒng)的整體性能。因此,重建無霧清晰圖像的圖像去霧算法受到研究者們的廣泛關(guān)注。
近年來,許多方法被提出用于克服霧霾問題。這些方法通過傳統(tǒng)大氣散射公式[1-2]對霧霾模型中的兩個分量“全球大氣光”和“中間傳輸圖”分別進(jìn)行估計。例如,Li等[3]提出了一種基于加權(quán)引導(dǎo)濾波的霧霾圖像重建算法,將暗通道先驗[4-6]作為基礎(chǔ),對初步的傳輸圖進(jìn)行濾波優(yōu)化后重建去霧圖像。然而,該方法依然受限于暗通道先驗的缺陷,在天空、雪地等區(qū)域會出現(xiàn)色彩失真。Zhu等[7]提出了基于色彩衰減先驗的圖像去霧算法,設(shè)計了一個線性模型提取霧霾圖像的亮度與飽和度信息來構(gòu)建場景深度圖,再用所生成的場景深度圖計算中間傳輸圖和全球大氣光分量。然而,該方法估計深度圖需要耗費大量時間,并且存在色彩失真和光圈效應(yīng)。Li等[8]提出了一種基于全圖像濾波的圖像去霧方法,結(jié)合全局邊緣和結(jié)構(gòu)信息有效重建了去霧圖像。上述基于先驗知識和圖像處理的方法只適用于部分特定場景,對不滿足其先驗條件和統(tǒng)計分布的場景甚至?xí)?dǎo)致圖像質(zhì)量惡化。
除了上述的傳統(tǒng)方法,基于深度學(xué)習(xí)的方法近年來也在圖像去霧上取得良好的效果。Cai等[9]提出了第一個基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的圖像去霧方法,使用CNN預(yù)測中間傳輸圖和大氣自然光值,再根據(jù)大氣散射模型重建去霧圖像。但預(yù)測這兩個分量會引入估計誤差,導(dǎo)致最終重建圖像也存在誤差。為了解決這個問題,Li等[10]重構(gòu)了經(jīng)典大氣散射模型,使用輕量級卷積神經(jīng)網(wǎng)絡(luò)直接預(yù)測去霧圖像,避免預(yù)測中間分量而引入誤差,得到了一定的性能提升。Chen等[11]首先采用擴(kuò)張卷積[12]提升感受野,獲取更多的上下文信息,后續(xù)使用門控單元融合各層次的有效特征,得到了良好的去霧效果。這些方法都獲得了良好的去霧質(zhì)量。然而,近年來基于深度學(xué)習(xí)的方法為了提升去霧性能,逐步增加網(wǎng)絡(luò)深度和寬度,導(dǎo)致網(wǎng)絡(luò)規(guī)模和參數(shù)量越來越大。這會導(dǎo)致去霧算法運算資源的消耗和訓(xùn)練難度的提升,并且冗余的參數(shù)量對于邊緣設(shè)備和嵌入式設(shè)備也是巨大的存儲壓力。另一方面,現(xiàn)有基于深度學(xué)習(xí)的圖像去霧算法通常以無霧圖像(正樣本)作為目標(biāo)使用L1/L2損失引導(dǎo)網(wǎng)絡(luò)訓(xùn)練,忽略了霧霾圖像(負(fù)樣本)的特征信息。但僅靠L1/L2圖像重建損失無法有效恢復(fù)圖像細(xì)節(jié),甚至可能導(dǎo)致恢復(fù)圖像色彩失真[13]。
為了解決上述問題,本文提出了一種基于對比約束的輕量化圖像去霧網(wǎng)絡(luò)(contrast constraint-based lightweight network,CCLNet)。對比約束不僅能在特征空間中將網(wǎng)絡(luò)預(yù)測推向正樣本空間,并且使預(yù)測遠(yuǎn)離負(fù)樣本空間。測試階段,對比約束可以在不引入額外計算量和參數(shù)量的情況下提高去霧性能。為了實現(xiàn)輕量化網(wǎng)絡(luò),本文采用類似于雙蝶形結(jié)構(gòu)的柵格模塊(lattice block,LB)[14]作為所提出網(wǎng)絡(luò)的基本模塊,U-Net結(jié)構(gòu)作為主體架構(gòu),這可以在減少計算量的同時保持去霧性能。
本節(jié)將介紹基于對比約束的輕量級圖像去霧模型,詳細(xì)展示網(wǎng)絡(luò)結(jié)構(gòu)中的細(xì)節(jié)部分。CCLNet模型架構(gòu)如圖1所示。
整個網(wǎng)絡(luò)結(jié)構(gòu)可以分為降維提取部分,中間處理部分,升維重建部分。降維提取部分包含一個特征提取層和兩個下采樣層;中間處理部分包含四個參數(shù)共享的柵格模塊,殘差連接和兩個特征整合卷積層;升維重建部分包含兩個上采樣層和一個圖像重建層。在相同維度的上下采樣層之間存在兩個自適應(yīng)混合連接將特征進(jìn)行融合,避免降采樣和網(wǎng)絡(luò)傳播導(dǎo)致空間信息丟失。降維提取部分的三個卷積層輸出通道數(shù)分別為32、64和128;中間部分四個LB的輸出通道數(shù)均為128,兩個特征整合層的輸出通道數(shù)為256和128;升采樣部分的輸出通道為64、32和3。自適應(yīng)混合連接的參數(shù)是一個可學(xué)習(xí)的參數(shù),根據(jù)特征響應(yīng)進(jìn)行調(diào)整。除了最后輸出去霧圖像的卷積層,其余卷積層后均有一個ReLU激活層。
本小節(jié)介紹網(wǎng)絡(luò)中采用的輕量化柵格模塊,該模塊首先在超分任務(wù)中提出。受到雙蝶形柵格濾波器組的啟發(fā),Luo等[14]構(gòu)建了包含殘差連接和雙蝶形結(jié)構(gòu)的柵格模塊,其結(jié)構(gòu)如圖2所示。
蝶形結(jié)構(gòu)有利于殘差連接的多種組合模式,可以發(fā)揮殘差連接的潛力。具體來說,一組特征圖x首先輸入到包含三個3×3的卷積層和LReLU激活層的下層分支中。這些操作可以隱式表示為一個非線性函數(shù)H(·),則x和H(·)的第一次組合可以表示為
其中Ai-1和Bi-1表示兩個組合系數(shù)的向量,它們根據(jù)特征圖信息自適應(yīng)計算。組合系數(shù)向量的維度大小與特征圖通道數(shù)相同。其次,Pi-1(x)經(jīng)過與下層分支H(·)相同架構(gòu)的上層分支,其非線性函數(shù)表示為G(·)。Pi(x)和Qi(x)的第二次組合可以表示為
其中Ai和Bi是Qi-1(x)與G(Pi-1(x))的組合系數(shù)。之后,Pi(x)和Qi(x)在通道維度上連接并通過一個1×1的卷積層重組。輕量化柵格模塊在超分辨率任務(wù)中取得了優(yōu)異的效果,靈活結(jié)合了殘差機(jī)制和注意力機(jī)制,保持性能的同時大大減少了參數(shù)量。本文將其作為基本模塊嵌入模型主干中,實驗部分證明了其在去霧任務(wù)的有效性。
端到端的圖像去霧模型通常使用兩個損失——圖像重建損失和正則項,來限制恢復(fù)圖像,其表示為
其中I是霧霾圖像,J是相應(yīng)的無霧圖像,又稱清晰圖像,φ(·,ω)是所提出的去霧網(wǎng)絡(luò)函數(shù)以及其參數(shù)ω。‖J-φ(I,ω)‖是圖像重建損失,本文采用L1損失。ρ(·)是正則項,用于約束網(wǎng)絡(luò)生成自然平滑的去霧圖像,通常使用DCP先驗和全局方差損失。β是一個超參數(shù),用于平衡圖像重建損失和正則項。不同于現(xiàn)有方法的正則項設(shè)定,本文采用對比約束提升去霧圖像的感知質(zhì)量。損失函數(shù)可以表示為
其中第二項為I,J和φ(I,ω)在相同隱特征空間下的對比約束,其在隱空間內(nèi)將去霧圖像φ(I,ω)推向無霧圖像J,且使φ(I,ω)遠(yuǎn)離霧霾圖像I。為了增強(qiáng)約束能力,本文以VGG-19作為特征提取網(wǎng)絡(luò),并選取多個隱含層的中間特征用于計算對比約束。因此,本文的損失函數(shù)可以進(jìn)一步表示為
其中i表示VGG-19中的第i層特征,D(x,y)表示x與y之間的L1距離,wi表示第i層的權(quán)重因子,整個模型以端到端的模型進(jìn)行訓(xùn)練。不同方法在測試集上的結(jié)果如圖3所示。
本文使用大規(guī)模基準(zhǔn)數(shù)據(jù)集RESIDE[15]對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,RESIDE數(shù)據(jù)集包含室內(nèi)訓(xùn)練集ITS,室外訓(xùn)練集OTS和綜合目標(biāo)測試集SOTS,這些數(shù)據(jù)集都是使用相同方法在自然圖像上合成得到的。CCLNet分別在ITS和OTS數(shù)據(jù)集上進(jìn)行訓(xùn)練,并在SOTS數(shù)據(jù)集上測試,測試階段采用峰值信噪比PSNR和結(jié)構(gòu)相似性SSIM兩個客觀指標(biāo)驗證所提出模型的去霧性能,并展示去霧結(jié)果進(jìn)行主觀質(zhì)量分析。PSNR和SSIM是常用的圖像去霧質(zhì)量評價指標(biāo),PSNR越大代表去霧圖像與地面真值圖像之間的像素差別越小,SSIM越接近1表明去霧圖像與地面真值圖像之間的結(jié)構(gòu)越相似。
所有訓(xùn)練集內(nèi)的圖片會首先進(jìn)行水平垂直隨機(jī)翻轉(zhuǎn),然后裁剪為256×256的圖像塊送入CCLNet中。訓(xùn)練過程中,使用Adam優(yōu)化器將其參數(shù)設(shè)為0.9和0.999。對于ITS和OTS訓(xùn)練集,分別訓(xùn)練1×105和1.5×105次迭代,學(xué)習(xí)率分別初始化為2×10-4和1×10-4,并采用余弦退火策略使學(xué)習(xí)率逐漸衰減至0。損失函數(shù)中β設(shè)置為0.1,VGG-19預(yù)訓(xùn)練模型作為特征提取網(wǎng)絡(luò)計算對比約束損失,采用第1,3,5,9,13層作為特征提取層;wi分別設(shè)置為1/32,1/16,1/8,1/4和1。實驗中采用的深度學(xué)習(xí)框架為Pytorch1.9.0,計算庫為CUDA11.1,實驗平 臺 為Ubuntu18.01,使 用 的GPU型 號 為NVIDIA GeForce RTX 3090。
為了充分驗證所提出模型的有效性,實驗部分比較了幾個先進(jìn)的傳統(tǒng)圖像去霧算法和基于深度學(xué)習(xí)的圖像去霧算法:DCP[5],AODNet[10],DehazeNet[9],GCANet[11],EPDN[16]和PFFNet[17]。在SOTS測試集上的測試結(jié)果如表1所示。表1是各個算法在SOTS測試集中室內(nèi)圖像和室外圖像的客觀指標(biāo)結(jié)果,其中PSNR和SSIM的數(shù)值越大表示模型去霧效果越好。表1結(jié)果顯示,相比于GCANet方法,本文提出的CCLNet在PSNR和SSIM上取得了平均0.20 dB和0.0032的性能增益,遠(yuǎn)優(yōu)于其他傳統(tǒng)方法和基于深度學(xué)習(xí)的方法。結(jié)合表1最后一列和圖4參數(shù)量與PSNR指標(biāo)圖,充分證明本文所提出的方法在性能與參數(shù)量方面實現(xiàn)了優(yōu)異的權(quán)衡。該方法所占用的空間儲存和運算消耗都小于其他方法。圖4展示了該方法和對比方法在SOTS數(shù)據(jù)集中四幅圖像的處理結(jié)果。從第三列和第五列可以看出,DehazeNet和GCANet在處理室外圖像時會產(chǎn)生色彩失真,在背景和近遠(yuǎn)景邊緣區(qū)域引入不規(guī)則的黑斑,這是大氣傳輸圖的估計偏差導(dǎo)致的。觀察第二列和第四列的結(jié)果,AOD-Net和PFFNet無法有效去除室內(nèi)圖像中的霧霾信息,并且導(dǎo)致去霧后的圖像背景亮度變大,產(chǎn)生過曝現(xiàn)象。從圖3各種方法的對比結(jié)果可以觀察到,所提出的CCLNet在SOTS基準(zhǔn)測試集上的客觀指標(biāo)和主觀評價均取得了最優(yōu)異的結(jié)果,整體上去霧效果明顯,感知質(zhì)量良好。

表1 客觀指標(biāo)對比結(jié)果
本文提出了一種基于對比約束的輕量級圖像去霧網(wǎng)絡(luò),該網(wǎng)絡(luò)采用雙碟形柵格模塊作為網(wǎng)絡(luò)的基本模塊,其使用的小型卷積核和雙分支可以在小參數(shù)量的條件下靈活結(jié)合殘差學(xué)習(xí)和注意力機(jī)制,且能夠保障模型的去霧性能。對比約束不僅利用正樣本進(jìn)行學(xué)習(xí),并且在隱空間中將預(yù)測圖像推離負(fù)樣本,使得預(yù)測圖像更加接近真實的自然圖像。