王利娟,常 霞,任 旺
(1.北方民族大學(xué)寧夏智能信息與大數(shù)據(jù)處理重點(diǎn)實(shí)驗(yàn)室,寧夏 銀川 750021;2.北方民族大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院,寧夏 銀川 750021;3.北方民族大學(xué)算機(jī)科學(xué)與工程學(xué)院,寧夏 銀川 750021)
高質(zhì)量的彩色數(shù)字圖像對(duì)于描述圖像信息內(nèi)容具有重要價(jià)值。在不良的捕獲環(huán)境下,會(huì)捕獲到一些低對(duì)比度、色偏嚴(yán)重的低質(zhì)量圖像。利用增強(qiáng)算法改善圖像質(zhì)量成為重中之重。圖像增強(qiáng)技術(shù)在獲取視覺(jué)情報(bào)信息、目標(biāo)追蹤和航空航天遙感等領(lǐng)域具有重要的價(jià)值。
直方圖均衡化算法[1]是眾所周知的傳統(tǒng)空域類圖像增強(qiáng)方法。HE算法一方面旨在輸出圖像的直方圖呈現(xiàn)均勻的分布,另一方面旨在輸出圖像的亮度保持。近年來(lái),對(duì)于HE算法提出了大量的改進(jìn)算法。算法基于均衡化思想可以被劃分為全局直方圖均衡與局部直方圖均衡兩大類?;谌诸愃惴ㄊ峭ㄟ^(guò)加法減法等變換算法對(duì)圖像灰度值直接調(diào)整。Lin等人[2]提出的平均加權(quán)直方圖均衡化算法(AvHeq)很好的保持了圖像的亮度信息,但是AvHeq算法并未考慮圖像的色彩信息。基于局部類算法則利用圖像局部均值、方差、梯度等信息進(jìn)行局它的原始直方圖呈現(xiàn)兩端趨勢(shì),灰度級(jí)大多占部區(qū)域增強(qiáng),并以單個(gè)像素的鄰域灰度分布信息設(shè)計(jì)映射函數(shù),使得鄰域不斷的逐像素平移。Ganesan等人[3]提出利用子塊完全重疊來(lái)增強(qiáng)人像面部的細(xì)節(jié)內(nèi)容,算法有效地減少了局部光照的不良影響,但算法中“塊效應(yīng)”影響難以消除。Minjie等人通過(guò)局部加權(quán)平滑算法和局部最小值算法將直方圖自適應(yīng)地分割成背景和目標(biāo)兩個(gè)區(qū)域的直方圖[4],算法有效地避免了過(guò)增強(qiáng)現(xiàn)象,但該算法計(jì)算量大且無(wú)法平衡輸入圖像和輸出圖像之間的亮度信息。Zou等人[5]提出一種增強(qiáng)圖像亮度的同時(shí),校正圖像顏色信息的白平衡算法;以及徐義春等人[6]提出了保持色調(diào)不變的圖像增強(qiáng)算法,算法在圖像的紋理細(xì)節(jié)恢復(fù)方面均未取得滿意的效果。Veluchamy等人[7]基于修正直方圖分布函數(shù)的均衡化思想提出利用伽馬函數(shù)來(lái)修正累積分布函數(shù),史學(xué)超等人基于直方圖剪切的思想提出改進(jìn)限制對(duì)比度自適應(yīng)直方圖均衡化算法(CLAHE)[8],算法有效地避免了偽像的產(chǎn)生。但無(wú)論是修正函數(shù)或剪切函數(shù)的選擇都極其復(fù)雜。其它包括結(jié)合其它算法的直方圖算法,高古學(xué)等人提出了CLAHE與帶色彩恢復(fù)因子的多尺度Retinex的圖像增強(qiáng)算法[9],但輸出結(jié)果中依然存在局部信息丟失現(xiàn)象。
上述圖像增強(qiáng)方法[2-9]在提高圖像對(duì)比度的同時(shí),往往會(huì)造成顏色信息的丟失。為改善圖像清晰度的同時(shí)且能大幅度的提高圖像的色彩信息。論文提出一種基于加權(quán)直方圖均衡化算法。算法利用灰度級(jí)的分布特點(diǎn)構(gòu)造新的均衡化映射函數(shù),為減少傳統(tǒng)HE算法中第一次均衡之后出現(xiàn)的灰度級(jí)合并造成的部分細(xì)節(jié)信息丟失問(wèn)題,利用不同的映射函數(shù)對(duì)直方圖進(jìn)行二次映射。通過(guò)顏色幅度飽和度信息的拉伸,彌補(bǔ)亮度通道均衡化之后出現(xiàn)的去飽和和色彩損失現(xiàn)象。
輸入RGB格式的彩色圖像。圖像可以被表示為
I(u,v)={R(u,v),G(u,v),B(u,v)}
(1)
其中(u,v)表示像素的位置坐標(biāo),并且滿足u=1,…,U,v=1,…,V。(U,V)是圖像的寬度和高度。對(duì)于對(duì)比度低、有色偏的彩色降質(zhì)圖像,據(jù)中間區(qū)域。顏色幅度拉伸通常被用作一種預(yù)處理技術(shù),可以恢復(fù)因不良環(huán)境而丟失的部分信息。將R,G和B三個(gè)通道信息盡可能的拉伸到最大范圍。拉伸公式如下所示:
(2)
其中min({R(u,v)})和max({R(u,v)})表示各個(gè)通道中像素的最小值和最大值。
RGB模型是基于紅、綠、藍(lán)三基色的混合疊加而呈現(xiàn)的色彩。R,G和B之間的平衡因增強(qiáng)算法極易被破壞。HSV色彩空間是一種基于人類視覺(jué)效應(yīng)的更加直觀的六棱椎體模型。色度(H)會(huì)隨著角度的變化而變化,飽和度(S)的大小決定了圖像顏色接近光譜的程度,明度信息(V)信息與圖像的亮度保持有著直接的聯(lián)系。對(duì)于圖像處理和模式識(shí)別,HSV空間在視覺(jué)特性上比其它顏色空間更具有直觀性[10]。論文將RGB格式的圖像轉(zhuǎn)至HSV空間中,并對(duì)V通道和S通道進(jìn)行算法增強(qiáng),轉(zhuǎn)換函數(shù)[11]
(3)
V=max
(4)
(5)
其中,max和min表示R,G,B的最大值和最小值。
圖像的直方圖能顯示圖像像素值的分布特征,通過(guò)對(duì)直方圖的優(yōu)化,可以使得輸出圖像的直方圖既保持輸入圖像直方圖形狀又均勻分布在整個(gè)區(qū)間。直方圖均衡化算法通過(guò)對(duì)灰度級(jí)的非線性映射來(lái)提高個(gè)數(shù)較少的灰度級(jí),削減個(gè)數(shù)較多的灰度級(jí),使得輸出圖像的直方圖呈現(xiàn)均勻分布。算法具體步驟如下[12]:
1)統(tǒng)計(jì)輸入圖像直方圖
p(i)=n(i)/N
(6)
式中,圖像的灰度級(jí)為i,像素總數(shù)為N,n(i)是第i灰度級(jí)的像素總數(shù)。
2)計(jì)算累計(jì)直方圖分布
(7)
3)利用灰度映射函數(shù),計(jì)算變換后的灰度值
T(k)=round(C(k))
J(u,v)=T(k)
(8)
其中round(.)表示取整,J(u,v)=T(k)表示映射函數(shù)。實(shí)驗(yàn)結(jié)果如圖1所示。
圖1 直方圖均衡化結(jié)果
由HE的算法原理和圖1可知,HE算法的圖像增強(qiáng)是從連續(xù)到離散的近似計(jì)算過(guò)程。算法存在缺陷:1)量化誤差,即兩個(gè)以上不同灰度的像素值在映射之后會(huì)輸出為相同的灰度級(jí),造成灰階合并和圖像部分信息丟失情況;2)像素滿足離散分布,對(duì)圖像信息不區(qū)分,輸出的直方圖無(wú)法保持輸入直方圖的形狀,如圖1b)所示,灰度級(jí)均勻分布在整個(gè)區(qū)間,卻并未保持原始形狀。這也是造成圖像信息丟失的關(guān)鍵因素。
針對(duì)信息丟失、灰階合并現(xiàn)象,算法通過(guò)權(quán)重將灰度級(jí)重新組合成加權(quán)和的形式以平衡圖像的能量,設(shè)計(jì)出一種新的映射函數(shù)。
(i)←β×h(i)+ω×max(h(i))
0<ω<1,ω+β=1
(9)
其中,h(i),和max{h(i)}分別是灰度級(jí)和最大灰度級(jí),i=0,1,…L-1。當(dāng)h(i)←(L-1),有如下表達(dá)式
(i)max←(ω+β)×(L-1),=L-1
(10)
由(10)可得,ω+β=1能確保輸出的灰度級(jí)始終保持在[0L-1]范圍內(nèi),盡可能的恢復(fù)更多的圖像信息。該映射函數(shù)可實(shí)現(xiàn)高灰度級(jí)變小,低灰度級(jí)變大,輸出圖像的直方圖呈均勻分的目的,有效地增強(qiáng)了圖像的對(duì)比度并避免了局部灰度級(jí)過(guò)增強(qiáng)現(xiàn)象。對(duì)于某些急劇變化的灰度級(jí),依然存在部分堆疊造成信息丟失現(xiàn)象。觀察直方圖的變化可以檢測(cè)出均衡化后丟失的灰度級(jí)。故需對(duì)直方圖進(jìn)行重新映射,首先指定一個(gè)集合Ω來(lái)儲(chǔ)存非空的灰度級(jí)。公式定義如下
(11)
其中,Ω((k)將存儲(chǔ)加權(quán)直方圖均衡化后生成的非空灰度級(jí)的數(shù)目,且滿足k=1,2,…kmax。依據(jù)映射函數(shù)將其再次映射到[0L-1]區(qū)間內(nèi),該映射函數(shù)為
(12)
綜上所述,V通道直方圖經(jīng)過(guò)二次映射前后輸出圖像的直方圖如圖2所示。圖2b)顯示直方圖加權(quán)均衡之后依然存在部分灰度級(jí)分布不均勻現(xiàn)象。再次映射后,直方圖既保持原始直方圖形狀又均勻的分布在[0 1]范圍內(nèi)。得到的增強(qiáng)結(jié)果為
Vout(u,v)=T((i),Ω(k))
(13)
圖2 二次映射前后直方圖結(jié)果
根據(jù)等式(9)可知,權(quán)重的選擇對(duì)增強(qiáng)結(jié)果有著至關(guān)重要的影響。黃金分割算法[13]是一種快速的搜索算法。將圖像信息熵H和亮度信息作為搜索依據(jù),故搜索權(quán)重的目標(biāo)函數(shù)為
(14)
(15)
1)輸入源圖像Iin(u,v),計(jì)算平均亮度值Iin,m;
2)輸入黃金分割點(diǎn)ρ=0.618,迭代初始值為α1=eps,α2=1-eps;
3)誤差范圍記為Δα=α1-α2,并確定一個(gè)較小的精確度值τ→ε=10-4;
4)計(jì)算α1,α2所對(duì)應(yīng)的目標(biāo)函數(shù)J1,J2;
5)當(dāng)滿足Δα>τ,J1>J2
更新區(qū)間端點(diǎn)α2←α1+ρ×Δα,并將J2記為目標(biāo)函數(shù)
反之,更新端點(diǎn)α1←α1+(1-ρ)×Δα,同時(shí)J1記為目標(biāo)函數(shù)
6)不斷更新區(qū)間端點(diǎn)α1,α2和目標(biāo)函數(shù)J1,J2,直到滿足Δα<τ結(jié)束搜索;
7)返回并計(jì)算權(quán)值ω=0.5×(α1+α2),β=1-ω
基于HSV空間的亮度圖像被增強(qiáng)后,不可避免的會(huì)出現(xiàn)去飽和或顏色損失現(xiàn)象。這是亮度通道增強(qiáng)過(guò)程中固有的缺陷。這個(gè)缺陷可以在RGB和HSV的變換過(guò)程中顯示出來(lái)[14]。依據(jù)等式(3)和 (4),當(dāng)增強(qiáng)V通道時(shí),圖像灰度級(jí)會(huì)趨于L-1,存在V=max{R,G,B}→(L-1),或者表示成如下形式
R(u,v)←(L-1),G(u,v)←(L-1),B(u,v)←(L-1)
(16)
根據(jù)等式(17),最小飽和度如下所示
(17)
針對(duì)這一缺陷,需要擴(kuò)展飽和度至最大范圍。飽和度越大,圖像的顏色類型越豐富。故有
Sout(u,v)=max{Sin(u,v)}.
(18)
最終輸出的增強(qiáng)圖像為
[R(u,v),G(u,v),B(u,v)]
(19)
針對(duì)傳統(tǒng)HE算法中存在細(xì)節(jié)信息丟失和灰階段合并造成偽影的不足,提出改進(jìn)HE均衡化過(guò)程中的映射函數(shù)。具體算法過(guò)程如圖3所示。
圖3 改進(jìn)算法的實(shí)驗(yàn)過(guò)程整個(gè)圖像增強(qiáng)的算法步驟如下所示,
1)輸入RGB格式的原圖像Iin(u,v),分別對(duì)其R,G和B通道進(jìn)行顏色幅度拉伸;
2)將步驟1得到的拉伸后的圖像進(jìn)轉(zhuǎn)換至HSV空間,得到V通道圖像V(u,v)和S通道圖像S(u,v);
3)對(duì)于步驟2中得到的V(u,v)圖像的直方圖進(jìn)行加權(quán)均衡化算法操作,其中的權(quán)值參數(shù)獲取是利用黃金分割算法迭代獲得,最終得到新的V通道圖像Vout(u,v);
4)對(duì)步驟2得到S(u,v)圖像最大化拉伸算法操作,得到新的S通道圖像Sout(u,v);
5)對(duì)步驟3和步驟4得到的最終的Vout(u,v)和Sout(u,v)圖像作顏色空間逆變換至RGB空間。
將本文算法與HE,CLAHE,AvHeq和文獻(xiàn)[5]中算法在Matlab2018b的PC端進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖4-7所示。圖像4和5分別命名為“earth”和“bridge”。圖6和圖7分別被命名為“126007”和“5096”,原圖像來(lái)自BSD500數(shù)據(jù)集中。
圖4(a)-(f)顯示,b)HE算法的直方圖出現(xiàn)了灰階合并現(xiàn)象,增強(qiáng)結(jié)果的部分細(xì)節(jié)丟失。c)CLAHE算法的色彩和巖石紋理細(xì)節(jié)恢復(fù)不自然,對(duì)應(yīng)的直方圖也未能保持原始形狀。d)AvHeq算法亮度信息恢復(fù)不足,直方圖結(jié)果存在部分堆疊。e)文獻(xiàn)[5]的算法結(jié)果對(duì)比度較低且模糊,直方圖顯示圖像灰度級(jí)集中在中間位置,灰度信息丟失嚴(yán)重。f)改進(jìn)算法巖石的明亮程度和清晰程度均有很大改善,尤其巖石中間的顏色信息恢復(fù)明顯,直方圖結(jié)果既保持了原始形狀又均勻的分布于整個(gè)區(qū)間。在圖5(a)-(f)中,改進(jìn)算法的去霧效果和顏色信息恢復(fù)結(jié)果均取得了更加滿意的效果,尤其是燈籠和樹(shù)木的顏色以及漢字的信息。對(duì)應(yīng)的直方圖結(jié)果較其它算法也是最滿意的。圖6(b)-(f)顯示,HE和CLAHE算法均會(huì)導(dǎo)致天空顏色出現(xiàn)些許失真。AvHeq和文獻(xiàn)[5]算法倒是使得天空的顏色信息有所恢復(fù),但無(wú)法很好地保持圖像的亮度。改進(jìn)算法的亮度和對(duì)比度均很大程度得到改善,天空和山脊的顏色信息恢復(fù)明顯。雖然對(duì)應(yīng)直方圖結(jié)果顯示部分灰度級(jí)并未均勻分布,但主觀視覺(jué)效果較其它算法是最滿意的。
圖4 不同算法對(duì)圖像”earth”的增強(qiáng)結(jié)果
圖5 不同算法對(duì)圖像”bridge”的增強(qiáng)結(jié)果
圖6 不同算法對(duì)圖像”126007”的增強(qiáng)結(jié)果
圖7 不同算法對(duì)圖像”5096”的增強(qiáng)結(jié)果
增強(qiáng)圖像的結(jié)果除了主觀上的表達(dá),還需要使用一些測(cè)量數(shù)據(jù)進(jìn)行評(píng)估,包括熵,圖像清晰度[15]和平均梯度[16]。
圖像熵是一種基于概率的強(qiáng)度分布統(tǒng)計(jì)信息,可以描述圖像信息量,如式(15)所示。圖像清晰度(Tenengrad梯度)反映了圖像的清晰程度。公式如下
(20)
(21)
其中,T為閾值,Δmx(u,v) 和Δnx(u,v)分別是像素(u,v)水平與垂直方向上像素之間的差異。
平均梯度描述了圖像細(xì)節(jié)的對(duì)比度和紋理的變化。公式如下
(22)
表1 圖4的客觀評(píng)價(jià)指標(biāo)結(jié)果
表2 圖5的客觀評(píng)價(jià)指標(biāo)結(jié)果
表3 圖6的客觀評(píng)價(jià)指標(biāo)結(jié)果
表4 圖7的客觀評(píng)價(jià)指標(biāo)結(jié)果
分析表1-4可知,HE和CLAHE算法實(shí)驗(yàn)結(jié)果提高了圖像的清晰度和平均梯度,但局部細(xì)節(jié)丟失嚴(yán)重以及局部信息出現(xiàn)過(guò)增強(qiáng)現(xiàn)象,采取加權(quán)直方圖均衡可以有效抑制HE和CLAHE算法的不足。AvHeq算法的直方圖結(jié)果既均勻的分布在整個(gè)區(qū)間又保持了原始形狀,但缺少對(duì)顏色信息的恢復(fù),飽和度拉伸可以彌補(bǔ)顏色信息,所以整體視覺(jué)效果不如改進(jìn)算法。文獻(xiàn)[5]算法結(jié)果對(duì)比度低,所以圖像熵值、清晰度和平均梯度不如改進(jìn)算法。總之,實(shí)驗(yàn)表明,改進(jìn)算法的評(píng)價(jià)指標(biāo)整體上相對(duì)較高,對(duì)比度較高,視覺(jué)效果清晰;顏色信息和局部細(xì)節(jié)信息恢復(fù)較為明顯。這意味著改進(jìn)算法克服了細(xì)節(jié)信息和顏色信息丟失的缺點(diǎn),對(duì)于圖像亮度保持和顏色信息恢復(fù)較其它算法更為有效。
為解決輸出圖像亮度保持和顏色信息恢復(fù)不足的問(wèn)題,提出一種加權(quán)HE的彩色圖像增強(qiáng)算法。實(shí)驗(yàn)結(jié)果表明:①依據(jù)圖像灰度級(jí)分布特點(diǎn),利用改進(jìn)的映射函數(shù)對(duì)圖像的灰度級(jí)進(jìn)行重新映射,對(duì)于場(chǎng)景圖像具有較好的增強(qiáng)效果;②仿真結(jié)果顯示,改進(jìn)算法的增強(qiáng)結(jié)果較其它算法在增強(qiáng)圖像對(duì)比度和亮度的同時(shí)實(shí)現(xiàn)了顏色保真效果;③熵值、清晰度和平均梯度客觀指標(biāo)優(yōu)于其它算法。算法彌補(bǔ)了圖像低灰度區(qū)域處理后出現(xiàn)的亮度過(guò)度缺陷,并能有效地恢復(fù)顏色信息,體現(xiàn)了改進(jìn)算法的優(yōu)勢(shì)。對(duì)于構(gòu)建更簡(jiǎn)單的目標(biāo)函數(shù)以及引入其它智能搜索算法的進(jìn)一步研究提供了依據(jù)。