張 明,白松浩,邢姍姍
(中國人民解放軍95899部隊,北京100085)
基于金字塔分解的自動色彩均衡算法
張 明,白松浩,邢姍姍
(中國人民解放軍95899部隊,北京100085)
針對傳統(tǒng)自動色彩均衡算法運算速度慢、暗區(qū)細(xì)節(jié)不明顯的缺點,提出一種基于金字塔分解的自動色彩均衡算法。使用對數(shù)運算將暗區(qū)圖像映射到更適合人眼觀察的顏色空間,利用高斯卷積核構(gòu)造圖像金字塔圖像序列,從金字塔最頂層圖像開始進(jìn)行自動色彩均衡,并對增強(qiáng)結(jié)果逐層進(jìn)行細(xì)化,直至金字塔最底層得到最終的增強(qiáng)圖像,細(xì)化時只需要少量像素間的比較操作,因而大幅降低了運算復(fù)雜度。實驗結(jié)果表明,該算法能有效改善圖像質(zhì)量,保持圖像細(xì)節(jié)信息,并且計算復(fù)雜度較低,便于實際應(yīng)用。
圖像增強(qiáng);自動色彩均衡;金字塔分解;retinex理論;色彩恒常性;對數(shù)運算
色彩恒常性是指在不同光照條件下,人眼對物體顏色有著恒定感知的能力。在圖像處理領(lǐng)域,人們提出了一些顏色不變性模型來模擬人眼視覺特性以進(jìn)行圖像增強(qiáng),其中以retinex和自動色彩均衡(Automatic Color Equalization,ACE)算法為主要代表。
retinex理論認(rèn)為,人眼感知的顏色由物體表面的反射性質(zhì)決定,而與光照信息無關(guān)。其代表算法有迭代算法[1]、中心/環(huán)繞算法[2-3]、隨機(jī)路徑算法[4]等。其中迭代算法計算量較大,難以自適應(yīng)地確定適當(dāng)?shù)牡螖?shù),而迭代次數(shù)對增強(qiáng)結(jié)果有很大影響;中心/環(huán)繞算法運算使用高斯尺度算子估計光照圖像,計算速度較快,但在圖像邊緣附近容易產(chǎn)生光暈現(xiàn)象;隨機(jī)路徑算法難以正確估計路徑的起始點,容易導(dǎo)致圖像失真。
ACE算法[5-6]也充分利用了retinex思想,強(qiáng)調(diào)圖像的感知色彩源于與周圍色彩強(qiáng)度的對比,并在此基礎(chǔ)上融合了“灰界”和“白帶”2個色彩均衡的模型,有很好的增強(qiáng)效果。但ACE算法對于圖像中的所有像素都要進(jìn)行兩兩差分運算,計算復(fù)雜度極高。本文引入多尺度分層的金字塔結(jié)構(gòu),逐層進(jìn)行ACE增強(qiáng)計算,利用上層的增強(qiáng)結(jié)果對下一層進(jìn)行有效預(yù)測,以提高算法的計算效率。
為敘述方便,本文所述的圖像均是歸一化到[0,1]的浮點數(shù)圖像。
ACE算法包括2個部分:強(qiáng)度空間調(diào)整和動態(tài)映射。強(qiáng)度調(diào)整的公式如下:
式中,I(·)代表輸入圖像;d(x,y)表示點x,y之間的距離;sα(.)是對比度調(diào)節(jié)函數(shù),用來增強(qiáng)小的圖像細(xì)節(jié),并抑制過強(qiáng)的邊緣信息,可以采用如下公式:
計算得到的Rc(x)已經(jīng)獲得了較好的增強(qiáng)效果,但其數(shù)據(jù)大多超出了顯示范圍,有必要對其進(jìn)行線性映射:
當(dāng)d(x,y)≡1,α→∞時,ACE算法就相當(dāng)于全局直方圖均衡算法。
在現(xiàn)有研究文獻(xiàn)中,ACE的改進(jìn)算法主要集中對調(diào)節(jié)函數(shù)sα(.)、距離函數(shù)d(x,y)和映射方式進(jìn)行調(diào)整[5-6],也有將ACE應(yīng)用到HSV、對數(shù)域[7]等方面的研究,使得圖像在增強(qiáng)細(xì)節(jié)的同時保持顏色不失真。在提高算法效率方面,可以通過選取部分像素進(jìn)行差分運算[8]、變分方程[9]、模板卷積[10]、多項式逼近[11]等方式,都在一定程度上提高了算法效率。
3.1 圖像預(yù)處理
在對ACE算法實驗中發(fā)現(xiàn),如果輸入圖像的光照變化較大,原始ACE算法對暗區(qū)細(xì)節(jié)信息不能很好的增強(qiáng)顯示,因此,有必要對輸入圖像進(jìn)行非線性映射增強(qiáng)處理。在retinex算法中,一般都要對圖像進(jìn)行對數(shù)運行,從圖1可以看出,log算子本質(zhì)上就是對暗區(qū)像素進(jìn)行了光照增強(qiáng)。
圖1 圖像對數(shù)運算
本文采取了如下的自動公式:
其中,log算子以自然數(shù)e為底,α是權(quán)重因子,α∈[0,1],取值如下:
其中,mean(I)表示圖像的均值,得到的I′(x)用于后續(xù)的圖像增強(qiáng)。
3.2 金字塔運算
由于每一級金字塔圖像Gk均是輸入圖像的不同級別的近似,那么,對每一級{Gk}進(jìn)行ACE增強(qiáng)得到{Lk},也必然是原始圖像ACE增強(qiáng)結(jié)果的近似。換言之,可以從金字塔的最高層開始,逐層計算ACE增強(qiáng)算法,在計算Lk時,可以利用Gk+1的增強(qiáng)結(jié)果Lk+1,即:
其中,pk為{Lk}中上下圖層的細(xì)節(jié)差異,可以通過Gk和來估計。在最頂層LN,只有一個像素點,其值為0.5。在ACE算法中,每個點都與其他所有點進(jìn)行比較,與距離近處點的對比關(guān)系構(gòu)成細(xì)節(jié)信息,與遠(yuǎn)處點的對比關(guān)系構(gòu)成背景信息,因此,只需要計算Gk和中鄰域像素對pk的影響:
其中,Ω是以x為中心的鄰域,M是Ω內(nèi)除中心點外所有像素的個數(shù),對比式(1)可發(fā)現(xiàn),pk即是對Gk,進(jìn)行鄰域ACE增強(qiáng)的差異,除以αM是為了保證通過式(7)、式(8)得到的Lk滿足0≤Lk≤1。本文算法sα(.)采用式(2),d(x,y)使用常規(guī)的歐式距離。
對L0進(jìn)行線性拉伸,得到最終的增強(qiáng)圖像。
在計算流程方面,本文算法和迭代retinex算法[1]有一定的共同點,都采用了圖像金字塔結(jié)構(gòu),逐層進(jìn)行圖像預(yù)測、細(xì)化操作,直到最底層得到最終的增強(qiáng)圖像。兩者的差別主要在于,迭代retinex算法在每一層計算時都要反復(fù)與周圍像素進(jìn)行比較、更新操作,而本文算法采用式(8)只需要計算一次即可,計算復(fù)雜度更低。
算法中有2個主要參數(shù):α和Ω。圖2顯示了不同α值對增強(qiáng)圖像的影響,Ω取邊長為7的方形區(qū)域,可以看出,隨著α值的增加,圖像的增強(qiáng)強(qiáng)度越大,當(dāng)α過大時(見圖2(f)),圖像就會出現(xiàn)較明顯的噪聲,反之,當(dāng)α過小時(見圖2(b)),圖像的部分細(xì)節(jié)信息又不夠凸顯,本文對多幅圖像進(jìn)行主觀評價測試,發(fā)現(xiàn)取得最佳增強(qiáng)效果時的α大多處于區(qū)間[3,5]內(nèi),因此本文取其中間值α=4。
圖3顯示了Ω取不同范圍時對增強(qiáng)圖像的影響(α=4),顯然,Ω值越大,算法的計算復(fù)雜度越高。Ω與圖像對比度有著密切的關(guān)系。隨著Ω區(qū)域的增大,輸出圖像的對比度逐漸增強(qiáng)(更有利于實驗圖中標(biāo)牌文字的識別),當(dāng)邊長大于等于7時,輸出圖像已基本保持不變。因此,本文取邊長為7,以便在不犧牲圖像質(zhì)量的前提下盡可能降低計算復(fù)雜度。
圖2 α對算法的影響
圖3 Ω對算法的影響
將本文算法與傳統(tǒng)ACE算法、文獻(xiàn)[8]快速ACE算法和retinex增強(qiáng)算法進(jìn)行了比較。其中retinex選擇的是MSRCR算法[2],最大尺度為240,尺度數(shù)量為3,對比度增強(qiáng)因子1.2。
傳統(tǒng)ACE算法和文獻(xiàn)[8]算法采用α=4,比較結(jié)果如圖4和圖5所示,可以看出,4種算法都很好地增強(qiáng)了圖像細(xì)節(jié),但MSRCR算法的圖像對比度明顯偏高,圖4(b)和圖5(b)中都出現(xiàn)了較明顯的噪聲;文獻(xiàn)[8]算法由于只選取部分像素進(jìn)行比較運算,導(dǎo)致色彩保持能力偏弱,例如圖4(c)和圖5(c)中背景色彩偏灰;傳統(tǒng)ACE算法的暗區(qū)部分仍然較為昏暗,例如圖4(d)中左下角區(qū)域;而本文算法在細(xì)節(jié)增強(qiáng)和顏色保持方面都有著優(yōu)異的表現(xiàn)。
圖4 4種算法的均衡效果比較1
圖5 4種算法的均衡效果比較2
在計算復(fù)雜度方面,本文算法有著更明顯的優(yōu)勢,傳統(tǒng)ACE算法的時間復(fù)雜度是O(N4),文獻(xiàn)[9]將計算復(fù)雜度降低到O(N3log(N)),文獻(xiàn)[10-11]降低到O(N2log(N)),而本文和文獻(xiàn)[8]都將復(fù)雜度降低到了O(N2)的水平。以大小600× 400的灰度圖像為例,傳統(tǒng)ACE算法中每個像素點需要進(jìn)行600×400次差分和距離運算。文獻(xiàn)[8]每個點減少到3 200次運算(以其實驗參數(shù)計算得到),而本文算法只需要(4/3)×7×7×2次運算和金字塔圖像的構(gòu)建操作。在統(tǒng)一的實驗平臺下(XP系統(tǒng),i3 2.3 GHz處理器,2 GB內(nèi)存,Matlab和c++混合編程),2張測試圖像的運行時間統(tǒng)計如表1所示,可看出本算法在計算效率方面的提升性能。
表1 算法處理時間對比s
本文提出了一種基于金字塔分解的自動色彩均衡算法,該算法采用加權(quán)對數(shù)算子,能夠有效增強(qiáng)圖像細(xì)節(jié)、改善暗區(qū)圖像質(zhì)量,且計算復(fù)雜度較低。實驗結(jié)果表明,本文算法能有效改善圖像質(zhì)量,色彩恢復(fù)自然,具有廣闊的應(yīng)用場景。但該算法離實時處理要求還有較大的差距,因此,繼續(xù)降低計算復(fù)雜度和實現(xiàn)算法并行化是進(jìn)一步研究的內(nèi)容。此外,針對高動態(tài)范圍圖像、遙感圖像、SAR圖像等不同類型圖像,算法的適應(yīng)性研究也將是下一步的研究方向。
[1] Funt B,Ciurea F,McCann J.Retinex in Matlab[J]. Journal of Electronic Imaging,2004,13(1):48-57.
[2] Jobson D J,Rahman Z U,Woodell G A.A Multiscale Retinex for Bridging the Gap Between Color Images and theHumanObservationofScenes[J].IEEE Transactions on Image Processing,1997,6(7):965-976.
[3] Meylan L,Sosstrunk S.High Dynamic Range Image Rendering with a Retinex-based Adaptive Filter[J]. IEEE Transactions on Image Processing,2006,15(9): 2820-2830.
[4] Banic N,Loncaric S.Light Random Sprays Retinex: Exploiting the Noisy Illumination Estimation[J].IEEE Signal Processing Letters,2013,20(12):1240-1243.
[5] Rizzi A,Gatta C,Marini D.A New Algorithm for Unsupervised Global and Local Color Correction[J]. Pattern Recognition Letters,2003,24(11):1663-1677.
[6] Rizzi A,Gatta C,Marini D.From Retinex to Automatic ColorEqualization:IssuesinDevelopingaNew Algorithm for Unsupervised Color Equalization[J]. Journal of Electronic Imaging,2004,13(1):75-84.
[7] 肖志云,李新科,軒 波,等.對數(shù)域中自動色彩均衡化快速算法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報, 2013,25(3):390-396.
[8] 查 煒,汪榮貴,傅劍蜂,等.基于人眼側(cè)抑制機(jī)制的自動色彩均衡化算法[J].計算機(jī)工程,2013,39(1):7-10.
[9] Bertalm M,Caselles V,Provenzi E,et al.Perceptual Color Correction Through Variational Techniques[J]. IEEE Transactions in Image Processing,2007,16(4): 1058-1072.
[10] 袁雪庚,顧耀林.自動色彩均衡快速算法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2005,17(10):2269-2274.
[11] Pascal G.Automatic Color Enhancement(ACE)and Its Fast Implementation[EB/OL].(2012-11-06).http:// dx.doi.org/10.5201/ipol.2012.g-ace.
編輯 金胡考
Automatic Color Equalization Algorithm Based on Pyramid Decomposition
ZHANG Ming,BAI Songhao,XING Shanshan
(95899 Unit of PLA,Beijing100085,China)
An Automatic Color Equalization(ACE)algorithm based on pyramid decomposition is proposed to solve the problems emerge after using traditional ACE,such as low speed,obscure details in dark region.The algorithm utilizes the logarithmic calculation to adjust the image obscure region and employs Gaussian kernel to build image pyramid.Color equalization algorithm is applied at the top level of the image pyramid and the result is iteratively refined layer by layer with comparison between few pixels.The simulation results show that the proposed algorithm can efficiently improve visual quality of the image,preserve the details,reduce the computational complexity and make it more suitable for practical applications.
image enhancement;Automatic Color Equalization(ACE);pyramid decomposition;retinex theory;color constancy;logarithmic operation
張 明,白松浩,邢姍姍.基于金字塔分解的自動色彩均衡算法[J].計算機(jī)工程,2015,41(2):215-218,223.
英文引用格式:Zhang Ming,Bai Songhao,Xing Shanshan.Automatic Color Equalization Algorithm Based on Pyramid Decomposition[J].Computer Engineering,2015,41(2):215-218,223.
1000-3428(2015)02-0215-04
:A
:TN919.81
10.3969/j.issn.1000-3428.2015.02.041
張 明(1981-),男,博士后,主研方向:圖像處理,視頻壓縮;白松浩,教授、博士;邢珊珊,工程師、碩士。
2013-11-29
:2014-04-17E-mail:zmshy2128@163.com