黃佳興,孫 曉,雷張文,于 柳,鄧林志
(1.湖南工業大學 機械工程學院,湖南 株洲 412007;2. 株洲國創軌道科技有限公司,湖南 株洲 412007;3. 湖南工業大學 圖書館,湖南 株洲 412007)
在“十四五”和《中國制造2025》等戰略背景下,制造技術現朝著新型智能方向發展[1]。機器視覺技術作為一項新型工業生產中的輔助技術,隨著智能化的發展得到了廣泛的應用。
利用圖像處理及機器視覺技術進行工業生產的最大特點,是能夠快速無接觸地獲取目標信息[2]。在生產線上的應用可以有效避免人為主觀性造成的誤差;在新型工業生產線的應用中,裝配視覺檢測的機器人替代人工完成抓取和裝配工作。裝配生產線中因工件偏移造成的錯誤裝配使得機器壽命縮短,而在工業傳輸鏈條的裝配過程,對連接插銷的準確插入有極高的要求,如果有偏差靠強行插入,會嚴重影響鏈條的使用壽命,因此及時反饋并更新工件位置信息是非常必要的。如何提高工件識別定位的效率與精度,一直是國內外學者的研究重點。
目前,在工件識別與定位中,圖像處理、機器視覺、深度學習[3-5]等自動化識別處理方式被廣泛應用。羅輝等[6]結合Hu 矩不變量和模板匹配方法對工件定位與識別,但是其結果的準確性對輪廓提取的精度有一定要求。龔海強等[7]通過比較兩相鄰點之間的高度差與歐氏距離大小關系,得出點間斜率,并以此確定工件位置,但是此方法要保證3 個相鄰的采樣點要在同一個區域內。武洪恩等[8]結合八鄰域跟蹤算法、Hu 矩、遞進霍夫變換法,對工件完成了識別與定位。鐘佩思等[9]將工件質心像素值作為樣本點,通過對樣本點進行正交函數擬合得到工件質心平面坐標,最后經雙目視覺以工件質心進行三維重建。盧軍等[10]通過加權最小二乘法擬合工件亞像素邊緣的二維測量法來定位工件的策略,達到了工件亞像素級的定位精度。余永維等[11]利用GrabCut 算法、SURF 算法、視差測距法,實現了對目標工件圖像的分離、三維立體匹配和定位。但是這些算法的計算量都較大,不適用于快速處理的場景要求。
綜上所述,現有的工件檢測算法存在算法復雜、對硬件設備要求較高、難以實時檢測等缺點。針對上述問題,本文提出了一種快速的提取與調整策略,使其更易于在嵌入式設備上使用。
該檢測調整系統由圖像采集系統、圖像處理系統、機械系統、運動控制系統4 個子系統構成,如圖1 所示。
圖1 所示插銷位置檢測調整系統中,圖像采集系統由200 萬像素的CMOS 相機、畸變小于1.00%的定焦鏡頭和環形光源構成,鏡頭與光源同側放置直射工件;機械系統由可自由移動的相機和光源支架構成;運動控制系統由移動滑臺和舵機運動控制驅動器構成,樹莓派(Raspberry Pi)與舵機運動控制卡控制舵機步進距離;圖像處理系統基于OpenCV-Python平臺搭建。移動滑臺搭載相機與光源做同步移動。面陣CMOS 相機定距自動采集圖像,并經由千兆網線傳輸到樹莓派進行圖像的保存與數據的處理。當一個目標插銷被運送至檢測點時,發出信號,相機獲取當前圖像,讀取分析目標位置信息,并計算需要調整的角度,調整系統對插銷進行調整,完成一個作業動作。
整個系統的坐標位置如圖2 所示。

圖2 各坐標系位置關系示意圖Fig. 2 Position relationship of each coordinate system
圖2 中,世界坐標系用{Ow-XwYwZw}表示、工件調整執行坐標系用{Oe-XeYeZe}表示、相機坐標系用{Oc-XcYcZc}表示、插銷圖像坐標系用{Og-XgYgZg}表示,根據式(1)可求解插銷像素坐標(u,v)映射到{Oe-XeYeZe}坐標的變換矩陣T。
根據已知的像素坐標、圖像坐標、相機坐標和執行坐標相互之間的坐標變換關系公式(2)
推導出如下像素坐標與末端執行坐標的映射表達式(3):
可得到變換矩陣T,
式(2)~(4)中:fx、fy為相機內參數中的焦距;u0、v0為相機感光板中心在像素坐標系下的坐標;R為外參數中的旋轉矩陣;I為平移矩陣;f為像距;dx、dy為x、y方向上一個像素在相機感光板上的物理長度;以上參數可通過采集不同方向上的黑白棋盤格圖像進行標定。
為減輕后期計算壓力,達到快速提取目標要求,在目標獲取階段需尋找一種準確有效的目標檢測方法,將目標與背景剝離出來。
在對目標進行識別前,需要從復雜的工業背景中檢測到所需的目標并分離出來。在目標檢測中,利用連續視頻幀中目標區域的像素點變化可將目標從背景圖像中提取出來。
根據檢測目標背景的復雜程度以及相機的相對運動情況,不同的算法之間存在較大的差異。其中背景差分法、光流場法和幀間差分法是最常用于運動物體分離的方法[12]。為了提高工業生產線上的效率,快速提取目標并且讀取目標信息。在上述3 種方法中,選用檢測運動目標快速、檢測精度較高、魯棒性較好和計算資源需求較小的背景差分法。為進一步降低背景差分法的計算資源需求,提出對背景差分算法進行幀數獲取的限制約束改進,即在連續的視頻序列中只獲取兩張照片,不對中間圖像進行計算處理,這樣可有效提高計算效率。

圖3 序列片段選取Fig. 3 Sequence fragment selection
背景差分法被廣泛應用于視頻片段中的運動對象提取,根據視頻幀之間的相減結果得到運動物體的變化來分離目標,原理如圖4 所示。

圖4 背景差分原理圖Fig. 4 Background difference schematic diagram
通過目標圖像與背景圖像得到的差分圖像經閾值劃分后得到最終運動目標,如式(5)所示。在對視頻序列進行了精簡化處理后,雖然降低了計算量,但是對提取結果有一定的影響。這些主要來源于環境變化帶來的各種干擾,可以通過后續的圖像增強處理予以消除。
式中:fk(x,y)為目標圖像;bk(x,y)為背景圖像;T為設定的閾值。
背景差分法需要建立一個背景圖像,然后將目標圖像與背景圖像進行差分處理得到差分圖像。本文選取了一個工序內的兩張圖像作為背景圖像和目標圖像進行處理。這兩種圖像是需通過快速篩選而決定的,整個過程如圖5 所示。

圖5 目標快速提取調整流程圖Fig. 5 Flow chart for target quick extraction and adjustment
當插銷從流水線上過來時,相機捕獲兩張序列圖像,對兩張圖像進行差分處理,通過將差分圖像的像素點與預設好的閾值比較,判斷像素點的分類情況,篩選出合格的目標圖像。如目標圖像不合格,則重復循環捕獲序列圖像,直至目標圖像合格。經過快速背景差分處理后,剔除了目標外的大部分背景,圖6為背景差分法處理后的圖像及其像素灰度。

圖6 干擾背景去除結果Fig. 6 Image after interference background removal
從圖6 中可以看出,采用背景差分法處理圖像,可以有效地分離出目標圖像,但由灰度強度圖可以看出還是存在許多干擾。
為了削弱或者去除圖像中的一些干擾信息,使圖像的主體信息能夠清楚地表示出來,需要對圖像進行增強處理。考慮到本研究在消除噪點的同時,需要保護插銷的邊緣信息。因此在進行濾波和形態學處理時,對中心像素和邊緣像素分別進行處理。對金屬材質零件易反光的邊緣處,進行了形態學腐蝕膨脹算法(morphology erosion-dilation algorithm,MEDA)來加強邊緣特征。對中心和其他點附近的像素點,設置較大的權值并且灰度差值較小的雙邊濾波器來濾除圖像的噪聲,圖7 為經過濾波和形態學處理后得到的圖像。

圖7 增強處理后的圖像結果Fig. 7 Image after enhancement processing
經過增強處理后的圖像邊緣特征變化最明顯、差異最大的部分,通過圖像梯度的變化,就能很好地找到圖像邊緣。目前常用的檢測算子有Canny、Sobel、Scharr 等,圖8 所示為插銷在不同的檢測方法下獲得的邊緣檢測效果圖。

圖8 邊緣檢測效果對比圖Fig. 8 Edge detection effect comparison chart
對此圖8 中3 種算子的邊緣檢測效果圖,可以看出,Canny 算子的邊緣檢測效果較好。
目前,關于目標位置的獲取,一般運用霍夫變換(Hough)或者其他智能匹配算法和來實現,但是傳統的霍夫變換所需計算資源極大,難以滿足快速檢測的需求。
對于簡單幾何形狀的圖像邊界的提取,霍夫變換是一個非常直接有效的方法。其首先通過將圖像坐標上每一點映射成參數坐標下的對應曲線,然后利用投票算法機制,統計在參數坐標下對應曲線相同交點的個數,并且根據結果的局部最大值,得到檢測圖像中的特征曲線[13]。
如關于直線的檢測,在直角坐標下的直線上的一點,經霍夫變換后,為極坐標下的一正弦曲線,多個點則對應多條曲線。如果通過一個交點的曲線越多,則表示原直角坐標系下的點在同一條直線上。此時兩曲線交點坐標即原直線的兩個極坐標參數ρ和θ,且滿足
曲線霍夫變換過程如圖9 所示。
雖然霍夫變換能準確地提取到所需的特征曲線,但由于圖像的像素數量較大,導致所需的計算量較大,內存占據較多,檢測耗時嚴重,無法滿足實時處理的問題。為此,在傳統的Hough 變換中加入粒子群優化算法。把粒子群算法中的粒子位置和適應度值替換為Hough 變換中解出的參數和累加數組值。通過適應度值更新粒子速度和位置,并在下一代中剔除適應度值低的粒子,以此降低算法的計算量,提高處理速度。
其中粒子群算法可以描述為在n維解空間中,用xi=[xi1,xi2, …,xin]表示粒子i的當前位置;用vi=[vi1,vi2, …,vin]表示粒子i的當前飛行速度。找到粒子i所經歷的最好位置pi=[pi1,pi2, …,pin],pi也稱個體最好位置;最終得到所有粒子經歷的最好位置pg=[pg1,pg2, …,pgn],也稱全局最優位置。
粒子群算法的速度和位置更新公式如下:
式(7)中:rand1、rand2是兩個0~1 間的隨機數;c1、c2為學習因子,設為常數2;w為慣性因子,其中w=1.5Mk/kM,其中Mk為第k次迭代時粒子群的數量;M為初始粒子量。
通過適應度更新每個粒子的位置pi(k+1),即
以檢測直線的過程為例,具體說明結合了粒子群優化的Hough 變換算法過程:
1)選擇1 個具有m個粒子的種群S(0),設置初始種群S(0)={P1,P2, …,Pm},初始極坐標參數ρ和θ為ρ0、θ0,初始累加數組A為0;
2)對預處理后的圖像進行邊緣提取后得到目標邊緣點集合;
3)隨機挑選點集中兩點Pp1、Pp2,構建直線并獲得直線極徑和極角,用該數據對粒子位置進行設置,直到所有粒子完成初始化設置;
4)隨機設置每個粒子在種群中的初始速度vi;
5)利用適應度函數,計算粒子的適應度值f(xi(k,ρk,θk));
6)根據式(9)比較每個粒子位置的當前適應度值和歷史最優適應度值,將當前最優適應度值的粒子位置設為全局最佳位置,并更新粒子位置;
7)選取適應度值大的粒子組成下一代粒子群;
8)根據直線參數方程更新k+1 代種群S(k+1)中每個粒子的速度vi(k+1,ρk,θk);
9)更新k+1 代種群中粒子的位置;
10)返回第5 步,重復執行,直到迭代結束。
對于大部分零件的二維圖像都可以拆分成直線和圓弧這樣的簡單幾何形狀,對此可以通過粒子群優化的霍夫變換算法來檢測形狀特征進行插銷位置的確定。因此本文提出了一種通過拆分零件圖像特征的目標位置獲取方法。只檢測圖像的某些幾何形狀特征,以加快檢測的速度。計算插銷旋轉角度的具體步驟如下:
1)通過Hough 變換找出圖像中直線段,設置最大閾值得到所需的直線L,完成直線提取;
2)利用Hough 變換,找出圖像中第二個形狀特征圓,進行中心定位,得到原本的插銷圓的中點(xr,yr);
3)用最小包圍矩找出包圍零件的最小矩形,得到最小包圍矩的中心點坐標(xe,ye);
4)對插銷旋轉角度大小進行計算。為統一方向,選取直線在X方向上值最小的點作為直線L的計算起點,使得直線L與X的夾角
根據式(12)計算

圖10 旋轉方向示意圖Fig. 10 Rotation direction diagram
最后對旋轉后的插銷角度位置進行校驗。根據計算出的圖像旋轉偏移量Δθ旋轉圖像,再次計算圖像中直線L與X的角度,確定旋轉角度的誤差是否符合要求。
通過插銷像素坐標變化可計算出插銷的位移。已知目標插銷中心像素坐標為(u1,v1),標定插銷中心像素坐標為(u2,v2),則插銷在圖像坐標系下的移動量為(u2-u1,v2-v1)。利用式(14)計算出像素偏移量?u、?v,式(9)將?u、?v轉換為執行坐標系下的偏移量?x、?y。
為減少在實際測量中的誤差,在SolidWorks軟件中將待調整插銷角度位置隨機擺放,通過比較本文算法計算出的插銷旋轉角度偏移量Δθ。和SolidWorks 中實際測量的角度偏移量Δθ*,得到實際的誤差結果。此外,為了評估本文方法和其他方法在求解旋轉角度時的精度和速度,與Hough、SIFT、ORB 算法進行對比。總共進行了50 次模擬實驗,圖11 所示為本文算法的部分結果。

圖11 部分仿真實驗結果圖Fig. 11 Partial simulation experiments
用式(16)計算偏移量的誤差δθ和δθ′將算法獨立運行后,兩種算法所得的誤差角度和運行時間的對比曲線如圖12~13 所示。

圖12 角度誤差對比曲線Fig. 12 Angular error comparison curves

圖13 運行時間對比曲線Fig. 13 Runtime comparison curves
對比圖12 中各算法的角度誤差曲線,可以看出本文算法和Hough 算法的計算測量誤差范圍為[-0.4°,+0.4°],SIFT 算法的誤差范圍為[-0.6°, +0.6°],ORB算法的誤差范圍為[-1°, +1°]。4 種算法在插銷調整中計算的角度誤差均小于1°,滿足基本誤差范圍要求,但是SIFT 算法和ORB 算法的計算誤差波動較大,且利用ORB 算法時還出現了誤差角度方向的錯誤。本文算法在對Hough 算法進行精簡后,仍然可以保持同樣的精度,且在求解旋轉角度時的精度要明顯高于其他兩種算法的對應值。
對50 次實驗的運行時間進行統計,得到本文方法對旋轉角度進行計算的平均時長約為332.0 ms,SIFT 算法所用平均時長約為512.6 ms,Hough 算法所用平均時長約為831.7 ms,ORB 算法所用平均時長約為343.2 ms。可以利用本文方法計算的運行時間較其他3 種方法有所縮短,提高了工作效率。
綜上所述,通過對霍夫變換中引入粒子群算法,在保證霍夫變換的精度情況下可縮短運行時間,提高了插銷位置匹配的速度。
為了精確且快速獲取流水線上隨機擺放的插銷位置信息,本文提出了一種快速的目標提取與調整策略。運用了一種基于背景差分的目標背景分離和粒子群優化Hough 變換的定位算法。在背景分離中,為節省嵌入式設備的計算資源,對幀數獲取進行限制約束。通過獲取其中幾張圖像代替整個視頻幀的方法減少了圖像處理環節的計算量,提高了計算速度。在特征提取與匹配中,通過拆分圖像幾何形狀特征進行目標匹配,精簡了特征數量,從而提高了運算效率,并且具有較高的精度。結合粒子群優化的霍夫變換,通過丟棄劣等種群來加快傳統霍夫變換的計算速率。相比其他方法,本文方法也更能滿足使用嵌入式設備的工業自動化生產需求。