□ 劉海龍 □ 肖 攀 □ 邱明瑋 □ 劉 巖 □ 李兵兵 □ 馬春生 □ 柴慶冕 □ 劉志煒
國家電網北京市電力公司客戶服務中心 北京 100062
物體識別在場景理解、機器人學、虛擬現實等領域中具有廣闊的應用前景,也是實現機器人操作、同步定位與建圖不可缺少的重要一環[1-2]。在物體識別過程中,實際環境往往伴隨光線變化、背景干擾、陰影遮擋等復雜情況,因此,設法從場景圖像中識別出物體,并進行位置估計是一項富有挑戰性的任務[3]。
數字圖像傳感器問世以來,國內外研究重心主要集中在二維圖像物體識別。二維圖像物體識別特征描述主 要有 DoG、SIFT、PCA-SIF、Harris、NCC 和 SURF算法等[4]。SIFT(尺度不變特征轉換)是一種在尺度空間尋找特征的匹配算法,由David G.Lowe在2004年總結完善[5]。 SURF(加速穩健特征)算法是 SIFT 的改進版,在一定條件下通過對積分圖像求導,基本實現兩幅圖像匹配的實時處理[6]。
近年來,隨著三維傳感器及其相關技術的發展,國內外學者對從三維點云中進行三維物體識別進行廣泛研究[7]。傳統三維傳感器有激光雷達、雙目視覺相機等,特別是RGB-D相機的出現,可以實現實時獲得高精度RGB-D圖像,RGB-D圖像也稱三維彩色點云圖像[8]。三維物體識別算法主要有兩類——基于三維霍夫變換投票機制的聚類算法[9]和基于幾何一致性的聚類算法[10],這兩種算法存在兩個問題,一是三維場景適應性,二是可擴展性與延時性[11]。
在物體識別方面,二維物體識別可收集二維顏色紋理信息,具有速度快、實時性高等優點,但是缺乏深度信息。三維物體識別能夠識別深度信息,但是算法復雜,速度較慢。若將二維與三維物體識別相結合,形成RGB-D物體識別,不失為一種新的嘗試。
筆者提出一種基于二維SURF算法、三維霍夫算法與RGB-D圖像的物體識別與位置估計方法。這一方法首先應用二維SURF算法進行二維物體識別,快速從場景點云中分割出目標點云;然后應用三維霍夫算法從目標點云中進行三維物體識別,得到物體點云并估算出物體的位置。筆者通過構建模型RGB-D物體庫,選取日常場景常見物品進行識別試驗,驗證這一方法的可行性。
目前應用的RGB-D相機主要有微軟Kinect、華碩Xtion等,筆者以華碩Xtion相機獲取RGB-D圖像為例,闡述基于RGB-D圖像的物體識別與位置估計方法具體實現過程。
華碩Xtion相機有三個鏡頭,中間為彩色相機鏡頭,左右兩邊分別為紅外發射器鏡頭和深度相機鏡頭。筆者建立基于華碩Xtion相機的RGB-D圖像獲取數學模型,如圖1所示。物體坐標系{I}原點位于深度相機鏡頭的中心。X軸沿彩色相機鏡頭與深度相機鏡頭的中心連線,正向遠離紅外發射器。Z軸垂直于相機成像平面,正向指向物體平面。Y軸由右手法則確定。物體平面上的 k 點在物體坐標系{I}中的坐標(Xk,Yk,Zk)為:

式中:Zo為k點在參考平面上投影點o的深度距離;f為深度相機鏡頭的焦距;b為深度相機鏡頭與紅外發射器鏡頭中心之間的距離;d為實際物體長度H在深度相機中的投影長度;(xk,yk)為k點的深度圖像像素坐標;(xo,yo)為投影點 o的深度圖像像素坐標。
深度圖像與紅、綠、藍三色圖像融合時,需要將物體坐標系{I}轉換到彩色相機坐標系{C}上,其變換矩陣包含三個平移量Tr=(tx,ty,tz)T和 三個旋轉量Rr=(rx,ry,rz)T。 彩色相機鏡頭與深度相機鏡頭內外參數值可通過標定獲得。將彩色相機鏡頭獲取的紅、綠、藍圖像和紅外發射器鏡頭與深度相機鏡頭獲取的深度圖像進行融合,即可得到RGB-D圖像。

▲圖1 RGB-D圖像獲取數學模型
采用二維SURF算法對場景RGB圖像進行二維特征提取,得到對應的二維興趣點及其特征值,并與預處理過程得到的模型圖像二維興趣點及其特征值進行匹配,分割出模型圖像所處的目標區域。圖2所示為基于二維SURF算法的二維杯子識別,左上角為杯子圖像,右側為場景圖像。由于場景中背景干擾、外界光線、物體尺度等因素的影響,匹配過程不可避免地會出現少量錯誤對應點。圖2中用圓形標記模型圖像和場景圖像中檢測的二維SURF算法興趣點位置,用直線連接兩者之間匹配的對應點,用四邊形標記場景圖像中識別出的杯子所在目標區域。

▲圖2 二維杯子識別
從場景RGB圖像中分割出待識別杯子所處的目標區域之后,還需要通過坐標變換從場景點云中分割得到目標點云。場景圖像中待識別杯子位于RGB圖像坐標系{R}之中,用ER表示待識別杯子所處的四邊形區域,有:


此時能確定待識別杯子所處的空間長方體區域Φ:

空間長方體區域Φ所包裹的點云即為所需要進行三維物體識別與位置估計的目標點云。圖3所示為確定出待識別的杯子所處空間長方體區域的場景RGB-D圖像。

▲圖3 杯子所處空間RGB-D圖像
三維霍夫算法進行物體識別旨在從目標點云中確定所識別物體三維位置信息,并精確估計出物體的位置。圖4所示為基于局部參考幀的三維霍夫表決示意圖。 圖 4中 PiM與 PiS(i=1,2,3)圓分別為模型點云與目標點云中提取的三維興趣點,圓CM與CS分別為模型點云與目標點云的參考點。筆者選取模型點云與目標點云的中心作為其參考點。對于檢測的三維興趣點,通過三維興趣點特征值來表征其近鄰信息。三維霍夫表決機制旨在從目標點云中搜尋并積累待識別物體的位置信息表征,即三維興趣點及其特征值。圖5所示為三維霍夫物體識別表決機制示例,用實線表示模型點云與目標點云之間的正確對應點,用點劃線表示兩者之間的誤匹配對應點。由于場景中背景干擾、噪聲及點云不完整等因素的影響,匹配過程中不可避免地會產生一些誤對應點。

▲圖4 基于局部參考幀的三維霍夫表決示意圖

▲圖5 三維霍夫物體識別表決機制示例
三維物體識別預處理階段主要負責三維霍夫表決器的初始化工作。圖6所示為模型點云與場景目標點云之間基于局部參考幀的坐標變換。模型點云的坐標是在全局參考幀坐標系{G}下給出的,提取的興趣點相對于參考點CM的參考矢量為:

▲圖6 基于局部參考幀的坐標變換

整幀RGB-D圖像中的三維興趣點相對于參考點的參考矢量存儲需建立在局部參考幀坐標系下,因此,矢量需轉化到局部參考幀坐標系{L}下,即:


三維物體識別在線處理階段主要負責模型點云與目標點云之間對應點匹配及物體位置估計。對于模型點云和目標點云中的一對對應點而言,矢量經過變換后,有:



當從模型點云和目標點云中搜尋得到一系列匹配的對應點時,通過設定合適的閾值即可從場景目標點云中識別出三維物體,并通過絕對定向算法計算得到待識別物體的位置。
試驗場景為擺放有五件物品的0.7 m×0.6 m長方桌,五件物品分別為杯子Ⅰ~Ⅲ、易拉罐與瓶子,圖7所示為物體識別場景。采用筆者提出的基于RGB-D圖像的物體識別與位置估計方法,從場景RGB-D圖像與三維點云中識別出上述五件物品,并估計對應的位置,通過定性和定量的分析結果來驗證基于RGBD圖像的物體識別方法的可行性。
圖 7 中,a、b、c、d 和 e 依次標記場景 A、B、C、D和 E目標點云對應識別出的物體點云,用線連接模型點云與場景目標點云之間匹配的對應點。由圖7可以看出:對于外形差別較大的不同種類的物品,能準確識別出不同種類的物體,并估計出對應的位置,具有較高的算法穩定性和物體識別精度;對于外形較為類似的同一類物品,能準確地識別出對應的杯子物品,并估計出對應的位置,具有較高的物體識別辨識度。表1列出基于RGBD圖像的物體識別方法所估計出的上述五件物品的位置。

表1 物體識別位置
筆者提出一種基于二維SURF算法、三維霍夫算法與RGB-D圖像的物體識別與位置估計方法。這一方法將二維SURF算法與三維霍夫算法進行有效融合,適應性和穩定性好,并克服了單一的二維或三維物體識別算法識別精度與準確率低、識別速度慢等問題,實現了快速物體識別與位置估計。物體識別是一項復雜的任務,盡管筆者以日常生活常見物品識別為例,對這一方法進行了驗證,達到了預期的效果,但是對復雜場景的適應性,以及對紋理少、形狀相似度大的物體進行識別,仍需要進一步深入研究。

▲圖7 物體識別場景