第3章-基於影象增強的去霧方法
基於MATLAB的影象去霧增強系統實現
第3章 基於影象增強的去霧方法
3。1 引言
影象增強是數字影象處理技術中最為基本的內容之一。在實際應用中,無論採用何種裝置採集的影象,由於噪聲、光照、天氣等原因,獲取的影象視覺效果不理想。例如,霧天獲取的影象模糊不清,難以提取細節資訊;一幅戶外自然風景影象色彩失真嚴重,視覺效果較差;夜間拍攝的影象,由於光線較暗,影象對比度低,暗處景物難以辨識等。影象增強技術的目的是將影象轉化為一種更適合於人或計算機進行分析處理的形式,透過相關演算法的處理,使影象的動態範圍擴大,拉伸影象對比度,突出影象中研究者感興趣區域的細節資訊,為影象的進一步處理和分析奠定基礎。
霧天影象可以看作是清晰影象中引入了低頻噪聲,影象的灰度集中分佈在某個區域,影象的對比度低,視覺效果較模糊。影象去霧的目的主要是去除影象中的噪聲(即霧),提高影象的對比度,從而恢復出清晰的無霧影象。
基於影象增強的去霧技術以其方法簡單、有效而得到較為廣泛的應用。
本章主要研究影象增強技術中常用的直方圖均衡、同態濾波、小波變換方法在影象去霧中的應用,重點研究基於Retinex理論的影象去霧演算法,介紹Retinex演算法中的單尺度、多尺度以及帶彩色恢復的Retinex演算法。透過對各演算法原理的研究和實驗結果對比分析,總結各演算法的優勢與不足。
3。2 基於直方圖均衡化的霧天影象增強技術
直方圖是多種空間處理技術的基礎。影象的直方圖是影象的重要統計特徵,是表示一幅數字影象中每一灰度級與該灰度級出現的頻數間的統計關係。直方圖均衡化是傳統的影象增強理論中常用的方法,影象中原本灰度級集中的區域經直方圖均衡處理後均勻分佈,從而增大反差,使影象細節清晰,它的根本目的是改善影象的對比度。直方圖均衡分為全域性直方圖均衡和區域性直方圖均衡。全域性直方圖均衡主要是透過拉伸影象灰度值的動態範圍達到影象整體對比度增強,區域性直方圖均衡化是針對影象內部細節進行增強處理從而達到影象區域性對比度增強。直方圖在軟體中計算簡單,而且有助於商用硬體的實現,因此已成為實時影象處理的一種流行工具。
3。2。1 直方圖均衡化
直方圖均衡化是把一幅已知灰度機率分佈的影象經過變換,使之變成灰度機率分佈均勻的新影象。它是以累積分佈函式變換法為基礎的直方圖修正方法,其計算過程如下:
(1) 首先透過對原始影象的研究分析,列出其灰度級
fj
,
j
=0,1,…
k
,…
L
-1,其中,
L
是原始影象中灰度級的總數量。
(2) 根據原始影象的灰度級分佈,統計出分佈在不同灰度級的畫素個數
nj
,其中
j
=0,1,…
k
,…
L
-1。
(3) 計算原始影象的直方圖,即各個灰度級中的畫素個數佔影象中畫素總數的比重
,其中,
n
為原始影象中畫素總個數。
(4) 計算原始影象的累積直方圖
。
(5) 利用灰度變換函式計算變換後圖像的灰度值
gi
,
i
=0,1,…
k
,…
P
-1,其中,
P
為變換後圖像灰度級的總個數,並四捨五入取整:
(3。1)
式(3。1)中,
INT
為取整符號。
(6) 確定灰度變換關係
j
→
i
,據此將原始影象的灰度值
f
(
m,n
)=
j
修正為
g
(
m,n
)=
i
。
(7) 統計經灰度變換後的各灰度級的畫素個數
ni
,其中
i
=0,1,…
k
,…
P
-1。
(8) 計算變換後圖像的直方圖
。
經直方圖均衡處理後的影象直方圖趨向於平坦,灰度級減少,灰度合併;變換後含有畫素較多的灰度級間隔被拉大,畫素少的灰度級被壓縮,實際視覺能夠接收的資訊量得以增加。
直方圖均衡化演算法實現簡單,能夠擴大灰度值的動態範圍,提高影象的對比度,但是仍存在一定的缺陷。直方圖是近似的機率密度函式,所以直方圖均衡處理只是近似的,由於數字影象灰度取值的離散性,計算過程中用到四捨五入的方法使變換後的新影象中的灰度級數量會比原影象中的灰度級數量少,從而造成新影象中的部分資訊丟失。不同的灰度變換後的灰度可能相同,造成偽輪廓。
霧天採集到的影象亮度較高,呈現泛白發灰的狀態且對比度較低,直方圖分佈較集中。直方圖均衡法在處理場景處於同一深度的影象時能獲得較好的處理效果,但實際獲得的影象中景物的深度往往並非一致,直方圖均衡法難以反映景深多變的影象中區域性景深的變化,難以獲得令人滿意的視覺效果。
a) 原始霧天影象 b) 直方圖均衡後的影象
c) 原始影象的直方圖 d) 直方圖均衡後的直方圖
圖3。1 直方圖均衡化處理結果
Fig。3。1 The results of histogram equalization
3。2。2 區域性直方圖均衡化
全域性直方圖均衡方法在某種意義上,畫素被基於整幅影象的灰度分佈的變換函式修改。雖然這種全域性方法適用於整幅影象的增強,但是存在這樣的情況,增強影象中小區域的細節也是需要的。這些區域中,一些畫素的影響在全域性變換的計算中可能被忽略了,因為全域性變換沒有保證期望的區域性增強。解決方法是以影象中每個畫素的鄰域中的灰度分佈為基礎設計變換函式,即引入區域性直方圖均衡化方法。
區域性直方圖均衡化,也稱為塊重疊直方圖均衡化,是一種標準的自適應直方圖均衡化方法(AHE)。區域性直方圖均衡化的基本思想是將直方圖均衡化運算分散到影象的所有區域性區域,透過區域性運算的疊加自適應地增強影象區域性資訊。
區域性直方圖均衡化的過程是定義一個鄰域,並把該區域的中心從一個畫素移至另一個畫素。在每個位置,計算鄰域中的點的直方圖,並且得到的不是直方圖均衡化,就是規定化變換函式。這個函式最終用於對映鄰域中心畫素的灰度。然後,鄰域的中心被移至一個相鄰畫素位置,並重復該過程。
區域性直方圖均衡化可以根據影象的區域性資訊進行直方圖均衡化,處理後的影象增強效果往往比全域性直方圖均衡化好。霧天條件下采集的影象通常場景深度資訊多變且無法確定,採用區域性直方圖均衡化演算法能夠大幅度降低場景深度資訊對影象增強處理過程中產生的影響,從而對影象中的區域性區域進行較好的對比度增強,獲得較大的動態範圍,達到影象清晰化的目的。但是由於該方法在執行過程中需要進行逐點計算,所以耗時較長,且易產生塊狀效應。
3。2。3 實驗結果分析
本章實驗的硬體環境為Intel(R) Core(TM)2 Duo CPU,2。93GHz,記憶體2G;軟體平臺為MATLAB(R2008a)。區域性直方圖均衡演算法中的鄰域大小為7×7的視窗。
A:
B:
a) 原始影象 b) 全域性直方圖均衡 c) 區域性直方圖均衡
圖3。2 直方圖均衡方法的去霧結果
Fig。3。2 The result of defogging by histogram equalization
從以上A、B兩組實驗結果圖可以看出:A、B組處理後圖像明顯比原始霧天影象清晰,經全域性直方圖處理後的影象在景深多變處難以顯示影象細節資訊(如A組中房屋的窗戶以及房屋前面的植物,B組影象中的植被),經區域性直方圖均衡處理後的影象細節資訊突出,但是易出現塊狀效應且演算法耗時較長。
3。3 基於同態濾波的霧天影象增強
同態濾波是一種在頻域中將影象動態範圍進行壓縮並將影象對比度進行增強的方法,它以影象的入射/反射分量模型作為頻率域處理的基礎,主要透過壓縮影象的亮度範圍和增強影象的對比度從而達到改善影象質量的目的。同態濾波是基於影象的成像模型。
3。3。1 同態濾波原理
一幅影象
f
(
x,y
)可以用它的入射光分量和反射光分量來表示,其關係式如下:
(3。2)
式(3。2)中,入射光分量
i
(
x,y
)由照明源決定,即它與光源有關,通常用來表示影象中變化緩慢的背景資訊,可直接決定一幅影象中畫素能達到的動態範圍[40]。而反射光分量
r
(
x,y
)則是由物體本身特性決定的,它表示灰度的急劇變化部分,如兩個不同物體的交界部分、邊緣部分等。入射光分量與傅立葉平面上的低頻分量相關,而反射光分量則與其高頻分量相關。式(3。2)不能直接用於對照射和反射的頻率分量進行操作,因為乘積的傅立葉變換不是變換的乘積,即:
(3。3)
然而,假設定義:
(3。4)
則有
(3。5)
或
(3。6)
式(3。6)中,
Fi
(
u,v
)和
Fr
(
u,v
)分別是
ln
(
i
(
x,y
))和
ln
(
r
(
x,y
))的傅立葉變換。
可以用一個濾波器
H
(
u,v
)對
Z
(
u,v
)濾波,故有:
(3。7)
在空域中,濾波後的影象是:
(3。8)
由定義可知:
(3。9)
(3。10)
式(3。8)可以表示為如下形式:
(3。11)
最後因為
z
(
x,y
)是透過取輸入函式的自然對數形成的,可以透過取濾波後的結果的指數這一反處理來形成輸出影象:
(3。12)
其中,
表示輸出影象的照射分量,
表示輸出影象的反射分量。
同態濾波的步驟可以歸納如下圖所示:
圖3。3 同態濾波增強處理流程圖
Fig。3。3 Flow chart of homomorphic filtering algorithm
影象的照射分量通常以空間域的緩慢變化為特徵,而反射分量往往引起突變,特別是當處理的影象是內容豐富多變的自然場景圖。這些特性導致影象取對數後的傅立葉變換的低頻成分與照射相聯絡,而高頻成分與反射相聯絡。雖然這些聯絡只是粗略的近似,但是它們用在影象濾波中是有益的。根據這些特徵可以把影象經過傅立葉變換後的低頻部分與照射分量聯絡起來,高頻部分與反射分量聯絡起來。
使用同態濾波器可以更好的控制照射分量和反射分量。這種控制需要制定一個濾波器函式
H
(
u,v
),它可選用不同的可控方法影響傅立葉變換的低頻和高頻分量。選取適當的濾波器函式
H
(
u,v
)對影象進行對比度增強和動態範圍的壓縮,
H
(
u,v
)的形式可以定義為如下所示:
(3。13)
其中,
D
(
u,v
)
=
[(
u-M/2
)
2+
(
v-N/2
)
2
],
M
、
N
是濾波器的長寬。常數
c
控制函式坡度的銳利程度,它在
和
之間過度。若
<1並且
>1,則濾波器
H
(
u,v
)一般會減少低頻的貢獻,即照度的貢獻,同時增加高頻的貢獻,即反射的貢獻。
基於同態濾波的影象去霧的思路是根據霧覆蓋的資訊通常在頻率域分佈在低頻部分,透過傅立葉變換將影象轉換到頻率域,然後用高通濾波器對影象進行濾波,去除霧所在的低頻資訊,保留影象的高頻(細節)資訊,並對處理結果進行增強,以達到較好的視覺效果。
3。3。2 實驗結果分析
a) 原始霧天影象 b) 同態濾波處理結果圖
圖3。4 同態濾波結果圖
Fig。3。4 The result image of homomorphic filtering
圖3。4給出同態濾波演算法去霧的效果圖。從影象中可以看出,經同態濾波處理後的影象比原始霧天影象清晰,整體對比度有所提高,但是霧的殘留成分較多,區域性細節資訊不突出,遠處的建築物以及兩棟建築物之間的景物仍難以辨識,去霧後的影象視覺效果不理想。
3。4 基於小波變換的霧天影象增強
小波變換是20世紀80年代中後期逐漸發展起來的一種新的數學工具,在時域和頻域同時具有良好的區域性化特徵,能彌補傅立葉變換不能描述隨時間變化的頻率特性的不足。利用小波的多分辨分析特性既可以高效地描述影象的平坦區域,又可以有效地表示影象訊號的區域性突變。小波分析在影象處理方面的應用十分廣泛,可以用於影象壓縮、分類識別、去除噪聲等;在醫學成像方面,它用於減少B超、CT、核子共振成像的時間,提高解析度等。
3。4。1 小波變換的由來和作用
雖然自20世紀50年代末起,傅立葉變換一直是基於變換的影象處理的基石,但是近年來,一種新的稱為小波變換的變換使得壓縮、傳輸和分析影象變得更為容易。小波變換(Wavelet Transform)的概念是由法國科學家J。Morlet提出的,是他在分析處理地球物理勘探資料時透過物理的直觀和訊號處理的實際需要經驗建立的反演公式,但是當時並未得到數學家的認可。1985年,法國著名數學家Y。 Meyer構造出一個真正的小波基,此後,小波被證明是一種全新的且有效的訊號處理和分析方法,稱為多解析度理論的基礎。小波變換是繼傅立葉變換之後又一里程碑式的訊號處理方法,已廣泛應用於影象處理、量子物理、資料壓縮以及訊號分析等許多領域。
與傅立葉變換相比,小波變換是空間(時間)和頻率的區域性變換,因而能夠有效地從訊號中提取資訊。小波變換在繼承和發展短時傅立葉變換區域性化的思想的同時,又克服了短時傅立葉變換中視窗大小不隨頻率變化的缺點,能夠提供一個隨頻率改變的時間—頻率視窗,是進行訊號時頻分析和處理的理想工具。
小波變換可以描述為:首先對一個基本小波的函式
進行位移處理,位移為
,然後在不同尺度
下與待分析的訊號
x
(
t
)做內積:
(3。14)
式(3。14)等效的頻域表示式為:
(3。15)
式(3。15)中,
、
分別是
x
(
t
)和
的傅立葉變換。
3。4。2 二維小波變換
二維連續小波基函式定義為:
(3。16)
二維連續小波變換是:
(3。17)
二維連續小波變換逆變換為:
(3。18)
二維離散小波變換是一維離散小波變換的推廣,其實質上是將二維訊號在不同尺度上分解,得到原始訊號的近似值和細節值。由於訊號是二維的,因此分解也是二維的。分解的結果為:近似分量
cA
、水平細節分量
cH
、垂直細節分量
cV
和對角細節分量
cD
。
圖3。5 小波影象分解過程
Fig。3。5 The image decomposition course by wavelet transform
可以利用小波分解,將原始影象中高頻分量與低頻分量進行不同尺度的分離,然後採用不同的方法增強不同頻率範圍內影象的細節資訊,突出不同尺度細節,達到改善影象視覺效果的目的。在實際應用中,可以根據噪聲水平和感興趣的細節所在尺度,選用不同的閾值和增強係數對分解後的影象進行重構。
3。4。2 閾值函式
在小波閾值去噪方法中,閾值函式體現了對小波分解稀疏的不同處理策略以及不同的估計方法,閾值函式的選取通常有兩種:硬閾值與軟閾值。
硬閾值函式的數學表示為:
(3。19)
式(3。19)中,
為閾值,
為原始小波係數,
為處理後的小波係數。
通常採用硬閾值函式處理,可以較好地保留影象訊號的尖銳特性,如影象的邊緣、孤立點等區域性特徵,由於硬閾值函式在
和
處是不連續的。容易導致影象出現偽吉布斯效應等視覺失真現象,失去原始影象訊號的光滑性。
軟閾值函式的數學表示為:
(3。20)
採用軟閾值方法處理,影象訊號的整體連續性好,相對較平穩,但是由於實際值與估計值之間存在恆定偏差,影響估計影象訊號與真實影象訊號的逼近程度,且處理後的影象容易出現邊緣模糊等失真現象。
小波閾值去噪方法的一個關鍵因素是閾值的選取,若閾值選取過小,不能將噪聲去除的較徹底,導致處理後的影象中噪聲殘留較多;若閾值選取過大,在去除噪聲的同時影象中的一些重要特徵也會被濾除,導致影象資訊丟失。直觀上看,對於給定的小波係數,噪聲越大,選取的閾值也應該越大。對於霧天影象閾值可以選擇為影象均值的相關函式。
3。4。3 小波閾值去霧的結果
基於小波變換的影象去霧的思路主要是將霧看作影象噪聲,利用小波閾值去噪方法的原理實現影象去霧。以下實驗是對一幅影象採用sym4小波進行兩層分解,並分別採用硬閾值和軟閾值的方法進行影象去霧。
a) 原始影象 b) sym4小波兩層分解
c) 硬閾值方法 d) 軟閾值方法
圖3。6 小波閾值去霧
Fig。3。6 Defogging by wavelet threshold
實驗中的閾值為系統預設值,(b)圖是原影象經過兩層小波分解得到,從圖中可以看到影象的細節資訊分佈在高頻部分,低頻分量為影象的近似值。(c)圖是採用硬閾值去霧的結果圖,硬閾值函式由於其不連續性,使處理後的影象在邊緣處發生振鈴、偽吉布斯效應,如圖中吊車的兩側以及遠處吊梯的邊緣。(d)圖是採用軟閾值去霧的結果圖,軟閾值由於對係數的估計是有偏的,這導致了處理後的影象會產生過分平滑,使影象呈現較模糊狀態。
3。6 本章小結
本章介紹了基於影象增強方法的去霧技術中的直方圖均衡方法、同態濾波法、小波變換法以及Retinex增強演算法,透過對演算法原理與實驗結果分析可知:全域性直方圖均衡演算法簡單,對單景深影象的復原效果較好,但是難以反映景深多變的影象中的區域性資訊變化;區域性直方圖均衡演算法能較好的增強區域性資訊但是由於要對影象中的畫素逐點進行運算,演算法耗時較長,並且處理後的影象中存在區域性塊狀效應;同態濾波演算法原理簡單,主要透過兩次傅立葉變換採用適合的高通濾波器對影象進行濾波,保留反映影象細節資訊的高頻分量,將霧看作低頻噪聲濾除。同態濾波演算法能較好的保持影象的原始面貌,增強影象的全域性對比度,但是不能有效增強影象的區域性細節資訊,導致處理後的影象細節資訊不突出,視覺效果不理想;小波變換演算法能較好地增強影象的細節,但是無法解決影象過亮、過暗或是光照不均的情況;Retinex演算法可以改善影象顏色恆常性,提高影象對比度,有效地顯示影象中暗區域的細節資訊,但是處理後的影象易產生邊緣模糊、色彩失真。分析比較各種演算法,Retinex演算法有較大的發展空間,值得深入研究、探討。