章星晨,孫劉杰
(上海理工大學,上海 200093)
霧和霧霾是一種常見的天氣現(xiàn)象。由于大氣散射和吸收,霧霾會大大降低圖像可視性,對比度較低。除了視覺質量惡化之外,重霧還會嚴重影響機器視覺系統(tǒng)的性能,如視頻監(jiān)控、智能交通監(jiān)控、衛(wèi)星成像、目標識別[1]等。例如,智能交通監(jiān)控系統(tǒng)受到霧天低對比度的影響,給交通造成不便。因此,圖像去霧算法的發(fā)展對于圖像質量的恢復已經(jīng)成為一個非常重要的任務。
圖像去霧通常分為兩種方法[2]。一種是基于大氣散射物理模型圖像復原方法,主要分析圖像的退化原因和特性,建立物理模型,并且利用反演算法補償丟失的信息,側重考慮大氣散射的作用來實現(xiàn)霧天圖像的還原。而另外一種基于圖像增強方法,不用分析圖像退化的原因,只需要增強霧天圖像的對比度來改善圖像視覺效果。直觀地說,傳統(tǒng)的圖像增強方法有直方圖均衡[3]、線性映射、Retinex映射[4]和小波變換[5]等方法。直方圖均衡化由于其簡單性和有效性而應用廣泛,它的主要思想是根據(jù)概率密度函數(shù)(PDF)重新映射圖像的灰度級,但缺點是易造成圖像細節(jié)的消失。小波變換則可以把原圖像分解為不同的子帶圖像,但由于位移不變性的特征而限制其發(fā)展,不能夠準確表達圖像的細節(jié)[5]?;诖巳秉c,一些研究者提出新的尺度變換(曲波變換[6-7]、平穩(wěn)小波變換、輪廓波變換[8]等)來解決傳統(tǒng)WT中的位移不變性問題。這些新的尺度變換具有各向異性和方向性的特點,能夠較好地表示圖像的邊緣、紋理和細節(jié)信息。Retinex算法是基于人類視覺系統(tǒng)所提出的算法,簡單有效,可通過反射和光照分量進行分解。基于這一原理,陸續(xù)有研究者提出了單尺度Retinex算法、多尺度Retinex算法和帶色彩恢復Retinex算法。Retinex算法雖然能優(yōu)化突出圖像的細節(jié),但也存在一定的不足,如出現(xiàn)光暈、失真現(xiàn)象。因此,文中提出了一種基于Shearlet變換的Retinex圖像去霧算法,并從主客觀兩方面與直方圖均衡、多尺度Retinex算法、基于MSR理論的交通圖像去霧霾方法[9]進行比較,以驗證該算法的有效性。
Retinex理論是1971年由美國物理學家Edwin Land[10-11]基于色彩恒常性提出的。Retinex理論認為圖像可以分為兩個部分:照射分量和反射分量。通常可以概括為入射光和反射光的乘積。因此可用如下公式進行描述:
S(x,y)=R(x,y)*L(x,y)
(1)
其中,R(x,y)為反射分量;L(x,y)為照射分量。
一般來說,入射分量被認為是低頻信號,反射分量是高頻信號,決定物體性質的是高頻信號。Retinex的理論原理如圖1所示。
圖1 Retinex原理
單尺度Retinex[12-13]是由Jobson和Land于1997年根據(jù)中心環(huán)繞算法提出的。與傳統(tǒng)的中心環(huán)繞算法相比,SSR具有更高的運算速度、更清晰的物理意義等優(yōu)點。將式1采取對數(shù)域計算,可以把復雜的乘法形式轉化為簡單的加減運算,SSR算法可表示如下:
g[R(x,y)]=lg[S(x,y)]-lg[L(x,y)]
(2)
單尺度Retinex算法一般是通過高斯濾波器來估計照射分量,它的數(shù)學表達式為:
L(x,y)=F(x,y)*S(x,y)
(3)
其中,*為卷積;F(x,y)為中心環(huán)繞函數(shù),通常使用高斯函數(shù)形式,它的表達式為:
F(x,y)=Ke-(x2+y2)/σ2
(4)
其中,σ為尺度參數(shù);K由歸一化函數(shù)決定,滿足如下條件:
?F(x,y)dxdy=1
(5)
σ為尺度因子,對單尺度Retinex算法影響較大,是一個很重要的參數(shù)。當σ取值較小時,可以較好地完成動態(tài)范圍的壓縮,但失真現(xiàn)象比較嚴重。反之,當σ取值較大時,顏色保真效果不錯,但細節(jié)增強減弱,去霧效果也會隨之下降。為了解決這一類問題,很多學者在此基礎上研究了多尺度Retinex算法[4]。MSR是增強圖像領域中最常用的算法之一,它可以在實現(xiàn)圖像壓縮的動態(tài)范圍的同時保持圖像的逼真度。在某些情況下,MSR可以實現(xiàn)圖像色彩恒常性、局部動態(tài)范圍壓縮、色彩增強和整體動態(tài)范圍壓縮。MSR算法相當于多個SSR的加權求和,在對數(shù)域中的多尺度Retinex可以表示為:
Sk(x,y)])
(6)
其中,N為尺度參數(shù)的總數(shù)量;Wn為權重因子。MSR算法同時包括了3個尺度的特征,n通常選為3。Rk(x,y)是k通道中的Retinex輸出,在灰度圖像中,k=1,2,3分別表示R、G、B三個通道。
相比于單尺度Retinex算法,多尺度Retinex算法處理圖像在動態(tài)范圍和細節(jié)增強上有更好的平衡,產(chǎn)生了更好的視覺效果。
Shearlet變換是近年來提出的小波理論的一種新的擴展,這種轉換基于多分辨率和多方向的分析,并改進了多維數(shù)據(jù)的表示。小波方法對于一維信號具有最佳逼近特性,但是在多維領域表現(xiàn)不佳,Shearlet變換就克服了這一缺點。當維數(shù)n=2時,具有合成膨脹的二維仿射系統(tǒng)定義如下:
MAB(ψ)={ψj,l,k(x)=|detA|j/2ψ(BlAjx-k)∶j,
l∈Z,k∈Z2}
(7)
其中,Shearlet變換是由j,l,k三個變量組成的函數(shù),j是尺度參數(shù),l是剪切的方向,k是平移量。ψ∈L2(R2),A和B都是可逆矩陣,|detB|=1,若滿足以下Parseval緊框架,即:
(8)
剪切波變換過程的分解由兩部分組成:多尺度分解和多方向分解,與Contourlets類似。但Contourlets在方向表示方面效率較低。用剪切矩陣代替定向濾波,可以提供更多方向。由于多向性的特點,Shearlets能夠更好地捕獲圖像的邊緣。
首先將有霧圖像進行Shearlet變換分解,得到低頻信息和一系列高頻信息。由于霧天情況下霧通常集中于低頻部分,所以優(yōu)先對低頻系數(shù)使用多尺度Retinex算法進行處理,從而進行去霧。需要注意的是,Shearlet變換后得到的系數(shù)有正負之分,如果系數(shù)為負,那么將會對去霧效果產(chǎn)生影響。所以,可以采取線性映射的方法把低頻系數(shù)f(i,j)映射到區(qū)間[0,255]內,線性映射的表達式如下:
(9)
其中,fmin和fmax分別是低頻系數(shù)最小值和最大值。
將線性映射的結果作為輸入,利用式6對低頻系數(shù)進行多尺度Retinex算法處理,并且把處理后的系數(shù)進行線性映射反變換,從而映射到區(qū)間[fmin,fmax],這樣才能進行Shearlet重構。
圖像的紋理信息、邊緣信息以及噪聲大都存在于高頻分量中,所以需要調整高頻系數(shù)來抑制噪聲并且強化邊緣,使圖像的細節(jié)信息更豐富。為了更好地對高頻系數(shù)進行處理,合適的閾值極其重要,所以文中采用閾值法。閾值定義為:
(10)
σ=median(|HH1|)/0.674 5
(11)
其中,M×N為圖像大??;l為分解尺度;median()為中值函數(shù);HH1為高頻子帶系數(shù)。
若對高頻圖像采用全局增強,則會出現(xiàn)過度增強和偽影現(xiàn)象。文中使用清晰度參數(shù)進行調節(jié)可以避免這一現(xiàn)象。圖像清晰度是由局部梯度矩陣奇異值得到的,局部清晰度定義為:
Q=s1(s1-s2)/(s1+s2)
(12)
其中,s1和s2分別為局部梯度矩陣奇異值。圖像越模糊,說明Q越小。一幅圖像有清晰像素點和不清晰像素點,對于清晰的地方不需要增強,對于不清晰的地方進行適度增強。選擇增強系數(shù)的公式如下:
(13)
其中,T1和T2為閾值;EQ為常數(shù);Q表示清晰度。
對高頻系數(shù)利用下式進行增強:
f(i,j)'=(1+E)×f(i,j)
(14)
其中,f'(i,j)表示增強后的高頻系數(shù)。
(1)對有霧圖像進行Shearlet變換分解,得到低頻信息和一系列高頻信息。
(2)優(yōu)先對低頻系數(shù)使用多尺度Retinex算法進行處理。
(3)對高頻系數(shù)采用閾值法進行處理。
(4)進行Shearlet逆變換,得到最終的增強圖像。
為了驗證文中算法的性能,選出三幅具有代表性的去霧圖像進行去霧增強,軟件平臺為Matlab2014a。實驗中將文中算法與直方圖均衡化、多尺度Retinex算法和文獻[9]中的方法進行對比分析。一般采取主觀評價和客觀評價兩種評價方法。主觀評價就是各增強方法視覺效果的對比,而客觀評價依據(jù)峰值信噪比(PNSR)、信息熵、亮度、對比度、平均梯度等指標。
圖2和圖3給出兩組去霧實驗的效果對比圖。
圖2 實驗對比(樹林)
圖3 實驗對比(教學樓)
以上兩組圖分別是均衡化算法、多尺度Retinex算法、文獻[9]算法和文中算法處理后的去霧圖。從視覺效果上看,原圖受霧氣影響較大,景物比較模糊;均衡化的處理效果不是很好,還存在很多霧,細節(jié)不夠豐富,圖像不是很清晰;多尺度Retinex算法處理后的圖像較均衡化方法好,但色彩存在失真;文獻[9]算法處理后圖像偏暗,但是對比度較好。而文中算法處理后,景物自然清晰,霧氣消除的也比較好,沒有過增強和失真現(xiàn)象,具有很好的視覺效果。
文中選取亮度、對比度和信息熵這三個指標對有霧圖像進行分析。亮度值反映了圖像的明暗程度。對比度越大,圖像越清晰。信息熵體現(xiàn)了圖像的細節(jié)信息,其值越大,圖像細節(jié)越豐富,圖像越清晰。計算公式如下:
均值:
(11)
標準差:
(12)
信息熵:
(13)
其中,f(x,y)為圖像在(x,y)處的灰度值;M×N為圖像大小。
所測數(shù)據(jù)如表1和表2所示。
表1 客觀對比(1)
表2 客觀對比(2)
由表1和表2可以看出,均衡化方法在去霧后,亮度增加較多,對比度也有提升,但是信息熵有所降低,說明存在過增強現(xiàn)象,圖像部分區(qū)域存在高亮部分,細節(jié)有所損失,去霧效果不是很好。文獻[9]方法處理后在對比度和信息熵上有所提高,但是在亮度上有所降低,整體圖像偏暗,色彩不是很自然。而文中算法處理后各個方面的數(shù)值都有所提高,對比度更好,細節(jié)更加突出,整體圖像的色彩更自然,圖像的去霧效果更好。通過整體對比可以發(fā)現(xiàn),與其他算法相比,文中算法處理效果更好。
文中提出了一種基于Shearlet變換的Retinex方法來進行圖像去霧。通常情況下,霧大部分集中在低頻譜上,所以對Shearlet變換后得到的低頻系數(shù)進行多尺度Retinex處理,并且在高頻上進行閾值處理。實驗結果表明,經(jīng)過文中算法處理后得到的去霧圖像較其他算法處理后得到的圖像細節(jié)更豐富,清晰度更高且色彩更加自然,具有不錯的視覺效果。