孫 海,牛 晨,魯 飛
(合肥工業(yè)大學(xué) 電氣與自動化工程學(xué)院,合肥 230009)
目前,工業(yè)化生產(chǎn)過程中,大部分工業(yè)機器人只能在特定環(huán)境下根據(jù)預(yù)先設(shè)計好的流程,采用人工示教的方式進行抓取。但是抓取環(huán)境中的待抓取物體位置與姿態(tài)常常是不確定或者變化的,示教方式的抓取有時不能滿足實際的生產(chǎn)生活需求[1]。如今,隨著機器視覺技術(shù)的發(fā)展,人們開始考慮采用機器視覺對工業(yè)機器人進行輔助引導(dǎo)。
針對目標的定位與檢測,目前視覺檢測常采用單目攝像機或者雙目攝像機兩種方式。單目攝像機由于結(jié)構(gòu)特點,只能采集目標物的二維信息,對于位姿的測量,常使用經(jīng)過換算后求得的特征點信息,運用PNP算法[2]求得相機相對目標物的位姿信息。對于雙目相機,由于結(jié)構(gòu)上的特點,可以獲得目標物的視差與深度,在如今的位姿測量中常結(jié)合點云進行三維重構(gòu)[3]獲得目標物的定位與位姿信息。
本文結(jié)合特定目標物的結(jié)構(gòu)特征與使用環(huán)境綜合考慮,提出一種簡單的單目視覺位姿檢測模型。該模型可分為四個部分:單目攝像機標定、目標檢測、特征角點提取、位姿計算。首先利用SURF模板匹配的方式[4],檢測出空間圖片中特定目標立方體的感興趣區(qū)域,相比于如今盛行的RCNN、Faster-RCNN[5]等機器學(xué)習(xí)檢測方式,本文選擇的算法具有計算開銷小,精準度滿足要求的特點。其次,相比于Harris角點檢測[6],采用霍夫變化[7]擬合出目標物上不同的角點可以減少誤檢情況的發(fā)生。最后,根據(jù)圖像特征角點像素坐標與用戶坐標間的映射關(guān)系,得到目標物的位置與姿態(tài)信息。
目標物位姿檢測包括物體整體的朝向與坐標的范圍,本文利用特定目標的先驗信息及后期檢測到的特征點信息,經(jīng)過相關(guān)計算得到。以規(guī)則立方體為例進行如下說明。
圖1中,O-XYZ為用戶坐標系,P1、P4為目標平面上的兩個角點。h為立方體先驗高度,從而P1、P4兩點的Z坐標易知均為h。設(shè)上表面的兩點的用戶坐標分別為(X1,Y1,h),(X4,Y4,h),則棱P1P4相對于X軸的偏轉(zhuǎn)角度為:
圖1 位姿計算示意圖
同時,一般采用規(guī)則立方體的重心坐標表征其整體位置,重心的(XM,YM,ZM)坐標可按式(2)計算。
由上表達式可知,根據(jù)目標立方體的上表面任意兩個角點的用戶坐標系可換算出目標物的位姿朝向與定位信息,為此,需要采用視覺成像原理進行圖像坐標系與用戶坐標系的轉(zhuǎn)化[8],攝像機的線性成像模型如圖2所示。
圖2 線性成像模型
空間點P的用戶坐標(XW,YW,ZW)與投影點p的像素坐標(u,v)映射關(guān)系如式(3)所示:
式(3)中,fx,fy,u0,v0為攝像機的內(nèi)部參數(shù),M1即為內(nèi)部參數(shù)整合矩陣,R,T分別為旋轉(zhuǎn)矩陣與平移矩陣,為攝像機的外部參數(shù),整合成M2,Zc為尺度信息。
一般求解用戶坐標采用的是雙目攝像機,因為其可以模仿人眼的成像原理產(chǎn)生視差與深度信息,但是雙目攝像機存在匹配困難與視場小等缺點。在有先驗信息目標立方體高度h,即用戶坐標下Zw的前提下,可以通過單目攝像機進行測量,具體測量原理如下,首先將式(3)中的內(nèi)、外部參數(shù)M1與M2合并。
在先驗信息ZW已知的前提下,對式(4)進行進一步轉(zhuǎn)化:
這樣,轉(zhuǎn)化成最終式(5)兩邊維數(shù)就相等了,通過求解參數(shù)矩陣即可實現(xiàn)由圖像坐標得到用戶坐標。參數(shù)矩陣中的參數(shù)可以通過相機的預(yù)先標定獲得,本文采用的是張正友棋盤標定法[9]。
本文空間位姿檢測系統(tǒng)流程如圖3所示。
圖3 空間位姿檢測流程圖
目標物所在區(qū)域一般存在很多干擾。因此,對于目標物感興趣區(qū)域的提取有利于排除無關(guān)背景因素干擾的影響,提高后序特征檢測效率與準確性。目前有卷積神經(jīng)網(wǎng)絡(luò)等機器學(xué)習(xí)的方式,且效果良好,本文結(jié)合設(shè)計環(huán)境,采用運算量小的SURF基于局部特征的模版匹配方式進行目標檢測
1)根據(jù)本文所需求解的問題,對先驗?zāi)繕宋矬w360°每隔30°拍攝一張圖片,對所拍攝圖片進行手工裁剪目標物輪廓進行標記。
2)將目標拍攝圖片特征點與樣本圖片特征點集進行匹配。本文采用基于歐式距離的K-D tree特征點二臨近方式進行匹配。該法比例閾值的選取對于匹配結(jié)果的準確性會造成直接影響。比例閾值的大小與準確度成反比關(guān)系,本文的閾值選定為0.5。
3)當特征點粗匹配完成,再進行RANSAC算法[10]對特征匹配情況進行精匹配。經(jīng)過反復(fù)試驗,本文設(shè)定最終匹配個數(shù)閾值為6效果最佳,若大于該特征點個數(shù)閾值,則說明目標區(qū)域存在目標物,結(jié)合單應(yīng)性矩陣[11],將模板圖片的四個頂點坐標由單應(yīng)矩陣映射到場景圖片中,得到xmin、xmax、ymin和ymax,將x、y坐標進行兩兩組合,得到圖像坐標系上四個角點,進而框定感興趣區(qū)域。
圖4 SURF模板匹配
在目標檢測識別出物體并且框定感興趣區(qū)域后,可以通過相關(guān)處理得到特征點,進而提取特征點的像素坐標,處理步驟主要包括對感興趣區(qū)域中目標物邊緣檢測、直線檢測以及特征點篩選。
邊緣檢測是為了獲得待檢測物的幾何輪廓,本文采用canny檢測算法[12]。在對其進行輪廓檢測前,為了使檢測更準確可以對感興趣區(qū)域進行中值濾波法[13]減小噪聲干擾,為了減小顏色相似與光照影響,可以調(diào)整物體與背景對比度,對圖5的檢測效果如圖6所示。
圖5 目標檢測結(jié)果
圖6 邊緣輪廓檢測結(jié)果
檢測出目標的大致輪廓,利用霍夫變換來提取特征直線以擬合出特征角點?;舴蛑本€檢測就是把圖像空間中的直線變換到參數(shù)空間中的點,通過統(tǒng)計特性來解決檢測問題。
霍夫變換返回的結(jié)果包括檢測到的每條直線的極坐標參數(shù)ρ、θ以及直線段的起點與終點。一條特征直線可能對應(yīng)霍夫變換檢測出多條線段,為了檢測結(jié)果的準確性,要根據(jù)實際情況選擇兩點之間的距離閾值(小于此閾值則認為兩點屬于一條線段)、線段長度閾值(大于此閾值則返回該線段參數(shù))?;舴蜃儞Q檢測到的直線會有很多條,需要從中篩選出特征直線,特征直線的篩選需要滿足以下條件:
1)線段是目標物與背景的分界線,一側(cè)像素為背景色,一側(cè)像素偏目標物表面顏色?;叶忍荻容^大,屬于強邊緣。
2)是目標物上表面線段,距離俯拍攝像機較近,誤差較小。
3)雖然目標物上各條平行的棱在圖片上不會嚴格平行,但其θ值差異不會過大,如圖5中線段1、2的θ值相近。因此以強邊緣特征直線θ值為基準,設(shè)置偏差閾值,經(jīng)多次試驗,閾值取±15°時篩選的特征直線較為可靠。霍夫變換檢測特征直線效果如圖7所示。根據(jù)篩選的條件,返回上表面2、3線段與3直線極坐標參數(shù)ρ、θ后,擬合的P1和P4點滿足用于檢測位姿的要求。
圖7 直線擬合角點結(jié)果
本文采用張正友棋盤標定法對單目USB攝像機進行標定。先將攝像機固定,采用20mm×20mm的6×11規(guī)格的黑白棋盤,改變棋盤相對攝像機的位置拍攝19張圖(分辨率640*480),再將棋盤擺放至與XOY平面重合的位置拍攝第20張照片,將20張照片放入MATLAB標定工具箱進行標定,得到相機在拍取工件點的相機標定參數(shù)。具體參數(shù)如表1所示。
表1 相機的內(nèi)外參數(shù)
保證相機俯拍目標工件完整的前提下,移動目標工件(高44mm),測量30次角點坐標信息。為了實驗的方便測量,被檢測工件某一直角邊與棋盤X軸和Y軸平行,每次測量整體沿著棋盤X和Y軸平行移動,從中選取7組P1和P4橫縱坐標數(shù)據(jù)如表2所示。
表2 角點檢測實驗數(shù)據(jù)表
由于待檢測工件位姿檢測精度主要取決于本模型的角點檢測精度,故接下來只討論角點誤差。
圖8和圖9是被檢測工件上P1和P4的角點縱坐標誤差與橫縱坐標的曲線關(guān)系圖。從圖中可以看到,P1角點在移動過程中,縱坐標小于160mm情況下,縱坐標誤差具有隨機性,但平均誤差均在2mm以內(nèi),當縱坐標超過160mm,縱坐標誤差出現(xiàn)增長趨勢,但是誤差不超過3.5mm;P4角點縱坐標小于160mm情況下,縱坐標平均誤差不超過2.5mm,當縱坐標超過160mm,縱坐標誤差出現(xiàn)更大的增長,但縱坐標誤差不超過3.5mm。
圖8 P1角點縱坐標誤差曲線圖
圖9 P4角點縱坐標誤差曲線圖
圖10和圖11是被檢測工件上P1和P4角點橫坐標誤差與橫縱坐標的曲線關(guān)系圖。分析發(fā)現(xiàn),角點的縱坐標對于檢測的橫坐標影響不大。橫坐標對于橫坐標誤差影響較大,隨著橫坐標距離的增大,橫坐標誤差會隨之增大,最大絕對誤差接近2.5mm。
圖10 P1角點橫坐標誤差曲線圖
圖11 P4角點橫坐標誤差曲線圖
本文提出了一種單目視覺特定立方體位姿檢測模型,該模型成本低,算法簡單,易于實現(xiàn),基本滿足實際需要。通過SURF模板匹配實現(xiàn)目標檢測,在保證識別準確率的前提下,實時性基本得到滿足。本文結(jié)合相機標定信息與工件先驗信息,采用霍夫變換擬合的方式得到了角點的坐標信息。實驗結(jié)果表明,角點縱坐標平均誤差在160mm內(nèi)小于2.5mm,橫坐標平均誤差在220mm以內(nèi)小于2.5mm,基本滿足檢測誤差要求。本模型角點誤差的來源,主要來自于相機自身構(gòu)造精度與測量工具精度。同時,在后續(xù)的工作中,對于如何提高復(fù)雜背景目標檢測效率,還有待研究改進。