劉美,薛新松,劉廣文,劉智,才華
(長春理工大學 電子信息工程學院,長春 130022)
隨著圖像處理和現代科技的不斷進步,灰度圖像憑借其信息量小和運算速率高等特點被廣泛的應用于許多圖像預處理階段,比如運動目標追蹤和人臉識別。灰度圖像可以理解為一種用介于黑色和白色之間的灰度值來表示的圖像,也可以看做是對任何一種顏色亮度值在不同程度上的采樣,還可以理解為是對亮度值不同的不同顏色種類的采樣[1]。
一般來說,彩色到灰度的方法可以在局部或全局進行。在全局映射方法中,輸入圖像的所有像素使用相同的顏色到灰色映射。Gooch等人[2]引入了Color2gray算法,通過目標函數最小化過程找到最佳匹配原始色差的灰度值。Rasche等人[3]試圖保持對比度,同時保持一致的亮度。Rasche等[4]將顏色投影到3D顏色空間中的線性軸上。Grundland和Dodgson[5]提出了一種快速線性映射算法。庫恩等人[6]提出了一種基于質量彈簧的方法,用于顏色到灰度級轉換期間增強對比度。Kim等人[7]提出了一種用于顏色到灰色轉換的非線性全局映射方法,該方法保留了特征可區分性和合理的顏色排序。
在局部映射方法中,像素值的顏色到灰度映射取決于空間上變化顏色的局部分布。Bala和Eschbach[8]提出了一種將高頻彩色分量添加到亮度的方法。Neumann等人[9]通過彩色圖像的梯度重建灰度圖像。Smith等人[10]將圖像分解為多個頻率分量,并使用色彩通道調整組合權重。這些局部映射算法有效地保留了局部特征,但可能會使恒定顏色區域出現畸變。
根據色度學理論,彩色圖像中的每個像素都由紅、綠、藍三基色按不同比例相配而成[11,12]。輸入彩色圖像任意像素點的三分量記為Rx(i,j)、Gx(i,j)、Bx(i,j),并假設gx(i,j)為對應點的灰度值。gx(i,j)的取值通常可分為以下四種方法[13]:
(1)分量法:gx(i,j)取該像素點三分量中的任何一個分量,即:

(2)平均值法:gx(i,j)取該像素點三分量的均值,即:

(3)最大值法:gx(i,j)取該像素點三分量中的最大值,即:

(4)加權法:gx(i,j)取該像素點三分量的加權平均值,即:

其中,WR,WG和WB分別為Rx(i,j)、Gx(i,j)、Bx(i,j)對應的權值。
Lu等人[14]提出的對比度保存脫色算法是目前灰度化效果較好的,該算法能夠最大程度的保留原彩色圖像的顏色對比度,算法步驟如下:
首先,定義一個映射函數,即:

其中,cr,cg,cb是輸入圖像的RGB三通道值,f表示圖像的灰度值,mi是cb1rcb2gcb3b冪級數的組合,取b1+b2+b3=2,對應9項mi分別為:cr,cg,cb,crg,crb,cgb,c2r,c2g,c2b,與之對應的9項wi是待優化的參數。
其次,構造能量函數:

其中,gx和gy分別表示像素點x和y的灰度值,δxy為像素x與像素y的顏色對比度,在CIE Lab空間上可表示為:

在式(6)中,像素x與像素y的灰度值差異遵循δxy的高斯分布,因此,求解式(6)即最大化:

其中,像素對P中的像素對x和y的灰度差表示為Δgx,y=gx-gy,σ是一個可控參數。通過弱色彩約束,規定δxy的符號為“+”或“-”,根據雙峰模型構造出能量函數:

最后,最小化能量函數,求出wi的值,帶入式(5),得到灰度圖像。
定義g=f(c,s)為彩色到灰度圖像的全局非線性映射函數。其中,s表示每個像素點的飽和度,c表示每個像素點的顏色向量,即c=(r,g,b)。該映射函數將像素灰度值參數化為一個四維向量[15],克服了Lu等人算法將亮度或色度值接近但飽和度值差異較大的像素映射到相似灰度值的缺點,從而增強對比度。映射函數公式如下:
其中,(b1,b2,b3,b4)是(cr,cg,cb,cs)各通道的冪。根據經驗規定b1+b2+b3+b4≤2,對應14項mi,即{cr,cg,cb,cs,crcg,crcb,cgcb,cscr,cgcs,cbcs,c2r,c2g,c2b,c2s}。wi是與mi對應的系數。因此,本文的重點就是求解14個參數wi。
為了能夠充分的保持輸入圖像的對比度信息,本文采用雙峰模型[14]來構造誤差能量函數。
雙峰模型可以看做是高斯分布函數的混合,該模型放寬了嚴格的顏色約束,從而能夠產生更靈活的對比度保留約束。雙峰模型具體描述如下:設δxy是像素x與像素y的顏色對比度,在CIE-Lab空間可以表示成像素x與像素y的歐式距離,如公式(6)所示。如果輸入彩色圖像中兩個像素點之間顏色向量差異的方向可以通過三通道直接確定時,即rx≤ry,gx≤gy,bx≤by或rx≥ry,gx≥gy,bx≥by時,δxy的符號就完全由gx-gy決定,當兩像素點的三通道值大小關系不一致時,則模糊選擇δxy的符號為“+”或者為“-”。
基于雙峰模型,構造了如下能量函數:

該誤差能量函數的算法構架與Lu等人算法相似,重點考慮了相鄰像素點間的顏色差異。但是Lu等人的算法沒有考慮到像素本身的顏色特征,因此容易丟失圖像邊界信息。本文算法考慮像素對本身的色彩特征,將每個像素點都當成是一個變量,以達到更多的保留輸入圖像的細節信息的目的。
對于輸入圖像中的任一像素點x,它的相鄰像素點為y,且(x,y)∈N,N表示像素點x的四鄰域像素點集合,δxy是顏色對比度,當αxy=1時,δxy的符號取“+”,表示使用高斯模型,當αxy=0.5時,表示使用雙峰模型。σ是一個平滑變量,默認σ=0.1。
最大化(13)式相當于最小化其負對數,表示為:

R、G、B三個值相等的像素即為灰度像素。理論上,這些像素在進行灰度變換時灰度值應不變,即等于原來像素值[16]。然而很多已有的灰度算法往往忽略了這一點。
首先,從輸入圖像中提取出與R、G、B值相等的像素點并標記出每一個像素點的位置。為了確使標記出的灰度像素可以和其他像素保持對比和數量級上的一致性,求出每一個灰度像素點的四鄰域像素集。然后再將這些被標記的像素作為常量,構建相應的能量函數。在構建能量函數時,將被標記像素和它的四鄰域像素點的灰度值的差異當做是遵循均值δxz的高斯分布。規定δxz的符號只能為“+”或者為“-”。能量函數如下:

其中,D表示灰度像素z的四鄰域素點的集合;P表示圖中所有灰度像素z的集合;δzx表示像素x與灰度像素z的顏色差異;當αxy=1時,δxy的符號取“+”,表示使用高斯模型,當αxy=0.5時,表示使用雙峰模型。Νσ表示像素x與灰度像素z之間的差異服從高斯分布,公式如下:

其中,Δgzx=gz-gx,gx表示像素x的灰度值,gz表示灰度像素z的灰度值,σ是一個變量,默認σ=0.1。
該能量函數表示每個灰度像素均與它的四鄰域像素進行一次能量計算,這樣既使輸入圖像中的灰度像素與其他像素的灰度值相關聯,又能大大減少程序的運行時間,同時還最大限度的保持了原圖像的局部結構信息。
在計算出保持對比度能量函數E1和灰度保持能量函數E2后,將這兩項函數進行線性結合得出總的誤差能量函數:

式中,λ1,λ2分別表示能量函數在總能量函數中所占的比列,通常情況下,默認λ1=1,λ2=1Q,Q表示輸入圖像中的灰度像素的個數。
求解總的能量函數,可以對wi求偏導數,令其偏導等于零即可得到一個含有14個方程的方程組,解該方程組即能求出14個系數wi。令li(xy)=mixmiy;li(xz)=mix-miz;


為了求解系數wi,本文采用固定點迭代策略對ω進行線性化。為了求解第(t+1)次迭代中的,用ωtj來表示非線性項βt,得:

式中,未知數只存在于等式左邊,取wj0的初始值為{0.33,0.33,0.33,0,0,0,0,0,0,0,0,0,0},將wj0的初始值帶入方程(22)右邊,求出ωtj+1,再把ωtj+1的值當做ωtj的值帶入方程(22)右邊繼續循環,設定循環次數為15次。最后將求得的14個參數帶入式(10)求得最終的灰度結果。
為了驗證本文算法的有效性,采用了大量含有豐富色差信息的圖像進行試驗,并與當前灰度化效果較好的 Gooch等人[2]、Smith等人[10]和 Lu 等人[14]的試驗結果進行對比分析。圖1是本文算法效果與現有幾種方法的比較。為了更明顯的顯現出本文算法對比度增強的優勢,采用了圖像信息熵和平均梯度將本文實驗的結果與現有幾種經典算法結果進行了客觀的對比分析。表1是本文算法和幾種經典算法結果的信息熵,表2是本文算法和幾種經典算法結果的平均梯度。圖片一至圖片五的Q值分別取35、36、82、150和12。

圖1 改進的對比度增強的圖像灰度化算法效果與現有方法比較

表1 灰度圖像的信息熵

表2 灰度圖像的平均梯度
對比圖1中第一幅圖、第五幅圖分別經四種灰度化算法處理后的結果,可以明顯的看出經本文算法得出的灰度圖保留了原圖中花瓣的更多對比度信息,表1中灰度圖像的信息熵也證實了本文更多的保留了原圖的信息量,這是因為第一幅圖和第五幅圖中都存在許多亮度相差小但是飽和度相差很大的像素點;對比圖1、表1和表2中第二幅圖經四種灰度化算法處理后的結果,原圖像中花朵的黃色部分經本文算法灰度化后得以保存,而Lu等人[14]的算法灰度化卻造成這一重要信息的丟失;圖1中第三幅圖片經過灰度化后,可以明顯的看出本文算法能更多的保留蘋果的對比度信息,這是因為第三幅圖中存在許多色調和亮度相差都很小且飽和度差異很大的像素,同時還含有許多灰度像素;圖1中第四幅圖經過四種不同算法后得出的灰度圖,可以明顯的看出本文算法更多的體現了原圖的對比度信息,這是由于本文算法中加入了灰度能量保持項,使得大量的灰度像素的特征得以保留,從而增加了對比度。通過比較現有的幾種灰度效果較好的算法和本文算法的灰度結果,可以很明顯的看出本文算法能夠更有效的保存原彩色圖像的細節信息,增強圖像的對比度。
彩色圖像的灰度化是圖像處理中重要的研究課題。傳統的灰度化算法存在很多缺陷,這些算法通常會將有相同顏色的色彩轉化為同樣的灰度,因此造成對比度的缺失。本文給出了一種對比度增強的彩色圖像灰度化算法,在映射函數中添加飽和度,充分考慮了飽和度對圖像灰度化的影響。通過對大量的的含有豐富色差信息的彩色圖像進行實驗,結果表明,本文算法能夠增強灰度圖像的對比度,保留原始圖像的更多細節信息。