鄭卓然,魏繹汶,賈修一
(南京理工大學(xué) 計算機科學(xué)與工程學(xué)院, 江蘇 南京 210094)
帶有霧霾的圖像具有低對比度和模糊的特性,這會嚴重影響下游圖像處理模型的表現(xiàn),例如行人檢測、圖像分割等。對此,大量的單幅圖像去霧方法被開發(fā)出來,它們的目的在于把輸入的帶有霧霾的圖像轉(zhuǎn)換成一張清晰圖像。然而,伴隨著移動設(shè)備和邊緣設(shè)備對分辨率為4 k圖像處理方法的需求的不斷增長,現(xiàn)存的圖像去霧的方法很少能高效地處理一張帶霧的超高清圖像[1]。
對于傳統(tǒng)算法來說,大量的研究人員專注于霧霾和環(huán)境的物理性質(zhì),他們采用各種清晰的圖像先驗來規(guī)范解空間,但這些方法通常需要復(fù)雜的迭代優(yōu)化方案才能找到最佳解。而且,這些手工制作的圖像先驗知識的復(fù)雜性遠遠不能滿足實際應(yīng)用的要求。例如Tan[2]開創(chuàng)了在沒有任何額外信息的情況下在單圖像實現(xiàn)去霧的可能性。He等[3]使用暗通道先驗(dark channel prior, DCP)借助統(tǒng)計學(xué)來估計圖像的霧霾以實現(xiàn)圖像去霧。Zhu等[4]提出了顏色衰減先驗,通過估計場景深度來消除霧霾。Berman等[5]觀察到,無霧圖像的顏色可以很好地近似為RGB空間中形成緊密簇的數(shù)百種不同顏色,然后基于這一先驗知識提出了一種去霧算法。Chen等[6]提出了一種改進的評價彩色圖像去霧效果的方法。該方法考慮了對圖像邊緣信息的評估以及對顏色失真的評估。
最近,基于CNN的方法已被應(yīng)用于圖像去霧,并且與傳統(tǒng)方法相比取得了顯著的性能改進。早期的算法[7-9]使用可學(xué)習(xí)的參數(shù)代替?zhèn)鹘y(tǒng)框架中的某些模塊或步驟(例如估計透射圖或大氣光),并使用外部數(shù)據(jù)來學(xué)習(xí)參數(shù)。從那時起,更多的研究使用端到端的數(shù)據(jù)驅(qū)動的方法來消除圖像霧化[10-14]。例如,Cai等[7]提出了DehazeNet來生成端到端的傳輸圖。Zhang等[15]將大氣散射模型嵌入到網(wǎng)絡(luò)中,允許CNNs同時輸出傳輸圖、大氣光和去霧圖像。GandelSman等[11]借助于圖像先驗知識提出了一種無監(jiān)督的圖像去霧方法。Chen等[16]在合成數(shù)據(jù)集中預(yù)先訓(xùn)練了去霧模型,之后使用無監(jiān)督學(xué)習(xí)方法使用各種物理先驗微調(diào)網(wǎng)絡(luò)參數(shù),以提高其在真實霧霾圖像上的去霧性能。還有一系列研究放棄了傳統(tǒng)的物理模型,并使用直接的端到端方法來生成去霧圖像。Li等[8]設(shè)計了一個AOD網(wǎng)絡(luò),通過重新制定的大氣散射模型直接生成去霧圖像。Qu等[14]將去霧任務(wù)轉(zhuǎn)換為圖像到圖像的轉(zhuǎn)換任務(wù),并增強了網(wǎng)絡(luò)以進一步生成更逼真的無霧圖像。盡管基于CNN的方法已經(jīng)取得了最先進的結(jié)果,但它們通常需要堆疊更多的卷積層才能獲得更好的性能,從而導(dǎo)致在資源受限的設(shè)備上計算成本過高。
除此之外,基于MLP的方法已被應(yīng)用于圖像增強任務(wù),例如圖像超分辨率[17-18]、圖像去噪[19]和圖像去雨[20-21]。與CNN相比,這些方法在低運算量的基礎(chǔ)上取得了更好的視覺效果。不幸的是,目前基于MLP的方法有2個主要限制。首先,上述方法將圖像劃分為多個塊,以捕獲圖像上的全局感受野,導(dǎo)致圖像像素之間的空間拓撲信息丟失;其次,圖像去霧是一個高度不適定的問題,因此需要大量的MLP層或一些注意力機制來重建更好的高頻細節(jié)。為此,這些結(jié)構(gòu)和模塊的大量堆疊會嚴重增加計算負擔(dān)。例如,Uformer結(jié)構(gòu)[22]只能使用24 GB RAM處理一張360×360分辨率的圖像。
針對上述存在的問題,本文提出了一種不帶有圖像補丁的全局和局部感知網(wǎng)絡(luò)。其中,全局感知網(wǎng)絡(luò)基于MLP-Mixer的設(shè)計原則,在多尺度框架中捕獲圖像的全局特征。此外,局部信息的抽取使用U-Net來捕捉圖像的局部特征以彌補全局信息建模的不足。最后,通過融合全局和局部特征圖生成一個高質(zhì)量的系數(shù)張量,它用于輸入圖像的仿射變換。值得注意的是系數(shù)張量可以看作是一種注意力機制,它表示了帶霧圖像的局部區(qū)域應(yīng)該有相似的變換。經(jīng)過大量的實驗分析表明,所提出的用于UHD圖像去霧任務(wù)的全局感知網(wǎng)絡(luò)具有兩個優(yōu)點:1)該模型能夠有效地建模出圖像的全局特性,同時保留了圖像上的元素之間空間拓撲信息。2)全局特征和局部特征相輔相成,協(xié)同產(chǎn)生一張高質(zhì)量的超高清去霧圖像。本文算法有能力在單個24 GB RAM的RTX 3 090上以110 f/s的速度處理一張4 k分辨率的圖像,并實現(xiàn)最佳性能。值得注意的是該模型在4KID數(shù)據(jù)集中的峰值信噪比指標(biāo)達到了26.99 dB。
圖1給出了4 k分辨率圖像去霧網(wǎng)絡(luò)的架構(gòu),該網(wǎng)絡(luò)主要由兩個分支網(wǎng)絡(luò)組成,一個全局信息提取網(wǎng)絡(luò)和另一個是局部信息提取網(wǎng)絡(luò)。
圖1 全局和局部感知網(wǎng)絡(luò)框架Fig.1 Framework of global and local aware network
傳統(tǒng)的基于MLP的圖像重構(gòu)模型需要將圖像分割成若干個塊再進行特征抽取,這無疑會丟失圖像的空間拓撲信息。靈感來自于MLP-Mixer的設(shè)計原則,本文設(shè)計了一個空間MLP混合器(spatial-MLP-mixer,SMM)。具體來說,SMM將完整的特征圖X作為輸入,其中特征圖X的長度域,寬度域和通道域分別為H、W和C,X∈R(C×H×W)。然后分別使用相同的投影矩陣和激活函數(shù)以“滾動的方式”對一張圖像的寬度域、長度域和通道域進行非線性的投影?;旌掀鲏K由尺寸相等的多層MLP組成,每層由3個MLP塊組成。第1個塊是圖像的寬度混合MLP,它作用于X的行,映射RWRW,并在所有行之間共享。第2個塊是圖像的長度混合MLP,它作用于X的列(即它應(yīng)用于轉(zhuǎn)置的輸入XT),映射RHRH,并在所有列之間共享。第3個塊是圖像的通道混合MLP:它作用于X的通道維度,映射RCRC,并在所有通道之間共享。每個MLP塊包含兩個完全連接層和一個獨立應(yīng)用于輸入數(shù)據(jù)張量每個維度的非線性層。具體如下:
其中:L表示層歸一化,S是 Sigmoid函數(shù),ω表示全連接層參數(shù)。該結(jié)構(gòu)的整體復(fù)雜性在圖像中的像素數(shù)上是線性的,這與ViT (vision transformer)不同,ViT的復(fù)雜性是二次的。SMM可以通過“滾動”提取圖像的空間域信息進行長范圍依賴建模以更好地恢復(fù)圖像的顏色與紋理信息。
除此之外,多尺度特性也被考慮。多尺度特性是空間MLP學(xué)習(xí)高分辨率(high resolution,HR)圖像的高質(zhì)量特征的關(guān)鍵。為了實現(xiàn)更多的跨分辨率特征交互,在SMM開始時以不同的尺度插入交叉分辨率特征信息。為了幫助低分辨率(low resolution, LR)特征保持更多圖像細節(jié)和準確的位置信息,該算法把低分辨率特征與高分辨率特征融合。HR路徑在LR路徑中增加了更多的圖像信息以減少信息損失,并增強了反向傳播過程中的梯度流,以促進LR變換模塊的訓(xùn)練。另一方面,將LR特征合并到HR路徑中,以幫助模型獲得具有更大感受野的抽象層次的特征。具體來說,該網(wǎng)絡(luò)有3種規(guī)模(256、128和64)的多尺度SMM,框架與HRNet相同。它始終保持高分辨率表示,以獲得空間準確的全局特征圖。通過迭代融合由HR和LR子網(wǎng)絡(luò)生成的特征來合成可靠的高分辨率特征。所有的圖像下采樣和上采樣的方式都使用了雙線性插值。
為了進一步增強模型生成一張清晰的超高清去霧圖像的能力,該模型引入了圖像的局部信息提取網(wǎng)絡(luò)。該網(wǎng)絡(luò)首先將4 k分辨率帶霧輸入降低到256×256的固定分辨率(雙線性插值的方法),然后由U-Net獲取其局部特征圖。U-Net添加了一個3×3卷積層,將解碼器最后一層的通道數(shù)從64映射到3。局部提取模塊通過堆疊卷積層和池化層,可以更好地關(guān)注圖像中的局部信息關(guān)系以消除冗余的特征信息。
此外,圖像局部信息的抽取可以用于恢復(fù)清晰的邊緣特征,這些特征可以通過依賴圖像的短距離依賴進行恢復(fù)。如圖2(b)所示,本地信息提取模塊的輸出圖像具有更清晰的邊緣。相比之下,圖像的色彩信息不能僅根據(jù)該像素及其附近像素的色彩信息進行恢復(fù),還需要考慮全局的長距離依賴才能正確恢復(fù)圖像顏色。因此,通過SMM來提取圖像的長距離依賴色彩空間信息,以更好地恢復(fù)圖像顏色。如圖2(a)所示,全局信息提取模塊更側(cè)重于圖像的顏色特征。
圖2 全局和局部分支歸一化特征結(jié)果Fig.2 Results of normalized output feature maps of the global and the local branches
在本節(jié)中,通過對合成數(shù)據(jù)集和真實世界圖像進行實驗來評估所提出的方法。將所有結(jié)果與9種先進的去霧方法進行比較:AOD[17]、PSD[16]、DCP[3]、CAP[4]、NL[5]、GCANet[23]、MGBL[1]、FDMHN[24]和PFFNet[25]。此外,還進行消融研究,以表明該網(wǎng)絡(luò)在圖像去霧任務(wù)上每個模塊的有效性。
為定量的評估去霧算法的表現(xiàn),本文使用了峰值信噪比P和結(jié)構(gòu)相似性H作為評估指標(biāo),其中K表示最大值,E表示方差。
H表示干凈圖像與噪音圖像之間的均方差。
訓(xùn)練數(shù)據(jù)集總共包含13 136張霧化/真實圖像。它包括來自4KID的12 861張包含建筑物、人物、車輛、道路等的圖像和來自I-HAZE的25張室內(nèi)場景圖像和來自O(shè)-HAZE的40張室外場景圖像進一步擴充了數(shù)據(jù)的多樣性。相應(yīng)地,實驗對來自4Kdehaze的200張圖像,來自I-HAZE的5張圖像和來自O(shè)-HAZE的5張圖像進行測試。
該模型是使用PyTorch 1.7實現(xiàn)的,網(wǎng)絡(luò)是使用AdamW優(yōu)化器訓(xùn)練的。在這種情況下,一張分辨率為512×512的圖像作為輸入(輸入到模型后會借助雙線性插值被強行下采樣到256×256的分辨率),并使用8的批量大小來訓(xùn)練網(wǎng)絡(luò)。初始學(xué)習(xí)率設(shè)置為0.001。整個模型的使用了50輪次的訓(xùn)練。
對于DCP,將窗口大小設(shè)置為60×60用于測試。對于去霧模型PSD,GCANet和FDMHN,它們分別在4KID、I-HAZE和O-HAZE數(shù)據(jù)集上進行微調(diào)。網(wǎng)絡(luò)使用AdmaW優(yōu)化器進行訓(xùn)練,學(xué)習(xí)率為0.000 1。特別是對于PSD,本文使用作者提供的PSD-MSDBN模型系數(shù)進行微調(diào)。此外,對于AOD、PFFNet和MGBL,應(yīng)用Adam優(yōu)化器并將學(xué)習(xí)率設(shè)置為0.001以訓(xùn)練網(wǎng)絡(luò)。對于去霧算法NL,灰度系數(shù)γ設(shè)置為1進行測試。
所有方法都在3個數(shù)據(jù)集上進行評估,即4KID、O-HAZE和I-HAZE數(shù)據(jù)集。圖3和圖4中給出了在4KID數(shù)據(jù)集中的一張分辨率為4 k的圖像和I-HAZE數(shù)據(jù)集中的一張圖像的對比結(jié)果??梢杂^察到,傳統(tǒng)的基于物理的方法(NL、DCP、CAP)傾向于過度增強結(jié)果,導(dǎo)致顏色失真。最近的深度模型(GCANet、FDMHN、AOD、PFFNet、MGBL)由于缺乏全局建模能力,結(jié)果中仍然存在一些模糊。雖然PSD的結(jié)構(gòu)相似性優(yōu)于本文算法,但局部與全局感知網(wǎng)絡(luò)可以更快地處理分辨率為4 k的圖像并獲得更好的色彩結(jié)果。圖3(k)、4(k)中局部與全局感知網(wǎng)絡(luò)法生成的去霧結(jié)果接近圖3(l)、4(l)中的真實無霧圖像。表1表明了本文方法的有效性。同時,在同一臺具有NVIDIA 24GB RAM RTX 3 090 GPU的機器上評估所有深度模型。運行時只是GPU的處理時間,不考慮I/O操作。4KID、I-HAZE和OHAZE數(shù)據(jù)集的平均運行時間如表1所示。傳統(tǒng)方法(NL、DCP、CAP)需要解決復(fù)雜的函數(shù),這不可避免地增加了計算成本。雖然一些輕量級網(wǎng)絡(luò)(FDMHN、AOD、PFFNet、MGBL)可以實時消除分辨率為4 k的圖像的霧霾,但它們的性能不如本文模型。此外,雖然一些大型網(wǎng)絡(luò)(GCANet、PSD)實現(xiàn)了更好的性能,但它們無法實時去除單個分辨率為4 k的圖像的霧霾。
表1 4KID、I-HAZE和O-HAZE數(shù)據(jù)集上的定量評估Table 1 Quantitative evaluation of the 4KID, I-HAZE and O-HAZE datasets
圖4 在I-HAZE數(shù)據(jù)集上的測試結(jié)果Fig.4 Dehazed results on the I-HAZE dataset
然后,在真實世界的帶霧圖像上評估所提出的算法。首先,在真實捕獲的4 k分辨率帶霧圖像上與不同的先進方法進行比較。圖5給出了兩張具有挑戰(zhàn)性的真實世界圖像的結(jié)果的定性比較。如圖所示,DCP使去霧結(jié)果中的某些區(qū)域變暗,CAP和PSD遭受顏色失真,而AOD、GCANet、MGBL、FDMHN和PFFNet生成的結(jié)果有一些殘留的霧霾。相比之下,本文算法能夠生成逼真的顏色,同時更好地消除霧霾,如圖5(j)所示。
圖5 在真實4 k分辨率圖像上的去霧結(jié)果Fig.5 Dehazed results on real-world 4 k resolution images
除了4 k分辨率圖像,在其他公共數(shù)據(jù)庫下載的幾個低分辨率帶霧圖像上評估了超高清去霧算法與其他的對比方法。去霧結(jié)果如圖6所示??梢钥闯?,除本文之外的所有型號都存在顏色失真。相反,本文方法可以更好地消除霧霾并有效地產(chǎn)生逼真的色彩。
圖6 在低分辨率圖像上的去霧結(jié)果Fig.6 Dehazed results on low-resolution hazy images of real-world
為了檢驗SMM的有效性,全局與局部網(wǎng)絡(luò)還與SwinIR[19]和MLP-Mixer[26]進行了比較。所有3個模型應(yīng)用大致相同數(shù)量的參數(shù)。SwinIR和MLP-Mixer都需要將圖像分割成塊,導(dǎo)致空間拓撲信息的丟失和模型的圖像增強能力的降低。此外,SwinIR對Transformer的使用增加了其計算能力但減慢了模型的速度。如圖7所示,MLP混合器產(chǎn)生了模糊的結(jié)果,圖像中存在可見的斑塊,而SwinIR的輸出不能完全消除霧霾,并且存在顏色失真。但是,本文提出的SMM能夠更好恢復(fù)紋理和顏色。值得注意的是,對于大致相同數(shù)量的參數(shù),SMM是最快的,而SwinIR是最慢的。
圖7 空間MLP混合器、MLP混合器以及SwinIR效果對比Fig.7 The results of spatial MLP-mixer, MLP-mixer and SwinIR
為了表明所提出的網(wǎng)絡(luò)中引入的每個模塊的有效性,進行了一項消融研究,涉及以下3個實驗:全局分支的有效性,該模型移除了全局特征提取分支并直接回歸圖像以獲得最終輸出;局部分支的有效性,該模型移除UNet,直接將圖像回歸到多尺度空間MLP混合器中,以獲得最終結(jié)果;多尺度的有效性,比較了分別使用單一尺度和兩個尺度的效果,同時保持相同數(shù)量的參數(shù)。
如表2和圖8所示,局部分支依靠圖像的局部特征,在兩個指標(biāo)上取得了較好的結(jié)果,但其顏色恢復(fù)能力仍然不足。僅使用全局分支并不能給出令人滿意的結(jié)果,但其更好地提取全局信息的能力可以增強局部分支對圖像顏色的恢復(fù)。值得注意的是,對不同尺度的SMM進行消融實驗時,該模型為單尺度和雙尺度SMM堆疊了更多的MLP層,以達到與多尺度SMM相似數(shù)量的參數(shù)。顯然,出色的多尺度性能是由于多分辨率圖像提供的豐富細節(jié)。
表2 全局分支、局部分支以及多尺度的消融實驗Table 2 Ablation studies of global branch, local branch and multi-scale
圖8 在低分辨率圖像上的消融結(jié)果Fig.8 Dehazed results on low-resolution hazy images
本文提出了一種具有全局和局部感知的超高清分辨率圖像去霧的新模型。該模型的關(guān)鍵是使用全局特征提取分支的空間MLP混合器??臻gMLP混合器可以幫助模型從超高清分辨率的 (4 k)圖像中恢復(fù)顏色特征。使用局部特征分支來恢復(fù)高質(zhì)量的細節(jié)特征,為圖像去霧提供豐富的紋理信息。定量和定性結(jié)果表明,該網(wǎng)絡(luò)在準確性和推理速度方面與先進的去霧方法相比更好,并在真實世界的4 k霧霾圖像上產(chǎn)生了視覺上令人滿意的結(jié)果。