姚洪濤,李鑫巖
(長春理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,長春 130022)
RGB空間的HDR圖像合成與色彩調(diào)節(jié)算法
姚洪濤,李鑫巖
(長春理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,長春130022)
相機(jī)的成像原理決定了它不像人眼一樣有很強(qiáng)的適應(yīng)性,對于一些亮暗分明的場景,只能取亮或暗的部分而無法兼顧。高動態(tài)范圍圖像將一組亮暗程度不同的圖像,取出它們的優(yōu)質(zhì)區(qū)域,然后合成到一起,從而兼顧了場景的亮暗部分。合成HDR圖像首先需分別標(biāo)定R、G、B通道相機(jī)的響應(yīng)曲線,然后通過該曲線可得到圖像對應(yīng)通道每個(gè)像素點(diǎn)的照度值,再使用色調(diào)映射算法就可將像素點(diǎn)照度值轉(zhuǎn)換成灰度值顯示在屏幕上。然而在RGB空間下傳統(tǒng)的色調(diào)映射算法會壓縮R、G、B通道的顏色差異,導(dǎo)致圖像顏色失真,由此提出了一種色彩調(diào)節(jié)的算法,該算法首先提取原始序列圖的顏色控制系數(shù),然后用該系數(shù)調(diào)整色調(diào)映射算法產(chǎn)生的顏色差異,從而使合成圖的顏色與序列圖保持一致。
動態(tài)范圍;響應(yīng)曲線;照度值;色調(diào)映射;色彩調(diào)節(jié)
人眼能夠分辨的亮度范圍很廣,從夜視閾值到強(qiáng)光閃約有1010量級,人的視覺系統(tǒng)在同一時(shí)間能夠適應(yīng)的亮度范圍約為104量級。用Lm和Ln分別表示某場景中亮度的最大值和最小值(單位cd/m2),其比值Lm/Ln為該場景下的動態(tài)范圍(Dynamic Range)。對于普通的數(shù)字圖像,其動態(tài)范圍為100∶1,這遠(yuǎn)遠(yuǎn)達(dá)不到人類肉眼能夠分辨的動態(tài)范圍10000∶1,普通的數(shù)字圖像顯示高動態(tài)范圍的場景不是在明亮處過度曝光,無法還原場景中的細(xì)節(jié),就是陰暗的部分曝光不足導(dǎo)致場景無法分辨。高動態(tài)范圍圖像(High-Dynamic Range Image)是一種可以表示實(shí)際場景中亮度大范圍變化的圖像,圖像中的像素值正比于場景中對應(yīng)點(diǎn)的實(shí)際亮度值。它可以將場景中亮區(qū)域和暗區(qū)域的細(xì)節(jié)較好保留下來。
對于彩色圖像來說,通常需要分別對R、G、B通道進(jìn)行合成,然而使用傳統(tǒng)方式的色調(diào)映射算法,會導(dǎo)致R、G、B通道的顏色差異被壓縮,從而產(chǎn)生的合成圖往往是色彩失真的。本文針對傳統(tǒng)的色調(diào)映射進(jìn)行改進(jìn),在色調(diào)映射算法中添加色彩調(diào)節(jié)算法,就可以解決RGB空間下高動態(tài)范圍圖像顏色失真的問題。
高動態(tài)范圍圖像合成算法要求必須使用兩幅或以上圖像來進(jìn)行合成,由于拍攝條件所限,使用的圖像數(shù)越多使其拍攝難度越大,導(dǎo)致其應(yīng)用就越受限。本文使用兩幅圖像合成HDRI,這兩幅圖像是同一場景下的兩幅曝光程度不同的圖像,一幅為低曝,一幅為過曝,分別如圖1(a)、(b)所示,圖1(c)為該場景的自動曝光圖像。圖(a)、(b)、(c)的曝光時(shí)間分別為0.001s、0.0167s、0.004s。通過觀察圖(a)、(b)可看出圖像的曝光程度不同,其細(xì)節(jié)展現(xiàn)就不同,將圖(c)與圖(a)、(b)對比就會發(fā)現(xiàn)對于高動態(tài)范圍場景,自動曝光的圖像不能將該場景的亮暗細(xì)節(jié)都展現(xiàn)出來??梢娫谶@種場景下,對圖像進(jìn)行HDR合成是十分必要的。RGB空間下合成HDR圖像的過程包括相機(jī)響應(yīng)曲線的標(biāo)定,HDR合成,如需將HDR圖像在普通顯示設(shè)備顯示出還要對其進(jìn)行色調(diào)映射。
1.1相機(jī)響應(yīng)曲線的標(biāo)定
由相機(jī)的成像原理可知某場景中的實(shí)際亮度值與其對應(yīng)的圖像中的像素值間存在著某種非線性的映射關(guān)系,這種映射關(guān)系就是所要求的相機(jī)響應(yīng)曲線,標(biāo)定該曲線是合成HDRI的關(guān)鍵。
已知相機(jī)的曝光量Y與相機(jī)鏡頭的照度E和快門時(shí)間Δt存在關(guān)系式:
整個(gè)相機(jī)成像過程中某些非線性的映射的組合產(chǎn)生了曝光量Y到最終像素值Z的某種非線性關(guān)系:其中,式(2)的輸入是圖像的的曝光時(shí)長和像素點(diǎn)照度值。用Δtj表第幅 j圖像的曝光時(shí)間,用Ei表示像素點(diǎn)i對應(yīng)場景點(diǎn)的照度,從而可得:
Zij為第 j幅圖像第i個(gè)像素點(diǎn)的像素值。令 f單調(diào),則f可逆,對式(3)逆變換并取對數(shù):式(4)中Δt為已知,Zij取值離散且有限(0-255),目標(biāo)求Inf-1(Zij)和Ei。用N表示每幅圖像中像素點(diǎn)的個(gè)數(shù),用M表示序列圖像的張數(shù)。由此對Inf-1(Zij)和Ei的求解轉(zhuǎn)化成了對最小二乘目標(biāo)函數(shù)的求解:
根據(jù)大量的實(shí)驗(yàn)數(shù)據(jù)[1]可知,灰度級極限附近的像素點(diǎn)噪聲比較嚴(yán)重,使得這些點(diǎn)可靠性降低。因此需要在目標(biāo)方程組中加一個(gè)權(quán)值函數(shù)h(z),式(5)就變成:
權(quán)值函數(shù)使權(quán)重靠近灰度值極限值的權(quán)重最小,靠近灰度值中間點(diǎn)的權(quán)重最大。所引入權(quán)值函數(shù):
其中Zmin和Zmax分別為Z域的最大值和最小值,該函數(shù)是一個(gè)三角帽型函數(shù)。令F(Zij)=Inf-1(Zij),在式(6)中還需引入平滑項(xiàng)F''(z)=F(z-1)-2F(z)+ F(z+1)來平滑曲線。最終目標(biāo)函數(shù)就變成:
其中參數(shù)l用來調(diào)整平滑項(xiàng)的權(quán)重。
圖1 一組曝光時(shí)長不同的圖像
此外需給系統(tǒng)加兩個(gè)限制條件:(1)設(shè)128灰度的像素點(diǎn)是單位曝光點(diǎn),這樣可以確定一個(gè)曲線水平位置的方程F(128)=0;(2)為了使函數(shù)曲線的形狀唯一,要求系統(tǒng)是靜定的。每幅圖像的每個(gè)采樣像素點(diǎn)都對應(yīng)一個(gè)方程,所以共M×N+1個(gè)方程構(gòu)成了一個(gè)線性方程組。由于相機(jī)響應(yīng)函數(shù)F(z)共有256組值,所以可不用求出F(z)的表達(dá)式,只需解出256組F(z)值即可。對于F(z),無需M×N+1個(gè)方程就可以標(biāo)定其相機(jī)響應(yīng)曲線。設(shè)n為求系統(tǒng)解時(shí)每個(gè)通道所需像素點(diǎn)的個(gè)數(shù),M為圖像的張數(shù),由于系統(tǒng)要求靜定,則滿足:
即可使用奇異值分解法求出所有的F(z)。
對于本文要合成的圖像M=2,帶入式(9),解出n>256,即要求每幅圖像每個(gè)通道的采樣點(diǎn)個(gè)數(shù)大于128,本文合成過程中取n=400。由于每幅圖的采樣點(diǎn)足夠多,所以使用均勻采樣就能精確的標(biāo)定相機(jī)響應(yīng)曲線。通過這400個(gè)像素點(diǎn)就可構(gòu)建式(8)的系數(shù)矩陣,通過該系數(shù)矩陣與圖像曝光時(shí)長就可以標(biāo)定出對應(yīng)通道的相機(jī)響應(yīng)曲線。對圖1中的三幅圖由式(8)標(biāo)定相機(jī)響應(yīng)函數(shù)曲線,分別如圖2 (a)、(b)、(c)所示。
1.2HDR圖像的合成算法
R、G、B通道的相機(jī)響應(yīng)函數(shù)曲線標(biāo)定后,就可根據(jù)這些曲線求得所需合成圖像對應(yīng)通道每個(gè)像素點(diǎn)的輻射照度值。從式(4)可推導(dǎo)出:
InΔtj為已知,F(xiàn)(Zij)在上節(jié)中已求出,InEi為所求。由于每張圖片的曝光時(shí)間不同,有些像素點(diǎn)在短曝下效果好,有些在長曝下效果好,為了使這些優(yōu)質(zhì)像素點(diǎn)能展現(xiàn)在HDR圖像上,需將M張圖像融合起來計(jì)算每個(gè)像素點(diǎn)的照度值。同樣出于灰度級極限值附近點(diǎn)的噪聲較嚴(yán)重的原因,需要將這些點(diǎn)的權(quán)重降低,引入上節(jié)提到的三角帽型權(quán)值函數(shù)h(z)。于是,式(11)就變成:
通過該式可得到每個(gè)像素點(diǎn)的輻射照度值,由這些數(shù)據(jù)就可以得到對應(yīng)場景下的高動態(tài)范圍圖像。
1.3HDR圖像的色調(diào)映射
目前常規(guī)的顯示設(shè)備的動態(tài)范圍僅能達(dá)到100∶1,即使得到了高動態(tài)范圍圖像,依然無法在顯示設(shè)備將高動態(tài)范圍圖像的顯示出。因此就需要某種方法將圖像的動態(tài)范圍進(jìn)行縮放,使之匹配只能輸出低動態(tài)范圍的顯示設(shè)備。這種方法叫做色調(diào)映射(Tone Mapping),它用一種算法將真實(shí)世界場景的亮度壓縮到輸出設(shè)備能顯示的范圍。在壓縮亮度范圍過程中,它必須充分保留原場景的對比度,細(xì)節(jié),色調(diào),色飽和度等特性。目前色調(diào)映射算法主要分兩大類:全局色調(diào)映射算法和局部色調(diào)映射算法。
本文采用全局色調(diào)映射算法中的對數(shù)變換算法,可使用下面的公式將場景的照度值E壓縮成圖像的灰度值D:
其中Emax和Emin為場景中照度的最大和最小值,Dmax和Dmin為灰度值的最大和最小值,偏移量τ為圖像的全局亮度控制量。一般來講,手動確定τ是一個(gè)反復(fù)試錯(cuò)的過程,為了減小手動確定τ帶來的誤差和節(jié)約時(shí)間的考慮,需使用一種算法自動確定τ的值。這個(gè)算法可分為三步:
圖2 R、G、B通道的相機(jī)響應(yīng)曲線
(1)計(jì)算場景照度的平均值Eave,如式(13)所示
其中N為圖像像素點(diǎn)的總數(shù),由于場景中某個(gè)點(diǎn)的照度值E(x,y)可能為零,這時(shí)對數(shù)函數(shù)無法計(jì)算,為了避免這種情況出現(xiàn)需要設(shè)置一個(gè)偏移量ε,這個(gè)偏移量的最優(yōu)取值是0.001。
(2)確定中間值k,如式(14)所示:
其中要求k的值必須在0和1之間。常量A和B的值一般分別取0.4和2,中間值k的取值區(qū)間就會在0.2到0.8之間,這是k最優(yōu)取值區(qū)間。
(3)由式(15)使用牛頓迭代法可求出偏移量τ:
由于本文在RGB空間下合成HDR圖像,所以需要分別對R、G、B通道進(jìn)行色階映射。對于R通道,可將式(12)的所有變量都換成R通道下的變量,如式(16)所示:
同樣的G通道、B通道下的算法如式(17)和式(18)所示:
通過式(16)、(17)、(18)可把HDR圖像中的R、G、B分量壓縮成LDR圖像的R、G、B,此時(shí)就可顯示出經(jīng)過色調(diào)映射的HDR圖像。由圖1合成的經(jīng)過色調(diào)映射的HDR圖像如圖3所示。
圖3 經(jīng)過色調(diào)映射的HDR圖像
將圖3與圖1(c)對比可發(fā)現(xiàn)RGB空間下合成高動態(tài)范圍圖像會產(chǎn)生偏色,原因已在引言分析,本節(jié)對傳統(tǒng)的色調(diào)映射算法進(jìn)行改進(jìn),在算法中添加色彩調(diào)節(jié)的部分,使R、G、B通道的顏色差異減小,從而修正圖像偏色的情況。
色彩調(diào)節(jié)部分參考白平衡算法中經(jīng)典的“灰度世界法”,該算法對顏色單一的圖像的色彩調(diào)節(jié)會失效,但是高動態(tài)范圍圖像具有對比強(qiáng)烈、色彩豐富的特點(diǎn),所以該算法可適用于大部分HDR圖像,本文在原算法基礎(chǔ)上進(jìn)行改進(jìn)使其適應(yīng)色調(diào)映射算法。雖然圖1(c)某些場景過亮或過暗導(dǎo)致部分細(xì)節(jié)無法分辨,但該圖顏色與真實(shí)場景是一致的,不存在偏色的情況。所以色彩調(diào)節(jié)可參考自動曝光圖像,提取該圖的R、G、B通道的增益系數(shù)kr、kg、kb,用增益系數(shù)調(diào)整色調(diào)映射算法中的R、G、B分量,就可得到經(jīng)過色彩調(diào)節(jié)的色階映射圖像,假設(shè)自動曝光圖像大小為M×N,則
其中Rij、Gij、Bij分別表示自動曝光圖像R、G、B分量的第i行、第j列像素點(diǎn)的灰度值。用增益系數(shù)kr、kg、kb分別乘以色調(diào)映射算法中的R、G、B分量:
其中DR、DG、DB為色調(diào)映射算法中的R、G、B分量,分別如式(16)、(17)、(18)所示,DR'、DG'、DB'為色彩調(diào)整后色調(diào)映射算法的R、G、B分量,式(20)即為RGB空間下HDR圖像的色彩調(diào)節(jié)算法。
圖4是由式(16)得到的圖像,即經(jīng)過色彩調(diào)節(jié)的圖像,對于該算法得到圖像通過人眼觀察就能看出處理的效果,可與圖3進(jìn)行直觀對比。
圖4 由色彩調(diào)節(jié)算法得到的HDR圖像
本文研究了在RGB空間高動態(tài)范圍圖像的合成算法,雖然HDR圖像的合成是復(fù)雜、耗時(shí)的過程,但是HDR圖像擁有普通圖像不可替代的優(yōu)勢。然而在合成過程中由于RGB空間標(biāo)定相機(jī)曲線是相互獨(dú)立的,使各通道之間失去了聯(lián)系,導(dǎo)致圖像的色彩差異被壓縮,最終顏色表現(xiàn)欠佳。本文根據(jù)經(jīng)典的“灰度世界法”,對色調(diào)映射算法進(jìn)行改進(jìn),參考合成序列圖或自動曝光圖的顏色空間提取增益系數(shù),用該系數(shù)調(diào)整合成圖的色彩差異比例,使合成圖的色彩與原始圖保持一致,克服了RGB空間下合成高動態(tài)范圍圖像偏色的弱點(diǎn)。
[1]P E Debevec,J Malik.Recovering high dynamic range radiance maps from photographs[C].Proceedings of the SIGGRAPH'97,Los Angeles,USA,1997.
[2] T Mitsunaga,S K Nayar.Radiometric self calibration [C].Proceedings of the Computer Vision and Pattern Recognition,F(xiàn)ort Collins,USA,1999.
[3] J Tumblin,H Rushmeier.Tone reproduction for realistic images[J].IEEE Computer Graphics、and Applications,1993,13(6):42-48.
[4]Liu Y,Chan W,Chen Y.Automatic white balance for digital still camera[J].IEEE Trans on Consumer Electronics,1995,41(3):460-466.
[5]S H Park,E D Montag.Evaluating tone mapping algorithms for rendering non-pictorial high-dynamic-range images[J].Journal of Visual Communication and Image Representation,2007,18(5):415-428.
[6]R SZELISKI.Image mosaicing for tele-reality applications[J].IEEE Computer Graphics and Applications,1996,12(5):33-40.
[7] 朱秀明.高動態(tài)范圍圖像的合成及可視化研究[D].杭州:浙江大學(xué),2008.
[8] 王維.數(shù)碼相機(jī)的自動白平衡算法研究及實(shí)現(xiàn)[D].湘潭:湖南科技大學(xué),2014.
[9] 陳軍,胡福喬.YUV空間的彩色圖像HDR合成算法[J].計(jì)算機(jī)工程,2012,38(9):214-216.
HDR Image Composition and Color Adjustment in RGB Space
YAO Hongtao,LI Xinyan
(School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022)
TheprincipleofCamera imaging makes it can’t have the strongadaptabilityashumaneyes,forsome scenes which have a distinct set of tonal steps from light to shadow,normally take either bright or dark parts.In dealing with a set of images of different brightness degree,high dynamic range images take out their high quality region and combinethemtogether,so asto takeintoaccountthe light and darkofscenes.Synthetic HDR images first need calibration channels R,G and B separately of camera response curve,and through this curve we can get their luminance values for each pixel of the image for corresponding channel,and then pixel luminance value can be converted to gray scale values and displayed on the screen by using the tone mapping algorithm.However,in the RGB colorspace,the traditional tone mapping algorithm will compresses the color difference of R,G,B channels,result in color distortion,thus we proposed a color adjustment algorithm which extract color control coefficients of the original sequencefirstly,then adjustingcolor differences of tone mapping algorithmsthroughthecoefficients,so thatthe color of the composite image could keep pace with the sequence diagram.
dynamic range;response curve;luminance values;tone mapping;color adjustment
TP391
A
1672-9870(2015)05-0145-05
2015-09-15
姚洪濤(1973-),男,碩士,副教授,E-mail:278119526@qq.com