陳憲帥,吳自然,閆俊濤,吳桂初,郭天慧
(1.溫州大學樂清工業研究院,浙江 溫州 325000;2.襄陽市供電公司,湖北 襄陽 441000)
隨著工業生產中對機器自動化、智能化需求的日漸提高,機器視覺作為工業生產向智能化方向發展的重要技術之一,已得到愈加深入的研究,越來越多的視覺檢測、測量及定位等技術被應用到實際生產當中[1-3]。但基于機器視覺的智能制造技術的發展,其可行及可靠性依靠高精度的圖像分類、識別和定位跟蹤等技術來支撐,而生產中所面臨的形色多樣的生產對象、復雜的工業環境及其不同的功能要求,給視覺的識別處理工作帶來極大的困難和挑戰。
隨著視覺技術在工業生產中的需求日益增加,越來越多的基于視覺的分類、識別及定位方法被提出。孔令聰[4]提出了一種以零件輪廓的形狀、面積和周長等特征參數對零件進行分類,后計算零件的質心等參數對零件進行定位及姿態估計的方法;徐遠等[5]采用兩個單目相機,通過改進NCC匹配算法的一次定位和基于邊緣特征的模板匹配進行二次定位實現了對工件和裝配孔的兩次定位;曹冬梅等[6]通過對條煙圖像的邊緣與模板進行匹配,從而進行定位與姿態估計,再用相關性、對比度和各向異性等特征訓練支持向量機分類模型對目標進行分類;曾鵬[7]首先在虛擬空間每隔一定步長渲染工件的CAD模型進行模板庫的建立,然后根據實時采集的圖像與模板庫匹配獲得工件的粗略位置姿態參數,在第二步的精確姿態參數求取中使用L-M算法進行迭代,獲得較為精確的工件位置姿態;周逸徉[8]利用深度圖像進行分割,再利用顏色數據提取HOG特征進行SVM分類,然后通過三維點云配準定位可抓取位置。綜上所述,在面對復雜程度相對較低的識別對象時,可以利用輪廓、面積與質心等信息進行分類,并直接定位抓取點坐標和對姿態進行估計,但當識別對象復雜程度較高時,便無法直接通過這些參數對抓取點及姿態進行估計。此外,以支持向量機等建模的方法進行分類,當對象越多、越復雜時,模型訓練所需的數據量也就越大,極大地延長了開發周期[9-10]。
針對工業應用中的視覺技術并考慮上述問題,以小型斷路器柔性裝配系統為實例,提出一種綜合物體自身及其成像的多特征融合的識別方法。以單目相機成像,完成對目標零件的分類、姿態識別和抓取定位工作。
基于機器視覺的小型斷路器柔性裝配系統由視覺識別系統和機器人運動系統及零件等部分組成。通過視覺分類識別出散放零件的種類及擺放姿態,定位零件抓取坐標,從而引導機器人完成對零件姿態的調整及后續的裝配工作。其系統框圖如圖1所示。

圖1 柔性裝配系統框圖
系統硬件如圖2所示。為降低相機對識別精度的影響,選用分辨率為2590×1942的Basler相機,其分辨率高于常規機器視覺系統中使用的相機。為使散放的零件均能落入相機視野同時不影響機器人動作,相機安裝高度為60 cm。系統主控制器為機器人控制器,其作用有:接收光電開關輸入的零件到達信號、輸出相機開始拍照信號以及對機器人運動和氣缸夾爪動作的控制信號。

圖2 系統硬件圖
為便于不同種類零件及同種類不同擺放姿態的分類識別,首先規定使用兩級分類編號如圖3所示。

圖3 類別編號示意圖
視覺識別算法流程如圖4所示。

圖4 視覺識別算法流程圖
從獲取圖像到向機器人控制器發送數據的過程中:首先需對場景中不同種類零件及各類零件不同擺放姿態做出分類判斷;然后通過匹配當前狀態零件與目標狀態零件兩幅圖像中關鍵點的方式求取零件的旋轉角度;繼而用獲取到的關鍵點對計算出兩幅圖像的仿射變換矩陣,用以計算指定的抓取點在當前狀態零件圖像中的像素坐標;最后使用通過相機標定與手眼標定得到的變換矩陣,將求取的抓取點像素坐標變換成機器人坐標系下的空間坐標[11]。
預處理包括灰度化、邊緣提取、二值化、形態學操作、輪廓提取及最小矩形框擬合等步驟將場景中的5類零件從源圖中分割,用以后續的分類及識別工作。如圖5所示,針對以綠色最小矩形框無法直接分割圖像,而零件相距較近時,以矩形框分割則出現如圖6a所示,將非目標零件部分同時分割至一張圖中的問題,其解決步驟如下:
(1)創建與藍色框同等大小的背景圖像;
(2)將綠色最小矩形區域內像素點坐標減去藍色矩形框左上頂點坐標構成新像素點,同時將其三通道灰度值賦予新像素點;
(3)將新像素點畫入創建的背景圖像中,其分割效果如圖6b所示。

圖5 零件矩形框選圖

(a)藍色框分割效果 (b)改進后分割效果圖6 切割效果對比圖
一級分類通過對零件最小矩形框的面積、輪廓面積以及顏色特征等進行分析比較做出類別判斷。其算法流程如圖7所示。S0為分割后第一個零件的最小矩形框面積,用以初始化變量max_S和min_S,而Sn則是另外4個零件的最小矩形框面積。Th1、Th2分別為綠色與紅色像素數的參考閾值。Sr1、Sr2分別為圖片3和4代表的零件最小矩形框面積。

圖7 一級分類算法流程圖
二級分類通過對零件自身在不同擺放姿態下的最小矩形框面積、顏色、成像以及固有特征等信息的比較依次做出類別判。
(1)零件0:如式(1),比較零件0最小矩形框面積max_S與給定閾值Th3的大小,其分類結果lab0記作:
(1)
對姿態01、02則通過零件成像特征來區分。如圖8a和圖8c所示,對矩形框可能出現的兩種情況,以P1點為基礎點,判斷P1P2與P1P3的長短情況,并按式(2)重新規定4個頂點的順序,如圖8b和圖8d所示。
(2)

(a)橫向框 (b)陰影區域 (c)縱向框 (d)陰影區域圖8 最小矩形框示意圖
以Q1Q2所在的長邊劃定感興趣區域(ROI),如圖8b和圖8d陰影區域所示。假設表示零件的像素點集合為S,感興趣區域內像素點集合為s,通過式(3)對感興趣的矩形長邊做出選擇,記作L:
(3)
對選取的邊L的兩個端點,即頂點,以類似邊選取的方式做出選擇。如圖9所示,實際操作中A點為最終選取的感興趣點,同時記錄與其構成矩形短邊和長邊的B、C兩點。設向量AB和AC的夾角為φ,因在圖像中順時針轉動角度為負,反之為正,所以根據式(4)做出類別判斷,記作:
(4)

(a)姿態01ROI (b)三點 (c)姿態02ROI (d)三點 圖9 操作示意圖
(2)零件1:其算法流程如圖10所示。Th4為零件1在自身不同姿態下的綠色像素數參考閾值,Th1與其的區別在于,Th1為自身與其它零件比較的參考;Th5為自身輪廓面積的參考閾值;小圓如圖11a中標記的圓,與圖11b形成對比。

圖10 零件1二級分類流程圖
子流程‘姿態10or11’的步驟同零件0姿態01和02的區分步驟基本一致。但零件1選取的感興趣邊為矩形框的短邊,且依據是兩條短邊與質心點m距離的大小。實際操作如圖11c、圖11d所示,選取的邊為AB邊,點為A點。其分類結果lab1記作:
(5)

(a)小圓 (b)無小圓 (c)姿態10 (d)姿態11圖11 操作示意圖
(3)零件2:如式(6),比較零件2最小矩形框面積min_S與給定閾值Th6的大小,其分類結果lab2記作:
(6)
如圖12所示,對零件輪廓進行凸包檢測找出其中間彎曲處的彎曲點O。同樣以零件0中邊選取的方式找到AB邊所在,而兩種姿態下均有矩形框頂點A距離O點較近,從而確定A點所在。設向量OA和OB的夾角為φ,分類結果如式(7),記作:
(7)

(a)姿態21凸包 (b)三點 (c)姿態22凸包 (d)三點圖12 操作示意圖
凸包即如圖12a和圖12c中的藍色包圍線,為凸多邊形,凸包所包圍白色區域即為凸性“缺陷”。
(4)零件3:依據零件3在一級分類中是否通過紅色提取判斷作出進一步判斷,算法流程如圖13所示。s3為其最小矩形框面積,Th7為姿態30和32的區分閾值,Th8為姿態31和33的區分閾值。

圖13 零件3二級分類流程圖
(5)零件4:如式(8),比較零件最小矩形框面積s4與給定閾值Th9和Th10的大小,Th9 (8) 對于姿態41、42和43,如式(9),比較零件輪廓面積Scnt與給定閾值Th11的大小,將其分為兩個子類,記作: (9) 如圖14所示,姿態41和42在灰度、形狀、邊緣梯度等方面均存在極大的相似度,難以準確區分,因此采用機械的方式使其變為姿態40或43再進行角度識別。 圖14 姿態:左41 右42 對于姿態44和45:順次對矩形框頂點劃定感興趣區域,滿足式(10)表述的條件,即確定為感興趣頂點。其中S為零件像素點集合,s為感興趣區域內像素點集合。 S∩s=? (10) 回縮矩形框,獲取新矩形區域內的零件輪廓點;比較獲取的輪廓點與不以感興趣頂點為端點的兩條原矩形框的邊的最小距離的大小從而確定兩條邊的位置。實際操作如圖15所示,感興趣頂點為A,與回縮后矩形框內輪廓點最小距離較小的邊為BD邊,另外一邊即為CD邊。設向量AB和AC的夾角為φ,根據式(11)做出類別判斷,記作: (11) (a)姿態44 (b)四點示意 (c)姿態45 (d)四點示意 圖15 操作示意圖 通過對矩形框中感興趣的邊以及感興趣的頂點位置的分析,提取用以計算旋轉角的關鍵點,即與各頂點距離最近的輪廓點。其算法流程大致如圖16所示。 圖16 角度識別算法流程 大部分姿態感興趣邊或頂點的選取過程同零件0姿態01和02、零件2姿態21和22以及零件4姿態44和45等區分過程中的邊、點選取過程基本類似,只是選取的方法略有不同,便不再贅述,匹配效果如圖17a~圖17c所示。對于圖像具有對稱性的姿態,則無需進行邊或點的選取,可在區分出矩形框長短邊后直接進行頂點順序的規定,如圖17d所示零件3姿態32;而對于特征點易抓取的姿態,如零件1姿態12和13,可通過圓檢測和矩形檢測提取關鍵點用以計算角度,同時也可做抓取點。其效果如圖17e和圖17f所示。 (a)姿態00 (b)姿態20 (c)姿態40 (d)姿態32 (e)姿態12 (f)姿態13圖17 匹配效果圖 綜上所述,角度計算如圖18所示,計算實際圖像中兩個關鍵點的向量ac及對應模板中的向量a1c1,其夾角θ即為旋轉角。為減小誤差,盡可能求多個值取平均。實際中,應提前對模板圖像進行關鍵點的提取與保存,在提取到實際圖像中的關鍵點后,直接查詢對應姿態的關鍵點計算角度即可,減少無謂的時間消耗,從而提高算法的運行效率。 圖18 角度計算示意圖 機器人坐標系下的抓取點坐標通過兩步獲取。首先,利用至少三對關鍵點對計算實際與模板圖像間的仿射變換矩陣,并同提前保存的對應姿態零件的抓取點在模板圖像中的像素坐標作矩陣乘法,得出抓取點在實際圖像中的像素坐標,如公式(12)所示;其次,利用相機標定及手眼標定獲取的坐標轉換矩陣,將抓取點的像素坐標變換為機器人坐標系坐標,如公式(13)所示: (12) (13) 式中,M1為仿射變換矩陣、M2為坐標轉換矩陣,(u,v)為抓取點在實際圖像中的像素坐標、(u0,v0)為抓取點在模板圖像中的像素坐標、 (x,y,z)為抓取點在機器人坐標系下的坐標、(x0,y0,z0)則為機器人坐標系與世界坐標系間的偏移量。 搭建實驗臺,獲取并保存零件各姿態下的模板圖像及對應抓取點像素坐標,對零件分類、角度與抓取點坐標識別進行實驗分析。 采集各零件各姿態樣本400組進行分類實驗,其分類結果如表1所示。可看出一、二級分類正確率均達到99.5%及以上,整體分類正確率在99%以上,均滿足分類要求。同時,較深度學習等建模的分類方式,節省了模型訓練所需的時間,使得其調整及維護更加方便高效。 表1 分類結果統計表 取30組樣本,分別采用算法1:帶K近鄰比約束和隨機抽樣一致性(RANSAC)剔除誤匹配的ORB特征匹配算法[12-13]、算法2:最小矩形框旋轉角質心估計[4]和文章算法3對零件旋轉角度進行實驗。其中部分結果對比數據如表2所示。 表2 部分結果對比數據表 根據圖2所示的機器人裝配實驗,為保證機器人能夠對零件姿態進行正確的調整,要求識別的角度絕對誤差在±0.8°范圍以內,超出該范圍則認為識別不合格。所以,文章統計3種算法下零件旋轉角度計算合格的樣本組數,計算合格率;同時對去除不合格情況后剩余的樣本進行角度誤差分析,計算各樣本的絕對誤差,并統計該誤差絕對值的平均值。其結果如表3所示。 表3 角度識別數據分析表 從上述兩表可看出,通過算法1和算法2計算角度的合格率均小于算法3,且兩者在去除不合格樣本后的誤差平均值仍略高于算法3。綜合誤差精度及合格率兩方面考慮,算法3的角度計算效果要優于前兩者。 而造成前兩種算法角度計算出現錯誤的原因分別為以下兩點: (1)一些零件自身特征點區分不明顯,匹配時易混淆卻又無法剔除,如圖19a所示,與文章算法匹配效果圖19b形成對比; (2)由于零件的外形復雜不規則,導致一些姿態下零件最小矩形框與自身的相對位置不是固定不變的,無法通過最小矩形框的旋轉角來正確描述零件本身的旋轉角,如圖19c所示。 (a)算法一效果 (b)算法三效果 (c)矩形框示意 圖19 誤差分析示意圖 算法2以質心為抓取點,對于外形不規則的零件而言,質心點不一定是合理的抓取點;算法1與文章算法的抓取點坐標需依靠匹配到的特征點對來進行計算,然而,算法1的匹配效果無法滿足要求,其坐標計算的準確性便無法得到保證。所以,通過文章算法對零件分類、角度識別及抓取點坐標識別進行綜合實驗,其部分結果如表4所示。對所列數據分析可得:角度識別的誤差平均值為0.41°,x軸坐標識別的誤差平均值為0.194 mm,y軸為0.256 mm,滿足角度允許誤差±0.8°、坐標允許誤差±0.3 mm的要求。 文章提出了一種基于多特征融合匹配的分類、識別與定位方法并進行了實驗分析。相比于SVM、深度學習等建模分類的方法,當零件顏色、大小或形狀等信息發生變化時,無需采集大量的數據重新對模型進行訓練,只需調整相關參數便能適應改變,極大地縮短了系統的開發周期,提高了開發效率;而與常見的特征匹配等算法相比,在面對姿態多樣或者特征區分不明顯的零件時,其匹配的穩定性高,更大程度地保證了角度與坐標計算的準確性。實驗結果表明,該方法的識別精度滿足實際系統的要求。 表4 部分零件樣本識別結果 續表

2.4 關鍵點提取與角度計算




2.5 抓取點坐標提取與轉換

3 實驗及結果分析
3.1 零件分類識別實驗

3.2 零件角度識別對比實驗



3.3 綜合實驗
4 結束語

