張江鑫,周佳波,孟利民
(浙江工業(yè)大學 信息工程學院,杭州 310023)
(*通信作者電子郵箱13516711826@qq.com)
改進的暗通道先驗快速圖像去霧算法
張江鑫,周佳波*,孟利民
(浙江工業(yè)大學 信息工程學院,杭州 310023)
(*通信作者電子郵箱13516711826@qq.com)
針對暗通道去霧算法復雜度過高的問題,提出一種基于暗通道的快速去霧算法。首先對圖像分塊處理,提高求取暗通道值的速度;接著采用線性插值算法平滑處理,消除塊狀效應;然后根據(jù)暗通道先驗求得透射率;最終利用大氣散射模型得到清晰無霧圖像。實驗結果證明,在保證良好去霧效果的前提下,相比原暗通道算法,所提算法復雜度被有效降低,去霧所需時間也降為原來的1/10左右,達到準實時。
去霧算法;暗通道;導向濾波;分塊;線性插值
霧霾天氣下,渾濁的大氣會吸收景物圖像的光線,并造成光線散射,從而降低計算機采集的圖像質(zhì)量。最近幾年,國內(nèi)的霧霾越來越嚴重,霧霾已經(jīng)對人們?nèi)粘I钌a(chǎn)造成了巨大影響,僅僅是由霧霾而引起的交通事故就已對人民的生命財產(chǎn)形成了巨大威脅,因此,對霧霾天氣下獲得的圖像進行去霧處理變得越來越重要。
近年來,在單幅圖像的去霧的探索中,已有重大進展。這些算法按照是否基于模型去霧可以分為圖像增強類和模型去霧類兩類。圖像增強類算法通過各種技術增強含霧圖像的對比度使圖像清晰化,從而達到去霧目的。為了滿足主觀視覺要求,這類算法不使用物理模型來考察霧天圖像退化的真正原因,而是直接從圖像處理角度出發(fā)來增強圖像,因此只能改善圖像的部分細節(jié),從而在一定程度上改善圖像的視覺效果;對場景結構復雜的圖像,這類算法無法有效提高圖像質(zhì)量,甚至還有可能丟失圖像的某些信息。比較常用的圖像增強類算法有直方圖均衡化[1]、同態(tài)濾波[2]、Retinex[3]、Tan算法[4]等。模型去霧類算法則考察含霧圖像降質(zhì)原因,建立大氣散射物理模型,利用單幅有霧圖像中已有的各種信息來估計模型中各個參數(shù),在無需任何附加信息的情況下,能得到原始無霧圖像或無霧圖像的最優(yōu)估計值。這種方法是從物理本質(zhì)上去霧,能夠得到更加自然的無霧圖像,丟失的信息較少,常見的算法有文獻[5-7]提出的算法。
Tarel等[5]提出了一種使用大氣成像模型來濾波的去霧思想,利用中值濾波估計大氣散耗函數(shù),可實現(xiàn)彩色圖和灰度圖的去霧;但是去霧后的場景目標存在光偽影現(xiàn)象,在細小邊緣區(qū)域去霧能力較差。Fattal[6]提出了部分符合物理規(guī)律的簡單去霧模型,根據(jù)數(shù)理統(tǒng)計,發(fā)現(xiàn)介質(zhì)傳播率與場景色度不相關的規(guī)律,利用該規(guī)律來估計反射率,然后再計算得到透射率;但該算法對輸入信息的統(tǒng)計特性過分依賴,當無法滿足假設條件時,去霧效果非常不理想,比如在處理濃霧天氣下的圖像時有較大失真。He等[7]提出了暗通道先驗的方法,并利用該方法取得了良好的去霧效果,從而成為目前最為流行的圖像去霧算法;但該算法采用軟摳圖法細化透射率,存在計算量太大、效率太低的問題,在實際應用和推廣中受到極大限制。為了降低暗通道先驗算法的復雜度,出現(xiàn)了一大批對暗通道算法復雜度進行改進及應用的算法[8-13]。其中:文獻[11]用雙邊濾波代替軟摳圖法來去除邊緣效應,算法復雜度大大降低,但處理一幅400×600分辨率的圖像所需時間依然需要幾秒,而且去霧質(zhì)量有所下降;He等[12]又提出了一種導向濾波算法,與雙邊濾波相比,該算法去霧質(zhì)量有所提高,但所需時間相差無幾;孫小明等[13]采用分塊來求粗暗通道圖,然后再用導向濾波細化處理,進一步提高了暗通道去霧速度,但仍不能達到視頻處理的實時性。
在圖像去霧領域中,基于暗通道先驗的去霧算法取得了重大突破,但存在計算量太大、效率太低的問題,從而在實際應用和推廣中受到一定限制,比如視頻處理領域。針對這一問題,本文對基于暗通道先驗的圖像去霧算法進行改進,利用分塊處理減少求粗暗通道圖的運算量,再用線性插值細化透射率,以提高處理效率,達到準實時。
在計算機視覺和計算機圖形領域中,霧圖形成模型廣泛采用大氣散射模型[14-15],如圖1所示。該模型可以用式(1)描述:
I(x)=J(x)t(x)+A(1-t(x))
(1)
其中:x表示一個像素的空間坐標;I(x)指像素RGB顏色強度,即帶霧圖像;J(x)表示景物光線強度,即無霧圖像;A是大氣光亮度;t(x)表示景物光線能穿透媒介到達相機的程度。式(1)中的J(x)t(x)稱為直接衰減項,是景物光線在媒介中經(jīng)衰減后的剩余部分;A(1-t(x))則是大氣光成分項,表示由前方散射而把大氣光帶入成像系統(tǒng)中的部分,會導致景物顏色的偏移。去霧的最終目標就是從I(x)中復原J(x)。

圖1 大氣散射模型Fig. 1 Atmospheric scattering model
He等[7]通過對大量戶外無霧圖像的觀察統(tǒng)計得出暗通道先驗規(guī)律,即絕大多數(shù)的戶外無霧圖像的每個局部區(qū)域都存在至少一個顏色通道的強度值很低的像素。用公式描述,首先對于一幅圖像J(x),暗通道值定義如下:

(2)
其中:Jdark(x)代表暗通道值;Ω代表一個以x為中心的局部區(qū)域,比如一個以x為中心的r×r矩陣(r為奇數(shù),確保像素x在區(qū)域中心),所以Jdark(x)代表了在區(qū)域Ω內(nèi),RGB三通道最小值。由He等[7]的暗通道先驗規(guī)律知,在無霧圖像中Jdark(x)趨于0,即:
Jdark(x)→0
(3)
對式(1)左右兩邊同求暗通道值,可以得到式(4):

(4)


(5)
結合暗通道先驗規(guī)律,即Jdark(x)趨于0,可得:
(6)

當透射率t(x)趨于0時,式(1)的J(x)t(x)就會趨于0,失去意義,所以給透射率設一個下限t0,與文獻[7]一樣,取0.1,由式(1)得去霧圖像J(x)表達式:

(7)
3.1 算法思路及流程
在求取暗通道值過程中需要對區(qū)域Ω求最小值,即對圖像進行最小值濾波,出現(xiàn)邊緣效應,如圖2所示:圖2(a)為原有霧圖;圖2(b)為暗通道值不經(jīng)過細化直接用于去霧的去霧圖,可以明顯地看到邊緣效應。

圖2 邊緣效應Fig. 2 Edge effect
文獻[7]用軟摳圖法消除邊緣效應。軟摳圖法需求解一個大型稀疏矩陣,算法復雜度高、效率低,一幅400×600分辨率的圖像就需要幾十秒的處理時間。針對這個問題,He等[12]又提出了一種導向濾波算法,它能有效消除邊緣效應,且處理速度較快,算法復雜度為Ο(N)。但是整個去霧過程依然比較費時,因為導向濾波只能加速消除邊緣效應,而在整個去霧過程中,求取粗暗通道值時所采用的最小值濾波運算量也很高。對同樣的一幅圖像,整個去霧過程依然需要幾秒時間,嚴重制約了算法的推廣及應用,尤其是很難應用到視頻處理領域中。因此使用一種分塊思想,它能有效降低求取粗暗通道值的計算量;再用線性插值細化透射率,使整個算法所需時間降為文獻[12]中算法的1/10左右,達到準實時。
文獻[13]中用分塊來提高求取粗暗通道圖的效率,如圖3(a)所示,對一幅有霧圖像的中間一小塊求統(tǒng)一的暗通道值,然后對這一小塊去霧。可以看出按塊去霧基本保持了暗通道去霧的優(yōu)良效果,論證了上述觀點的科學性和可行性。
如圖3(b)所示,按塊劃分暗通道去霧之后,可以明顯地看到塊狀效應,在放大的細節(jié)圖中間有一道明顯的邊界,這是由于分塊引起的。針對這個問題,文獻[9]采用導向濾波來消除塊狀效應,算法復雜度較高。本文采用線性插值來消除塊狀效應,因為它不同于邊緣效應,只是因為分塊而導致邊界跳變,線性插值就可有效消除它。
圖3(c)為He等[12]算法去霧效果(本文所提到的He等[12]算法指采用導向濾波[12]代替軟摳圖[7])。圖3(d)為本文算法去霧效果圖,可以看到線性插值之后,放大的細節(jié)圖已經(jīng)比較平滑,沒有邊界,塊狀效應被消除,整體的去霧效果良好,與He等[12]算法去霧效果基本一致。
在圖像處理領域中,線性插值是一種非常簡單也經(jīng)常使用的平滑方法。線性插值操作如圖4所示,圖4(a)表示一幅圖像被分成了9塊,對其中心的黑色塊進行線性插值,與它相鄰的是4個白色方塊。首先對水平方向進行插值,插值完成后如圖4(b)所示,水平方向變得平滑;同理對豎直方向進行插值,插值完成后如圖4(c)所示,此時原圖像中心的黑色塊周圍的過渡都變得比較平緩。

圖3 塊狀去霧思想說明Fig. 3 Illustration of block defogging idea

圖4 線性插值說明Fig. 4 Illustration of linear interpolation
本文改進算法的流程如圖5所示。首先,對圖像分塊求取暗通道,從大量實驗中得出,一般分成100~200塊比較合適。然后線性插值細化透射率。由式(6)知,透射率和暗通道有一一對應的關系,所以細化暗通道就可以細化透射率。對粗暗通道圖線性插值,就是求取相鄰兩塊暗通道的差值,把這個大差值平均到每個像素上,使塊狀邊緣變得相對平滑。然后再求透射率。整個求取過程中還需估計大氣光亮度A。由于圖像中可能會有白色物體存在,導致最亮的像素可能并不在天空區(qū)域,所以采用和文獻[7]一樣的估計方法,選取前0.1%的暗通道亮度值作為大氣光亮度A的估計值,最后把求得的t(x)和A代入式(7)得到最終的去霧圖像J(x)。

圖5 改進算法流程Fig. 5 Flowchart of improved algorithm
3.2 復雜度分析
在文獻[7]的算法中,求取暗通道值的算法復雜度為r×r×N,其中r為正方形區(qū)域邊長,以像素為單位,如在文獻[7]中取15個像素,N為圖像總像素。分塊求取暗通道值是對一個小分塊取一個統(tǒng)一的暗通道值,對于一幅圖像不管分成多少塊,算法復雜度都為N,所以該改進算法在求取粗暗通道值這一步上有效降低了計算量。
文獻[12]中使用導向濾波來消除邊緣效應,按其所述,算法復雜度為Ο(N),但是常數(shù)因子較高。而分塊求取粗暗通道值時,并不是采取區(qū)域最小值濾波,無邊緣效應,只有塊狀效應,所以選擇線性插值消除分塊以后的塊狀效應,算法復雜度為2N(二維)。
算法運行環(huán)境如下:Intel Core i5- 3210M CPU 2.50 GHz,4.00 GB內(nèi)存,Windows 7操作系統(tǒng),Matlab 2010軟件。實驗通過對大量霧霾圖像進行去霧處理來驗證本文提出的快速暗通道去霧算法的有效性,并且與Tarel等[5]、Fattal[6]、He等[12]、雙邊濾波[11]、孫小明等[13]幾種算法進行對比。實驗中將給出不同場景下拍攝的幾幅圖像的去霧效果,通過本文算法去霧圖與其他算法去霧圖之間的比較,充分表明本文算法具有較強的實用性。為了對比算法的公平性,這些算法中的大氣光亮度A都采用3.1節(jié)所述的方法估計。
4.1 主觀評價
本組實驗用不同算法分別對3幅圖像進行去霧,去霧效果對比如圖6~8所示,這3幅圖像的分辨率分別為517×690、525×600、517×686。圖6~8中:圖(a)為原有霧圖像;圖(b)為Tarel等[5]算法去霧效果,圖中有大量發(fā)白的小點,都是些細小邊緣,顯示了其在細小邊緣區(qū)域去霧效果較差,如在圖7(b)白色橢圓標注中的屋頂處出現(xiàn)光偽影現(xiàn)象,視覺效果不自然;圖(c)為Fattal[6]算法去霧效果,該算法基于場景色度和介質(zhì)傳播率不相關的假設,當某些情況下該假設無法滿足時,去霧之后的色彩就會過于飽和,如圖8(c)的白色橢圓標注區(qū)域中,去霧圖像色彩已經(jīng)出現(xiàn)極大失真;圖(d)為He等[12]算法去霧效果,該算法在細化透射率圖時采用是速度更快的導向濾波[12],相比Tarel等[5]和Fattal[6]兩種算法,其去霧效果最為自然,邊緣細節(jié)保留完好;圖(e)為雙邊濾波[11]細化投射率的去霧圖,該算法能快速有效地消除大部分的邊緣效應,但還是有一部分邊緣無法消除,如圖6(e)和7(e)白色橢圓標注區(qū)域中的屋頂還有明顯的邊緣效應;圖(f)為孫小明等[13]算法去霧圖,該算法同樣采用導向濾波細化透射率,去霧效果和He等[12]算法相當接近,只有在天空區(qū)域的去霧效果有些下降,不如He等[12]算法徹底,如圖7(f)中的白色橢圓標注區(qū)域;圖(g)為本文改進算法去霧圖,可以看出,本文算法效果和He算法的去霧效果基本一致,而且在色彩上更加自然,如圖7(d)和7(g)中白色橢圓標注的右下角草地顏色和圖8(d)和8(g)中白色橢圓標注的右上角樹林顏色,He等[12]算法的去霧圖色彩都過于飽和,因為He等[12]算法是對每一個點求區(qū)域暗通道值,增強得更為強烈,出現(xiàn)了色彩過增。
4.2 客觀評價
在客觀評價中,本文使用了4個參數(shù),分別是峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)[16]、結構相似性(Structural SIMilarity, SSIM)[16]、可見邊增強比例(e)[17]和算法運算所需時間(Time)。PSNR為圖像信噪比,越大越好;SSIM是描述去霧前后兩幅圖像的結構相似度,結構保存越完好,去霧圖像保留的有用信息就越多,所以該值越高越好,最大為1;e是一個應用極廣的圖像去霧效果客觀評價參數(shù),由Hautiere等[17]提出,描述的是去霧后圖像可見邊增加的比例,計算公式如式(8)所示。
e=(pJ-pI)/pI
(8)
其中:pJ代表去霧圖像的可見邊數(shù),pI代表原有霧圖的可見邊數(shù),可見邊的增加一定程度上可被認為是圖像細節(jié)得到增強,去霧就是一個增強細節(jié)的過程,所以e越大越好。Time描述的是算法所需時間,越短說明復雜度越低,效率越高,實用性就越強,是本文算法改進的重點。

圖6 城市圖去霧效果對比Fig. 6 Defogging effect comparison of city map

圖7 遠景圖去霧效果對比Fig. 7 Defogging effect comparison of remote map

圖8 航拍圖去霧效果對比Fig. 8 Defogging effect comparison of aerial photograph
表1為圖6~8的去霧參數(shù),從表1中可以看出:Tarel等[5]算法的PSNR、e是6種算法中最好的,但其Time太大,對3幅有霧圖像的處理時間都超過10 s,在視頻處理領域根本無法使用;Fattal[6]算法的Time是6種算法中最少的,但其他3個指標卻是6種算法中最差的,如SSIM只有0.2左右,保留的原圖有用信息極少,圖(6)可見邊e為負,無法有效增強圖像細節(jié);He等[12]算法的PSNR和e雖都低于Tarel等[5]算法,但已不影響主觀視覺效果,其SSIM高于Tarel等[5]算法,保留的有用信息更多,整體視覺去霧效果比較良好,同時Time為2 s左右,與Tarel等[5]算法相比已有較大提升,但依然無法滿足視頻處理的實時性要求;雙邊濾波[11]算法的PSNR、SSIM、e三個參數(shù)和He等[12]算法相近,相比軟摳圖法細化需要幾十秒,其Time已經(jīng)下降到2 s,但也僅僅和導向濾波的速度差不多;與He等[12]算法和雙邊濾波[11]算法相比,孫小明等[13]算法在保證其他3個去霧指標的前提下,把Time降到了0.6 s左右,已經(jīng)有相當大的提升;本文改進算法在孫小明等[13]算法基礎之上進一步降低了Time,變?yōu)?00 ms左右,效率明顯提升,達到準實時。

表1 6種算法的去霧性能比較Tab. 1 Defogging performance comparison of six algorithms
綜合主觀和客觀評價兩個方面,可以清晰得出本文改進算法在保持暗通道去霧優(yōu)良效果的同時能有效降低運算量,大大增強暗通道算法的實用性。
針對暗通道去霧速度慢的問題,本文提出了一種基于暗通道的快速去霧算法,通過分塊處理和線性插值,有效提高了去霧速度。實驗結果表明,本文改進算法的算法復雜度低、處理速度快,能有效提高暗通道去霧的實用性;但該算法也存在一定缺陷,如:無法突破暗通道去霧瓶頸,對于包含大量天空區(qū)域的有霧圖像,處理效果并不理想;去霧過程中采用物理模型也有局限性,對于質(zhì)量要求更高的去霧處理,仍需要進一步深入研究霧霾圖像形成過程,提出更加科學的物理模型來優(yōu)化去霧。
References)
[1] 徐同瑩,彭定明,王衛(wèi)星.改進的直方圖均衡化算法[J].兵工自動化,2006,25(7):58-59.(XU T Y, PENG D M, WANG W X. Improved histogram equalization algorithm [J]. Ordnance Industry Automation, 2006, 25(7): 58-59.)
[2] 張新明,沈蘭蓀.基于小波的同態(tài)濾波器用于圖像對比度增強[J].電子學報,2001,29(4):531-533.(ZHANG X M, SHEN L S. Image contrast enhanchment by wavelet based homomorphic filtering [J]. Acta Electronica Sinica, 2001, 29(4): 531-533.)
[3] RAHMAN Z U, JOBSON D J, WOODELL G A. Retinex processing for automatic image enhancement [J]. Journal of Electronic Imaging, 2004, 13(1): 100-110.
[4] TAN R T. Visibility in bad weather from a single image [C]// CVPR 2008: Proceedings of the 2008 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Washington, DC: IEEE Computer Society, 2008: 1-8.
[5] TAREL J P, HAUTIERE N. Fast visibility restoration from a single color or gray level image [C]// Proceedings of the 2009 IEEE International Conference on Computer Vision. Washington, DC: IEEE Computer Society, 2009: 2201-2208.
[6] FATTAL R. Single image dehazing [J]. ACM Transactions on Graphics, 2008, 27(3): Article No. 72.
[7] HE K, SUN J, TANG X. Single image haze removal using dark channel prior [C]// Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Washington, DC: IEEE Computer Society, 2011: 1956-1963.
[8] 馬江峰,楊忠斌,畢篤彥,等.快速圖像去霧新方法[J].計算機應用,2012,32(6):1567-1569.(MA J F, YANG Z B, BI D Y, et al. New method for fast image dehazing [J]. Journal of Computer Applications, 2012, 32(6): 1567-1569.)
[9] 楊燕,王帆,白海平.基于相對透射率估計的快速圖像去霧算法[J].計算機應用,2016,36(3):806-810.(YANG Y, WANG F, BAI H P. Fast image dehazing algorithm based on relative transmittance estimation [J]. Journal of Computer Applications, 2016, 36(3): 806-810.)
[10] 王雅婷,馮子亮.基于暗原色先驗的單幅圖像快速去霧算法[J].計算機應用,2016,36(12):3406-3410.(WANG Y T, FENG Z L. Single image fast dehazing method based on dark channel prior [J]. Journal of Computer Applications, 2016, 36(12): 3406-3410.)
[11] 孫抗,汪渤,周志強,等.基于雙邊濾波的實時圖像去霧技術研究[J].北京理工大學學報,2011,31(7):810-813.(SUN K, WANG B, ZHOU Z Q, et al. Realtime image haze removal using bilateral filter [J]. Transactions of Beijing Institute of Technology, 2011, 31(7): 810-813.)
[12] HE K, SUN J, TANG X. Guided image filtering [J]. IEEE Trans-actions on Software Engineering, 2013, 35(6): 1397-1409.
[13] 孫小明,孫俊喜,趙立榮,等.暗原色先驗單幅圖像去霧改進算法[J].中國圖象圖形學報,2014,19(3):381-385.(SUN X M, SUN J X, ZHAO L R, et al. Improved algorithm for single iamge haze removing using dark channel prior [J]. Journal of Image and Graphics, 2014, 19(3): 381-385.)
[14] NARASIMHAN S G, NAYAR S K. Vision and the atmosphere [J]. International Journal of Computer Vision, 2002, 48(3): 233-254.
[15] NARASIMHAN S G, NAYAR S K. Chromatic framework for vision in bad weather [C]// Proceedings of the 2000 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Washington, DC: IEEE Computer Society, 2000: 598-605.
[16] HORE A, ZIOU D. Image quality metrics: PSNR vs. SSIM [C]// Proceedings of the 2010 International Conference on Pattern Recognition. Piscataway, NJ: IEEE, 2010: 2366-2369.
[17] HAUTIERE N, TAREL J P, AUBERT D, et al. Blind contrast enhancement assessment by gradient rationing at visible edges [J]. Image Analysis and Stereology, 2008, 27(2): 87-95.
This work is partially supported by the National Natural Science Foundation of China (61372087).
ZHANGJiangxin, born in 1964, M. S., associate professor. His research interests include digital image processing, multimedia digital communication.
ZHOUJiabo, born in 1990, M. S. candidate. His research interests include digital image processing.
MENGLimin, born in 1963, Ph. D., professor. Her research interests include digital image processing, wireless communication.
Improvedfastimagedefoggingalgorithmbasedondarkchannelprior
ZHANG Jiangxin, ZHOU Jiabo*, MENG Limin
(CollegeofInformationEngineering,ZhejiangUniversityofTechnology,HangzhouZhejiang310023,China)
Due to high complexity of dark channel prior defogging algorithm, a fast defogging algorithm based on dark channel prior was proposed. Firstly, the computing of the dark channel map was accelerated by blocking the image. Secondly, the block effect was eliminated by using the linear interpolation algorithm to smoothing. Then, the transmission map was acquired by dark channel prior. Finally, a clear and haze-free image would be gotten from the atmospheric scattering model. The experimental results show that the defogging effect of the proposed algorithm can be as good as the original defogging algorithm but the complexity can be reduced effectively. The proposed algorithm needs time about one-tenth of the original algorithm and reaches the requirement of near real-time.
defogging algorithm; dark channel; guided filtering; blocking; linear interpolation
TP391.413
A
2016- 12- 23;
2017- 02- 03。
國家自然科學基金資助項目(61372087)。
張江鑫(1964—),男,浙江嘉興人,副教授,碩士,主要研究方向:數(shù)字圖像處理、多媒體數(shù)字通信; 周佳波(1990—),男,浙江杭州人,碩士研究生,主要研究方向:數(shù)字圖像處理; 孟利民(1963—),女,浙江金華人,教授,博士,主要研究方向:數(shù)字圖像處理、無線通信。
1001- 9081(2017)08- 2324- 05
10.11772/j.issn.1001- 9081.2017.08.2324