戢凱,王曉峰
(上海海事大學信息工程學院,上海 201306)
最近幾年,自然環(huán)境愈發(fā)惡劣,霧霾天氣頻發(fā),這在影響人們正常生產生活的同時,也對自然景觀取景后圖像的可視性和可理解性造成嚴重的削弱作用,自然環(huán)境有霧狀態(tài)下的取景作為情況之一更是不可避免。因此,去霧算法研究成為近幾年圖像處理領域的熱點問題,且具有重要意義。
隨著國內外學者的持續(xù)研究,提出了多種霧天圖像去霧方法。方法主要分為兩類:基于圖像增強的方法和基于圖像復原的方法[1]。第一類方法中比較典型的有直方圖均衡算法[2]、Retinex方法[3]和Fattal方法等。這類方法從人類的視覺感知入手,增強有霧圖像的對比度或矯正圖像中的顏色從而增強圖像的可視性。該類方法未從根本上去霧,因此去霧效果不明顯。第二類方法通過建立大氣散射物理模型,對有霧圖像從物理成因的角度進行建模,通過求模型的逆過程來還原無霧圖像。求大氣散射模型的逆過程屬于病態(tài)問題的求解,因此基于概率統(tǒng)計獲取無霧圖像先驗信息的方法成為該類方法處理圖像去霧問題的主要手段,并且用這種方法取得了較好的圖像復原效果。例如,文獻[5]提出暗通道先驗知識去霧,該方法直接從單幅有霧圖像中獲取介質傳輸圖,通過求解有霧圖像成像的逆過程去霧,達到了對一般場景的較好的去霧效果,但該方法存在著對天空區(qū)域的不適用性和圖像邊緣的光暈效應缺陷。文獻[6]考慮到同幅有霧圖像的景深信息和顏色信息,解決了暗通道去霧中的光暈效應;文獻[7]用引導濾波的方法替代文獻[5]中的軟摳圖算法細化介質傳輸圖,但細化后的透射率不夠準確,仍會出現(xiàn)光暈效應;文獻[8]受暗通道先驗去霧的啟發(fā),運用流水線作業(yè)方式計算介質傳輸圖,根據(jù)圖像邊緣信息對介質傳輸圖作選擇,提高了圖像去霧的效率,但仍會出現(xiàn)光暈效應和天空區(qū)域圖像失真現(xiàn)象。
針對上述文獻中圖像去霧算法存在的天空區(qū)域圖像失真問題,本文提出融合暗通道先驗和顏色衰減先驗的去霧算法。先利用局部標準差函數(shù)和自適應閾值大津算法分割出原圖像的天空區(qū)域和非天空區(qū)域,然后針對不同區(qū)域選擇相應方式獲取介質傳輸圖,對分割邊緣的介質傳輸圖用均值濾波方法作平滑,最后對去霧后的圖像作亮度增強處理。并且提出用天空區(qū)域的方差值和來衡量本文算法在解決天空區(qū)域失真問題的效果,理論分析和實驗結果表明,本算法在一定程度上解決了暗通道先驗去霧算法在天空區(qū)域的色彩失真問題,具有更好的去霧效果和更大的適用性。
計算機視覺研究領域中,廣泛被用于霧霾圖像的物理模型[8]是:
式中,I(x,y)表示有霧圖像,J(x,y)表示待恢復圖像,A表示取景環(huán)境中的大氣光值,t(x,y)為相應(x,y)處的介質傳輸圖,又稱透射率,且該值與圖像像素點對應的景深存在關系[9]:
式(2)顯示有霧圖像的介質傳輸圖與景深呈指數(shù)相關關系,如果景深值d(x,y)已知,即可求得介質傳輸圖td(x,y)。從單幅有霧圖像中恢復出無霧圖像的過程即是運用此式從I(x,y)中算得J(x,y)的值。由于A,t未知,因此由物理模型得到無霧圖像的恢復過程屬于病態(tài)問題的求解。
文獻[5]通過統(tǒng)計大量無霧圖像,發(fā)現(xiàn)自然景觀圖像中非天空或非大片白色區(qū)域的像素點中,總有一些像素點在某個通道的值很小且接近于0,即對于無霧圖像J,其暗通道定義為:
根據(jù)(3)式,對(1)式作變形和取最小值處理:
文獻[9]通過統(tǒng)計大量有霧圖像,發(fā)現(xiàn)其像素的亮度和飽和度變化與圖像場景中霧氣的濃度有關系,由于大氣環(huán)境中霧的疊加效應,霧濃度間接反映了圖像場景中的景深信息,景深越大的地方,疊加的霧層越多,霧濃度越大,因此,有霧圖像像素亮度和飽和度與霧濃度的關系可轉化為亮度和飽和度與景深的關系。圖1(c),(d)分別顯示了霧天圖像像素點的亮度值和飽和度值隨圖像場景景深的變化關系。
文獻[9]提出,有霧圖像的亮度與飽和度的差值與景深呈線性關系,其表達式為:
其中,i(x,y)為像素點(x,y)處的亮度值,s(x,y)為像素點(x,y)處的飽和度值,θx為系數(shù),取值分別為θ0=0.121779,θ1=0.959710,θ2=-0.780245,由此式可知,獲得有霧圖像的亮度值和飽和度值之后,即可求得景深值。
圖1 輸入圖像,圖像亮度、飽和度隨景深的變化關系
文獻[5]中暗通道先驗去霧方法在天空和大片白色區(qū)域出現(xiàn)顏色失真問題,這說明在該區(qū)域暗通道先驗知識去霧方法不適用,受顏色衰減先驗的啟發(fā),在包含大片白色的天空區(qū)域,用顏色衰減先驗矯正暗通道先驗獲取到的介質傳輸圖。由文獻[9]可知,有霧圖像的亮度與飽和度的差值與景深呈線性關系,具體表現(xiàn)如圖1(b)所示,分析該變化曲線可知:景深值較大時,線性關系明顯。統(tǒng)計大量包含天空區(qū)域的有霧圖像,發(fā)現(xiàn)在同幅有霧圖像中,天空所在的大片白色區(qū)域往往在景深較大的地方。因此,在天空或大片白色區(qū)域,由較為明顯的線性關系獲得更為準確的景深值d(x,y),通過式(2)景深與介質傳輸圖的關系,即可求得更準確的介質傳輸圖。因此用顏色衰減先驗矯正暗通道先驗在天空區(qū)域的介質傳輸圖,增強了暗通道先驗估計出的介質傳輸圖的準確性,從而解決暗通道先驗去霧在天空區(qū)域的色彩失真問題。
為防止兩種不同方式獲取的介質傳輸圖的差異造成的去霧后圖像失真,在兩種方法獲得的介質傳輸圖的鄰接像素點處,用均值濾波的方法作平滑。然后根據(jù)大氣物理模型求得去霧圖像,最后,結合人眼視覺對圖像亮度更敏感原理,增強去霧后圖像的亮度值,得到最終的去霧后圖像,改進的算法流程圖如圖2所示。
圖2 改進算法流程圖
在有霧圖像的天空區(qū)域用顏色衰減先驗矯正暗通道先驗獲取到的介質傳輸圖,需要在有霧圖像中分割出天空區(qū)域。在大量包含天空區(qū)域的有霧圖像中,其天空區(qū)域呈灰白色,色彩變化幅度小、平滑,各像素點顏色值之間的差值小;而非天空區(qū)域,受自然景觀或人文景觀的影響,色彩變化幅度大,各像素點顏色值之間的差值大。因此,基于此差異,結合天空區(qū)域一般在圖像頂部的先驗規(guī)律,本文算法對有霧圖像各個通道各列的像素點值用局部標準差值函數(shù)自上到下算得該通道各列各像素點的標準差值,為了使分割更為精確,計算標準差值時選擇最小的1×2的滑動窗口,對三通道各列像素點的標準差值做累加處理,而后用自適應閾值大津算法求得有霧圖像各列像素點的分割閾值,分別用各列的閾值對相應列做天空區(qū)域和非天空區(qū)域的分割,以此得到分割出天空區(qū)域和非天空區(qū)域的整體圖像。對室外有霧圖像作天空區(qū)域的分割實驗,其效果如圖3所示。
圖3 天空分割效果圖
圖3(a)為原包含天空區(qū)域的有霧圖像,圖3(b)為在像素點列上使用局部標準差值函數(shù)和自適應閾值大津算法后的分割效果圖像,圖3(c)為按閾值在像素點各列上自上到下分割天空區(qū)域的最終效果圖,其中圖像上方白色區(qū)域即為天空區(qū)域,顯示本文算法中的天空區(qū)域分割方法能夠有效地對有霧圖像的天空區(qū)域做分割,且新提出的對像素點各列使用最大津閾值分割算法而后拼接的分割方式,提高了分割的效率,且分割效果良好。
在有霧圖像景深較低的非天空區(qū)域,暗通道先驗去霧算法表現(xiàn)良好,在有霧圖像的天空區(qū)域,基于暗通道先驗獲取到的介質傳輸圖不夠準確,引發(fā)了天空色彩失真現(xiàn)象。為糾正這一不良現(xiàn)象,用顏色衰減先驗獲取到的介質傳輸圖td(x,y)矯正天空區(qū)域的介質傳輸圖 ts(x,y),其公式:
其中,td(x,y)由(2)式介質傳輸圖與景深的指數(shù)相關關系求得,(2)式中的d(x,y)由(6)式顏色衰減先驗模型得到,ts(x,y)由(5)式暗通道先驗模型算得。
式(1)中A指的是取景環(huán)境中的大氣光值,由(1)式求取無霧圖像,需要準確估算出值A。文獻[10]選取有霧圖像亮度值在整個圖像前0.1%的對應的得像素點作為大氣光值。顯然該方法容易受到圖像中亮光源或者相關取景對象的影響,造成大氣光的估計值偏大,從而使最終去霧效果的變差。文獻[12]采用四叉樹方法估計大氣光值A,這在一定程度上避免了大氣光值受局部亮光源的影響。結合本文算法中的天空區(qū)域分割,受四叉樹估計大氣光值的啟發(fā),在天空分割的基礎上,尋找亮度值排在天空部分前0.1%對應像素點作為大氣光值的估計。本文對大氣光值估計的效果與文獻[11]中估計大氣光值的方法作對比,實驗結果如圖4所示。
圖4 大氣光值的估計
圖 4中(a)為原圖,(b)中紅色區(qū)域為文獻[11]方法獲取的大氣光值所在的區(qū)域,顯然該方法受到了圖像中亮度值較大的取景對象的影響,(c)中紅色區(qū)域為本文方法獲取大氣光值的區(qū)域,實驗結果顯示本文對大氣光值的估計比文獻[11]中的方法更準確,避免了在有霧圖像中亮光源的干擾,可獲得更準確的大氣光值估計。
運用概率統(tǒng)計的方法獲得有霧圖像對應的先驗信息t(x,y)和A后,即可運用(1)式恢復無霧圖像J(x,y)。最后,運用人體視覺對亮度信息有更強的敏感度,增強去霧后圖像的亮度值,獲得最終的無霧圖像。
用大量包含天空區(qū)域的有霧圖像對本文算法的效果進行測試,圖像來源于文獻[5]、[8]、[10]等使用過的圖像。實驗所用電腦的配置為:Intel Core i3-3110(CPU@2.4GHz),4.00GB RAM,軟 件 環(huán) 境 為MATLAB R2012A。對本文算法的去霧效果分別從主觀定性對比分析、客觀天空區(qū)域方差值和運行時間三個角度進行評價。
本文算法測試了大量圖像。鑒于篇幅限制,這里僅展示對文獻[5]、[8]、[10]中的有霧圖像的去霧效果,且與原文獻中方法的去霧效果作對比,實驗結果如圖5所示。
從實驗結果可以看到,文獻[5]的基于暗通道先驗的方法去霧效果明顯,尤其是在景深較低的非天空區(qū)域,達到了較好的細節(jié)保持效果;在大片白色或天空區(qū)域,文獻[5]中的去霧算法出現(xiàn)了顏色失真和邊緣光暈的現(xiàn)象。文獻[8]中復用暗通道先驗知識結合邊緣信息去霧,一定程度上解決了光暈現(xiàn)象,但是無法解決天空色彩失真的弊端,且文獻[8]選擇不同精度的介質傳參數(shù)圖,這使基于暗通道先驗去霧在天空部分的顏色失真現(xiàn)象更加明顯,如圖5(c)各圖像的天空區(qū)域所示。由圖5(d)的各圖像可知,本文融合顏色衰減先驗和暗通道先驗知識去霧算法整體的去霧效果較好,去霧后的圖像色彩自然;在景深較低的非天空區(qū)域,保留了暗通道先驗去霧的細節(jié)保持優(yōu)良的特點;在大片白色的天空區(qū)域,本文引入的基于顏色衰減先驗去霧方法,有效地解決了暗通道先驗算法造成的色彩失真問題。如圖4 所示,與圖 5(b)、5(c)的圖像對比,本文方法去霧后的圖像圖5(d)天空區(qū)域色彩更加自然。
本文算法針對暗通道先驗去霧方法在天空區(qū)域造成的色彩失真問題提出解決方案。通過觀察大量使用暗通道方法去霧后的圖像得知,去霧后天空部分色彩失真主要表現(xiàn)為出現(xiàn)明顯的色彩不平滑現(xiàn)象,如圖5所示,(2)、(3)、(4)、(5)四幅圖像中的(b)(c)列暗通道去霧效果,這違反了天空區(qū)域顏色變化幅度小、色彩平滑的先驗規(guī)律,而本文的算法對有霧圖像去霧后,天空區(qū)域依然較為平滑。因此,結合本算法中的天空區(qū)域分割,提出分別對使用兩種方法去霧后圖像的天空部計算方差值和方法,計算時使用3×3的滑動窗口,來量化本文解決天空部分色彩失真的效果。實驗結果如表1所示。
表1 各方法在天空區(qū)域圖像的方差值對比(值保留整數(shù)部分)
由表1可知,原圖像天空區(qū)域色彩方差值較??;文獻[5]的去霧方法造成了天空區(qū)域色彩方差值大幅度的提升,這驗證了暗通道先驗去霧方法造成的天空的色彩失真問題;文獻[8]在天空區(qū)域的色彩方差值與文獻[5]在同一個數(shù)量級上,證明該方法也無法解決天空色彩失真問題;本文方法處理后的去霧圖像在天空區(qū)域的方差值較原圖像大,但是與文獻[5]和文獻[8]的去霧效果對比,本文方法在天空區(qū)域的方差值有大幅度的下降,這驗證了本文算法有效解決了暗通道去霧算法在天空區(qū)域出現(xiàn)的色彩失真問題。
在大量圖像去霧算法的實際運用中,不僅需要去霧效果優(yōu)良,還要不破壞算法的實時性。因此,為驗證本文算法的有效性,從運行時間的角度對本文算法作定量分析。實驗結果如表2所示。
由表2可知:文獻[5]中的算法耗時最長,文獻[8]的耗時最短,文獻[8]采用流水線的方式計算介質傳輸圖,這大大節(jié)省了去霧算法的運行時間。本文算法耗時與文獻[8]中的去霧方法耗時稍長,本文算法引入天空區(qū)域分割,引入的針對像素點列的最大津閾值分割算法作區(qū)域分割提高了使用該算法求全局閾值的運算速度,算法運行時間雖有延長,但并未破壞實時性要求,且在一定程度上解決了暗通道先驗去霧方法中的天空區(qū)域色彩失真問題,因此本算法在實際生產生活中具有更大的使用價值。
表2 各方法的運行效率對比(單位:s)
本文提出了一種融合暗通道先驗和顏色衰減先驗的去霧算法。該算法在列上用最大津閾值分割算法對有霧圖像的天空區(qū)域作分割;對分割后的天空區(qū)域的去霧,用顏色衰減先驗矯正暗通道先驗獲得介質傳輸圖;對暗通道先驗去霧算法中大氣光值的估計容易受到人工光源或取景對象影響的弊端,本文結合天空區(qū)域分割,在天空區(qū)域求得大氣光值;最后通過求大氣物理模型的逆過程來還原無霧圖像。
實驗結果表明,本文算法在不大量增加運行時間、保持去霧算法實時性的同時,保留了暗通道去霧算法對較低景深圖像的細節(jié)保持功能,解決了暗通道先驗去霧算法中天空色彩失真問題,提高了算法的去霧效果和適用性。但本文提出的基于局部標準差值函數(shù)的天空分割方法存在分割不精確確問題,這使得天空區(qū)域的邊緣仍然會有少量顏色失真,如何更快速準確的分割出天空區(qū)域,徹底避免失真現(xiàn)象,是下一步需要研究的方向。