楊嘉能,李 華,田宸瑋,錢育蓉
(新疆大學 軟件學院,新疆 烏魯木齊 830046)
直方圖均衡化因其簡單而有效被廣泛應用于眾多領域,是最常用的對比度增強方法之一。但它也存在一些缺點,主要為:灰度級的過度拉伸而導致的過增強和偽影;灰度級合并,細節信息丟失;平均亮度定向遷移。
近5年內有很多研究人員致力于直方圖均衡算法的改進工作[1]。針對過度增強問題,MMSICHE[2]和BPCLBHE[3]通過直方圖裁剪技術來抑制過增強現象。針對細節信息丟失問題,CLAHE[4]和QHELC[5]分別采用了gamma校正和直方圖裁剪后再分配的方法來處理全局直方圖,均有一定程度上的改善。針對亮度均值定向遷移問題,出現了基于保持亮度的BHE2PL[6]和BHE3PL[7]等改進算法,但不適用于低照度和高亮圖像。因此,也有學者提出了動態直方圖均衡化的概念用于增強過暗或過亮的圖像,其代表算法有MEMBHE[8]、TDCHE-M[9]和QDHE[10]。
雖然有各種各樣的技術來解決對比度增強的具體問題,但對低照度圖像增強的探索仍顯不足。R_ESIHE[11]和RS_ESIHE[11]都是針對低照度圖像提出的增強算法,但由于采用了基于曝光值來分割直方圖的方法,在處理亮度較低且全局直方圖分布較窄的圖像時會出現分割失敗的情況,導致增強效果較差。因此本文在對現有的動態直方圖均衡算法和低照度圖像直方圖的分布特性進行深入研究后提出了一種自適應的校正方法,其中包含亮度校正和對比度校正,在保留細節信息和抑制過度增強的同時達到合理的對比度增強。
直方圖均衡化的主要思想是基于其概率密度函數(probability density function,PDF)的均勻擴展來重新映射輸入圖像中每個像素的灰度級。其轉換公式主要由映射區間和映射函數即累積分布函數(cumulative distribution function,CDF)構成。
直方圖的PDF和CDF分別對應式(1)和式(2)
(1)
(2)
其中,q表示直方圖上的某一灰度級,nq表示q灰度級上統計像素的個數,N表示輸入圖像的總像素,start表示某區間的最小灰度級。
根據式(2)得出直方圖均衡化的轉換公式為
F(q)=start+(end-start)×CDF(q)
(3)
其中,end-start表示映射區間。
分析式(3)可得,直方圖均衡算法的關鍵在于映射區間的選取和CDF的構造。合理的映射區間和恰當的CDF能使獲得的輸出圖像具有良好的亮度信息和豐富的細節信息,并且對比度可得到適中的增強。因此,如何根據輸入圖像的直方圖的分布特性選取映射區間和構造CDF是此類算法的關鍵所在。
本文所提出的基于自適應校正的動態直方圖均衡算法(adaptive correction based dynamic histogram equalization,ACDHE)屬于動態直方圖均衡化技術,其中包含了自適應的亮度校正和自適應的對比度校正,下面將做詳細介紹。
由于低照度圖像的直方圖往往分布在最左側,動態范圍較小,視覺效果昏暗,故需要進行亮度校正。考慮到傳統的直方圖均衡化存在亮度均值定向遷移的問題,故本文提出一種亮度校正方法。依據平均亮度值在全局直方圖分布范圍中的位置計算分割點,將全局直方圖分割成兩個子直方圖,然后根據每個子直方圖的分布范圍來重新分配一個新的映射區間,達到亮度校正的效果。具體過程如下:
(1)計算全局直方圖的分布范圍
傳統意義上,直方圖的分布范圍[Start,End]定義為
(4)
其中,h表示某個直方圖,min()和max()分別是求取nq>0中q的最小值和最大值的函數,L表示輸入圖像總的灰度級數。
由于低照度圖像中存在一些干擾噪聲,會影響分布范圍的計算,故本文提出了一種優化后的分布范圍計算方式,能更有利于后續的直方圖分割和重新分配映射區間,達到校正亮度的目的。計算公式如下
(5)
其中,m是一個設定的值,用于去除干擾噪聲。
(2)計算全局直方圖的分割點
傳統的直方圖分割技術有直接采用亮度均值[3,6]或累積像素中值所在點[10]的分割方式,也有兩者結合[2]的分割方式,但此類方法都沒有考慮直方圖的特性,如分布范圍、局部峰值等。有學者提出了基于局部峰的分割方式[12],但由于局部峰的搜索范圍相對于直方圖分布較窄且多為單峰的低照度圖像來說并不適合,因此本文在亮度均值的基礎上考慮了直方圖的分布范圍,提出了一種分割方式,即依據平均亮度值在全局直方圖分布范圍中的位置計算分割點,得到左右兩個子直方圖。計算公式如下
(6)
SP=len×(1-l)+Start
(7)
其中,l表示亮度均值在分布范圍中的位置,len表示全局直方圖分布范圍的區間長度,range表示全局直方圖的分布范圍,SP表示分割點。
改進的分割方式能更好分離低照度圖像直方圖中的較大值與較小值,在校正亮度信息的同時改善了后續均衡化操作帶來的灰度級合并的問題,減少細節信息的丟失。
(3)重新分配映射區間
為了確保每個子直方圖得到合理的拉伸空間,需要對子直方圖的映射區間進行重分配,以獲得合理的亮度校正和對比度增強。本文依據子直方圖在全局直方圖中的分布占比來進行映射區間的重分配。該方法不同于QDHE的分配方法,不需要計算子直方圖中像素的總量,因此計算簡單,并且有效。映射區間分割點的公式如下
(8)
其中,MP表示映射區間分割點,SP-Start表示左直方圖的分布范圍。
m的取值決定了range的范圍,同時也影響SP和MP的計算,從而最終影響映射區間的重分配,達到不同程度的亮度校正。本文采用亮度均值(mean brightness,MB)來衡量亮度校正的效果。圖1展示了不同m值下的亮度校正結果以及與RS_ESIHE的對比,并且表1給出了其相關變量的值。亮度校正性能測試采用相同的CDF構造方法。

圖1 不同閾值下的亮度校正對比結果
由圖1(b)和圖1(c)可以看出,在傳統的直方圖分布范圍定義上,本文所提出的改進的直方圖分割方法優于RS_ESIHE的基于曝光值的分割方法,亮度提升更明顯。表1的MB值也驗證了這一結果,而且從表1的SP值可以看出,基于曝光值的分割方法出現了分割失敗的情況。由圖1(c)至圖1(h)可以看出,隨著m的增大,亮度校正的效果越明顯,且拉伸后的直方圖分布范圍更廣,這表明本文所提出的改進的分割方法和映射區間重分配方法是有效的。但由表1的MB值和range可以看出,當m增大到一定程度時,隨著直方圖分布范圍的穩定化,亮度校正的改善率會隨之下降。

表1 不同閾值下的數據對比
低照度圖像的像素在直方圖中分布往往過于集中,導致所呈現的全局直方圖容易出現尖峰狀,從而引發過增強現象和細節信息丟失,故在增強時需要進行對比度校正處理。由于直方圖均衡化的映射函數是CDF,故對比度增強率與其導數成正比,導函數如下
(9)
如果想要控制增強率,必須對PDF進行校正,或者直接校正直方圖本身。本文提出一種自適應的對比度校正方法,即先通過直方圖裁剪技術來校正直方圖中的較大值,然后對超出閾值部分的像素進行數量上的調整后重新分配給直方圖中的較小值,最終達到校正直方圖的目的,控制增強率,保留細節信息。直方圖校正過程如圖2所示,具體如下:
(1)分別為左右兩個子直方圖計算裁剪閾值,公式如下
(10)
其中,Ti是子直方圖的裁剪閾值,Ni是子直方圖的像素總量,leni是子直方圖分布范圍的區間長度。裁剪閾值計算如圖2(a)所示。

圖2 直方圖校正過程
(2)對超出裁剪閾值部分的像素進行數量上的統計,由比例系數α進行調整,公式如下
(11)
(12)
其中,Mi是子直方圖中超出閾值部分的像素總量,rangei是子直方圖的分布范圍,ANi是對子直方圖中較小值的調整量,α是比例系數。調整量計算如圖2(b)所示,其中α值為1。
(3)用Ti和ANi對子直方圖進行校正,校正公式如下
(13)
其中,na(q)是校正后的子直方圖,如圖2(c)所示。
裁剪閾值限制了直方圖中的較大值,防止某些灰度級的過度拉伸;調整量增加了原直方圖中較小值所占的比例,一定程度上防止了灰度級的合并和細節信息丟失,同時也起到調整對比度的作用。圖3為我們的方法在不同α值下,即不同的調整量下的增強結果,其中m統一設置為16,并用對比度和信息熵作為客觀評價指標。圖4展示了α從0至1的過程中信息熵和對比度的變化過程。
從圖3(b)至圖3(e)可以看出,隨著α值的增大,圖像的亮度和對比度隨之下降,呈現出不同的視覺效果,其中圖3(c)有最好的視覺效果,細節信息豐富。從圖4可以看出,當α值為零時有最大的對比度,并且對比度會隨著α值的提升而下降;從信息熵來看,當α為零即調整量AN為零時,信息熵明顯低于其它值,并隨著α值的提升,信息熵會有一個先上升后下降的過程。通過調整α值能得到不同程度的對比度提升和細節信息的保留。

圖3 不同比例系數下的增強結果

圖4 不同比例系數下的對比度和信息熵
上兩小節分別介紹了自適應的亮度校正和對比度校正,本小節將介紹本文ACDHE算法的步驟。具體如下:
ACDHE算法
輸入:低照度圖像
輸出:低照度圖像的增強結果
(1)Begin
(2)獲得低照度圖像的直方圖n(q);
(3)用閾值m計算全局直方圖的分布范圍,獲得分布區間range;
(4)用亮度均值在range中的位置計算分割點SP,將全局直方圖劃分成左右兩個子直方圖;
(5)依據子直方圖的分布區間長度重新分配映射區間,或得映射區間分割點MP;
(6)計算裁剪閾值Ti;
(7)統計超出裁剪閾值的像素總量Mi,用比例系數α計算調整量ANi;
(8)對左右兩個直方圖進行校正,構造CDFi;
(9)分別進行均衡化處理,得到最終的增強結果;
(10)End
為了驗證本文算法的性能,采用了多個數據集進行測試,分別包括LOL[13]、SICE[14]、LIME[15],且這3個數據集都是作者在不同的真實場景下獲取的低照度圖像。為了進一步驗證,本文選取MMSICHE、QDHE、TDCHE-M和RS_ESIHE作為對比算法,并對實驗結果進行了主觀和客觀上的評價與分析。最后,在LOL數據集上進行了算法平均性能的比較,且對參數m和α的選取進行了討論。
本文分別從3個數據集中各挑選了一張圖像進行增強效果對比實驗,如圖5~圖7所示,包含了室內、室外、遠景,以及陰天、午夜和背光的低照度圖像。實驗中m選取的值為32,α選取的值為0.1。

圖5 室內圖像的增強結果

圖6 室外圖像的增強結果

圖7 遠景圖像的增強結果
從對比實驗中可以看出,整體上ACDHE的增強結果不僅可以得到合理的亮度提升,且同時具有適當的對比度,相比于其它對比算法視覺效果更好。MMSICHE雖然采用了平均亮度和中值相結合的分割方式,但由于其保持亮度的特性,導致增強結果出現部分過暗和部分過亮的情況,因此增強結果不自然。QDHE和TDCHE-M和本文的方法一樣,同屬于動態直方圖技術,且兩者的增強結果較為相似,但由于其映射區間重分配方式的缺陷,仍存在亮度過低局部過暗的情況。RS_ESIHE的增強結果與我們的增強結果最為相似,但由于其分割方式存在的缺陷,圖5和圖6都出現了分割失敗的情況,導致增強結果的對比度較低,整體亮度不夠。針對圖像細節部分,可以從圖5的毛絨玩具和圖7的月亮明顯看出,本文的增強結果具有更豐富的細節信息,因此在細節保持能力上ACDHE算法優于其它對比算法。
本文采用了平均亮度、灰度級數、信息熵和對比度4個客觀評價指標來衡量各個算法的性能。平均亮度代表了圖像的亮度信息,灰度級數和信息熵代表了圖像信息的豐富程度,對比度可用來衡量增強后的對比度提升情況,但不是越大越好。表2~表4給出了各個評價指標的結果。

表2 圖5增強結果的客觀評價

表3 圖6增強結果的客觀評價

表4 圖7增強結果的客觀評價
表2~表4中對比算法評價指標的最優結果已加粗,且從表中可以明顯看出,原始圖像擁有最大的灰度級數和信息熵,但平均亮度和對比度非常低。ACDHE算法的平均亮度明顯高于其它對比算法,且不存在平均亮度定向變化的問題,這意味著我們所提出的映射區間的重分配方法是有效的,原始圖像的亮度得到了很好的校正。從灰度級數和信息熵可以看出,ACDHE算法保留了最多的灰度級,并且擁有最大的信息熵,非常接近原始圖像。當然QDHE、TDCHE-M和RS_ESIHE的信息熵也很高,但本文的方法總能產生最大的信息熵。這意味著我們提出的調整量AN在防止灰度級合并和保留細節信息上起到了很好的效果,同時過度增強也得到了有效抑制。與此對應,ACDHE算法的對比度比較適中,反之QDHE和TDCHE-M的對比度不太穩定。因此從客觀評價指標看,本文的算法在調整亮度、保留細節信息和控制對比度這幾個方面優于其它對比算法。
本小節將給出對比算法在LOL數據集上的平均性能,還對參數m和α值的選取進行了分析與討論。LOL數據集包含485張圖像,針對同一場景存在不同程度的低照度圖像,且每一張低照度圖像都有其正常光照下的參考圖像。我們將增強結果與參考圖像做客觀評價對比,其中包含絕對平均亮度誤差(absolute mean brightness error,AMBE)、峰值信噪比(peak signal-to-noise ratio,PSNR)和結構相似度(structural similarity,SSIM)。由于篇幅有限,表5給出了部分有代表性的參數值下的實驗結果,關鍵數據已加粗。

表5 算法平均性能的客觀評價
從表5可以看出ACDHE算法在不同的參數選取下的平均性能都優于其它對比算法,不僅有最高的平均信息熵和很好的對比度,與正常光照下的參考圖像有最小的平均亮度誤差、最高的峰值信噪比和最好的結構相似性。這表明ACDHE算法的增強結果與參考圖像最為接近,增強效果最好。
由參數的對比實驗可以看出,當α值不變,m值增大時,增強圖像的平均信息熵會有所下降,平均對比度有小幅提升,整體與參考圖像會有更高的相似性。當m值不變,α值增大時,平均信息熵會先增大后減小,平均對比度會下降,與參考圖像的整體相似性也會先增大后減小。由大量實驗得出,對于噪聲明顯的低照度圖像,可適當增加m的值以獲取合理的重映射區間,在本文選取的數據集中,m值為32時,對于絕大部分圖像會有較好的結果。針對控制對比度的參數α,當待增強圖像的平均亮度小于20時,α取值為0~0.2時,會有較好的增強結果,可適當根據待增強圖像的平均亮度調整α的值,以獲得更好的增強效果。
本文在分析現有動態直方圖技術的缺陷和研究低照度圖像直方圖的特性后,提出了一種結合直方圖分布范圍的分割方式,并通過設置參數m來求取祛噪后的直方圖分布范圍,達到了合理分配重映射區間和亮度校正的目的。又針對低照度圖像增強過程中容易出現的過增強問題,提出了帶參數α的調整量來自適應的校正直方圖中的較小值,在防止灰度級合并的同時抑制過增強現象。對比實驗結果表明,本文所提出的ACDHE算法在提升圖像亮度和保留細節信息上優于其它對比算法,增強結果自然,且對于不同類型、不同程度的低照度圖像都能取得良好的增強效果。