天天看點

論文翻譯:PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation摘要1. 介紹2 相關工作3 方法4 實施細節5 實驗6 結論

最近在研究目标抓取類型的文章,執行目标需要知道目标的位姿。然後看到這篇文章,為防止遺忘,做個筆記跟大家分享下,後續可能複現這篇文章。

摘要

本文讨論了單幅RGB圖像在嚴重遮擋或截斷情況下的6DoF位姿估計問題。最近的許多研究表明,two-stage的方法:首先檢測關鍵點,然後解決一個PnP問題的位姿估計,效果很好。然而,這些方法大多通過回歸圖像坐标或熱圖來定位一組稀疏關鍵點,它們對遮擋和截斷非常敏感。相反,我們引入了PVNet,回歸像素級的機關向量,并使用這些向量,通過RANSAC對關鍵點位置進行投票。這種表示方法的另一個重要特征是,它提供了關鍵點位置的不确定性,可以被PnP求解器進一步利用。實驗表明我們的方法在LINEMOD,Occlusion LINEMOD和YCB Video資料集上優于其他方法。

1. 介紹

目标位姿估計的目的是檢測目标并估計其相對于标準幀的方向(旋轉)和平移。精确的位姿估計對于增強現實、自動駕駛和機器人操作等各種應用都是必不可少的。例如,快速和穩健的位姿估計是亞馬遜揀選挑戰的關鍵,機器人需要從倉庫中揀選一件物體。本文重點研究了物體6DoF位姿恢複的具體設定,即3D空間中旋轉和平移,從一個單一的RGB圖像的對象。這個問題在很多方面都具有挑戰性,包括嚴重遮擋下的目标檢測、光線和外觀的變化以及雜亂的背景對象。

傳統方法表明,通過建立目标圖像與目标模型之間的對應關系,可以實作位姿估計。它們依賴于手工制作的特征,這些特征對圖像變化和背景雜波的魯棒性不好。基于深度學習的方法訓練端到端的神經網絡,将圖像作為輸入,輸出其相應的位姿。然而,泛化仍然是一個問題,因為這樣的端到端方法學習足夠的特征表示來進行位姿估計是不清楚的。

最近的一些方法使用CNNs首先回歸2D關鍵點坐标,再使用PnP算法計算6D位姿參數。換句話說,檢測的關鍵點坐标作為位姿估計的媒介。這些two-stage的方法效果很好,由于檢測的關鍵點的魯棒性好。然而,這些方法很難處理被遮擋和截斷的對象,因為它們的部分關鍵點是不可見的。盡管CNNs可以通過記憶相似的模式來預測這些看不見的關鍵點,但泛化仍然是困難的。

我們認為,解決遮擋和截斷需要密集的預測,即pixel-wise或patch-wise對最終輸出或中間表示的估計。為此,我們提出了一個新的架構,使用像素級投票網絡的6D位姿估計(PVNet)。基本思想如圖1所示。PVNet不是直接回歸關鍵點的圖像坐标,而是預測表示從對象的每個像素到關鍵點方向的機關向量。這些方向(我了解的是這些機關向量)然後根據RANSAC為關鍵點位置投票。這個投票方案是由剛性物體的屬性激發的,一旦我們看到一些局部部分,我們就能推斷出其他部分的相對方向。

論文翻譯:PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation摘要1. 介紹2 相關工作3 方法4 實施細節5 實驗6 結論

圖1所示。将6D位姿估計問題表示為一個PnP問題,需要2D和3D關鍵點之間的對應關系,如(d)和(e)所示。對于每個像素,我們預測機關向量指向關鍵點(的方向),如(b)所示,然後通過RANSAC投票定位2D關鍵點,如©所示。該方法對于遮擋和截斷的魯棒性很好,綠色邊框代表GT位姿,和藍色邊框代表預測。

我們的方法本質上是為關鍵點位置建立一個向量場表示。與基于坐标或熱圖的表示法相比,學習這種表示法使網絡專注于對象的局部特征和對象部件之間的空間關系。是以,可以從可見部分推斷出不可見部分的位置。此外,這個向量場表示能夠表示甚至在輸入圖像之外的對象關鍵點。所有這些優點使它成為閉塞或截斷對象的理想表示。Xiang等人提出類似的想法檢測目标,在這我們用于定位關鍵點。

該方法的另一個優點是密集的輸出為PnP求解器處理不準确的關鍵點預測提供了豐富的資訊。具體來說,基于RANSAC的投票排除預測異常值,并給出每個關鍵點的空間機率分布。這些關鍵點位置的不确定性給了PnP求解器更多的自由,來識别一緻的對應關系,進而預測最終的位姿。實驗表明,不确定性驅動的PnP算法提高了姿态估計的精度。

我們在LINEMOD,Occlusion LINEMOD和YCB Video資料集上評估我們的方法,這些資料集廣泛用于6D位姿估計。在所有的資料集上,PVNet優于現有的方法,我們還示範了PVNet在Truncation LINEMOD的新資料集上處理截斷對象的能力,該資料集是通過随機剪切LINEMOD圖像建立的。而且,我們的方法效率很高,在GTX 1080ti GPU上的速度為25幀,可以用作實時位姿估計。

總之,我們的方法有以下貢獻:

  • 提出了一種基于像素級投票網絡(PVNet)的6D位姿估計新架構,該架構通過學習向量場表示來實作穩健的2D關鍵點定位,并自然地處理遮擋和截斷問題;
  • 基于PVNet的密集預測,我們提出了一種基于不确定性驅動的PnP算法,來考慮2D關鍵點定位的不确定性;
  • 與基準資料集上的最新技術相比,我們的方法在性能上有了顯著的改進(ADD:86.3% vs. 79%,在LINEMOD和OCCLUSION分别為40.8%和30.4%)。我們還建立了一個新的資料集,用于對截斷的對象進行評估

2 相關工作

整體法. 對于給定的一幅圖像,一些方法旨在估計物體在單鏡頭中的3D位置和方向。傳統的方法主要依靠模闆比對技術,這些技術對雜亂的環境和外觀變化非常敏感。最近,CNNs對環境變化具有顯著的魯棒性。作為先驅者,PoseNet引入了一種CNN架構,可以從單個RGB圖像直接回歸6D相機位姿,這是一種類似于對象位姿估計的任務。然而,由于缺乏深度資訊和較大的搜尋空間,直接在3D中定位對象是困難的。為了克服這一問題,PoseCNN對2D圖像中的物體進行定位,并預測其深度,得到3D位置。然而,由于旋轉空間的非線性使得CNNs的泛化程度較低,直接估計3D旋轉也比較困難。為了避免這個問題,這些工作将旋轉空間離散化,将3D旋轉估計轉換為分類任務。這樣的離散化會産生粗糙的結果,而後細化(post-refinement)對于獲得精确的6DoF位姿至關重要。

基于關鍵點方法. 與直接從圖像中擷取位姿不同,基于關鍵點的方法采用了two-stage的方法:首先預測物體的2D關鍵點,然後通過PnP算法計算2D-3D對應關系來估計姿态。與3D定位和旋轉估計相比,2D關鍵點檢測相對容易。對于紋理豐富的對象,傳統的方法對局部關鍵點進行了魯棒性檢測,是以即使在雜亂的場景和嚴重的遮擋下,也能高效準确地估計出目标的姿态。然而,傳統方法在很難處理低紋理物體和低分辨率圖像。為了解決這個問題,最近的研究定義了一組語義關鍵點,并使用CNNs作為關鍵點檢測器。[33]使用分割來識别包含對象的圖像區域,并從檢測到的圖像區域中回歸關鍵點。[39]使用YOLO架構來估計對象關鍵點。他們的網絡根據低分辨率的特征圖進行預測。當全局幹擾發生時,如遮擋,特征圖被幹擾,位姿估計精度下降。在2D人體姿态估計成功的激勵下,另一類方法輸出關鍵點的像素級熱圖來解決遮擋問題。然而,由于熱圖的大小是固定的,這些方法在處理截斷的對象時會有困難,這些對象的關鍵點可能在輸入圖像之外。相比之下,我們的方法使用更靈活的表示方法對2D關鍵點進行像素級預測,即向量場。關鍵點的位置是通過從方向投票來決定的,這些方向适合于截斷的對象。

密集方法.在這些方法中,每個pixel或者patch都會産生一個預測,然後基于廣義的霍夫投票對最終結果進行投票。[3,28]使用随機森林預測每個像素的3D物體坐标,利用幾何限制産生2D-3D對應假設。為了利用強大的CNNs,[21,9]密集地采樣圖像更新檔,并使用網絡為後續的投票提取特征。但是,這些方法需要RGB-D資料。在僅存在RGB資料的情況下,[4]使用自動上下文回歸架構來生成3D對象坐标的像素級分布。與稀疏關鍵點相比,目标坐标為位姿估計提供了密集的2D-3D對應,對遮擋具有更強的魯棒性。由于輸出空間較大,使得回歸對象坐标比關鍵點檢測更加困難。我們的方法對關鍵點位置進行了密集預測,它可以看作是基于關鍵點和密集方法的開端,結合了這兩種方法的優點。

3 方法

在這篇文章中,我們為6DoF目标位姿估計提出了一個新的架構。輸入一張圖檔,位姿估計得目的是在檢測目标并在3D空間中估計他們的方向和平移。具體而言,6D位姿是由物體坐标系到相機坐标系的剛性變換(R;t),R表示3D旋轉,t表示3D平移。

被這些方法所啟發,我們使用two-stage的方法:首先使用CNNs檢測2D目标的關鍵點,再使用PnP算法計算6D位姿參數。我們的創新點是一種新的2D目标關鍵點表示方法和修改的PnP算法。具體來說,我們的方法使用PVNet以一種類似于ransacs的方式檢測2D關鍵點,該方法能夠可靠地處理被遮擋和截斷的對象。基于ransacs的投票也給出了每個關鍵點的空間機率分布,允許我們用不确定性驅動的PnP來估計6D位姿。

3.1 基于投票的關鍵點定位

論文翻譯:PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation摘要1. 介紹2 相關工作3 方法4 實施細節5 實驗6 結論

圖二 關鍵點定位概覽.(a)Occlusion LINEMOD資料集的一張圖檔。(b)PVNet的結構。(c)指向目标關鍵點的pixel-wise的機關向量。(d)語義标簽。(e)投票産生的關鍵點位置的假設。投票得分越高的假設越亮。(f)由假設估計的關鍵點位置的機率分布。分布的均值用紅星表示,協方差矩陣用橢圓表示

圖二展示了關鍵點定位的概覽。輸入一張RGB圖像,PVNet預測pixel-wise對象标簽和機關向量,它們表示從每個像素到每個關鍵點的方向。給定從屬于該對象的所有像素點到某個對象關鍵點的方向,我們生成該關鍵點的2D位置假設以及通過RANSAC-based投票得到的置信度分數。基于這些假設,我們估計了每個關鍵點的空間機率分布的均值和協方差。

與直接從圖像塊中回歸關鍵點位置不同,pixel-wise方向的預測任務迫使網絡更多地關注對象的局部特征,減輕了背景雜亂的影響。這種方法的另一個優點是能夠表示被遮擋或圖像外部的關鍵點。即使一個關鍵點是不可見的,它也可以根據物體其他可見部分估計的方向來正确定位(剛體性質)。

更具體而言,PVNet執行2個任務:語義分割和向量場預測。對于一個像素P,PVNet輸出一個與特定目标相關的語義标簽,和一個表示從像素P到目标2D關鍵點Xk方向的機關向量Vk§。向量Vk§定義為:

論文翻譯:PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation摘要1. 介紹2 相關工作3 方法4 實施細節5 實驗6 結論

給定語義标簽和機關向量,我們通過RANSAC-based投票的方法生成關鍵點假設。首先,利用語義标簽查找目标對象的像素點pixels。然後,随機取2個pixels,對關鍵點Xk,取其向量的交點作為假設hk,i。重複N次,生成一系列假設 ,表示可能的關鍵點位置。最後,對象的所有pixels為這些假設投票,具體而言,假設hk,i的投票分數wk,i定義為:

論文翻譯:PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation摘要1. 介紹2 相關工作3 方法4 實施細節5 實驗6 結論

其中I表示名額函數,θ是門檻值(在所有實驗中為0.99), 表示pixel P屬于目标O。直覺上,投票得分越高,表示假設與預測方向越吻合,越有信心

所得到的假設描述了圖像中一個關鍵點的空間機率分布。圖2(e)顯示了一個示例。最後,對于一個關鍵點Xk,均值µk和協方差Σk通過下面式子計算:

論文翻譯:PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation摘要1. 介紹2 相關工作3 方法4 實施細節5 實驗6 結論

這些後續會用于不确定性驅動的PnP算法。

關鍵點選取。需要根據3D對象模型定義關鍵點(需要原始物體的3D模型?)。許多最近的方法以物體3D包圍框的八個角為關鍵點。圖3(a)顯示了一個示例,這些邊框角遠離圖像中的對象像素點,距離目标像素越遠,定位誤差越大,因為關鍵點假設是使用從目标像素開始的向量生成的。圖3(b)和©分别顯示了我們的PVNet生成的在物體表面上選取的一個邊界框角點和一個關鍵點的假設。在定位過程中,物體表面上的關鍵點的方差通常要小得多。

論文翻譯:PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation摘要1. 介紹2 相關工作3 方法4 實施細節5 實驗6 結論

圖3.(a)一個3D物體模型和它對應的3D邊界框。(b)由PVNet産生的關于邊界框角的假設。(c)由PVNet産生的假設,用于選擇物體表面上的一個關鍵點。表面關鍵點的方差越小,表明在我們的方法中,定位表面關鍵點比定位邊界框角更容易。

是以,在我們的方法中,應該在對象表面選擇關鍵點。同時,這些關鍵點應該分散在對象上,使PnP算法更加穩定。介于這2個要求,我們使用最遠點采樣(FPS)算法選取K個關鍵點。首先,我們通過添加對象中心來初始化關鍵點集合。然後,我們不斷找物體表面的一個點,它距離目前關鍵點集最遠,并将其添加到目前集合,直到集合的大小達到k。結果表明,該政策比使用邊界框的角點會産生更好的結果。我們還使用不同數量的關鍵點來比較結果。考慮到準确性和效率,我們建議根據實驗結果K = 8。

多個執行個體。我們的方法可以基于[43,31]中提出的政策處理多個執行個體。對于每個對象類,我們使用提出的投票方案生成對象中心及其投票分數的假設。然後,我們找出假設之間的模式,并将這些模式标記為不同執行個體的中心。最後,通過将像素配置設定給它們投票支援的最近的執行個體中心來獲得執行個體掩碼

3.2 不确定性驅動的PnP

給定每個對象的2D關鍵點位置,其6D位姿可以通過使用現成的PnP求解器來求解,例如,在許多以前的方法中使用的EPnP [24] [39,33]。然而,它們大多忽略了這樣一個事實,即不同的關鍵點可能具有不同的置信度和不确定性模式,這是解決PnP問題時應該考慮的問題。

如3.1介紹的,我們基于投票的方法估計每個關鍵點的空間機率分布。考慮到估計均值µk和協方差矩陣Σk,k = 1…K,計算6D位姿(R;t)通過最小化馬氏距離:

論文翻譯:PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation摘要1. 介紹2 相關工作3 方法4 實施細節5 實驗6 結論

其中,Xk是關鍵點的3D坐标, 是Xk的2D投影,π是透視投影函數。參數R和t由EPnP[24]基于四個關鍵點初始化,其協方差矩陣的軌迹最小。然後,使用Levenberg-Marquardt算法求解(5)。在[11]中,作者還通過最小化近似辛普森誤差來考慮特征的不确定性。在我們的方法中,我們直接最小化重投影誤差

4 實施細節

假設對象有C類,每個類有K個關鍵點,PVNet将H×W×3圖像作為輸入,采用全卷積結構處理,輸出表示機關向量的H×W×(K×2×C)張量和表示類機率的H×W×(C+1)張量,我們使用預訓練的ResNet-18作為backbone,并做了3處改動。首先,當網絡的feature map的大小為H=8×W=8時,我們不再下采樣feature map,丢棄後續的pooling層;第二,為了保持感受野不變,後續的卷積層用适當的擴張卷積(dilated)替代;第三,原ResNet-18中的全連接配接層用卷積層替換。然後,在feature map上反複進行skip connection、convolution、upsampling,直到其size達到H×W,如圖2(b)所示。通過對最終的feature map進行1×1的卷積,得到機關向量和類機率。

我們使用CUDA實作了假設生成、像素投票和密度估計。用于初始化位姿的EPnP在OpenCV中實作。為了得到最終的位姿,我們使用疊代求解器Ceres來最小化Mahalanobis距離(5)。對于對稱物體,在關鍵點位姿存在歧義。為了消除歧義,我們在訓練期間将對稱對象旋轉到一個規範的姿勢,就像[33]建議的那樣。

4.1 訓練政策

我們使用在[13]中提出的平滑L1損失來學習機關向量。定義相應的損失函數為:

論文翻譯:PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation摘要1. 介紹2 相關工作3 方法4 實施細節5 實驗6 結論

其中,w表示PVNet中的參數, 是預測向量, 是真實值的機關向量, 和 代表 的2個元素。對于語義标簽的訓練,采用softmax最大交叉熵損失法。注意,在測試期間,我們不需要将預測的向量作為單元,因為後續處理隻使用向量的方向。

為了防止過拟合,我們在訓練集中加入了合成圖像。對于每個對象,我們渲染了10000張視點均勻采樣的圖像。我們使用[10]中提出的“剪切和粘貼”政策進一步合成了另外10000張圖像。每個合成圖像的背景是随機采樣的SUN397[44]。我們還應用了線上資料擴充,包括随機裁剪、調整大小、旋轉和顔色抖動。我們将初始學習率設定為0.001,每20個epoch減半一次。所有的模型都經過了200個時代的訓練。

5 實驗

略。

6 結論

我們提出了一種新的6DoF目标位姿估計架構,該架構由用于關鍵點定位的pixel-wise投票網絡(PVNet)和用于最終位姿估計的不确定驅動PnP組成。結果表明,對向量場進行預測,然後對關鍵點定位進行RANSAC-based的投票,可以獲得比直接回歸關鍵點坐标更好的性能,特别是對于被遮擋或截斷的對象。我們還證明了在解決PnP問題時考慮預測關鍵點位置的不确定性,進一步改進了位姿估計。我們報告了三種廣泛使用的基準資料集的最新性能,并在一個新的截斷對象資料集上證明了所提出方法的魯棒性。

論文連結:https://arxiv.org/pdf/1812.11788.pdf

代碼已開源,連結:https://github.com/zju3dv/pvnet

合成資料代碼連結:https://github.com/zju3dv/pvnet-rendering

繼續閱讀