楊 斌,林志賢,郭太良
(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350100)
在霧霾天氣情況下,視覺系統(tǒng)獲取的圖像會(huì)受到霧霾顆粒對(duì)可見光散射作用的影響,出現(xiàn)對(duì)比度小、細(xì)節(jié)模糊等退化現(xiàn)象,影響視覺系統(tǒng)正常工作。因此復(fù)原霧天圖像具有重大的必要性。目前,圖像的去霧算法主要有兩個(gè)分支:基于圖像增強(qiáng)和基于圖像復(fù)原[1-2]。其中基于圖像增強(qiáng)去霧的本質(zhì)是進(jìn)行圖像對(duì)比度的增強(qiáng),但該類方法可能會(huì)損失圖像信息,導(dǎo)致圖像失真,其中以Retinex算法為代表[3-4]。而基于圖像復(fù)原的去霧方法,本質(zhì)是構(gòu)建霧天圖像的物理模型,反推霧天圖像退化過程來復(fù)原清晰圖像。這種方法復(fù)原的圖像色彩自然真實(shí),不易出現(xiàn)圖像信息損失。
2008年,TAN R T[5]基于清晰圖像比有霧降質(zhì)圖像具有更高的對(duì)比度這一前提,通過最大化圖像的局部對(duì)比度來獲得清晰圖像,但該方法容易造成色彩過于飽和且容易失真的問題。KIM J H[6]等人提出了構(gòu)建包括對(duì)比度和信息丟失的成本函數(shù),通過求解成本函數(shù)最小值來獲得每個(gè)區(qū)域塊最佳的傳輸率值,再結(jié)合霧天降質(zhì)物理模型復(fù)原圖像,該算法所復(fù)原的圖像對(duì)比度高,信息損失小。2009 年,HE K M等[7]使用暗原色先驗(yàn)算法來實(shí)現(xiàn)去霧,在大多數(shù)情況下得到的復(fù)原后圖像顏色自然真實(shí)、清晰度高。但是在一些暗原色先驗(yàn)規(guī)律失效的區(qū)域,比如天空等明亮區(qū)域,會(huì)產(chǎn)生嚴(yán)重的色調(diào)偏移,同時(shí)HE K M為了解決邊緣halo效應(yīng),采用了時(shí)間復(fù)雜度較高的soft matting算法來細(xì)化介質(zhì)透射率,導(dǎo)致算法計(jì)算量較大,不具實(shí)時(shí)性。為此,HE K M等[8]又提出Guided Image Filtering算法來替代soft matting算法,降低時(shí)間復(fù)雜度,提高算法效率,但圖像去霧能力會(huì)有所減弱。
霧天圖像的退化過程可以用大氣散射模型[9]描述,即:
I(x)=J(x)t(x)+A(1-t(x))
(1)
式中x為空間坐標(biāo),I(x)表示有霧圖像,A為全局大氣光值,J(x)表示復(fù)原后的清晰無霧圖像,t(x)為透射率。僅有I(x)一個(gè)已知量,要求取J(x),這是一個(gè)病態(tài)方程,為此要先求取大氣光值A(chǔ)以及透射率t(x)。
為了求取透射率t(x),利用文獻(xiàn)[7]提出的暗原色先驗(yàn),即:在無霧清晰圖像中絕大部分非天空局部區(qū)域至少有一個(gè)顏色通道的亮度值很低并趨近于0。換言之,對(duì)于圖像J,有:
(2)
其中Jc(y)表示圖像J的一個(gè)顏色通道,Ω(x)為以x為中心的方形區(qū)域,Jdark稱為圖像J的暗原色。
(3)
實(shí)際情況下,如果將圖像中的霧霾完全去除,會(huì)導(dǎo)致復(fù)原圖像缺少真實(shí)感與層次感,為了保持復(fù)原圖像的視覺朦朧感,引入系數(shù)ω(0<ω≤1,通常取0.90~0.97)。
(4)
此外,求取大氣光值A(chǔ)的步驟為:首先取暗原色圖像中亮度值為前0.1%的像素所在的位置,其次將這些
位置所對(duì)應(yīng)原圖像的像素取出,最后求這些像素中亮度最大值,即為大氣光值A(chǔ)的估計(jì)值。
將算法求出的透射率圖和大氣光值代入式(1)恢復(fù)出無霧圖像J(x),即:
(5)
暗原色先驗(yàn)在天空等明亮區(qū)域的局限性會(huì)導(dǎo)致復(fù)原含有大面積天空區(qū)域圖像時(shí)出現(xiàn)顏色失真,同時(shí)大氣光值的求取會(huì)受到白色高亮物體干擾。本文在文獻(xiàn)[7]算法的框架基礎(chǔ)上,針對(duì)這兩點(diǎn)缺陷提出相應(yīng)的優(yōu)化算法。
2.1.1天空等明亮區(qū)域色彩失真的原因
在不使用暗原色先驗(yàn)假設(shè)結(jié)論的前提下,透射率的精確表達(dá)式為:
(6)
在天空等接近大氣光值的明亮區(qū)域,暗原色先驗(yàn)的失效使該區(qū)域的暗原色值并不為0,因此原算法所得透射率小于該區(qū)域?qū)嶋H的透射率。
定義[10]:
Δc=Ic-Ac,c∈{r,g,b}
(7)
由于通常在明亮區(qū)域大體偏白色,三個(gè)通道亮度值與大氣光值差異不大,因此有
Δr≈Δg≈Δb
(8)
又由式(5)可知,極小的Δr,Δg,Δb的值(即(I(x)-A)的值)除以明亮區(qū)域偏小的透射率t會(huì)導(dǎo)致復(fù)原圖像強(qiáng)度值J急速放大,最終使得計(jì)算結(jié)果和原圖的色彩有較大的偏差,產(chǎn)生嚴(yán)重色偏,如圖1所示。因此需要對(duì)文獻(xiàn)[7]算法的明亮區(qū)域的透射率進(jìn)行動(dòng)態(tài)調(diào)整。
圖1 文獻(xiàn)[7]算法與本文算法透射率圖及去霧效果比較
2.1.2結(jié)合像素亮度與飽和度差值的透射率調(diào)整算法
文獻(xiàn)[11]提出了顏色衰減先驗(yàn):
d(x)∝c(x)∝vs(x)
(9)
其中d(x)為景深,c(x)為霧霾濃度,vs(x)為像素亮度與飽和度的差值。
由式(9)可以看出vs(x)的值與景深成正比,也就是說天空區(qū)域的像素亮度與飽和度的差值大于其他區(qū)域,而在原始透射率圖中天空等明亮區(qū)域的透射率估計(jì)值是偏小的。
基于此,本文提出結(jié)合像素亮度與飽和度差值圖像的透射率修正算法,其修正公式為:
(10)
其中Iv為圖像亮度圖,Is為飽和度圖。
算法采用亮度-飽和度差值圖像中明亮區(qū)域的歸一化值代替原始透射率圖中相應(yīng)位置的透射率值,從而達(dá)到該區(qū)域透射率修正放大的目的。首先,這種方法避免了對(duì)天空進(jìn)行識(shí)別分割的繁瑣操作,降低了算法的復(fù)雜度;其次,這種方法不僅提升放大了天空等明亮區(qū)域的透射率,而且還沒有影響其他區(qū)域的透射率值,最大程度提升圖像整體的去霧效果。
觀察圖1(c)可以看出,本文算法較好地調(diào)整了天空等明亮區(qū)域的透射率,解決了該區(qū)域因?yàn)橥干渎使乐灯∷鶐淼纳适д鎲栴},如圖1(e)所示。
HE K M等在文獻(xiàn)[7]中估計(jì)大氣光值的方法很大程度上會(huì)受到白色物體的影響,從而產(chǎn)生較大的誤差。
因此本文采用一種改進(jìn)的基于暈光算子的大氣光值求解算法。算法具體過程如下:
(1)采用文獻(xiàn)[12]提出的暈光算子,其表達(dá)式如下:
(11)
其中:
在像素值相差較大的兩片區(qū)域的邊界處,R1值會(huì)較小,而R2值較大,使得Halation(x)的值較小,而在像素值相差較小的區(qū)域內(nèi),R1與R2的值相差較小,使得Halation(x)的值較大。因此暈光算子可以較好地檢測出像素值差別較大的邊界,尤其是與周圍像素值差別較大的白色區(qū)域。
(2)檢測出白色區(qū)域后通過對(duì)暈光算子圖進(jìn)行腐蝕運(yùn)算,消除白色物體的干擾。
(3)再對(duì)其結(jié)果進(jìn)行二值化處理,得到最終的大氣光求值區(qū)域。在總結(jié)大量實(shí)驗(yàn)結(jié)果的基礎(chǔ)上,暈光算子二值化閾值可由公式(12)求得:
Hthreshold=0.75×max(Halation(x))
(12)
(4)取大氣光值求值區(qū)域所對(duì)應(yīng)的暗原色圖中亮度值為前0.1%的像素的位置,將這些位置對(duì)應(yīng)的有霧圖像的像素的亮度值求取均值即為最終的大氣光值:
(13)
其中:A(x)為最終的大氣光值求值區(qū)域,n為A(x) 內(nèi)的像素個(gè)數(shù),I(y)為輸入圖像。
圖2白色方框內(nèi)的黑點(diǎn)區(qū)域?yàn)槲墨I(xiàn)[7]算法與本文算法的大氣光值求值區(qū)域比較。從圖2(a)可以看出,文獻(xiàn)[7]算法錯(cuò)誤地將白色天鵝區(qū)域與火車車燈當(dāng)作大氣光值求值區(qū)域,導(dǎo)致大氣光值求解誤差較大。而由圖2(b)可以看出本文算法有效地去除了白色物體的干擾,確定出霧濃度最高的區(qū)域,從而提高估計(jì)大氣光值的準(zhǔn)確度。
圖2 文獻(xiàn)[7]算法與本文算法大氣光值求值區(qū)域的比較
為了客觀全面地評(píng)測本文算法復(fù)原圖像的質(zhì)量,檢驗(yàn)本文算法的有效性與可靠性,將本文算法與文獻(xiàn)[7]算法、文獻(xiàn)[11]算法進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖3所示。三種不同算法均采用引導(dǎo)濾波細(xì)化粗略透射率,引導(dǎo)濾波的濾波器窗口r為40,調(diào)節(jié)系數(shù)ε取0.001。有霧圖像素材均來自互聯(lián)網(wǎng)。文獻(xiàn)[11]的算法中β值取1,其他參數(shù)取默認(rèn)值
從圖3、圖4以及圖5的實(shí)驗(yàn)結(jié)果可以看出,文獻(xiàn)[7]的暗原色先驗(yàn)結(jié)合引導(dǎo)濾波算法在非明亮區(qū)域取得良好的去霧效果,但是在圖像天空等明亮區(qū)域產(chǎn)生了嚴(yán)重的顏色失真。而文獻(xiàn)[11]算法對(duì)于圖像的去霧較差,在天空區(qū)域存在略微的偏色現(xiàn)象,其去霧效果受到β取值的影響,如果β值取得大一些,可以提升其去霧效果,但是也極其容易導(dǎo)致天空區(qū)域出現(xiàn)色彩失真。而本文算法的復(fù)原圖像整體視覺效果較好,非天空等明亮區(qū)域去霧徹底,明亮區(qū)域無色彩失真,同時(shí)本文算法沒有引入其他參數(shù),大大提高了本文算法的自動(dòng)化程度。
圖3 三種不同算法效果比較
圖4 三種不同算法效果比較
圖5 三種不同算法效果比較
為了進(jìn)一步客觀評(píng)價(jià)各個(gè)算法復(fù)原圖像的質(zhì)量,本文采用了文獻(xiàn)[13]的色調(diào)還原度(C)、有效細(xì)節(jié)強(qiáng)度(V)、結(jié)構(gòu)信息(S)三個(gè)方面來評(píng)測文獻(xiàn)[7]算法、文獻(xiàn)[11]算法與本文算法的優(yōu)劣。有關(guān)三個(gè)指標(biāo)的具體定義見文獻(xiàn)[13],其綜合評(píng)價(jià)指標(biāo)Q為:
Q=Cα×Vβ×Sγ
(14)
本文取α=β=γ=1。其中色調(diào)還原度C越大說明表明算法色彩還原越真實(shí);有效細(xì)節(jié)強(qiáng)度V越大表明復(fù)原圖像細(xì)節(jié)更加細(xì)膩,去霧效果越好;結(jié)構(gòu)信息S越大表明算法保持原圖像結(jié)構(gòu)信息的能力越強(qiáng),復(fù)原圖像失真越小。綜合評(píng)價(jià)指標(biāo)Q越大則說明復(fù)原圖像質(zhì)量越好。實(shí)驗(yàn)數(shù)據(jù)如表1所示。
由表1的數(shù)據(jù)統(tǒng)計(jì)可以看出,本文算法相比于文獻(xiàn)[7]的算法,色調(diào)還原度平均值、有效細(xì)節(jié)強(qiáng)度平均值、結(jié)構(gòu)信息平均值分別提升150.82%、39.9%、15.19%,綜合評(píng)價(jià)指標(biāo)平均值提升313.719%。在運(yùn)行時(shí)間上,由于本文算法在透射率修正以及大氣光值求取步驟上的改進(jìn)導(dǎo)致運(yùn)行時(shí)間略大于文獻(xiàn)[7]的算法。
表1 圖3、圖4及圖5各項(xiàng)指標(biāo)的比較
而本文算法相比于文獻(xiàn)[11]算法,色調(diào)還原度平均值、有效細(xì)節(jié)強(qiáng)度平均值、結(jié)構(gòu)信息平均值分別提升54.27%、14.45%、9.23%,綜合評(píng)價(jià)指標(biāo)平均值提升95.55%,說明本文算法在解決色彩失真方面、保持圖像結(jié)構(gòu)信息以及復(fù)原圖像質(zhì)量優(yōu)于文獻(xiàn)[11]的算法,同時(shí)本文算法的運(yùn)行時(shí)間遠(yuǎn)遠(yuǎn)小于文獻(xiàn)[11]的算法。
綜上所述,相比于文獻(xiàn)[7]算法,本文算法在犧牲較小的運(yùn)行時(shí)間的代價(jià),大大提升了復(fù)原圖像的質(zhì)量,而相比于文獻(xiàn)[11]算法,本文算法不僅大大提升了運(yùn)行速度,而且也一定程度提升了復(fù)原圖像的質(zhì)量。
本文提出一種改進(jìn)的基于暗原色圖像去霧改進(jìn)算法。首先將歸一化的亮度-飽和度差值圖像與粗略透射率逐一比較取最大值作為新的透射率,以此動(dòng)態(tài)修正原始透射率;其次采用暈光算子排除白色等明亮區(qū)域,以獲得正確的大氣光值;最后將改進(jìn)后的透射率圖以及大氣光值用于結(jié)合暗原色先驗(yàn)以及引導(dǎo)濾波優(yōu)化的去霧框架中。實(shí)驗(yàn)結(jié)果表明本文算法保持圖像結(jié)構(gòu)信息能力以及復(fù)原圖像質(zhì)量較高,有效地解決了天空等明亮區(qū)域的色彩失真問題,并且算法的復(fù)雜度與文獻(xiàn)[7]算法相近且遠(yuǎn)小于文獻(xiàn)[11]算法。
[1] OAKLY J R, SATHERLEY B L. Improving image quality in poor visibility conditions using a physical model for contrast degradation[J]. IEEE Transactions on Image Processing,1998,7(2): 167-179.
[2] 禹晶,徐東彬,廖慶敏.圖像去霧技術(shù)研究進(jìn)展[J].中國圖象圖形學(xué)報(bào),2011,16(9):1561-1576.
[3] JOBSON D J, RAHMAN Z, WOODELL G A.Properties and performance of a center/surround retinex[J].IEEE Transactions on Image Processing,1997,6(3):451-462.
[4] 馬時(shí)平,張明,畢篤彥,等.一種細(xì)節(jié)保持的Retinex圖像增強(qiáng)算法[J].西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,37(3): 541-546.
[5] 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.Piscataway, NJ: IEEE, 2008: 1-8.
[6] KIM J H, JANG W D, SIM J Y, et al. Optimized contrast enhancement for real-time image and video dehazing[J]. Journal of Visual Communication & Image Representation, 2013, 24(3):410-425.
[7] HE K M, SUN J, TANG X O.Single image haze removal using dark channel prior[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011,33(12): 2341-2353.
[8] HE K M, SUN J, TANG X O.Guided image filtering [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(6): 1397-1409.
[9] NARASIMHAN S G, NAYAR S K.Contrast restoration of weather degraded images[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(6): 713-724.
[10] 蔣建國,侯天峰,齊美彬,等.改進(jìn)的基于暗原色先驗(yàn)的圖像去霧[J].電路與系統(tǒng)學(xué)報(bào),2011,16(2):155-160.
[11] Zhu Qinsong, Mai Jiaming, Shao Ling. A fast single image haze removal algorithm using color attenuation prior[J]. IEEE Transactions on Image Processing, 2015, 24(11):3522-3533.
[12] 劉冬冬,陳瑩.基于暗原色先驗(yàn)的區(qū)域自適應(yīng)圖像去霧方法[J].計(jì)算機(jī)工程與應(yīng)用,2016,52(7):166-170.
[13] 李大鵬,禹晶,肖創(chuàng)柏.圖像去霧算的無參考客觀質(zhì)量評(píng)測方法[J].中國圖象圖形學(xué)報(bào),2011,16(9):1753-1757.