章星晨,孫劉杰
(上海理工大學(xué),上海 200093)
近年來,環(huán)境污染越來越嚴(yán)重,SO2、NOX和顆粒物急劇增加。前兩種是氣態(tài)污染物,但顆粒物是造成霧霾的最重要原因。霧霾會(huì)大大降低圖像場(chǎng)景的可視性,圖像中的遠(yuǎn)景和細(xì)節(jié)模糊不清,且會(huì)有顏色偏移與失真現(xiàn)象,極大地影響了圖像的質(zhì)量和相關(guān)的應(yīng)用。圖像去霧的主要任務(wù)是減弱氣象因素對(duì)圖像質(zhì)量的影響,提高圖像的可視性。它是一個(gè)具有廣泛應(yīng)用前景的交叉學(xué)科,已成為計(jì)算機(jī)視覺和圖像處理領(lǐng)域的熱點(diǎn)話題之一。
現(xiàn)如今,人們?cè)趫D像去霧領(lǐng)域取得了重大的進(jìn)展,提出了大量的去霧算法。Tan等[1]通過最大化局部對(duì)比度的方法實(shí)現(xiàn)去霧以增強(qiáng)圖像的可視性,然而往往會(huì)產(chǎn)生顏色過飽和的結(jié)果,并且可能在深度信息變化較大的地方產(chǎn)生光暈偽影現(xiàn)象。這種現(xiàn)象是由于在對(duì)比度最大化過程中高估了霧度濃度造成的,這是使用圖像增強(qiáng)技術(shù)而不是基于物理學(xué)的方法的結(jié)果。He等[2]假設(shè)在清晰圖像中暗通道值接近于0,但這種假設(shè)在場(chǎng)景物體與大氣光相似時(shí)是不成立的。并且該方法在對(duì)傳輸圖優(yōu)化時(shí)采用的是軟摳圖算法,這種算法復(fù)雜度很高,極大地消耗了內(nèi)存,使處理速度變得緩慢,不能實(shí)現(xiàn)圖像的實(shí)時(shí)處理。為了解決此問題,Shi等[3]采用導(dǎo)向?yàn)V波方法代替軟摳圖算法,但是該方法會(huì)出現(xiàn)去霧不徹底的問題。此外,Tang等[4]在基于隨機(jī)森林的回歸框架上研究有霧圖像和霧相關(guān)的多個(gè)特征,相比He方法有較大提升,但是整體圖像偏暗。一些研究人員還針對(duì)特定的應(yīng)用提出了相應(yīng)算法,如Huang等[5]提出了改善道路視覺的方法,Yan等[6]將去霧延伸到交通標(biāo)志識(shí)別中等。由于圖像去霧最主要的任務(wù)是從輸入圖像中估計(jì)傳輸圖和求出全局大氣光的值,所以文中提出了一種基于引導(dǎo)濾波和變差函數(shù)的圖像去霧算法。該算法相比較于其他算法,所恢復(fù)出的圖像更加清晰自然,視覺效果更好。
在計(jì)算機(jī)視覺中,描述霧霾圖像的模型[7]表達(dá)式如下:
I(x)=J(x)t(x)+A(1-t(x))
(1)
其中,x為圖像中像素的位置坐標(biāo);I(x)和J(x)分別為霧天降質(zhì)圖像和場(chǎng)景輻射照度(清晰無霧的圖像);A為整體大氣光值;t(x)為介質(zhì)傳輸率。假設(shè)霧氣是均勻的,此時(shí)介質(zhì)傳輸率t(x)可表示為:
t(x)=e-βd(x),0≤t(x)≤1
(2)
其中,β為大氣散射系數(shù);d(x)為場(chǎng)景深度。
式1中J(x)t(x)稱為直接衰減項(xiàng),是描述場(chǎng)景輻射照度在介質(zhì)中的衰減;A(1-t(x))表示大氣光幕,描述場(chǎng)景成像加入的大氣散射光,是它造成了場(chǎng)景的模糊和圖像失真[7]。
圖像去霧的目的是從霧天降質(zhì)圖像I(x)中恢復(fù)出J(x),將式1變換得到:
(3)
因此,若想恢復(fù)出清晰無霧的圖像J(x),需要獲得透射率t(x)和整體大氣光值A(chǔ)的大小。
He等[2]提出的暗原色先驗(yàn)理論是通過對(duì)大量戶外無霧圖像做統(tǒng)計(jì)得出的一個(gè)先驗(yàn)規(guī)律。他們通過統(tǒng)計(jì)規(guī)律發(fā)現(xiàn)了在絕大多數(shù)戶外無霧圖像中,總是存在一些像素的RGB通道中某個(gè)像素通道的亮度值很低,且接近于0。暗通道先驗(yàn)可用式4表示:
(4)
其中,Jdark(x)表示暗通道圖像,這個(gè)值往往非常低,甚至趨近于0;Ω(x)表示以x為中心的區(qū)域;Jc表示圖像RGB三通道的一個(gè)顏色通道[8]。
通過變換后的式3可知,要想還原出無霧圖像,首先要知道透射率t和大氣光值A(chǔ)。首先,假設(shè)大氣光值A(chǔ)是已知的,將式1兩端同時(shí)除以A,得出:
(5)
然后對(duì)兩邊做兩次最小值處理,得到:
1-t(x)
(6)
根據(jù)暗原色先驗(yàn)理論可知,無霧圖像的暗原色值很低,且趨近于0,即
(7)
所以可以得到粗略的透射率值,表達(dá)式為:
(8)
為了使復(fù)原后的圖像更加真實(shí)自然,可以引入一個(gè)參數(shù)w(0 (9) 粗略的透射率t估計(jì)值已求出,接下來是求出大氣光A的大小。A的值由暗原色像素亮度值最大的前0.1%的平均光強(qiáng)決定。當(dāng)t和A的值都已經(jīng)求出來了,就可以用物理模型來得到最后的無霧圖像[9-11]。因?yàn)楫?dāng)透射率t的值很小時(shí),J的值就會(huì)偏大,從而使圖像整體白場(chǎng)過度,所以通常設(shè)置一個(gè)閾值t0,當(dāng)t (10) 引導(dǎo)濾波是一種較好的邊緣平滑濾波器,對(duì)圖像細(xì)節(jié)增強(qiáng)、圖像邊緣平滑和圖像融合去噪的實(shí)現(xiàn)都有不錯(cuò)的效果。引導(dǎo)濾波的基本原理[12]:輸入圖像可通過一幅引導(dǎo)圖像來進(jìn)行濾波,輸出圖像能夠保留輸入圖像的整體特征,并且又能夠獲取引導(dǎo)圖像的細(xì)節(jié)變化。式9估計(jì)的透射率是不夠精確的,He等為了提高透射率的精確度,采用軟摳圖的方法進(jìn)行優(yōu)化,但是這種方法實(shí)現(xiàn)起來所花費(fèi)的時(shí)間較多,且過程復(fù)雜,實(shí)時(shí)處理效果不好。因此文中采取引導(dǎo)濾波對(duì)透射率t(x)進(jìn)行估計(jì)。首先將p記為輸入圖像,q記為輸出圖像,I記為引導(dǎo)圖像。以k為中心的窗口wk中有如下的線性關(guān)系[13]: qi=akIi+bk,?i∈wk (11) 其中,i和k是像素索引;ak和bk是當(dāng)窗口中心位于k時(shí)該線性函數(shù)的系數(shù),是兩個(gè)固定值。 對(duì)式11兩邊取梯度,可以得到如下關(guān)系式: (12) 即當(dāng)輸入圖像I有邊緣時(shí),輸出q也有類似的邊緣,所以引導(dǎo)濾波才會(huì)有良好的邊緣保持特性。接下來要求出線性系數(shù)ak和bk,也就是線性回歸,即希望輸出圖像與輸入圖像之間的差值最小,最小代價(jià)函數(shù)表達(dá)式如下: (13) 其中,ε為規(guī)整化因子,主要是防止ak取值過大。 要進(jìn)行透射率估計(jì),首先把透射率圖作為輸入圖像,使之進(jìn)行自引導(dǎo)濾波處理,此時(shí)濾波半徑r取值為1,規(guī)整化因子取值為0.01,這是對(duì)輸入圖像進(jìn)行去噪處理,得到濾波后的圖像q1。將濾波后的圖像作為輸入圖像,此時(shí)取濾波半徑r為30,規(guī)整化因子取值為0.01,再次進(jìn)行引導(dǎo)濾波,得到平滑后的圖像q2。因?yàn)樵谶M(jìn)行引導(dǎo)濾波的過程中,濾波半徑r越大,透射圖的邊緣細(xì)節(jié)會(huì)更加優(yōu)化,但如果r值過大,又會(huì)使去霧后的圖像出現(xiàn)過飽和現(xiàn)象,達(dá)不到預(yù)期效果。之后利用公式I'=(I-q2)t+q2對(duì)透射率圖進(jìn)行增強(qiáng)處理,t表示倍乘系數(shù),通常倍乘系數(shù)取值為6時(shí),亮度及信息熵達(dá)到最好狀態(tài)。最后將I'作為輸入圖像,再次執(zhí)行上述步驟,得到最后的增強(qiáng)圖像。 對(duì)透射率圖進(jìn)行兩次引導(dǎo)濾波處理,可以使圖像得到進(jìn)一步增強(qiáng),但是若繼續(xù)進(jìn)行第三次引導(dǎo)濾波處理,則會(huì)使圖像出現(xiàn)光暈現(xiàn)象。 大多數(shù)單幅圖像去霧算法從圖像相關(guān)像素中獲取大氣光值。Tan等[1]使用最大亮度值作為原始圖像中的大氣光照,但在實(shí)際應(yīng)用中,最亮的像素可能駐留在白色物體中。He等[2]使用暗通道先驗(yàn)規(guī)則來估計(jì)大氣光值,按降序排列每個(gè)像素的亮度值,并確保頂部0.1%像素的亮度值位于暗通道位置。因此,原始霧天圖像中這些位置的最大值就是大氣光照值A(chǔ)。這種方法在實(shí)驗(yàn)中很有效,但因?yàn)樘炜諈^(qū)域?qū)Υ髿夤庹罩档倪x擇有相當(dāng)大的影響,所以受到一定的限制。在RGB色彩空間中,因?yàn)槿ǖ乐荡?,所以使得整個(gè)圖像的大氣光值變大。在He等的工作基礎(chǔ)上,提出了基于變差函數(shù)估計(jì)大氣光,可以減少或消除天空區(qū)域?qū)Υ髿夤庵档挠绊憽?/p> 把RGB顏色空間看做一個(gè)正方體,有霧的天空區(qū)域主要分布在對(duì)角線周圍,所以,對(duì)于原始霧天圖像,有: (14) m=(b+g+r)/3 (15) 其中,S為單個(gè)像素的方差;k為一個(gè)比例系數(shù);m為單個(gè)像素的平均灰度值。 S在天空區(qū)域的值非常小,但在非天空區(qū)域的值較大??梢允褂妙伾▌?dòng)的概念來衡量S。顏色波動(dòng)越大,S就越大,顏色就越亮。但隨著景深距離的增加,明亮的物體會(huì)變暗。 為了拉伸變差函數(shù)的對(duì)比度,使之效果更加明顯,引入了一個(gè)比例系數(shù)λ代入式14、式15,得出: (16) (17) 文中取k=30,所以λ=17。 另外,可以利用變差函數(shù)概念[14]來選取合適的閾值,通過像素是來自天空區(qū)域還是其他的白色物體來判斷原始暗通道圖像中的亮點(diǎn)是否有效。使用Δ作為選定的閾值。設(shè)置Δ=36,如果S的值小于等于36,就認(rèn)為最明亮的點(diǎn)來自天空區(qū)域或白色物體,并丟棄此數(shù)據(jù);如果S的值大于等于36,那么該值就是測(cè)量大氣光照值的有效基礎(chǔ)。通過使用該閾值來避免白色或天空區(qū)域的影響,可以有效地保證為整個(gè)圖像選擇的大氣光照值是合理的。 為了驗(yàn)證文中算法的有效性,將文中算法與算法AHE、DCP進(jìn)行比較。選取了兩幅原始霧天圖像,采用不同算法進(jìn)行處理,并采用主客觀的方式[15]進(jìn)行評(píng)價(jià)。結(jié)果如圖1和圖2所示。 圖1 文中算法與AHE、DCP算法的去霧效果對(duì)比(1) 由圖2的處理結(jié)果可以看出,文中算法對(duì)于天空區(qū)域的處理具有較好的效果,這是由于大氣光估計(jì)的比較準(zhǔn)確。而從其他圖像可以看出,經(jīng)過自適應(yīng)直方圖均衡化處理后的結(jié)果圖有過飽和、顏色偏移和失真現(xiàn)象,DCP方法較之AHE方法有很大的進(jìn)步,但整體顏色偏暗,而文中算法就很好地克服了這些缺點(diǎn),恢復(fù)的圖像比較清晰自然,色彩保持度也非常好。 圖2 文中算法與AHE、DCP算法的去霧效果對(duì)比(2) 為了客觀評(píng)價(jià)上述各算法的去霧效果,文中采取峰值信噪比(PSNR)和信息熵(IE)兩種評(píng)價(jià)指標(biāo)來進(jìn)行定量分析。峰值信噪比在圖像評(píng)價(jià)中是最直接、應(yīng)用時(shí)間最長(zhǎng)的一種指標(biāo),反映了待評(píng)價(jià)圖像的結(jié)構(gòu)完整度以及逼真度。PSNR值越大,說明抗噪聲能力越好。信息熵表示圖像包含的信息量,信息熵越大,說明圖像包含的信息量越大,圖像細(xì)節(jié)也越豐富。根據(jù)表1和表2的數(shù)據(jù)分析,可知文中算法與其他兩種算法相比有很大的優(yōu)勢(shì),去霧效果更好。 表1 圖1中不同算法處理結(jié)果比較 表2 圖2中不同算法處理結(jié)果比較 文中提出了一種基于引導(dǎo)濾波和變差函數(shù)的圖像去霧算法。首先,使用兩次引導(dǎo)濾波對(duì)暗原色先驗(yàn)?zāi)P偷耐干渎蔬M(jìn)行優(yōu)化,然后利用變差函數(shù)來選取合適的閾值,從而選取準(zhǔn)確的大氣光值,最后將得到的參數(shù)代入去霧物理模型中完成去霧處理。實(shí)驗(yàn)結(jié)果表明,提出的變差函數(shù)可以對(duì)大氣光進(jìn)行準(zhǔn)確估計(jì),有效避免了天空區(qū)域的影響。而兩次引導(dǎo)濾波的處理也對(duì)透射率進(jìn)行很好的優(yōu)化。從處理后的圖和相應(yīng)的數(shù)據(jù)可以看出,該算法恢復(fù)出的圖像較于其他去霧算法相比更加清晰自然,視覺效果更好。2 去霧算法的改進(jìn)
2.1 基于引導(dǎo)濾波的透射率估計(jì)
2.2 基于變差函數(shù)估計(jì)大氣光值
3 實(shí)驗(yàn)結(jié)果與分析
4 結(jié)束語