作者:Michael
來源:公眾號@3D視覺工坊
導言
最近3d目標檢測領域出了一篇新作,思路簡單,卻在nuScenes榜單上高居第二。正式講解它之前,先附上文章和代碼地址:論文題目:Center-based 3D Object Detection and Tracking在公眾號「3D視覺工坊」后台,回復「CenterPoint」,即可獲得論文。代碼:https://github.com/tianweiy/CenterPoint
CenterPoint刷榜結果
正文
CenterPoint聽名字有種似曾相識的感覺,沒錯! 這篇文章的靈感正是來自於圖像中的目標檢測算法CenterNet: Objects as Points[1].(二者的作者都來自於UT Austin,不知道背后有沒有什么不為人知的小故事。)所以,讓我們首先復習一下CenterNet。
CenterNet
CenterPoint前處理及主干網絡。CenterPoint延續了CenterNet的思路,並沒有設計新的主干網絡,而是采用之前的工作。其framework如下圖所示,圖中編碼器階段的虛線框代表可選項,藍色框代表深度網絡,紅色框代表固定操作。
CenterPoint framework實際上,CenterPoint的主干網絡(3D encoder)采用的是PointPillars和VoxelNet的encoder。二者的區別可以通過作者的實驗結果看出:
PointPillars vs VoxelNet由於PointPillars沒有耗時的3DCNN,因而速度更快;VoxelNet因為有更多的參數,所以mAP會更高。檢測頭。網絡有四個輸出:①表征目標中心位置的熱力圖;②目標尺寸;③目標朝向;④目標速度 (速度用於做目標跟蹤,該思路來源於另一篇文章CenterTrack[2]) 。不難看出,這是一種典型的center-based anchor-free檢測頭。在文中,作者論述了采用這種center-based representation 對檢測任務的兩點好處:首先,點沒有內在的方向。這大大減少了檢測器的搜索空間,同時有利於網絡學習對象的(rotational invariance)和等變性(rotational equivariance)。其次,在三維檢測中,目標定位比對目標的其他三維屬性進行更重要。這個反映在常用的評估指標中,這些指標主要依賴於檢測到的目標和gt box中心之間的距離,而不是估計的3dbox的屬性。筆者認為作者未提到的一個明顯的好處則是,此類center-based representation方法不需要做NMS,能減少運算。【補充知識:就筆者目前看見的anchor-free檢測頭可以分為三種:
- center-based representation: 如Centerpoint
- point-based representation: 如PointRCNN[3], 3DSSD[4]
- pillar-base representation: 如POD [5]
補充結束】CenterNet vs CenterPoint.雖然整體思路和CenterNet類似,但是CenterPoint也有三維檢測器的獨有的特點:
1、在三維檢測中,主干網絡需要學習目標的旋轉不變性和等變性。為了讓網絡更好的捕獲這個特征,作者在中心點預測分支和回歸分支各添加了一個可變卷積。中心點預測分支學習旋轉不變性,回歸分支學習等變性。
2、考慮到網絡輸出的旋轉不變性,作者選擇了圓形池化區域,而不是CenterNet中的方形區域。具體說,就是在鳥瞰中,只有當某中心半徑r內沒有具有更高置信度的中心時,該對象才被視為正,作者將該方法稱為Circular NMS。Circular NMS與基於3D IoU的NMS具有一樣的抑制效果,但速度更快。
3、基於上述的設計,檢測器依然沒有達到完美的旋轉不變性和等變性。作者因此構建了一個由輸入點雲的四個旋轉、對稱副本組成的簡單集合,並將這一集合共同輸入CenterPoint,每一個都產生一個熱力圖和回歸結果,然后簡單地將這些結果求均值。
實驗結果。作者在nuScenes數據集上進行了實驗,實驗結果如下。
不難看出, CenterPoint在各個類別上都有較好的檢測結果,mAP甚至直接超出了PointPillar一倍。更難能可貴的是,通過下圖中作者的ablation study我們可以看出,CenterPoint在性能明顯提升的情況下,實時性並沒有下降。這也不難理解,畢竟backbone沒有大的改變。
結語
文章看到最后我沉默了。其實當初看到CenterNet的時候,我相信很多做3D CVer都會自然的聯想到將該方法移植到3D中。但是正當我躍躍欲試的時候,看見一篇叫做3DSSD[3]的文章,里面提到:However, it is not optimal to directly apply center-ness labels to the 3D detection task. Given that all LiDAR points are located on surfaces of objects, the center-ness labels are all very small and similar. It is almost impossible to distinguish good predictions from other points. 好像很有道理,基於此,我便放棄了嘗試。現在看來,在deep learning 領域,還是應該時刻銘記事實勝於雄辯這個真理 。
參考文獻
[1] Zhou X, Wang D, Krähenbühl P. Objects as points[J]. arXiv preprint arXiv:1904.07850, 2019.[2] Zhou X, Koltun V, Krähenbühl P. Tracking Objects as Points[J]. arXiv preprint arXiv:2004.01177, 2020.[3] Shi S, Wang X, Li H. Pointrcnn: 3d object proposal generation and detection from point cloud[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 770-779.[4] Yang Z, Sun Y, Liu S, et al. 3dssd: Point-based 3d single stage object detector[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 11040-11048.[5] Wang Y, Fathi A, Kundu A, et al. Pillar-based Object Detection for Autonomous Driving[J]. arXiv preprint arXiv:2007.10323, 2020.本文僅做學術分享,如有侵權,請聯系刪文。
下載1
在「3D視覺工坊」公眾號后台回復:3D視覺,即可下載 3D視覺相關資料干貨,涉及相機標定、三維重建、立體視覺、SLAM、深度學習、點雲后處理、多視圖幾何等方向。
下載2
在「3D視覺工坊」公眾號后台回復:3D視覺github資源匯總,即可下載包括結構光、標定源碼、缺陷檢測源碼、深度估計與深度補全源碼、點雲處理相關源碼、立體匹配源碼、單目、雙目3D檢測、基於點雲的3D檢測、6D姿態估計源碼匯總等。
下載3
在「3D視覺工坊」公眾號后台回復:相機標定,即可下載獨家相機標定學習課件與視頻網址;后台回復:立體匹配,即可下載獨家立體匹配學習課件與視頻網址。