李春江,禹素萍,2,許武軍,2,范 紅,2
(1.東華大學 信息科學與技術學院,上海 201620; 2.東華大學 數字化紡織服裝技術教育部工程研究中心,上海 201620)
基于暗原色先驗圖像去霧的改進算法
李春江1,禹素萍1,2,許武軍1,2,范 紅1,2
(1.東華大學 信息科學與技術學院,上海 201620; 2.東華大學 數字化紡織服裝技術教育部工程研究中心,上海 201620)
基于暗原色先驗的方法去霧效果較好,但也存在處理效率不高、天空區域容易產生較為明顯的失真等缺點。 采用雙邊濾波與最大值濾波相結合的方法取代軟摳圖對透射率進行優化,通過判斷大氣光強度和暗通道差值絕對值大小來區分霧圖中明亮區域與暗原色區域,并削弱明亮天空區域的去霧。實驗表明,本文算法不僅有效降低了傳統算法的時間復雜度,還達到了較好的視覺效果。
圖像去霧;暗原色先驗;雙邊濾波;處理速度
在霧霾的天氣條件下,由于空氣中大量懸浮粒子的存在,在戶外拍攝的圖像的質量嚴重下降。因此,一種快速有效的去霧方法對提高戶外視覺系統的穩定性來說意義重大。目前的去霧方法可以分為兩大類:圖像增強[1]和圖像復原[2]。圖像增強的方法不考慮圖像質量退化的原因,通過改善圖像對比度以達到改善霧圖像視覺效果,但不能從根本上達到去霧的目的。目前圖像增強技術主要包括直方圖均衡化、小波分析法、Retinex算法及同態濾波等。而圖像恢復方法則是首先分析圖像在霧天的降質過程,建立圖像退化模型,然后求解出無霧圖像。此類方法有基于偏微分方程的霧天圖像復原、基于深度信息的霧天圖像復原、基于先驗的霧天圖像復原等。相比較而言,采用圖像恢復方法得到的無霧圖像更加自然清晰,通常不會丟失原圖像信息,因此此類方法是圖像去霧領域的熱點技術。
2009年,He Kaiming等人[3]提出了基于暗原色先驗原理的去霧算法,取得了相當好的去霧效果。通過對大量戶外的無霧清晰圖像的觀察和統計,發現清晰圖像至少在某一個顏色通道上存在一些強度值非常低的像素點,甚至低到接近于零。對于有霧圖像,可以通過暗原色先驗理論對介質的透射率進行估計,然后通過軟摳圖技術來優化已經估算出的介質傳播函數。
但是此算法也存在一些不足之處,首先采用軟摳圖技術具有較高的計算量,不宜應用到實時監控系統中;其次圖像在天空區域恢復后有較明顯的失真。本文提出一種基于暗原色先驗原理的改進算法,采用雙邊濾波與最大值濾波相結合的方法取代軟摳圖對粗略透射率進行精細化求解,從而提高處理效率。同時引入容差參數對天空明亮區域和暗原色區域進行分割,并削弱天空中明亮區域的去霧,從而提高去霧算法的魯棒性。
1.1 大氣散射模型
在計算機視覺領域,霧霾等天氣條件下單色大氣散射模型可表示為[4-5]:
I(x)=J(x)t(x)+A(1-t(x))
(1)
其中,x表示圖像上像素的坐標位置;I表示原始霧天圖像;J表示無霧的清晰圖像;t表示大氣透射率;A表示大氣光亮度,一般用來表示無窮遠處光照強度。大氣散射模型由兩部分組成,第一部分J(x)t(x)表示衰減模型(Attenuation Model),第二部分A(1-t(x))表示環境光模型(Airlight Model)。
1.2 暗原色先驗去霧
[3]通過對大量戶外的無霧清晰圖像的觀察和統計,發現清晰圖像至少在某一個顏色通道上存在一些強度值非常低的像素點,甚至低到接近于零。對于一幅圖像J,暗原色可以用公式(2)描述:
(2)
其中,Ω(x)表示以像素點x為中心的局部區域,Jc表示圖像J的顏色通道,Jdark為圖像J的暗原色。對于非天空區域則有:
Jdark(x)→0
(3)
首先假設大氣光值A已知,同時假設大氣的透射率在一個局部區域內是恒定不變的。將公式(1)描述的散射模型兩邊在Ω(x)區域內進行最小值濾波運算并同除以A,可得:
(4)
對上式兩邊進行三個顏色通道上的最小值濾波運算,得:
(5)
根據暗原色先驗原理,無霧圖像的暗原色Jdark趨近于0:
(6)
由于Ac總是正值,得到:
(7)
(8)
而在現實生活中,即便是在晴朗的天氣下,天空中也總會存在一些雜質微粒,如果把霧徹底去除,復原出的圖像就會顯得很不真實。所以在公式(8)中引入一個強度系數ω(0<ω≤1),在天空區域保留一部分霧,式(8)修正為:
(9)
由式(9)所得的透射率比較粗糙,有明顯的塊效應,參考文獻[3]采用軟摳圖方法對透射率進行優化。優化公式如下:

(10)
其中,U是與L同樣大小的單位矩陣,L是摳圖拉普拉斯矩陣,λ是修正參數。為防止t取零值,為其設置一個下限值t0,則:

(11)
其中,t0的值通常取為0.1。在暗通道圖中選取前0.1%最亮的像素點,并且記錄它們在原始圖像中所對應的坐標位置,在有霧圖像中找到其對應坐標的像素點,求出它們在R,G,B三個顏色通道上最大強度值,即為大氣光A在三個通道的值。此時便可通過式(11)復原出無霧圖像。復原出的圖像如圖1所示。

圖1 暗原色先驗去霧效果圖
由于基于暗原色先驗的去霧方法存在運算量大及天空區域易失真等缺點,近年來出現了很多基于暗原色理論的改進算法。文獻[6]和[7]均是在基于暗原色先驗理論的基礎之上進行改進的,前者重點是對透射率進行優化,顯著地減少了運算量,同時也在一定程度上改善了恢復的圖像的視覺效果。后者在改善透射率估算方式的同時,還針對恢復的圖像在天空、白色物體等明亮區域出現的顏色失真的問題采取了一些改良措施。
本文提出一種改進算法來改善圖像去霧的處理效率及視覺效果。首先采用雙邊濾波取代軟摳圖對粗略透射率進行精細化處理,同時采用最大值濾波[8]方法對粗略透射率圖中被低估的暗像素點的值進行修復。假設輸入圖像I的像素p其坐標為(x,y),灰度值為Ip,濾波后輸出圖像為BI。輸出圖像的p點像素值定義為BIp,p點的鄰域像素點用q表示,其坐標為(u,v) ,則雙邊濾波公式可以表示為:
(12)
且
(13)
其中,Gσd為空間鄰近度因子,Gσr為灰度相似度因子,σd是基于高斯函數距離標準差,σr為基于高斯函數的灰度標準差,Wp為歸一化因子。
采用雙邊濾波和最大值濾波相結合的方式對介質透射率進行細化處理,過程如下:
(1)對暗通道圖像做最大值濾波和雙邊濾波處理:
(14)
(15)

(2)由式(9)很容易得到修正后的透射率計算公式:
(16)
為了使恢復后的圖像自然,這里依然引入強度系數ω,其值一般取為0.95~0.98。

(17)
本文算法采用Visual Studio 2013結合OpenCV2.4.9實現。PC配置為Inter(R) Core(TM) i7-6700HQ CPU@2.60 GHz,內存8 GB。操作系統為Windows 10。程序運行時間如表1所示。

表1 算法運行時間比較
文獻[3]提出的基于暗原色先驗算法與本文的改進算法去霧效果如圖2所示。可以看出文獻[3]的方法恢復出的圖像在天空區域有較為明顯的失真,而本文算法恢復的圖像在天空區域沒有產生失真,對圖像中物體的邊緣細節保持得較好,而且整幅圖像的色彩更加自然逼真。

圖2 本文方法與文獻[3]方法去霧效果比較圖
本文研究了文獻[3]提出的基于暗原色先驗理論的去霧算法,并在其基礎上進行了改進。本文采用了雙邊濾波取代軟摳圖對粗略透射率進行精細化處理,同時采用最大值濾波方法對粗略透射率圖中被低估的暗像素點的值進行修復。針對暗原色原理不適用明亮天空區域的問題,本文引入了容差參數把圖像劃分為明亮區域和暗原色區域,并弱化了天空中明亮的區域。實驗表明,無論是在去霧效率還是視覺效果上,本文算法都達到了令人滿意的效果。
參考文獻
[1] 郭璠,蔡自興,謝斌,等.圖像去霧技術研究綜述與展望[J].計算機應用,2010,30(9):2417-2421.
[2] 葛艷,趙瑞,高占江.基于TV模型和膨脹的圖像修復方法研究[J].微型機與應用,2014,33(18):39-41.
[3] He Kaiming,Sun Jian,Tang Xiaoou.Single image haze removal using dark channel prior[C]. IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2009, IEEE, 2009:1956-1963.
[4] NARASIMHAN S G, NAYAR S K. Vision and the atmosphere[J]. International Journal of Computer Vision, 2002, 48(3):233-254.
[5] TAN R T. Visibility in bad weather from a single image[C]. IEEE Conference on Computer Vision and Pattern Recognition, CVPR IEEE, 2008:1-8.
[6] 張冰冰,戴聲奎,孫萬源.基于暗原色先驗模型的快速去霧算法[J].中國圖象圖形學報, 2013, 18(2):184-188.
[7] 孫小明,孫俊喜,趙立榮,等.暗原色先驗單幅圖像去霧改進算法[J].中國圖象圖形學報,2014, 19(3):381-385.
[8] GONZALEZ R C,WOODS R E.Digital image processing(2nded)[M]. 北京:電子工業出版社,2003.
The improvement algorithm of image dehazing based on dark channel prior
Li Chunjiang1, Yu Suping1,2, Xu Wujun1,2, Fan Hong1,2
(1. School of Information Science and Technology, Donghua University, Shanghai 201620, China;2. Engineering Research Center of Digitized Textile & Fashion Technology of Ministry of Education, Donghua University, Shanghai 201620, China)
The method based on dark channel prior can dehaze effectively, but it has some disadvantages, including low processing efficiency and producing more obvious distortion easily in the sky areas. This paper adopts bilateral filtering and maximum filtering method combined to optimize the transmission map instead of soft matting, dividing the image into bright areas and dark channel areas by absolute value of the difference of atmospheric light and dark channel ,and weakening these bright areas to defog. The experimental results show that the algorithm not only reduces the time complexity of the traditional algorithm, but also achieves a good visual effect.
haze removal; dark channel prior; bilateral filtering; processing speed
TP309.7
A
10.19358/j.issn.1674- 7720.2017.16.015
李春江,禹素萍,許武軍,等.基于暗原色先驗圖像去霧的改進算法[J].微型機與應用,2017,36(16):53-55.
2017-02-23)
李春江(1989-),通信作者,男,碩士研究生,主要研究方向:圖像處理。E-mail:wylichunjiang@163.com。
禹素萍(1977-),女,博士,副教授,主要研究方向:機器視覺與圖像處理。
許武軍(1972-),男,博士,副教授,主要研究方向:嵌入式計算與嵌入式系統。