常 戩,賀春澤,董育理,任 營
遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島125105
圖像在獲取和傳輸?shù)倪^程中,由于受外界環(huán)境因素和設(shè)備的影響,質(zhì)量有所下降。圖像增強現(xiàn)已廣泛地應(yīng)用到某些特定領(lǐng)域。通過圖像增強的方法豐富圖像的細節(jié)信息,改善圖像視覺效果,對后續(xù)的醫(yī)學(xué)研究、遙感圖像、機器識別等領(lǐng)域有重大的意義。
圖像增強的傳統(tǒng)方法有直方圖均衡化法、基于人類視覺的Retinex算法、反銳化掩膜法、線性變換法。直方圖均衡化方法提升圖像的對比度,簡單高效,處理速度快,但對有效信息無法做到針對處理,易造成局部過增強[1];20世紀70年代,Land首次提出Retinex理論[2],Retinex算法保持色彩恒常性,消除了光照環(huán)境對圖像本質(zhì)的影響,文獻[3]中Jobson等人提出單尺度Retinex算法,但其算法在圖像光照不均勻處容易產(chǎn)生光暈現(xiàn)象。文獻[4]中胡韋偉等人提出基于雙邊濾波的Retinex算法,去除了光暈現(xiàn)象,但同時造成了圖像泛灰;文獻[5]中張雪峰等人提出一種I-Retinex算法在去除光暈現(xiàn)象的同時去除圖像噪聲,豐富了圖像細節(jié),但依然存在泛灰現(xiàn)象。反銳化掩膜法通過加強圖像的邊緣、輪廓等高頻信息增強圖像細節(jié),但增強后圖像的邊緣處仍存在光暈現(xiàn)象,且光照平緩的區(qū)域增強幅度較小[6~7],線性變換法可以通過設(shè)置不同的斜率,增強圖像對比度,但針對不同灰度圖像需要做不同處理,且在灰度值較大區(qū)域易產(chǎn)生過增強現(xiàn)象。20世紀90年代,Donoho[8]提出了基于頻率域的軟閾值函數(shù)和硬閾值函數(shù)去噪方法并同時證明了相比傳統(tǒng)去噪方法的優(yōu)越性[9],該方法計算量小、易實現(xiàn),但軟閾值方法在高頻系數(shù)大于固定閾值時會產(chǎn)生恒定誤差,造成邊緣細節(jié)模糊,硬閾值方法解決了軟閾值方法的恒定誤差問題但在間斷點處不連續(xù),易產(chǎn)生震蕩現(xiàn)象。
針對上述算法存在的不足,在小波變換的基礎(chǔ)上,針對低頻和高頻系數(shù)分別提出改進雙邊濾波的Retinex圖像增強算法和改進閾值去噪算法??朔松鲜鏊惴ù嬖诘墓鈺灛F(xiàn)象、圖像模糊、細節(jié)丟失和泛灰等現(xiàn)象,并有效地去除了噪聲。
本文用小波變換的方法將圖像增強和圖像去噪的思想相結(jié)合。首先對含噪圖像進行小波分解,得到分解后的低頻和高頻系數(shù);對低頻系數(shù)采用改進雙邊濾波的Retinex圖像增強算法,對高頻系數(shù)采用改進閾值函數(shù)方法進行去噪;然后對處理后的低高頻系數(shù)進行小波反變換,得到重構(gòu)圖像;最后采用分段性線性變換方法對重構(gòu)圖像進行對比度增強,有效解決了圖像因?qū)Ρ榷炔蛔愕姆夯椰F(xiàn)象。本文算法具體步驟如下:
(1)對含噪圖像進行小波分解,得到低頻系數(shù)和高頻系數(shù)。
(2)采用改進雙邊濾波的Retinex圖像增強算法對低頻系數(shù)進行處理。
(3)采用改進閾值函數(shù)方法對高頻系數(shù)進行處理。
(4)對處理后的低頻和高頻系數(shù)進行小波重構(gòu),得到重構(gòu)圖像。
(5)對重構(gòu)后的圖像進行分段性線性變換處理,得到增強圖像。
本文算法具體流程圖如圖1所示。
本文采用小波變換的方法將含噪圖像分解為低頻系數(shù)和高頻系數(shù)。其中低頻系數(shù)主要包含圖像的全局信息,包括圖像的輪廓信息,而高頻系數(shù)主要包含圖像的局部信息,包括圖像的邊緣、細節(jié)、噪聲部分。二維離散小波分解公式如下:
圖1 本文算法流程圖
其中,Wφ(j0,m,n)為分解后低頻系數(shù),為分解后高頻系數(shù),表示為H、V、D,j0是一個任意開始尺度,通常令其為0,f(x,y)為離散函數(shù),x和y表示離散變量;m,n表示為相對(x,y)的相對偏移量,M與N代表圖像由M×N個像素組成φj0,m,n(x,y)為二維尺度函數(shù),為i所對應(yīng)的水平、垂直、對角方向的小波函數(shù)。
結(jié)合分解后得到的低頻系數(shù)Wφ(j0,m,n)和高頻系數(shù)Wiψ(j,m,n),并經(jīng)過改進雙邊濾波的Retinex圖像增強算法和改進閾值函數(shù)方法分別對低高頻系數(shù)的處理,通過離散小波反變換得到重構(gòu)后圖像,小波重構(gòu)公式如下:
本文采用改進雙邊濾波的Retinex圖像增強算法對圖像經(jīng)小波分解后的低頻系數(shù)進行光照圖像估計,有效避免了光暈現(xiàn)象。
Retinex理論是Land基于人類視覺感知模型提出的一種計算理論。由Retinex理論可知,人類觀察到的圖像是由光照圖像和反射圖像兩部分組成即:
其中,S(x,y)為原始圖像,R(x,y)為反射圖像,L(x,y)為光照圖像。光照圖像反映了圖像能達到的動態(tài)范圍,包括光照強度和環(huán)境等信息,反射圖像反映了圖像紋理和輪廓等信息[10]。Retinex算法為使圖像不受光照環(huán)境的影響,消除原始圖像中的光照圖像,經(jīng)對數(shù)域轉(zhuǎn)換后得到能反映圖像本質(zhì)的反射圖像[11]。通過對單尺度Retinex算法及基于雙邊濾波Retinex算法的實驗發(fā)現(xiàn),若完全消除原圖像中的光照估計部分,往往會出現(xiàn)圖像不自然現(xiàn)象,因此在消除光照圖像的過程中增加一個光照調(diào)節(jié)參數(shù)k(k∈(0,1))。反射圖像公式如下:
其中,k為光照調(diào)節(jié)參數(shù),F(xiàn)(x,y)為高斯核函數(shù),光照圖像L(x,y)由原始圖像與高斯核函數(shù)卷積得到。
基于雙邊濾波的Retinex算法針對單尺度算法產(chǎn)生的光暈現(xiàn)象進行改進,在考慮了像素值的歐式距離的同時還考慮了像素范圍域中的輻射差異。雙邊濾波公式如下:
其中ID(i,j)為輸出圖像,I(k,l)為原始圖像,W(i,j,k,l)是空間域與像素范圍域的核函數(shù)。在圖像像素值變化程度較小的平緩區(qū)域,雙邊濾波在空間域起主要在作用,此時相當于高斯濾波。在圖像像素值變化程度較大的邊緣區(qū)域,同時考慮空間域和像素值域,在保持圖像邊緣信息的同時有效避免邊緣處由圖像亮度差異較大引起的光暈現(xiàn)象。雙邊濾波公式如下:
本文提出改進雙邊濾波的Retinex圖像增強算法,針對雙邊濾波核函數(shù)中像素點的空間域進行改進,改進雙邊濾波公式如下:
其中,σd為距離差尺度參數(shù),σr為亮度差尺度參數(shù),p為濾波窗口參數(shù)。
在空間域處,設(shè)置濾波窗口參數(shù)p,原雙邊濾波的濾波窗口大小為2p+1,改進雙邊濾波的濾波窗口為以濾波中心像素點為中心,以濾波參數(shù)p為半徑的圓形區(qū)域。當濾波鄰域內(nèi)像素點與濾波中心像素點距離小于濾波窗口參數(shù)時,判斷該像素點位置在半徑范圍內(nèi),則該像素點空間域與像素值域同時生效,在平滑噪聲的同時保持圖像的邊緣信息。當濾波鄰域內(nèi)像素點與濾波中心像素點距離大于濾波窗口參數(shù)時,認定該點距離中心像素點較遠,對該像素點不作處理,以消除該像素點對圖像邊緣的影響。使用改進雙邊濾波算法得到的反射圖像不僅有效地保持邊緣細節(jié),且更好地去除了光暈現(xiàn)象。
本文采用改進閾值函數(shù)方法對小波分解后的高頻系數(shù)進行去噪處理。在閾值函數(shù)處理前,為了分離高頻系數(shù)中的噪聲分量,首先需確定函數(shù)閾值,由于固定閾值估計法對噪聲在高頻系數(shù)處分布較多時有更徹底的去噪效果[12]。本文采用固定閾值估計法估計函數(shù)閾值,公式如下。
其中,T為確定的固定閾值,L·T為圖像大小,σ為噪聲標準方差,公式如下:
常見的傳統(tǒng)閾值函數(shù)有硬閾值函數(shù)和軟閾值函數(shù)。硬軟閾值函數(shù)公式如下。
硬閾值函數(shù):
軟閾值函數(shù):
對比文獻[14]提出的漸進半軟閾值函數(shù),針對硬、軟閾值函數(shù)的不連續(xù)性和恒定偏差問題,本文提出一種改進閾值函數(shù),公式如下:
改進閾值函數(shù)以λ,0.6λ為分界點,分三部分估計高頻小波系數(shù)。當高頻系數(shù)大于固定閾值時,估計的高頻系數(shù)為高頻系數(shù)與固定閾值一半的差,相對軟閾值函數(shù),改進閾值函數(shù)減小了高頻系數(shù)大于固定閾值時的恒定誤差;高頻系數(shù)介于0.6λ與λ之間時,通過式(14)有效提升高頻系數(shù);當高頻系數(shù)小于0.6倍固定閾值時,將估計的高頻系數(shù)置為0。與傳統(tǒng)閾值函數(shù)相比,本文算法分三段處理,整體提高估計出的高頻系數(shù),更好分理出噪聲分量,有效避免了震蕩現(xiàn)象,并減少了閾值函數(shù)的恒定偏差。
本文采用改進雙邊濾波的Retinex算法對小波分解后的低頻圖像進行增強,采用改進閾值函數(shù)處理分解后的高頻系數(shù),再通過小波逆變換得到重構(gòu)圖像,如圖2所示,圖2(a)為含少量噪聲圖像,圖2(b)為重構(gòu)圖像。
圖2 含噪圖像及重構(gòu)后圖像對比
在采用改進雙邊濾波的Retinex算法對低頻系數(shù)處理和改進閾值函數(shù)對高頻系數(shù)去噪后,重構(gòu)后的圖像存在泛灰現(xiàn)象,本文采用三段分段性線性變換[15]的方法提升圖像對比度。三段分段性線性變換公式如下:
其中,f(i,j)為對比度增強后的輸出圖像,d(i,j)為輸入圖像,k1,k2,k3表示三段變換的斜率,其表達式如下:
其中(a,b),(c,d)表示分段函數(shù)斜率發(fā)生變化的點。
分段性線性變換用法靈活,可根據(jù)不同特征圖像的需要設(shè)置不同分段點,增強感興趣區(qū)域細節(jié),也可抑制不感興趣區(qū)域。圖3所示為分段性變換前后圖像直觀對比及直方圖分布情況,圖3(a)為小波重構(gòu)之后圖像,對比圖2(a)可以看到使用改進雙邊濾波的Retinex算法后圖像得到整體增強,但兩側(cè)墻壁、地面與中間門框處存在泛灰現(xiàn)象,對比度下降。因而本文將灰度值在[0,255]范圍的圖像以3/8,3/4為節(jié)點劃分為三段,[0,3×255/8]對應(yīng)圖像較暗區(qū)域,[3×255/8,3×255/4]對應(yīng)圖像灰度值居中區(qū)域,[3×255/4,255]對應(yīng)圖像較亮區(qū)域。為增強對比度,同時避免對較亮區(qū)域壓縮后產(chǎn)生的過增強現(xiàn)象,本文選擇對暗區(qū)域灰度值進行少量壓縮,對中間區(qū)域灰度值進行拉伸,較亮區(qū)域灰度值保持不變。
圖3 分段性變換前后圖像及直方圖對比
對比圖3(a)與圖3(c),分段性變換前,圖像中間處較亮的門框區(qū)域?qū)Ρ榷容^好,兩側(cè)墻壁與地面泛灰,分段性變換后,中間處亮區(qū)域?qū)Ρ榷炔蛔?,整體對比度得到較好增強。對比圖3(b)與圖3(d),分段性變換前圖像灰度值主要集中在[100,150]之間,分段性變換之后,較暗區(qū)域像素分布增加,相對均勻的分布在整個灰度之間。分段性線性變換增強了圖像對比度,有效改善圖像重構(gòu)后的泛灰現(xiàn)象。
本文將圖像增強和去噪的思想相結(jié)合,為了驗證本文算法的有效性,從圖像增強和去噪角度分別對實驗結(jié)果進行分析。對添加了少量高斯白噪聲的圖像進行仿真實驗。在驗證本文去噪算法的有效性時,對小波分解后的高頻系數(shù)分別采用軟閾值函數(shù)、硬閾值函數(shù)、文獻[14]閾值函數(shù)及本文改進閾值函數(shù)處理后進行對比,對小波分解后低頻系數(shù)全部采用本文改進雙邊濾波的Retinex算法。在驗證本文增強算法有效性時,將本文算法實驗結(jié)果分別與單尺度Retinex(SSR)算法和基于雙邊濾波Retinex(BSSR)算法相比較。并采用主觀視覺觀察和客觀數(shù)據(jù)分析的方法對上述算法從增強和去噪的角度進行對比評估。
實驗平臺為Windows8.1,MATLAB R2016a,Code:Blocks IDE。本實驗中,低頻系數(shù)采用改進雙邊濾波的Retinex算法估計光照圖像,窗口參數(shù)為:p=3(濾波窗口大小為7),光照圖像調(diào)節(jié)參數(shù)k=0.5,亮度差尺度參數(shù)σr=0.001,對高頻系數(shù)采用改進閾值函數(shù)方法,分解與重構(gòu)的小波基函數(shù)為sym4。分段性線性變換參數(shù)為:a=3L/8,b=L/4,c=3L/4,d=3L/4(L=255)。
針對光照圖像調(diào)節(jié)系數(shù)k的取值,通過分析式(5)及文獻[16]可知,當k取值接近0時,式(5)未起到消除光照圖像作用,得到的反射圖像與原圖像相近;當k取值接近1時,將光照估計部分完全從原圖像中消除,會產(chǎn)生圖像不自然現(xiàn)象。本文為保證在一定程度上消除光照圖像的同時避免圖像不自然現(xiàn)象,將光照圖像調(diào)節(jié)系數(shù)k取值為0.5。
本文針對小波基的正交性、緊支性、對稱性、平滑性、消失矩陣階數(shù)五方面特性對小波基進行選取。常用的小波有Haar小波、Biorthogonal小波、Daubechies小波、Symlet小波等。Haar小波是具有對稱性的緊支正交實數(shù)小波,計算量很小,但是光滑性太差,在重構(gòu)時會產(chǎn)生“鋸齒”現(xiàn)象。Biorthogonal小波是具有對稱性的緊支正交小波,但該小波系中各小波不具有正交性,只具有雙正交性,因此計算的簡單性和計算時間會受到影響。Daubechies小波是一類緊支正交小波,但該類小波對稱性很差,導(dǎo)致信號在分解與重構(gòu)時相位失真嚴重。Symlet小波是近似對稱的一類緊支正交小波函數(shù),在上述對稱性不足之處進行了改進,使該小波系在處理信號時很大程度的避免不必要的失真。通過對小波系特性的分析,采用不同小波系的小波基對house圖像進行實驗,以原始圖像和重構(gòu)圖像的信噪比作為評價標準,實驗結(jié)果如表1所示。
表1 采用不同小波基對house圖像處理結(jié)果
觀察表1可知,信噪比數(shù)值隨著N(小波函數(shù)消失矩階數(shù))的增大而減小,圖像在分解重構(gòu)時失真嚴重。通過實驗驗證和綜合分析上述小波系的不足及Symlet小波系針對對稱性的改進,可知Symlet小波系的綜合性較好,故本文采用sym4小波基進行分解重構(gòu)。
為了驗證去噪算法的有效性,分別對含少量噪聲的house(大小為768×512),room(大小為512×512)圖像進行實驗。同時為了保證實驗結(jié)果的準確性,對小波分解后低頻系數(shù)統(tǒng)一采用本文基于改進雙邊濾波的Retinex算法,在高頻系數(shù)處分別采用軟閾值函數(shù)、硬閾值函數(shù)、文獻[14]函數(shù)及本文算法,重構(gòu)后均采用分段性線性變換方法增強圖像對比度。實驗結(jié)果如圖4、圖5所示。為了更直觀突出去噪對比效果,采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)對去噪后圖像進行數(shù)據(jù)對比。對比結(jié)果如表2,表3所示。PSNR值越大表示圖像去噪效果越好。峰值信噪比公式定義如下:
其中,M×N為圖像大小,gj,k為去噪前圖像,fj,k為去噪后圖像,MSE為圖像均方差。
表2 不同去噪算法對house圖像去噪數(shù)據(jù)對比
表3 不同去噪算法對room圖像去噪數(shù)據(jù)對比
由表2、表3數(shù)據(jù)可知,本文改進閾值函數(shù)去噪方法的PSNR值相對軟閾值法、硬閾值法及文獻[14]閾值法較高,具有較好的去噪效果,同時通過主觀視覺觀察可看出本文去噪方法在消除震蕩現(xiàn)象的同時更好地保留圖像細節(jié)信息。
圖4 不同去噪算法對house圖像處理結(jié)果
圖5 不同去噪算法對room圖像處理結(jié)果
圖6 不同算法對boat圖像增強結(jié)果
圖7 不同算法對dog圖像增強結(jié)果
為了驗證增強算法的有效性,分別對含少量噪聲的boat圖像(大小為252×213)、dog圖像(大小為252×213)進行實驗。實驗結(jié)果圖像如圖6、圖7所示。
從主觀視覺觀察對比圖6、圖7可知,單尺度Retinex算法對含噪圖像處理后易產(chǎn)生光暈現(xiàn)象和泛灰現(xiàn)象,如圖7(b)自行車輪子上方邊緣處產(chǎn)生光暈現(xiàn)象,圖6(b)中圖像整體泛灰,遠處岸邊與湖水對比度不明顯,圖7(b)中車圈與動物身體及地面對比度低?;陔p邊濾波的Retinex算法,加入了亮度差尺度參數(shù),有效避免了光暈現(xiàn)象。但上述兩種算法對含噪圖像增強的同時,放大了圖像的噪聲,如圖6(b)、圖6(c)中水面與遠處房子處,圖7(b)、圖7(c)中自行車輪子下方暗區(qū)域,均有明顯的噪聲放大現(xiàn)象。文獻[5]算法在避免了光暈現(xiàn)象的同時更好地保留了圖像的細節(jié)信息,但通過觀察圖6(d)、圖7(d)可知,依然存在輕微泛灰現(xiàn)象。對比本文算法,對含噪圖像增強之后,在避免了光暈現(xiàn)象的同時改善了泛灰現(xiàn)象,增強了圖像的對比度,并且有效去除了圖像噪聲。
從客觀數(shù)據(jù)分析角度,本文采用均值、方差、信息熵[17-18]作為圖像質(zhì)量評價標準。均值評價圖像的整體亮度,圖像整體亮度越高,均值越大。方差評價圖像對比度,圖像對比度越高,方差越大。信息熵用于評價圖像的信息含量,圖像信息含量越豐富,圖像的信息熵越大。均值、方差、信息熵評價公式分別如下。
其中,M,N為圖像大小,f(i,j)為圖像像素值,pi為圖像中灰度級為i的點出現(xiàn)的概率。
不同算法對boat圖像、dog圖像的增強結(jié)果在均值、方差、信息熵的數(shù)據(jù)對比如表4、表5所示。
表4 不同算法對boat圖像增強數(shù)據(jù)對比
表5 不同算法對dog圖像增強數(shù)據(jù)對比
由表4、表5可知,均值方面,表4中由于boat圖像泛白,亮度較高,均值較大。為避免圖像較亮區(qū)域產(chǎn)生過增強現(xiàn)象,本文算法對暗區(qū)域像素值進行少量壓縮,亮區(qū)域像素值保持不變,所以本文算法均值較其他三種算法相對較低。方差方面,本文算法方差均高于其他三種算法,由于單尺度Retinex算法與文獻[5]算法存在泛灰現(xiàn)象,方差相對較低,基于雙邊濾波的Retinex算法與原圖像對比度相近,本文算法改善了泛灰現(xiàn)象,比較其他三種算法方差均有大幅度提升。信息熵方面,本文算法的信息熵值均高于其他三種算法,在增強后圖像保有較高信息量??剂烤?、方差、信息熵等評價因素綜合分析可知,本文算法具有較好增強效果。
在算法復(fù)雜度分析方面,單尺度Retinex算法和基于雙邊濾波Retinex算法中運算頻率最高處均為光照圖像估計部分,因此上述兩種算法具有相同的算法復(fù)雜度,且估計光照圖像部分決定著算法的運算效率。單尺度Retinex算法中采用高斯核函數(shù)進行光照圖像估計,由于只考慮了像素點空間距離的度量,運算效率較高。基于雙邊濾波的Retinex算法中采用雙邊濾波代替高斯核函數(shù)進行光照圖像估計,在考慮了像素點空間距離的度量的同時考慮了像素點間像素值的差異,運算效率相對較低。本文算法在低頻系數(shù)處采用改進雙邊濾波代替高斯核函數(shù)進行光照圖像估計,在空間上忽略了鄰域內(nèi)距離中心像素點較遠點的處理,提升了一定的運算效率,同時在高頻系數(shù)處采用改進閾值函數(shù)對圖像進行去噪處理,有效去除了圖像噪聲,因此算法總體運算效率有所降低。單尺度Retinex算法、基于雙邊濾波Retinex算法及本文算法的運算復(fù)雜度如下。
(1)單尺度Retinex算法
時間復(fù)雜度:T(n)=O(n4+5n2)=O(n4)
空間復(fù)雜度:S(n)=O(1)
(2)基于雙邊濾波Retinex算法
時間復(fù)雜度:T(n)=O(n4+5n2)=O(n4)
空間復(fù)雜度:S(n)=O(1)
(3)本文算法
時間復(fù)雜度:T(n)=O(2n4+n2+1)=O(n4)
空間復(fù)雜度:S(n)=O(1)
為了更直觀地觀察各算法的運算效率,比較各算法的實時性,對單尺度Retinex算法、基于雙邊濾波的Retinex算法及本文算法處理單幅圖像的耗時情況進行了測試,實驗數(shù)據(jù)如表6所示。觀察表6可知本文算法運算效率較低于上述兩種傳統(tǒng)算法。
表6 不同算法對dog圖像、boat圖像耗時對比
本文結(jié)合圖像增強、去噪和小波變換的角度,提出了基于改進雙邊濾波的Retinex算法和改進閾值函數(shù)算法。采用改進雙邊濾波Retinex算法對小波分解后的低頻圖像進行光照圖像估計,并得到反射圖像,采用改進閾值函數(shù)得到小波分解后新的高頻系數(shù),去除圖像噪聲。運用分段性線性變化方法增強重構(gòu)后圖像的對比度。實驗結(jié)果表明,在圖像去噪方面,本文算法的改進閾值函數(shù)比軟閾值函數(shù)、硬閾值函數(shù)及文獻[14]函數(shù)具有更好的去噪效果,在圖像增強方面,本文算法與單尺度Retinex算法、基于雙邊濾波Retinex算法和文獻[5]算法相比,在消除了光暈現(xiàn)象和泛灰現(xiàn)象的同時具有較好的去噪效果,避免了噪聲放大的問題。本文算法具有普適性,但未對特定領(lǐng)域圖像進行有針對性實驗,未有效滿足固定領(lǐng)域需求,今后工作考慮將圖像增強應(yīng)用到某一特定領(lǐng)域,如醫(yī)學(xué)圖像處理、遙感圖像、機器識別等做有針對性的圖像處理。