石文軒 李 婕
(武漢大學(xué) 電子信息學(xué)院,武漢 430079)
圖像去霧是一個非常具有挑戰(zhàn)性的研究課題,因為在缺少深度信息的情況下,對單張含霧圖像進(jìn)行恢復(fù)是一個約束不足的恢復(fù)問題。大多去霧方法采用對圖像附加限制,增加輔助數(shù)據(jù)或使用多幅圖的方式對圖像進(jìn)行去霧。在有霧的遙感圖像中景物細(xì)節(jié)信息依稀可見,圖像去霧的目的便是消除圖像中的霧對景物的影響,還原景物的本來面目。
對比度增強(qiáng)法是通常使用的去霧操作方法之一,該方法可以通過灰度調(diào)整技術(shù)實現(xiàn),但是這種方法僅取決于像素的灰度值,而忽視了圖像中各物體之間的空間關(guān)系。對比度增強(qiáng)法包括線性匹配、直方圖拉伸、直方圖均衡以及伽馬校正等,這些方法在一般的圖像處理軟件中都可以實現(xiàn)。Larson[1]提出了一種更為成熟的色調(diào)重建方法,該方法可以用來渲染具有高動態(tài)范圍的圖像。在通常的場景中,霧的厚度在圖像的不同位置是有區(qū)別的,因此,霧對每個像素的影響也不盡相同。由于以上方法對整幅圖像不同位置的處理方式是一樣的,并沒有考慮圖像中局部霧的厚度不一的情況,因此,上述方法具有一定的局限性。
圖像中的霧會造成的影響既包括加性影響也包括乘性影響,加性噪聲為光學(xué)系統(tǒng)的背景噪聲,而乘性噪聲是由于系統(tǒng)的信道不理想造成的。如果不能處理好加性噪聲影響,噪聲就會在信道中產(chǎn)生正反饋放大,從而增大圖像中乘性噪聲影響的程度。
僅使用Retinex算法就可以有效地去除圖像中的霧,使霧中的景物清晰展現(xiàn),但去霧后的圖像色彩偏灰,使原圖中的彩色信息大量損失。本課題提出了一種基于Retinex算法和色度比的去霧算法,引入了原圖中的色彩信息,能在去霧的同時,保留圖像的色彩。
由Land提出的Retinex思想[2-4]認(rèn)為顏色的恒常性不會受到周圍照明環(huán)境的影響,僅與人眼的視覺系統(tǒng)和目標(biāo)物體表面的反射性質(zhì)有關(guān)。Retinex模型主要是將理想圖像分解為入射光和物體的反射系數(shù)2部分,可由式(1)表示。
式中 L是捕獲的圖像;I是入射光分量,直接決定了一幅圖像能達(dá)到的動態(tài)范圍;R反映了物體表面的材質(zhì)對光的反射性質(zhì)。采用Retinex理論的目的就是從捕獲的圖像L中恢復(fù)出R,也就是要從圖像中濾除入射光部分得到物體本身的面貌。
基于中心/包圍的Retinex算法是近年來的研究熱點,主要包括單尺度Retinex算法和多尺度Retinex算法。
單尺度Retinex算法(Single Scale Retinex,SSR)是建立在光照-反射模型的基礎(chǔ)上的。人眼對物體的亮度感覺取決于環(huán)境光的照明和物體表面材質(zhì)對照明光的反射2部分,可表示為
式中 L(x,y)表示圖像中坐標(biāo)位置為(x,y)的像素的亮度值;I(x,y)為該點的照明強(qiáng)度函數(shù);R(x,y)為反射函數(shù)。
第l(l=1,2,3)個顏色通道的光強(qiáng)值Ll是照明強(qiáng)度Il與反射強(qiáng)度Rl的乘積,對于圖像中第x行第y列的像素,其l通道的亮度值可表示為:
由于亮度的對數(shù)形式更接近人眼的感知能力,并且采用對數(shù)形式可以將復(fù)雜的乘法運(yùn)算變成簡單的加法運(yùn)算,因此,可以將上式等號兩邊取自然對數(shù),表示為:
如果 rl(x,y)=1nRl(x,y),則:
由于Il(x,y)變化平緩,能量集中在低頻部分。將Il(x,y)寫成包圍函數(shù)與所在通道的亮度值的卷積形式,相當(dāng)于對原圖像進(jìn)行低通濾波,就可以得到Retinex算法的基本表達(dá)形式:
式中 Ll(x,y)是所輸入圖像的l通道在坐標(biāo)(x,y)的亮度值,亮度值的取值范圍是[0,255],取值越小代表該像素越暗,越大代表該像素越亮,數(shù)值為0時表示黑,數(shù)值為255時表示白;F(x,y)是中心/包圍函數(shù),也稱為權(quán)重函數(shù);rl(x,y)是反射系數(shù)。
Zia-ur Rahman等人[5]將數(shù)字圖像的中心/包圍函數(shù)定義為:
其中 A是歸一化常數(shù);σ是高斯包圍函數(shù)的標(biāo)準(zhǔn)差。
對于σ較小的中心/包圍函數(shù)經(jīng)過單尺度Retinex算法增強(qiáng)后突出了圖像的細(xì)節(jié)信息,而對于σ較大的中心/包圍函數(shù)經(jīng)過單尺度Retinex算法增強(qiáng)后呈現(xiàn)出原圖像的色調(diào)[6]。但是基于單尺度Retinex算法直接用于去除霧的效果并不明顯,所以需要對單尺度Retinex算法進(jìn)行改進(jìn),找到更為理想的方法去除圖像中的霧。
由于單尺度中心/包圍函數(shù)中標(biāo)準(zhǔn)差 σ選取的不同會直接影響到被處理圖像的彩色呈現(xiàn),為了使彩色圖像呈現(xiàn)與視覺可接受的動態(tài)壓縮范圍之間得到平衡,由Daniel J.Jobson等提出了多尺度Retinex算法(Multiple Scale Retinex,MSR)[7],在多尺度Retinex算法中,選取不同的標(biāo)準(zhǔn)差σ分別計算,并且給計算結(jié)果賦予一定的權(quán)重值。該算法可表示為
其中 l表示通道號,l=1代表紅色通道,l=2代表綠色通道,l=3代表藍(lán)色通道;Wk是對應(yīng)的Fk計算結(jié)果的權(quán)重值;k是中心/包圍函數(shù)或尺度的數(shù)量。
Fk可由式(3)求得:
其中 A是歸一化常數(shù);σk是尺度為k的高斯包圍函數(shù)的標(biāo)準(zhǔn)差,σk的大小控制了包圍的范圍。當(dāng)N=1時,多尺度Retinex算法退化為單尺度Retinex算法。
通常情況下,k=3,且 W1=W2=W3=1/3,如果將 σk的大小設(shè)定為大、中、小3個值,則多尺度 Retinex算法同時包含了多個尺度的特征。該算法既能在一定程度上突出圖像的細(xì)節(jié)信息,又能在一定程度上使圖像呈現(xiàn)出原圖像的色調(diào),這樣就提供了完整的顏色恒常性和動態(tài)范圍壓縮,使彩色圖像再現(xiàn)[6]。試驗證明多尺度Retinex算法比單尺度Retinex算法的圖像增強(qiáng)效果更為理想。
多尺度Retinex算法在增強(qiáng)彩色圖像時,有些通道的像素亮度很容易達(dá)到飽和失真,從而改變圖像中物體本身的顏色。因此,為了保持顏色的恒常性需要考慮緩和顏色的飽和度,彌補(bǔ)多尺度Retinex算法的缺陷。
Retinex算法不僅可以增強(qiáng)灰度圖像,同時也能增強(qiáng)彩色圖像。但是對于拍攝到的霧天圖像,僅僅用Retinex算法進(jìn)行圖像增強(qiáng)無法提高圖像的對比度,因此,需要對經(jīng)過Retinex算法處理的圖像的直方圖進(jìn)行校正。如果,處理后的圖像沒有充分利用顯示設(shè)備所允許的顯示灰度范圍,就會導(dǎo)致顯示出的圖像對比度較低,圖像中的一些細(xì)節(jié)信息很難被察覺。因此,可以對這樣的圖像進(jìn)行對比度的線性拉伸。對于分辨率為M×N的8位量化圖像,線性拉伸就是將圖像的灰度范圍由其原本的灰度范圍[min,max]拉伸到[0,255],并可以用式(4)表示:
假設(shè)圖1(a)為一幅原始圖像的直方圖,其中min為圖像中所有像素的最小灰度值,max為圖像中所有像素的最大灰度值。線性拉伸就是將灰度級由原來的[min,max]拉伸到[0,255],如圖1(b)所示。
圖1 直方圖線性拉伸
從圖1(a)中可以看出,圖像大部分像素點都集中在[Plow,Phigh],而超出這個范圍的像素點,也就是灰度范圍分布在[min,Plow]和[Phigh,max]的像素點數(shù)量很少,這些灰度的像素點基本不對整幅圖像構(gòu)成影響,因此,在線性拉伸時對這部分像素點可以忽略不計。這時,線性拉伸公式可以由式(4)改寫為式(5):
式中 Plow稱為下飽和點;Phigh稱為上飽和點。由式(5)可知上飽和點和下飽和點的選取對線性拉伸起關(guān)鍵的作用。
芮義斌等[8]提出了一種自適應(yīng)的線性拉伸方法。在正態(tài)分布中,假設(shè)圖像的灰度均值為 μ,標(biāo)準(zhǔn)差為σ,那么圖像中的絕大部分像素都會落到區(qū)間[μ-3σ,μ+3σ]內(nèi),與圖像的灰度均值 μ相差超過3σ的像素點可以忽略不計。因此,自適應(yīng)的線性拉伸方法的下飽和點取Plow=μ-3σ,上飽和點取Phigh=μ+3σ,然后根據(jù)式(5)對Retinex算法處理后的圖像進(jìn)行直方圖線性拉伸。這里采用多尺度Retinex算法,并且中心/包圍函數(shù)中的尺度常數(shù)分別取為15,80,250,對含霧彩色圖像的處理結(jié)果如圖2所示。
圖2 多尺度Retinex算法對含霧彩色圖像的處理
從圖2中可以看到,由于多尺度Retinex算法可以分別對R、G、B三個譜段的圖像進(jìn)行去霧,因此,在圖像中的平坦區(qū)域,對這3個譜段進(jìn)行去霧處理后,3個譜段的灰度值計算結(jié)果近似相等,將3個譜段的處理結(jié)果合成為彩色時就會呈現(xiàn)偏灰的色彩,從而失去了圖像本身各個譜段的顏色比例關(guān)系。
由于單獨使用多尺度Retinex算法對含霧的彩色圖像處理會導(dǎo)致圖像色彩偏灰。本課題對基于多尺度Retinex算法的去霧算法進(jìn)行了相應(yīng)的改進(jìn),并加入了每個像素的色度比信息。假設(shè)采用的中心/包圍函數(shù)中的尺度常數(shù)分別為15,80,250,則用多尺度Retinex算法處理得到的3個譜段的計算結(jié)果為:
其中 Wk是每種尺度計算結(jié)果所占的權(quán)重,一般情況下取W1=W2=W3=1/3。
如果原圖的3個譜段用R-original,G-original,B-original表示,那么本文引入的3個譜段的色度比可表示為:
那么,最終的恢復(fù)圖像的對數(shù)形式可以表示為:
其中 l=R,G,B,W1=W2=W3=W4=1/4。對式(6)進(jìn)行指數(shù)運(yùn)算,那么增強(qiáng)后的圖像可表示為:
由式(7)計算出的圖像能克服霧引起的圖像對比度不高的問題,但是處理結(jié)果的動態(tài)范圍較小。因此,可用直方圖線性拉伸的方法(式(5))對式(7)的計算結(jié)果的每個譜段進(jìn)行線性拉伸,最后將3個譜段的拉伸結(jié)果合成為最終的彩色圖像。處理后的圖像增大了圖像的對比度,能滿足人眼的視覺要求。
由式(6)可知,本文提出的算法耦合了每個像素的色度比信息,使增強(qiáng)的圖像還原了原有的色彩,克服了多尺度Retinex算法處理彩色含霧圖像時產(chǎn)生的圖像偏灰的問題。用該算法處理得到的圖像如圖3所示。
圖3 基于Retinex算法和色度比的圖像增強(qiáng)算法
表1列出了原始含霧圖、多尺度Retinex算法處理結(jié)果和本文提出方法的標(biāo)準(zhǔn)差比較。標(biāo)準(zhǔn)差大,則說明圖像的對比度高。從表中可以看出,多尺度Retinex和本文方法處理后,圖像的標(biāo)準(zhǔn)差都有明顯的提高。使用本文方法處理后的圖像色彩更為逼真。
表1 圖像灰度標(biāo)準(zhǔn)差比較
本文針對含霧的遙感圖像復(fù)原,提出了一種新的遙感圖像去霧處理的方法——基于Retinex算法和色度比的圖像增強(qiáng)算法。該算法克服了直方圖均衡法容易引起圖像色彩的畸變和基于Retinex算法的自適應(yīng)線性拉伸方法處理后的圖像偏灰等問題。該算法在用Retinex算法進(jìn)行圖像恢復(fù)的過程中引入了原圖像的色彩信息,改善了處理后的圖像的色彩。試驗表明,該算法能有效地去除遙感圖像中霧的成分。
[1]Larson G W,Rushmeier H,Piatko C.A Visibility Matching Tone Reproduction Operator for High Dynamic Range Scenes[J].IEEE Transactions onVisualization and Computer Graphics,1997,3(4):291-306.
[2]FinlaysonG D,Hordley S D,Drew M S.Removing Shadows From Images using Retinex[C].Proceedings of IS&T/SID Tenth Color Imaging Coference,Scottsdale,AZ,United States,2002:73-79.
[3]Meylan L,Susstrunk S.Color Image Enhancement Using a Retinex-based Adaptive Filter[C].Proceedings of IS&T Second European Conference on Color in Graphics,Image,andVision(CGIV 2004),2004,2:359-363.
[4]Sun Bo,Chen Weifang,LiHongyu,et al.Modified Luminace BasedAdaptive MSR[C].Proceedings of the Fourth International Conference on Image and Graphics,2007:116-120.
[5]Jobson D J,Rahman Z,Woodell G A.Feature Visibility Limits in the Non-linear Enhancement of Turbid Images[J].SPIE,2003,5108:24-30.
[6]江興方.遙感圖像去云方法的研究及其應(yīng)用[D].南京理工大學(xué)博士學(xué)位論文,2007.
[7]Rahman Z,Jobson D,Woodell G.Multiscale Retinex for Color Image Enhancement[M],1996.
[8]芮義斌,李鵬,孫錦濤.一種圖像去薄霧方法[J].計算機(jī)應(yīng)用,2006,26(l):154-156.