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