3D-MPA: Multi Proposal Aggregation for 3D Semantic Instance Segmentation
本文介紹一篇cvpr2020裏面關於點雲識別的文章。
論文
目前還沒有開源代碼
1. 問題
3D目標檢測的主要難點在於如何預測和處理 object proposal。一種思路是是自上而下的方式,先回歸大量的box,然後再進行第二階段的優化。但是如果box的偏差比較大,此類方法就很難奏效。另一種思路是自下而上的,通過metric learning學習每點的feature,然後根據這些點的特徵,進行聚類形成instance。但是聚類的參數需要人爲調整,而且pairwise的計算量太大。本文將這種兩種方法結合起來,發揮自上而下方法計算量小的優點,又利用point feature的魯棒性。通過point-level進行特徵表達,但又不對point-level進行聚類,從而完成對兩種方法的優勢互補。
2. 思想
本文包含三個模塊。proposal generation模塊逐點學習feature, 每個點都對其所屬中心點進行proposals。 接下來是proposal consolidation 模塊,對之前的proposal 進行refine。最後是object generation 模塊,迴歸最終的結果。值得一提的是,作者沒有使用常見的NMS方式進行迴歸,因爲NMS可能會丟掉正確的結果。而是對 high-level的proposel進行聚類,相比於直接對point聚類,大大減少計算量。
3. 算法
3.1 Proposal Generation
採用稀疏卷積提取每個點的特徵,然後分成兩個分支,分別預測語義類別以及迴歸每個點所屬實例的中心點座標。
對於得到的中心點集,隨機採樣k個點作爲實例proposals,每個proposal中心點半徑r範圍內的點視爲屬於其對應的實例的點,然後將每個proposal點集通過簡單的pointnet提取proposal feature。
每個proposal用元組(yi; gi; si)表示,其中yi代表proposal的中心點位置,gi代表proposal feature,si代表proposal對應包含的實例點集。
3.2 Proposal Consolidation
爲了使proposal feature可以和全局特徵產生更多的交互,本文使用DGCNN的思想,建立一個GCN來 refine proposal features。
3.3 Object Generation
此處,我們得到K個proposal
通過MLP得到objectness score。和gt中心點距離小於0.3m的設爲正,大於0.6m或和兩個gt中心點距離相等的設爲負。負proposals不做處理。
對正的proposals,先預測語義類別,再aggregation features和二值實例mask。其中aggregation feature 包含兩個方面Geometric features 和 Embedding features
最終的loss爲
4 實驗結果
總結
上一篇PointGroup和這篇文章有着異曲同工之妙。但是3D-MPA應該更快一些。因爲instance segmentation文章看得不夠多,multi task loss似乎是不可避免的,總覺得太耗時難優化,令人望而卻步啊。