劉美,薛新松,劉廣文,劉智,才華
(長(zhǎng)春理工大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
隨著圖像處理和現(xiàn)代科技的不斷進(jìn)步,灰度圖像憑借其信息量小和運(yùn)算速率高等特點(diǎn)被廣泛的應(yīng)用于許多圖像預(yù)處理階段,比如運(yùn)動(dòng)目標(biāo)追蹤和人臉識(shí)別?;叶葓D像可以理解為一種用介于黑色和白色之間的灰度值來(lái)表示的圖像,也可以看做是對(duì)任何一種顏色亮度值在不同程度上的采樣,還可以理解為是對(duì)亮度值不同的不同顏色種類(lèi)的采樣[1]。
一般來(lái)說(shuō),彩色到灰度的方法可以在局部或全局進(jìn)行。在全局映射方法中,輸入圖像的所有像素使用相同的顏色到灰色映射。Gooch等人[2]引入了Color2gray算法,通過(guò)目標(biāo)函數(shù)最小化過(guò)程找到最佳匹配原始色差的灰度值。Rasche等人[3]試圖保持對(duì)比度,同時(shí)保持一致的亮度。Rasche等[4]將顏色投影到3D顏色空間中的線性軸上。Grundland和Dodgson[5]提出了一種快速線性映射算法。庫(kù)恩等人[6]提出了一種基于質(zhì)量彈簧的方法,用于顏色到灰度級(jí)轉(zhuǎn)換期間增強(qiáng)對(duì)比度。Kim等人[7]提出了一種用于顏色到灰色轉(zhuǎn)換的非線性全局映射方法,該方法保留了特征可區(qū)分性和合理的顏色排序。
在局部映射方法中,像素值的顏色到灰度映射取決于空間上變化顏色的局部分布。Bala和Eschbach[8]提出了一種將高頻彩色分量添加到亮度的方法。Neumann等人[9]通過(guò)彩色圖像的梯度重建灰度圖像。Smith等人[10]將圖像分解為多個(gè)頻率分量,并使用色彩通道調(diào)整組合權(quán)重。這些局部映射算法有效地保留了局部特征,但可能會(huì)使恒定顏色區(qū)域出現(xiàn)畸變。
根據(jù)色度學(xué)理論,彩色圖像中的每個(gè)像素都由紅、綠、藍(lán)三基色按不同比例相配而成[11,12]。輸入彩色圖像任意像素點(diǎn)的三分量記為Rx(i,j)、Gx(i,j)、Bx(i,j),并假設(shè)gx(i,j)為對(duì)應(yīng)點(diǎn)的灰度值。gx(i,j)的取值通常可分為以下四種方法[13]:
(1)分量法:gx(i,j)取該像素點(diǎn)三分量中的任何一個(gè)分量,即:
(2)平均值法:gx(i,j)取該像素點(diǎn)三分量的均值,即:
(3)最大值法:gx(i,j)取該像素點(diǎn)三分量中的最大值,即:
(4)加權(quán)法:gx(i,j)取該像素點(diǎn)三分量的加權(quán)平均值,即:
其中,WR,WG和WB分別為Rx(i,j)、Gx(i,j)、Bx(i,j)對(duì)應(yīng)的權(quán)值。
Lu等人[14]提出的對(duì)比度保存脫色算法是目前灰度化效果較好的,該算法能夠最大程度的保留原彩色圖像的顏色對(duì)比度,算法步驟如下:
首先,定義一個(gè)映射函數(shù),即:
其中,cr,cg,cb是輸入圖像的RGB三通道值,f表示圖像的灰度值,mi是cb1rcb2gcb3b冪級(jí)數(shù)的組合,取b1+b2+b3=2,對(duì)應(yīng)9項(xiàng)mi分別為:cr,cg,cb,crg,crb,cgb,c2r,c2g,c2b,與之對(duì)應(yīng)的9項(xiàng)wi是待優(yōu)化的參數(shù)。
其次,構(gòu)造能量函數(shù):
其中,gx和gy分別表示像素點(diǎn)x和y的灰度值,δxy為像素x與像素y的顏色對(duì)比度,在CIE Lab空間上可表示為:
在式(6)中,像素x與像素y的灰度值差異遵循δxy的高斯分布,因此,求解式(6)即最大化:
其中,像素對(duì)P中的像素對(duì)x和y的灰度差表示為Δgx,y=gx-gy,σ是一個(gè)可控參數(shù)。通過(guò)弱色彩約束,規(guī)定δxy的符號(hào)為“+”或“-”,根據(jù)雙峰模型構(gòu)造出能量函數(shù):
最后,最小化能量函數(shù),求出wi的值,帶入式(5),得到灰度圖像。
定義g=f(c,s)為彩色到灰度圖像的全局非線性映射函數(shù)。其中,s表示每個(gè)像素點(diǎn)的飽和度,c表示每個(gè)像素點(diǎn)的顏色向量,即c=(r,g,b)。該映射函數(shù)將像素灰度值參數(shù)化為一個(gè)四維向量[15],克服了Lu等人算法將亮度或色度值接近但飽和度值差異較大的像素映射到相似灰度值的缺點(diǎn),從而增強(qiáng)對(duì)比度。映射函數(shù)公式如下:
其中,(b1,b2,b3,b4)是(cr,cg,cb,cs)各通道的冪。根據(jù)經(jīng)驗(yàn)規(guī)定b1+b2+b3+b4≤2,對(duì)應(yīng)14項(xiàng)mi,即{cr,cg,cb,cs,crcg,crcb,cgcb,cscr,cgcs,cbcs,c2r,c2g,c2b,c2s}。wi是與mi對(duì)應(yīng)的系數(shù)。因此,本文的重點(diǎn)就是求解14個(gè)參數(shù)wi。
為了能夠充分的保持輸入圖像的對(duì)比度信息,本文采用雙峰模型[14]來(lái)構(gòu)造誤差能量函數(shù)。
雙峰模型可以看做是高斯分布函數(shù)的混合,該模型放寬了嚴(yán)格的顏色約束,從而能夠產(chǎn)生更靈活的對(duì)比度保留約束。雙峰模型具體描述如下:設(shè)δxy是像素x與像素y的顏色對(duì)比度,在CIE-Lab空間可以表示成像素x與像素y的歐式距離,如公式(6)所示。如果輸入彩色圖像中兩個(gè)像素點(diǎn)之間顏色向量差異的方向可以通過(guò)三通道直接確定時(shí),即rx≤ry,gx≤gy,bx≤by或rx≥ry,gx≥gy,bx≥by時(shí),δxy的符號(hào)就完全由gx-gy決定,當(dāng)兩像素點(diǎn)的三通道值大小關(guān)系不一致時(shí),則模糊選擇δxy的符號(hào)為“+”或者為“-”。
基于雙峰模型,構(gòu)造了如下能量函數(shù):
該誤差能量函數(shù)的算法構(gòu)架與Lu等人算法相似,重點(diǎn)考慮了相鄰像素點(diǎn)間的顏色差異。但是Lu等人的算法沒(méi)有考慮到像素本身的顏色特征,因此容易丟失圖像邊界信息。本文算法考慮像素對(duì)本身的色彩特征,將每個(gè)像素點(diǎn)都當(dāng)成是一個(gè)變量,以達(dá)到更多的保留輸入圖像的細(xì)節(jié)信息的目的。
對(duì)于輸入圖像中的任一像素點(diǎn)x,它的相鄰像素點(diǎn)為y,且(x,y)∈N,N表示像素點(diǎn)x的四鄰域像素點(diǎn)集合,δxy是顏色對(duì)比度,當(dāng)αxy=1時(shí),δxy的符號(hào)取“+”,表示使用高斯模型,當(dāng)αxy=0.5時(shí),表示使用雙峰模型。σ是一個(gè)平滑變量,默認(rèn)σ=0.1。
最大化(13)式相當(dāng)于最小化其負(fù)對(duì)數(shù),表示為:
R、G、B三個(gè)值相等的像素即為灰度像素。理論上,這些像素在進(jìn)行灰度變換時(shí)灰度值應(yīng)不變,即等于原來(lái)像素值[16]。然而很多已有的灰度算法往往忽略了這一點(diǎn)。
首先,從輸入圖像中提取出與R、G、B值相等的像素點(diǎn)并標(biāo)記出每一個(gè)像素點(diǎn)的位置。為了確使標(biāo)記出的灰度像素可以和其他像素保持對(duì)比和數(shù)量級(jí)上的一致性,求出每一個(gè)灰度像素點(diǎn)的四鄰域像素集。然后再將這些被標(biāo)記的像素作為常量,構(gòu)建相應(yīng)的能量函數(shù)。在構(gòu)建能量函數(shù)時(shí),將被標(biāo)記像素和它的四鄰域像素點(diǎn)的灰度值的差異當(dāng)做是遵循均值δxz的高斯分布。規(guī)定δxz的符號(hào)只能為“+”或者為“-”。能量函數(shù)如下:
其中,D表示灰度像素z的四鄰域素點(diǎn)的集合;P表示圖中所有灰度像素z的集合;δzx表示像素x與灰度像素z的顏色差異;當(dāng)αxy=1時(shí),δxy的符號(hào)取“+”,表示使用高斯模型,當(dāng)αxy=0.5時(shí),表示使用雙峰模型。Νσ表示像素x與灰度像素z之間的差異服從高斯分布,公式如下:
其中,Δgzx=gz-gx,gx表示像素x的灰度值,gz表示灰度像素z的灰度值,σ是一個(gè)變量,默認(rèn)σ=0.1。
該能量函數(shù)表示每個(gè)灰度像素均與它的四鄰域像素進(jìn)行一次能量計(jì)算,這樣既使輸入圖像中的灰度像素與其他像素的灰度值相關(guān)聯(lián),又能大大減少程序的運(yùn)行時(shí)間,同時(shí)還最大限度的保持了原圖像的局部結(jié)構(gòu)信息。
在計(jì)算出保持對(duì)比度能量函數(shù)E1和灰度保持能量函數(shù)E2后,將這兩項(xiàng)函數(shù)進(jìn)行線性結(jié)合得出總的誤差能量函數(shù):
式中,λ1,λ2分別表示能量函數(shù)在總能量函數(shù)中所占的比列,通常情況下,默認(rèn)λ1=1,λ2=1Q,Q表示輸入圖像中的灰度像素的個(gè)數(shù)。
求解總的能量函數(shù),可以對(duì)wi求偏導(dǎo)數(shù),令其偏導(dǎo)等于零即可得到一個(gè)含有14個(gè)方程的方程組,解該方程組即能求出14個(gè)系數(shù)wi。令li(xy)=mixmiy;li(xz)=mix-miz;
為了求解系數(shù)wi,本文采用固定點(diǎn)迭代策略對(duì)ω進(jìn)行線性化。為了求解第(t+1)次迭代中的,用ωtj來(lái)表示非線性項(xiàng)βt,得:
式中,未知數(shù)只存在于等式左邊,取wj0的初始值為{0.33,0.33,0.33,0,0,0,0,0,0,0,0,0,0},將wj0的初始值帶入方程(22)右邊,求出ωtj+1,再把ωtj+1的值當(dāng)做ωtj的值帶入方程(22)右邊繼續(xù)循環(huán),設(shè)定循環(huán)次數(shù)為15次。最后將求得的14個(gè)參數(shù)帶入式(10)求得最終的灰度結(jié)果。
為了驗(yàn)證本文算法的有效性,采用了大量含有豐富色差信息的圖像進(jìn)行試驗(yàn),并與當(dāng)前灰度化效果較好的 Gooch等人[2]、Smith等人[10]和 Lu 等人[14]的試驗(yàn)結(jié)果進(jìn)行對(duì)比分析。圖1是本文算法效果與現(xiàn)有幾種方法的比較。為了更明顯的顯現(xiàn)出本文算法對(duì)比度增強(qiáng)的優(yōu)勢(shì),采用了圖像信息熵和平均梯度將本文實(shí)驗(yàn)的結(jié)果與現(xiàn)有幾種經(jīng)典算法結(jié)果進(jìn)行了客觀的對(duì)比分析。表1是本文算法和幾種經(jīng)典算法結(jié)果的信息熵,表2是本文算法和幾種經(jīng)典算法結(jié)果的平均梯度。圖片一至圖片五的Q值分別取35、36、82、150和12。
圖1 改進(jìn)的對(duì)比度增強(qiáng)的圖像灰度化算法效果與現(xiàn)有方法比較
表1 灰度圖像的信息熵
表2 灰度圖像的平均梯度
對(duì)比圖1中第一幅圖、第五幅圖分別經(jīng)四種灰度化算法處理后的結(jié)果,可以明顯的看出經(jīng)本文算法得出的灰度圖保留了原圖中花瓣的更多對(duì)比度信息,表1中灰度圖像的信息熵也證實(shí)了本文更多的保留了原圖的信息量,這是因?yàn)榈谝环鶊D和第五幅圖中都存在許多亮度相差小但是飽和度相差很大的像素點(diǎn);對(duì)比圖1、表1和表2中第二幅圖經(jīng)四種灰度化算法處理后的結(jié)果,原圖像中花朵的黃色部分經(jīng)本文算法灰度化后得以保存,而Lu等人[14]的算法灰度化卻造成這一重要信息的丟失;圖1中第三幅圖片經(jīng)過(guò)灰度化后,可以明顯的看出本文算法能更多的保留蘋(píng)果的對(duì)比度信息,這是因?yàn)榈谌鶊D中存在許多色調(diào)和亮度相差都很小且飽和度差異很大的像素,同時(shí)還含有許多灰度像素;圖1中第四幅圖經(jīng)過(guò)四種不同算法后得出的灰度圖,可以明顯的看出本文算法更多的體現(xiàn)了原圖的對(duì)比度信息,這是由于本文算法中加入了灰度能量保持項(xiàng),使得大量的灰度像素的特征得以保留,從而增加了對(duì)比度。通過(guò)比較現(xiàn)有的幾種灰度效果較好的算法和本文算法的灰度結(jié)果,可以很明顯的看出本文算法能夠更有效的保存原彩色圖像的細(xì)節(jié)信息,增強(qiáng)圖像的對(duì)比度。
彩色圖像的灰度化是圖像處理中重要的研究課題。傳統(tǒng)的灰度化算法存在很多缺陷,這些算法通常會(huì)將有相同顏色的色彩轉(zhuǎn)化為同樣的灰度,因此造成對(duì)比度的缺失。本文給出了一種對(duì)比度增強(qiáng)的彩色圖像灰度化算法,在映射函數(shù)中添加飽和度,充分考慮了飽和度對(duì)圖像灰度化的影響。通過(guò)對(duì)大量的的含有豐富色差信息的彩色圖像進(jìn)行實(shí)驗(yàn),結(jié)果表明,本文算法能夠增強(qiáng)灰度圖像的對(duì)比度,保留原始圖像的更多細(xì)節(jié)信息。