張媛媛,張紅英
(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010)
在數(shù)字圖像領(lǐng)域,動態(tài)范圍是指圖像場景中最大亮度值與最小亮度值之比. 圖像的動態(tài)范圍越大,即拍攝圖像時所探測的光照強(qiáng)度范圍越廣,圖像呈現(xiàn)的細(xì)節(jié)信息越豐富. 但由于目前成像設(shè)備技術(shù)的限制,通常只能捕獲有限的動態(tài)范圍,導(dǎo)致所獲得的圖像存在細(xì)節(jié)缺失,與人眼感知的現(xiàn)實(shí)場景不符. 而高動態(tài)范圍(high dynamic range,HDR)圖像相比于普通圖像可提供更大的動態(tài)范圍和更豐富的細(xì)節(jié)信息,與人眼觀察到的場景更相符[1].
隨著科技的發(fā)展,人們對圖像質(zhì)量的要求越來越高,HDR顯示技術(shù)得到快速發(fā)展. 能顯示動態(tài)范圍為105數(shù)量級的顯示屏已被應(yīng)用,但由于價格昂貴,還未得到廣泛使用[2]. 目前大多數(shù)圖像資源都是低動態(tài)范圍(low dynamic range,LDR)的,無法適應(yīng)HDR顯示技術(shù)的發(fā)展. 因此,如何將LDR圖像資源轉(zhuǎn)換成HDR圖像資源受到廣泛關(guān)注. 目前,該領(lǐng)域多數(shù)研究都是利用計算機(jī)圖像處理技術(shù)對LDR圖像進(jìn)行處理生成HDR圖像,主要有多曝光圖像融合和單曝光圖像生成兩種. 多曝光融合的方法需要同一場景中的多幅不同曝光程度的圖像,對場景的靜態(tài)性要求較高,也因?yàn)槠湫枰喾鶊D像,而無法處理一些已有的資源. 單曝光圖像的生成方式是構(gòu)建擴(kuò)展函數(shù)完成圖像動態(tài)范圍的擴(kuò)展,其研究難點(diǎn)在于單幅圖像存在細(xì)節(jié)的缺失以及圖像動態(tài)范圍擴(kuò)展后存在顏色失真的問題. 本文主要考慮單曝光生成的方法.
從單幅圖像生成HDR圖像就是對其動態(tài)范圍進(jìn)行擴(kuò)展. 一幅圖像從低動態(tài)范圍擴(kuò)展到高動態(tài)范圍過程中,反色調(diào)映射[3]是關(guān)鍵. 反色調(diào)映射算子是對色調(diào)映射過程的反變換,其決定了圖像動態(tài)范圍的擴(kuò)展方式以及擴(kuò)展后圖像的動態(tài)范圍大小. 目前已有的單幅圖像生成HDR圖像的方法主要有全局?jǐn)U展、分類擴(kuò)展以及基于這兩種擴(kuò)展模型的衍生模型[4]. 全局?jǐn)U展是對圖像中的每個像素都用相同的擴(kuò)展函數(shù),該類方法通常較簡單,計算速度快,但由于用相同函數(shù)處理,可能對部分區(qū)域處理效果不佳,通常需對該部分區(qū)域進(jìn)行一些其他處理. 分類擴(kuò)展是指根據(jù)LDR圖像中的內(nèi)容對圖像分區(qū),然后再對不同區(qū)域采取不同的策略進(jìn)行處理,該類方法易出現(xiàn)區(qū)域分割的現(xiàn)象. 目前使用較多的是基于全局?jǐn)U展,然后再局部處理的擴(kuò)展模型. Landis[5]提出了一種基于功率函數(shù)的全局算子,對大于閾值的像素點(diǎn)做線性擴(kuò)展,而小于閾值的像素點(diǎn)保留原值,從而產(chǎn)生HDR圖像,該方法計算簡單,但由于未對圖像進(jìn)行修正,因此圖像易出現(xiàn)不連續(xù)現(xiàn)象; Banterle等[6]通過對文獻(xiàn)[7]提出的色調(diào)映射函數(shù)取反的方式得到一個反色調(diào)映射算子,先將圖像映射到一個中等的動態(tài)范圍,再通過中值切割法分離圖像過曝光區(qū)域,然后進(jìn)行過曝光區(qū)域的擴(kuò)展,最后融合得到最終的HDR圖像,但該方法復(fù)雜度高,對硬件的要求較高;Akyüz等[8]通過兩個心理學(xué)實(shí)驗(yàn)提出LDR圖像并非一定要經(jīng)過復(fù)雜的處理才能產(chǎn)生HDR圖像,并提出一種簡單的線性映射算法,但在處理一些圖片時,存在一定的顏色失真; Masia等[9]通過分析已有的反色調(diào)映射算子,提出了一種自適應(yīng)Gamma變換的動態(tài)范圍擴(kuò)展方法,但這種擴(kuò)展方法需要輸入質(zhì)量較高的LDR圖像; Huo等[10]提出了一種基于視網(wǎng)膜反應(yīng)的反色調(diào)映射算法,該算法將亮度通道和顏色通道進(jìn)行分離,只對亮度分量做處理,較好地保留了原始圖像的色彩信息;Kovaleski等[11]提出了一種交叉雙邊的反色調(diào)映射算法,運(yùn)行速度較快,但該方法也存在一定的顏色偏差.
本文提出一種結(jié)合飽和度調(diào)節(jié)的單幅圖像生成HDR圖像的方法. 首先將圖像轉(zhuǎn)換至HSV顏色空間,分離亮度和飽和度信息; 再對亮度分量進(jìn)行反色調(diào)映射,對飽和度分量進(jìn)行線性拉伸;然后根據(jù)飽和度與亮度的相關(guān)性,結(jié)合新亮度,對新飽和度分量進(jìn)行調(diào)整,得到最終的飽和度分量;最后結(jié)合新的各分量,得到HSV顏色空間的HDR圖像,轉(zhuǎn)換至RGB顏色空間得到最終的HDR圖像. 實(shí)驗(yàn)結(jié)果表明,本文方法能在有效擴(kuò)展圖像動態(tài)范圍的同時,避免圖像因飽和度與亮度不匹配導(dǎo)致的泛白現(xiàn)象,能產(chǎn)生更符合人眼視覺特性的HDR圖像.
在數(shù)字圖像處理中,通常用RGB彩色模型. 該模型圖像由紅、綠、藍(lán)3個分量組成,可視為是3幅灰度圖像的堆疊,通過不同的灰度值構(gòu)成一幅彩色圖像. 但該模型3個分量的相關(guān)度較高,在圖像處理過程中,直接對其進(jìn)行處理很容易導(dǎo)致圖像色彩的失真,使人眼對色彩的感知不理想. 因此通常將圖像轉(zhuǎn)換到其他色彩空間進(jìn)行處理. 當(dāng)人眼感知顏色時,通常用色調(diào)、飽和度和亮度描述. 在用單幅圖像生成HDR圖像的過程中,動態(tài)范圍擴(kuò)展后的圖像通常會因?yàn)榱炼鹊母淖兌谷搜蹖ι曙柡投鹊母兄霈F(xiàn)偏差,以至于人眼觀測到的圖像出現(xiàn)泛白現(xiàn)象. 因此,HDR圖像生成過程中不僅要考慮反色調(diào)映射算子的構(gòu)建,還要考慮圖像色彩信息的保留與恢復(fù). HSV彩色模型通過色調(diào)、飽和度和亮度3個分量描述顏色,將亮度信息與色彩信息分離,可以很好地滿足亮度與色彩分離處理的特點(diǎn).
基于上述分析,本文提出一種結(jié)合飽和度調(diào)節(jié)的單幅圖像生成HDR圖像的方法,其算法框架如圖1所示. 算法主要思想是對圖像的亮度和飽和度都做處理,以確保動態(tài)范圍擴(kuò)展后的圖像不會出現(xiàn)因?yàn)榱炼扰c飽和度不匹配而產(chǎn)生的圖像泛白現(xiàn)象. 算法主要步驟如下:
1) 將原始LDR圖像由RGB顏色空間轉(zhuǎn)換到HSV顏色空間;
2) 對亮度分量進(jìn)行反色調(diào)映射,提取高光區(qū)域并進(jìn)行校正,結(jié)合低光區(qū)域,得到新亮度分量;
3) 對飽和度分量進(jìn)行線性拉伸得到一個拉伸后的飽和度分量;
4) 通過原始亮度和飽和度分量計算其相關(guān)系數(shù),并結(jié)合新亮度分量對拉升后的飽和度分量進(jìn)行調(diào)整,得到新飽和度分量;
5) 將新亮度分量與新飽和度分量以及色調(diào)分量相結(jié)合得到HSV色彩空間的HDR圖像,再轉(zhuǎn)換至RGB顏色空間,獲得最終的HDR圖像.
圖1 算法框圖Fig.1 Block diagram of algorithm
HSV顏色空間通過色調(diào)(H)、飽和度(S)、亮度(V)表示顏色,可很好地分離圖像的色彩信息與亮度信息. 當(dāng)圖像的亮度信息發(fā)生改變時,不影響色調(diào)與飽和度之間的關(guān)系,能較好地保留圖像的色彩信息. 將RGB圖像轉(zhuǎn)換到HSV顏色空間的計算公式如下:
V=max{R,G,B},
(1)
其中,max{R,G,B}表示求像素點(diǎn)的RGB分量的最大值,min{R,G,B}表示求像素點(diǎn)的RGB分量的最小值.
本文采用一種非線性變換的S型函數(shù)構(gòu)建反色調(diào)映射函數(shù),公式為
(2)
圖2 不同E值擴(kuò)展前后的變化曲線Fig.2 Variation curves of different E values before and after expansion
其中V為原始圖像亮度,V′為擴(kuò)展后圖像亮度,m為原始圖像亮度最大值和最小值的平均值,E為斜率控制因子.E決定了擴(kuò)展后圖像的動態(tài)范圍,其取值不宜過大,否則圖像易出現(xiàn)截斷現(xiàn)象. 圖2為不同E值對應(yīng)的擴(kuò)展曲線. 由圖2可見,當(dāng)E值增加時圖像有更大的拉升,但當(dāng)E值超過一定范圍時,圖像會出現(xiàn)截斷現(xiàn)象,陰暗區(qū)域的細(xì)節(jié)消失. 圖3為不同E值擴(kuò)展前后圖像對比. 由圖3可見,當(dāng)E=6時,圖像陰暗區(qū)域的細(xì)節(jié)開始消失,當(dāng)E=10時,圖像截斷現(xiàn)象十分明顯. 因此本文考慮E增大暗部細(xì)節(jié)消失的情況,選取E=3.
采用上述函數(shù)對動態(tài)范圍進(jìn)行擴(kuò)展后,圖像的高亮度區(qū)域變得更明亮,而人眼對高亮度區(qū)域的感知很敏感,高亮區(qū)域會影響人眼對周圍區(qū)域的細(xì)節(jié)感知. 為使高亮度區(qū)域更符合人眼的視覺特性,需對其進(jìn)行校正. 本文通過閾值法分離出高亮區(qū)域,公式如下:
(3)
Vh=V′·Vbw,
(4)
其中τ為亮度閾值. 在一幅取值為[0,255]的圖像中,將值大于190的點(diǎn)視為亮點(diǎn),歸一化值約為0.75,將其代入式(2),可求出對應(yīng)的τ值. 經(jīng)計算當(dāng)E=3時,τ=0.77.
圖3 不同E值擴(kuò)展前后圖像對比Fig.3 Comparison of images of different E values before and after expansion
提取出高亮區(qū)域后,先對其進(jìn)行歸一化處理再進(jìn)行Gamma校正,公式如下:
(5)
本文取γ=2.2. 圖像的高亮區(qū)域如圖4所示,其中:(A)為閾值法提取的圖像高亮區(qū)域; (B)為通過Gamma校正的高亮區(qū)域.
圖4 圖像的高亮區(qū)域Fig.4 Highlight area of images
將校正后的高亮區(qū)域先通過線性函數(shù)去歸一化得到校正后的高亮區(qū)域圖像,再結(jié)合擴(kuò)展的其他區(qū)域亮度值得到最終亮度,公式如下:
(6)
圖像經(jīng)過反色調(diào)映射的結(jié)果如圖5所示,其中: (A)為原始圖像;(B)為反色調(diào)映射結(jié)果. 由圖5可見,經(jīng)過反色調(diào)映射的HDR圖像能展現(xiàn)原始圖像較黑暗的一些區(qū)域,但出現(xiàn)了圖像泛白現(xiàn)象,人眼感知的顏色不鮮亮. 導(dǎo)致這種情況的原因是:在動態(tài)范圍擴(kuò)展后,圖像亮度更高,但圖像顏色的飽和度未發(fā)生變化,亮度和飽和度不匹配,使人眼對色彩的感知下降.
圖5 原始圖像與反色調(diào)映射結(jié)果對比Fig.5 Comparison of original image and inverse tone mapping result
飽和度表示顏色的鮮亮程度,即顏色的純度. 飽和度數(shù)值越高,顏色的純度越高; 反之,顏色的純度越低. 為使動態(tài)范圍擴(kuò)展后的圖像更符合人眼對色彩感知的視覺特性,需對飽和度進(jìn)行調(diào)節(jié).
圖6 飽和度分區(qū)示意圖Fig.6 Schematic diagram of saturation zoning
本文采用飽和度分區(qū)統(tǒng)計調(diào)節(jié)算法[12]對飽和度進(jìn)行線性拉伸. 首先,將圖像飽和度平均分為4個區(qū)域,分別表示飽和度很低、飽和度低、飽和度高和飽和度很高,分區(qū)方式如圖6所示; 然后,分別計算4個區(qū)域像素所占的比例,得到分別對應(yīng)4個區(qū)域的比值μ1,μ2,μ3,μ4;最后,通過對比值進(jìn)行加權(quán)計算得到飽和度調(diào)整系數(shù)ΔS,ΔS的經(jīng)驗(yàn)計算公式[13]為
β=-0.40μ1-0.12μ2+0.19μ3+0.83μ4,
ΔS=-4.427β+3.354.
(7)
為使調(diào)整后的飽和度不超過上限值,規(guī)定飽和度超過某個值Sc時改變調(diào)整系數(shù),Sc的值為飽和度拉伸后達(dá)到上限3/4時的原始飽和度值,即原始飽和度值乘以調(diào)整系數(shù)后值為0.75的原始飽和度值. 因此,飽和度拉伸公式為
(8)
由于人眼在圖像很亮或很暗的情況下,對色彩飽和度的感知會下降,對飽和度的變化不敏感,同時,在HSV顏色空間中,飽和度和亮度存在一定的聯(lián)系[14],因此可通過亮度與飽和度的相關(guān)性,對飽和度做出自適應(yīng)調(diào)整,使其更符合人眼對色彩的感知,用公式表示為
S′(x,y)=Se(x,y)+(|V′(x,y)-V(x,y)|)·σ,
(9)
其中:S′(x,y)表示調(diào)整后的飽和度值;Se(x,y)表示分段線性拉伸后的飽和度值;V′(x,y)表示反色調(diào)映射后的歸一化亮度值;V(x,y)表示原始亮度值;σ為亮度與飽和度的相關(guān)系數(shù),計算公式為
(10)
為體現(xiàn)調(diào)節(jié)飽和度對圖像色彩的影響,選用一張色彩鮮艷的圖片進(jìn)行展示,如圖7所示,其中:(A)為原始圖像;(B)為反色調(diào)映射后的圖像; (C)為飽和度線性拉伸結(jié)果; (D)為通過飽和度與亮度相關(guān)系數(shù)調(diào)整后結(jié)果. 由圖7可見,飽和度線性拉升后,圖像顏色有了明顯增強(qiáng). 在結(jié)合相關(guān)系數(shù)調(diào)節(jié)后,人眼觀測到的圖像顏色更鮮亮,更符合人眼的視覺特性.
圖7 飽和度調(diào)節(jié)前后結(jié)果對比Fig.7 Comparison of results before and after saturation adjustment
綜上,可得本文算法步驟如下.
輸入: LDR圖像;
輸出: HDR圖像;
1) 將輸入的LDR圖像從RGB顏色空間轉(zhuǎn)化至HSV顏色空間,分離出色調(diào)(H)、飽和度(S)和亮度(V)分量;
2) 對亮度分量進(jìn)行反色調(diào)映射,得到反色調(diào)映射后亮度分量V′;
3) 對步驟2)的亮度分量V′進(jìn)行高光區(qū)域提取,分離出高光區(qū)域和低光區(qū)域;
4) 將步驟3)分離出的高光區(qū)域先進(jìn)行歸一化后,再進(jìn)行Gamma校正;
5) 將步驟4)得到的高光區(qū)域通過線性函數(shù)去歸一化得到校正后的高光區(qū)域;
6) 將步驟5)得到的高光區(qū)域和步驟3)分離出的低光區(qū)域進(jìn)行融合得到最終的亮度分量V″;
7) 將飽和度分量進(jìn)行線性拉伸,得到拉伸后的飽和度分量S′;
8) 計算原始亮度分量V和原始飽和度分量S之間的相關(guān)性,得到相關(guān)系數(shù)σ;
9) 通過步驟6)得到的亮度分量V″和步驟8)的相關(guān)系數(shù)對步驟7)得到的飽和度分量S′進(jìn)行自適應(yīng)調(diào)整,得到最終的飽和度分量S″;
10) 將步驟1)的色調(diào)分量H、步驟6)的亮度分量V″和步驟9)的飽和度分量S″相結(jié)合,得到HSV顏色空間的HDR圖像;
11) 將HSV顏色空間的HDR圖像轉(zhuǎn)化至RGB顏色空間,得到最終的HDR圖像.
本文利用多幅不同場景的圖像進(jìn)行實(shí)驗(yàn). 在CPU為CoreTMi5-2450M,2.5 GHz,內(nèi)存為4 GB的計算機(jī)上使用MATLAB R2016a對本文算法進(jìn)行實(shí)驗(yàn)驗(yàn)證,并將本文算法實(shí)驗(yàn)結(jié)果與Masia算法[9]和Kovaleski算法[10]進(jìn)行對比. 為方便圖像比較,將生成的HDR圖像均經(jīng)過文獻(xiàn)[7]的色調(diào)映射算法使其能在普通顯示器上顯示.
圖8 不同算法處理圖像的結(jié)果對比Fig.8 Comparison of image processing results for different algorithms
圖8為實(shí)驗(yàn)中部分圖像經(jīng)不同算法的處理結(jié)果,其中: (A)為原始圖像;(B)為Masia算法處理后的圖像; (C)為經(jīng)Kovaleski算法處理后的圖像; (D)為經(jīng)本文算法處理后的圖像; (E)為用于參考的標(biāo)準(zhǔn)HDR圖像. Masia算法通過計算亮度分量的幾何平均值確定Gamma值,能對不同的圖像進(jìn)行自適應(yīng)的動態(tài)范圍擴(kuò)展,對高質(zhì)量的圖像表現(xiàn)較好,但處理后的圖像存在泛白現(xiàn)象,色彩不夠鮮亮. 同時Masia算法在原始圖像為全黑色的部分易出現(xiàn)偽像,如圖8(B)中第四幅圖像中黑色部分. Kovaleski算法通過對圖像進(jìn)行交叉雙邊濾波擴(kuò)展動態(tài)范圍,提高了計算速度,但也存在圖像泛白現(xiàn)象,如圖8(C)中顏色豐富的第五幅圖像. 本文算法不僅對亮度分量進(jìn)行了動態(tài)范圍擴(kuò)展,也對飽和度分量進(jìn)行了處理,使圖像在亮度變化的同時飽和度也隨之調(diào)整,避免了圖像在動態(tài)范圍擴(kuò)展后出現(xiàn)顏色失真泛白的現(xiàn)象,更接近標(biāo)準(zhǔn)的HDR圖像.
首先,根據(jù)圖像動態(tài)范圍計算公式[15]:
D=max_I/min_I,
(11)
對比圖像動態(tài)范圍. 其中max_I和min_I分別表示圖像亮度最亮點(diǎn)和最暗點(diǎn)的亮度值. 不同算法的對比結(jié)果列于表1. 由表1可見,3種算法都可將圖像由低動態(tài)范圍擴(kuò)展到高動態(tài)范圍,但本文的動態(tài)范圍擴(kuò)展更大.
表1 不同算法的動態(tài)范圍
除圖8展示的6幅圖像外,還隨機(jī)選取20幅圖像進(jìn)行算法驗(yàn)證,其動態(tài)范圍對比結(jié)果如圖9所示. 為方便統(tǒng)計,將計算的動態(tài)范圍進(jìn)行了對數(shù)運(yùn)算,只觀察數(shù)量級的變化,圖9縱軸表示動態(tài)范圍的數(shù)量級. 由圖9可見,本文算法能有效擴(kuò)展圖像動態(tài)范圍.
圖9 不同算法動態(tài)范圍的對比Fig.9 Comparison of dynamic ranges for different algorithms
其次,通過結(jié)構(gòu)相似度函數(shù)(structural similarity,SSIM)[16]以及用于HDR圖像質(zhì)量評價的HDR-VDP(high dynamic range visual difference predict)方法[17]對本文算法生成的HDR圖像進(jìn)行客觀評價.
結(jié)構(gòu)相似度函數(shù)衡量圖像亮度、對比度和結(jié)構(gòu)變化3個量的符合效果. 兩幅圖像越相似,結(jié)果越接近1,計算公式如下:
(12)
表2 不同算法的SSIM結(jié)果
圖10為不同算法對20幅圖像的SSIM計算結(jié)果對比. 由圖10可見,本文算法與Maisa算法結(jié)果類似,能較好地保留圖像的結(jié)構(gòu). HDR-VDP是基于人類視覺差異評估兩幅圖像之間相似性的方法. 由于兩幅圖像的差異是由不同噪聲輸入引起的,因此該方法首先模擬人眼的光學(xué)特性和視網(wǎng)膜通路,再通過噪聲模擬及多尺度分解算法模擬光在人眼內(nèi)部的散射過程,以此模擬人眼對HDR圖像的處理過程,并對結(jié)果打分,最高值為100,表示兩幅圖像完全相同. 經(jīng)不同算法處理后與參考HDR圖像進(jìn)行比對的結(jié)果列于表3. 圖11為不同算法對20幅圖像的HDR-VDP計算結(jié)果對比. 由圖11可見,除個別圖像外,本文算法結(jié)果均較好.
圖10 不同算法SSIM結(jié)果的對比Fig.10 Comparison of SSIM results for different algorithms
表3 不同算法的HDR-VDP結(jié)果
圖11 不同算法HDR-VDP結(jié)果的對比Fig.11 Comparison of HDR-VLP results for different algorithms
對比表2和表3及圖10和圖11的結(jié)果可見,本文算法的SSIM和HDR-VDP結(jié)果較好,說明本文算法能在擴(kuò)展圖像動態(tài)范圍的同時,較好地保留圖像的色彩信息,產(chǎn)生顏色鮮亮的HDR圖像.
綜上可見,針對當(dāng)前單曝光HDR圖像生成方法幾乎都僅對亮度分量進(jìn)行動態(tài)范圍擴(kuò)展,而未考慮擴(kuò)展后的亮度分量與原飽和度不匹配,導(dǎo)致所生成的HDR圖像出現(xiàn)泛白現(xiàn)象的問題,本文提出了一種結(jié)合飽和度調(diào)節(jié)的單曝光HDR圖像生成方法. 該方法首先將RGB顏色空間圖像轉(zhuǎn)換至HSV顏色空間,對亮度分量進(jìn)行反色調(diào)映射和高光區(qū)域校正,同時對飽和度分量線性拉伸,再根據(jù)亮度和飽和度的相關(guān)性,利用擴(kuò)展后亮度對拉伸后的飽和度分量進(jìn)行微調(diào); 其次,將得到的新亮度分量與新飽和度分量結(jié)合色調(diào)分量進(jìn)行融合,得到HSV顏色空間的HDR圖像; 最后將其轉(zhuǎn)換至RGB顏色空間得到最終的HDR圖像. 實(shí)驗(yàn)結(jié)果表明,該方法能避免在圖像動態(tài)范圍擴(kuò)展后,HDR圖像色彩出現(xiàn)失真泛白的現(xiàn)象,可獲得更好的視覺效果. 但由于該算法主要考慮圖像色彩的恢復(fù),采用簡單的反色調(diào)映射算法,導(dǎo)致某些圖像在一定程度上存在細(xì)節(jié)的損失,因此還需要對反色調(diào)映射算法進(jìn)行改進(jìn),以保留更多的細(xì)節(jié)信息,同時提高算法效率.