1 摘要
本文中,我們提出了一種新的數據驅動方法,從單一RGBD圖穩健估計物體6D位姿。與直接回歸位姿不同,我們使用基於關鍵點的方法來處理這個具有挑戰性的任務。具體而言,我們提出了一個深度霍夫投票網絡來檢測物體的3D關鍵點,然後使用最小二乘擬合的方式下估計6D位姿。我們的方法是基於2D關鍵點方法的擴展,它在RGB圖上估計6D位姿取得了成功。它充分利用具有額外深度信息的剛體的幾何約束,易於網絡學習和優化。該方法達到了sota的性能。
論文連結:https://arxiv.org/abs/1911.04231
論文代碼:https://github.com/ethnhe/PVN3D.git
2 介紹
本文研究的是6D位姿估計,即在標準框架下識別物體的3D位置和方向。該技術在現實中有很多應用,比如機器人抓取、自動駕駛、增強現實等。
由於光線變化、傳感器噪聲、場景遮擋及物體截斷等,6D位姿估計是一個挑戰性的問題。傳統方法使用手工設計的特徵,提取圖像與物體網格模型之間的對應關係,但是這些人工設計的特徵在光線變化及嚴重遮擋的場景下性能較差。近期,隨著機器學習與深度學習技術的發展,深度神經網絡(DNN)被用於解決這一任務,並取得顯著效果。一些方法直接使用 DNN 回歸物體的旋轉R和平移矩陣T,但是由於旋轉空間是非線性的,這些方法的泛化性往往較差。另一些方法則通過DNN檢測一個物體的2D關鍵點,再通過PnP算法計算 6D 位姿參數。儘管這種兩階段的方法更加穩定,但PnP算法構建在2D投影誤差上,而2D空間的小誤差在真實的3D空間中會被放大很多,而且,3D空間中的不同關鍵點可能會在2D投影后發生重疊,變得難以區分;更重要的,剛體的幾何約束信息會由於相機的投影而部分缺失。
另一方面,隨著RGBD傳感器和數據集的普及,額外的深度信息允許將2D算法擴展至3D空間,並在3D物品檢測等問題上取得了良好的性能,如pointnet系列和votenet等。本文充分利用了剛體的幾何約束信息,將基於2D關鍵點的方法擴展基於3D關鍵點,提升6D位姿測量精度。具體而言,本文提出一種基於霍夫投票(Hough voting)的神經網絡,以學習逐點到3D關鍵點的偏移並為3D關鍵點投票,如圖 1 所示。本文的其中一個關鍵發現是一個簡單的幾何特性,即在3D空間中,一個剛體上任意兩點之間的相對位置關係是固定的。因此,給定物體表面的一個可見點,它的坐標和方向可由深度信息獲得,其相對於剛體上預選關鍵點的平移偏移量也是確定且可學習的。同時,深度神經網絡學習逐點歐幾裡得偏移直截了當,且易於優化。
圖一 pipeline:(a)輸入RGBD圖片;(b)使用一個深度霍夫投票網絡預測每個點相對於關鍵點的平移偏移;(c)在同一個對象上每一個點為選擇的關鍵點投票,和將集群的中心選為預測關鍵點;(d)-(e)最小二乘擬合方法應用於估計6D位姿參數;(f)由估計的6D位姿參數轉換後的模型
當場景有多個物體時,本文在網絡中引入一個實例語義分割模塊,並和關鍵點投票任務聯合優化。本文發現,聯合訓練這些任務可以讓網絡學出更好的表徵從而提升網絡在每一個任務上的性能。具體來說,語義分割通過確認一個點屬於物品的哪一部分從而幫助判斷該點到關鍵點的平移偏移;另一方面,平移偏移量包含的物品的尺度信息有助於模型區分外表相似但大小不同的物體。
我們在YCB和LineMOD數據集上驗證方法的可行性,達到了sota效果。
貢獻如下
提出了一種基於實例語義分割的深度3D關鍵點霍夫投票網絡,用於單RGBD圖像的6D位姿估計;在YCB和LineMOD數據集上性能達到sota;深入分析基於3D關鍵點的方法,並與之前的方法進行了比較,表明3D關鍵點是提高6D位姿估計性能的關鍵因素。我們還證明,聯合訓練3D關鍵點和語義分割可以進一步提高性能。
3 相關工作
整體法基於關鍵點的方法密集對應方法
4 方法
給定一張RGBD圖像,物體6D位姿估計任務旨在將其從物體坐標系轉換到相機坐標系的剛性變換,包含一個3D旋轉變換和一個3D平移變換。
4.1 概述
圖2 概覽:特徵提取模塊從RGBD圖像中提取每個點的特徵。分別輸入模塊M_k、M_c和M_s來預測每個點到關鍵點、中心點的平移偏移和語義標籤。然後使用聚類算法來區分具有相同語義標籤的不同實例,和同一實例上的點對其目標關鍵點的投票。最後,用最小二乘法應預測關鍵點,估計出6D位姿參數。
如圖2所示,這是一種兩階段方法,在檢測出目標的3D關鍵點之後使用最小二乘法擬合位姿。具體而言,輸入RGBD圖像,通過特徵提取模塊融合表面特徵和幾何信息獲得逐點特徵。這些特徵被送至一個3D關鍵點檢測模塊以預測逐點到 3D 關鍵點的偏移(以投票出3D關鍵點)。另外,本文提出一個實例分割模塊用於處理多物體場景,其中包含一個語義分割模塊用以預測逐點的語義標籤,一個中心投票模塊用以預測逐點相對其物體中心的平移偏移量。藉助已學習的逐點到其所在物品中心點的偏移,應用聚類算法區分具有相同語義標籤的不同實例,然後使用相同實例上的點投票並聚類出該物品的3D關鍵點。最後,利用相機坐標系下的目標關鍵點坐標和目標坐標系下的3D關鍵點坐標的對應關係,使用最小二乘法估算出目標的6D位姿參數。
4.2學習算法
本文學習算法的目標是訓練一個3D關鍵點檢測模塊M_k,用於預測逐點到3D關鍵點的偏移;以及一個語義分割模塊M_s和中心點投票模塊M_c,用於實例語義分割。這樣網絡訓練自然形成一個多任務學習任務。本文使用一個多任務監督損失函數和若干個訓練細節來實現。
4.2.1 3D關鍵點檢測模塊
如圖2所示,在特徵提取模塊提取逐點的特徵之後,3D關鍵點檢測模塊檢測每個物體的3D關鍵點,具體而言,該模塊預測從可見點到目標關鍵點的歐幾裡得平移偏移量。通過這些可見點的坐標和預測的偏移量為目標關鍵點的位置投票。這些投票的點由聚類算法進行聚類以消除離群點的幹擾,群集的中心點被選為投票選出的關鍵點。關鍵點平移量學習模塊M_k使用 L1 loss進行監督:
4.2.2 實例語義分割模塊
為了處理多目標問題,以前的方法利用已有的檢測或者語義分割結構預處理照片,然後獲得僅包含單一目標的RoIS。然後將RoIS作為輸入,建立位姿估計模型以簡化問題。但是,我們提出的位姿估計問題,首先檢測目標關鍵點的平移偏移,到關鍵點學習模塊,我們認為這兩個任務可以互相提高性能。一方面,語義分割模塊迫使模型提取實例的全局和局部特徵來區分不同的對象,這有助於在目標上定位一個點,有利於關鍵點偏移的推理過程;另一方面,為預測關鍵點的偏移量而學習的大小信息,有助於區分外觀相似但大小不同的對象。在此基礎上,我們將一個逐點實例語義分割模塊M_s引入到網絡中,並與M_k模塊進行了聯合優化。
具體而言,給定提取出的逐點特徵,語義分割模塊 M_s 預測每點的語義標籤,本文使用 Focal Loss監督這一模塊:
同時,中心點投票模塊M_c投票出不同物體的中心點,以區分相同語義的不同實例(為什麼不直接用實例分割,區分不同的實例呢?-消融實驗解釋:語義模塊提取全局和局部特徵來區分不同的對象。這些特徵還有助於模型識別出點屬於對象的哪一部分,並改善平移預測。)。在CenterNet啟發下,進一步將2D中心點擴展到3D,3D中心點不會受遮擋的影響。由於中心點可視為一種特殊的物體關鍵點,該模塊和M_k類似,利用逐點特徵預測到目標中心的歐幾裡得平移偏移,使用L1 loss進行監督學習:
4.2.3 多任務學習
本文使用一個多任務損失函數聯合監督 M_k、M_s、M_c 的學習:
4.3訓練
4.3.1 網絡結構
如圖2所示:在這個模塊中,第一部分是特徵提取模塊,使用帶有ImageNet預訓練的ResNet34的PSPNet來提取RGB圖像中的外觀信息。用PointNet++提取點雲及其法線映射中的幾何信息,再通過DenseFusion進一步融合,以獲得每個點的組合特徵。處理後,每個點p_i有特徵f_i。
4.3.2 關鍵點選取
3D關鍵點是3D模型上選取的。以前的3D關鍵點選的都是目標的8個角點,然而,這些邊界框角是虛擬點,它們遠離物體上的點,不利於6D位姿參數估計。參考PVNet,用FPS(最遠點採樣)算法選取。具體來說,我們通過在一個空的關鍵點集合中添加對象模型的中心點來初始化選擇過程,然後通過在網格上重複添加一個距離所有選擇的關鍵點最遠的點來更新它,直到獲得M個關鍵點。
4.3.3 最小二乘法擬合
給定一個對象的兩個點集,其中一個點集來自相機坐標系中檢測到的M個關鍵點{kp_j}j=1~M,另一個點來自目標坐標系對應的點,6D位姿估計模塊採用最小二乘擬合算法對位姿參數(R, t)進行計算,通過最小化以下平方損失來求得R和t。
5 實驗
5.1 數據集
6D位姿估計算法中常用的數據集:YCB-Video和LineMOD數據集
5.2 評價指標
1. 平均距離(ADD)是計算真值姿勢和估計姿勢轉換的兩個3D模型中對應點之間距離的平均值。均值小於預設閾值(3D模型直徑的10%),認為6D位姿估計正確。
2. 對於對稱物體(ADD-S):對稱目標的的某些點匹配不明確,使用最近點
5.3 在YCB-Video和LineMOD基準上的實驗結果
下表給出了在YCB-Video數據集上的量化評估結果。如表所示,本文方(PVN3D即使在沒有藉助任何迭代優化算法時也能大幅超越其他方法;而在迭代優化算ICP的加持下,本文方法(PVN3D+ICP)取得了更好的性能;且對於遮擋情況的魯棒性也很好。
下表給出使用ground truth分割的評估結果,PVN3D依然取得最佳性能。
下圖可視化了在YCB-Video數據集上的一些預測結果,PVN3D比先前方法更準確。
下圖展示隨著物品被遮擋比例的增加,不同方法的表現性能曲線。可見本文方法在物品被大量遮擋的場景下表現更加穩定。
下表給出了在 LineMOD 數據集上的量化結果,本文模型同樣取得當前最佳性能。
5.4 消融實驗
下表對比了基於3D關鍵點範式的方法和基於其他範式方法的性能,在相同的輸入和神經網絡架構下,基於3D關鍵點的方法(3D KP)性能遠超直接回歸位姿參數的方法(RT),基於2D關鍵點的方法2D KP;2D KPC;PVNet)以及基於稠密對應關係的方法(Corr)。本文相信基於3D關鍵點的位姿估計範式是一個極具潛力的研究方向,值得更多深入的研究。
下表對比了不同關鍵點選擇方式以及關鍵點數目對性能的影響,可見使用FPS算法選擇的關鍵點優於3D檢測框的8個角點,並且預測8個關鍵點是網絡輸出空間大小和最小二乘擬合位姿參數誤差的一個較好的平衡。
下表的內容表示,聯合訓練兩種任務的三個模塊(M_k,M_s,M_c)能讓網絡學出更好的表徵(多任務聯合訓練互相促進,這個現象很常見),從而在語義分割和位姿估計任務上能相互促進,彼此提升性能。
下圖展示了聯合訓練對外觀相似,大小不同的物品的區分作用。
結論
提出一種新的基於深度3D關鍵點投票網絡的6D位姿估計算法,其性能在兩大公開基準上大幅超越先前所有方法。本文同樣表明,通過聯合訓練語義分割和3D關鍵點兩種任務可以學出更好的表徵從而提升各個任務的性能。在解決6D位姿估計問題上,基於3D關鍵點的方法是一個極具潛力且值得深入研究的方向。
寫在最後:
看到這的都是最可愛的人!