張馳, 譚南林, 李響, 李國正,*, 蘇樹強
(1. 北京交通大學 機械與電子控制工程學院, 北京 100044; 2. 華東交通大學 交通運輸與物流學院, 南昌 330013)
霧霾天氣下所拍攝的圖像退化嚴重,對比度降低,細節(jié)信息損失,色調(diào)偏移,不利于分析與識別。對霧天圖像進行增強處理,可提高其可見度,豐富圖像的信息量,改善圖像的品質(zhì),對圖像的深入理解以及機器對圖像進一步識別和深層次學習有很大的幫助。因此,對霧天圖像的增強處理方法展開研究,在航空航天[1]、交通監(jiān)控[2]和室外監(jiān)測等領域有重要的實際工程意義。
現(xiàn)有常用的霧天圖像增強算法主要有:基于暗通道的去霧算法、直方圖均衡(Histogram Equalization,HE)算法和基于色彩恒常性理論的Retinex算法[3]。從實際應用角度來看,這3類算法均有著各自的局限性:①暗通道理論在去霧研究中得到了很多應用,從大氣散射模型出發(fā),對透視率進行細化,有很好的去霧效果[4]。結(jié)合暗通道理論以及Retinex算法對霧天圖像進行增強,可以有效復原圖像的清晰度和對比度[5-6]?;谄癯上窈桶低ǖ兰夹g(shù)的結(jié)合,引入了動態(tài)偏差因子,不僅能有效地提高模糊圖像的可見性,而且能顯著地保護圖像的細節(jié)[7]。基于Retinex算法和引導濾波對夜間圖像進行增強,根據(jù)圖像的顏色特征,利用引導濾波器對照明分量進行估計,并將其應用于邊緣保持平滑算子[8]。該算法處理視覺效果好,但時空復雜度較高,且應用環(huán)境受限。②HE算法通過分散灰度值、修改直方圖分布來增強圖像對比度。有使用顯著直方圖設計灰色層次映射方法對圖像進行增強跟蹤,提升視覺效果[9]。針對航天領域中無人機的應用條件,統(tǒng)計直方圖數(shù)據(jù)對圖像分別進行白平衡處理和對比度增強處理,使用自動色階得到增強圖像[10]。為了改善圖像質(zhì)量并增強視覺效果,提出基于非線性直方圖變換與參數(shù)優(yōu)化的降質(zhì)圖像對比度畸變校正方法[11]。HE算法雖然處理速度快,客觀評價參數(shù)較優(yōu),但是增強后的圖片會有失真現(xiàn)象,亮度不均,細節(jié)丟失,主觀評價差。③Retinex是從圖像中估計出光照,得到增強圖像,主要包括單尺度Retinex (Single Scale Retinex, SSR)、多尺度Retinex(Multi-Scale Retinex, MSR)、帶顏色恢復的多尺度Retinex(Multi-Scale Retinex with Color Restoration, MSRCR)等算法[12]。使用空間自適應基于α-范數(shù)的變分Retinex模型,利用亮通道先驗和局部方差圖生成正則化參數(shù)進行圖像增強[13]。采用MSR算法和雙邊濾波結(jié)合的方案對圖像低頻系數(shù)進行處理,采用軟閾值濾波算法對圖像高頻系數(shù)進行處理進行圖像增強[14]?;陔p邊濾波和MSR算法結(jié)合離散小波變換和Otsu閾值分割算法進行圖像增強[15]?;贛SR算法,提出了一種平衡圖像對比度和色彩一致性的顯式多尺度表示,并引入直方圖截斷技術(shù)[16]。為了恢復圖像色彩,提出了基于高斯濾波和引導濾波的改進型MSRCR圖像增強算法,該算法能有效地抑制噪聲干擾,有效恢復圖像色彩[17]。基于改進的MSR算法,將RGB 3個通道分別進行非線性灰度拉伸,得到每個像素點光照陰影關(guān)系比例,對霧天圖像進行增強[18]。該算法能夠有效提升霧天圖像,對比度高,細節(jié)豐富,色感一致性好,顏色自然。但是由于其多尺度計算復雜度高,邊緣位置模糊,缺乏亮度恒常性,顏色恢復算法簡單,會出現(xiàn)反轉(zhuǎn)顏色失真現(xiàn)象,對噪聲會有加強效果,因而處理還并不十分理想。
可見,現(xiàn)有3類算法對退化圖像增強在圖像失真、損失細節(jié)、去除噪聲干擾、運算速度、色彩還原等方面無法做到同時達到很好的效果。為此,本文提出了一種改進型Reitnex算法,首先以改進的雙邊濾波法作為中心環(huán)繞濾波函數(shù),能夠保留邊緣信息的同時去除噪聲。其次將S型sigmoid函數(shù)應用于霧天圖像的顏色還原與增強處理,能夠減少計算復雜度并得到更佳的色彩信息。最后通過實驗對比了暗通道、HE和MSRCR算法的處理結(jié)果,驗證了該算法的可行性和有效性。
Retinex算法基于顏色恒常知覺理論,認為得到的霧天圖像I(x,y)是由入射光分量L(x,y)即光照圖像和反射光分量R(x,y)組成[14],
I(x,y)=L(x,y)R(x,y)
(1)
將式(1)轉(zhuǎn)換到對數(shù)空間進行計算,有利于人眼對圖像信息的感知,轉(zhuǎn)換數(shù)學公式如下:
ln(Ri(x,y))=ln(Ii(x,y))-
ln(Gi(x,y)Ii(x,y))
(2)
式中:Gi(x,y)為中心環(huán)繞函數(shù),現(xiàn)有Retinex算法常選用高斯函數(shù),下標i為通道數(shù)。
Retinex算法的核心是計算出來精確的照度分量和反射分量,在此基礎上能夠還原出更加真實的原始圖像。對于霧天圖片有顯著的增強效果,所得到的去霧圖像具有較高的局部對比度和較小的顏色失真。SSR算法難以在細節(jié)增強與色感一致性兩方面都有好的結(jié)果。因此提出MSR加入3 個尺度,在不同霧天條件下都有表現(xiàn)較佳的尺度,但2 種算法都會出現(xiàn)偏色現(xiàn)象。在MSR基礎上加入顏色恢復得到MSRCR算法,消除圖像顏色失真現(xiàn)象。
在Retinex算法的中心環(huán)繞濾波算法中,目標點上的像素值通常是由其所在位置上的周圍的一個小局部鄰居像素的值所決定,所以處理的效果是對整幅圖像進行模糊處理。這會導致邊緣銳化不足,細節(jié)信息丟失。而雙邊濾波的基本思路是同時考慮將要被濾波的像素點的空域信息和值域信息,與領域中心點距離近、亮度差異較小像素點對濾波影響大,距離遠、差異大的像素點影響小,濾波函數(shù)為
(3)
式中:k(x)為權(quán)重和,將結(jié)果歸一化;ξ為空間像素點;f(x)為像素值,x為要求的點;c為距離函數(shù);s為相似度函數(shù)。為此,考慮將空間高斯函數(shù)和值域高斯函數(shù)進行結(jié)合,使用雙邊濾波代替高斯濾波作為MSRCR中心環(huán)繞函數(shù),從而保留邊緣處距離相距近但是像素值差異大的像素點特性,進而保持霧天原圖像中的邊緣信息,改善光暈、過增強問題。
霧天的圖像有著能見度較低、視覺模糊的特點,圖像色彩偏向于灰白色。由于霧氣濃度不同、景深和不同波長光線衰減不同,所以整幅圖像霧天所造成的模糊程度是不同的。本文目標是將在霧天影響衰減的圖像恢復,還原色彩,增強整幅圖像的對比度,提高圖像的可視性。
針對現(xiàn)有Retinex算法存在的噪聲處理差、增強時間成本高、顏色恢復性差等問題,本文提出如圖1所示的算法流程,B(X,Y)為雙三次插值結(jié)果,aij為權(quán)重系數(shù),W(i)和W(j)分別為橫坐標和縱坐標權(quán)重,S(x)為sigmoid函數(shù)。
圖1 改進型Retinex算法流程圖Fig.1 Flowchart of improved Retinex algorithm
首先,對Retinex算法中心環(huán)繞濾波算法進行改進,使用雙邊濾波法能夠提升邊緣的效果,同時提升對噪聲的處理能力。具體算法實現(xiàn)首先將待處理的原始圖像進行高斯金字塔向下采樣,由卷積采樣與偶數(shù)行采樣組成,其公式為
(4)
式中:m和n分別為行數(shù)和列數(shù),k為金字塔代數(shù);W(m,n)為高斯卷積核。
求得濾波使用的核函數(shù),基于空間距離和像素差值求得高斯權(quán)重,在中心點為極大值或極小值且周邊像素值差異較大時,認為該點為噪聲點,對于噪聲點的處理時將中心點的權(quán)重降低。對x軸和y軸方向分別進行濾波,由于雙邊濾波法2個權(quán)重值相乘,計算復雜度高,還存在歸一化問題,所以濾波函數(shù)修改為
h(x)=k-1(x)(c(ξ,x)+s(f(ξ),f(x)))dξ
(5)
因為是對霧天圖像進行增強處理,原始光照條件受到霧天大氣散射影響緩慢變化,在改進的雙邊濾波之后,對圖像進行對比度壓縮,以降低去霧操作對圖像的退化影響。圖像尺寸還原時,采用雙三次差值,用到了四鄰域的像素信息,能夠產(chǎn)生效果更好,更加精確的插補圖形,圖像的放大效果很好,在整個算法中也有一定的濾波效果,雙三次差值公式為
(6)
霧天原始圖像和通過上述改進型Retinex算法得到的入射光圖像如圖2所示。
圖2 霧天原始圖像和入射光圖像Fig.2 Original foggy image and incident light image
其后,在對數(shù)空間將兩圖相減,在尺度不變的情況下對于圖片的細節(jié)增強與顏色恒常性兩方面都有好的結(jié)果。在計算的時間上,傳統(tǒng)多尺度Retinex算法使用3個不同尺度進行3次計算,本文算法計算復雜度低,并且在對圖像進行高斯金字塔向下采樣降低了處理的量級。
Retinex算法中傳統(tǒng)的顏色恢復方法是利用輸入圖像中三通道顏色間的比例關(guān)系來計算顏色恢復因子矯正圖像,該方法會造成像素值的溢出現(xiàn)象。
為了解決還原失真的問題,采用S型函數(shù)函數(shù)來調(diào)節(jié)計算,根據(jù)S型函數(shù)特點,圖像中亮度兩端區(qū)域范圍被壓縮,中間亮色區(qū)域被拉伸。且人眼對亮度的感知通常是平均亮度越大的地方,感知的亮度差別就越大。將中心亮度區(qū)域?qū)哟位湍軌蛱嵘鶊D像的視覺效果。
將對數(shù)域相減結(jié)果圖像進行S型曲線函數(shù)拉伸,因為S型函數(shù)的動態(tài)壓縮能力要高于其他如線性、對數(shù)函數(shù)[9]。S型曲線選用sigmoid函數(shù),該函數(shù)符合高斯積累特性,并且在低像素值的區(qū)段內(nèi)和對數(shù)函數(shù)反函數(shù)指數(shù)函數(shù)曲線相似,還可以省去將圖像從對數(shù)預轉(zhuǎn)換回實數(shù)域的過程,sigmoid函數(shù)表達式為
(7)
在亮色區(qū)域和暗色區(qū)域進行不同系數(shù)的處理,應用于霧天圖像顏色還原對比度還原的公式設定為
(8)
式中:P(x)為顏色還原后的像素值;k1為對比度系數(shù),和原霧天圖像的標準差成正相關(guān);k2為像素值系數(shù),亮度越高系數(shù)越小。對圖像的顏色還原曲線如圖3所示。
在對圖像顏色還原后有很好的效果,對原色彩飽和度很高的圖像也有著不錯的效果,避免了MSRCR算法使得顏色失真的問題。本文方法經(jīng)過還原后像素值不會小于0,也不會超過255,避免了顏色反轉(zhuǎn)的現(xiàn)象。在處理之后,RGB 3通道的像素值大小關(guān)系也不會有變化,在CIE色度值中各個通道的占比變化也相對恒定,減弱了圖像的偏色現(xiàn)象,顏色還原效果主要在客觀指標中體現(xiàn)。
圖4(a)MSRCR算法中顏色還原步驟會使原圖顏色飽和區(qū)域出現(xiàn)失真問題,圖4(b)本文算法避免了該現(xiàn)象。
圖3 顏色還原直方圖曲線示例Fig.3 Example of color reduction histogram curve
圖4 MSRCR算法和本文算法處理結(jié)果Fig.4 Proccessing result of MSRCR algorithm and proposed algorithm
為驗證本文提出算法的增強效果,使用OpenCV平臺進行驗證,CPU主頻為3.40 GHz,圖片尺寸為480 像素×360 像素。將本文算法的去霧處理結(jié)果,與暗通道算法、HE和MSRCR等現(xiàn)有算法進行對比,以驗證其可行性和有效性。
由于圖像主觀評價個體差異大,易受外界環(huán)境影響,難以用于科學研究及實際工程之中,針對一幅圖像的客觀評價至今并沒有標準化的圖像質(zhì)量評價標準。為此,本文結(jié)合圖像物理特性及意義選擇以下參數(shù)作為評價指標??陀^評價指標采用圖像的亮度、標準差、信息熵及清晰度。處理目標為霧天圖像,霧天的特點為對比度色彩衰減,畫面白化,亮度值偏高。亮度值體現(xiàn)彩色圖像的整體亮度,去霧效果較好的亮度值相對原圖偏低。標準差反應了圖像像素值的離散程度,值越高說明對比度越高,算法去霧效果越好,圖像標準差std計算公式如下:
(9)
式中:M和N分別為圖像尺寸的寬度和高度;f(i,j)為圖像在坐標(i,j)的像素值;mean為圖像的亮度均值。
圖像的信息熵代表圖像的不確定性,也就是信息量,值越大,含有的信息量越多,信息熵ent表達式如下[5]:
(10)
式中:Pr,g,b為圖像中顏色為(r,g,b)像素出現(xiàn)的概率。
清晰度選用Laplace梯度法,使用Laplace算子分別提取水平和豎直方向的梯度,清晰度值越高,說明處理效果越好。圖5~圖8是4張不同環(huán)境下霧天圖像的增強結(jié)果。
圖5 霧天圖像1增強效果比較Fig.5 Comparison of enhancement effects for foggy image 1
圖6 霧天圖像2增強效果比較Fig.6 Comparison of enhancement effects for foggy image 2
圖7 霧天圖像3增強效果比較Fig.7 Comparison of enhancement effects for foggy image 3
圖8 霧天圖像4增強效果比較Fig.8 Comparison of enhancement effects for foggy image 4
圖5~圖8從左到右分別是霧天原圖,暗通道、HE、MSRCR和本文算法結(jié)果。選取不同霧天環(huán)境的多幅霧天圖像驗證本文算法,圖8中圖像來源于NASA的霧天圖片庫,本文算法在航空領域中也有很好的增強效果。從上面多組直觀的圖像和客觀評價結(jié)果(見表1~表4)可以看出:
暗通道算法會使得結(jié)果圖像顏色值偏小,圖像中顯示過于飽和,該算法最大的問題是計算復雜度過高,無法應用在實時處理環(huán)境。
HE算法計算速度快,因為算法就是提升像素之間的差異,所以增強后的圖片對比度增加,標準差值大,客觀評價效果不錯,但是視覺效果差,細節(jié)消失,出現(xiàn)圖像失真的問題。
MSRCR算法的結(jié)果整體比較優(yōu)異,對不同霧天圖像都有較好的增強效果,對比度較低,顏色較為集中,對顏色飽和區(qū)域的還原結(jié)果差,運算量較大,且需要配置參數(shù)。
表1 霧天圖像1客觀評價結(jié)果Table 1 Objective evaluation result of foggy image 1
表2 霧天圖像2客觀評價結(jié)果Table 2 Objective evaluation result of foggy image 2
表3 霧天圖像3客觀評價結(jié)果Table 3 Objective evaluation result of foggy image 3
表4 霧天圖像4客觀評價結(jié)果Table 4 Objective evaluation result of foggy image 4
本文算法在不同的霧天場景中都有著較好的增強效果,本文算法對霧天增強的結(jié)果清晰度較原圖提升約200%,標準差提升約110%,信息熵提升約10%。相比于現(xiàn)有算法,除了標準差會有部分圖像不如HE算法,其余評價標準都優(yōu)于現(xiàn)有算法。
現(xiàn)有算法的問題主要為實時性和增強效果無法同時達到最優(yōu),部分算法需要調(diào)整匹配參數(shù)。本文提出的算法在主觀視覺和客觀評價上都有著較好的處理效果,通過客觀圖像評價標準可看出該方法對霧天圖像增強處理后能夠含有更多的信息,顏色更加真實,細節(jié)更加豐富,改善了光暈現(xiàn)象。本文提出的算法對不同圖像不需修改參數(shù),對不同的霧天條件都有較好的去霧效果,并在實時性上也能達到20幀/s的要求。
本文在Retinex算法基礎上進行改進,提出了新的圖像去霧算法,經(jīng)實驗驗證,得出如下結(jié)論:
1) 用改進的雙邊濾波算法作為Retinex算法的濾波函數(shù),在高斯金字塔圖像進行處理,減小計算量,算法適用性強。
2) 使用改進的S型sigmoid函數(shù)顏色還原方法,省去了從對數(shù)域轉(zhuǎn)換回實數(shù)域的計算過程。通過上述方法的得到得結(jié)果在圖像亮度、標準差、熵、清晰度等客觀圖像標準下有更好得結(jié)果,計算耗時短,與參數(shù)無關(guān),細節(jié)突出,顏色還原度高。
未來的研究可以針對霧天和非霧天氣進行區(qū)分,減小增強的計算復雜度,應用到戶外的視頻監(jiān)控場景中。