何 艷, 方 帥
(合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009)
霧是一種常見(jiàn)的天氣現(xiàn)象。在這種天氣條件下,大氣中存在大量懸浮顆粒,這些顆粒對(duì)太陽(yáng)輻射的吸收和散射作用使大氣能見(jiàn)度降低,從而導(dǎo)致戶(hù)外拍攝的圖像質(zhì)量下降,因此霧天圖像去霧算法具有重要的應(yīng)用價(jià)值。
現(xiàn)有的圖像清晰化算法可以分為基于大氣物理模型的方法和基于非模型的方法[1]?;诖髿馕锢砟P偷姆椒ǎ瑥拇髿獬上竦慕嵌瘸霭l(fā),對(duì)大氣散射進(jìn)行建模分析,并利用先驗(yàn)知識(shí)達(dá)到場(chǎng)景復(fù)原的目的。這種方法雖然取得較好的效果,但是大氣衰減系數(shù)難以估計(jì),求解時(shí)復(fù)雜度較大?;诜悄P偷姆椒ú豢紤]圖像退化的原因,避開(kāi)對(duì)場(chǎng)景深度和大氣條件的依賴(lài),有效地突出細(xì)節(jié)信息,降低了算法的復(fù)雜度,從而提高算法的通用性和實(shí)時(shí)性。這種方法的處理結(jié)果更適合人類(lèi)的視覺(jué)特性或機(jī)器的識(shí)別系統(tǒng),但是現(xiàn)有的方法仍然存在全局或局部對(duì)比度低、偏色等問(wèn)題。文獻(xiàn)[2]將2種方法結(jié)合起來(lái),從而達(dá)到去霧效果好、時(shí)間復(fù)雜度低的目的,但由于待估計(jì)的參數(shù)比較多,算法在去霧效果方面并沒(méi)有顯著性的提高。
為了使霧天圖像在去霧后能保持其原有色彩,本文利用retinex理論[3]的顏色恒常性,基于多尺度的retinex彩色圖像復(fù)原(multi-scale-retinex with color restoration,MSRCR)算法,提出了一種霧天圖像增強(qiáng)方法,即局部多尺度的retinex彩色圖像復(fù)原(local multi-scale-retinex with color restoration,LMSRCR)算法。MSRCR算法對(duì)籠罩著一層薄霧的圖像處理效果較好,但是對(duì)于寬動(dòng)態(tài)范圍霧天圖像會(huì)出現(xiàn)圖像過(guò)增強(qiáng)現(xiàn)象,這是因?yàn)镸SRCR算法在對(duì)圖像進(jìn)行處理時(shí),對(duì)整幅圖像采用全局的去霧力度。事實(shí)上,由于圖像中物體的深度不同,受到霧的影響也不同。因此本文考慮將霧濃度加入算法中,根據(jù)霧濃度大小的不同將圖像分割成不同的區(qū)域,并在各個(gè)區(qū)域中采用局部的尺度參數(shù),從而有效地提高了圖像對(duì)比度,實(shí)現(xiàn)了圖像色彩的恢復(fù)。
retinex是一種典型的圖像增強(qiáng)方法,源于E.Land于20世紀(jì)70年代提出的retinex理論,是一種基于色彩恒常的代表性計(jì)算理論。由于retinex算法能在動(dòng)態(tài)范圍壓縮、對(duì)比度提高和顏色保真3個(gè)方面到達(dá)平衡,引起了學(xué)者的廣泛關(guān)注,隨后出現(xiàn)了各種版本的retinex算法,包括單尺度retinex(single scale retinex,SSR)算法、多尺度retinex(multi-scale retinex,MSR)算法、MSRCR算法。文獻(xiàn)[4]采用自適應(yīng)多尺度retinex(adaptive multi-scale retinex,AMSR)算法對(duì)于同時(shí)存在亮區(qū)域和暗區(qū)域的無(wú)霧圖像進(jìn)行圖像增強(qiáng),抑制了MSR算法處理后放大的噪聲,消除了光暈偽影現(xiàn)象;文獻(xiàn)[5]使用MSRCR算法恢復(fù)了弱光照條件下成像的暗圖像的色彩;文獻(xiàn)[6-8]研究了小波域信息融合的MSR算法及濾波器可變的retinex算法,并用霧天圖像對(duì)算法進(jìn)行做了驗(yàn)證,效果較為明顯。
1.1.1 SSR算法
根據(jù) retinex 理 論 原 理[9],一 幅 圖 像 被 定義為:
其中,S(x,y)為人眼觀察到或者照相機(jī)拍攝到的圖像;L(x,y)為入射光;R(x,y)為物體的反射性質(zhì);“×”代表乘法運(yùn)算。一般將乘法變?yōu)榧臃ㄟ\(yùn)算,(1)式兩邊取對(duì)數(shù)得:
由此可得反映物體本質(zhì)屬性R為:
為了同時(shí)達(dá)到提高圖像亮度、圖像色彩還原以及動(dòng)態(tài)范圍壓縮的目的,文獻(xiàn)[10]應(yīng)用中心環(huán)繞函數(shù)模型發(fā)展了SSR算法,而且通過(guò)計(jì)算圖像每一個(gè)像素點(diǎn)與其鄰域內(nèi)像素亮度值的加權(quán)平均作為入射光的估計(jì),即
其中,“*”表示卷積操作;G(x,y)為中心環(huán)繞函數(shù),定義如下:
其中,σ為高斯環(huán)繞函數(shù)的標(biāo)準(zhǔn)差,即尺度參數(shù);λ為歸一化常數(shù),使得高斯函數(shù)滿(mǎn)足:
SSR算法輸出的數(shù)學(xué)表達(dá)式如下:
1.1.2 MSR算法
SSR算法的關(guān)鍵在于高斯函數(shù)中σ的選取,它直接影響L(x,y)的估計(jì)。以一維信號(hào)為例,來(lái)說(shuō)明不同σ對(duì)輸入信息的影響,如圖1所示。
由圖1可看出,當(dāng)σ值較大時(shí),高斯函數(shù)相對(duì)較發(fā)散,卷積后的結(jié)果較平緩,表現(xiàn)在圖像上為顏色信息較好,但細(xì)節(jié)不突出;當(dāng)σ值較小時(shí),高斯函數(shù)相對(duì)較收斂,卷積后的結(jié)果,也較陡峭,反映在圖像為細(xì)節(jié)突出,但顏色保真性較差。所以單一尺度的σ不能同時(shí)保證增強(qiáng)圖像中細(xì)節(jié)突出與顏色保真性的統(tǒng)一。
圖1 高斯函數(shù)及卷積結(jié)果
MSR算法是在SSR算法基礎(chǔ)上為了同時(shí)達(dá)到顏色與細(xì)節(jié)的平衡,使用不同的尺度因子σ進(jìn)行線性加權(quán),定義為:
1.1.3 MSRCR算法
MSRCR[11]算法是用于彌補(bǔ) MSR算法的缺點(diǎn)而提出來(lái)的,其定義公式為:
其中,i∈(R,G,B)3個(gè)顏色通道;Ci(x,y)為第i個(gè)通道的色彩恢復(fù)系數(shù),是關(guān)鍵因子;β為增益常數(shù);α為受控的非線性增強(qiáng)系數(shù);為圖像第i個(gè)通道帶色彩恢復(fù)的多尺度retinex的輸出結(jié)果。
文獻(xiàn)[13]提出的一種半反轉(zhuǎn)方法能反映出圖像中的有霧區(qū)域,其結(jié)果為半反轉(zhuǎn)圖像。半反轉(zhuǎn)圖像中的像素值是原圖與反轉(zhuǎn)后的像素值中的較大者,具體公式如下:
其中,Ir(x),Ig(x)和Ib(x)分別為原圖像中像素點(diǎn)x在RGB顏色空間的3個(gè)通道值。文獻(xiàn)[13]經(jīng)過(guò)調(diào)查研究發(fā)現(xiàn),原圖與半反轉(zhuǎn)圖像在CLH顏色空間的色度分量上差別很大,而且容易區(qū)分出原圖中的有霧區(qū)域。所以,首先把原圖和半反轉(zhuǎn)圖從RGB顏色空間轉(zhuǎn)換到CLH顏色空間,再計(jì)算原圖與半反轉(zhuǎn)圖在色度通道的差值,公式如下:
其中,Sh(x,y)為原圖像在色度通道的亮度值;Seh(x,y)為半反轉(zhuǎn)圖像在色度通道的亮度值;H(x,y)為原圖與半反轉(zhuǎn)圖像在色度通道差值的絕對(duì)值,即差值圖。根據(jù)預(yù)先設(shè)置的閾值t使差值圖閾值化,即
其中,Hlabel(x,y)為半反轉(zhuǎn)方法的輸出圖,在本文中用作標(biāo)簽圖,用于標(biāo)記圖像的有霧區(qū)域;t為二值化閾值。t值的設(shè)置有利于選擇出原圖與半反轉(zhuǎn)圖中相似的像素,而且將小于t值的像素(即Hlabel(x,y)=0)標(biāo)記為有霧。半反轉(zhuǎn)圖如圖2所示。
圖2 半反轉(zhuǎn)方法結(jié)果圖
現(xiàn)有霧天圖像去霧算法大都只考慮提高圖像對(duì)比度,使圖像更加清晰,沒(méi)有兼顧圖像的色彩信息,而MSRCR算法具有同時(shí)提高圖像對(duì)比度和恢復(fù)圖像色彩的良好性能,所以本文從恢復(fù)圖像色彩的角度出發(fā),將MSRCR算法應(yīng)用于圖像去霧。然而由于MSRCR算法采用全局統(tǒng)一參數(shù),對(duì)于霧均勻分布的圖像處理效果較好,對(duì)于存在遠(yuǎn)景和近景的霧天圖像,由于圖像中物體的深度不同,霧濃度不同,應(yīng)用該算法時(shí)就會(huì)出現(xiàn)某些區(qū)域顏色過(guò)增強(qiáng)的現(xiàn)象。因此本文考慮將圖像根據(jù)霧濃度不同分割成不同的區(qū)域,并且在各個(gè)區(qū)域采用不同的尺度參數(shù)。去霧結(jié)果的好壞取決于霧濃度的檢測(cè),由上述分析可知半反轉(zhuǎn)方法可以有效地檢測(cè)出霧濃度,本文基于此將圖像分割成不同大小的局部區(qū)域,并對(duì)不同區(qū)域使用不同參數(shù)的MSRCR算法,稱(chēng)該算法為L(zhǎng)MSRCR算法。
但是在實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn),由于在檢測(cè)霧濃度過(guò)程中引入了散列的點(diǎn),致使處理后的圖像中存在一些孤立的小圖像塊,因此要消除這些散列點(diǎn)。通過(guò)觀察大量寬動(dòng)態(tài)范圍圖像可以發(fā)現(xiàn)這類(lèi)圖像中遠(yuǎn)景區(qū)域與近景區(qū)域的亮度變化比較大,故可以根據(jù)亮度值區(qū)分遠(yuǎn)景區(qū)域和近景區(qū)域。鑒于此,需要引入關(guān)于原圖的二值圖像T(x,y)。關(guān)于二值圖像的獲取有多種方法,本文采用自動(dòng)閾值化算法,由于算法較為常見(jiàn)且簡(jiǎn)單,不再贅述。根據(jù)文獻(xiàn)[14]可知,圖像中有霧區(qū)域的像素值比較大,反映在二值圖中為白色部分(T(x,y)=1)代表遠(yuǎn)景區(qū)域,黑色部分(T(x,y)=0)代表近景區(qū)域。結(jié)合半反轉(zhuǎn)標(biāo)簽圖和二值圖就可以消除原來(lái)的那些孤立區(qū)域。新標(biāo)簽圖的定義如下:
其中,~T(x,y)表示對(duì)二值圖T(x,y)取反操作;label(x,y)為新標(biāo)簽圖。由于半反轉(zhuǎn)標(biāo)簽圖中Hlabel(x,y)=1代表近景區(qū)域,而在二值圖中T(x,y)=0代表近景區(qū)域,所以需要對(duì)二值圖進(jìn)行一次取反操作,這樣新標(biāo)簽圖中l(wèi)abel(x,y)=1則代表了近景區(qū)域,label(x,y)=0表示遠(yuǎn)景區(qū)域,即霧濃度較大的區(qū)域。
劃分后的區(qū)域具有不規(guī)則性,故需要對(duì)其進(jìn)行擴(kuò)展,使其成為規(guī)則區(qū)域,便于后續(xù)計(jì)算。在擴(kuò)展后的每個(gè)區(qū)域,使用不同尺度參數(shù)的MSRCR算法。對(duì)于處理后的圖像,需要再次根據(jù)標(biāo)簽圖進(jìn)行融合,假設(shè)劃分后的遠(yuǎn)景區(qū)域?yàn)镾0,近景區(qū)域?yàn)镾1,經(jīng)MSRCR算法處理后分別為S0MSRCR,S1MSRCR,則本文LMSRCR算法的輸出為:
其中,Y0=(~label(x,y))×S0MSRCR(x,y);Y1=label(x,y)×S1MSRCR(x,y)。
本文算法的具體步驟如下:
(1)輸入原圖像,按(10)式求其半反轉(zhuǎn)圖像。
(2)將原圖像與半反轉(zhuǎn)圖像轉(zhuǎn)換到CLH顏色空間,按照(11)式、(12)式得到標(biāo)志霧濃度的標(biāo)簽圖Hlabel(x,y)。
(3)輸入原圖,利用自動(dòng)閾值進(jìn)行二值化,求得關(guān)于原圖的二值圖T(x,y)。
(4)將步驟(2)的標(biāo)簽圖和步驟(3)中的二值圖,按照(13)式進(jìn)行運(yùn)算,從而得到一幅新的標(biāo)簽圖label(x,y)。
(5)根據(jù)步驟(4)中的新標(biāo)簽圖,對(duì)原圖進(jìn)行區(qū)域劃分,并對(duì)劃分后的不規(guī)則區(qū)域進(jìn)行擴(kuò)展,使其易于圖像處理。
(6)在擴(kuò)展后的區(qū)域上應(yīng)用MSRCR算法。
(7)對(duì)增強(qiáng)后的圖像按照(14)式進(jìn)行融合。
(8)對(duì)圖像進(jìn)行后處理,使其更適合顯示輸出。
本文的實(shí)驗(yàn)平臺(tái):硬件為CPU雙核2.5GHz,內(nèi)存2G;軟件為 Matlab 7.6.0,Windows 7操作系統(tǒng),檢測(cè)霧濃度的閾值t=180°。
為了證明LMSRCR算法的有效性,本文對(duì)霧天圖像進(jìn)行了實(shí)驗(yàn),圖像中的遠(yuǎn)景和近景在尺度常量上選取不同的參數(shù),實(shí)驗(yàn)結(jié)果如圖3所示。圖3中,遠(yuǎn)景區(qū)域的參數(shù)取值為(5,20,200),近景區(qū)域的參數(shù)取值為(100,200,250),在對(duì)比試驗(yàn)中MSRCR算法3個(gè)尺度的取值為(15,80,250),且ω1=ω2=ω3=1/3,α=125,β=46。
圖3中的3種方法均使圖像對(duì)比度得到增強(qiáng),圖3b、圖3c更加突出圖像細(xì)節(jié),但存在顏色失真的現(xiàn)象;圖3d相對(duì)于圖3b、圖3c則在顏色保真度和細(xì)節(jié)方面得到了很好的平衡。再?gòu)目陀^數(shù)據(jù)上分析,原圖直方圖3e的亮度值大部分集中在灰度值較小的區(qū)域,對(duì)比度低。而直方圖均衡化、MSRCR算法和本文算法得到的增強(qiáng)圖像圖3f、圖3g、圖3h的灰度值分布得較均勻,反映在圖像上,圖像亮度得到了增強(qiáng),細(xì)節(jié)清楚,對(duì)比度得到提高。同時(shí)可以看出本文算法處理的結(jié)果在直方圖上分布得更加均勻,因此具有較高的對(duì)比度,細(xì)節(jié)看得更清楚,顏色保真效果更好。
為了更加客觀地評(píng)價(jià)算法的處理結(jié)果,分別計(jì)算了圖像的信息熵、方差及均值。信息熵是衡量圖像所包含信息量的參數(shù),圖像的信息熵越大,圖像包含的信息就越多,細(xì)節(jié)就越豐富。均值是衡量圖像亮度的參數(shù),圖像的亮度是圖像整體的相對(duì)明暗關(guān)系。方差是衡量圖像對(duì)比度的參數(shù),對(duì)比度是物體亮度的均值與背景亮度的比值,比值越大,從黑到白的漸變層次就越多,表現(xiàn)在色彩上就越豐富,若對(duì)比度小,則整個(gè)圖像是灰蒙蒙的。
以圖3中實(shí)驗(yàn)圖為例,圖像質(zhì)量客觀評(píng)價(jià)結(jié)果見(jiàn)表1所列。
圖3 不同算法的處理效果對(duì)比
表1 圖像質(zhì)量客觀評(píng)價(jià)結(jié)果對(duì)比
在表1中,原圖在獲取時(shí)因光線不足,圖像偏暗,圖像均值偏低,通過(guò)直方圖均衡化后,圖像的亮度值增加,但是信息熵卻降低了;經(jīng)過(guò)MSRCR算法處理后,圖像均值、對(duì)比度均得到提高,但是圖像的信息熵略有降低。本文算法處理后的圖像,信息熵得到了增加,圖像的亮度得到很好平衡,圖像對(duì)比度得到了提高。總體而言,本文算法對(duì)霧天圖像的復(fù)原效果顯著。
MSRCR算法是帶色彩恢復(fù)因子的圖像增強(qiáng)算法,具有提高圖像對(duì)比度和恢復(fù)圖像色彩的良好性能。因此本文利用MSRCR算法處理霧天圖像以達(dá)到復(fù)原圖像的色彩更加自然的目的,但處理不均勻霧天圖像時(shí)產(chǎn)生了過(guò)增強(qiáng)的現(xiàn)象。為此,本文提出了一種局部多尺度的retinex算法,結(jié)合半反轉(zhuǎn)方法將圖像分成不同的區(qū)域,并在不同區(qū)域運(yùn)行不同參數(shù)的MSRCR算法,用霧天圖像對(duì)LMSRCR算法進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果表明LMSRCR算法處理這一問(wèn)題是有效的。主觀觀測(cè)和客觀評(píng)價(jià)的結(jié)果表明,本文所提出的算法在圖像清晰和顏色保真方面能夠取得更好的效果。
[1] 朱瑜輝,方 濱,張會(huì)清.基于物理模型的霧霾天道路圖像清晰化[J].計(jì)算機(jī)應(yīng)用,2010,30(A01):156-158.
[2] Parthasarathy S,Sankaran P.A RETINEX based haze removal method[C]//Industrial and Information Systems(ICIIS),2012 7th IEEE International Conference on.IEEE,2012:1-6.
[3] Land E H.The retinex theory of color vision[J].Scientific American,1977,237(6):108-128.
[4] Lee C H,Shih J L,Lien C C,et al.Adaptive multiscale retinex for image contrast enhancement[C]//Signal-Image Technology &Internet-Based Systems(SITIS),2013In-ternational Conference on.IEEE,2013:43-50.
[5] lee W R,Hwang D G,Jun B M.Recovering color of dark images using tone mapping and MSRCR[J].International Journal of Software Engineering and Its Applications,2014,8(1):119-128.
[6] 孫洪偉,朱志超,于 磊,等.一種提高霧天圖像清晰度的方法[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2011,34(1):83-86.
[7] 汪榮貴,楊萬(wàn)挺.基于小波域信息融合的 MSR改進(jìn)算法[J].中國(guó)圖象圖形學(xué)報(bào),2010,15(7):1091-1097.
[8] 楊萬(wàn)挺.濾波器可變的Retinex霧天圖像增強(qiáng)算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(6):965-971.
[9] Land E H,McCann J.Lightness and retinex theory[J].Journal of the Optical Society of America,1971,61(1):1-11.
[10] Jobson D J,Rahman Z,Woodell G A.Properties and performance of a center/surround retinex[J].IEEE on Image Processing,1997,6(3):451-462.
[11] Jobson D J,Rahman Z U,Woodell G A.A multiscale retinex for bridging the gap between color images and the human observation of scenes[J].IEEE Transactions on Image Processing,1997,6(7):965-976.
[12] Rahman Z,Jobson D J,Woodell G A.Retinex processing for automatic image enhancement[J].Journal of Electronic Imaging,2004,13(1):100-110.
[13] Ancuti C O,Ancuti C,Hermans C,et al.A fast semi-inverse approach to detect and remove the haze from a single image[C]//Proceedings of the 10th Asian Conference on Computer Vision,2010:501-514.
[14] He K,Sun J,Tang X.Single image haze removal using dark channel prior[J].IEEE Transactions on Pattern A-nalysis and Machine Intelligence,2011,33 (12):2341-2353.
合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版)2015年10期