焦騰云,王明泉,張俊生,郭智杰,王 玉
(中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)
隨著經(jīng)濟(jì)的快速發(fā)展,汽車需求量不斷增多,人們?cè)絹?lái)越注重汽車的安全性能,而質(zhì)量合格的輪轂對(duì)汽車的行車安全相當(dāng)重要.輪轂毛坯在鑄造完成后要通過(guò)X光照射來(lái)進(jìn)行缺陷檢測(cè),成像效果的優(yōu)劣直接影響到缺陷是否能夠正確判定,而圖像顯示算法的優(yōu)劣將直接影響成像效果.在目前的輪轂X射線成像系統(tǒng)中,常采用的圖像顯示算法為窗位窗寬算法,將0~65 535之間的一部分值映射到0~255上[1].此算法不僅操作過(guò)程繁瑣,而且效率不高,不能同時(shí)還原圖像的各部分細(xì)節(jié).而在自然光高動(dòng)態(tài)圖像的顯示領(lǐng)域,有一種比較成熟的色調(diào)映射技術(shù),能夠?qū)⒏邉?dòng)態(tài)范圍圖像在低動(dòng)態(tài)范圍顯示器上更好地顯示.
色調(diào)映射算法由Tumblin等人于1993年引入到計(jì)算機(jī)圖形學(xué)領(lǐng)域[2].現(xiàn)有的色調(diào)映射算法主要分為兩類:全局色調(diào)映射算法和局部色調(diào)映射算法.全局色調(diào)映射算法對(duì)整幅圖像的每個(gè)像素應(yīng)用相同的壓縮曲線,優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單且運(yùn)算速度快,能夠保持整體的明暗效果,缺點(diǎn)是會(huì)導(dǎo)致輸出圖像的對(duì)比度、細(xì)節(jié)、紋理等信息的丟失.從20世紀(jì)80年代開始,就有很多的專家學(xué)者進(jìn)行全局色調(diào)映射算法的研究[2-4].另一種色調(diào)映射算法為局部色調(diào)映射算法,一個(gè)像素點(diǎn)的壓縮依賴于鄰域像素點(diǎn).局部色調(diào)映射算法能夠在壓縮動(dòng)態(tài)范圍的同時(shí)保持圖像的細(xì)節(jié)和紋理,增強(qiáng)圖像的局部對(duì)比度.對(duì)于局部色調(diào)映射,許多學(xué)者做了大量研究,Durand和李紅平等人[5-6]利用雙邊濾波技術(shù),較好地保留了圖像細(xì)節(jié)信息;Farbman、Fattal和Gu等人[7-8]采用了基于梯度的多尺度分解方法,在局部顯著的邊緣處保留了細(xì)節(jié);He等人[9]提出了具有邊緣保持特性的圖像引導(dǎo)濾波算法,得到了優(yōu)于雙邊濾波器處理后的圖像效果;Xie等人[10]通過(guò)使用快速聚類算法和梯度引導(dǎo),提高了色調(diào)映射的保真度.
基于以上分析討論,為了更好地將輪轂高動(dòng)態(tài)X射線圖像顯示出來(lái),使映射后的圖像有一個(gè)較好的整理明暗效果,適應(yīng)人眼視覺系統(tǒng),同時(shí)保持圖像邊緣、突出圖像細(xì)節(jié)信息,本文提出了一種基于梯度域引導(dǎo)濾波的分層色調(diào)映射算法.
梯度域引導(dǎo)濾波器是由Kou等人[11]于2015年提出來(lái)的,在傳統(tǒng)引導(dǎo)濾波器的基礎(chǔ)上對(duì)邊緣進(jìn)行顯式的處理,引進(jìn)了明確的一階邊緣感知算子,使圖像的邊緣細(xì)節(jié)信息更好地保留.梯度域引導(dǎo)濾波由輸入圖像X、引導(dǎo)圖像G和輸出圖像Z組成.在以像素p′為中心,ζ為半徑的方形窗口Ωζ(p′)中,引導(dǎo)圖像和輸出圖像有如下的線性關(guān)系
Z(p)=ap′G(p)+bp′,?p∈Ωζ(p′),
(1)
式中:ap′和bp′為兩個(gè)常數(shù).
對(duì)式(1)兩端取梯度得
Z(p)=ap′G(p).
(2)
由式(2)可知,窗口Ωζ(p′)內(nèi)的輸出圖像Z的平滑度取決于ap′值的大小.
由文獻(xiàn)[11]得到代價(jià)函數(shù)
(3)
式中:一階邊緣感知權(quán)重ΓG(p′)通過(guò)3×3窗口和(2ζ+1)×(2ζ+1)窗口內(nèi)的局部方差來(lái)定義,表示像素p′對(duì)整個(gè)圖像的重要性,定義如式(4)所示,γp′的定義如式(5)所示
(4)
式中:χ(p′)被定義為σG,1(p′)σG,ζ(p′);N為總的像素點(diǎn)個(gè)數(shù);ζ為窗口半徑大小,由文獻(xiàn)[11]可得,ζ取值為16時(shí),能夠起到一個(gè)很好的邊緣保持和平滑噪聲的效果,因此本文ζ取值為16.
(5)
利用最小二乘法得到式(3)的最優(yōu)解
(6)
bp′=μX,ζ(p′)-ap′μG,ζ(p′).
(7)
在計(jì)算每個(gè)窗口的線性系數(shù)時(shí),一個(gè)像素會(huì)被多個(gè)窗口包含,每個(gè)像素都由多個(gè)線性函數(shù)所描述,因此用ap′和bp′的均值來(lái)計(jì)算最后的輸出圖像.
(8)
本文算法的基本流程如圖1所示.
本文對(duì)16位輪轂X射線圖像進(jìn)行處理,直接獲取到圖像的亮度值,為了更好地適應(yīng)人眼視覺系統(tǒng),將數(shù)據(jù)轉(zhuǎn)換到對(duì)數(shù)域并歸一化,然后將歸一化圖像進(jìn)行梯度域引導(dǎo)濾波得到包含大尺度信息的基礎(chǔ)層,歸一化圖像減去基礎(chǔ)層得到細(xì)節(jié)層,對(duì)基礎(chǔ)層進(jìn)行自適應(yīng)對(duì)數(shù)壓縮,對(duì)細(xì)節(jié)層進(jìn)行補(bǔ)償,將壓縮后的圖像和補(bǔ)償后的圖像合并重構(gòu)得到合并圖像,最后對(duì)合并圖像進(jìn)行后處理得到低動(dòng)態(tài)的輸出圖像.
圖1 本文算法流程圖
由韋伯定律可以得出人眼視覺系統(tǒng)對(duì)亮度的感知規(guī)律與對(duì)數(shù)函數(shù)有很高的相似性,對(duì)亮度通道進(jìn)行取對(duì)數(shù)處理,理論上能夠增強(qiáng)圖像的質(zhì)量.因此本文將亮度轉(zhuǎn)換到對(duì)數(shù)域,然后將對(duì)數(shù)域亮度歸一化,數(shù)據(jù)范圍變換到[0,1]區(qū)間,轉(zhuǎn)換公式為
I[0,1](x,y)=
(9)
式中:I(x,y)為原始亮度值;I[0,1](x,y)為取對(duì)數(shù)并歸一化后的亮度值;Imax為最大亮度值;Imin(x,y)為最小亮度值;ε是一個(gè)小的常數(shù)值,本文取值為e(-10).
在圖像分層方面本文選用具有良好邊界保持性能且不會(huì)引起“梯度反轉(zhuǎn)”現(xiàn)象的梯度域引導(dǎo)濾波器代替雙邊濾波來(lái)進(jìn)行圖像的分層操作.它能夠?qū)D像進(jìn)行有效的平滑,且具有良好的邊界保持性能,在主要的邊緣附近沒(méi)有梯度的變形,能夠很好地避免偽影等現(xiàn)象的產(chǎn)生.而且算法速度較快,時(shí)間復(fù)雜度僅為O(N).
在梯度域引導(dǎo)濾波算法中,引導(dǎo)圖像和輸入圖像可以相同也可以不同[11].當(dāng)引導(dǎo)圖像和輸入圖像相同時(shí),梯度域引導(dǎo)濾波起到保持邊緣的作用,在本文中即采用這種思路.
在對(duì)亮度值取對(duì)數(shù)并歸一化之后,利用梯度域引導(dǎo)濾波對(duì)圖像進(jìn)行分解
Ib(x,y)=G(I[0,1](x,y),p(x,y)),
(10)
Id(x,y)=I[0,1](x,y)-Ib(x,y),
(11)
式中:G( )表示梯度域引導(dǎo)濾波操作;Ib(x,y)表示動(dòng)態(tài)范圍較大的基礎(chǔ)層;Id(x,y)表示含有局部細(xì)節(jié)信息的細(xì)節(jié)層.
對(duì)數(shù)函數(shù)曲線非常接近人眼對(duì)亮度的感知,將對(duì)數(shù)函數(shù)作為壓縮函數(shù),理論上能夠得到較好的效果.Dragod等人[3]于2003年提出了自適應(yīng)色調(diào)映射算法,根據(jù)圖像中像素亮度值的不同使對(duì)數(shù)基進(jìn)行自適應(yīng)調(diào)整.在此算法中,為使對(duì)數(shù)方程的基數(shù)能夠在2~10之間自適應(yīng)調(diào)整,引進(jìn)了一個(gè)偏置函數(shù)
(12)
式中:b為用戶可調(diào)節(jié)的參數(shù),調(diào)整圖像映射后的整體明暗度.
對(duì)式(12)利用對(duì)數(shù)換底公式進(jìn)行改進(jìn),得到自適應(yīng)色調(diào)映射函數(shù)
(13)
式中:Ib-dmax(x,y)表示顯示介質(zhì)的顯示能力,通常取值為100 cd/m2.Ib-dmax(x,y)=Ibmax(x,y)·exposure,expouser為用戶可調(diào)節(jié)的曝光度.在式(13)中,b通常取值為[0.7,0.9],對(duì)于輪轂高動(dòng)態(tài)X射線圖像,取值為0.85時(shí)能取得一個(gè)滿意的效果.
為了解決暗區(qū)域的細(xì)節(jié)丟失問(wèn)題,完成色調(diào)映射之后進(jìn)行γ校正,γ一般取值為2.2,γ校正公式為
(14)
由于細(xì)節(jié)層中包含有一些圖像的細(xì)節(jié)紋理信息,為了使映射后的圖像細(xì)節(jié)紋理突出,考慮到算法的效率,本文利用式(15)對(duì)細(xì)節(jié)層進(jìn)行增強(qiáng)操作.
(15)
其中細(xì)節(jié)層調(diào)整參數(shù)α≥1,對(duì)細(xì)節(jié)層進(jìn)行相應(yīng)倍數(shù)的放大操作,取值太小細(xì)節(jié)部分得不到好的增強(qiáng)效果,取值太大會(huì)產(chǎn)生光暈并使觀察者感覺到視覺上的虛假.經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證分析,針對(duì)輪輻部分本文取值為7,輪輞部分取值為10,輪芯部分取值為1.2.
在將基礎(chǔ)層壓縮后的圖像和細(xì)節(jié)層補(bǔ)償后的圖像進(jìn)行合并后,進(jìn)行后處理操作,考慮到噪聲并增加主要像素的對(duì)比度,分別裁剪掉高3%,低1%的像素重新歸一化,最后得到映射后的輸出圖像.
為了驗(yàn)證本文算法的可行性,在Intel i5-5200U四核處理器(主頻為2.20 GHz),內(nèi)存為4 G的實(shí)驗(yàn)平臺(tái)上,利用Windows 7 、32位操作系統(tǒng)下的Matlab8.5.0編程開發(fā)環(huán)境對(duì)輪轂的3個(gè)主要部位輪輻、輪輞、輪芯圖像進(jìn)行實(shí)驗(yàn)驗(yàn)證.比較不同算法對(duì)于圖像的映射效果,判斷邊緣和細(xì)節(jié)處是否出現(xiàn)模糊,是否具有較高的局部對(duì)比度,整體對(duì)比度和清晰度.
實(shí)驗(yàn)1選用窗位窗寬算法和本文算法進(jìn)行對(duì)比.驗(yàn)證了本文算法較之窗位窗寬算法的優(yōu)越性.輪輻、輪芯和輪輞圖像的映射結(jié)果如圖2所示,圖2 中的(a1)~(a3),(b1)~(b3),(c1)~(c3)分別為窗位窗寬算法映射結(jié)果圖,其中C表示窗位值,W表示窗寬值,(d1)~(d3)為本文方法映射結(jié)果圖.
圖2 窗位窗寬算法和本文算法映射結(jié)果
從實(shí)驗(yàn)結(jié)果可以看出經(jīng)過(guò)窗位窗寬算法處理后的圖像整體太暗或太亮,明暗不均勻,對(duì)比度較差,給人一種視覺上的模糊感覺,且細(xì)節(jié)信息丟失嚴(yán)重.而經(jīng)過(guò)本文算法處理后的圖像能產(chǎn)生一種很好的視覺效果,圖像整體明暗均勻,細(xì)節(jié)信息突出,圖像清晰,層次感較好.由于輪轂毛坯的鑄造工藝問(wèn)題,在輪輻的輻窗位置有一些小的毛刺出現(xiàn),如圖2(d1)中的方框所示,證明本文算法真實(shí)的還原了輪轂結(jié)構(gòu)信息.
實(shí)驗(yàn)2選用文獻(xiàn)[3],文獻(xiàn)[5]和文獻(xiàn)[6]中的3種色調(diào)映射算法和本文提出的映射算法進(jìn)行對(duì)比.輪轂不同部位的映射結(jié)果如圖3所示,圖3中的(a1),(b1),(c1)為文獻(xiàn)[3]的映射結(jié)果圖,(a2),(b2),(c2)為文獻(xiàn)[5]的映射結(jié)果圖,(a3),(b3),(c3)為文獻(xiàn)[6]的映射結(jié)果圖,(a4),(b4),(c4)為本文方法映射結(jié)果圖.
輪輻圖像的映射結(jié)果如圖3(a1)~(a4)所示,由結(jié)果對(duì)比可知,圖3(a1)、(a2)圖像較暗、細(xì)節(jié)信息丟失嚴(yán)重,圖3(a3)圖像亮度有所提升,但邊緣和細(xì)節(jié)的保留效果較差,而經(jīng)過(guò)本文算法處理的輪輻圖像整體亮度和對(duì)比度得到了極大的提高,紋理細(xì)節(jié)信息更加的豐富,輻條部位的缺陷輪廓更加的明顯,圖像整體上產(chǎn)生了更好地視覺效果.
輪芯圖像的映射結(jié)果如圖3(b1)~(b4)所示,由結(jié)果對(duì)比可知,圖3(b1)產(chǎn)生了較好的整體明暗視覺效果,(b2)、(b3)整體偏亮,圖像對(duì)比度較低,整體有一種蒙霧的感覺.而經(jīng)本文算法處理的輪芯圖像具有較高的對(duì)比度,邊緣部分清楚可見,圖像清晰度高.
輪輞圖像的映射結(jié)果如圖3(c1)~(c4)所示,由結(jié)果對(duì)比可知,本文提出的算法能夠較好地還原輪輞圖像的紋理細(xì)節(jié)信息,且呈現(xiàn)一個(gè)較好的整體明暗效果,更加適應(yīng)人眼視覺系統(tǒng).
圖3 不同色調(diào)映射算法映射結(jié)果
為了避免受主觀喜好和環(huán)境差異等影響,除了進(jìn)行主觀的評(píng)價(jià)外,本文還對(duì)映射后的圖像進(jìn)行客觀評(píng)價(jià),進(jìn)一步評(píng)價(jià)算法的性能.在客觀評(píng)價(jià)方面,本文選用信息熵、平均梯度來(lái)評(píng)價(jià)圖片質(zhì)量.信息熵,反映了圖像中信息的豐富程度,表示圖像的平均信息量,值越大,表明圖像的信息量越大.平均梯度反映了圖像中微小細(xì)節(jié)和紋理的表現(xiàn)能力,值越大,表明圖像越清晰,細(xì)節(jié)表現(xiàn)越完整.
信息熵計(jì)算公式為
(16)
式中:Pt表示灰度值為t時(shí)的概率;M為圖像的灰度級(jí).
平均梯度的計(jì)算公式為
(17)
根據(jù)以上計(jì)算,得到各圖像的客觀評(píng)價(jià)指標(biāo)如表1 和表2所示.
表1 窗位窗寬算法和本文算法客觀指標(biāo)
由表1 可以看出,經(jīng)本文算法處理的圖像信息熵和平均梯度均得到了一定的提高,使映射后的圖像更加清晰.由于灰度范圍的變化,窗位窗寬算法在對(duì)輪輞的處理方面略有優(yōu)勢(shì),這是通過(guò)犧牲圖像的整體明暗度來(lái)達(dá)到的.
從表2 可以看出本文算法極大地提高了平均梯度值,能夠較好地還原圖像的紋理細(xì)節(jié)信息,輪輻圖像信息熵提高了1.1%~11.2%,輪芯圖像信息熵提高了11.5%~28.2%,輪輞信息熵提高了1.4%~13%.針對(duì)輪轂各個(gè)部位圖像,本文算法都會(huì)產(chǎn)生較好的視覺效果,具有較高的圖像質(zhì)量.
表2 不同色調(diào)映射算法客觀指標(biāo)
綜上所述,無(wú)論與窗位窗寬算法相比,還是與傳統(tǒng)的色調(diào)映射算法相比,本文算法都能產(chǎn)生一個(gè)較好的圖像質(zhì)量效果.
針對(duì)窗位窗寬顯示算法效率低下,圖像顯示質(zhì)量較差等缺點(diǎn),本文將色調(diào)映射技術(shù)引入到高動(dòng)態(tài)X射線圖像的顯示過(guò)程中,提出了一種將梯度域引導(dǎo)濾波和自適應(yīng)對(duì)數(shù)壓縮算子相結(jié)合的分層色調(diào)映射算法.用文獻(xiàn)[11]中提出的梯度域引導(dǎo)濾波器對(duì)輸入圖像進(jìn)行分層,分為包含大尺度信息的基礎(chǔ)層和包含細(xì)節(jié)邊緣信息的細(xì)節(jié)層,對(duì)于基礎(chǔ)層利用自適應(yīng)對(duì)數(shù)函數(shù)進(jìn)行壓縮,提高了圖像的對(duì)比度,使圖像產(chǎn)生了一個(gè)整體的明暗效果,對(duì)于細(xì)節(jié)層通過(guò)調(diào)整梯度域引導(dǎo)濾波器中參數(shù)和細(xì)節(jié)層補(bǔ)償過(guò)程中的參數(shù)使映射后的圖像達(dá)到一個(gè)邊緣保持和細(xì)節(jié)增強(qiáng)的效果,使細(xì)節(jié)較好的再現(xiàn).經(jīng)實(shí)驗(yàn)驗(yàn)證,經(jīng)過(guò)本文算法處理的輪轂高動(dòng)態(tài)X射線圖像能夠取得較好的圖像質(zhì)量效果.