程 鴻 龍 偉 李炎炎
(四川大學機械工程學院 四川 成都 610065)
在夜間霧、霾等天氣條件下拍攝的戶外圖像,由于人工光源照明不均勻,大氣懸浮粒子對光的吸收和散射作用,導致成像設備采集到的夜晚圖像存在光照不均勻、圖像對比度低、色偏嚴重等現象。圖像中部分信息丟失,影響視頻監控和圖像采集系統的效果[1-2]。因此,夜間去霧具有重要的意義。
近年來國內外學者主要針對白天條件下的有霧圖像進行研究,并取得了較大的突破。現有的去霧算法主要有兩類。一類是不依據圖像物理成像模型的方法,直接利用數學的方法改變圖像的像素值。如直方圖均衡化[3]、單尺度和多尺度Retinex方法[4]等。另一類是依據圖像物理成像模型的方法。這類方法利用McCartney等[5]提出的衰減模型和大氣光模型,求得模型中參數,如大氣光值和透射率,最終獲得目標圖像。如Fattal[6]提出的基于獨立成分分析去霧,He等[7]提出的基于暗通道先驗去霧,Zhu等[8]提出的基于顏色衰減先驗去霧,Berman等[9]提出的基于color-line的非局部圖像去霧等。上述算法在白天有霧的條件下均能取得很好的去霧效果,但不適用夜晚去霧。
目前僅有少量關于夜晚圖像去霧的研究。Pei等[10]提出了一種基于物理成像模型的夜晚圖像去霧算法,首先將夜晚有霧圖像轉換為理想的白天有霧圖,再根據暗通道先驗對圖片進行去霧處理;Zhang等[11]通過增強估計光照強度以獲得光照平衡的結果,再進行顏色校正,最后利用暗通道先驗和逐點環境光估計法去霧;Li等[12]構建含有光暈層的夜晚圖像成像模型,再基于暗通道先驗去霧;方帥等[13]根據大氣光局部變化的現象構建新的夜晚成像模型,提出了基于信息熵的透射率估計方法,并通過光源區域的顏色屬性來進行顏色校正,最終獲得清晰的夜晚圖像;楊愛萍等[14]建立含有人工光源的夜晚霧天圖像成像模型,利用低通濾波的環境光估計方法,進而預測夜晚成像的透射率,以此進行去霧,再利用直方圖匹配方法解決色偏問題。
上述有關夜晚圖像去霧研究中,相較于白天圖像去霧有統一的大氣物理成像模型,夜晚圖像去霧目前還沒有統一的成像模型,故本文提出一種基于非物理模型的夜晚圖像去霧算法。實驗結果表明,本文算法能有效提高夜晚圖像的清晰度,達到改善視覺效果的目的。
同態濾波是一種減少低頻分量增加高頻分量,減少光照變化并銳化邊緣或細節的圖像濾波方法。它以照度反射模型作為頻域處理的基礎[15],能夠對圖像灰度范圍進行調整,從而消除圖像上照明不均勻的問題,增強圖像暗區域細節,使增強后的圖像更符合人的視覺習慣。
夜間有霧圖像f(x,y)可以表示為入射分量i(x,y)與反射分量r(x,y)乘積:
f(x,y)=i(x,y)·r(x,y)
(1)
式中:入射分量i(x,y)屬于光照條件下的低頻成分[16];反射分量r(x,y)屬于展示圖像細節等特性的高頻成分。處理光照不均勻的多光源的彩色夜晚圖像,就需要盡量增加圖像的低頻分量,同時適當增強圖像的高頻分量。
由于式(1)是由兩個函數乘積構成,故不能直接用Fourier變換對i(x,y)和r(x,y)進行操作。對式(1)兩邊分別同時取對數,得:
lnf(x,y)=lni(x,y)+lnr(x,y)
(2)
再對式(2)進行Fourier變換,得到頻域表達式:
F(u,v)=I(x,y)+R(x,y)
(3)
式中:I(x,y)和R(x,y)分別是lni(x,y)和lnr(x,y)的Fourier變換結果。用傳遞函數H(u,v)對式(3)的F(u,v)進行處理,可得:
H(u,v)F(u,v)=I(x,y)F(u,v)+R(x,y)F(u,v)
(4)
濾波處理后,對式(4)進行傅里葉逆變換回到空間域,即得:
FH(u,v)=IH(x,y)+RH(x,y)
(5)
最后,對式(5)兩邊同時取指數,得到同態濾波后的圖像:
g(x,y)=eFH(u,v)=eIH(x,y)eRH(x,y)
(6)
同態濾波的過程如圖1所示。

圖1 同態濾波器增強過程
從以上推導過程可以看出,能否達到理想的濾波效果,關鍵在于選擇合適的濾波函數H(u,v)。
頻域內的同態濾波處理,常用的傳遞函數為高斯型高通濾波函數[17],優化后的表達式如下:
(7)
式中:γH表示高頻增益;γL表示低頻增益;θ為銳化系數,用來改變傳遞函數斜面的傾斜程度;D0表示截止頻率;D(u,v)表示頻率(u,v)到濾波器(u0,v0)中心的距離。表達式如下:
(8)
高通濾波器通過抑制低頻分量,并保留高頻分量對圖像進行銳化處理。但由于夜晚光源較多且光照不均勻,經過Fourier變換的頻率譜圖像亮點較多,實際圖像已經表現很尖銳。故為了抑制夜晚圖像中的高頻部分,適當增加低頻成分,本文的傳遞函數H(u,v)采用高斯低通濾波函數,優化后的表達式如下:
(9)
Retinex理論是由Edwin.H.Land基于顏色恒常性理論提出的,認為一幅給定的夜晚霧天圖像S(x,y)可視為入射光分量L(x,y)和反射光分量R(x,y)的乘積[18]:
S(x,y)=L(x,y)·R(x,y)
(10)
式中:R(x,y)表示物體的反射性質,即所要復原的圖像;L(x,y)表示入射光圖像,決定了圖像像素能達到的動態范圍,應盡量消除入射光的影響。
將式(10)等號兩邊轉換到空間進行計算,得到:
logR(x,y)=logS(x,y)-log(S(x,y)×G(x,y))
(11)
式中:G(x,y)為高斯函數。
(12)
式中:λ是一個尺度因子,它的值必須滿足以下條件:
(13)
式中:φ表示高斯環繞尺度,其作用是控制領域范圍。φ值越小,高斯模板的半徑越小,計算的中心像素受周圍像素的作用越大,增強后的圖像對比度越明顯,細節也更突出,但顏色失真也越嚴重;φ值越大,增強后的圖像顏色保真效果越好,但是圖像顯得越模糊,去霧效果也隨之下降。
考慮到夜晚圖像存在或明或暗的部分,為了提升圖像的對比度,獲得更多的圖像細節,本文采用限制對比度自適應直方圖均衡的方法。相比自適應直方圖均衡化(AHE),CLAHE在AHE的基礎上,對每個子塊直方圖進行了限制,因此CLAHE能解決AHE算法中滑動模板帶來的窗口之間灰度不平滑問題[19]。該方法首先將圖像分為若干重疊的子區域,對每個區域進行對比度限幅,將超出限幅的部分均勻分布到直方圖的其他部分,如圖2所示。然后對每個子區域進行直方圖均衡,再對每個像素使用插值的方法消除分塊帶來的塊邊緣過渡不平衡的問題。最終實現對比度受限自適應直方圖均衡增強。本文采用MATLAB自帶的限制對比度自適應直方圖均衡算法。

圖2 對比度受限直方圖均衡
雖然人在各種環境下都能準確判斷出白色物體,但相機成像的圖片,在不同色溫的光線下,圖像就會出現顏色偏差,與人眼看到的顏色不一致,因此夜晚圖像普遍存在色偏。為進一步改善夜晚圖像去霧效果,增強人眼的視覺效果,本文采用白平衡算法對去霧后的圖像進行顏色校正。
白平衡是一種以人眼看到的白色為標準[20],使人眼看到的白色物體在照片中也呈現白色。白平衡算法以灰度世界假設[21]為基礎,假設認為在有足夠顏色變化的圖中,它的RGB分量的平均值會趨近相等,如下:
Raver=Gaver=Baver
(14)
式中:Raver、Gaver、Baver分別表示三個顏色通道的均值。
再計算各個通道的增益,即:
(15)
(16)
最后根據Von Kries對角模型,求得各個顏色通道的像素值,即:
Rnew=R×KRGnew=R×KGBnew=R×KB
(17)
計算的結果中可能會出現溢出的情況,即像素值大于255,本文將大于255的像素直接設置為255。
實驗在MATLAB 2017b下進行算法編程,PC處理器為2.6 GHz Intel(R)Core(TM)i5-4210M,內存為4 GB。本文的算法流程如圖3所示。為了展示各步驟結果,從圖蟲網上收集了一幅夜間霧天圖像(661像素×1 200像素),各步驟結果如圖4所示。結果顯示本文算法能有效去除夜晚的霧氣,提升圖像對比度,展示更多的細節信息。

圖3 夜間圖像去霧算法流程圖

(a)夜間有霧原始原圖
為了驗證本文算法結果,收集了文獻[11]中的實驗圖片,以Pavilion、Street和Trains為實驗對象,并與傳統的Retinex算法、He等[7]的方法及Li等[12]的方法進行對比。各算法去霧效果圖如圖5所示。可以看出,傳統的Retinex算法沒能有效改善夜晚有霧的圖像視覺效果;He等[7]的方法因為是假設在白天光照均勻條件下進行的,沒有考慮夜晚圖像的成像特點,所以去霧效果不明顯;Li等[12]的方法對夜晚去霧取得了較好的效果,但由于也是基于暗通道先驗基礎,結果圖中天空區域出現塊效應現象,且色偏嚴重。相比之下,本文的算法考慮了夜晚光照不均勻、對比度低、色偏嚴重的特點,有針對地對問題進行處理,改善了視覺效果,有效地完成了對夜晚有霧圖像的處理。

(a)夜間有霧圖像
為進一步驗證本文算法的增強效果,采用平均梯度A、信息熵H、對比度C和算法運行時間T等客觀指標對去霧后的圖像進行質量評價,各算法的性能指標統計結果如表1所示。

表1 算法性能指標統計
圖像的平均梯度A能反映圖像對微小細節反差表達的能力。平均梯度越大,表明影像越清晰,反差表達能力越好。其公式如下:
(18)
式中:Ji,j為第i行、第j列的像素值;c與r為圖像的行數和列數。
圖像的信息熵H是表示圖像細節方面的指標,信息熵值越大,圖像細節越多,計算公式如下:
(19)
式中:pi表示像素i出現的概率。
利用文獻[2]的方法計算圖像中的對比度C,C值越大,對比度值越大,圖像細節越清晰。計算公式如下:
(20)
式中:w、h分別表示圖像的寬和高;L(x)表示像素點x處的亮度。
從表1可以看出,四種算法中,本文算法在各個指標中都取得理想的結果。尤其是在實驗圖片Trains的處理結果中,對圖像去霧的各個指標都取得最好效果。雖然傳統Retinex 算法和He等的方法的運行時間比較短,但是這兩種算法都沒能對夜晚有霧圖像進行有效的處理;對于Pavilion圖,Li等的方法在性能指標中占有一定優勢,但算法運行時間遠超過本文算法的運行時間。綜上所述,本文算法復原的圖像在各項指標中總體呈現最優。
本文針對夜晚有霧圖像的特點,以提高圖像對比度,改善視覺效果為目的,提出了一種基于非物理模型的夜間圖像去霧算法。實驗結果表明,在平均梯度、信息熵、對比度以及算法運行時間等指標下,本文算法處理的結果總體優于Retinex算法、He等方法、Li等方法,處理后的圖像具有更高的細節清晰度。需要指出的是,本文沒有從夜晚圖像成像的原理進行去霧,而是根據人眼視覺要求,利用數學的方法提升圖像的視覺效果。