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