張麗華,孫鋼燦,酒明遠(yuǎn)
(1.鄭州大學(xué) 河南先進(jìn)技術(shù)研究院;2.鄭州大學(xué) 信息工程學(xué)院,河南鄭州 450001)
霧霾是一種常見(jiàn)的大氣現(xiàn)象,出現(xiàn)霧霾時(shí)空氣中懸浮各種顆粒物,比如微小水滴、冰晶、灰塵等,不僅使大氣變得渾濁,而且會(huì)吸收、反射和散射來(lái)自大氣和物體的光,令場(chǎng)景能見(jiàn)度大幅降低,導(dǎo)致采集的圖像質(zhì)量變差,圖像中有用信息急劇減少。作為計(jì)算機(jī)視覺(jué)系統(tǒng)處理圖像的源頭,采集的圖像質(zhì)量對(duì)后續(xù)的圖像處理至關(guān)重要,圖像質(zhì)量的優(yōu)劣影響應(yīng)用系統(tǒng)的安全性和穩(wěn)定性。圖像去霧技術(shù)能減小霧霾對(duì)圖像造成的負(fù)面影響,增強(qiáng)圖像對(duì)比度,恢復(fù)圖像顏色或場(chǎng)景深度,使圖像更加清晰,達(dá)到后續(xù)處理要求。因此,對(duì)圖像去霧算法進(jìn)行深入研究具有重要意義。
近年圖像去霧理論和算法研究成果頗豐,現(xiàn)將圖像去霧算法分類介紹如下。
(1)基于圖像增強(qiáng)去霧算法。這類去霧算法通過(guò)最大限度地去除圖像噪聲減小對(duì)圖像的干擾,進(jìn)而增加圖像對(duì)比度,最后達(dá)到圖像去霧目的。代表性方法有直方圖均衡化、Retinex 理論、小波變換等。楊驥等先將圖像的顏色空間從RGB 轉(zhuǎn)換到HIS,然后利用模塊間具有相似性的特點(diǎn)進(jìn)行自適應(yīng)更新,最后定義閾值裁剪直方圖;張賽楠等利用中心自適應(yīng)調(diào)節(jié)擬合函數(shù)改進(jìn)的SSR算法增強(qiáng)圖像對(duì)比度,進(jìn)而實(shí)現(xiàn)圖像去霧目的。
(2)基于圖像復(fù)原去霧算法。這類算法主要依據(jù)大氣散射模型,通過(guò)對(duì)大量不同場(chǎng)景中的有霧圖像和清晰無(wú)霧圖像進(jìn)行實(shí)驗(yàn)觀察和數(shù)據(jù)分析,發(fā)現(xiàn)其中存在的某些映射關(guān)系,然后根據(jù)霧霾圖像的形成過(guò)程進(jìn)行逆向運(yùn)算,復(fù)原出無(wú)霧圖像。Tan在馬爾科夫隨機(jī)場(chǎng)框架中構(gòu)建代價(jià)函數(shù),明顯提升了圖像的對(duì)比度,但圖像顏色會(huì)出現(xiàn)嚴(yán)重失真;Tarel 等在求取大氣光值A
時(shí)使用經(jīng)典中值濾波器,該濾波器可以保留景物邊緣細(xì)節(jié),但同時(shí)也保留了城市建筑、樹(shù)木等物體拐角處的殘霧或偽影;利用一種傳統(tǒng)的直線中值濾波器,既可以保留邊緣又可以保留鈍角,但圖像顏色會(huì)過(guò)飽和;Wang 等提出基于多尺度深度融合(MDF)的去霧算法,去霧圖像具有較好的場(chǎng)景深度,能有效緩解去霧圖像的光暈效應(yīng)和白色物體問(wèn)題,不足的是算法處理速度較慢;He 等提出暗通道先驗(yàn)理論,在非天空區(qū)域具有明顯的去霧效果,但景物邊緣存在明顯的光暈效應(yīng)且在景深處去霧不徹底。使用軟摳圖法優(yōu)化透射率,可以較好地抑制光暈效應(yīng),但是這種方法耗時(shí)長(zhǎng),在實(shí)際場(chǎng)景中應(yīng)用非常有限;張晨等利用圖像融合并通過(guò)構(gòu)造高斯函數(shù),對(duì)不同景深處的暗通道設(shè)置不同的權(quán)值。該算法在遠(yuǎn)景處去霧效果明顯,但隨著權(quán)值的增大,近景的物體顏色會(huì)過(guò)飽和;Jackson 等利用瑞利散射理論和折射率系數(shù)估計(jì)初始透射率,采用快速導(dǎo)頻濾波器對(duì)初始透射率進(jìn)行細(xì)化處理。使用該算法能得到不錯(cuò)的去霧結(jié)果,但去霧后圖像仍存在少量偽影;Salazar 等利用形態(tài)學(xué)重建來(lái)估計(jì)透射圖,保留了處理過(guò)程中各階段的重要結(jié)構(gòu),但是不適用于處理天空區(qū)域;Sun 等采用局部大氣光估計(jì)方法,彌補(bǔ)了全局大氣光值在取值方面較為單一的問(wèn)題。(3)基于深度學(xué)習(xí)去霧算法。這類方法需要對(duì)大量的仿真霧天數(shù)據(jù)集進(jìn)行訓(xùn)練,然后將得到的網(wǎng)絡(luò)結(jié)構(gòu)用于圖像去霧。Cai 等提出可訓(xùn)練的端到端系統(tǒng),采用基于神經(jīng)網(wǎng)絡(luò)的深度架構(gòu),設(shè)計(jì)專門(mén)的層來(lái)提取圖像特征,并提出雙邊校正線性單元這一新的非線性激活函數(shù)來(lái)提高復(fù)原圖像質(zhì)量;Li 等提出基于深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)的圖像去霧算法,它包括一個(gè)感知霧霾的去除子網(wǎng)和一個(gè)細(xì)化子網(wǎng),分別用來(lái)重建和優(yōu)化去霧圖像;Yin 等采用變分圖像去霧,通過(guò)創(chuàng)建彩色轉(zhuǎn)移圖像去霧模型進(jìn)行去霧,并設(shè)計(jì)基于CNN 的深度學(xué)習(xí)框架作為監(jiān)督學(xué)習(xí)策略獲取模型系數(shù)信息。
受到以上去霧方法啟發(fā),本文針對(duì)傳統(tǒng)暗通道先驗(yàn)算法去霧程度不徹底、景物邊緣存在光暈效應(yīng)以及處理速度慢等問(wèn)題,提出一種基于暗通道先驗(yàn)去霧的改進(jìn)算法。首先,對(duì)原始最小通道圖進(jìn)行底帽變換得到圖像的輪廓圖,并與原始最小通道圖的灰度反轉(zhuǎn)圖融合,補(bǔ)償暗通道的像素值;然后,將歸一化處理的最小通道圖進(jìn)行雙邊濾波和開(kāi)、閉運(yùn)算,將得到的透射圖與改進(jìn)的暗通道得到的透射圖進(jìn)行融合,優(yōu)化透射率。實(shí)驗(yàn)結(jié)果表明,本文算法能夠有效保留圖像邊緣信息,復(fù)原圖像清晰明亮,可以實(shí)現(xiàn)圖像的實(shí)時(shí)處理。
空氣中飄浮的大量顆粒物對(duì)光的散射作用是產(chǎn)生霧霾的一個(gè)關(guān)鍵原因。在圖像處理領(lǐng)域中,常用大氣散射模型描述霧天降質(zhì)圖像,其數(shù)學(xué)表達(dá)式為:
χ
=(x
,y
)表示像素坐標(biāo)點(diǎn),I
(χ
)表示有霧圖像,J
(χ
)表示無(wú)霧圖像,A 為全局大氣光值,t
(χ
)表示介質(zhì)透射率,t
(χ
)=e
,d
(x
)表示場(chǎng)景深度,β
為大氣散射系數(shù)。t
(χ
)的值與場(chǎng)景深度密切相關(guān),其值越小表示霧的濃度越大。根據(jù)式(1)可知,獲取無(wú)霧圖像J
(χ
)的關(guān)鍵在于從有霧圖像中估算出透射率t
(χ
)和大氣光值A
,但t
(χ
)顯然無(wú)法從式(1)中直接獲取,因此需要使用一些先驗(yàn)和假設(shè)來(lái)提供更多條件。t
(χ
)的估計(jì)和大氣光值A
的獲取提供了方向,其基本思想是:在大多數(shù)室外無(wú)霧圖像的RGB 三個(gè)顏色通道中,總有一些像素至少有一個(gè)顏色通道在非天空區(qū)域中具有較低甚至接近于0 的像素值。暗通道先驗(yàn)理論的數(shù)學(xué)表達(dá)式為:J
(χ
)表示暗通道圖像,J
(χ
) →0。J
表示有霧圖像某一個(gè)顏色通道的值,Ω
(χ
)表示以像素(x
,y
)為中心的矩形濾波窗口,本文中Ω
(χ
)=15。首先假設(shè)透射率t
(χ
)為一個(gè)常數(shù),根據(jù)已知條件求出大氣光值A
,然后結(jié)合式(1)和式(2)可得到透射率的表達(dá)式如下:ω
,本文中ω
=0.95。當(dāng)透射率t
(χ
)值很小時(shí),J
(χ
)將會(huì)很大,復(fù)原圖像會(huì)向白場(chǎng)過(guò)度,造成圖像失真,所以需設(shè)置一個(gè)閾值t
,使復(fù)原圖像的亮度值在一個(gè)正常范圍內(nèi)。最終去霧圖像表達(dá)式為:t
<t
時(shí),令t
=t
,t
的取值設(shè)為0.1。在圖像處理中,形態(tài)學(xué)處理是使用范圍最廣泛的技術(shù)之一,在簡(jiǎn)化圖像、保留物體形狀主要特征等方面發(fā)揮著重要作用。本文中用到的形態(tài)學(xué)處理主要有開(kāi)運(yùn)算、閉運(yùn)算和底帽變換。
形態(tài)學(xué)腐蝕指以結(jié)構(gòu)元素為模板,尋找在結(jié)構(gòu)元素鄰域范圍內(nèi)圖像像素值與結(jié)構(gòu)元素之差的最小值。形態(tài)學(xué)膨脹則是以結(jié)構(gòu)元素為模板,尋找在結(jié)構(gòu)元素鄰域范圍內(nèi)圖像像素值與結(jié)構(gòu)元素之差的最大值。形態(tài)學(xué)腐蝕和膨脹的數(shù)學(xué)表達(dá)式分別為:
I
(χ
)表示輸入圖像,B
表示結(jié)構(gòu)元素。形態(tài)學(xué)處理中,開(kāi)運(yùn)算的過(guò)程可描述為先對(duì)輸入圖像進(jìn)行腐蝕運(yùn)算后進(jìn)行膨脹運(yùn)算,根據(jù)噪聲和需要消除的目標(biāo)特點(diǎn),選取形狀合適的結(jié)構(gòu)元素,消除圖像中的孤立區(qū)域和毛刺,保持圖像亮度基本不變;閉運(yùn)算的過(guò)程可描述為先對(duì)輸入圖像進(jìn)行膨脹運(yùn)算后進(jìn)行腐蝕運(yùn)算,對(duì)圖像中物體內(nèi)的細(xì)小空洞具有填充作用,也可用來(lái)連接物體中相鄰區(qū)域之間被斷開(kāi)的部分和平滑物體邊界。開(kāi)、閉運(yùn)算表達(dá)式分別為:
暗通道先驗(yàn)算法雖然可以消除大部分霧氣,但在復(fù)原圖像的景物邊緣處往往存在明顯的光暈效應(yīng),且在景深處未能徹底去霧。本文針對(duì)這些問(wèn)題進(jìn)行改進(jìn),主要包括暗通道改進(jìn)和透射率優(yōu)化兩個(gè)部分,圖1 為本文算法流程。
I
(χ
),根據(jù)式(2),可將原始最小通道表示為:Fig.1 Flow of the proposed algorithm圖1 改進(jìn)算法流程
底帽變換是閉運(yùn)算與原圖之差。底帽變換的作用是突出圖像輪廓周?chē)炼容^暗的區(qū)域,得到較好的輪廓圖。底帽變換還可以校正不均勻光照對(duì)圖像的影響,將最小通道圖的整體亮度調(diào)整到一個(gè)合適的范圍,以便對(duì)全局大氣光值進(jìn)行更精確的估計(jì)。根據(jù)式(8),底帽變換可以表示為:
圖像融合指利用圖像處理和計(jì)算機(jī)技術(shù)等手段處理將兩幅或多幅圖像整合成一幅圖像,以便最大程度地提取和利用每幅圖像中的有利信息。將經(jīng)過(guò)底帽變換得到的輪廓圖和最小通道的灰度反圖進(jìn)行融合,可以增強(qiáng)圖像邊緣像素的像素值,優(yōu)化圖像邊緣細(xì)節(jié)。本文采用像素級(jí)的加權(quán)平均算法融合上述兩幅圖像,如圖2 所示。圖2(d)為圖像融合后的最小通道圖。
Fig.2 Calculation of dark channel圖2 暗通道計(jì)算
I
(χ
)表示對(duì)最小通道圖進(jìn)行灰度反轉(zhuǎn),w
、w
為加權(quán)系數(shù),兩者之間的關(guān)系滿足w
+w
=1。經(jīng)過(guò)反復(fù)實(shí)驗(yàn),w
、w
的取值分別為w
=0.56,w
=0.44。對(duì)融合后的圖像再次使用灰度轉(zhuǎn)換,然后進(jìn)行最小值運(yùn)算,便可得到最終的暗通道圖。
選擇經(jīng)過(guò)改進(jìn)的暗通道圖來(lái)估計(jì)大氣光值。在暗通道圖中尋找亮度值前0.1%的像素點(diǎn),將這些像素點(diǎn)的強(qiáng)度平均值作為全局大氣光值。
h
和w
分別表示暗通道圖的高和寬。對(duì)輸入圖像進(jìn)行歸一化處理:
歸一化后最小通道表示為:
t
(χ
),然后經(jīng)過(guò)雙邊濾波器和形態(tài)學(xué)處理得到透射率t
(χ
),將t
(χ
)和t
(χ
)融合,得到最終透射率t
(χ
),最后使用導(dǎo)向?yàn)V波對(duì)t
(χ
)進(jìn)行精細(xì)化處理。初始透射率可以表示為:
a
為常數(shù),作用是給圖像做線性變換從而增加圖像對(duì)比度,本文a
取值為1.15。雙邊濾波是一種常用的非線性濾波,在對(duì)圖像空間鄰近度和像素值相似度進(jìn)行折中處理的同時(shí),也考慮了圖像的空域信息和灰度相似性。本文采用雙邊濾波對(duì)初始透射率圖進(jìn)行濾波處理,目的是減少噪聲對(duì)圖像的干擾,平滑并保留圖像物體邊緣信息。雙邊濾波表示如下:
根據(jù)式(7)、式(8),對(duì)濾波后的透射圖進(jìn)行開(kāi)、閉運(yùn)算,結(jié)果如圖3(d)、圖3(e)所示。
t
(χ
)和t
(χ
)進(jìn)行融合,其數(shù)學(xué)表達(dá)式為:k
和k
為加權(quán)系數(shù),同樣k
、k
滿足k
+k
=1,經(jīng)過(guò)試驗(yàn),當(dāng)k
=0.4、k
=0.6 時(shí)圖像去霧效果最好。引導(dǎo)濾波不僅可以保持邊緣,還能夠降低圖像噪聲,因此本文使用引導(dǎo)濾波對(duì)透射率t
(χ
)進(jìn)行精細(xì)化處理。最終的透射率t
(χ
)表達(dá)如下:t
(χ
)和全局大氣光值A
,結(jié)合大氣散射模型得到復(fù)原圖像。去霧結(jié)果如圖4(b)所示。Fig.3 Calculation of transmissivity圖3 透射率計(jì)算
Fig.4 Haze removal results圖4 去霧結(jié)果
本文實(shí)驗(yàn)編譯環(huán)境為Python3.7,計(jì)算機(jī)操作系統(tǒng)為Windows10,CPU 為3GHz,運(yùn)行內(nèi)存為8GB。
為驗(yàn)證本文算法的去霧性能,選取8 幅在室外自然場(chǎng)景下拍攝的經(jīng)典霧天圖像,3 幅室外自然場(chǎng)景的合成加霧圖像和3 幅室內(nèi)場(chǎng)景的合成加霧圖像進(jìn)行實(shí)驗(yàn)觀察和分析,并將文獻(xiàn)[8]Tarel 等算法、文獻(xiàn)[10]He 等算法和Zhu等的結(jié)果與本文算法實(shí)驗(yàn)結(jié)果進(jìn)行主觀分析和客觀對(duì)比。本文中室外場(chǎng)景合成圖像選自O(shè)-HAZE 數(shù)據(jù)集,室外場(chǎng)景合成圖像選自D-HAZY 數(shù)據(jù)集。
主觀分析是通過(guò)人的視覺(jué)對(duì)圖像優(yōu)劣進(jìn)行最直觀的評(píng)價(jià)。圖5 分別給出了本文中不同去霧算法的去霧結(jié)果,圖5(a)是從自然環(huán)境中采集的有霧圖像,圖5(b)是經(jīng)過(guò)He算法處理后的去霧結(jié)果,可以看出,雖然圖像中的霧能夠基本清除,去霧后圖像整體色彩也較為自然,但是去霧不夠徹底,在第1、2、3、6 等幾幅圖中可以很直觀地看出在物體邊緣處和景深突變處存在光暈效應(yīng)。圖5(c)是Tarel算法結(jié)果,該算法整體看去霧程度很高,但景物邊緣處有明顯殘霧,如第2 幅圖像中有明顯的霧氣殘留在樹(shù)葉周?chē)粡膱D5(c)中可以看出Zhu 的算法去霧程度不均勻,在同一幅圖片不同景深處去霧效果差距很大,如第2、4、8 這3 幅圖中,中間部分去霧效果明顯比其他區(qū)域好。此外,Zhu算法復(fù)原圖像顏色出現(xiàn)過(guò)飽和,如第3 幅圖像建筑物顏色相對(duì)其他幾種算法明顯偏深;Tarel算法和Zhu算法復(fù)原圖像亮度變暗,導(dǎo)致圖像景物細(xì)節(jié)模糊,如第5 幅圖像中,由于使用這兩種算法去霧后的圖像比較昏暗,進(jìn)而導(dǎo)致無(wú)法得到較多的有用信息。圖5(e)為本文算法去霧結(jié)果,經(jīng)過(guò)幾種算法去霧效果對(duì)比,能夠明顯發(fā)現(xiàn)本文算法更加出色,如第1 幅圖像,在景物邊緣幾乎看不到明顯的光暈效應(yīng),且在景深處去霧程度較為徹底,細(xì)節(jié)恢復(fù)程度高,如第6 幅圖像,可以清楚看到遠(yuǎn)景處的樓房細(xì)節(jié)。另外,對(duì)比其他3 種算法,本文算法的去霧圖像亮度合適,如第5 幅圖像,圖中景物更加明亮清晰。
室外和室內(nèi)合成圖像去霧對(duì)比結(jié)果分別如圖6、圖7 所示。實(shí)驗(yàn)結(jié)果顯示,在這兩種場(chǎng)景中,本文算法都有較好的去霧表現(xiàn)。雖然室外合成圖像的復(fù)原結(jié)果顏色有輕微偏差,但整體來(lái)看本文算法復(fù)原圖像細(xì)節(jié)清晰,還原度較高且亮度適中,視覺(jué)效果更好。
Fig.5 Comparison of defogging effects of real-world images圖5 自然圖像去霧效果對(duì)比
Fig.6 Comparison of defogging effects of synthetic images(outside)圖6 合成圖像去霧效果對(duì)比(室外)
為了對(duì)本文算法作出更準(zhǔn)確的評(píng)價(jià),采用峰值信噪比(PSNR)、結(jié)構(gòu)相似度(SSIM)和處理時(shí)間t 作為評(píng)價(jià)指標(biāo),對(duì)復(fù)原圖像質(zhì)量進(jìn)一步分析。PSNR
表示在一幅圖像中可能產(chǎn)生的最大功率與噪聲功率的比值,PSNR
可以衡量噪聲對(duì)圖像的干擾程度,比值越高表示干擾越小。PSNR
表示為:SSIM
是描述兩幅圖像之間結(jié)構(gòu)相似性的度量指標(biāo),分別從圖像亮度l
(χ
)、對(duì)比度c
(χ
)和結(jié)構(gòu)s
(χ
)三個(gè)方面對(duì)復(fù)原圖像的相似性進(jìn)行評(píng)價(jià)。SSIM
的取值范圍為(0,1),其值越大,表示復(fù)原圖像與原圖像相似度越高。Fig.7 Comparison of defogging effects of synthetic images(indoor)圖7 合成圖像去霧效果對(duì)比(室內(nèi))
PSNR
和SSIM
兩種評(píng)價(jià)指標(biāo)的實(shí)驗(yàn)數(shù)據(jù),通過(guò)對(duì)數(shù)據(jù)分析可知,在對(duì)室外合成圖像進(jìn)行去霧時(shí),本文算法復(fù)原圖像的PSNR
值比其他算法高,表明噪聲干擾較??;SSIM
指標(biāo)的數(shù)據(jù)值更接近于1,表明本文算法去霧圖像與原圖的結(jié)構(gòu)相似度更加接近。Table 1 Comparison of PSNR results表1 PSNR 結(jié)果對(duì)比
Table 2 Comparison of SSIM results表2 SSIM 結(jié)果對(duì)比
表3 列出了4 種算法處理單幅圖像所耗費(fèi)的時(shí)間,從表中可以看出,He算法時(shí)間消耗最多,而本文算法處理時(shí)間最短。綜合3個(gè)圖像質(zhì)量評(píng)價(jià)指標(biāo)的對(duì)比結(jié)果可以得出,本文算法的去霧效果更加出色,不僅復(fù)原圖像的對(duì)比度和清晰度大幅提高,圖像視覺(jué)效果好,而且處理速度也有較大優(yōu)勢(shì)。
Table 3 Comparison of running time(seconds)表3 處理時(shí)間對(duì)比 (s)
本文提出一種基于底帽變換與圖像融合的圖像去霧算法。首先改進(jìn)圖像暗通道,利用底帽變換和圖像融合對(duì)暗通道的像素值進(jìn)行補(bǔ)償,同時(shí)調(diào)整圖像整體背景亮度,從而能夠更加精確地估計(jì)大氣光值;然后利用雙邊濾波和形態(tài)學(xué)處理、改進(jìn)的暗通道分別對(duì)透射率進(jìn)行估計(jì),再將兩者進(jìn)行圖像融合,從而優(yōu)化圖像透射率。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)暗通道先驗(yàn)算法相比,本文算法處理后的圖像PSNR 和SSIM 指標(biāo)分別提高了4.3%和8.5%,處理時(shí)間減少了98.5%,證明本文算法能夠有效恢復(fù)圖像細(xì)節(jié),節(jié)約時(shí)間成本。本文算法能夠運(yùn)用到視頻中實(shí)現(xiàn)實(shí)時(shí)去霧,但此過(guò)程會(huì)出現(xiàn)輕微閃爍現(xiàn)象,下一步將針對(duì)此現(xiàn)象展開(kāi)研究。