Abstract
1.解決的問題
已知的方法窒悔,對象都被視為全局實體呜袁,并計算單個姿勢估計,容易受到大遮擋的影響简珠。
2.貢獻
在本文中阶界,我們介紹了一個分割驅動的 6D 姿態(tài)估計框架,其中對象的每個可見部分都以 2D 關鍵點位置的形式貢獻了局部姿態(tài)預測北救。
然后荐操,我們使用預測的置信度度量將這些候選姿勢組合成一組穩(wěn)健的 3D 到 2D 對應關系,從中可以獲得可靠的姿勢估計珍策。
3.結果
在具有挑戰(zhàn)性的遮擋LINEMOD和YCBVideo數(shù)據(jù)集上托启,我們的表現(xiàn)優(yōu)于最新技術,這證明我們的方法可以很好地處理多個相互遮擋的紋理較差的對象攘宙。此外屯耸,它依賴于一個足夠簡單的體系結構來實現(xiàn)實時性能。
代碼:https://github.com/cvlab-epfl/segmentation-driven-pose
Introduction
通用方法當對象紋理良好時非常穩(wěn)健蹭劈,但當它沒有特征或場景被多個對象相互遮擋時疗绣,這種方法可能會失敗。因此铺韧,最近的工作集中在克服這些困難上多矮,通常使用深度網(wǎng)絡直接從圖像回歸到6D姿勢[SSD-6D,PoseCNN]或檢測與對象[BB8,Real-Time Seamless Single Shot 6D Object Pose Prediction.]相關的關鍵點,然后可以用于執(zhí)行PnP。然而塔逃,對象仍然被視為一個全局實體讯壶,這使得算法容易受到大遮擋的影響。
圖1描繪了這樣一個情景:被遮擋的鉆頭的邊界框與其他對象重疊湾盗,這些對象向姿態(tài)估計器提供了不相關的信息從而降低了性能伏蚊,因為這種情況經常發(fā)生,所以許多先進的算法都需要額外的后處理步驟來優(yōu)化姿勢 格粪,如
躏吊。
在本文中,我們展示了通過組合多個局部預測而不是單個全局預測可以獲得更穩(wěn)健的姿態(tài)估計帐萎。為此比伏,我們引入了一個分割驅動的 6D 姿態(tài)估計網(wǎng)絡,其中每個可見對象塊以預定義的 3D 關鍵點的預測 2D 投影的形式為其所屬的對象貢獻一個姿態(tài)估計吓肋。然后凳怨,使用我們的網(wǎng)絡也預測的置信度值,我們將每個3D關鍵點的最可靠的2D投影組合在一起是鬼,從而產生一組可靠的3D到2D對應關系肤舞。然后,我們使用基于 RANSAC 的 PnP 策略來推斷每個對象的單個可靠姿勢均蜜。
根據(jù)局部塊進行推理不僅使我們的方法對遮擋具有魯棒性李剖,而且還可以對場景中的每個對象進行粗略分割。換句話說囤耳,與其他將對象檢測與姿勢估計分離的方法不同 [35,17篙顺,45](BB8,SSD-6D,PoseCNN),我們共同執(zhí)行兩者充择,同時仍然依靠足夠簡單的體系結構來實現(xiàn)實時性能德玫。
簡而言之,我們的貢獻是一個簡單但有效的分割驅動網(wǎng)絡椎麦,它無需后處理即可產生準確的 6D 對象姿態(tài)估計宰僧,即使有多個紋理不佳的對象相互遮擋。它將分割和集成學習結合在一個有效和高效的架構中观挎。我們將證明它在標準基準測試(例如 OccludedLINEMOD 和 YCB-Video 數(shù)據(jù)集)上優(yōu)于最先進的方法琴儿。
Approach
給定輸入的 RGB 圖像,我們的目標是同時檢測對象并估計它們的 6D 姿勢嘁捷,即 3 自由度旋轉和 3 自由度平移造成。我們假設物體是剛性的并且它們的 3D 模型是已知的。 與 [BB8, Real-Time Seamless Single Shot 6D Object Pose Prediction.] 中一樣雄嚣,我們設計了一個 CNN 架構來回歸一些預定義的 3D 點的 2D 投影晒屎,例如對象邊界框的 8 個角。然而,與這些方法不同的是鼓鲁,這些方法對每個對象的預測都是全局的履肃,因此會受到遮擋的影響,我們預測單獨的圖像塊屬于哪個對象以及2D投影的位置坐桩。然后,我們合并分配給同一對象的所有圖像塊的預測封锉,以進行基于PnP的魯棒姿勢估計绵跷。
圖 2 描述了相應的工作流程。在本節(jié)的其余部分成福,我們首先介紹我們的雙流網(wǎng)絡架構碾局。然后我們分別描述每個流,最后描述我們的推理策略奴艾。
本質上净当,我們的目標是通過為對象分配圖像塊和屬于這些對象的關鍵點的二維坐標回歸來共同執(zhí)行分割,如圖3所示蕴潦。為此像啼,我們設計了圖2所示的雙流體系結構,每個任務有一個流潭苞。它有一個編碼器-解碼器結構忽冻,兩個流都有一個公共編碼器和兩個單獨的解碼器。
3.1 Network Architecture
本質上此疹,我們的目標是通過將圖像塊分配給對象和屬于這些對象的關鍵點的 2D 坐標回歸來聯(lián)合執(zhí)行分割僧诚,如圖 3 所示。為此蝗碎,我們設計了圖 2 所示的雙流架構湖笨,每個任務都有一個流。它具有編碼器-解碼器結構蹦骑,具有用于兩個流的通用編碼器和兩個單獨的解碼器慈省。
對于編碼器,我們使用了YOLOv3的Darknet-53架構脊串,該架構已被證明對目標檢測非常有效辫呻。
對于解碼器,我們設計了分別輸出空間分辨率和特征維度和的 3D 張量的網(wǎng)絡琼锋。這相當于在圖像上疊加一個 網(wǎng)格并計算每個網(wǎng)格元素的維度 和的特征向量放闺。該網(wǎng)格的空間分辨率控制著為對象標簽和特定關鍵點投影投票的圖像塊的大小。高分辨率產生精細的分割掩碼和更多的投票缕坎。然而怖侦,它帶來了更高的計算成本,這對于我們的目的來說可能是不必要的。因此匾寝,我們沒有將 Darknet-53 編碼器的 5 個下采樣層與 5 個上采樣層匹配搬葬,而是僅使用 2 個這樣的層,標準步長為 2艳悔。兩個解碼器流使用相同的架構急凰,盡管輸出特征大小不同。
為了端到端地訓練我們的模型猜年,我們定義了一個損失函數(shù):
它結合了我們用來對每個流的輸出進行評分的分段和回歸項抡锈。我們現(xiàn)在單獨描述他們。
3.2 Segmentation Stream
分割流的作用是為疊加在圖像上的虛擬S×S網(wǎng)格的每個網(wǎng)格分配一個標簽乔外,如圖3(a)所示床三。更準確地說,給定K個對象類杨幼,這轉化為在每個空間位置輸出維度的向量撇簿,并附加一個維度來表示背景類。
在訓練期間差购,我們可以訪問3D對象模型及其真實姿態(tài)標簽四瘫。因此,我們可以通過在圖像中投影3D模型欲逃,同時考慮每個對象的深度來處理遮擋莲组,從而生成真實語義標簽。實際上暖夭,圖像通常包含比對象區(qū)域多得多的背景區(qū)域锹杈。因此,我們將等式1的損失作為[Focal Loss for Dense Object Detection.]的焦點損失迈着,這是交叉熵的動態(tài)加權版本竭望。(此外,我們依靠[6,1]中的中值頻率平衡技術來權衡不同的樣本裕菠。我們根據(jù)像素級頻率而不是全局級頻率來解釋對象大小不同的事實咬清。)括號中的話不懂
3.3 Regression Stream
回歸流的目的是預測與 3D 對象模型相關聯(lián)的預定義 3D 關鍵點的 2D 投影。 按照標準做法 [BB8,3D Pose Estimation and 3D Model Retrieval for Objects in the Wild., Fea-
ture Mapping for Learning Fast and Accurate 3D Pose Inference from Synthetic Images.]奴潘,我們通常將這些關鍵點作為模型邊界框的 8 個角旧烧。
回想一下,回歸流的輸出是一個大小為 的 3D 張量画髓。設N是我們要預測其投影的每個對象的3D關鍵點的數(shù)目掘剪。使用邊界框角點時,N=8奈虾。我們取為3N為了在每個空間位置表示N對2D投影值以及每個投影值的置信度值夺谁。實際上廉赔,我們并不直接預測關鍵點的二維坐標。相反匾鸥,對于每個網(wǎng)格單元蜡塌,我們預測相對于相應網(wǎng)格單元中心的偏移向量,如圖3(b)所示勿负。
也就是說馏艾, 是網(wǎng)格單元中心的 2D 位置,對于第i個關鍵點,我們預測偏移量,訓練網(wǎng)絡的目的是使得網(wǎng)絡預測的定位結果盡可能接近真實2D位置奴愉,在訓練中攒至,這表示為一個誤差項:
定義損失函數(shù):
公式3中M是前景分割mask,表示L1損失函數(shù)躁劣,它對異常值的敏感性低于L2損失。 僅考慮落在分割掩碼 M 內的關鍵點库菲,將計算集中在真正屬于對象的圖像區(qū)域上账忘。
如上所述,回歸流還為每個預測的關鍵點輸出一個置信度值熙宇,該置信度值是通過網(wǎng)絡輸出上的 sigmoid 函數(shù)獲得的鳖擒。 這些置信度值應反映預測的 2D 投影與真實標簽的接近程度。 為了鼓勵這一點烫止,我們定義了第二個損失項:
其中是調制因子蒋荚。然后我們采用(1)的回歸損失項。 (1)變?yōu)椋?br>
其中 β 和 γ 調節(jié)這兩項的影響馆蠕。
注意(5)只作用于分割mask內的區(qū)域期升,其梯度也僅反向傳播到這些區(qū)域。與分割流一樣互躬,為了解決像素級不平衡的問題播赁,我們根據(jù)訓練集中像素級頻率對不同對象的回歸損失項進行權衡。
- 這里解釋一下公式(4)為什么要這么設計吼渡,很有意思的容为,我們先關注,里面的2范數(shù)為正,含義是預測的2D關鍵點與設定位置的差距寺酪,前面加個負號再結合exp函數(shù)的性質可以發(fā)現(xiàn)坎背,這一項被限定在了0-1之間,當很小時,趨近于1寄雀,這是如果優(yōu)化(4)我們希望損失函數(shù)減小得滤,也就是希望趨近于1『杏蹋總的來說這個損失函數(shù)將限定在了0-1之間并且優(yōu)化過程中我們希望趨近于1耿戚,這與置信度的要求是契合的湿故。
3.4 Inference Strategy
在測試時,給定一個查詢圖像膜蛔,我們的網(wǎng)絡為第 3.1 節(jié)的 S×S 網(wǎng)格中的每個前景單元返回一個對象類和一組預測的 2D 位置坛猪,用于投影 N 個 3D 關鍵點。 當我們執(zhí)行基于類的分割而不是基于實例的分割時皂股,如果場景中存在同一類的兩個對象墅茉,則可能存在歧義。 為避免這種情況呜呐,我們利用這樣一個事實,預測的 2D 關鍵點位置傾向于根據(jù)它們對應的對象進行聚類就斤,并使用簡單的像素距離閾值來識別這種聚類。
對于每個聚類蘑辑,即每個對象洋机,我們利用網(wǎng)絡預測的置信度分數(shù)來建立圖像和對象的 3D 模型之間的 2D 到 3D 對應關系。 最簡單的方法是對所有預測使用 RANSAC洋魂。 然而绷旗,這將大大減慢我們的方法。 相反副砍,我們依賴于每個 3D 關鍵點的 n 個置信度最高的 2D 預測衔肢。 在實踐中,我們發(fā)現(xiàn) n = 10 可以在速度和準確性之間取得良好的平衡豁翎。 給定這些過濾后的 2D 到 3D 對應關系角骤,我們使用的基于 RANSAC 的 EPnP 算法版本獲得每個對象的 6D 位姿。 圖 4 說明了這個過程心剥。
4.Experiments
數(shù)據(jù)集:Occluded-LINEMOD and YCB-Video
Metrics(評價指標):ADD -0.1d,REP-5px.
Implementation Details
輸入尺寸:608x608
歸一化:2D投影水平垂直位置[0,10],置信度采用相同的歸一化程序邦尊。
訓練參數(shù):
Epoch: Occluded-LINEMOD->300 YCB-Video->30
lr:1e-3 50% 75% 90%衰減
Optimizer:SGD momentum:0.9 權重衰減:5e-4
batch_size:8
數(shù)據(jù)增強
4.1Evaluation on Occluded-LINEMOD
說了一堆生成了20K的訓練樣本,但是我不懂优烧。
4.1.1 Comparing against the State of the Art
4.1.2 Comparison of Different Fusion Strategies
NF:不進行任何融合計劃胳赌,直接進行RANSAC-EPnP
HC:選擇置信度最大的
B-2:每個局部預測選擇兩個置信度最高的關鍵點。
B-10:每個局部預測選擇兩個置信度最高的關鍵點匙隔。
Oracle:通過使用真實標簽 2D 重投影為每個 3D 關鍵點選擇最佳預測 2D 位置疑苫。
5.Conclusion
研究者為 6D 對象姿態(tài)估計引入了一種分割驅動的方法,該方法聯(lián)合檢測多個對象并估計它們的姿態(tài)纷责。 通過以魯棒的方式組合多個局部姿態(tài)估計捍掺,我們的方法無需細化步驟即可產生準確的結果,即使在存在大遮擋的情況下也是如此再膳。 我們對兩個具有挑戰(zhàn)性的數(shù)據(jù)集的實驗表明挺勿,我們的方法優(yōu)于最先進的方法,并且與最好的競爭對手相比喂柒,它可以實時預測多個對象的姿勢不瓶。
未來禾嫉,研究者將研究編碼器使用其他骨干架構,并設計更好的融合策略蚊丐,在執(zhí)行 PnP 之前選擇最佳預測熙参。 我們還將尋求將我們方法的 PnP 步驟整合到網(wǎng)絡中,以便擁有一個完整的端到端學習框架.