王曉倩,楊澤青,黃鳳榮,李 莉,劉麗冰
(河北工業(yè)大學(xué) 機(jī)械工程學(xué)院,天津 300130)
復(fù)雜工件CCD在線辨識的實時性和準(zhǔn)確性是CNC集成制造的重點和難點問題之一。近年來,國內(nèi)外的研究者們在工件識別方面做了大量的研究。一方面,Luo S等[1]和白豐等[2]在識別的準(zhǔn)確性方面做出了研究,分別提出了tactile-SIFT算法,和改進(jìn)FREAK描述子,都能夠描述較多的細(xì)節(jié)特征,具有較強(qiáng)的區(qū)分性能。另一方面,韓翀蛟[3]采用Hu矩、Fourier算子和Zernike矩這三種幾何特征描述算子對工件區(qū)域輪廓特征進(jìn)行描述,白冰峰等[4]使用Haar小波和形狀模板對壓縮圖像進(jìn)行匹配,在工件識別的實時性方面做了研究。但這些方法都仍然存在圖像處理數(shù)據(jù)量大,實時性不強(qiáng)的缺點。
本文針對復(fù)雜工件的快速辨識問題,提出了基于改進(jìn)FDMA骨架化算法的工件快速辨識方法。首先采用改進(jìn)FDMA算法對工件圖像骨架化,然后采用改進(jìn)的Hu不變矩描述骨架的形狀信息,得到特征向量,最后采用SVM進(jìn)行工件辨識。圖像骨架化能夠簡潔地描述結(jié)構(gòu)復(fù)雜的工件,有效保留下非常穩(wěn)定的整體拓?fù)浣Y(jié)構(gòu)和形狀信息,去除了圖像大量的冗余信息,處理數(shù)據(jù)量非常少。面向曲軸CCD辨識,實驗驗證得出骨架化方法能夠滿足在線檢測的準(zhǔn)確性和實時性的要求。本文提出的工件在線辨識方法為CNC集成CCD視覺檢測的普及應(yīng)用、CNC智能化測控功能拓展奠定了基礎(chǔ),對實現(xiàn)智能制造既具有一定的理論意義,又具有重要的應(yīng)用價值。
基于骨架特征的曲軸快速辨識過程主要包括圖像采集、圖像預(yù)處理、圖像骨架化、提取骨架特征及基于骨架特征的曲軸種類辨識等。其中圖像預(yù)處理包括圖像灰度化、二值化以及開運(yùn)算,用于去除圖像背景和金屬工件表面反光產(chǎn)生的白斑;圖像骨架化是將曲軸圖像用骨架描述,去除冗余信息;然后采用不變矩描述曲軸骨架圖,得到特征向量,最后將特征向量輸入分類器實現(xiàn)曲軸種類的辨識。
曲軸主要由主軸頸、連桿軸頸、曲柄、平衡重和后端等組成,一個連桿軸頸、左右兩個曲柄和左右兩個主軸頸構(gòu)成一個曲拐,形狀結(jié)構(gòu)較復(fù)雜,如圖1所示。
圖1 曲軸結(jié)構(gòu)特征示意圖
骨架(Skeleton)又可稱為中軸(Medial axis),于1967年由Blum提出。目前骨架提取方法主要有3類[5]:
(1)細(xì)化算法:通過不斷地從物體所有邊界同時向輪廓內(nèi)部進(jìn)行掃描,依次刪除滿足條件的像素點,直至得到一維骨架。該方法能得到連通的骨架,但計算量大。
(2)基于Voronoi圖的骨架算法:即將輪廓多邊形內(nèi)部最大圓盤中心的軌跡作為骨架點。該方法時間復(fù)雜度較高,不具有魯棒性。
(3)基于距離變換的骨架算法:首先生成原始模型的距離場,然后提取并連接距離場中的局部極值點得到骨架。該類算法可以提取準(zhǔn)確的骨架點,速度快,但不能保證骨架的連通性。
由于物體的輪廓線不可避免地受到邊界噪聲的影響,同時輪廓上一些細(xì)小的突起總是會產(chǎn)生小的骨架分支,通常這些小的骨架分支不能描述物體的特征,而且會對辨識過程造成一定的干擾,導(dǎo)致識別不準(zhǔn)確。因此需要對骨架進(jìn)行剪枝,常用的剪枝方法是離散曲線演化方法,但剪枝過程往往是在提取骨架之后進(jìn)行,增加了骨架提取過程的復(fù)雜性。
針對上述問題,John Chaussard[6]提出了DLMA算法,Micha Postolski[7]提出了SFEMA算法,Romain Marie[8]提出了DMA算法和簡化后的FDMA算法。其中FDMA算法得到的骨架具有很好的連通性,且計算時間很短,可以滿足實時性。該算法的核心思想是在提取骨架的過程中,采用一個參數(shù)δ直接識別和消除虛假的分支,從而能夠直接提取過濾的骨架,大大增強(qiáng)了骨架的抗干擾能力。下面詳細(xì)介紹具體的實現(xiàn)過程,并進(jìn)行了改進(jìn)。
(1)計算二值圖像的歐式距離變換和投影變換
一副二值圖像I=X∪S,X為前景形狀,S為背景,圖像I的歐式距離變換DS為圖像上的每一個點x(x1,x2)到背景S的最短距離:
DS(x)=miny∈Sd(x,y)
(1)
其中,
投影變換為:
PS(x)={y∈S|d(x,y)=DS(x)}
(2)
(2)計算δx
δx可以看成是與x相連的骨架分支起點處的最大形狀變形的半徑。令
Nx={y∈I|d(x,y)=1}
(3)
rx,y=sup{Dz|z∈Zx,y}
(4)
令m=(x+y)/2為線段[x,y]的中點,從而可以計算δx:
(5)
(3)得到骨架點
形狀X的的δ-MA是由滿足條件δx≥δ的一系列點組成的,如下公式:
MAδ(x)={x∈X|δx≥δ}
(6)
(4)對FDMA算法的改進(jìn)
由FDMA算法得到的骨架有少量的位置有雙像素性的現(xiàn)象存在,而骨架應(yīng)具有單個像素寬度,單像素性會使提取的特征更準(zhǔn)確,減少后期識別、匹配等操作的計算量,因此對骨架進(jìn)行單像素性處理十分必要。故本文對其進(jìn)行了改進(jìn),增加了單像素處理過程。經(jīng)過分析,當(dāng)骨架圖中某一像素點P(i,j),其8-鄰域內(nèi)各像素點如果滿足下列四種情況之一時,便可刪除,如圖2所示。
(a)上方和左方有像素點 (b) 上方和右方有像素點
(c)下方和左方有像素點 (d) 下方和右方有像素點圖2 四種可刪除像素點的8-鄰域像素點分布圖
1.3.1 骨架常用的描述方法
常用的骨架描述方法有三種,第一種是骨架路徑相似性方法[9],其核心是利用骨架端點之間最短骨架路徑的幾何相似性特征來判斷骨架圖的相似性,這種方法主要針對的是具有柔性變化的不同物體之間的識別問題,而曲軸工件屬于剛性物體,因此此方法并不適用。第二種是利用樹的金字塔式結(jié)構(gòu)特點來表示骨架的拓?fù)浣Y(jié)構(gòu)和形狀信息,例如奇點圖[10]、骨架樹[11]等。骨架的拓?fù)浣Y(jié)構(gòu)操作簡單,但不能區(qū)分出拓?fù)浣Y(jié)構(gòu)相同但形狀不同的物體,這時就需要結(jié)合上骨架的形狀信息,但需要繁瑣的編碼工作。第三種是采用不變矩對骨架進(jìn)行特征提取[12],這種方法避免了繁瑣的編碼工作,能夠描述骨架的整體分布和骨架枝的形狀信息,而且得到的高維數(shù)組,便于后期采用分類器進(jìn)行識別。
曲軸根據(jù)曲拐的個數(shù)的不同具有不同的拓?fù)浣Y(jié)構(gòu),而具有相同拓?fù)浣Y(jié)構(gòu)的曲軸有時會有不同的形狀,如圖3所示。曲軸的骨架相對來說比較復(fù)雜,因此,本文采用不變矩對曲軸骨架進(jìn)行特征提取。
(a)具有6個曲拐的曲軸
(b)具有4個曲拐的曲軸1
(c)具有4個曲拐的曲軸2圖3 不同結(jié)構(gòu)和形狀的曲軸對比圖
1.3.2 曲軸骨架的不變矩描述
常見的不變矩有Hu矩、Zernike矩、小波矩等,每種方法都有自己的應(yīng)用情景和優(yōu)勢。本文采用計算速度較快的Hu矩對曲軸骨架進(jìn)行描述。Hu矩是由M K Hu[13]于1961年提出,是通過矩的非線性組合組成的一套矩不變量。實踐證明,這種方式很好的解決了特征圖像識別中的尺度變化、坐標(biāo)變化、旋轉(zhuǎn)、平移等問題。
一幅M×N分辨率的數(shù)字圖像f(x,y)的(p+q)階原點矩定義為:
(7)
(p+q)階中心矩定義為:
(8)
其中,
(p+q)階歸一化中心矩定義為:
(9)
Hu矩的定義是由七個二階、三階中心距組成,其定義如公式(10)所示:
φ1=η20+η02
(10)
(11)
圖4 基于骨架特征的曲軸辨識流程圖
SVM是一種專門針對小樣本、高維的機(jī)器學(xué)習(xí)算法,它在解決非線性分類問題時,通過非線性變換將問題轉(zhuǎn)換為高維空間的線性問題,求出最優(yōu)分類面,實現(xiàn)非線性問題的分類。SVM引入了核函數(shù)簡化了高維特征空間的計算步驟,并且引入?yún)⒘克沙谙禂?shù)g和懲罰系數(shù)c,來降低核函數(shù)產(chǎn)生的偏差。由于實際條件的限制,曲軸圖像樣本數(shù)有限,因此,本文選擇支持向量機(jī)作為曲軸辨識的工具。曲軸辨識流程如圖4所示。
曲軸CCD辨識系統(tǒng)主要包括CNC系統(tǒng)、ARM嵌入式處理器、CCD相機(jī)、光源等,圖5為系統(tǒng)工作示意圖。其工作原理主要包括以下幾個步驟:
(1)CCD相機(jī)可通過標(biāo)準(zhǔn)錐柄安裝在加工中心刀庫中,通過T代碼控制刀具與視覺測頭的互換;
圖5 系統(tǒng)工作示意圖
(2)G代碼控制相機(jī)精確定位,M代碼控制圖像采集;
(3)通過骨架算法實現(xiàn)曲軸圖像特征的快速提取,將特征向量輸入到訓(xùn)練好的SVM分類器中,辨識出曲軸種類;
(4)將辨識結(jié)果傳輸至CNC,使其調(diào)取正確的加工程序。
本部分設(shè)計了三個實驗來驗證基于骨架特征的曲軸辨識方法的性能:
(1)基于改進(jìn)FDMA算法的曲軸圖像骨架化方法實驗
實驗對曲軸圖像經(jīng)過預(yù)處理得到曲軸二值圖,然后采用改進(jìn)的FDMA算法得到不同δ值的曲軸骨架圖。選取了一幅大小為500×300的曲軸圖像為例說明,如圖6所示,得到的骨架圖位置準(zhǔn)確且具有很好的連通性。圖6a的δ值為2,圖6b的δ值為3,可以看出δ值越大,得到的骨架分支越簡潔。
(a)曲軸二值圖
(b)δ值為2的骨架圖
(c)δ值為3的骨架圖圖6 不同的δ值獲得的曲軸骨架圖
單像素處理前后的骨架圖(局部放大)對比如圖7所示,可以看出本文提出的單像素處理規(guī)則有效的刪除了多余的像素點。
(a)單像素處理前 (b)單像素處理后圖7 單像素處理前后對比圖
(2)曲軸辨識實驗
實驗選取了5種曲軸進(jìn)行辨識實驗,經(jīng)過預(yù)處理得到的曲軸二值圖像如圖8所示。每一種曲軸圖像有100張訓(xùn)練樣本和20張測試樣本,每幅曲軸圖像大小為500×300,每個樣本都有不同程度的平移、旋轉(zhuǎn)和縮放。
(a)曲軸1 (b)曲軸2
(c)曲軸3 (d)曲軸4
(e)曲軸5圖8 實驗選取的曲軸的二值圖
采用本文算法對曲軸圖像進(jìn)行處理得到骨架圖,然后分別提取100個訓(xùn)練樣本的矩值,存入圖像數(shù)據(jù)庫,用于訓(xùn)練SVM分類器。最后提取20個測試樣本的矩值,輸入到訓(xùn)練好的SVM分類器,辨識出曲軸種類。分別隨機(jī)抽取了五種曲軸的2個樣本的矩值R1~R10,如表1所示,可以看出同一種曲軸的矩值是比較接近的,而不同種類的曲軸的矩值有明顯差異。因此,這些矩值之間的差異可以作為辨識曲軸種類的依據(jù),確保了辨識的準(zhǔn)確性。經(jīng)過測試,識別率達(dá)到100%。
表1 五種曲軸骨架圖的矩值對比
(3)快速性分析實驗
將曲軸圖像用骨架圖來表示,減少了很多冗余信息,表2展示了一幅曲軸圖像的二值圖、輪廓圖、骨架圖,以及計算矩值時的有效像素的個數(shù),可以看出骨架圖相比二值圖像和輪廓圖,有效像素大大減少,可以降低計算時間,提高計算效率。
表2 像素個數(shù)對比
本文針對圖像識別中特征提取計算量大的問題,提出了一種改進(jìn)的FDMA骨架化算法,能夠提取出連通性較好且具有單像素寬度的骨架圖,大大減少了圖像的冗余信息,減小了計算量。然后,采用改進(jìn)的Hu不變矩算法得到骨架的特征向量,減少了提取骨架特征的復(fù)雜度,確保了辨識的實時性和準(zhǔn)確性。最后選取了不同形狀的曲軸工件作了圖像辨識實驗并做了快速性分析,實驗結(jié)果表明,本文提出的方法,對工件辨識率高,且實時性較好。但需要指出的是,本文提出的圖像處理方法只適用于形狀結(jié)構(gòu)相差較大的工件的辨識,如果要辨識形狀結(jié)構(gòu)都很相似的不同類工件,還需要進(jìn)一步研究能夠提取更多細(xì)節(jié)特征的智能算法。
[參考文獻(xiàn)]
[1] Luo S, Mou W X, Althoefer K, et al. Novel Tactile-SIFT Descriptor for Object Shape Recognition[J]. IEEE Sensors Journal, 2015,15(9):5001-5009.
[2] 白豐,張明路,張小俊. 衛(wèi)星裝配中基于強(qiáng)區(qū)分性描述子的識別方法[J]. 儀器儀表學(xué)報,2014,35(12):2653-2662.
[3] 韓翀蛟. 基于幾何形狀特征的工件識別方法研究[D]. 大連:大連理工大學(xué),2014.
[4] 白冰峰,溫秀蘭,張中輝. 基于Haar小波和形狀模板的圖像快速匹配算法[J]. 組合機(jī)床與自動化加工技術(shù),2017(2):37-40.
[5] Saha P K, Borgefors G, Baja G S. A survey on skeletonization algorithms and their applications[J]. Pattern Recognition Letters,2016,76: 3-12.
[6] Chaussard J, Couprie M, Talbot H. Robust skeletonization using the discreteλ-medial axis[J]. Pattern Recognition Letters, 2011,32(9):1384-1394.
[7] Postolski M, Couprie M, Janaszewski M. Scale filtered Euclidean medial axis and its hierarchy[J]. Computer Vision and Image Understanding,2013,129(129):360-371.
[8] Marie R, Labbani-Igbida O, Mouaddib E M. The delta medial axis: a fast and robust algorithm for filtered skeleton extraction[J]. Pattern Recognition, 2016, 56: 26-39.
[9] Bai X, Yang X W, Yu D G, et al. Skeleton-based shape classification using path similarity[J]. International Journal of Pattern Recognition and Artificial Intelligence, 2008,22(4): 733-746.
[10] Siddiqi K, Shokoufandeh A, Dickinson S J, et al. Shock graphs and shape matching[J]. International Journal of Computer Vision, 2002, 35(1): 13-32.
[11] 朱文博,耿國慶,劉陽陽,等. 基于骨架樹的機(jī)械零件三維模型檢索方法[J]. 機(jī)械工程學(xué)報, 2016,52(13): 204-212.
[12] 張星成. 基于骨架化方法的手勢識別若干問題研究[D]. 廈門:廈門大學(xué),2014.
[13] Hu M K. Visual pattern recognition by moment invariants[J]. IRE Transaction on Information Theory, 1962, 8 (2):179-187.