鐘佩思 付 琳 劉 梅 王 曉 郭世賀
(①山東科技大學先進制造技術研究中心,山東 青島 266590;②山東科技大學機械電子工程學院,山東青島 266590;③青島高測科技股份有限公司,山東 青島 266114)
在制造業普遍存在的工藝中,產品裝配處在整個工藝流程的后半段,其工作量占產品制造總工作量的20%左右[1]。目前的工業裝配機器人大多數由人工提前規劃機械手的移動軌跡,機器本身沒有自主性,生產過程缺乏柔性,與周圍環境的交互性不強,將機器視覺與智能控制相結合完成目標工件的識別能夠有效提高機器人的自主裝配性能[2?3],適應復雜的生產環境。基于視覺的目標工件識別關鍵技術在于特征點的提取與匹配,鑒于實際工業應用中數據量大、實時性強的問題,提出一種特征點提取與匹配方法實現特征點的精準提取與快速匹配是當前需要解決的難題之一。
經典的特征提取與匹配算法有SIFT算法[4]、ORB算法[5]、SURF算法[6]和BRISK算法[7]。這些算法在處理圖像時有各自的優勢,同時也存在許多不足,ORB速度快但匹配精度低,SIFT可以做到精準匹配但耗時較長,對此,很多學者提出了改進方案:潘峰等[8]在傳統ORB算法的基礎上提出將圖像劃分多個網格進行特征點提取,保證提取到的特征點均勻分布,但在融合GMS后計算時間增長數十倍,降低監測效率;單雨絲等[9]用OBR算法提取特征點后,利用圖像的色調、飽和度和明度信息對匹配特征點對進行兩次篩選提高匹配正確率,但對于圖像的顏色分布有一定的約束;丁國紳等[10]利用光學系統在光譜維度上的差異改進SIFT算法,提高圖像空間性質的測量精度,但由于存在相似點,改變源圖像與目標圖像的順序都會極大影響最終的匹配結果;Zhao L M等[11]提出了一種改進的AGAST算法融合ORB算法以適應復雜環境下光照和旋轉尺度的變化,引入旋轉不變性和標度不變性均無的AGAST算法不是最佳的選擇;Kim T等[12]提出根據局部特征重要性來適當減少特征點,在自然場景圖像中應用效果較好,但容易導致不完全匹配;Wang Z F等[13]為提高ORB算法的匹配精度,提出從特征點中提取不同仿射變化下的描述符的穩定位進行特征匹配。上述算法大多適用于較為簡單的場景,復雜生產線的裝配需要精度更高且魯棒性強的特征提取與匹配算法來實現目標工件的高效識別,進而提高整個裝配過程的效率。
本文提出基于雙層旋轉濾波器的特征提取與匹配方法進行目標工件的識別,實現機器人裝配環節的柔性化和智能化,分別將待識別工件圖像與工作場景中采集到的圖像中的有效特征點提取出來加以篩選,再對其中的相似特征點進行匹配,實現目標工件的識別。通過試驗對比分析本文方法與3種傳統方法的識別效果,搭建基于機器視覺的軸孔裝配實驗平臺,驗證該方法的可行性。
本文提出一種基于雙層旋轉濾波器的目標工件識別方法,采用雙層旋轉濾波器進行積分圖像運算得到所有尺度下每個像素點的響應值,完成特征點的初步提取,通過非極大值抑制[14]和直線抑制對提取到的特征點進行兩輪過濾,剔除響應值低的不穩定特征點和邊緣直線上的不穩定特征點,利用rBRIEF算法生成描述符,用Hamming距離進行特征點的匹配,用RANSAC提高匹配精度。
傳統的雙極性高斯拉普拉斯濾波器采用兩個圓組合而成,如圖1a,近似拉普拉斯的效果最好,具有良好的旋轉不變性,但計算量較大;DOB濾波器用兩個正方形組合取代BLOG中的兩個圓,如圖1b,可以用積分圖像法進行運算,并且在重復性方面優于SIFT,缺點是旋轉不變性較差;DOO濾波器采用八邊形組合,如圖1c,結合了前兩者的特點,具有一定的旋轉不變性;雙層旋轉濾波器將一正方形旋轉使其交錯呈45°來近似BLOG中的兩個圓形,如圖1d,能更好地近似高斯拉普拉斯算子,旋轉不變性較好、穩定性強且運算速度較快。

圖1 4種近似拉普拉斯的濾波器
雙層旋轉濾波器在不同尺度下內外核的大小如表1所示。

表1 不同尺度下的濾波器內外核大小
對每個像素采用不同尺度的雙層旋轉濾波器分別計算內外層的灰度和,除以相應層的面積后做差得到該像素點在該尺度下的響應值。為了能夠包含積分圖像的最后1行與最后1列的像素點,將積分圖的大小設置為(寬度+1)×(高度+1)。
由于ABCDEFGH濾波器的形狀是八角形,本文在積分圖像的基礎上進行擴展,將雙傾斜積分圖像與傳統積分圖像運算相結合,計算像素響應值。ABCD灰度和采用傳統積分圖像計算如下:
式中:I表示指定像素點的積分圖像值。
EFGH采用2個不同傾斜積分圖像計算如下:
式中:IF和IT分別表示平坦傾斜積分圖像、雙傾斜積分圖像的灰度值。
將兩者灰度和相加減得八角形內外層灰度和,再除以相應層面積得到該像素點在該尺度下的響應值,如圖2所示。

圖2 雙層旋轉濾波器下計算像素點響應值流程圖
利用雙層旋轉濾波器計算得到的像素響應值可以判定特征點的穩定性,響應值小的特征點穩定性差。本文采用非極大值抑制來選取置信度高的特征點,如圖3所示,將n層上的每個像素點與其周圍1圈進行比較標記響應值小的像素點,然后與n+1和n?1層的像素點比較獲得尺度空間的局部極值點,去除響應較弱的點。

圖3 某像素點與其局部鄰域內26個像素點的位置示意圖
經過非極大值抑制,保留了置信度較高的特征點,但在邊緣或者直線上還存在一些特征點,該類特征點性能較差。利用極值在平行邊緣方向和垂直邊緣方向主曲率大小不同的特點,通過Harris矩陣計算某特征點的主曲率比,根據主曲率比與閾值的關系決定該點的去留。如式(3),計算Harris矩陣:
式中:Lx和Ly分別表示函數L沿X和Y方向的偏導數。
設定閾值t為20,若結果滿足式(4),則該特征點屬于直線,剔除該特征點,否則保留。
至此,完成了對工件上各特征點的提取任務,并對不穩定特征點進行了2輪過濾,剩余特征點將用于下一步的匹配工作。
為了給提取出的像素點引入方向角度,加強算法的旋轉不變性,本文利用rBRIEF算法得到二進制向量形式的描述符,然后用Hamming距離判斷描述符的相似程度進行特征點的匹配。
首先,計算特征點主方向,選取P為中心點,圍繞P截取48×48的正方形區域S,然后計算S區域的矩、特征點主方向、質心坐標,如下:
式中:I(x,y)表 示 (x,y)處的像素灰度值。
為了能夠消除噪聲影響,提高描述符的抗干擾性能,需要對所選取的S區域進行平滑預處理,本文采用9×9大小的盒狀濾波器,利用積分圖像的方法降低計算量的同時還能保證準確度。
以Gaussian分布方式選擇像素點對。在S區域中選擇n個像素點對 (p,q)。比較像素點對的灰度值。將S區域按旋轉矩陣R進行旋轉,使得到的描述符具有旋轉不變性,通過對比像素點對的2個像素灰度值來構造二進制描述符,計算公式如下:
式中:I(pi)、I(qi)分別表示第i個像素點對的兩個像素灰度值。
利用Hanming距離,對比兩個字符串對應位置相異的個數作為特征點對的匹配結果。經過初次匹配后可能會出現較多異常點或誤匹配,為提高算法精度,引入RANSAC算法實現結果的優化。
為了驗證本文方法的匹配性能,分別在圖像旋轉和圖像縮放狀態下,將SURF、BRISK、ORB以及本文方法進行對比。
圖4為旋轉狀態下SURF、BRISK、ORB以及本文方法的匹配效果對比,表2列出詳細匹配信息。

圖4 旋轉狀態下4種算法的匹配效果對比

表2 旋轉狀態下4種算法的匹配情況
由表2和圖4可知,SURF算法是在所有尺度上檢測特征點,匹配精度最高達到99.37%,但匹配用時達到9.12 s,主要是由于描述符生成過程較慢;匹配速度最快的ORB算法出現很多誤匹配點對,因其提取算法不能保證旋轉不變性;BRISK算法的匹配速度約是SURF算法的1/5,由于該算法在尺度空間內進行FAST特征點檢測,并且描述符計算類似于BRIEF算法,同時其正確率高于ORB算法,這是因為BRISK先將高斯平滑后的采樣模板旋轉一定的角度,然后在模板中對比采樣,保證了特征點的旋轉不變性;如圖4d,本文提出的方法的匹配線段相對均勻,每個工件上都有匹配點對,沒有雜亂線段,匹配數量介于SURF算法與ORB算法之間,匹配正確率稍微低于SURF算法達到了99.14%,速度也較快,歸功于雙層旋轉濾波器的旋轉不變性和利用積分圖像的方法縮短耗時。
圖5給出了在縮放狀態下SURF、BRISK、ORB以及本文方法的匹配效果對比,表3列出了4類算法的詳細匹配信息。

圖5 縮放狀態下4種算法的匹配效果對比

表3 縮放狀態下4種算法的匹配情況
由表3和圖5可知,圖像縮放時4種算法的匹配性能與圖像旋轉時基本保持一致,SURF算法的匹配速度較慢,不適用于實時工作場景;ORB算法出現很多誤匹配點對,特征點提取階段沒有考慮標度變換的情況;BRISK算法的匹配精度達到99.06%,BRISK描述符將長距離組的局部梯度作為特征點角度,保證了特征點的尺度不變性;本文提出的方法的匹配正確率達到99.45%,歸功于雙層旋轉濾波器的尺度不變性,另外非極大值抑制與直線抑制過濾掉不理想特征點,提高了匹配精度,且速度略低于ORB算法,滿足零件裝配中的工件識別任務。
(1)視覺處理環境
所需設備:傳送帶、工件群、相機、計算機、LED補光燈和固定支架等,如圖6所示。

圖6 視覺處理工作環境
(2)機器人控制與抓取的實驗平臺
所需設備:YS-H7Multi開發板、步進電機驅動器、3個步進電機、驅動電源、機械臂、末端執行器和USB連接線等。
為了驗證本文提出的基于雙層旋轉濾波器的特征點檢測與匹配方法對目標工件識別的有效性與實際裝配應用的可行性,進行軸孔裝配試驗:
(1)對采集到的圖像進行處理,通過本文匹配方法能夠有效識別出目標工件,如圖7所示。

圖7 目標工件識別
(2)獲得目標工件軸的形心的三維坐標為A(23.74,?35.16,169.45),待裝配工件孔的形心的三維坐標為B(32.17,19.62,180.36),令工件識別所用的時間為t,此時目標工件軸的形心坐標為C(37.74,?35.16,169.45)。根據機械臂運動學分析和路徑規劃,控制機械臂運動至A點抓取目標工件,夾持至待裝配產品B點進行裝配,抓取與裝配過程如圖8所示。

圖8 軸孔裝配過程
圖8a為初始階段,圖像采集與圖像處理,在獲得抓取信息之前機械臂保持此狀態;圖8b為機械臂抓取階段,經視覺模塊處理獲得目標工件和待裝配產品的三維坐標,運行程序控制機械臂運動到目標工件位置,根據工件形心位置抓取目標工件;圖8c為機械臂裝配階段,控制機械臂夾持目標工件軸運動到待裝配產品位置,根據軸與孔的軸線一致性,將軸插入孔之中,完成裝配工作;圖8d為機械臂復位階段,完成裝配工作之后,機械臂放下工件空行運動至初始位置。
針對工業機器人生產柔性低、工件識別魯棒性差的問題,提出一種基于機器視覺的工件識別方法應用于零件裝配領域。該方法利用雙層旋轉濾波器的尺寸不變性和旋轉不變性的優良特性實現特征點的均勻提取;采用rBRIEF算法生成帶有方向信息的特征點描述符增強匹配的正確率;采用Hamming距離進行特征點匹配縮短計算時間;采用RANSAC算法對匹配結果進行優化,得到最佳匹配結果。試驗結果表明此方法的綜合性能優于其他幾種傳統算法,可以兼顧較高的匹配速度與匹配精度。通過搭建試驗平臺進行軸孔裝配試驗,結果表明提出的方法可以用于產品裝配。