李逸岳,汪仁煌,朱 穎
(廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院,廣東 廣州 510090)
紋理常指圖像反復(fù)出現(xiàn)的局部模式和它們的排列規(guī)則,反映宏觀意義上灰度變化的一些規(guī)律。在現(xiàn)代工業(yè)生產(chǎn)和自動(dòng)化檢測(cè)中,產(chǎn)品表面紋理特征往往是衡量產(chǎn)品質(zhì)量的重要指標(biāo)。不同紋理特征圖像有不同的紋理識(shí)別和描述方法,目前常用的紋理特征分析方法主要集中在基于空間域的結(jié)構(gòu)模型和統(tǒng)計(jì)模型分析方法、基于頻率域的濾波器族、小波分析方法。在空域模型中,紋理被看作一種對(duì)區(qū)域內(nèi)密度分布的量測(cè)結(jié)果,其利用對(duì)圖像灰度的分布和關(guān)系的統(tǒng)計(jì)規(guī)則來描述紋理,比較適合自然紋理的描述。HARALICK R M[1]等人提出了紋理特征的灰度共生矩陣表示,共生矩陣方法不受分析對(duì)象的限制,能夠反映圖像的灰度分布情況,但用共生矩陣提取的紋理性質(zhì)缺少視覺相似性。頻域?yàn)V波器族是一種以圖像梯度信息表示圖像紋理特征的方法,傅里葉變換[2]適合描述周期函數(shù),頻域特征比空域特征更具有抗噪性,但是對(duì)于方向性不敏感,僅包含了圖像水平和垂直方向的梯度,丟失了其他方向上的重要信息,同樣缺乏空間分布信息。小波分析[3]因其突出的局域特性和多尺度特性近年來在紋理分析中受到重視,但缺點(diǎn)是計(jì)算量大。
基于機(jī)器視覺的羽毛檢測(cè)是羽毛球生產(chǎn)自動(dòng)化的關(guān)鍵環(huán)節(jié),波紋紋理是羽毛缺陷類型的一種,主要表現(xiàn)為羽毛片上空間周期出現(xiàn)的明暗變化,在自動(dòng)化檢測(cè)中需要根據(jù)羽毛波紋的嚴(yán)重程度進(jìn)行分類識(shí)別。本文的研究對(duì)象是羽毛片,在對(duì)圖像預(yù)處理的基礎(chǔ)上,提出了一種改進(jìn)多向梯度算法用于紋理特征提取,針對(duì)羽毛片圖像的波紋紋理特征進(jìn)行分析量化,最后設(shè)定閾值進(jìn)行分類識(shí)別的方法。實(shí)驗(yàn)結(jié)果表明,本算法對(duì)紋理特征的提取有較高的效率和準(zhǔn)確率,也具有良好的泛化特性和自適應(yīng)性能。
在羽毛系統(tǒng)的硬件裝置中,光源與羽毛表面呈45°角放置,使得照到羽毛表面的光比較均勻,但光射始終還是存在一定的不均勻度,導(dǎo)致羽毛表面亮度也不均勻。在波紋紋理羽毛的檢測(cè)中,羽毛表面亮度的非均勻性會(huì)對(duì)最終的結(jié)果判定產(chǎn)生很大的影響。對(duì)此,先在Lab顏色空間[4]下進(jìn)行一定的亮度修正。
(1)將處理羽毛的圖像顏色從RGB空間變換到Lab空間,并求得此時(shí)羽毛的平均L值ave_L。
(2)按式(1)求取羽毛上每一像素點(diǎn)的 Y值:
得到每一點(diǎn)的Y值后,進(jìn)一步可求得對(duì)應(yīng)的修正Y值 Y′:
最后,求得每一像素點(diǎn)的修正 RGB 值 R′,G′,B′:
(3)使用修正后的RGB值求取每一像素點(diǎn)的修正Lab值,其中修正后的L值均為ave_L。
亮度修正的目的在于將羽毛上每一像素點(diǎn)的L值統(tǒng)一修正至該羽毛的平均L值ave_L。在修正的過程中,將值按以上步驟進(jìn)行相應(yīng)的改變,使得在保持羽毛細(xì)節(jié)信息不變的前提下,消除亮度非均勻性所帶來的影響,使得后續(xù)的紋理特征提取更加準(zhǔn)確,修正前和修正后的羽毛圖片對(duì)比如圖1所示。進(jìn)行亮度修正后,再進(jìn)行彩色圖像分割,將羽毛葉部分提取出來,最后將彩色圖轉(zhuǎn)化成灰度圖。
圖1 亮度修正對(duì)比圖
羽毛的紋理區(qū)域表現(xiàn)為圖像上灰度突變的地方,可以用灰度差分來提取,圖像中像素點(diǎn)(x,y)的梯度方向?yàn)榛叶戎礷(x,y)在這點(diǎn)變化最大的方向,這個(gè)向量的模值GM[f(x,y)]為灰度值 f(x,y)的最大變化率:
對(duì)于數(shù)字圖像,傳統(tǒng)的梯度算法[5-6]常用水平垂直差分法和Roberts交叉差分算法來近似。
水平垂直差分算子表示:
Roberts算子表示:
對(duì)圖像施加梯度模算子,可以增加灰度變化的幅值,因此可以作為圖像的銳化算子,利用梯度算法進(jìn)行運(yùn)算的目的是使圖像銳化,凸顯圖像的紋理特征。然而羽毛波紋紋理在圖像中常常具有任意的方向性,傳統(tǒng)的梯度模算子是固定不變的,不能代表局部區(qū)域?qū)嶋H灰度變化率最大的方向。因此考慮在極坐標(biāo)上用動(dòng)態(tài)尋優(yōu)法來求取局部區(qū)域灰度差最大的一個(gè)方向角度θ,然后對(duì)單個(gè)像素點(diǎn)沿方向角度θ上求灰度差。根據(jù)此思路提出一個(gè)局部區(qū)域最大差分法,具體算法如下:
(1)首先設(shè)定一個(gè)多向梯度算子,建立極坐標(biāo),圖2是極坐標(biāo)下的示意圖。在局部區(qū)域選取不同方向的梯度算子來運(yùn)算比較,求出局部區(qū)域灰度變化率最大方向,也即是梯度方向。這里提出一個(gè)脊線的定義,即為灰度差徑向積分求和的向量,脊線方向與梯度方向正交。為了提高運(yùn)算效率,脊線放置角度?在 0°~180°范圍內(nèi)每隔 15°遞增賦值,沿著脊線方向計(jì)算一次有限長(zhǎng)范圍內(nèi)灰度差絕對(duì)值,進(jìn)行數(shù)值比較,確定使灰度差絕對(duì)值最大的脊線方向。
圖2 多向梯度算子示意圖
(2)對(duì)脊線的方向角度分別取?=0°,15°,30°,45°…180°共13個(gè)方向運(yùn)算比較。局部區(qū)域梯度差為:
其中θ=?-90°,由極坐標(biāo)變換成直角坐標(biāo)得:
比較迭代求出局部區(qū)域梯度差最大時(shí)的θ角,作為算子梯度方向。
實(shí)際生產(chǎn)中將波紋等級(jí)分為一級(jí)、二級(jí)、三級(jí)、四級(jí),計(jì)算灰度梯度矩陣圖中羽毛葉范圍內(nèi)所有像素灰度差值的平均值D,作為評(píng)價(jià)波紋等級(jí)的指標(biāo),即D=( ΣΣG (i,j))/I,I是羽毛葉面積, 根據(jù)試驗(yàn)結(jié)果設(shè)定一、二級(jí)的門限 D12,二、三級(jí)的門限 D23,三、四級(jí)的門限D(zhuǎn)34,對(duì)羽毛葉波紋缺陷分級(jí)歸類。
圖3 不同方法處理效果圖
在VC6.0平臺(tái)上進(jìn)行編程,實(shí)現(xiàn)上述算法,具體檢測(cè)流程圖如圖4所示。
圖4 算法流程圖
本文提出的方法在典型梯度算法基礎(chǔ)上針對(duì)紋理方向性特征進(jìn)行了改進(jìn),有效地提取圖像紋理特征,并給出量化指標(biāo)進(jìn)行綜合評(píng)價(jià)。全部的運(yùn)算過程都是加減運(yùn)算,避免了乘法運(yùn)算,計(jì)算復(fù)雜度小,滿足機(jī)器視覺檢測(cè)系統(tǒng)的實(shí)時(shí)性需要。另外,圖像預(yù)處理對(duì)亮度進(jìn)行修正,程序設(shè)計(jì)中的處理對(duì)邊緣信息和其他干擾信息不敏感,目標(biāo)區(qū)域發(fā)生相對(duì)旋轉(zhuǎn)也不影響結(jié)果,具有較好的魯棒性。利用已分級(jí)的羽毛樣品進(jìn)行檢測(cè)實(shí)驗(yàn),不同等級(jí)之間的結(jié)果存在明顯的區(qū)分度,波紋紋理越嚴(yán)重,值越大,實(shí)驗(yàn)證明了本算法的有效性。本方法只是在單一尺度的基礎(chǔ)上考慮,由于紋理圖像的不規(guī)則性和復(fù)雜性,若考慮多尺度的變化,方法還要進(jìn)一步改進(jìn)。
[1]HARALICK R M,SHANMUGAM K,DINSTEIN I.Textural features for image classification[J].IEEE Transactions on System, Man, and Cybernetie, 1973,3(6): 610-631.
[2]熊四昌,陳國波.工件表面紋理間距提取的一種新方法[J].光學(xué)儀器,2007(6):14-17.
[3]劉洪江,汪仁煌.基于羽毛圖像紋理分割的毛桿提取方法[J].廣東工業(yè)大學(xué)學(xué)報(bào),2010,27(4):42-45.
[4]林開顏,吳軍輝.彩色圖像分割方法綜述[J].中國圖像圖形學(xué)報(bào),2005,10(1):1-10.
[5]李偉,康晴晴,張俊雄,等.基于機(jī)器視覺的蘋果表面紋理檢測(cè)方法[J].吉林大學(xué)學(xué)報(bào),2008,38(5):1110-1113.
[6]溫江濤,王伯雄.基于局部灰度梯度特征的圖像快速配準(zhǔn)方法[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,49(5):57-59.