陶佩,付青青,吳愛(ài)平 (長(zhǎng)江大學(xué)電子信息學(xué)院,湖北 荊州 434023)
在實(shí)施成像過(guò)程中,自然光照環(huán)境、成像設(shè)備等因素會(huì)導(dǎo)致成像對(duì)比度過(guò)低,引起圖像細(xì)節(jié)模糊,從而影響到工程人員對(duì)目標(biāo)特征的分析評(píng)價(jià)[1]。直方圖均衡(histogram equalization, HE)[2~4]是一種常見(jiàn)的圖像對(duì)比度增強(qiáng)方法,因簡(jiǎn)單快速等特點(diǎn)而備受青睞。該方法通過(guò)將原始圖像的灰度直方圖從比較集中的某個(gè)灰度區(qū)間變成全部范圍內(nèi)的均勻分布,達(dá)到對(duì)比度增強(qiáng)的目的。傳統(tǒng)的全局直方圖均衡(gobal histogram equalization, GHE)利用圖像的累積概率分布函數(shù)(cumulative distribution function, CDF)對(duì)整幅圖像作單一映射, 拓展了直方圖密集區(qū)域的對(duì)比度,從整體上提高了圖像的對(duì)比度,但也壓縮了直方圖稀疏區(qū)域的對(duì)比度,造成部分背景細(xì)節(jié)丟失[5]。局部直方圖均衡(local histogram equalization, LHE)[6,7],則根據(jù)圖像局部特性計(jì)算灰度變換函數(shù)來(lái)進(jìn)行直方圖均衡,對(duì)局部細(xì)節(jié)增強(qiáng)十分有效,但也容易造成過(guò)度增強(qiáng)。如子塊重疊直方圖均衡(BOHE)[3,6,8],雖然能明顯地提高局部圖像對(duì)比度,但其同時(shí)也引起了嚴(yán)重的噪聲和偽影痕跡。此外,該算法在執(zhí)行時(shí)需要耗費(fèi)過(guò)長(zhǎng)的時(shí)間。Kim等[9]在提出的POSHE中通過(guò)增大移動(dòng)步長(zhǎng)加速了模板的移動(dòng)過(guò)程,極大地提高了算法的運(yùn)行效率,被廣泛用于實(shí)時(shí)圖像處理[10]。然而,它仍然無(wú)法避免過(guò)度增強(qiáng)效應(yīng)。
Pizer等[11]率先提出了一種自適應(yīng)限定對(duì)比度直方圖均衡方法(CLAHE)來(lái)解決過(guò)度增強(qiáng)引發(fā)的噪聲放大和圖像畸變等問(wèn)題。該方法根據(jù)像素轉(zhuǎn)換后的灰度值與其CDF成正比的原則,通過(guò)對(duì)原始直方圖進(jìn)行閾值剪切來(lái)降低圖像的CDF斜率,從而來(lái)限定對(duì)比度增強(qiáng)的程度,對(duì)增強(qiáng)水下圖像和醫(yī)學(xué)圖像的質(zhì)量效果顯著。但這種單一的對(duì)比度限制方法在抑制噪聲的同時(shí)也阻礙了圖像細(xì)節(jié)的增強(qiáng)。為此,筆者提出了一種限制對(duì)比度的快速POSHE圖像增強(qiáng)算法(簡(jiǎn)稱(chēng)快速POSHE算法):通過(guò)對(duì)傳統(tǒng)POSHE算法中子塊直方圖的創(chuàng)建方式與模板的移動(dòng)路徑進(jìn)行改進(jìn),進(jìn)一步提高實(shí)時(shí)圖像處理的效率;再將對(duì)比度限制的方法引入到快速POSHE算法中,對(duì)每個(gè)子塊先進(jìn)行限制對(duì)比度剪切處理,而后執(zhí)行快速POSHE算法。該算法在削弱過(guò)度增強(qiáng)時(shí)可顯示圖像隱藏的細(xì)節(jié)信息,使圖像更加真實(shí)自然。
在GHE中,圖像的灰度轉(zhuǎn)換函數(shù)T(r)表示如下[12,13]:
(1)
(2)
式中:p(r)表示輸入圖像灰度級(jí)為r的概率密度;nr是灰度級(jí)r上的像素總數(shù);n是圖像的像素總數(shù);L是總的灰度級(jí)數(shù)。
式(1)右邊為圖像的CDF,這種灰度映射的過(guò)程稱(chēng)之為直方圖均衡。POSHE算法是在圖像的小區(qū)域里進(jìn)行直方圖均衡操作。通過(guò)一個(gè)模板來(lái)規(guī)定子區(qū)域的范圍(見(jiàn)圖1),模板尺寸為3×3,其覆蓋的第1個(gè)子區(qū)域包含的像素為a,b,c,d,e,f,g,h和i。假定模板的移動(dòng)步長(zhǎng)為2,算法的具體執(zhí)行過(guò)程如下[9]:①模板每次向右移動(dòng)一個(gè)步長(zhǎng)至下一個(gè)子區(qū)域(如第2個(gè)子區(qū)域包含像素c,f,i,j,k,l,o,p,q),并對(duì)其每次覆蓋的子區(qū)域作直方圖均衡處理;②重復(fù)執(zhí)行①操作直至模板移動(dòng)到該行最右邊;③ 當(dāng)每行遍歷完后向下移動(dòng)一個(gè)步長(zhǎng)并轉(zhuǎn)至該行左邊,進(jìn)行②操作,直至模板遍歷完整個(gè)圖像;④累計(jì)每個(gè)像素每次直方圖均衡后的灰度值,其累計(jì)值與累計(jì)頻率的模即為最終得到的輸出值。
POSHE算法讓每個(gè)像素依據(jù)自身鄰域的CDF來(lái)進(jìn)行灰度轉(zhuǎn)換,彌補(bǔ)了GHE難以適應(yīng)圖像局部特性的缺陷,顯著地提高了圖像的局部對(duì)比度。然而,這種均衡效果也極容易造成過(guò)度增強(qiáng),導(dǎo)致處理后的圖像產(chǎn)生嚴(yán)重的噪聲。
鑒于在POSHE算法的執(zhí)行過(guò)程中相鄰子塊間存在大面積的區(qū)域被重復(fù)直方圖均衡化,筆者參考文獻(xiàn)[14]中改進(jìn)BOHE算法提出了一種快速POSHE算法,通過(guò)減小子塊間部分區(qū)域不必要的重復(fù)操作,降低算法復(fù)雜度,從而提高運(yùn)行效率。
在模板的移動(dòng)過(guò)程中,相鄰2子塊直方圖之間的關(guān)系如式(3)所示:
(3)
改進(jìn)的模板移動(dòng)方式如圖2所示。模板的大小為3×3,移動(dòng)步長(zhǎng)為2,當(dāng)模板移動(dòng)到第1行的右端時(shí),向下移動(dòng)1個(gè)步長(zhǎng)到該行右端,然后再?gòu)挠疫呉苿?dòng)到左邊,依次循環(huán)。這種形如蛇狀的路線解決了上一行與下一行的前后子區(qū)域互不關(guān)聯(lián)的問(wèn)題,使模板在縱向移動(dòng)時(shí)也可以使用快速子直方圖的創(chuàng)建方式。結(jié)合這2種改進(jìn),只需要以整幅圖像的第1個(gè)子區(qū)域的直方圖為基準(zhǔn),其余的子區(qū)域在創(chuàng)建直方圖時(shí)都只需要更新與前一個(gè)模板覆蓋區(qū)域不重疊部分的直方圖。由此可知,改進(jìn)的模板移動(dòng)方式進(jìn)一步減小了子直方圖生成時(shí)需要統(tǒng)計(jì)的像素?cái)?shù)量。
為了驗(yàn)證快速POSHE算法的性能,將其與傳統(tǒng)POSHE算法進(jìn)行仿真測(cè)試并比較算法的時(shí)間與效果。設(shè)置模板為128×128,移動(dòng)步長(zhǎng)為16。通過(guò)計(jì)算增強(qiáng)圖像之間的均方誤差 (mean square error, MSE)可以直觀地比較2種算法的增強(qiáng)結(jié)果是否一致。式(4)為MSE的定義:
(4)
式中:εmse為均方誤差,1;g1和g2表示傳統(tǒng)與快速POSHE算法增強(qiáng)的圖像;M×N表示圖像的尺寸。
在MATLAB中測(cè)試眾多不同尺寸的圖像以得到更精確的時(shí)間比較結(jié)果,選取部分結(jié)果進(jìn)行展示。圖3顯示了傳統(tǒng)和快速POSHE算法仿真的圖像結(jié)果,表1記錄了增強(qiáng)圖像測(cè)試的時(shí)間與εmse。記錄的時(shí)間均為同一條件下反復(fù)測(cè)試的結(jié)果。仿真表明, 隨著圖像尺寸的增大,時(shí)間減少的速率也越來(lái)越大;同時(shí),εmse表明了快速POSHE算法與傳統(tǒng)POSHE算法對(duì)圖像的增強(qiáng)效果一致。
表1 增強(qiáng)圖像的測(cè)試時(shí)間與MSE結(jié)果
CLAHE[11]是一種削弱過(guò)度增強(qiáng)的重要技術(shù)。像素經(jīng)直方圖均衡轉(zhuǎn)換后的灰度值正比于其CDF,對(duì)式(1)左右兩邊求導(dǎo)[16]:
(5)
式(5)左邊為CDF斜率,右邊是r的概率密度,由此可以得出結(jié)論:圖像的對(duì)比度增強(qiáng)程度與其概率密度成正比。因此,限定對(duì)比度主要是通過(guò)設(shè)定每個(gè)灰度級(jí)的密度上限閾值,以實(shí)現(xiàn)圖像CDF斜率的減小,從而控制對(duì)比度增強(qiáng)。當(dāng)一個(gè)灰度級(jí)上擁有的像素?cái)?shù)目超過(guò)設(shè)定的閾值時(shí),多余的數(shù)目將被剪切,并分配給其余不足的灰度級(jí)上。圖4顯示了直方圖的剪切與重分配的結(jié)果,圖4(b)中藍(lán)色曲線表示原直方圖,陰影部分的“1”和“2”表示灰度數(shù)目超過(guò)閾值的區(qū)域,它們被分配到陰影部分的“3”,“4”,“5”區(qū)域,形成剪切后的直方圖曲線,即圖4(b)中黑色曲線所示;圖4(c)中的藍(lán)色與黑色曲線則分別表示圖像剪切前后的CDF,由此可知,直方圖剪切技術(shù)使CDF在原來(lái)陡峭的地方變平緩,故其對(duì)比度增強(qiáng)程度會(huì)減小,過(guò)度增強(qiáng)也得以削弱;圖4(d)中矩形標(biāo)記區(qū)域出現(xiàn)的大量斑點(diǎn)噪聲在圖4(e)中得到了抑制;圖4(d)呈現(xiàn)出一種不自然的視覺(jué)效果,而圖4(e)則更符合人的視覺(jué)感受,究其原因,對(duì)比度過(guò)度拉伸使增強(qiáng)的結(jié)果偏離真實(shí);相比之下,圖4(e)增強(qiáng)的細(xì)節(jié)更加細(xì)膩清晰。
將限定對(duì)比度引入到快速POSHE算法,以解決過(guò)度增強(qiáng)引發(fā)的噪聲等問(wèn)題。根據(jù)POSHE算法特性,像素的灰度轉(zhuǎn)換函數(shù)是由局部子塊的CDF決定的。因此,在各個(gè)子塊被快速POSHE算法處理前,先進(jìn)行限定對(duì)比度的直方圖剪切與重分配,具體步驟如下[17]:
1)定義原圖像為M×N,使用的模板為m×n。計(jì)算子塊中每個(gè)灰度級(jí)的平均像素?cái)?shù)目α,即:
(6)
根據(jù)α設(shè)置合適的灰度級(jí)上限閾值β。
2)定義Excess為子塊中超出的閾值總數(shù),其計(jì)算方式為Excess=Excess+h(n) -β, 其中h(n) (n=0, 1, 2, …,L-1)為每個(gè)灰度級(jí)上的像素?cái)?shù)量。
(1) 當(dāng)h(n) >β,令Excess=Excess,h(n) =β。
(2) 當(dāng)β-q (3) 當(dāng)h(n) <β-q, 令Excess=Excess-q,h(n) =h(n) +q。 4)如果此時(shí)還有超出的像素?cái)?shù)沒(méi)有被分配完,將剩余的數(shù)目均勻地分布到像素?cái)?shù)目不足閾值的灰度上,即: 當(dāng)Excess> 0 且h(n) <β時(shí), 令h(n) =h(n)+1,Excess=Excess-1,直到Excess= 0。 對(duì)比度限定的效果依賴(lài)于β的選取[18],β越大,則對(duì)比度增強(qiáng)的程度就限制得越?。环粗拗频迷酱?。顯然,β一定大于α。但是,過(guò)多的限制對(duì)比度增強(qiáng)不利于圖像細(xì)節(jié)的顯示。最佳方法是結(jié)合圖像中存在噪聲級(jí)別的先驗(yàn)知識(shí)來(lái)自適應(yīng)選擇β。通常,使用的模板越小,POSHE算法產(chǎn)生的過(guò)度增強(qiáng)越嚴(yán)重,噪聲隨之增多。因此,閾值的設(shè)定應(yīng)當(dāng)是隨著子塊的減小而減小。 圖5展示了限定對(duì)比度的快速POSHE算法以及BOHE算法和傳統(tǒng)POSHE算法仿真結(jié)果。圖5(a)中,原圖像Brain背景區(qū)域的灰度較低,局部圖像的灰度受噪聲點(diǎn)的影響極易被過(guò)度提高,因此,BOHE算法和傳統(tǒng)POSHE算法均產(chǎn)生嚴(yán)重的噪聲,同時(shí),圖中目標(biāo)區(qū)域的對(duì)比度較大,較暗區(qū)域的灰度也易被過(guò)度增強(qiáng),導(dǎo)致BOHE算法和傳統(tǒng)POSHE算法目標(biāo)物的內(nèi)部結(jié)構(gòu)反而更模糊;經(jīng)過(guò)了限定對(duì)比度處理之后,限定對(duì)比度的快速POSHE算法有效地克制了噪聲的增加,也展示出大腦內(nèi)部更多的細(xì)節(jié)信息。圖5(b)中,BOHE算法雖然極大地提高了原圖像Ball的亮度,但依然引起大量的斑點(diǎn)噪聲和球面不自然的反光現(xiàn)象;傳統(tǒng)POSHE算法甚至還產(chǎn)生輕微的塊效應(yīng);限定對(duì)比度的快速POSHE算法則比較適度地提高了對(duì)比度,揭示的局部細(xì)節(jié)更加自然。 圖5(c)中,由于霧霾造成了原始圖像People對(duì)比度過(guò)低,致使圖像不清晰;BOHE算法和傳統(tǒng)POSHE算法通過(guò)增加對(duì)比度明顯地提高了圖像的可見(jiàn)度,但人臉、地面和上空區(qū)域卻發(fā)生一定程度的畸變,過(guò)度增強(qiáng)是產(chǎn)生畸變的首要原因;限定對(duì)比度的快速POSHE算法增強(qiáng)的圖像中不存在這些畸變現(xiàn)象,并呈現(xiàn)出一種良好的去霧結(jié)果。圖5(d)中原圖像Boat中發(fā)生過(guò)度增強(qiáng)最明顯的地方在于云層。圖5(f)中,對(duì)于原圖像Airfield,大量的噪聲和過(guò)飽和的偽影破壞了BOHE算法和傳統(tǒng)POSHE算法圖像中的細(xì)節(jié),導(dǎo)致圖像質(zhì)量更差;而限定對(duì)比度的快速POSHE算法增強(qiáng)的對(duì)比度更適合顯示圖像細(xì)節(jié)。 通過(guò)計(jì)算增強(qiáng)圖像的峰值信噪比(簡(jiǎn)稱(chēng)PSNR)[15]和特征相似度指數(shù)(簡(jiǎn)稱(chēng)FSIM)[19]來(lái)評(píng)價(jià)限定對(duì)比度的快速POSHE算法性能: (7) (8) 式中:Rpsn為峰值信噪比,1;Ifsm為圖像特征相似度指數(shù),1;Ω表示圖像的空間域;x和y分別為原始圖像和增強(qiáng)的圖像;PC表示圖像的相位一致性信息,PCm(x,y)=max(PC(x),PC(y));SPC(x,y)和SG(x,y)是x和y的相位相似值和梯度相似度值[20,21]: (9) (10) 式中:T1為一個(gè)防止分母為0的常量,其值一般設(shè)置為0.0001;T2的作用和T1一樣。 通常,F(xiàn)SIM模型用來(lái)衡量增強(qiáng)圖像與原始圖像的失真度,取值范圍為[0,1]。FSIM值越大,增強(qiáng)圖像的失真度越小,質(zhì)量就越高。 表2記錄了圖4中增強(qiáng)圖像的PSNR和FSIM以及各算法的運(yùn)行時(shí)間。從表2中可以看出,每一幅圖像由限定對(duì)比度的快速POSHE算法得到的PSNR和FSIM均大于前2種算法中的值,客觀地表明了限定對(duì)比度的快速POSHE算法更有利于保持圖像真實(shí)度。結(jié)合主觀視覺(jué)感受,印證了限定對(duì)比度的快速POSHE算法在通過(guò)提高對(duì)比度來(lái)增強(qiáng)圖像細(xì)節(jié)時(shí)有效地避免了過(guò)度增強(qiáng)。 同時(shí),表2也顯示了限定對(duì)比度的快速POSHE算法的運(yùn)行時(shí)間最少,進(jìn)一步證明了該算法具有極高的性能。 表2 PSNR, FSIM和算法運(yùn)行時(shí)間t的比較 筆者提出了一種限制對(duì)比度的快速POSHE算法,該算法通過(guò)對(duì)POSHE中局部直方圖的創(chuàng)建方式以及模板的移動(dòng)方向進(jìn)行改進(jìn),極大地降低了算法的復(fù)雜度。仿真試驗(yàn)表明,該算法在處理大尺寸圖像時(shí)能明顯提高算法的效率。此外,將限定對(duì)比度方法引入至快速POSHE,通過(guò)控制子塊的對(duì)比度增強(qiáng)程度能有效地抑制噪聲的產(chǎn)生。主觀與客觀的評(píng)價(jià)均表明,該算法不僅可以顯示隱藏的圖像細(xì)節(jié),還較好地保持了圖像的真實(shí)度。4 試驗(yàn)結(jié)果及分析
4.1 主觀評(píng)價(jià)
4.2 客觀評(píng)價(jià)
5 結(jié)語(yǔ)