段瑞,郭鋮
(中國傳媒大學(xué) 信息工程學(xué)院,北京 100024)
高動態(tài)范圍圖像和普通數(shù)字圖像相比,是一種能完整記錄場景光照數(shù)據(jù)的新興圖像解決方案,它可以展現(xiàn)出和真實(shí)場景相同的視覺感官。真實(shí)場景中光照的動態(tài)范圍可以達(dá)到,而普通的顯示設(shè)備的動態(tài)范圍只有102,由于在動態(tài)范圍方面的巨大差距,高動態(tài)范圍圖像無法直接在顯示設(shè)備上輸出。色調(diào)映射算法通過將高動態(tài)范圍圖像映射為一張和真實(shí)場景具有相同感官的普通圖像,進(jìn)而解決了高動態(tài)范圍引發(fā)的矛盾。
近年來隨著高動態(tài)范圍圖像的普及,色調(diào)映射算法已經(jīng)成為學(xué)界研究的熱點(diǎn)。Reinhard[1]等人首先提出了一種基于攝影理論中遮光-曝光思想的色調(diào)映射方法。Reinhard首先通過全局平均亮度將整幅圖像壓縮到一個較小的范圍中,然后利用兩個不同高斯核函數(shù)對圖像塊分別做卷積運(yùn)算的差值等操作進(jìn)而形成中心-環(huán)繞函數(shù),最后用該估值結(jié)合前面的全局壓縮進(jìn)行色調(diào)映射。Durand[2]等人首先提出了一種基于保邊濾波分層處理的色調(diào)映射算法。該方法的貢獻(xiàn)在于使用雙邊濾波將圖像分為基礎(chǔ)層和細(xì)節(jié)層,雙邊濾波一種既可以保留圖像物體邊緣又可以模糊物體內(nèi)部的濾波方法,動態(tài)范圍的壓縮僅對基礎(chǔ)層進(jìn)行。Ji[3]等人提出了一種基于K均值聚類和自適應(yīng)gamma值的色調(diào)映射算法。該方法首先對輸入圖像進(jìn)行全局壓縮,然后用雙邊濾波的對圖像進(jìn)行分層,得到的結(jié)果作為k均值聚類的輸入,由此將圖像分割為若干個區(qū)域。計算每個聚類簇中心可得到該類的gamma值,最終由全局壓縮后的圖像和gamma值決定最終色調(diào)映射的結(jié)果圖像。Li[4]等人提出了一種基于視覺顯著性的色調(diào)映射算法。該算法將顯著性加權(quán)和邊緣加權(quán)加入到導(dǎo)引濾波之中,利用導(dǎo)引濾波將輸入圖像分為基本層和細(xì)節(jié)層,而顯著性加權(quán)用來進(jìn)行全局色調(diào)壓縮。
本文提出了一種基于L0梯度最小化濾波和對比度受限直方圖均衡的色調(diào)映射算法。由于運(yùn)用高斯核函數(shù)的圖像分層很容易造成光暈現(xiàn)象,本文使用L0梯度最小化濾波抑制了光暈現(xiàn)象的發(fā)生;而經(jīng)過壓縮之后的圖像往往對比度較弱,本文提出了基于比例分配的對比度受限直方圖均衡,結(jié)果圖像的對比度得到了顯著提升。
本文沿用Retinex算法的思想,將圖像分為基礎(chǔ)層和細(xì)節(jié)層來處理,但Retinex算法使用的高斯濾波在運(yùn)算過程中會造成梯度彌散,從而在最終的效果中會產(chǎn)生光暈現(xiàn)象,所以本文使用L0梯度最小化濾波代替了高斯濾波;而單純地經(jīng)過全局壓縮后,恢復(fù)圖像的對比度提升不足,最終圖像細(xì)節(jié)部分不突出,本文經(jīng)過研究使用基于比例分配的對比度受限直方圖均衡解決了這一問題。本文所提出的色調(diào)映射算法流程圖如圖1所示。首先利用Reinhard全局壓縮將高動態(tài)范圍數(shù)據(jù)歸化到一個合理的區(qū)間,然后利用L0梯度最小化濾波將圖像分為基礎(chǔ)層和細(xì)節(jié)層,針對全局壓縮后對比度較弱的問題,對基礎(chǔ)層進(jìn)行基于比例的對比度受限直方圖均衡,然后合并細(xì)節(jié)層和基礎(chǔ)層,利用原有的圖像顏色信息進(jìn)行Gamma校正。
圖1 本文算法流程圖
讀入高動態(tài)范圍圖像后,首先進(jìn)行全局壓縮。Reinhard全局壓縮是在色調(diào)映射算法中經(jīng)常被用到的一種大幅度壓縮方法。該方法首先計算整幅圖像的平均對數(shù)亮度:
(1)
其中,N為圖像中像素值的個數(shù),Lw(x,y)是像素點(diǎn)的亮度值,δ是一個很小的修正值,作用是避免純黑像素點(diǎn)對運(yùn)算的影響。
那么可以利用平均對數(shù)亮度對全部像素點(diǎn)進(jìn)行縮放,可得式如下:
(2)
其中,L(x,y)為經(jīng)過縮放后的像素值,α為一個比例調(diào)整系數(shù)。
然后通過引入Lwhite就可以將像素值控制在可以顯示的動態(tài)范圍之中:
(3)
其中,Lwhite代表能被映射到白色的最小亮度值
在獲得了全局壓縮后的亮度后La(x,y),考慮將圖像數(shù)據(jù)進(jìn)行分層處理。
基于中心環(huán)繞方程的Retinex理論認(rèn)為,物體在人眼中形成的視覺感官由兩部分構(gòu)成,數(shù)學(xué)模型如下:
S(x,y)=R(x,y)*L(x,y)
(4)
其中,S表示人眼最終形成的視覺映像,R表示由物體本身決定的反射性質(zhì),L表示入射光因素。
并且Retinex理論指出,圖像的動態(tài)范圍主要是由入射光因素造成的,所以如果能夠準(zhǔn)確的分離出入射光因素,那么就能大尺度地壓縮圖像的動態(tài)范圍。Retinex理論中,入射光形成的大尺度的低頻信息,可以把這一部分稱為圖像的基礎(chǔ)層;而物體本身性質(zhì)決定的細(xì)節(jié)紋理等高頻信息,可以把這一部分稱為細(xì)節(jié)層。
對式4取對數(shù)并移項(xiàng)得:
logR(x,y)=logS(x,y)-logL(x,y)
(5)
而入射光因素可以用一個卷積核和原圖的卷積近似表示,上可以改寫為:
logR(x,y)=logS(x,y)- log(S(x,y)?F(X,Y))
(6)
上式的本質(zhì)就是通過一個卷積核將圖像亮度分為由入射光因素形成的基礎(chǔ)層和由物體本身性質(zhì)形成的細(xì)節(jié)層。
而卷積核的選取就決定了分層的是否準(zhǔn)確和合理。最初學(xué)界提出了使用高斯濾波作為卷積核進(jìn)行分層,隨后發(fā)現(xiàn)由于高斯函數(shù)的模糊效應(yīng)使得圖像邊緣被模糊,經(jīng)過色調(diào)映射后會出現(xiàn)光暈現(xiàn)象。本文在前人的基礎(chǔ)上,使用L0梯度最小化濾波作為卷積核,有效地解決了光暈現(xiàn)象的問題。
Xu[5]等人在2011年提出了L0梯度最小化濾波。L0梯度最小化濾波受到加權(quán)最小二乘濾波的啟發(fā),通過全局控制非0梯度的數(shù)量來保留物體的邊緣,并平滑物體的內(nèi)部。
設(shè)I為輸入的原圖像,S為所求的輸出圖像,則某個像素點(diǎn)p的梯度可以表示為:
▽Sp=(?xSp,?ySp)T
(7)
那么所求圖像中梯度不為0的像素的個數(shù)可以表示為:
C(S)=#{P|?xSp|+|?ySp|?0}
(8)
式8表明,只要點(diǎn)p在垂直或者水平方向有一個梯度不為0,則認(rèn)為其梯度不為0。
最后用最小均方差的最優(yōu)化框架表示所求問題:
(9)
其中,I為輸入的原圖像,S為所求的輸出圖像,第一項(xiàng)保證了圖像結(jié)構(gòu)的整體相似性,第二項(xiàng)保證了圖像整體的平滑性。λ為平衡結(jié)構(gòu)項(xiàng)和平滑項(xiàng)的比例系數(shù),λ越大則輸出圖像越平滑,否則圖像越尖銳。L0梯度最小化濾波利用兩者之間的矛盾通過最小化均方差實(shí)現(xiàn)了保留邊緣平滑內(nèi)部的效果。
利用L0梯度最小化濾波就可以將Ld(x,y)分為細(xì)節(jié)層DL和基礎(chǔ)層BL。
得到了圖像的基礎(chǔ)層BL之后,由于之前的全局壓縮導(dǎo)致圖像的局部對比度減弱,所以需要提升圖像的局部對比度以符合人眼的感官效果。
對比度受限的直方圖均衡化算法是很經(jīng)典的提升對比度算法。Zuiderveld[6]等人認(rèn)識到圖像均衡化存在的問題在于圖像直方圖中尖峰的處理,那么如果用某種方法限制圖像直方圖中的尖峰,就可以避免直方圖均衡中出現(xiàn)的問題。由數(shù)學(xué)推導(dǎo)可以知道,圖像的局部對比度直接與圖像直方圖的尖峰正相關(guān),所以對比度受限的直方圖均衡化算法就被構(gòu)造出來。
受到自適應(yīng)直方圖算法的啟發(fā),對比度受限直方圖算法將圖像劃分成大小相同互不重疊的矩陣塊,對每個塊做對比度受限直方圖均衡。對比度受限直方圖均衡與傳統(tǒng)直方圖均衡的最大區(qū)別在于其設(shè)定了一個灰度值出現(xiàn)頻率的閾值,當(dāng)某個灰度值像素點(diǎn)出現(xiàn)的頻率超過閾值時,就將超過閾值的部分裁剪下來分配給所有灰度值,然后再用像素值所處矩陣塊的鄰域矩陣塊進(jìn)行像素插值進(jìn)而完成最終的圖像變換,實(shí)現(xiàn)圖像對比度的提升。
對比度受限的直方圖均衡算法具體做法如下:
1)首先,將圖像分成若干個大小相同且互不重疊的矩形塊,每個矩形塊內(nèi)的像素數(shù)為M。
2)對每個子塊計算其直方圖,用h(k)表示,k為此子塊中存在的灰度級數(shù),L代表總的灰度數(shù)。
3.裁剪閾值用如下公式確定:
(10)
其中,ClipLimit時最終裁剪的閾值,normClipLimit則是裁剪參數(shù),它決定了裁剪的閾值。直方圖裁剪過程示意圖如下圖2:
圖2 對比度受限直方圖均衡的裁剪過程示意圖
4.將裁剪下來的像素點(diǎn)重新分配到每個灰度值中,分配方法采用平均分配。使用公式表達(dá)為:
(11)
avgBincr=totalE/L
(12)
其中,totalE是直方圖中所有超過閾值的像素數(shù),avgBlncr是平均分到每個灰度級的像素數(shù)。
5.再對分配過的直方圖進(jìn)行直方圖均衡。
有時,經(jīng)過一次經(jīng)過裁剪和均衡形成的直方圖中的某部分又超過了閾值,所以往往需要迭代地進(jìn)行(4)和(5)這兩步,直至沒有超過閾值的灰度級數(shù)。
到底為止,每個子塊都進(jìn)行了對比度受限的直方圖均衡算法,局部對比度都受到了限制,但直接將其作為結(jié)果會發(fā)現(xiàn),因?yàn)榉謮K的原因,使得圖像的塊效應(yīng)嚴(yán)重,所以引入了后面的塊插值部分。
6.由于需要消除分塊造成的塊邊界效應(yīng),所以使用基于鄰域塊中心像素的插值算法來計算非塊中心的像素點(diǎn)的最終值。
在原始的對比度受限的直方圖算法中,直方圖中超閾值的像素被剪切并平均的分給每一個灰度值,但經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),如果分配給較暗和較亮的區(qū)域會出現(xiàn)一些噪聲或者過曝過暗的現(xiàn)象,為了消除這些噪聲,此本文提出一種基于比例分配的對比度受限直方圖均衡化算法。
設(shè)圖像塊內(nèi)的灰度值概率密度函數(shù)為:
p(k)=nk/n,k0,1,,N-1
(13)
其中,n代表圖像中總像素的個數(shù),nk是所有灰度值為k的像素點(diǎn)數(shù)量。
定義一個參數(shù)∝,0<∝<0.5,設(shè)某灰度值imin和某灰度值imax,則∝和imin、∝和imax分別滿足如下關(guān)系:
(14)
(15)
上式表明存在一個參數(shù)∝,灰度值在[0,imin]范圍內(nèi)的像素點(diǎn)的累計概率密度為∝,灰度值在[imax+1,255]范圍內(nèi)的像素點(diǎn)的累計概率密度為∝?!刂悼梢愿鶕?jù)3σ準(zhǔn)則設(shè)定:
(16)
其中,μ為子塊圖像像素的平均亮度,σ子塊圖像像素的標(biāo)準(zhǔn)差。
當(dāng)子塊的直方圖中存在超過閾值的像素時,裁剪下來的像素不再按照均分的方式分配給各個灰度值,而是將圖像灰度值分為兩部分,即灰度值為[imin,imax]和灰度值為[0,imin)∪(imax,255],兩部分分到的像素數(shù)按照以下規(guī)則:
avgBlncr(i)=
(17)
式(17)表明,被裁剪的像素不再均勻的分配給每個灰度級,而是將灰度級按照分為兩部分,按照這兩部分的比例分配所能增加的像素數(shù),在兩部分內(nèi)部再按平均原則進(jìn)行分配。
將基于比例分配的對比度受限直方圖均衡化作用于基礎(chǔ)層BL,得到新的基礎(chǔ)層數(shù)據(jù)nBL,再將nBL和細(xì)節(jié)層DL結(jié)合,即可得到初步的圖像亮度數(shù)據(jù)Lnew。
由于色調(diào)映射算法是對亮度數(shù)據(jù)進(jìn)行運(yùn)算的,所以為了保留原來的顏色信息,并且使圖像更加符合人眼的視覺特性,引入基于顏色信息的Gamma校正。
首先在讀入高動態(tài)范圍圖像時,計算像素數(shù)據(jù)各顏色通道所占比例:
Y=0.299*R+0.587*G+0.144*B+10-6
(18)
(19)
其中,10-6是為了防止純黑點(diǎn)的亮度值作為分母。
最終圖像各顏色通道的數(shù)值由Lnew和各原通道比例共同運(yùn)算得到。定義飽和度值為s,Gamma校正值,最終可得RGB的結(jié)果為:
Rnew=((CR)S*Lnew)γGnew=((CG)S*Lnew)γBnew=((CB)S*Lnew)γ
(20)
由此就得到了最終的色調(diào)映射圖像。
圖像質(zhì)量評價主要分為主觀質(zhì)量評價和客觀質(zhì)量評價。主觀質(zhì)量評價是通過人眼對圖像的適應(yīng)度和滿意度來衡量結(jié)果的優(yōu)劣,而客觀質(zhì)量評價是通過對圖像某些特征的量化,通過合理的數(shù)學(xué)模型,將圖像質(zhì)量分?jǐn)?shù)化。由于不同的色調(diào)映射算法產(chǎn)生的結(jié)果不同,本文通過主觀評價和客觀評價兩種評價方法來衡量本文提出的色調(diào)映射算法,參照對象選用了5種經(jīng)典的色調(diào)映射算法,以證明所提色調(diào)映射算法的有效性。
本文選用三張不同的高動態(tài)范圍圖像,分別使用5種經(jīng)典算法和本文所提算法進(jìn)行色調(diào)映射,逐一分析所得結(jié)果。
本次采用三幅不同的高動態(tài)范圍圖像,運(yùn)用不同的色調(diào)映射算法分別得到如圖3、圖4兩組結(jié)果:
(a)圖為本文所提算法結(jié)果 (b)圖為Mantink算法結(jié)果 (c)圖為Durand算法結(jié)果
(d)圖為Reinhard算法結(jié)果 (e)圖為Drago算法結(jié)果 (f)圖為iCAM06算法結(jié)果圖3 desk不同色調(diào)映射結(jié)果
如圖3所示,Mantiuk算法在亮區(qū)的對比度較弱且明暗層次較少;Durand算法在暗區(qū)的層次則不夠豐富,桌椅的細(xì)節(jié)都沒有體現(xiàn)出來;Reinhard算法無大范圍抑制高亮的缺點(diǎn)暴露出來,整幅圖像出現(xiàn)過曝現(xiàn)象;Drago算法對于顏色的恢復(fù)則較弱,飽和度不足;iCAM06對于本圖則抑制過度,導(dǎo)致整幅圖像的偏灰。本算法層次性較好,對比度明顯,在高亮區(qū)域的表現(xiàn)有明顯的優(yōu)勢。
如圖4所示,Mantiuk算法雖然保留了細(xì)節(jié)信息,但導(dǎo)致整幅圖像的亮度過低;Reinhard算法、Drago算法和Durand算法在高亮區(qū)域的細(xì)節(jié)丟失;iCAM06算法保留顏色信息的能力較突出且層次豐富;本算法的優(yōu)勢在于保留了原圖像中的彩色信息,但局部噪聲也被放大了。
(a) (b) (c)
(d) (e) (f)圖4 okas不同色調(diào)映射結(jié)果
由于不同的色調(diào)映射算法作用同一副高動態(tài)范圍圖像會得到不同的結(jié)果圖像,但某些結(jié)果圖像之間的差別人眼是幾乎無法判別的,此外還存在個人喜好因素的影響,所以沒有適當(dāng)?shù)纳{(diào)映射客觀質(zhì)量評價標(biāo)準(zhǔn),是無法對色調(diào)映射算法做出比較的,進(jìn)而無法指明色調(diào)映射算法下一步的改進(jìn)方向。
TMQI指數(shù)[7]是目前學(xué)界用來評價色調(diào)映射算法的主流客觀評價標(biāo)準(zhǔn)。TMQI指數(shù)主要從兩個方面來衡量色調(diào)算法的優(yōu)劣:1.人類視覺系統(tǒng)對圖像的結(jié)構(gòu)性信息具有選擇傾向性,也就是說結(jié)構(gòu)性信息更能給人留下深刻的印象,所以結(jié)構(gòu)保真度是質(zhì)量評價的重要參數(shù)。2.圖像的自然屬性,即是否與人眼觀測的真實(shí)場景具有相同的感受,且TMQI中將自然屬性量化,加入到最終的質(zhì)量評價當(dāng)中。
對上述三組圖像結(jié)果求TMQI得表1。
由表1可知,本文所提算法在客觀質(zhì)量方面也優(yōu)于一些經(jīng)典算法,具備一定的有效性。本算法的優(yōu)點(diǎn)在于對局部對比度的增強(qiáng)并且能恢復(fù)原圖中的色彩信息。
表1 色調(diào)映射圖像TMQI
本文提出了一種基于梯度最小化濾波和對比度受限直方圖均衡的色調(diào)映射算法。其中通過梯度最小化濾波進(jìn)行了圖像分層,抑制了光暈現(xiàn)象的發(fā)生,并且起到了圖像增強(qiáng)的作用;使用了基于比例分配的對比度受限直方圖均衡來提升全局壓縮后的對比度,同時又引入了顏色比例信息來保證圖像色偏現(xiàn)象的發(fā)生,在主客觀實(shí)驗(yàn)中都有較好的表現(xiàn)。