王煜升張波濤吳秋軒呂 強
(杭州電子科技大學(xué)自動化學(xué)院,浙江 杭州310018)
家庭服務(wù)機器人所處的環(huán)境通常是混雜無序的,待操作目標(biāo)種類繁多,形狀不規(guī)則,其通用隨機抓取任務(wù)面臨極大的挑戰(zhàn),如圖1所示。而目標(biāo)的識別與定位則是執(zhí)行抓取任務(wù)的前提。在非結(jié)構(gòu)或半結(jié)構(gòu)化的室內(nèi)環(huán)境中,物體的放置具有隨機性,通常存在自遮擋或相互遮擋的現(xiàn)象,這種遮擋屬于頻繁出現(xiàn)、干擾嚴重、亟待解決的問題。
圖1 家庭環(huán)境中的遮擋情況
近年來,遮擋問題引起了一些研究者的注意并對其進行研究探索,提出了一些遮擋目標(biāo)的識別方法,例如:文獻[1]基于輪廓[2]片段空間關(guān)系,分別提取模板圖像與目標(biāo)圖像骨架[3]關(guān)鍵點與質(zhì)心建立坐標(biāo)系,然后在各自圖像建立一種空間關(guān)系約束準則以實現(xiàn)遮擋識別。上述方法在特定條件下的圖像處理具有較高的識別率,但是在室內(nèi)對常用物體進行遮擋識別時實用性相對較??;Mirunalini等人[4]采用基于尺度不變特征變換(SIFT)與卡爾曼(Kalman)濾波的遮擋識別方法,將具有很好跟蹤性能的Kalman濾波算法與SIFT結(jié)合,實現(xiàn)遮擋目標(biāo)的跟蹤。然而其方法主要側(cè)重于識別與跟蹤,針對遮擋目標(biāo)抓取問題比單純的識別更具挑戰(zhàn)性。
目標(biāo)物體的位置信息是家庭服務(wù)機器人精確抓取的關(guān)鍵因素之一。TOF[5](Time of flight,飛行時間測距法)作為一種常用測距傳感器,可以實現(xiàn)遠距離測量,但其計算量大,資源消耗較多,一般用于無人駕駛領(lǐng)域;結(jié)構(gòu)光相機[6]以其成本低、近距離范圍精度較高等優(yōu)勢被廣泛使用,不足之處在于易受光線干擾,室外效果較差;相較于上述兩類相機,雙目相機可以直接測量空間目標(biāo)點的三維信息[7-9],受環(huán)境干擾較小,可以實現(xiàn)目標(biāo)物的精確定位。因此本文選用雙目相機作為視覺傳感器。
雙目視覺模擬人類的視覺[10]功能,屬于實現(xiàn)機器人感知外部環(huán)境[11]的關(guān)鍵技術(shù)之一。隨著智能生活的發(fā)展,室內(nèi)服務(wù)機器人[12-15]越來越成為研究的熱點,雙目相機以其結(jié)構(gòu)簡單、非接觸感知以及適應(yīng)性強等優(yōu)勢在機器人移動抓取中具有重要作用,近年來越來越多研究學(xué)者將雙目相機應(yīng)用于機器人抓取領(lǐng)域。物體的形態(tài)特征例如顏色[16]、紋理等經(jīng)常被視為一種區(qū)分目標(biāo)物與其他物體的手段之一,Ren Y等人[17]利用雙目相機對具有明顯顏色特征的目標(biāo)物進行顏色分割獲取其三維坐標(biāo),進而實現(xiàn)機械臂抓取。該方法對具有明顯顏色特征的物體具有較好表現(xiàn),而在顏色相近區(qū)域內(nèi)該方法并不適用。此外,也有學(xué)者將多種特征檢測算法進行融合從而達到精確識別的目的。例如文獻[18]將顏色識別與Canny邊緣檢測進行融合,對感興趣區(qū)域內(nèi)的目標(biāo)進行識別定位以提高機械臂抓取精度。若在一個較為復(fù)雜的環(huán)境中,其感興趣圖像內(nèi)的紋理信息偏多,對區(qū)域內(nèi)輪廓提取難度加大,可能無法實現(xiàn)有效定位抓取。
受限于實際環(huán)境的不確定性,家庭服務(wù)機器人的抓取對象極有可能被其他物體遮擋,但目前的目標(biāo)抓取研究大多針對非遮擋目標(biāo),或者特殊任務(wù)下的特殊目標(biāo),多數(shù)研究學(xué)者的研究內(nèi)容都是基于非遮擋物體進行的。因此,利用局部信息對遮擋目標(biāo)進行準確識別具有重要實際意義。對于已知物體,機器人可直接根據(jù)已規(guī)劃好的候選抓取位姿對目標(biāo)進行后續(xù)操作,然而在一個不確定性的復(fù)雜環(huán)境中,抓取物體未知,物體距離位姿不明,目標(biāo)存在遮擋,室內(nèi)機器人通過視覺傳感器僅能獲取目標(biāo)物體的部分非完整信息,機器人需要分析該非完整信息以規(guī)劃出準確的抓取位姿,這使得目標(biāo)物體定位與抓取問題更具復(fù)雜性。若機器人在對被遮擋目標(biāo)進行定位抓取[19-20]時采取無遮擋的取點方法,所獲抓取點位置可能產(chǎn)生漂移,甚至脫離物體,難以實現(xiàn)準確的抓取點定位。對遮擋目標(biāo)抓取點定位需要解決以下問題:①在保障實時性的前提下,采用準確的識別策略對被遮擋的目標(biāo)進行檢測識別。②在目標(biāo)物體被遮擋時,機器人能夠排除遮擋物的干擾,在未遮擋的區(qū)域上選取合適的抓取點并實現(xiàn)精確定位。
針對上述問題,本文提出一種基于雙目視覺的遮擋目標(biāo)期望抓取點識別與定位方法,采用隨機一致性采樣對特征點實現(xiàn)多次篩選,消除誤匹配,對特征點檢測與匹配進行優(yōu)化。構(gòu)建了一種物體期望抓取位置定位策略,用于對被遮擋目標(biāo)物體的期望抓取位置定位,根據(jù)常用物體的相似性與差異性對常用物體進行分類,模仿人類抓取物體的經(jīng)驗與習(xí)慣,構(gòu)建了機器人抓取不同類別物體的期望位置模型,基于該模型對物體的期望抓取位置采樣,建立了期望位置模型庫,利用期望位置模型庫對目標(biāo)物體無遮擋部分區(qū)域進行匹配定點,確定該物體在雙目左右攝像機中的抓取點位置。最后根據(jù)同一目標(biāo)物體在左右兩幅圖像像素點偏差與幾何關(guān)系恢復(fù)其三維坐標(biāo),實現(xiàn)雙目定位,算法流程如圖2所示。
圖2 算法流程圖
機械臂的手眼協(xié)同對算法實時性要求較高,為提高識別算法的實時性,本文構(gòu)建了分層過濾的隨機抽樣一致性(Multilayer Random Sample Consensus,Multi-RANSAC)誤匹配消除方法。第一層采用較大的歐式距離對目標(biāo)圖像中大量匹配點進行過濾篩選,然后對所得到結(jié)果進行較小歐式距離的精細過濾篩選。并將其與SURF(Speeded Up Robust Features,加速穩(wěn)健特征)結(jié)合,構(gòu)建了Multi-RANSAC-SURF目標(biāo)識別策略。在該策略中,首先使用SURF與FLANN(Fast Library for Approximate Nearest Neighbors,快速最近鄰搜索包)進行關(guān)鍵點檢測與匹配,在此基礎(chǔ)上,加入Multi-RANSAC算法消除誤匹配。而后通過變換矩陣計算物體邊界,對遮擋目標(biāo)進行外接模板還原,最終實現(xiàn)遮擋識別,具體算法框架如圖3所示。
圖3 Multi-RANSAC-SURF遮擋目標(biāo)識別流程
SURF算法使用局部Hessian(黑塞矩陣)對關(guān)鍵點進行定義[21]。Hessian是一個由多元函數(shù)二階偏導(dǎo)數(shù)構(gòu)成的方陣,用以描述極點處的局部曲率。圖像某像素點X處的矩陣定義如下:
式中:σ是濾波系數(shù),它表示圖像被平滑的程度,Lxx(X,σ)、Lxy(X,σ)、Lyy(X,σ)為高斯函數(shù)g(σ)與像素點X處的卷積。由于積分圖像中任一點像素點灰度值等于在該像素點之前所有灰度值總和,圖像中任意矩形框的像素值之和的計算復(fù)雜度僅為常數(shù)級,SURF利用積分圖像的計算優(yōu)勢,將近似兩個高斯內(nèi)核差的盒式濾波器[22](如圖4(b)所示)進行卷積來計算Hessian,由Dxx(X,σ)、Dxy(X,σ)、Dyy(X,σ)代替,得到近似構(gòu)建的Hessian矩陣:
圖4 兩種濾波器
其行列式為:
式中:ω為權(quán)重值取0.9[23]。將關(guān)鍵點定義為det(Happrox)超過某個閾值的局部極值。
給定任意新的旋轉(zhuǎn)圖像,都可以找到相同的關(guān)鍵點,這就是SURF的旋轉(zhuǎn)不變特性。SURF為每個特征點分配一個主方向以保證其旋轉(zhuǎn)不變,其原理是以特征點為中心,在半徑為6 s(s為特征點所在的尺度值,表示尺度系數(shù))的鄰域內(nèi),計算所有點在x(水平)和y(垂直)方向的Haar小波響應(yīng),同時使用高斯加權(quán)函數(shù)對Haar小波的響應(yīng)值進行加權(quán),然后使用一個60度的扇形滑動窗口(如圖5所示),統(tǒng)計其范圍內(nèi)所有點的水平、垂直響應(yīng)之和,選擇最長矢量方向作為特征的主方向。
圖5 圓形鄰域
基于旋轉(zhuǎn)不變特性,在進行遮擋目標(biāo)識別時,無需考慮物體的旋轉(zhuǎn)方向,任意擺放位置都可以確定兩個關(guān)鍵點是否為正確匹配項。
針對遮擋目標(biāo)的定位抓取問題,本方法的基本原理如下:首先,構(gòu)建物體期望位置抓取模型,并基于該模型預(yù)先對不同種類目標(biāo)的模板進行離線采集,然后,建立期望抓取位置模型庫,該模型庫包含多種候選模板;當(dāng)利用上文所提Multi-RANSACSURF獲取遮擋目標(biāo)所在外接矩形區(qū)域后,便在已構(gòu)建好的期望抓取位置模型庫中進行檢索,將檢索結(jié)果與目標(biāo)進行匹配,以此定位被遮擋目標(biāo)的期望抓取位置,系統(tǒng)框架如圖6所示。
圖6 期望位置匹配定位框架圖
本文所提期望位置抓取模型主要考慮了以下兩個方面:①模仿人類抓取常用物體時的經(jīng)驗與習(xí)慣;②目標(biāo)被部分遮擋時,如何對其抓取位置進行定位。模型具體內(nèi)容如下:針對生活常用物體,按類別分為瓶狀物體、書本類物體、水杯類物體以及小型物體,然后分別確定這幾類物體的期望抓取位置,總結(jié)為以下四類常用物體的期望位置定位抓取模型(圖7)和期望位置模型參數(shù)表(表1)?;谠撈谕恢米ト∧P团c參數(shù)表,在實現(xiàn)遮擋目標(biāo)識別基礎(chǔ)上,基于期望位置模型庫對識別到的目標(biāo)進行匹配定位。設(shè)目標(biāo)的長度為col,高度為row,m、n為比例參數(shù),左上角像素坐標(biāo)為(temloc.x, temloc.y),定位抓取點坐標(biāo)為Point(x,y)。
表1 常見物體期望位置模型參數(shù)
圖7 期望位置定位抓取模型
表達式為:
在上述期望位置模型基礎(chǔ)上,對這幾類常見物體的期望位置進行圖像采集,構(gòu)建一個期望位置模型庫,該模型庫包含每類物體期望位置若干處左右雙目圖像的模板圖(如圖8所示)。
圖8 部分期望位置模型庫
本文采用融合模板匹配算法的期望位置匹配策略,即基于2.1節(jié)所構(gòu)建的期望位置抓取模型,采用模板匹配算法利用模板圖對檢測到的目標(biāo)進行定位,尋找該類物體在左右圖像中的最佳抓取位置?;谠摬呗?,在整個圖像區(qū)域發(fā)現(xiàn)與給定子圖像匹配的小塊區(qū)域。模板匹配首先需要一個模板圖像T(給定子圖像)和一個待檢測圖像S,然后在待檢測圖像上,從左到右,從上到下計算模板圖像與重疊子圖像的匹配程度,匹配程度越大則相同性就越大,采用標(biāo)準化差值平方和匹配(CV_TM_SQDIFF_NORMED)算法進行圖像相似度計算,其原理是:利用圖像與模板各像素歸一化的平方和進行匹配,匹配值越低,相似度越高。
設(shè)T(x,y)為模板,I(x,y)為待檢測圖像,R(x,y)為描述相似度的函數(shù):
相機成像坐標(biāo)與世界坐標(biāo)之間存在一個映射關(guān)系,稱之為矩陣表示,攝像機標(biāo)定就是為了找出這種矩陣表示,標(biāo)定結(jié)果的準確性決定后期定位的精度,本文采用張正友標(biāo)定法進行攝像頭標(biāo)定。攝像機標(biāo)定主要涉及這三個參數(shù):內(nèi)參、外參和畸變。
內(nèi)參:攝像機坐標(biāo)與理想坐標(biāo)系的關(guān)系,內(nèi)參數(shù)公式A:
式中:u0、v0為中心像素坐標(biāo),fx、fy為u、v軸的有效焦距。
畸變D:
式中:k1、k2、k3為徑向畸變參數(shù),p1、p2為切向畸變參數(shù)。
外參:攝像機在世界坐標(biāo)系的位置和方向,主要包括旋轉(zhuǎn)矩陣R、平移矩陣T,其中旋轉(zhuǎn)矩陣R:
式中:ri(i∈[1,9])為旋轉(zhuǎn)參數(shù)。
平移矩陣T:
式中:tx、ty、tz為平移參數(shù)。
完成標(biāo)定之后利用Bouguet算法進行校正,Bouguet算法的宗旨在于重投影變化達到最小,以實現(xiàn)畸變最小化目的,最終得到的重投影矩陣Q:
式中:(cx,cy)為主點,c′x為右側(cè)視圖的x軸主點。如果主光線相較于無限遠,那么Q的右下角數(shù)值為0,即cx=c′x,至此,標(biāo)定過程完成。
圖9 為平行雙目視覺模型。兩個攝像頭共面且位于同一水平面,其各項性能指標(biāo)均相同。C1、C2兩個光心相距為b,焦距為f,空間某一位置坐標(biāo)P在兩個攝像頭成像平面的坐標(biāo)分別為P1(xl,yl)、P2(xr,yr),定義視差d=xl-xr。
圖9 平行雙目視覺模型
假設(shè)左攝像頭成像坐標(biāo)系與世界坐標(biāo)系重合,那么根據(jù)三角測量原理,可以求出P點的世界坐標(biāo)(X,Y,Z):
以深度值Z為例,設(shè)Δx為偏離誤差,那么:
則距離誤差ΔZ:
由此可知,偏離誤差越小,雙目測距誤差越小。
本文采用的雙目相機如圖10所示,其參數(shù)如表2所示。使用22 mm×22 mm的11×8(11、8分別是行、列交叉點數(shù)量)棋盤格標(biāo)定板(圖11)進行相機標(biāo)定實驗,其中標(biāo)定板初始位置位于雙目相機光心中間正前方20 cm處,標(biāo)定板在圖像中的面積占比要高于50%,然后分別從正對、左傾、右傾、上傾、下傾等角度拍攝標(biāo)定板進行雙目標(biāo)定。
圖10 雙目相機
圖11 標(biāo)定黑白棋盤格
表2 雙目相機參數(shù)
標(biāo)定參數(shù)中,左攝像頭內(nèi)參矩陣:
畸變:
右攝像頭內(nèi)參矩陣:
畸變:
旋轉(zhuǎn)矩陣:
平移向量:
根據(jù)上述參數(shù),采用Bouguet算法進行立體校正,所得到的重投影矩陣Q如下:
所得攝像頭焦距為698.4像素,基線長度b(baseline,左右相機光心之間的距離)為120.717 mm。
本文選取保溫杯、書本、水杯、遙控器等四類家庭中的常用物體作為實驗對象。為了體現(xiàn)相對真實的遮擋環(huán)境,隨機選取了一個實驗場地進行測試,使用方形紙盒作為遮擋物,將目標(biāo)固定在500 mm位置處,對上述物體進行基于Multi-RANSAC-SURF的遮擋識別實驗。與此同時,為探究不同遮擋比例對本文所提算法的影響,按照25%~30%、40%~50%以及65%~70%的遮擋比例分別從定性與定量角度進行對比,實驗結(jié)果如圖12所示。
圖12 不同遮擋比例的識別結(jié)果
為了進行定量比較,分別統(tǒng)計上述四類物體在不同遮擋比例下的特征點正確匹配數(shù),如表3與圖13所示。
圖13 不同遮擋比例特征點數(shù)比較圖
表3 不同遮擋比例下的特征點正確匹配數(shù)量
由圖12可以看出,分別按照25%~30%、40%~50%和65%~70%的遮擋比例對四類目標(biāo)進行識別,目標(biāo)均可以被有效識別并框出,說明本文所提識別算法有較好的魯棒性;由表3和圖13可見,隨遮擋比例增加,特征點正確匹配數(shù)隨之下降,說明識別精度隨遮擋比例增加而降低。
為驗證本文所提識別算法的實時性,另選取兩種識別算法KAZE和SIFT進行對比,統(tǒng)計三種算法的運行時間,所得結(jié)果如表4所示。由表4對比結(jié)果可以看出,本文所提算法的實時性優(yōu)于其他兩種算法。
表4 三種算法的目標(biāo)檢測時間
在完成遮擋識別基礎(chǔ)上,基于期望位置抓取模型,利用預(yù)先構(gòu)建好的期望位置模型庫進行匹配定位??紤]到家庭服務(wù)機器人抓取目標(biāo)的可及范圍通常在500 mm左右,因此實驗主要對500 mm處的算法性能進行測試,同時也對其他距離的部分性能指標(biāo)進行了測試,如:300 mm、800 mm。圖14為不同物體的定位抓取位置,表5~表8為500 mm位置處定位結(jié)果。
由圖14可見雙目定位結(jié)果符合本文所述的期望位置,由表5~表8給出的測量結(jié)果可以看出使用該期望位置模型可以實現(xiàn)較高精度的雙目定位,具有良好的空間一致性。與此同時,為探究不同距離雙目定位精度,另選取了300 mm和800 mm對目標(biāo)物進行對比測試,以驗證不同距離下的定位效果,部分實驗數(shù)據(jù)如表9~表12所示。
表8 以遙控器為研究對象在500 mm定位結(jié)果
表9 不同距離下保溫杯的定位結(jié)果
表12 不同距離下遙控器的定位結(jié)果
圖14 基于期望位置定位模型的雙目定位結(jié)果
表5 以保溫杯為研究對象在500 mm定位結(jié)果
表6 以書本為研究對象在500 mm定位結(jié)果
表7 以水杯為研究對象在500 mm定位結(jié)果
表10 不同距離下書本的定位結(jié)果
表11 不同距離下水杯的定位結(jié)果
為了更好地表征實驗結(jié)果的準確性,本實驗引入平均誤差,具體公式如下:
式中:Ea為平均誤差,S為實際值,Si為實驗測量值,n為實驗次數(shù)。統(tǒng)計不同距離下X、Y、Z坐標(biāo)的平均誤差,結(jié)果如表13~表15所示。
表13 不同距離下目標(biāo)X坐標(biāo)的平均誤差單位:mm
表15 不同距離下目標(biāo)Z坐標(biāo)的平均誤差單位:mm
表14 不同距離下目標(biāo)Y坐標(biāo)的平均誤差單位:mm
由表9~表15分析可知,所提方法的定位精度并非越近越高,距離較近(300 mm)時由于左右相機視角問題,存在較大的視差影響,雙目測距的誤差相對較大;距離較遠(500 mm、800 mm)時雙目測距效果較好,誤差較小。
本文提出了一種基于雙目視覺傳感器的遮擋目標(biāo)期望抓取點識別與定位方法,首先利用Multi-RANSAC-SURF算法對被遮擋目標(biāo)進行識別;在此基礎(chǔ)上完成雙目攝像頭的標(biāo)定,獲取雙目相機的內(nèi)參與外參;然后利用本文提出的期望位置定位抓取模型,構(gòu)建一個期望位置模型庫,利用該模型庫進行未遮擋目標(biāo)區(qū)域匹配,并確定左右相機中期望位置對應(yīng)的像素坐標(biāo),同時結(jié)合雙目定位算法,實現(xiàn)了被遮擋物體的期望位置較高精度的定位。實驗結(jié)果表明,本文所提出的期望位置抓取模型具有較好的應(yīng)用價值。