倪金卉
(吉林建筑科技學院 吉林省長春市 130114)
霧是十分普遍的大氣現象,采集圖像時目標圖像和霧被一起采集,這種圖像比無霧圖像看起來朦朧模糊且伴有顏色偏灰白、對比度下降現象。何愷名博士通過大量戶外自然圖像采集實驗得出,在戶外自然無霧圖像中,除去天空區域外,絕大多數的圖像數據塊中都有一些在某個色彩通道上亮度值很小的像素,并提出了暗通道先驗原理模型,通過暗通道先驗假設直接恢復出無霧的圖像。但在實際應用中,利用軟摳圖算法來細化粗糙的透射率,會導致算法的復雜度很高。
經過大量實驗對比分析,本文題提出一種基于暗通道先驗原理的改進算法。戶外采集的圖像,天空區域一般在圖像的中上部,利用這種特點對是否存在天空進行判斷和分割。從而避免高亮物體對大氣參數求取過程的影響并提高了求取大氣參數的精度。結合Retinex算法、利用快速雙邊濾波器對透射率濾波從而消除Halo現象和色彩失真。針對像素點的值接近大氣光值時,對透射率加上增幅項來消除出現的色斑色塊效應。
在近些年計算機視覺領域,有一種得到廣泛應用的霧天圖像成像物理模型為:

其中,I(x)為獲取的有霧降質圖像;J(x)為無霧的場景真實圖像;A為大氣參數;t(x)為透射率。霧天降質圖像去霧的目的就是從I(x)中恢復J(x),從而得到復原無霧圖像。
暗通道先驗原理是一種基于無霧真實場景圖像的先驗統計規律,即在絕大多數的非天空的部分區域里,都會有至少一個顏色通道的像素強度值很低并趨近等于0,即:

其中,Jc是J的一個顏色通道,Ω(x)是一個以x為中心的小圖像塊,Jdark是暗通道圖像。
在(1)式中為了求取透射率t(x),假設大氣參數A已知,在局部區域Ω(x)內的透射率恒定不變,記為首先對式(1)中兩邊同時除以Ac,為某一顏色通道,然后對兩邊同時作變換,根據式(2),得到:

由于透射率在局部區域內恒定不變,式(3)計算的透射率圖存在方塊和halo效應,因此,采用soft matting方法可以得到優化透射率圖t(x)。至此,可由t(x),A和I(x)恢復J(x),即:

圖1:天空區域分割圖

為了減少復原圖像噪聲t0設置為0.1。其中,大氣光強參數A的估計方法為:先查找取出Jdark中亮度最大的前0.1%像素點,然后取這些像素在原圖I(x)中對應像素點的最大值作為大氣參數A的值。
包含天空的戶外圖像,天空一般具有顏色單一、較亮并且平滑、分布在圖像的中上部等特點。由此判斷天空區域是否存在。選取霧天降質圖像的前Ntop行并求取像素亮度的平均值和最大亮度值vmax,若則判斷為天空區域。當μ1取0.89時,檢測的結果較準確。
經過比較分析選擇使用快速Canny算子進行邊緣檢測。快速Canny算子流程為:
(1)高斯濾波;
(2)Otsu法計算出閾值T,確定天空邊緣點的灰度值范圍為(T, Lmax),其中Lmax為圖像最大灰度值,縮小了求取范圍從而提高求取速度。
(3)Sobel算子求梯度與方向。
(4)極大非抑制。
(5)雙閾值提取邊緣。
(6)邊緣圖像。
天空區域檢測出效果圖如圖1所示,白色區域為標記的天空區域。
對于不存在大片天空區域的降質圖像,在有霧降質圖像暗原色中上部找到亮度最大的前0.1%的像素點,取其對應原有霧降質圖像像素點平均值記為在這些像素點中找到亮度最大的像素點并且滿足對應的有霧降質圖像的像素點即為大氣光強,μ2取1.1時,復原后的無霧圖像效果較好。估計的大氣光強更加準確,降質圖像復原效果相對更加自然。

圖2:自適應對數算法調整對比圖

圖3:多種去霧方法對比

圖4:多種去霧方法對比
本文使用快速雙邊濾波器來細化透射率。具體的形式化定義入公式(5):

其中,q=(u,v)為中心點像素p的領域像素點,S是領域像素點的集合,Wp是歸一化因子,為空間鄰近度因子,為灰度相似度因子,它們的表達式分別由下面兩式表示:


本文使用經過改進快速降維雙邊濾波器[1]。其中σs、σr是兩個重要參數,后面實驗階段進行分析選取,經過快速雙邊濾波處理后,輸出的圖像透射率t(x)的邊緣特性得到了顯著的提高。
由于分割出的天空區域光照均勻,亮度值較高,沒有劇烈突變區域,整體比較平滑。適合用多尺度Retinex算法去霧。對于彩色RGB圖像的處理,經過MSR算法處理的圖像有失真現象,因此需要轉換到HSV空間進行處理。根據HSV空間的特點,對亮度分量V進行MSR算法處理進行去霧,為了進一步提高視覺效果,還可采用分段對數變換增強飽和度分量S。MSR算法可用公式(9)來描述:

下標i表示 ,G,B代表三個顏色通道;N是尺度個數一般取3,Wn是尺度對應的權重函數,滿足

當N取3時,一般取W1=W2=W3=1/3。
Fn(x,y)是低通濾波器,一般為高斯環繞函數,其公式如下:

其中,σn是高斯函數的標準差,決定尺度的大小。Kn具有的特點。
其中在HSV空間MSR算法對V分量處理的公式可表示如下:

實驗發現3個尺度(小,中,大)的環繞函數的結合能夠很好的實現動態范圍壓縮和色彩恢復。由于MSR算法用高斯函數與圖像進行卷積來求得圖像的照度分量,假若使用公式(9)直接進行卷積,計算量很高,難以滿足工程上實時要求,因此本文使用遞歸高斯函數進行加速。針對降質圖像天空區域,在HSV空降經過處理后得到的輸出結果在轉換到RGB空間最終得到無霧的天空區域。
在式(4)中,何愷名博士等處理透射率圖t(x)太小接近于0時,利用max(t(x),t0)來給透射率圖設個下限值,由于場景恢復圖像J(x)在亮度值上通常小于大氣光強值A,所以去霧后的圖像顯得較為暗淡,引入t0為了增強去霧圖像的曝光度。但是由式(3)可知,當I(y)非常接近A時,t(x)就會非常小,接近于0,即當t(x) 其中p0取大氣光強值,p為當前點的像素值,經過多次實驗μ3取為1.1,處理后得到的圖像效果較好。針對有霧圖像非天空區域恢復無霧場景公式變換為: 去霧輸出的圖像整體偏暗,為了還原出清晰對比度較好的圖像。本文使用Drago[2]提出的自適應對數映射算法對去霧圖像進行色調調整。 對于去霧處理后的圖像J(x)中的一個顏色通道Jc(x),其色調調整表達式為: 式中,t(x)為彩色圖像RGB通道色調調整后的輸出,Jdmax為設備可顯示的最大亮度值,其值一般取100[2]。b的值決定較暗區域細節可見度和高像素值被壓縮的程度,其值一般取0.85[2]。Jcmax(x)為Jc(x)通道中的最大像素值。圖2是去霧輸出圖像和經過色調調整后的圖像實驗結果。 圖2(a)為拍攝原圖,圖2(b)是采取本文算法恢復的無霧圖像,去霧后的圖像整體偏暗,且去霧后的圖像中細節信息不明顯。經過自適應對數算法調整后,圖像2(c)的整體對比度和亮度都得到了提高,視覺效果更加清晰。 實驗環境為:處理器是Intel Core i7-6700,操作系統是64位Windows7,內存是8G,使用MATLAB R2015b和C++混合編程實現。 將改進算法和近年來比較優秀的去霧算法進行對比分析。在圖3中,He算法去霧后圖像天空云彩少許失真;Tarel算法在圖像邊緣處有光暈現象,同時伴有天空色彩失真和邊緣細節模糊;Tan算法去霧后對比度有很大提高,但是存在色偏現象;本文算法處理后,無天空失真,視覺效果好。在圖4中,He[3]算法去霧后有較好的視覺效果,但是由于求得的透射圖偏小,造成天空區域出現失真;Tarel[4]的方法處理后圖像天空與景物交界區域有光暈,同樣像He算法也存在天空區域失真問題;Tan[5]算法有較好的對比度,但是存在色偏現象;本文算法去霧后清晰自然,并且經過補償天空無失真現象。 本文提出一種基于暗通道先驗原理的改進算法。首先對圖像進行天空區域分割,避免高亮物體對大氣參數求取過程的影響并提高了求取大氣參數的精度。結合Retinex算法、利用快速雙邊濾波器對透射率濾波從而消除Halo現象和色彩失真。針對像素點的值接近大氣光值時,對透射率加上增幅項來消除出現的色斑色塊效應。實驗結果表明:本文提出的算法改善了天空失真問題,提高了處理速,有效地提高了圖像去霧的整體效果。

2.6 整圖像去霧輸出

3 實驗結果分析
4 結論