王文慶,孫 柯,黃世奇,盧 瑩
(1.西安郵電大學(xué) 自動(dòng)化學(xué)院,陜西 西安 710121;2.西安郵電大學(xué) 西安市先進(jìn)控制與智能處理重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710121)
在霧霾氣候條件的作用下,大氣中懸浮粒子數(shù)量不斷增加,導(dǎo)致光線的正常傳輸受到影響,會(huì)干擾圖像采集設(shè)備對(duì)圖像的采集。對(duì)遙感圖像進(jìn)行采集時(shí),大氣中的粒子散射作用會(huì)導(dǎo)致傳感器的成像質(zhì)量下降,遙感圖像中的物體模糊不清,信息存在一定的損失。因此,圖像去霧的重要性不容忽視[1-2]。
目前,圖像去霧方法主要包括基于圖像增強(qiáng)的去霧方法、基于物理模型復(fù)原的圖像去霧方法和基于深度學(xué)習(xí)的圖像去霧方法。基于圖像增強(qiáng)的去霧方法原理是通過(guò)對(duì)比度的增強(qiáng),突出圖像中背景與目標(biāo)的差別來(lái)提高圖像的視覺(jué)效果,從而達(dá)到一個(gè)去霧的目的。常見(jiàn)的方法有直方圖均衡化[3-4]、基于Retinex的增強(qiáng)算法[5]和基于小波變換的對(duì)比度增強(qiáng)去霧方法等[6-7]。這種方法有較高的時(shí)效性和廣泛的適用性,在圖像去霧領(lǐng)域較為常用。但是,該類方法是從人眼視覺(jué)效果出發(fā),沒(méi)有考慮圖像降質(zhì)的根本原因,在處理霧霾較為均勻的圖像時(shí)能夠取得較好的效果,但對(duì)于霧霾不均勻的圖像往往會(huì)產(chǎn)生不可預(yù)測(cè)的失真。基于物理模型復(fù)原的圖像去霧方法主要是通過(guò)對(duì)成像的物理過(guò)程進(jìn)行分析,考慮圖像受霧霾影響而退化的主要原因。通過(guò)對(duì)大量無(wú)霧圖像和有霧圖像觀察總結(jié),建立精確的物理模型來(lái)呈現(xiàn)有無(wú)圖像和原始無(wú)霧圖像的關(guān)系,最終從有霧圖像反推出無(wú)霧圖像[8]。該類方法的核心是需要盡可能精確地得到物理模型中的參數(shù)值,最終得到復(fù)原圖像。最經(jīng)典的方法是He等[9]提出的暗通道先驗(yàn)理論(Dark Channel Prior,DCP)。該理論是根據(jù)暗通道統(tǒng)計(jì)規(guī)律,通過(guò)求解大氣散射模型的逆過(guò)程恢復(fù)清晰圖像,屬于圖像復(fù)原的范疇。在正常的成像過(guò)程中,大氣光包括太陽(yáng)的直射光、場(chǎng)景的反射光及大氣的散射光等,而該類方法一般只將大氣光作為全局常量,會(huì)導(dǎo)致遠(yuǎn)景去霧效果減弱,并伴隨光暈現(xiàn)象。
隨著計(jì)算機(jī)技術(shù)以及硬件條件的迅速發(fā)展,以數(shù)據(jù)為驅(qū)動(dòng)的基于機(jī)器學(xué)習(xí)的圖像去霧方法,特別是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)被廣泛應(yīng)用于圖像去霧領(lǐng)域中[10]。基于卷積神經(jīng)網(wǎng)絡(luò)去霧方法大致分為兩類,一類是使用卷積神經(jīng)網(wǎng)絡(luò)生成大氣散射模型中所需要的大氣光、透射率等參數(shù),再通過(guò)大氣散射模型還原圖像。另一類是使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直接端到端地生成無(wú)霧圖像。文獻(xiàn)[11]提出一種基于生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)去霧模型,實(shí)現(xiàn)起來(lái)較為復(fù)雜并且需要大量的樣本對(duì)。2016年,Cai等[12]首次提出了Dehaze Net去霧網(wǎng)絡(luò),該網(wǎng)絡(luò)用于估計(jì)有霧圖像的透射率,主要通過(guò)特征提取、局部極值、非線性回歸和多尺度映射形成的端到端的卷積神經(jīng)網(wǎng)絡(luò)系統(tǒng)進(jìn)行去霧[13-14]。采用GAN實(shí)現(xiàn)端到端圖像去霧算法[15]可直接從有霧圖像恢復(fù)出無(wú)霧圖像。但是,基于卷積神經(jīng)網(wǎng)絡(luò)去霧方法在應(yīng)用于真實(shí)霧天圖像時(shí)會(huì)出現(xiàn)過(guò)飽和或去霧不徹底的現(xiàn)象。結(jié)合神經(jīng)網(wǎng)絡(luò)和暗通道先驗(yàn)的去霧方法[16]能夠處理偏色圖像,但在處理天空區(qū)域的室外圖像時(shí),天空區(qū)域會(huì)有明顯的光暈現(xiàn)象。
為了改善傳統(tǒng)暗通道先驗(yàn)算法對(duì)圖像去霧霾時(shí)會(huì)出現(xiàn)估算的大氣透過(guò)率比實(shí)際值偏低,導(dǎo)致恢復(fù)影像的色彩與真實(shí)情形出現(xiàn)偏差的問(wèn)題,擬提出一種改進(jìn)的暗通道先驗(yàn)圖像去霧霾算法。基于物理模型復(fù)原方法的優(yōu)點(diǎn),改善透射率參數(shù)選擇方法,從圖像受霧霾影響而退化的主要原因出發(fā)還原圖像,以期較好地保持圖像色彩和圖像質(zhì)量。
暗通道先驗(yàn)是一個(gè)統(tǒng)計(jì)規(guī)律,該規(guī)律認(rèn)為在大多數(shù)無(wú)霧圖像中(不包含天空區(qū)域),總存在一個(gè)像素值極低、甚至接近于0的通道,將此通道稱為暗通道。暗通道去霧是基于物理模型還原的去霧方法,采用McCartney大氣散射模型[17],該模型用公式描述為
I(x)=J(x)t(x)+A(1-t(x))
(1)
式中:x為像素的坐標(biāo);I(x)為有霧圖像;J(x)為去霧后圖像;t(x)表示圖像的透射率,所描述的是到達(dá)成像鏡頭且未被散射掉的光;A為大氣光值。由式(1)可知,利用大氣散射模型對(duì)圖像去霧的關(guān)鍵是求得大氣光值A(chǔ)以及透射率t(x),得到這些關(guān)鍵參數(shù)后,代入式(1)通過(guò)等式的數(shù)學(xué)變形便可得到J(x)。
暗通道先驗(yàn)理論指出,在大多數(shù)非天空局部區(qū)域中,幾乎每一個(gè)像素點(diǎn)都至少一個(gè)通道具有特別低的灰度值,這個(gè)值接近于零[18]。由此,對(duì)于任意一幅輸入的圖像J,其暗通道Jdark的數(shù)學(xué)公式可定義為
(2)
大氣光值A(chǔ)反映了影像上霧最濃區(qū)域的值,通過(guò)暗通道圖像可獲取大氣光值。因此,在實(shí)際中,將提取暗通道上最亮的前0.1%像素,取出其相對(duì)應(yīng)的原始有霧圖像上對(duì)應(yīng)位置具有最大亮度的像素點(diǎn)的值作為大氣光值。
得到大氣光值A(chǔ)后,對(duì)式(1)兩端分別計(jì)算其暗通道圖,得到
(3)
將式(2)代入式(3)可得透射率為
(4)
但是,在實(shí)際的戶外圖像中,即使是在晴朗的天氣里,空氣中仍存在著一些粒子,使得人們?cè)谙蜻h(yuǎn)處看的時(shí)候會(huì)覺(jué)得有一些極薄的霧存在,同時(shí),這些霧給人的眼睛以景深的存在。因此,在式(4)的基礎(chǔ)上,加入一個(gè)調(diào)節(jié)景深的因子w(取值為0~1),則得到估計(jì)的透射率為
(5)
由此得出的透射率是粗估計(jì),還需進(jìn)一步通過(guò)軟扣圖或引導(dǎo)濾波等方法進(jìn)一步細(xì)化。將求得的大氣光值和透射率代入式(1),可還原出原圖
(6)
霧和霾具有不同的形成過(guò)程和不同的形態(tài)結(jié)構(gòu)。霧是一種常見(jiàn)的自然天氣,其實(shí)質(zhì)上是懸浮在空氣中凝結(jié)的小水珠,具有不均勻的特性。而霾是指懸浮在空氣中的細(xì)小顆粒,霾的來(lái)源也比較豐富,如煙、塵等。暗通道先驗(yàn)算法對(duì)圖像去霧和去霾均可適用,但對(duì)圖像去霾有時(shí)也會(huì)出現(xiàn)估算的大氣透過(guò)率比實(shí)際值偏低,導(dǎo)致恢復(fù)影像的色彩與真實(shí)情形出現(xiàn)偏差的問(wèn)題。為了改善該問(wèn)題,改進(jìn)的暗通道先驗(yàn)圖像去霧霾算法對(duì)透射率參數(shù)選擇方法上進(jìn)行改善,從而達(dá)到較好的去霧霾效果。
將傳統(tǒng)大氣光的求法進(jìn)行改進(jìn),提取暗通道中亮度最高的前0.1%的像素,找出原始有霧圖像上對(duì)應(yīng)位置處像素點(diǎn)的平均值。
在計(jì)算粗透射率的式(5)中,w的選取一般是根據(jù)經(jīng)驗(yàn)值確定,DCP算法中w取0.95[9],但根據(jù)測(cè)試,w的選取對(duì)最終的去霧效果有較大的影響。文獻(xiàn)[19]提出一種結(jié)合峰值信噪比(Peak Signal to Noise Ratio,PSNR)信息自適應(yīng)調(diào)節(jié)霧氣參數(shù)w的暗通道先驗(yàn)去霧改進(jìn)算法。通過(guò)設(shè)定具體初值和步長(zhǎng)采用迭代的方法,求出PSNR最優(yōu)時(shí)所對(duì)應(yīng)的w值。峰值信噪比與原圖和處理后的圖像都相關(guān),由此特性可通過(guò)迭代法求出最優(yōu)w值。
大量實(shí)驗(yàn)驗(yàn)證表明,w的選取在0到1之間且接近于1時(shí)去霧效果是最好的,而如果需要對(duì)w進(jìn)行迭代取最優(yōu)時(shí),w取0.4~0.6時(shí)既能夠保證不錯(cuò)失最優(yōu)值,也能夠保證算法的運(yùn)行速度。為盡可能提升迭代算法的運(yùn)算速度,先選取w的初值為0.6,根據(jù)此值得出粗透射率,再計(jì)算出此時(shí)的PSNR值。然后w以0.01的步長(zhǎng)增加,得到一個(gè)新的透射率以及新的PSNR,將此時(shí)的PSNR與上一步對(duì)比,若PSNR增大則繼續(xù)迭代,直至PSNR不再增大或者增大值小于0.001則認(rèn)為其是最優(yōu)的PSNR。而此時(shí)也就是最后一步迭代的w值,將作為最終計(jì)算粗透射率的w值。
在透射率優(yōu)化方面,常用的有軟扣圖、雙邊濾波和引導(dǎo)濾波等方法。文獻(xiàn)[20]采用的軟扣圖細(xì)化透射率,但是這種方法具有計(jì)算復(fù)雜度高、耗時(shí)長(zhǎng)的缺點(diǎn)。隨后,雙邊濾波被提出替代軟摳圖法修復(fù)透過(guò)率圖,并且達(dá)到了較好的處理效果。導(dǎo)向?yàn)V波同雙邊濾波類似,具有邊緣保持、圖像平滑的特性,但與雙邊濾波相比,一方面,導(dǎo)向?yàn)V波在算法的時(shí)間復(fù)雜度和空間復(fù)雜度都有很大幅度的降低,其時(shí)間復(fù)雜度與濾波核的尺寸和亮度范圍無(wú)關(guān)。另一方面,導(dǎo)向?yàn)V波避免了雙邊濾波在邊緣附近產(chǎn)生的“梯度逆轉(zhuǎn)”偽影效應(yīng),其在圖像邊緣有著更好的處理效果,極大保留了圖像邊緣特性,且平滑了圖像邊緣。因此,為使透過(guò)率圖更加平滑,同時(shí)使景物的邊緣、輪廓更加突出,改進(jìn)算法采用導(dǎo)向?yàn)V波優(yōu)化透過(guò)率圖,改善透過(guò)率圖存在的缺陷。在得到優(yōu)化的透射率之后,通過(guò)有霧圖像物理模型,即將大氣光和優(yōu)化的透射率帶入式(6)可復(fù)原圖像。改進(jìn)算法流程如圖1所示。

圖1 改進(jìn)算法原理流程
改進(jìn)算法具體步驟如下。
步驟1在暗通道中獲取亮度最高的前0.1%的像素,找出原始有霧圖像上對(duì)應(yīng)位置處像素點(diǎn)的平均值,作為大氣光值A(chǔ)。
步驟2求暗通道圖像,依據(jù)大量實(shí)驗(yàn)和經(jīng)驗(yàn),w選取初值為0.6,計(jì)算透射率以及PSNR。
步驟3選取步長(zhǎng)為0.01增大w。
步驟4再次計(jì)算透射率以及PSNR。根據(jù)經(jīng)驗(yàn)w最佳值應(yīng)當(dāng)接近于1,而第二步選取的w初值為0.6,因此此時(shí)的PSNR值應(yīng)當(dāng)大于第二步的PSNR值。故可通過(guò)重復(fù)第三、四步直到PSNR達(dá)到最優(yōu)值,即當(dāng)PSNR值開(kāi)始降低或增量小于0.01時(shí),輸出最終的透射率。
步驟5利用導(dǎo)向?yàn)V波對(duì)初步獲得的透射率通過(guò)引導(dǎo)濾波進(jìn)行精細(xì)化處理得到細(xì)透射率。
步驟6利用獲得的大氣光值和精細(xì)透射率代入物理模型的變形式即式(6)還原圖像。
以Matlab 2016a為實(shí)驗(yàn)操作平臺(tái),選取戶外采集的不同時(shí)間段不同類型的6個(gè)場(chǎng)景霧天圖像,通過(guò)直方圖均衡化算法、DCP算法以及改進(jìn)算法等3種算法分別對(duì)有霧圖像進(jìn)行圖像去霧處理仿真,對(duì)比結(jié)果圖像與原始圖像的去霧效果。其中,濃霧圖像去霧效果分別如圖3和圖4所示,淡霧圖像去霧效果分別如圖2和圖5所示,含大量天空區(qū)域的圖像去霧效果如圖7所示。

圖2 3種算法對(duì)場(chǎng)景1的去霧效果對(duì)比

圖3 3種算法對(duì)場(chǎng)景2的去霧效果對(duì)比

圖5 3種算法對(duì)場(chǎng)景4的去霧效果對(duì)比

圖6 3種算法對(duì)場(chǎng)景5的去霧效果對(duì)比

圖7 3種算法對(duì)場(chǎng)景6的去霧效果對(duì)比
由圖2—圖7可以看出,場(chǎng)景1、場(chǎng)景2和場(chǎng)景3為近景圖像,且含有較少的天空區(qū)域,此類圖片經(jīng)過(guò)直方圖均衡化算法以及DCP算法處理后都會(huì)有色彩偏差的現(xiàn)象,圖像的整體色彩與原圖不符。而對(duì)于場(chǎng)景4、場(chǎng)景5和場(chǎng)景6這類遠(yuǎn)景且含有大量天空區(qū)域的圖像,經(jīng)DCP算法處理后對(duì)天空區(qū)域的處理效果欠佳,存在較明顯的光暈現(xiàn)象以及色彩偏差等現(xiàn)象。這是因?yàn)橹狈綀D均衡化算法片面地對(duì)圖像的質(zhì)量進(jìn)行增強(qiáng),并未考慮到圖像降質(zhì)的具體原因,去霧圖像的失真嚴(yán)重且去霧效果不明顯。采用DCP算法去霧時(shí),有的影像因?yàn)槭艿降孛嫫恋匚镉绊?使得大氣光值計(jì)算出現(xiàn)偏差,導(dǎo)致去霧后顏色發(fā)生了偏移,特別是對(duì)于含有大片天空區(qū)域圖像的去霧,會(huì)出現(xiàn)光暈現(xiàn)象以及色彩失真等現(xiàn)象。而采用改進(jìn)算法進(jìn)行去霧時(shí),不會(huì)出現(xiàn)明顯的光暈,在處理天空時(shí)效果較好,且去霧后的圖像符合正常的人眼視覺(jué)感受,更接近正常的清晰圖像。
為進(jìn)一步驗(yàn)證改進(jìn)算法的去霧效果,對(duì)比直方圖均衡化算法、DCP算法和改進(jìn)算法等3種算法的圖像去霧PSNR和信息熵,結(jié)果分別如表1和表2所示。信息熵[21]能夠評(píng)價(jià)圖像的細(xì)節(jié)信息,取值越大,圖像細(xì)節(jié)信息越豐富,去霧越徹底。PSNR[22]描述圖像最大像素值與噪聲的比值,PSNR值越大,圖像越清晰。

表1 3種算法的PSNR對(duì)比結(jié)果

表2 3種算法的信息熵對(duì)比結(jié)果
從表1中可以看出,直方圖均衡化算法的PSNR指標(biāo)雖優(yōu)于改進(jìn)算法,但對(duì)應(yīng)其處理場(chǎng)景1圖像,即圖2(b)的去霧效果并不明顯,且有顏色失真的現(xiàn)象,視覺(jué)效果沒(méi)有改進(jìn)算法好。從表2中可以看出,6個(gè)場(chǎng)景中直方圖均衡化算法的信息熵?cái)?shù)據(jù)都不太理想,這也是由于直方圖均衡化算法只是片面地增強(qiáng)圖像質(zhì)量,而信息熵偏低會(huì)導(dǎo)致很難保留較多的圖像信息。DCP算法處理后的信息熵?cái)?shù)據(jù)雖然效果好,但表1中該方法的PSNR值普遍偏低,特別是場(chǎng)景1,而改進(jìn)算法針對(duì)PSNR值選用圖像物理模型復(fù)原公式,即式(5)中w值經(jīng)過(guò)迭代優(yōu)化,能夠得到較好的PSNR數(shù)據(jù)。另外,通過(guò)導(dǎo)向?yàn)V波對(duì)透射率進(jìn)行優(yōu)化,得到的結(jié)果沒(méi)有明顯的光暈現(xiàn)象,信息熵也有不錯(cuò)的效果,能夠包含更多的圖像信息。因此,改進(jìn)算法去霧的綜合效果優(yōu)于其他兩種方法。
結(jié)合大氣散射模型的物理意義,以暗通道先驗(yàn)為基礎(chǔ),提出一種改進(jìn)的圖像去霧霾算法。該算法選取亮度最大的前1%的像素作為大氣光值,采用迭代的思想,求出使PSNR值最大時(shí)所對(duì)應(yīng)的w,將w值作為權(quán)值代入公式得出粗透射率,再以導(dǎo)向?yàn)V波細(xì)化透射率。最后,將得到的大氣光值和細(xì)化透射率帶入變形后的有霧圖像物理模型中達(dá)到還原圖像的效果。實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法能夠更加有效地針對(duì)含大片天空的有霧圖像進(jìn)行去霧處理,去霧后的圖像細(xì)節(jié)保持好、有較高的色彩保真度,光暈現(xiàn)象也不明顯。