馬 嘯,邵利民,徐冠雷
(海軍大連艦艇學(xué)院氣象教研室,遼寧大連116018)
隨著戶(hù)外視覺(jué)系統(tǒng)廣泛應(yīng)用于道路交通、安防監(jiān)控、航海、航空等領(lǐng)域,保證戶(hù)外視覺(jué)系統(tǒng)的高可靠工作顯得尤為重要。然而,在霧霾等惡劣天氣條件下,由于懸浮在大氣中的水滴、氣溶膠等顆粒對(duì)光線的散射和吸收作用,導(dǎo)致戶(hù)外視覺(jué)系統(tǒng)采集到的圖像對(duì)比度降低、飽和度下降,圖像中的目標(biāo)景物變得模糊不清,直接影響戶(hù)外視覺(jué)系統(tǒng)效用的發(fā)揮[1-3]。因此,研究霧霾天氣圖像的清晰化算法,對(duì)提高戶(hù)外視覺(jué)系統(tǒng)的可靠性具有重要意義。
目前霧霾天氣圖像的清晰化算法主要分為兩大類(lèi)。一類(lèi)是基于圖像增強(qiáng)的方法,通過(guò)提高霧天圖像的對(duì)比度以突出細(xì)節(jié),改善圖像視覺(jué)效果[4]。這類(lèi)方法的優(yōu)勢(shì)在于可以應(yīng)用已有的成熟圖像處理算法,如直方圖均衡化、對(duì)數(shù)變換、銳化、小波變換等改善圖像質(zhì)量[5],但是可能丟失部分圖像信息,造成圖像失真。另一類(lèi)是基于大氣散射模型的圖像復(fù)原方法,通過(guò)建立霧天圖像降質(zhì)的物理模型,反演出降質(zhì)前的圖像[2]。這類(lèi)方法一般不會(huì)造成圖像信息損失,圖像處理效果較為自然[4]。目前該類(lèi)方法主要包括基于景物深度信息的算法、基于大氣光偏振特性的算法和基于先驗(yàn)信息的算法[2]?;诰拔锷疃刃畔⒌乃惴ㄐ枰柚走_(dá)裝置獲取深度信息,代價(jià)較高;基于大氣光偏振特性的算法不能實(shí)現(xiàn)單幅圖像的去霧處理且只適用于薄霧天氣[2,4];基于先驗(yàn)信息的算法可以實(shí)現(xiàn)單幅圖像去霧且獲取信息的代價(jià)較低,近年來(lái)取得較大突破:Tan等[6,7]基于統(tǒng)計(jì)先驗(yàn)信息,利用最大化圖像局部對(duì)比度達(dá)到去霧的目的,去霧后圖像的對(duì)比度大大提高,但復(fù)原的圖像顏色常出現(xiàn)過(guò)飽和現(xiàn)象;郭璠等[7,8]基于數(shù)理統(tǒng)計(jì)先驗(yàn)信息估計(jì)出場(chǎng)景輻照度,由此推導(dǎo)出傳播圖像,復(fù)原無(wú)霧圖像。該方法在薄霧條件下能獲得較好的清晰化效果,但由于該方法需要足夠的顏色信息,因此無(wú)法處理濃霧天氣下的圖像及灰度圖像;He等[9,10]提出了一種傳統(tǒng)的基于暗原色先驗(yàn)的去霧算法,按霧氣濃度局部修復(fù)圖像各部分顏色,去霧效果自然,圖像的顏色逼真、清晰度高,但該方法由于在細(xì)化透射率時(shí)引入了軟摳圖算法,需要使用預(yù)處理共軛梯度算法求解大型稀疏矩陣,計(jì)算代價(jià)大,處理時(shí)間長(zhǎng)。
為達(dá)到運(yùn)算時(shí)間和圖像清晰度間的平衡,本文改進(jìn)傳統(tǒng)基于暗原色先驗(yàn)的去霧算法,增強(qiáng)算法的自適應(yīng)性和運(yùn)算效率;采用改進(jìn)的去霧算法實(shí)現(xiàn)圖像的清晰化;利用自動(dòng)色階算法處理去霧后的圖像,使圖像顏色明暗分布合理,提高圖像清晰化后的視覺(jué)效果。
暗原色先驗(yàn)理論是He等[9]經(jīng)過(guò)大量的觀測(cè)實(shí)驗(yàn)得出的一個(gè)圖像統(tǒng)計(jì)規(guī)律:在戶(hù)外無(wú)霧圖像的絕大多數(shù)非天空區(qū)域內(nèi),某些像素總會(huì)有至少一個(gè)顏色通道具有很低的接近于0的強(qiáng)度值,稱(chēng)之為暗原色。其表示如公式(1)所示:
其中,Jc(y)為戶(hù)外無(wú)霧圖像J(x)中的一個(gè)顏色通道,Ω(x)為中心在 x處的一個(gè)局部區(qū)域,Jdark(x)表示圖像J(x)的暗原色。
在計(jì)算機(jī)視覺(jué)和計(jì)算機(jī)圖形學(xué)中,常用于描述有霧圖像形成過(guò)程的模型如公式(2)所示[3,11,12]:
其中,I(x)為觀測(cè)到的有霧圖像,J(x)為無(wú)霧圖像,t(x)為透射率,A為大氣光值。要實(shí)現(xiàn)圖像去霧,就要估計(jì)出參數(shù)A和t(x),從而根據(jù)有霧圖像I(x)復(fù)原得到無(wú)霧圖像J(x)。
文獻(xiàn)[9]將公式(2)兩邊歸一化后做最小值運(yùn)算,并假設(shè)在每一個(gè)局部區(qū)域Ω(x)內(nèi)透射率t(x)為常數(shù)珓t(x),變形后如公式(3)所示:
其中,Jc(y)為戶(hù)外無(wú)霧圖像J(x)中的一個(gè)顏色通道,Ac為圖像中c∈{R,G,B}顏色通道對(duì)應(yīng)的大氣光值。
由于遠(yuǎn)處?kù)F的存在是感知景深的重要因素,為保證復(fù)原后得到的無(wú)霧圖像真實(shí)自然,在公式(4)中加入?yún)?shù)ω,從而保留一定程度的霧,如公式(5)所示[9]。由此,可以根據(jù)Idark(x)和A估計(jì)出透射率t(x)。
對(duì)大氣光值A(chǔ)的估計(jì),文獻(xiàn)[9]選取暗原色I(xiàn)dark(x)中亮度為前0.1%的像素點(diǎn),將有霧圖像I(x)中對(duì)應(yīng)的這些像素點(diǎn)上亮度最大點(diǎn)的像素值作為大氣光A的估計(jì)值[9]。
得到參數(shù)A和t(x)后,就可以根據(jù)公式(2)復(fù)原得到去霧后的圖像J(x),如公式(6)所示:
其中,t=max(t(x),t0),t0=0.1是為避免去霧后圖像J(x)整體向白場(chǎng)過(guò)渡設(shè)置的透射率的下限值。
傳統(tǒng)的基于暗原色先驗(yàn)的去霧算法流程如圖1所示。
考慮到傳統(tǒng)的基于暗原色先驗(yàn)的去霧算法得到的去霧效果自然,圖像的顏色逼真且清晰度高,本文仍基于暗原色先驗(yàn)理論對(duì)圖像進(jìn)行去霧。但是,傳統(tǒng)基于暗原色先驗(yàn)的去霧算法采用軟摳圖的方法細(xì)化透射率,引入了大型稀疏矩陣的計(jì)算,導(dǎo)致算法運(yùn)行時(shí)間過(guò)長(zhǎng)。
導(dǎo)向?yàn)V波作為一種圖像過(guò)濾技術(shù),不僅可以保持圖像邊緣特性,增強(qiáng)圖像細(xì)節(jié),其時(shí)間復(fù)雜度也較低,從而節(jié)省了運(yùn)算時(shí)間[13]。為了在去霧效果和運(yùn)算時(shí)間之間取得平衡,本文采用導(dǎo)向?yàn)V波的算法代替軟摳圖算法對(duì)透射率進(jìn)行細(xì)化。
此外,傳統(tǒng)基于暗原色先驗(yàn)的去霧算法中,求有霧圖像暗原色I(xiàn)dark(x)時(shí)局部區(qū)域Ω(x)的大小是固定的,但實(shí)際應(yīng)用中,Ω(x)的選取直接影響透射率的估計(jì)。采用傳統(tǒng)基于暗原色先驗(yàn)的去霧算法,分別選取Ω(x)=5×5和Ω(x)=25×25對(duì)圖2a中原始圖像進(jìn)行去霧處理,得到的透射率圖分別如圖2b和圖2c所示。從圖中明顯看出,Ω(x)取值較小時(shí)透射率t(x)的估計(jì)圖更加細(xì)化,但由于平滑過(guò)少,局部錯(cuò)誤明顯增多,也會(huì)影響大氣光值A(chǔ)的估計(jì)。Ω(x)取值較大時(shí)透射率t(x)的估計(jì)圖局部錯(cuò)誤減少但較為粗糙[14,15]。
為增強(qiáng)算法的自適應(yīng)性,本文將Ω(x)設(shè)置為隨圖像大小變化的值,如公式(7)所示,其中w為圖像寬度,h為圖像長(zhǎng)度,0.03為實(shí)驗(yàn)獲得的統(tǒng)計(jì)值。
另外,傳統(tǒng)基于暗原色先驗(yàn)的去霧算法將滿(mǎn)足條件的像素中某一亮度值最大點(diǎn)的像素作為大氣光A的估計(jì)值,若選取的亮度最大值點(diǎn)的像素接近255,即大氣光估計(jì)值接近255,則會(huì)造成去霧后的圖像偏色并出現(xiàn)大量色斑。圖3b為用傳統(tǒng)基于暗原色先驗(yàn)的去霧算法對(duì)圖3a中原始圖像去霧后得到的結(jié)果,此時(shí)其大氣光估計(jì)值A(chǔ)為246,接近255,從圖3b中可以明顯看出圖像中出現(xiàn)大量色斑。
為避免大氣光估計(jì)值接近255,本文通過(guò)大量實(shí)驗(yàn)統(tǒng)計(jì)選取240作為大氣光的閾值,當(dāng)大氣光估計(jì)值A(chǔ)大于240時(shí),將大氣光估計(jì)值設(shè)為240;當(dāng)大氣光估計(jì)值A(chǔ)小于240時(shí),則估計(jì)值不變。大氣光估計(jì)值的選取如公式(8)所示:
最后,由于基于暗原色先驗(yàn)對(duì)圖像去霧后,圖像普遍偏暗,本文采用自動(dòng)色階算法對(duì)去霧后圖像的顏色明暗分布進(jìn)行調(diào)整,提高去霧后圖像的視覺(jué)效果。自動(dòng)色階的基本思想就是去掉圖像中像素值最高和最低的比例,將圖像剩余像素值進(jìn)行線性映射,按比例重新分配,從而達(dá)到增強(qiáng)圖像對(duì)比度的效果。如圖4所示,圖4a為原始圖像,圖4b為未采用自動(dòng)色階時(shí)基于暗原色先驗(yàn)算法得到的去霧圖像,圖4c為對(duì)圖4b中的去霧圖像采用自動(dòng)色階算法增強(qiáng)后的圖像。從圖4中可以看出,采用自動(dòng)色階算法后圖像的對(duì)比度明顯增強(qiáng),視覺(jué)效果更好。
根據(jù)3.1節(jié)中的算法思路,本文提出的霧霾天氣圖像清晰化算法首先根據(jù)變化的局部區(qū)域Ω(x)求原始有霧圖像I(x)的暗原色I(xiàn)dark(x);接著從Idark(x)中選取亮度為前0.1%的像素點(diǎn),將I(x)中對(duì)應(yīng)像素中亮度最大值點(diǎn)的像素值作為大氣光值A(chǔ)的初始估計(jì)值,若初始估計(jì)值A(chǔ)大于大氣光閾值240,則將大氣光估計(jì)值設(shè)為240;根據(jù)Idark(x)和A估計(jì)初始透射率t(x),采用導(dǎo)向?yàn)V波
為驗(yàn)證本文霧霾天氣圖像清晰化算法的有效性,在 Intel(R)Core(TM)i5-6300HQ CPU@算法細(xì)化透射率;由I(x)和細(xì)化后的t(x)復(fù)原無(wú)霧圖像J(x);最后采用自動(dòng)色階算法調(diào)整J(x)的顏色明暗分布,輸出視覺(jué)效果更好的圖像。算法流程如圖5所示。2.30 GHz,8 GB內(nèi)存的機(jī)器上采用Matlab2014a開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)本文算法。實(shí)驗(yàn)圖像集來(lái)源于本文采集的霧霾天氣圖像及網(wǎng)絡(luò)公開(kāi)數(shù)據(jù)庫(kù)中部分霧霾天氣圖像。
實(shí)驗(yàn)分別采用本文算法及傳統(tǒng)的基于暗原色先驗(yàn)的去霧算法對(duì)圖像集中同一霧霾天氣圖像進(jìn)行去霧處理。去霧效果對(duì)比如圖6所示,圖6a為原始圖像,圖6b為傳統(tǒng)基于暗原色先驗(yàn)的去霧算法輸出圖像,圖6c為本文算法輸出圖像。
采用本文算法得到的圖6a中原始圖像對(duì)應(yīng)的初始預(yù)估透射率圖和導(dǎo)向?yàn)V波細(xì)化后的透射率圖分別如圖7a和圖7b所示。
為比較導(dǎo)向?yàn)V波算法和軟摳圖算法對(duì)圖像的細(xì)化效果,本文對(duì)文獻(xiàn)[9]中部分圖像進(jìn)行清晰化處理,并與其采用軟摳圖算法得到的去霧圖像進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖8~圖10所示,其中圖8a、圖9a和圖10a為原始圖像,圖8b、圖9b和圖10b為文獻(xiàn)[9]中采用軟摳圖細(xì)化后的輸出結(jié)果,圖8c、圖9c和圖10c為本文采用導(dǎo)向?yàn)V波細(xì)化后的輸出結(jié)果。
從圖6的對(duì)比結(jié)果可以看出,采用傳統(tǒng)的基于暗原色先驗(yàn)的去霧算法輸出的圖像存在色彩失真和光暈(Halo)效應(yīng),且在處理天空部分時(shí)過(guò)渡區(qū)域明顯,出現(xiàn)圖像天空部分向白場(chǎng)過(guò)渡的現(xiàn)象,影響了遠(yuǎn)處景物的復(fù)原。如圖6b所示,天空部分過(guò)渡區(qū)域白場(chǎng)的存在影響了遠(yuǎn)處山體的復(fù)原。而采用本文霧霾天氣圖像清晰化算法得到的輸出結(jié)果明顯比傳統(tǒng)基于暗原色先驗(yàn)的去霧算法的效果好,輸出圖像具有較高的色彩保真度,清晰度和對(duì)比度均較高,對(duì)于遠(yuǎn)處景物復(fù)原的效果也較好,整體視覺(jué)效果接近自然。
從圖7中初始預(yù)估透射率圖和導(dǎo)向?yàn)V波細(xì)化后的透射率圖比較結(jié)果中可以看出,初始預(yù)估透射率圖較為粗糙,塊效應(yīng)明顯,圖像輪廓模糊不清,包含圖像細(xì)節(jié)少,層次感不明顯。經(jīng)導(dǎo)向?yàn)V波細(xì)化后的透射率圖則較為平滑,輪廓清晰,較好地反映了圖像的細(xì)節(jié)信息。
對(duì)圖8~圖10中的比較結(jié)果進(jìn)行主觀分析可以看出,本文采用導(dǎo)向?yàn)V波算法得到的輸出結(jié)果與文獻(xiàn)[9]中采用軟摳圖算法得到的輸出結(jié)果相比,在圖像清晰度和對(duì)比度方面相差不大,但由于本文算法最后又采用自動(dòng)色階算法平衡了圖像顏色明暗的分布,視覺(jué)效果比文獻(xiàn)[9]中圖像輸出結(jié)果更好。
從圖像對(duì)比度和圖像去霧程度兩方面對(duì)圖像去霧效果進(jìn)行客觀評(píng)價(jià)[16-20]。
圖像對(duì)比度評(píng)價(jià)指標(biāo)為可見(jiàn)邊緣強(qiáng)度T1,如公式(9)所示,其中Iv為圖像可見(jiàn)邊緣像素點(diǎn)總數(shù),P為圖像像素總數(shù),可見(jiàn)邊緣像素點(diǎn)總數(shù)越多,T1越大,圖像對(duì)比度越好[16,17]。
圖像去霧程度評(píng)價(jià)指標(biāo)T2如公式(10)所示,其中Id為去霧后圖像暗原色圖中亮度值小于25的像素點(diǎn)總數(shù),P為圖像像素總數(shù)。由于無(wú)霧圖像的暗原色圖亮度趨近于0,因此暗原色圖中亮度小于規(guī)定閾值的像素?cái)?shù)目Id反映了圖像去霧的程度,Id越大,T2值越大,圖像去霧程度越強(qiáng)[16]。
根據(jù)以上公式分別計(jì)算圖8~圖10中原始圖像、文獻(xiàn)[9]中算法輸出圖像和本文算法輸出圖像的客觀評(píng)價(jià)指標(biāo),如表1所示。
Table 1 Objective evaluation indexes of image de-hazing effect表1圖像去霧效果客觀評(píng)價(jià)指標(biāo)
從表1中可以看出,本文算法與文獻(xiàn)[9]中算法的輸出結(jié)果在圖像對(duì)比度和圖像去霧程度上的評(píng)價(jià)指標(biāo)相差不大,但與原始圖像的評(píng)價(jià)指標(biāo)相比有大幅提升,從而驗(yàn)證了本文算法提高圖像清晰度和對(duì)比度的有效性。
為進(jìn)一步比較本文算法與文獻(xiàn)[9]中算法的運(yùn)行效率,從圖像數(shù)據(jù)庫(kù)中隨機(jī)選取100張霧天圖像,分別利用本文算法和文獻(xiàn)[9]中算法對(duì)其進(jìn)行去霧處理,比較兩種算法的平均運(yùn)行時(shí)間。本文算法的平均運(yùn)行時(shí)間如圖11所示,文獻(xiàn)[9]中算法的平均運(yùn)行時(shí)間如圖12所示。
從圖11和圖12中可以看出,本文算法的平均運(yùn)行總時(shí)間為11.405 s,文獻(xiàn)[9]中算法的平均運(yùn)行總時(shí)間為2 429.188 s,本文算法運(yùn)行時(shí)間遠(yuǎn)小于文獻(xiàn)[9]中算法的運(yùn)行時(shí)間,效率較高。從算法時(shí)間復(fù)雜度分析,對(duì)一幅像素個(gè)數(shù)為N的圖像,導(dǎo)向?yàn)V波算法的時(shí)間復(fù)雜度為O(N),與濾波窗口的大小無(wú)關(guān),因此本文算法運(yùn)行時(shí)間短。而軟摳圖算法由于需要使用預(yù)處理共軛梯度算法求解大型稀疏矩陣,引入了大量矩陣運(yùn)算,導(dǎo)致文獻(xiàn)[9]中算法運(yùn)行時(shí)間長(zhǎng)。
由于現(xiàn)有去霧算法中基于暗原色先驗(yàn)的去霧算法穩(wěn)定且去霧效果好,但算法運(yùn)行時(shí)間較長(zhǎng),本文在傳統(tǒng)基于暗原色先驗(yàn)去霧算法的基礎(chǔ)上,對(duì)傳統(tǒng)算法中求圖像暗原色時(shí)局部區(qū)域大小的選取及大氣光值的估計(jì)進(jìn)行改進(jìn),用導(dǎo)向?yàn)V波算法代替軟摳圖算法對(duì)透射率進(jìn)行細(xì)化,最后采用自動(dòng)色階算法提升細(xì)化后輸出圖像的視覺(jué)效果。
經(jīng)實(shí)驗(yàn)驗(yàn)證,本文提出的霧霾圖像清晰化算法保留了傳統(tǒng)基于暗原色先驗(yàn)去霧算法穩(wěn)定、去霧效果好的優(yōu)點(diǎn),處理后的圖像清晰度、對(duì)比度好,色彩保真度和對(duì)遠(yuǎn)景的復(fù)原能力均優(yōu)于傳統(tǒng)基于暗原色先驗(yàn)的去霧算法,視覺(jué)效果更好,且本文算法運(yùn)行效率高,運(yùn)行時(shí)間與傳統(tǒng)基于暗原色先驗(yàn)的去霧算法相比大幅減少,實(shí)現(xiàn)了運(yùn)算時(shí)間與圖像清晰度之間的平衡。
下一步研究工作將從進(jìn)一步提高去霧圖像天空部分清晰度及去霧算法與目標(biāo)識(shí)別技術(shù)結(jié)合應(yīng)用兩方面開(kāi)展[16-20]。