劉 穎,王鳳偉,劉衛華,艾 達,李 蕓,楊凡超
(1.西安郵電大學 通信與信息工程學院,西安 710121; 2.電子信息現場勘驗應用技術公安部重點實驗室(西安郵電大學),西安 710121;3.中國科學院光譜成像技術重點實驗室(中國科學院 西安光學精密機械研究所),西安 710119)
高動態范圍(High Dynamic Range, HDR)成像是指捕捉、存儲、傳輸和顯示真實世界光亮廣泛范圍并進行精確表示。HDR圖像的主要特點是高對比度、高位深度和豐富細節。近年來,為了能夠獲得HDR圖像,研究人員提出了多種算法。由于深度學習在計算機視覺的許多領域取得了較好的成績,研究人員嘗試通過學習的方式生成HDR圖像,文獻[1-2]用生成對抗網絡獲取;文獻[3-4]用卷積神經網絡(Convolutional Neural Networks, CNN)將單幅低動態范圍(Low Dynamic Range, LDR)圖像重建HDR圖像,但是,這些方法需要大量的訓練數據、復雜的訓練,不適合工程實現。另一種是直接融合多個不同曝光圖像以獲得HDR圖像,文獻[5-6]通過僅保留每次曝光的最佳部分來組合LDR圖像;文獻[7]利用引導圖像濾波來平滑每個輸入LDR圖像權值圖的高斯金字塔,將細節保存在最終合成圖像中最亮和最暗的區域,但此類方法的缺點是目標運動帶來的“偽影”現象和輸入圖像為進行配準帶來的時間成本問題。還有一類是基于輻射域生成HDR圖像,通過一組不同曝光的圖像估算相機的響應函數并根據響應函數估計HDR圖像的輻射圖,生成最終的HDR圖像,最后通過色調映射將HDR圖像顯示在正常的顯示設備上[8]。
為了去除HDR圖像中的“偽影”現象,文獻[9]中提出了一種考慮相機時刻和動態場景來自動生成HDR圖像的方法。該方法使用相機響應功能,通過原始圖像來校正LDR圖像。文獻[10]為了精確對準,使用改進的彈性配準方法來去除“偽影”現象。文獻[11]中提出了一種混合修補算法以防止“偽影”現象,其中通過考慮空間和時間一致性來制定新的優化問題以校正不同曝光圖像的運動區域。文獻[12]中提出基于低秩矩陣來獲得無偽影的HDR圖像。背景和運動對象分別為具有對偽影區域的屬性的多個物理約束的低秩矩陣來完成。
然而,上述方法具有較高的計算復雜度,所以文獻[13]使用單個圖像生成HDR圖像,而不是獲取不同曝光的圖像以避免“偽影”現象。該方法利用加權直方圖分離來估計直方圖分離的閾值。然后它將直方圖劃分成兩個子直方圖,并從單個圖像生成曝光不足和過度曝光LDR圖像。此方法從單個圖像生成不同曝光的圖像,所以不會產生“偽影”現象,但是該方法利用固定的加權因子進行直方圖分離,這不適合顯示不同特征的圖像。文獻[14]中提出了一種自適應直方圖分離技術來克服文獻[13]中提出方法的缺點,但是該方法在圖像擴展中容易產生局部顏色失真的現象。文獻[15]中提出根據所需的LDR圖像數量,將輸入圖像的直方圖劃分為具有相等數量像素的多個區間,并在構造的每個區間中選擇直方圖分割的閾值作為最大值;然后利用對比度、飽和度和曝光度曝光良好作為評估參數進行融合得到LDR圖像。
上述的直方圖擴展然后圖像融合的算法都存在一個普遍問題,即圖像擴展過度或過小時容易造成圖像顏色失真、細節信息丟失的問題。針對此問題,本文改進的指數函數擴展其亮度范圍。首先對彩色圖像的亮度分量從低到高分成為兩個不同區間,然后通過改進的擴展函數對兩個區間的圖像擴展其亮度范圍,凸顯亮區域和暗區域的細節,最后使用模糊邏輯的方法融合為HDR圖像。在融合階段,用亮度保持動態模糊直方圖均衡(Brightness Preserving Dynamic Fuzzy Histogram Equalization, BPDFHE)技術來提高圖像像素的準確性和對比度。實驗結果表明,本文算法在減少運行時間和不引入“偽影”現象的前提下保留了圖像中更多的局部細節信息和顏色,并且主觀視覺效果更好。
為了得到細節豐富、對比度較大的HDR圖像,本文提出了一種基于亮度分區拉伸和模糊融合的高動態范圍圖像算法,是一種由單幅LDR圖像生成HDR圖像的算法。
該算法主要分為三個步驟:第一步通過圖像的灰度均值將亮度圖像分割成兩部分,算法簡單,減少了運算時間;第二步通過指數函數對分割得到的圖像進行不同程度的擴展;第三步是考慮像素的可視化,使用局部窗口內最小-最大像素差和亮度通道的歸一化像素值分析確定每個像素的權重將三幅圖像進行融合。在融合過程中使用BPDFHE提高圖像像素的準確性和對比度,該算法流程如圖1所示。
借鑒基于最大類間方差的圖像分割算法,采用類間均值分割方法將亮度區間分割為兩部分。令亮度通道圖像的像素亮度構成數據集合I={i|i=0,1,…,255},歸一化之后I={i|i=0,1/255,2/255,…,1},那么H(i)表示像素i的概率,則H(i)∈[0,1];τ0是整幅圖像亮度中值。利用閾值τ0把圖像分割成兩區域矩陣R1和R2,并分別計算灰度均值u1和u2,其計算式如下:
(1)
(2)
那么最終的閾值τ定義為兩類的類間均值:
(3)

圖1 本文算法流程Fig. 1 Flowchart of the proposed algorithm
接下來用最終的閾值τ將圖像亮度XV分成兩個子集X0和X1,分割方法如下:

(4)
(5)
那么,集合X0中像素的亮度值取值范圍是[0,τ],屬于圖像的暗區域,而集合X1中像素的亮度值取值范圍是(τ,1],屬于圖像的亮度區域,因此,通過擴展每個子集的亮度值范圍并增加或者減小亮度值,就可以得到不同光照強度的圖像。
對上述圖像的亮區域X1和暗區域X0分別拉伸其亮度范圍,使得原來感覺不到的亮度差異得到顯現,增加對比度、凸顯細節。這里用改進的指數函數對亮度V通道圖像擴展其亮度范圍,定義如下:
(6)
其中X(x,y)表示圖像的亮度分量。
由于不同底數a的指數函數在坐標平面第一象限的曲線不同,導致因變量隨著自變量的變化趨勢不同,在圖像拉伸方面的效果也不同。圖2(a)是對暗區域(亮度值在[0,τ]區間)應用不同底數的指數函數擴展后的變化曲線圖,當a=1.2時,亮度雖然有增大,但是整體的范圍擴展小;當a=5時,曲線平緩,將原圖像緩慢拉伸,動態范圍擴大,并且亮度增加,最小值由自變量的0變化到因變量的0.36左右,亮度最大值由自變量的0.5變化到因變量的0.85;隨著底數a的增加,曲線越來越陡峭,拉伸的范圍擴大,亮度增加,即,使暗區域的動態范圍增加,同時整體亮度值增加。圖2(b)是對亮區域(亮度值在(τ,1]區間)應用不同底數的指數函數擴展后的變化曲線圖,當a為10或者12時,亮度的動態范圍擴大,并且亮度值減小,即,使亮區域的動態范圍增加,同時整體亮度值略有減小。

圖2 不同底數a的指數函數變化曲線Fig. 2 Exponential function change curve of a with different bases
為了得到不同光照度的圖像,根據反復實驗,最終確定j=0時,a=5;當j=1時,a=10。即對暗區域的圖像用基底為5的指數函數,對亮度區域的圖像用基底為10的指數函數。圖3對比了本文算法和文獻[14]算法中直方圖擴展函數。

圖3 擴展函數對比Fig. 3 Comparison of extension functions
圖3中實線表示本文算法擴展后的曲線,虛線表示應用文獻[14]擴展函數后的曲線。圖3(a)表示暗區域圖像X0擴展后的亮度曲線,可以看出,本文方法將暗區域圖像緩慢擴展,同時增加亮度,而文獻[14]中則迅速擴展,產生顏色失真、與原亮度的顏色分量不匹配現象。圖3(b)是對亮區域圖像X1擴展,同時減小亮度,避免了文獻[14]中擴展幅度過小的問題,所以本文的擴展函數可以有效地凸顯原始圖像的局部細節,增大對比度,避免顏色信息丟失。
如圖4所示,將亮區域部分經指數函數映射后得到圖(a),高亮區域水瓶的細節凸顯;將暗區域部分經指數函數映射后得到圖(c),較暗區域竹筐、桌子邊緣的細節凸顯。

圖4 映射后的亮度區間圖Fig. 4 Luminance interval diagram after mapping
對每個擴展的亮度圖像進行限制自適應直方圖均衡來改善圖像的整體外觀。最后將得到的三個不同的亮度V通道與未處理的H通道、S通道一起逆變換到RGB空間。這樣就得到質量較好的反映不同光照強度的圖像,如圖5所示。圖5中第一行是原圖像、文獻[14]擴展后的暗區域圖像和亮區域圖像;第二行是本文算法處理后的暗區域圖像和亮區域圖像,從圖5(c)中可以看出圖像顏色失真的現象。

圖5 生成的兩幅LDR圖像Fig. 5 Two generated LDR images
不同曝光的圖像會將不同動態范圍的場景展現清晰,曝光較弱的圖像可以提供明亮場景處的細節,而曝光較強的圖像可以較好地顯示暗處場景的細節。文中將亮區域圖像擴展處理后得到圖5(d),凸顯亮區域細節,類似欠曝光圖像;暗區域圖像擴展處理后得到圖5(e),凸顯暗區域細節,類似過曝光圖像。利用不同曝光圖像優勢互補的特點,對三幅不同曝光度的圖像融合來生成高質量的圖像。
模糊系統提供了一種通過語言變量對復雜系統建模的方法,著重強調以模糊邏輯來對現實生活中的事物進行描述,主要是利用推理系統中多個“if x1 is A and x2 is A, then y1 is B and y2 is B”的語句將直觀的數據按照人的意愿進行了等級劃分,使得計算機可以對此類數據進行分析處理,解決各種問題,最終得到想要的結果[16],因此,本文采用模糊系統進行計算不同亮度區圖像的權重矩陣并進行融合。將反映局部細節信息的局部窗口內的最小-最大像素差和亮度通道的歸一化像素值作為模糊邏輯系統的第一輸入和第二輸入。結合模糊規則,如:“如果第一輸入低并且第二輸入也低,則得到的權重矩陣小”的多個模糊邏輯語句,來得到描述不同亮度區間的圖像質量的權重矩陣,從而將不同曝光圖像融合為HDR圖像。圖6是輸入輸出模糊的隸屬函數示意圖,將輸入輸出都劃分成低、中、高三部分。在得到圖像像素的權重圖后,建議應用亮度保持動態模糊直方圖均衡技術來平滑權值映射。該技術在保持圖像亮度的同時,可以提高圖像的對比度并降低計算復雜度。

圖6 模糊融合方法的輸入和輸出的隸屬函數Fig. 6 Membership functions of input and output of fuzzy fusion method
BPDFHE技術[17]僅在兩個連續峰值之間的波谷部分發生,它使波谷部分的灰度值重新映射。這樣可以避免偽像的引入和平均圖像亮度的變化。該技術首先以模糊統計的方式處理灰度值的不精確性,從而產生平滑的直方圖;然后對直方圖進行分區得到多個子直方圖,再對每個子直方圖進行動態均衡時可以提高圖像對比度,產生主觀上比原始圖像更好的圖像。在后面的實驗結果質量評價中,使用文獻[18]中提出的高動態范圍可見差分預報器(High Dynamic Range Visible Difference Predictor, HDR-VDP- 2)[18]來評估輸出的HDR圖像的質量。
一旦確定了每幅LDR圖像的權重系數,就將最終的HDR圖像構造為:
(7)

本文的實驗是在Window 10系統Intel Core i5- 4210 CPU @1.70 GHz安裝的Matlab 2015a版本上進行的。為了驗證所提算法生成HDR圖像的性能,所有實驗結合主觀評價和客觀評價對生成的HDR圖像進行對比分析。文獻[14]中提出了一種自適應直方圖分離技術來估計直方圖分離的閾值,然后通過閾值進行擴展;本文對擴展后圖像色彩失真、細節信息丟失的問題與文獻[14]得到的圖像進行對比,以此來分析本文的性能。
為了更直觀地反映生成的HDR圖像,使用具有不同特征的輸入圖像來測試所提出的方法,分別是flower、bottle、stone、pavilion。圖7是文獻[14]中的算法和本文算法生成的HDR圖像對比圖。第一列為輸入圖像,第二列是采用文獻[14]算法得的圖像,第三列是本文算法得到的圖像。從圖7中可以看出,本文算法所得到的圖像整體效果更好,對比度明顯,且圖像的細節清楚可見,尤其是桌子邊緣、墻壁和石壁,其細節紋理、邊緣輪廓都能清楚地看見,融合效果滿足人類視覺要求。

圖7 融合結果對比Fig. 7 Comparison of fusion results
在圖8中,(a)列是原始圖像,分別是flower、bottle、stone,(b)列是文獻[14]中提出的算法得到的圖像,(c)列是本文方法得到的圖像。每張圖像的右下角是局部放大圖,從圖8可以看出文獻[14]得到的圖像存在圖像顏色失真的問題,并且圖像細節信息嚴重丟失,例如圖8第一行中草坪墻上的‘福’字已經看不出輪廓,而本文方法在盡量避免顏色失真的基礎上生成的HDR圖像顏色明亮,對比度明顯,且圖像的細節清晰可見,比如第二行中bottle圖中背景墻上具有更多的紋理信息,更符合人眼觀察到的視覺效果。
雖然文獻[14]中對每個輸入圖像自適應地估計權重,但是根據權重τ對X0和X1進行亮度范圍擴展時,由于過度擴展導致在圖像融合時產生顏色失真從而產生細節模糊的問題,如圖8。

圖8 局部放大對比Fig. 8 Partial magnification and comparison
為了進一步評估本文算法,采用采用文獻[18]中提出的HDR-VDP- 2算法來評估輸出的HDR圖像質量。在該算法計算中,采用生成的HDR圖像和原始圖像作對比。原始圖像作為參考圖像,各種算法生成的HDR圖像為測試圖像。該算法可以計算出平均主觀意見分數(Mean Opinion Scores, MOS),該分數QMOS為客觀的非線性映射。表1表示經過該算法的平均主觀意見分數。

表1 兩種算法的平均主觀意見分數對比 Tab. 1 Mean subjective opinion score comparison of two algorithms
從表1可以看出,本文算法的平均主觀意見分數較高,生成的圖像主觀視覺效果更好,所以本文算法具有更好的處理效果。
為了保證實驗的公平性,本文選取了不同場景的圖像對本文算法與文獻[14]算法進行客觀分析,所有的圖像都是靜態的,每張圖像都有不同的特征。
本文采用熵、方差、概率累積的模糊檢測(Cumulative Probability of Blur Detection, CPBD)[19]、清晰度、峰值信噪比(Peak Signal-to-Noise, PSNR)和結構相似度(Structural Similarity Index, SSIM)作為客觀評價指標。熵是衡量圖像信息豐富程度的物理量,因此較高的信息熵意味著更好的性能;方差是描述各像素偏離均值的程度,反映圖像的對比度信息;圖像的清晰度可以反映圖像中各細節部分影紋及其邊界的清晰程度,其值越大,代表圖像越清晰;CPBD能夠預測具有不同內容的圖像的相對模糊度,該指標值越高表示圖像越清晰。PSNR反映處理后圖像失真的大小,值越大,圖像越清晰。SSIM反映了人類視覺從圖像中抽取的結構信息,不僅考慮局部結構保持而且考慮全局亮度一致性。下面分別是各指標的定義。
圖像的二維熵定義為:

(8)
其中:i表示像素的灰度值(0≤i≤255);j表示鄰域灰度均值(0≤j≤255);f(i,j)為特征二元組(i,j)出現的頻數,N為圖像尺寸。
方差的定義如下:
(9)
其中,f(i,j)為給定圖像像素所對應的矩陣,M和N為給定圖像的長和寬,m為圖像的均值。
清晰度定義如下:

I(x,y)]2}
其中I(x,y)表示圖像在像素點(x,y)處的灰度值。
模糊檢測的累積概率計算如下:
(10)
其中:PBLUR為對于給定的對比度下的檢測模糊的概率;PJNB為人眼可分辨模糊(Just Noticeable Blur,JNB)下的檢測模糊的概率。
PSNR定義如下:
PSNR=10 lg ((2n-1)2/MSE);
(11)
其中:MSE表示處理后圖像X和原始圖像Y的均方誤差(Mean Squared Error,MSE);M、N分別為圖像的高度和寬度;n為每像素的比特數。
SSIM定義如下:
(12)
其中:x,y表示處理后圖像和原始圖像;μx和μy分別表示圖像x和圖像y的平均灰度值;σx和σy分別表示圖像x和圖像y的方差;c1和c2為常數。
這些指標分別以直接或間接的方式表現出生成的HDR圖像質量的好壞,對比結果見表2。

表2 客觀評價指標 Tab. 2 Objective evaluation indexes
表2給出了4組測試圖像生成的HDR圖像算法處理結果的熵、方差、清晰度、CPBD、PSNR和SSIM。從該表中可以看出,所提出的算法明顯優于文獻[14]的算法。與文獻[14]相比,本文算法得到的信息熵提高了2.9%,方差提高了16.4%,SSIM提高了6.6%。總體而言,本文算法在保留圖像顏色和局部細節上有一定的優勢,且算法效果更加穩定。
表3給出了本文算法同文獻[14]算法的計算效率對比結果,所有算法均采用Matlab編程實現,運行時間也都是同一個PC平臺上運行得到。每組實驗的運行時間如表3所示。

表3 不同算法處理時間對比 單位:s Tab. 3 Comparison of processing time of different algorithms unit:s
由表3運行時間可知,本文算法在保證無論是從圖像的內容豐富程度或對比度或者圖像清晰度的前提下,運算時間都得到了縮短。
本文提出了一種基于亮度分區和模糊融合的高動態范圍圖像算法,采用改進的指數函數擴展其亮度范圍,然后融合生成HDR圖像。通過對HDR圖像進行信息熵、方差、CPBD、PSNR、SSIM、運行時間和平均主觀意見分數的計算進行比較,實驗結果表明:本文算法在不引入偽影的前提下,能夠保留更多的局部細節信息和色彩,清晰度更高,可視效果更好。后期將研究怎樣結合具體實際場景應用到工業相機上來,以驗證該方法的有效性和實時性。