楊嘉能,李 華,田宸瑋,錢(qián)育蓉
(新疆大學(xué) 軟件學(xué)院,新疆 烏魯木齊 830046)
直方圖均衡化因其簡(jiǎn)單而有效被廣泛應(yīng)用于眾多領(lǐng)域,是最常用的對(duì)比度增強(qiáng)方法之一。但它也存在一些缺點(diǎn),主要為:灰度級(jí)的過(guò)度拉伸而導(dǎo)致的過(guò)增強(qiáng)和偽影;灰度級(jí)合并,細(xì)節(jié)信息丟失;平均亮度定向遷移。
近5年內(nèi)有很多研究人員致力于直方圖均衡算法的改進(jìn)工作[1]。針對(duì)過(guò)度增強(qiáng)問(wèn)題,MMSICHE[2]和BPCLBHE[3]通過(guò)直方圖裁剪技術(shù)來(lái)抑制過(guò)增強(qiáng)現(xiàn)象。針對(duì)細(xì)節(jié)信息丟失問(wèn)題,CLAHE[4]和QHELC[5]分別采用了gamma校正和直方圖裁剪后再分配的方法來(lái)處理全局直方圖,均有一定程度上的改善。針對(duì)亮度均值定向遷移問(wèn)題,出現(xiàn)了基于保持亮度的BHE2PL[6]和BHE3PL[7]等改進(jìn)算法,但不適用于低照度和高亮圖像。因此,也有學(xué)者提出了動(dòng)態(tài)直方圖均衡化的概念用于增強(qiáng)過(guò)暗或過(guò)亮的圖像,其代表算法有MEMBHE[8]、TDCHE-M[9]和QDHE[10]。
雖然有各種各樣的技術(shù)來(lái)解決對(duì)比度增強(qiáng)的具體問(wèn)題,但對(duì)低照度圖像增強(qiáng)的探索仍顯不足。R_ESIHE[11]和RS_ESIHE[11]都是針對(duì)低照度圖像提出的增強(qiáng)算法,但由于采用了基于曝光值來(lái)分割直方圖的方法,在處理亮度較低且全局直方圖分布較窄的圖像時(shí)會(huì)出現(xiàn)分割失敗的情況,導(dǎo)致增強(qiáng)效果較差。因此本文在對(duì)現(xiàn)有的動(dòng)態(tài)直方圖均衡算法和低照度圖像直方圖的分布特性進(jìn)行深入研究后提出了一種自適應(yīng)的校正方法,其中包含亮度校正和對(duì)比度校正,在保留細(xì)節(jié)信息和抑制過(guò)度增強(qiáng)的同時(shí)達(dá)到合理的對(duì)比度增強(qiáng)。
直方圖均衡化的主要思想是基于其概率密度函數(shù)(probability density function,PDF)的均勻擴(kuò)展來(lái)重新映射輸入圖像中每個(gè)像素的灰度級(jí)。其轉(zhuǎn)換公式主要由映射區(qū)間和映射函數(shù)即累積分布函數(shù)(cumulative distribution function,CDF)構(gòu)成。
直方圖的PDF和CDF分別對(duì)應(yīng)式(1)和式(2)
(1)
(2)
其中,q表示直方圖上的某一灰度級(jí),nq表示q灰度級(jí)上統(tǒng)計(jì)像素的個(gè)數(shù),N表示輸入圖像的總像素,start表示某區(qū)間的最小灰度級(jí)。
根據(jù)式(2)得出直方圖均衡化的轉(zhuǎn)換公式為
F(q)=start+(end-start)×CDF(q)
(3)
其中,end-start表示映射區(qū)間。
分析式(3)可得,直方圖均衡算法的關(guān)鍵在于映射區(qū)間的選取和CDF的構(gòu)造。合理的映射區(qū)間和恰當(dāng)?shù)腃DF能使獲得的輸出圖像具有良好的亮度信息和豐富的細(xì)節(jié)信息,并且對(duì)比度可得到適中的增強(qiáng)。因此,如何根據(jù)輸入圖像的直方圖的分布特性選取映射區(qū)間和構(gòu)造CDF是此類算法的關(guān)鍵所在。
本文所提出的基于自適應(yīng)校正的動(dòng)態(tài)直方圖均衡算法(adaptive correction based dynamic histogram equalization,ACDHE)屬于動(dòng)態(tài)直方圖均衡化技術(shù),其中包含了自適應(yīng)的亮度校正和自適應(yīng)的對(duì)比度校正,下面將做詳細(xì)介紹。
由于低照度圖像的直方圖往往分布在最左側(cè),動(dòng)態(tài)范圍較小,視覺(jué)效果昏暗,故需要進(jìn)行亮度校正。考慮到傳統(tǒng)的直方圖均衡化存在亮度均值定向遷移的問(wèn)題,故本文提出一種亮度校正方法。依據(jù)平均亮度值在全局直方圖分布范圍中的位置計(jì)算分割點(diǎn),將全局直方圖分割成兩個(gè)子直方圖,然后根據(jù)每個(gè)子直方圖的分布范圍來(lái)重新分配一個(gè)新的映射區(qū)間,達(dá)到亮度校正的效果。具體過(guò)程如下:
(1)計(jì)算全局直方圖的分布范圍
傳統(tǒng)意義上,直方圖的分布范圍[Start,End]定義為
(4)
其中,h表示某個(gè)直方圖,min()和max()分別是求取nq>0中q的最小值和最大值的函數(shù),L表示輸入圖像總的灰度級(jí)數(shù)。
由于低照度圖像中存在一些干擾噪聲,會(huì)影響分布范圍的計(jì)算,故本文提出了一種優(yōu)化后的分布范圍計(jì)算方式,能更有利于后續(xù)的直方圖分割和重新分配映射區(qū)間,達(dá)到校正亮度的目的。計(jì)算公式如下
(5)
其中,m是一個(gè)設(shè)定的值,用于去除干擾噪聲。
(2)計(jì)算全局直方圖的分割點(diǎn)
傳統(tǒng)的直方圖分割技術(shù)有直接采用亮度均值[3,6]或累積像素中值所在點(diǎn)[10]的分割方式,也有兩者結(jié)合[2]的分割方式,但此類方法都沒(méi)有考慮直方圖的特性,如分布范圍、局部峰值等。有學(xué)者提出了基于局部峰的分割方式[12],但由于局部峰的搜索范圍相對(duì)于直方圖分布較窄且多為單峰的低照度圖像來(lái)說(shuō)并不適合,因此本文在亮度均值的基礎(chǔ)上考慮了直方圖的分布范圍,提出了一種分割方式,即依據(jù)平均亮度值在全局直方圖分布范圍中的位置計(jì)算分割點(diǎn),得到左右兩個(gè)子直方圖。計(jì)算公式如下
(6)
SP=len×(1-l)+Start
(7)
其中,l表示亮度均值在分布范圍中的位置,len表示全局直方圖分布范圍的區(qū)間長(zhǎng)度,range表示全局直方圖的分布范圍,SP表示分割點(diǎn)。
改進(jìn)的分割方式能更好分離低照度圖像直方圖中的較大值與較小值,在校正亮度信息的同時(shí)改善了后續(xù)均衡化操作帶來(lái)的灰度級(jí)合并的問(wèn)題,減少細(xì)節(jié)信息的丟失。
(3)重新分配映射區(qū)間
為了確保每個(gè)子直方圖得到合理的拉伸空間,需要對(duì)子直方圖的映射區(qū)間進(jìn)行重分配,以獲得合理的亮度校正和對(duì)比度增強(qiáng)。本文依據(jù)子直方圖在全局直方圖中的分布占比來(lái)進(jìn)行映射區(qū)間的重分配。該方法不同于QDHE的分配方法,不需要計(jì)算子直方圖中像素的總量,因此計(jì)算簡(jiǎn)單,并且有效。映射區(qū)間分割點(diǎn)的公式如下
(8)
其中,MP表示映射區(qū)間分割點(diǎn),SP-Start表示左直方圖的分布范圍。
m的取值決定了range的范圍,同時(shí)也影響SP和MP的計(jì)算,從而最終影響映射區(qū)間的重分配,達(dá)到不同程度的亮度校正。本文采用亮度均值(mean brightness,MB)來(lái)衡量亮度校正的效果。圖1展示了不同m值下的亮度校正結(jié)果以及與RS_ESIHE的對(duì)比,并且表1給出了其相關(guān)變量的值。亮度校正性能測(cè)試采用相同的CDF構(gòu)造方法。
圖1 不同閾值下的亮度校正對(duì)比結(jié)果
由圖1(b)和圖1(c)可以看出,在傳統(tǒng)的直方圖分布范圍定義上,本文所提出的改進(jìn)的直方圖分割方法優(yōu)于RS_ESIHE的基于曝光值的分割方法,亮度提升更明顯。表1的MB值也驗(yàn)證了這一結(jié)果,而且從表1的SP值可以看出,基于曝光值的分割方法出現(xiàn)了分割失敗的情況。由圖1(c)至圖1(h)可以看出,隨著m的增大,亮度校正的效果越明顯,且拉伸后的直方圖分布范圍更廣,這表明本文所提出的改進(jìn)的分割方法和映射區(qū)間重分配方法是有效的。但由表1的MB值和range可以看出,當(dāng)m增大到一定程度時(shí),隨著直方圖分布范圍的穩(wěn)定化,亮度校正的改善率會(huì)隨之下降。
表1 不同閾值下的數(shù)據(jù)對(duì)比
低照度圖像的像素在直方圖中分布往往過(guò)于集中,導(dǎo)致所呈現(xiàn)的全局直方圖容易出現(xiàn)尖峰狀,從而引發(fā)過(guò)增強(qiáng)現(xiàn)象和細(xì)節(jié)信息丟失,故在增強(qiáng)時(shí)需要進(jìn)行對(duì)比度校正處理。由于直方圖均衡化的映射函數(shù)是CDF,故對(duì)比度增強(qiáng)率與其導(dǎo)數(shù)成正比,導(dǎo)函數(shù)如下
(9)
如果想要控制增強(qiáng)率,必須對(duì)PDF進(jìn)行校正,或者直接校正直方圖本身。本文提出一種自適應(yīng)的對(duì)比度校正方法,即先通過(guò)直方圖裁剪技術(shù)來(lái)校正直方圖中的較大值,然后對(duì)超出閾值部分的像素進(jìn)行數(shù)量上的調(diào)整后重新分配給直方圖中的較小值,最終達(dá)到校正直方圖的目的,控制增強(qiáng)率,保留細(xì)節(jié)信息。直方圖校正過(guò)程如圖2所示,具體如下:
(1)分別為左右兩個(gè)子直方圖計(jì)算裁剪閾值,公式如下
(10)
其中,Ti是子直方圖的裁剪閾值,Ni是子直方圖的像素總量,leni是子直方圖分布范圍的區(qū)間長(zhǎng)度。裁剪閾值計(jì)算如圖2(a)所示。
圖2 直方圖校正過(guò)程
(2)對(duì)超出裁剪閾值部分的像素進(jìn)行數(shù)量上的統(tǒng)計(jì),由比例系數(shù)α進(jìn)行調(diào)整,公式如下
(11)
(12)
其中,Mi是子直方圖中超出閾值部分的像素總量,rangei是子直方圖的分布范圍,ANi是對(duì)子直方圖中較小值的調(diào)整量,α是比例系數(shù)。調(diào)整量計(jì)算如圖2(b)所示,其中α值為1。
(3)用Ti和ANi對(duì)子直方圖進(jìn)行校正,校正公式如下
(13)
其中,na(q)是校正后的子直方圖,如圖2(c)所示。
裁剪閾值限制了直方圖中的較大值,防止某些灰度級(jí)的過(guò)度拉伸;調(diào)整量增加了原直方圖中較小值所占的比例,一定程度上防止了灰度級(jí)的合并和細(xì)節(jié)信息丟失,同時(shí)也起到調(diào)整對(duì)比度的作用。圖3為我們的方法在不同α值下,即不同的調(diào)整量下的增強(qiáng)結(jié)果,其中m統(tǒng)一設(shè)置為16,并用對(duì)比度和信息熵作為客觀評(píng)價(jià)指標(biāo)。圖4展示了α從0至1的過(guò)程中信息熵和對(duì)比度的變化過(guò)程。
從圖3(b)至圖3(e)可以看出,隨著α值的增大,圖像的亮度和對(duì)比度隨之下降,呈現(xiàn)出不同的視覺(jué)效果,其中圖3(c)有最好的視覺(jué)效果,細(xì)節(jié)信息豐富。從圖4可以看出,當(dāng)α值為零時(shí)有最大的對(duì)比度,并且對(duì)比度會(huì)隨著α值的提升而下降;從信息熵來(lái)看,當(dāng)α為零即調(diào)整量AN為零時(shí),信息熵明顯低于其它值,并隨著α值的提升,信息熵會(huì)有一個(gè)先上升后下降的過(guò)程。通過(guò)調(diào)整α值能得到不同程度的對(duì)比度提升和細(xì)節(jié)信息的保留。
圖3 不同比例系數(shù)下的增強(qiáng)結(jié)果
圖4 不同比例系數(shù)下的對(duì)比度和信息熵
上兩小節(jié)分別介紹了自適應(yīng)的亮度校正和對(duì)比度校正,本小節(jié)將介紹本文ACDHE算法的步驟。具體如下:
ACDHE算法
輸入:低照度圖像
輸出:低照度圖像的增強(qiáng)結(jié)果
(1)Begin
(2)獲得低照度圖像的直方圖n(q);
(3)用閾值m計(jì)算全局直方圖的分布范圍,獲得分布區(qū)間range;
(4)用亮度均值在range中的位置計(jì)算分割點(diǎn)SP,將全局直方圖劃分成左右兩個(gè)子直方圖;
(5)依據(jù)子直方圖的分布區(qū)間長(zhǎng)度重新分配映射區(qū)間,或得映射區(qū)間分割點(diǎn)MP;
(6)計(jì)算裁剪閾值Ti;
(7)統(tǒng)計(jì)超出裁剪閾值的像素總量Mi,用比例系數(shù)α計(jì)算調(diào)整量ANi;
(8)對(duì)左右兩個(gè)直方圖進(jìn)行校正,構(gòu)造CDFi;
(9)分別進(jìn)行均衡化處理,得到最終的增強(qiáng)結(jié)果;
(10)End
為了驗(yàn)證本文算法的性能,采用了多個(gè)數(shù)據(jù)集進(jìn)行測(cè)試,分別包括LOL[13]、SICE[14]、LIME[15],且這3個(gè)數(shù)據(jù)集都是作者在不同的真實(shí)場(chǎng)景下獲取的低照度圖像。為了進(jìn)一步驗(yàn)證,本文選取MMSICHE、QDHE、TDCHE-M和RS_ESIHE作為對(duì)比算法,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了主觀和客觀上的評(píng)價(jià)與分析。最后,在LOL數(shù)據(jù)集上進(jìn)行了算法平均性能的比較,且對(duì)參數(shù)m和α的選取進(jìn)行了討論。
本文分別從3個(gè)數(shù)據(jù)集中各挑選了一張圖像進(jìn)行增強(qiáng)效果對(duì)比實(shí)驗(yàn),如圖5~圖7所示,包含了室內(nèi)、室外、遠(yuǎn)景,以及陰天、午夜和背光的低照度圖像。實(shí)驗(yàn)中m選取的值為32,α選取的值為0.1。
圖5 室內(nèi)圖像的增強(qiáng)結(jié)果
圖6 室外圖像的增強(qiáng)結(jié)果
圖7 遠(yuǎn)景圖像的增強(qiáng)結(jié)果
從對(duì)比實(shí)驗(yàn)中可以看出,整體上ACDHE的增強(qiáng)結(jié)果不僅可以得到合理的亮度提升,且同時(shí)具有適當(dāng)?shù)膶?duì)比度,相比于其它對(duì)比算法視覺(jué)效果更好。MMSICHE雖然采用了平均亮度和中值相結(jié)合的分割方式,但由于其保持亮度的特性,導(dǎo)致增強(qiáng)結(jié)果出現(xiàn)部分過(guò)暗和部分過(guò)亮的情況,因此增強(qiáng)結(jié)果不自然。QDHE和TDCHE-M和本文的方法一樣,同屬于動(dòng)態(tài)直方圖技術(shù),且兩者的增強(qiáng)結(jié)果較為相似,但由于其映射區(qū)間重分配方式的缺陷,仍存在亮度過(guò)低局部過(guò)暗的情況。RS_ESIHE的增強(qiáng)結(jié)果與我們的增強(qiáng)結(jié)果最為相似,但由于其分割方式存在的缺陷,圖5和圖6都出現(xiàn)了分割失敗的情況,導(dǎo)致增強(qiáng)結(jié)果的對(duì)比度較低,整體亮度不夠。針對(duì)圖像細(xì)節(jié)部分,可以從圖5的毛絨玩具和圖7的月亮明顯看出,本文的增強(qiáng)結(jié)果具有更豐富的細(xì)節(jié)信息,因此在細(xì)節(jié)保持能力上ACDHE算法優(yōu)于其它對(duì)比算法。
本文采用了平均亮度、灰度級(jí)數(shù)、信息熵和對(duì)比度4個(gè)客觀評(píng)價(jià)指標(biāo)來(lái)衡量各個(gè)算法的性能。平均亮度代表了圖像的亮度信息,灰度級(jí)數(shù)和信息熵代表了圖像信息的豐富程度,對(duì)比度可用來(lái)衡量增強(qiáng)后的對(duì)比度提升情況,但不是越大越好。表2~表4給出了各個(gè)評(píng)價(jià)指標(biāo)的結(jié)果。
表2 圖5增強(qiáng)結(jié)果的客觀評(píng)價(jià)
表3 圖6增強(qiáng)結(jié)果的客觀評(píng)價(jià)
表4 圖7增強(qiáng)結(jié)果的客觀評(píng)價(jià)
表2~表4中對(duì)比算法評(píng)價(jià)指標(biāo)的最優(yōu)結(jié)果已加粗,且從表中可以明顯看出,原始圖像擁有最大的灰度級(jí)數(shù)和信息熵,但平均亮度和對(duì)比度非常低。ACDHE算法的平均亮度明顯高于其它對(duì)比算法,且不存在平均亮度定向變化的問(wèn)題,這意味著我們所提出的映射區(qū)間的重分配方法是有效的,原始圖像的亮度得到了很好的校正。從灰度級(jí)數(shù)和信息熵可以看出,ACDHE算法保留了最多的灰度級(jí),并且擁有最大的信息熵,非常接近原始圖像。當(dāng)然QDHE、TDCHE-M和RS_ESIHE的信息熵也很高,但本文的方法總能產(chǎn)生最大的信息熵。這意味著我們提出的調(diào)整量AN在防止灰度級(jí)合并和保留細(xì)節(jié)信息上起到了很好的效果,同時(shí)過(guò)度增強(qiáng)也得到了有效抑制。與此對(duì)應(yīng),ACDHE算法的對(duì)比度比較適中,反之QDHE和TDCHE-M的對(duì)比度不太穩(wěn)定。因此從客觀評(píng)價(jià)指標(biāo)看,本文的算法在調(diào)整亮度、保留細(xì)節(jié)信息和控制對(duì)比度這幾個(gè)方面優(yōu)于其它對(duì)比算法。
本小節(jié)將給出對(duì)比算法在LOL數(shù)據(jù)集上的平均性能,還對(duì)參數(shù)m和α值的選取進(jìn)行了分析與討論。LOL數(shù)據(jù)集包含485張圖像,針對(duì)同一場(chǎng)景存在不同程度的低照度圖像,且每一張低照度圖像都有其正常光照下的參考圖像。我們將增強(qiáng)結(jié)果與參考圖像做客觀評(píng)價(jià)對(duì)比,其中包含絕對(duì)平均亮度誤差(absolute mean brightness error,AMBE)、峰值信噪比(peak signal-to-noise ratio,PSNR)和結(jié)構(gòu)相似度(structural similarity,SSIM)。由于篇幅有限,表5給出了部分有代表性的參數(shù)值下的實(shí)驗(yàn)結(jié)果,關(guān)鍵數(shù)據(jù)已加粗。
表5 算法平均性能的客觀評(píng)價(jià)
從表5可以看出ACDHE算法在不同的參數(shù)選取下的平均性能都優(yōu)于其它對(duì)比算法,不僅有最高的平均信息熵和很好的對(duì)比度,與正常光照下的參考圖像有最小的平均亮度誤差、最高的峰值信噪比和最好的結(jié)構(gòu)相似性。這表明ACDHE算法的增強(qiáng)結(jié)果與參考圖像最為接近,增強(qiáng)效果最好。
由參數(shù)的對(duì)比實(shí)驗(yàn)可以看出,當(dāng)α值不變,m值增大時(shí),增強(qiáng)圖像的平均信息熵會(huì)有所下降,平均對(duì)比度有小幅提升,整體與參考圖像會(huì)有更高的相似性。當(dāng)m值不變,α值增大時(shí),平均信息熵會(huì)先增大后減小,平均對(duì)比度會(huì)下降,與參考圖像的整體相似性也會(huì)先增大后減小。由大量實(shí)驗(yàn)得出,對(duì)于噪聲明顯的低照度圖像,可適當(dāng)增加m的值以獲取合理的重映射區(qū)間,在本文選取的數(shù)據(jù)集中,m值為32時(shí),對(duì)于絕大部分圖像會(huì)有較好的結(jié)果。針對(duì)控制對(duì)比度的參數(shù)α,當(dāng)待增強(qiáng)圖像的平均亮度小于20時(shí),α取值為0~0.2時(shí),會(huì)有較好的增強(qiáng)結(jié)果,可適當(dāng)根據(jù)待增強(qiáng)圖像的平均亮度調(diào)整α的值,以獲得更好的增強(qiáng)效果。
本文在分析現(xiàn)有動(dòng)態(tài)直方圖技術(shù)的缺陷和研究低照度圖像直方圖的特性后,提出了一種結(jié)合直方圖分布范圍的分割方式,并通過(guò)設(shè)置參數(shù)m來(lái)求取祛噪后的直方圖分布范圍,達(dá)到了合理分配重映射區(qū)間和亮度校正的目的。又針對(duì)低照度圖像增強(qiáng)過(guò)程中容易出現(xiàn)的過(guò)增強(qiáng)問(wèn)題,提出了帶參數(shù)α的調(diào)整量來(lái)自適應(yīng)的校正直方圖中的較小值,在防止灰度級(jí)合并的同時(shí)抑制過(guò)增強(qiáng)現(xiàn)象。對(duì)比實(shí)驗(yàn)結(jié)果表明,本文所提出的ACDHE算法在提升圖像亮度和保留細(xì)節(jié)信息上優(yōu)于其它對(duì)比算法,增強(qiáng)結(jié)果自然,且對(duì)于不同類型、不同程度的低照度圖像都能取得良好的增強(qiáng)效果。