文/張澤浩 周衛(wèi)星
夜間有霧天氣下的圖像形成過程中,大氣中的懸浮顆粒會對光進行散射和吸收,導(dǎo)致圖像會出現(xiàn)對比度小、細節(jié)丟失、可利用價值降低等問題,這給目標(biāo)識別、城市交通等帶來了很大的問題,因此對夜間有霧圖像進行去霧具有重要意義。
目前,圖像去霧的方法有很多,但大多針對白天的場景所設(shè)計,主要可以分為兩類,一類是基于圖像增強的方法,例如直方圖均衡化[1]的圖像增強算法。另一類是基于物理模型[2]的方法,例如Fattal等[3]利用圖像中陰影部分和透射率的不相關(guān)性估計反射率,進而對圖像進行去霧。Tan[4]利用無霧圖像有更大對比度的特性,最大化圖像的對比度進行去霧。He等[5-6]人提出暗原色先驗理論,利用暗通道與大氣光值估計透射率,再利用軟摳圖或?qū)驗V波細化透射率進行去霧。對于光照均勻的圖像,以上的去霧算法都在不同的程度上取得了一定的效果,然而對于光照不均的夜間圖像,去霧效果不明顯。
目前,在霧天圖像復(fù)原領(lǐng)域中,一般都是采用Narasimhan等提出的大氣散射機制,此機制可以用如下公式表示:
因白天圖像和夜間圖像的主要區(qū)別在于光源,則可假設(shè)夜間圖像的大氣光值為A(x,y),(x,y)表示圖像中像素點的位置,即夜間有霧圖像可表示為:
式(2)中t(x,y)表示夜間有霧圖像像素點(x,y)處的透射率。
圖1為夜間無霧圖像的反轉(zhuǎn)圖像和白天有霧圖像的對比。由圖1可以看出夜間無霧圖像和白天有霧圖像具有很高的相似性,所以可以利用這一特性對夜間圖像進行增強。
假設(shè)白天有霧圖像的透射率為tb(x,y),即夜間無霧圖像J(x,y)和白天無霧圖像Jb(x)之間的關(guān)系可表示為:
根據(jù)之前描述,對夜間無霧圖像的反轉(zhuǎn)圖像進行去霧,再把去霧后的圖像再次反轉(zhuǎn),即可得到增強后的夜間圖像。根據(jù)這一特性,可假設(shè)夜間有霧圖像和白天某類有霧圖像也具有此特性,即:
式(4)中Im(x,y)表示白天某類圖像,Am和tm(x,y)分別表示此時的大氣光值和透射率。根據(jù)上式,可得到夜間有霧圖像的增強圖像Yz(x,y)為:
根據(jù)Retinex理論,可將觀察到的某類有霧圖像Im(x,y)看作亮度圖像與反射圖像的乘積,即:
式(6)中Lm(x,y)表示亮度圖像即環(huán)境光的照射分量,Rm(x,y)表示反射圖像即物理表面對照射光的反射比例。
將式(5)、式(6)帶入(4)可得夜間有霧圖像模型為:
根據(jù)上一節(jié)提出的夜間圖像去霧模型,可得知本文提出的夜間圖像算法共有兩個部分,第一部分是利用暗原色原理對夜間圖像進行增強,第二部分是對增強后夜間圖像進行去霧。
暗通道先驗原理指出在圖像中絕大多數(shù)非天空的區(qū)域里,圖像中的大多數(shù)像素都會有至少一個顏色通道具有很低的值,則可以認(rèn)為該區(qū)域光強度有一個很低的最小值。如果給暗原色原理一個數(shù)學(xué)定義,對于任意的有霧圖像J,其暗原色原理可以表示為:
式(8)中Jc表示彩色圖像的每個顏色通道 ,Ω(x,y)表示以像素點(x,y)為中心的一個窗口。由He等的暗通道先驗知,對于一個無霧的圖像,除了天空區(qū)域,Jdark值都很小,趨近于0,用公式表示為:
在估計大氣光值A(chǔ)時,He提出通過尋找暗原色圖像中亮度前1%的像素點來求出大氣光值。但當(dāng)圖像中出現(xiàn)天空或大面積白色建筑物時,再用以上方法估計大氣光值就會不準(zhǔn)確,導(dǎo)致透射率估計不準(zhǔn)確,反演出的無霧圖像也就不理想。
針對上述出現(xiàn)的問題,本文選取圖像中的天空區(qū)域估計大氣光值,默認(rèn)天空區(qū)域位都會出現(xiàn)在于圖像的上端,并尋找圖像中像素點的亮度和該像素點位于圖像高度比例的乘積的前1%來估計大氣光值。
在得到大氣光值A(chǔ)后,根據(jù)暗原色先驗理論和大氣散射機制,即可得到粗略的透射率:
由于此方法求出的透射率有嚴(yán)重的光暈效應(yīng),因此需要對其進行細化。常見的細化的方法有利用導(dǎo)向濾波或者軟摳圖對其粗透射率進行細化,并經(jīng)實驗發(fā)現(xiàn),利用導(dǎo)向濾波細化的透射率跟利用軟摳圖細化的透射率效果相似,但導(dǎo)向濾波的計算復(fù)雜度大大低于軟摳圖,固為了提高運行效率,本文使用導(dǎo)向濾波對其粗透射率進行細化。
Retinex理論是人類對顏色和亮度感知的基礎(chǔ)上提出的一種顏色恒長知覺理論,主要內(nèi)容包含兩個方面,一是物體的顏色是由物體對各波長的反射能力決定的,二是物體的色彩不受光照非均勻性的影響,具有顏色恒常性。由以上理論可知,霧天圖像I(x,y)可看作亮度圖像L(x,y)與反射圖像R(x,y)的乘積,即:
圖1:夜間無霧圖像的反轉(zhuǎn)圖像和白天有霧圖像的對比
圖2:各算法去霧效果對比圖
基于Retinex理論的算法有很多種,使用最多且應(yīng)用最廣的為中心環(huán)繞算法,即利用環(huán)繞函數(shù)來估計圖像中每個像素點的反射光。其中包括單尺度算法、多尺度算法和色彩恢復(fù)多尺度算法。
本文研究只要基于單尺度算法。單尺度算法的主要過程分兩步,是首先通過低通濾波來估計圖像中的照射部分,即:
式(13)中*表示卷積操作,F(xiàn)(x,y)為低通濾波,單尺度算法通常使用的低通濾波是高斯濾波,定義如下:
單尺度算法可以在增強細節(jié)信息的同時保證顏色恒定,固本次研究選用此算法進行去霧。
為了驗證本文算法的有效性,通過選用多張對夜間有霧圖像進行去霧處理,并將本文算法的試驗結(jié)果與傳統(tǒng)暗通道算法和傳統(tǒng)直方圖算法進行對比,對比結(jié)果如圖2所示。從圖2中可以看出,He算法去霧結(jié)果整體亮度較低,細節(jié)模糊,去霧結(jié)果和原圖相差不大。利用直方圖進行夜間圖像去霧,相對He的算法,圖像清晰度和亮度都有了明顯的提升,但還存在總體色調(diào)較暗等問題,與上述兩種算法相比,使用本文算法去霧后亮度、細節(jié)清晰度和圖像生動性都有了明顯的提升,去霧效果也更加自然和真實,整體來說本文算法更勝一籌。
本文提出了一種利用圖像的顏色轉(zhuǎn)化,并基于暗原色理論和和Retinex理論的夜間圖像去霧,通過圖像的顏色轉(zhuǎn)換和暗原色原理對夜間圖像進行增強,再基于Retinex原理對增強后的圖像進行去霧。相對于傳統(tǒng)去霧算法,本文算法針對夜間有霧圖像并有效的去除圖像中的霧霾,去霧后的圖像亮度、清晰度等都有了明顯的提升,并且具有一定的應(yīng)用前景。