剛體6D姿態估計方法綜述

1 問題描述

對於一個剛體,已有單個視角下的RGB-D數據,恢復相機座標系下物體的6D位姿,即3D位置和3D姿態;

2 問題解析

這類問題通常需要已知物體的3D模型(點雲或網格,紋理情況視方法而定),直觀思路是尋找到單個視角下數據和已有3D模型直接的映射,根據物體表面的紋理情況,可以基於RGB圖像,也可以基於Depth圖像,也可以兩者混合;此外,當物體有遮擋呢?可以採用局部投票的方法;當沒有物體3D模型呢?可以採用基於迴歸的方法;

3 問題分類

可以將剛體6D姿態估計的方法分爲以下四大類 [2018-Learning to predict], 分別爲Correspondence-based method, Template-based method, Voting-based method 和 Regression-based method;

姿態估計方法 已知信息 核心思路 代表方法 適用場景
基於2D-3D對應的方法 3D模型3D點與以及投影后的帶紋理圖像 將3D模型投影得到RGB模板圖像,根據特徵點如Sift等的帶匹配點對,再使用PnP算法;(類似vSLAM重定位) SIFT,SURF,ORB等 紋理豐富
基於3D-3D對應的方法 3D模型的3D點雲數據 將Depth圖像對應3D點雲配準到完整3D模型;可使用RANSAC方法或基於3D描述符方法粗配準,再使用ICP細配準; Super 4PCS, SpinImages, FPFH, SHOT等3D特徵描述符, ICP 無紋理
基於模板的方法 3D模型的3D點雲數據,以及投影后的RGB圖像和Depth圖像 提取2D模板圖像輪廓的梯度(可結合深度圖法向),和當前圖像輪廓的梯度(可結合Depth圖像的法向)進行匹配,得到最相近模板,以模板位姿作爲粗位姿;可結合ICP細配準; LINEMOD, [2018-Implicit] 紋理不豐富
基於投票的方法 3D模型的3D點雲數據 在局部建立座標系,每一個局部都能預測一個到3D模型的變換;大量的局部能夠預測出很多變換,最後使用RANSAC尋找最優的變換; PPF, Object Coordinate, DenseFusion, PVNnet等 無紋理
基於迴歸的方法 3D模型的3D點雲數據或者投影到N個角度的圖像(對應位姿) 尋找位姿和圖像之間的內在聯繫;將位姿用不同形式表示,使其適用於CNN網絡的輸出;可分爲直接回歸6D位姿和先估計2d投影點再使用PnP間接恢復位姿; PoseCNN,Deep6DPose,BB8,SSD-6D,等 無紋理

3.1 Correspondence-based method

這類方法針對紋理豐富的物體,是最常用的方法;該方法又可以分爲兩類:尋找已知模型3D點和觀測RGB圖像2D像素點之間的對應;尋找已知模型3D點和觀測Depth圖像3D點之間的對應;

3.1.1 3D-2D對應

3D模型首先投影到N個角度,得到N張模板RGB圖像,記錄3D點和2D像素之間的對應;採集單個視角下RGB圖像後,提取特徵點如 SIFT,SURF,ORB等,尋找和模板圖像之間的對應 (2D-2D);這樣我們得到了3D點和當前觀測RGB圖像2D像素點的對應,使用Perspective-n-Point(PnP)算法即可恢復當前視角圖像的位姿;(類似基於特徵點vSLAM中的重定位過程)

3.1.2 3D-3D對應

觀測的Depth圖像可以結合內參轉換爲3D點雲,需要和已有完整3D點雲進行配準;當單視角觀測點雲和完整3D點雲位姿偏差較大時,需要進行全局配準(粗配準);當單視角觀測點雲和完整3D點雲位姿很接近時,可以使用局部配準(細配準),如ICP等方法;全局配準方法主要分爲2類,一類基於RANSAC類方法如Super 4PCS [2014-Super 4PCS],隨機選擇3對或者4對點進行投票,選擇最優的對應最爲最終變換;一類是基於特徵描述符的方法,在點雲上分別提取顯著性特徵點,根據描述符如SpinImages,FPFH,SHOT等,尋找3D點之間的對應,確定變換;全局配準的結果可以用局部配準方法進行優化;

3.2 Template-based method

這類方法針對的是弱紋理或者無紋理圖像,也即Correspondence-based method不能處理的情況;這類方法中,很難提取特徵點,能利用的可以是RGB圖像的梯度信息;完整3D模型也投影到N個角度,得到N張模板RGB圖像,記錄每張投影時對應的位姿;通過比較觀測RGB圖像和模板RGB圖像的梯度信息,尋找到最相似模板圖像,以該模板對應的位姿作爲觀測圖像對應的位姿;該類方法的代表方法是LineMode方法 [2012-Model based];

3.3 Voting-based method

這類方法主要針對的是具有遮擋的情況;依據是圖像中的每一個局部都能夠對整體的輸出產生投票;代表性方法是基於Object coordinate的方法 [2014-Learning 6d object pose],每一個Object coordinate都能預測一對3D-3D之間的變換,通過產生大量假設再refine得到最終結果;此外還有基於Hough forest的方法 [2014-Latent-class],基於Point Pair Features (PPF) [2012-3d object detection] 的方法;此外,還有DenseFusion方法,分別對RGB圖像和Depth對應3D點雲使用3DCNN網絡得到融合的pixel-wise dense feature,每一個feature都能預測一個姿態,最後通過投票得到最後的6D姿態;該方法是當前精度最高的算法;

3.4 Regression-based method

該類方法主要學習圖像特徵和6D位姿之間的聯繫;常用的方法爲在基於深度學習進行目標檢測的基礎上,再回歸出物體的6D位姿;常見的方法可以分爲兩類,一類直接回歸出物體的6D姿態,包括PoseCNN [2017-Posecnn], Deep-6DPose [2018-Deep-6dpose]等;另一類方法預測關鍵3D點在2D圖像上的投影位置,然後使用pnp方法恢復姿態,包括BB8 [2017-Bb8],Tekin’18 [2018-Real-time], SSD6D [2017-Ssd-6d]等;

4 總結

以上方法中,Correspondence-based method精度高,是主流採用的方法,在進行機器人抓取時較爲常用;弊端是需要3D物體精確的3D模型;Template-based method方法精度較爲受限;Voting-based方法精度較高,然而運算速度慢;Regression-based method方法精度較高,擴展性好,但需要大量訓練數據。

參考文獻

2012-Model based training, detection and pose estimation of texture-less 3d objects in heavily cluttered scenes
2012-3d object detection and localization using multimodal point pair features
2014-Super 4PCS Fast Global Pointcloud Registration via Smart Indexing
2014-Learning 6d object pose estimation using 3d object coordinate
2014-Latent-class hough forests for 3d object detection and pose estimation
2017-Bb8: a scalable, accurate, robust to partial occlusion method for predicting the 3d poses of challenging objects without using depth
2017-Ssd-6d: Making rgb-based 3d detection and 6d pose estimation great again
2017-Posecnn: A convolutional neural network for 6d object pose estimation in cluttered scenes
2018-Deep-6dpose: recovering 6d object pose fromasinglergbimage
2018-Learning to predict dense correspondences for 6d pose estimation
2018-Real-time seamless single shot 6d object pose prediction
2018-Implicit 3D Orientation Learning for 6D Object Detection From RGB Images
2019-Densefusion: 6d object pose estimation by iterative dense fusion

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章