王玉源 徐 杰 吉衛(wèi)喜 彭 威 杜 猛
(1. 江蘇省食品制造裝備重點實驗室,江蘇 無錫 214122;2. 江南大學(xué)機(jī)械工程學(xué)院,江蘇 無錫 214122)
飲料灌裝設(shè)備中用于軌跡控制的零件軸承孔加工質(zhì)量對飲料灌裝生產(chǎn)線整體的平穩(wěn)運(yùn)行具有重要影響。使用機(jī)器視覺[1]檢測無夾具定位飲料灌裝設(shè)備軌跡控制零件軸承孔時,由于相機(jī)及鏡頭的制作工藝、視場限制等原因,難以通過單張圖像獲取高精度的零件軸承孔邊緣特征。
為解決這類問題,通常采用SIFT(Scale Invariant Feature Transform)算法[2]對待檢測零件特征的局部圖像進(jìn)行拼接。該算法對圖像旋轉(zhuǎn)、尺度縮放、亮度變化具有不變性,是一種非常穩(wěn)定的局部特征檢測方法[3],在工程領(lǐng)域應(yīng)用廣泛。Wang等[4]利用SIFT特征檢測以及偽彩色圖像增強(qiáng)的方法實現(xiàn)飛秒激光加工的微槽圖像拼接,Yang等[5]利用SIFT特征結(jié)合多視點的方法對遙感圖像進(jìn)行了配準(zhǔn)。
然而,這些研究并未給出零件待檢測特征的識別與定位方法,并且SIFT算法的特征描述向量維數(shù)高,匹配耗時長,檢測速度慢,難以滿足在線檢測的實時性需求。為解決無夾具定位的軌跡控制零件特征孔智能識別與局部圖像的快速、準(zhǔn)確拼接問題,本研究提出先利用SVM方法對零件軸承孔進(jìn)行識別與定位,然后利用KAZE算法[6]實現(xiàn)軸承孔局部圖像拼接的在線檢測方法。KAZE算法使用非線性擴(kuò)散方程對圖像進(jìn)行擴(kuò)散,降低了描述向量的維數(shù),具有較高的魯棒性和局部精度,但其在零件幾何特征拼接的應(yīng)用方面鮮有文獻(xiàn)報道。
如圖1所示,機(jī)器視覺圖像采集裝置主要由四部分組成:① 背景桌,作用是模擬零件流水線并使背景與目標(biāo)零件在獲取的圖像上具有灰度差異;② 光源(升軒照明,LED投光燈DC12 V-10 W)X2,采用多光源大角度斜射以減少零件目標(biāo)區(qū)域的色差,并增強(qiáng)圖像背景與零件的灰度差異;③ 工業(yè)相機(jī)與鏡頭組件[相機(jī):Basler acA4600-7gc(數(shù)量2),鏡頭:Evetar Lens M13B04218W F1.8 f 4.2 mm,EDMUND OPTICS F1.8 f 25 mm],相機(jī)通過POE(Power On Ethernet)線纜連接至計算機(jī),實現(xiàn)圖像的拍攝、存儲;④ 三軸運(yùn)動載臺,相機(jī)與鏡頭安裝在載臺上并通過步進(jìn)電機(jī)控制其三維移動。
1. 背景桌 2. 光源 3. 鏡頭 4. 相機(jī) 5. 三軸運(yùn)動載臺 6. 計算機(jī) 7. 工件
圖1 機(jī)器視覺圖像采集裝置
Figure 1 Machine vision image acquisition device
江蘇省張家港市某飲料罐裝設(shè)備公司生產(chǎn)的某型號軌跡控制零件如圖2所示。該零件共有A、B、C、D4個待檢測軸承孔,直徑分別為85,77,59,74 mm。
圖2 零件全貌Figure 2 Full view of the part
以軸承孔A為例,主要檢測步驟如下:
(1) 用三軸運(yùn)動載臺將相機(jī)拉升至0.8 m,使用短焦鏡頭拍攝零件的全局圖像。
(2) 對獲取的零件全局圖像進(jìn)行灰度化、邊緣檢測等操作識別出軸承孔A,確定其空間位置。
(3) 將軸承孔A的空間位置坐標(biāo)導(dǎo)入三軸運(yùn)動載臺的驅(qū)動程序,自動規(guī)劃檢測路徑。
(4) 將相機(jī)降至0.25 m,三軸運(yùn)動載臺控制相機(jī)移動,使用長焦鏡頭在軸承孔A的邊緣部分拍攝一系列高清局部圖像,相鄰圖像間至少保證1/3面積重合。
(5) 對軸承孔A的局部圖像進(jìn)行拼接。
軌跡控制零件大多形狀輪廓復(fù)雜,為滿足裝配需求,會多次出現(xiàn)具有相同或類似特征的軸承孔,故特征描述方法需要體現(xiàn)這類特征之間的差異。使用短焦鏡頭獲取的零件全貌圖像對尺寸精度要求不高,先采用JPEG編碼對圖像進(jìn)行壓縮以提高計算速度、減少存儲空間。將壓縮后的圖像進(jìn)行灰度變換并選取合適的邊緣檢測算子對圖像進(jìn)行邊緣檢測[7],獲得連續(xù)、清晰的邊緣,如圖3所示。
圖3 零件輪廓Figure 3 Part outline
在獲取圖像邊緣的基礎(chǔ)上,利用軸承孔中心點位置關(guān)系構(gòu)成特征描述矩陣的主要步驟如下:
(1) 利用Hough變換獲取待識別特征并求其中心坐標(biāo),分別記為P1,P2,……,Pn。
(2) 根據(jù)零件外輪廓求零件整體的幾何中心坐標(biāo),記為P0。
(3) 分別計算Pi與Pm(m=0,1,2,……,n且m≠i)的歐式距離,并將其降序排列,得Pi1,Pi2,……,Pin。
(4) 描述特征ci(i=1,2,……,n)的特征矩陣xi定義如下:
(1)
式中:
Pi0——Pi與P0間的歐氏距離。
步驟1中Hough變換的方法對于圓、橢圓、直線等曲線表達(dá)式清晰的特征檢測效果好[8]。步驟2中引進(jìn)P0的作用有如下兩方面:① 軸承孔中心構(gòu)成正多邊形時,引進(jìn)P0可有效避免不同軸承孔產(chǎn)生相同特征矩陣;② 為同一幅圖像的不同軸承孔生成的特征矩陣進(jìn)行歸一化提供了統(tǒng)一的依據(jù),使得同一幅圖像的特征矩陣在數(shù)值上具有相同尺度。步驟3中使用歐式距離可以消除軌跡控制零件圖像的隨機(jī)旋轉(zhuǎn)對特征矩陣中數(shù)值的影響。因此,本研究提出的特征描述矩陣具有尺度不變性、旋轉(zhuǎn)不變性的特點。
使用2.1的方法求取軌跡控制零件待檢測軸承孔特征描述矩陣,矩陣與軸承孔的類別對應(yīng)關(guān)系具體、明確。生產(chǎn)線的不同軌跡控制零件需要快速檢測,導(dǎo)致大數(shù)據(jù)量的訓(xùn)練樣本難以獲得。因此需要一種適合于小樣本的監(jiān)督式機(jī)器學(xué)習(xí)方法對零件待檢測軸承孔進(jìn)行分類。神經(jīng)網(wǎng)絡(luò)算法由于其訓(xùn)練結(jié)果不唯一、過程存在“暗箱”等問題[9],不能很好地適應(yīng)快速識別的需求;決策樹方法不考慮變量間的相互關(guān)系[10],僅適用于單個變量數(shù)值有明顯差異的情況。
支持向量機(jī)(SVM)方法現(xiàn)已成為機(jī)器學(xué)習(xí)領(lǐng)域標(biāo)準(zhǔn)工具之一[11],這種方法能夠綜合考慮幾個變量間的相互關(guān)系,在食品工程領(lǐng)域應(yīng)用更加廣泛[12-13]。
支持向量機(jī)中常用的線性核、高斯核函數(shù)分別如式(2)、(3),式中xi、xj對應(yīng)式(1)中的特征矩陣:
(2)
式中:
σ——標(biāo)準(zhǔn)差。
線性核函數(shù)為:
k(xi,xj)=
(3)
式中:
支持向量機(jī)對應(yīng)的輸入為式(1)的特征矩陣,輸出為“-1”或“1”,但是軌跡控制零件待識別軸承孔往往超過兩類,因此需要對該方法進(jìn)行改進(jìn)與擴(kuò)展。針對本研究實例,采用一對一方案,生成6個支持向量機(jī)。以區(qū)分A、B的支持向量機(jī)為例,將標(biāo)簽A對應(yīng)“1”,標(biāo)簽B對應(yīng)“-1”,將輸入樣本與對應(yīng)輸出標(biāo)簽對應(yīng),可以訓(xùn)練出用于識別A、B的支持向量機(jī)。
針對這6個支持向量機(jī),生成一個4×6階的編碼矩陣M,M的每一行對應(yīng)一個類別,每一列對應(yīng)一個分類器,若某列對應(yīng)的分類器不對這一類別進(jìn)行判別則將該項置為 0,若對這一類判別且類標(biāo)簽為 1則將該項置為 1,相反置為-1,編碼矩陣M如表1所示。
表1 編碼矩陣
將待識別的軸承孔對應(yīng)的特征矩陣xi放入這6個支持向量機(jī)計算結(jié)果(結(jié)果為1或-1),M的每列乘以對應(yīng)結(jié)果得到裕量矩陣Z,再利用基于hinge損失[14]函數(shù)的解碼方法便可求得xi對應(yīng)的類標(biāo)簽。
由于零件擺放的隨機(jī)性、色差、環(huán)境等干擾因素的存在,依據(jù)圖像邊緣獲得的軸承孔中心以及外輪廓中心的位置可能存在一定誤差,因此同一特征在不同情況下生成的特征矩陣會有一定差別,支持向量機(jī)訓(xùn)練次數(shù)的增加可以有效減弱特征矩陣誤差對智能識別的影響。但為了滿足快速檢測的需求,支持向量機(jī)訓(xùn)練次數(shù)又不宜過多,因此識別成功率難以達(dá)到100%。當(dāng)出現(xiàn)識別錯誤時,會導(dǎo)致檢測結(jié)果與對應(yīng)孔的幾何參數(shù)真實值不匹配,從而嚴(yán)重影響定位方法的實用性。因此,當(dāng)出現(xiàn)識別錯誤時,需對識別錯誤進(jìn)行糾正。
試驗表明,識別錯誤均是將某一個特征判別到其他類別,因此一幅圖像的某個特征類別會出現(xiàn)2次。本研究采用基于零件特征唯一性的糾錯方法對識別錯誤進(jìn)行糾正。以圖2為例,假設(shè)A、B唯一,出現(xiàn)2個C特征,糾錯步驟如下:
(1) 讀取正確特征A、B的中心坐標(biāo)值{(xa,ya),(xb,yb)}。
(2) 根據(jù)零件幾何關(guān)系,推算出現(xiàn)錯誤的2個理論特征C′、D′的中心坐標(biāo){(xc′,yc′),(xd′,yd′)}。
(3) 將出現(xiàn)錯誤的2組特征值中心C1、C2分別與C′、D′計算距離和:
L1=dis(C′,C1)+dis(D′,C2),
(4)
L2=dis(C′,C2)+dis(D′,C1),
(5)
式中:
dis——兩點距離。
(4)若L1 本研究采用的高精度相機(jī)成像質(zhì)量高,單幅圖像體積在43 MB以上,直接進(jìn)行特征點檢測與匹配會耗費(fèi)大量資源與時間。三維控制機(jī)構(gòu)雖然不能滿足確定2幅待拼接圖像之間的空間坐標(biāo)關(guān)系的精度需求,但是可以給出待匹配區(qū)域的位置,將匹配區(qū)域縮小到圖片的40%左右,大幅提高匹配效率,對本研究大數(shù)據(jù)量的圖片效果尤其明顯。 對于同一個待檢測軸承孔,三維控制系統(tǒng)僅改變相機(jī)的x軸坐標(biāo)與y軸坐標(biāo),因此相鄰待拼接子圖像之間不存在旋轉(zhuǎn)變換。如圖4所示,實線矩形部分代表圖像Qn,虛線矩形部分代表圖像Qn+1,x軸坐標(biāo)與y軸坐標(biāo)改變量分別為Δx和Δy: 2幅圖像均以圖像左上角為坐標(biāo)原點,對于Qn,僅檢測以(Δx,Δy),(x,y)為對角點的矩形區(qū)域,對于圖像Qn+1,僅檢測以(0,0),(x-Δx,y-Δy)為對角點的矩形區(qū)域。 圖4 匹配區(qū)域示意圖Figure 4 Matching area 當(dāng)前圖像特征點檢測方法主要有SIFT方法,以及在此基礎(chǔ)上改變構(gòu)造金字塔形成的SURF算法[15]。但是這2種算法均采用高斯核函數(shù)建立線性尺度空間,使得邊緣區(qū)域與非邊緣區(qū)域擴(kuò)散程度相同,在尺度空間存在邊緣和細(xì)節(jié)丟失現(xiàn)象[16]?;诖?,本研究利用KAZE特征點檢測方法代替SIFT方法,實現(xiàn)圖像特征點匹配。KAZE算法核心思想是非線性擴(kuò)散,可用式(6)的非線性微分方程表示: (6) 式中: L——圖像亮度; div——散度; t——時間; c(x,y,t)——坐標(biāo)點(x,y)處的傳導(dǎo)函數(shù)。 針對本研究案例,利用KAZE算法實現(xiàn)圖像特征點檢測與匹配的步驟如下: (1) 將2張相鄰待拼接圖像Qn、Qn+1灰度化并確定匹配區(qū)域。 (2) 分別檢測Qn、Qn+1中的KAZE特征點,并保存特征點的坐標(biāo)值與對應(yīng)的64維特征向量,坐標(biāo)值集合分別記為Location(n)、Location(n+1)。 (3) 使用全檢的方式匹配Location(n)、Location(n+1)中對應(yīng)特征向量,刪除無匹配特征向量的坐標(biāo)點。 (4) 將Location(n+1)中的坐標(biāo)點重新排序,使其與匹配的Location(n)中坐標(biāo)點按順序一一對應(yīng)。 利用KAZE算法對特定區(qū)域進(jìn)行檢測與匹配后,再利用RANSAC(RANdom SAmple Consenses)方法消除錯誤匹配點。本研究實例由于圖像不存在旋轉(zhuǎn),判定依據(jù)為2幅圖像每組特征點坐標(biāo)差值,采用先求取每組坐標(biāo)點差值,再進(jìn)行隨機(jī)選取并計算所占比率的方法。這種方法相較于傳統(tǒng)的先進(jìn)行匹配點選取,再計算坐標(biāo)差的方法可減少運(yùn)算次數(shù)。算法步驟如下: (1) 分別計算Location(n)與Location(n+1)的橫縱坐標(biāo)差ΔX和ΔY。 (2) 任選一組匹配點,獲取該組的橫、縱坐標(biāo)差Δxi,Δyi。 (3) 計算所有匹配點的橫、縱坐標(biāo)差同時在Δxi,Δyi允許坐標(biāo)誤差范圍內(nèi)的比率Ri。 (4) 若Ri>inlierRatio,則保留所有允許誤差范圍內(nèi)的匹配點,取inlierRatio=Ri,跳出循環(huán)。 (5) 反復(fù)執(zhí)行步驟2,3,4,若iter次內(nèi)未能跳出循環(huán),則保留最大Ri值對應(yīng)的一組匹配點,取inlierRatio=Ri。 上述步驟中,iter為最大迭代次數(shù),允許的坐標(biāo)匹配誤差由零件軸承孔的檢測精度決定,inlierRatio為滿足同一坐標(biāo)匹配條件的特征點對數(shù)占所有特征匹配點對數(shù)的比率,數(shù)值越高,表明匹配率越高,設(shè)定inlierRatio初值為0.6。 由此,將錯誤匹配點濾除。利用保留的匹配點進(jìn)行圖像拼接的過程為常規(guī)剪裁拼接。 灌裝設(shè)備軌跡控制零件在線檢測過程中,圖像拼接的成功率和精確度決定了檢測結(jié)果的可靠性,圖像拼接速度影響了檢測系統(tǒng)的實用性。影響圖像拼接成功率和精確度的主要因素是滿足同一坐標(biāo)匹配條件的特征點對數(shù)占所有特征匹配點對數(shù)的比率inlierRatio以及特征點的檢測精度,而影響圖像拼接速度的主要因素是特征點的檢測速度與匹配速度。 造成特征點匹配數(shù)過少或inlierRatio值過低的主要原因有:① 待拼接圖像中待檢測零件占比偏少,背景占比偏高;② 照明系統(tǒng)選擇不合理,局部過曝或過暗導(dǎo)致的信息點偏少;③ 相鄰待拼接圖像重合部分偏少;④ 檢測算法精確度不高。本研究先采用智能識別軸承孔方式,再將待檢測軸承孔空間位置坐標(biāo)導(dǎo)入三軸運(yùn)動載臺的驅(qū)動程序,自動規(guī)劃檢測路徑可以有效避免問題①、③。多光源大角度斜射的方法以及相機(jī)參數(shù)的合理選擇可有效解決問題②。對于問題④針對本研究案例SURF特征點檢測與匹配精確度較低,SIFT、KAZE算法檢測與匹配精確度高。此外,試驗表明SURF算法、KAZE算法特征點檢測速度較快,而SIFT算法耗時非常長(詳見4.2),因此本研究利用KAZE算法檢測特征點可有效解決檢測速度與準(zhǔn)確率的矛盾關(guān)系。 對如圖3獲得的邊緣利用2.1的方法得到如表2所示的特征矩陣。 表2 特征矩陣 零件隨機(jī)擺放,在訓(xùn)練5次后,使用高斯支持向量機(jī)判定結(jié)果為C、B、D、A。為突出關(guān)鍵,本研究僅列出用于C、D分類的高斯向量機(jī)相關(guān)參數(shù)。表3列出對特征矩陣進(jìn)行標(biāo)準(zhǔn)化的均值Mu與標(biāo)準(zhǔn)差σ。表4列出求解得到的α值以及標(biāo)準(zhǔn)化后的支持向量、類標(biāo)簽。類標(biāo)簽里1對應(yīng)特征C,-1對應(yīng)特征D。 表3 標(biāo)準(zhǔn)化參數(shù) 表4 高斯支持向量機(jī)參數(shù) 表1中特征x1、x2、x3、x4對應(yīng)的中心坐標(biāo)分別為(2 004.1,1 049.2),(1 443.1,925.8),(1 723.4,551.8),(1 055.5,1 314.7)。使用線性支持向量機(jī)將x1、x2、x3、x4分別判定為C、B、C、A。對比標(biāo)準(zhǔn)圖像A、B、C、D軸承孔中心坐標(biāo) (1 586.3,744),(1 551,1 265.9),(1 098.9,1 518.7),(1 575.5,1 734),利用2.3節(jié)方法可得L1=57.8,L2=1 119.1,將C2糾正為D。 圖2中軸承孔A的2張相鄰局部圖像如圖5所示。 從獲取的一系列圖像中分別利用SIFT、KAZE、SURF特征檢測算法對每相鄰的2組圖像進(jìn)行匹配試驗,圖5所示的2張圖像匹配結(jié)果如圖6所示。 分別使用SIFT、KAZE、SURF算法進(jìn)行拼接,模型拼接準(zhǔn)確度、效率對比如表5所示,效率定義為1/logt0t,t0為利用SURF算法進(jìn)行拼接的平均時間,將其作為標(biāo)準(zhǔn)時間,t為其他算法所用時間。 像素為4 608×3 288 圖6 特征點匹配結(jié)果Figure 6 Feature points matching result 使用本文算法拼接圖5所示的2張圖,結(jié)果如圖7所示。利用KAZE算法進(jìn)行特征點匹配再進(jìn)行拼接后的軸承孔邊緣與紋理拼接誤差均在2×2 pixel以內(nèi),拼接精度滿足在線檢測需求。 表5 拼接對比表 圖7 拼接效果圖Figure 7 Stiching result 針對飲料罐裝設(shè)備軌跡控制零件軸承孔幾何參數(shù)的高精度在線檢測問題,本研究基于該類零件的結(jié)構(gòu)特點,提出一種從特征識別到局部拼接的快速檢測方法。通過以中心位置關(guān)系構(gòu)建特征描述矩陣的方法、SVM方法及基于特征唯一性的糾錯方法較好地解決了待檢測軸承孔的識別與定位問題;采用先確定匹配區(qū)域,再利用KAZE算法對圖像特征點進(jìn)行檢測與匹配的方法,較好地解決了局部圖像拼接的問題。試驗表明,本方法可快速實現(xiàn)軸承孔的高精度測量,且測量效率和成功率較高。 本研究提出的從特征識別到局部拼接的在線檢測方法適用于零件待檢測特征形狀規(guī)則的情況,未給出針對零件不規(guī)則待檢測特征的試驗結(jié)果,下一步可針對零件的不規(guī)則待檢測特征研究在線檢測方法。3 圖像拼接
3.1 匹配區(qū)域確定
3.2 特征點檢測
3.3 配準(zhǔn)模型優(yōu)化
3.4 拼接錯誤成因與影響
4 試驗與分析
4.1 識別分類試驗
4.2 圖像特征檢測與拼接試驗
5 結(jié)論