首頁  >  文章  >  科技週邊  >  SurroundOcc:環視三維佔據柵格新SOTA!

SurroundOcc:環視三維佔據柵格新SOTA!

WBOY
WBOY轉載
2023-09-18 20:25:011398瀏覽

在這個工作中,我們透過多幀點雲建構了稠密佔據柵格資料集,並設計了基於transformer的2D-3D Unet結構的三維佔據柵格網路。很榮幸地,我們的文章被ICCV 2023收錄,目前專案代碼已開源,歡迎大家試用。

SurroundOcc:環視三維佔據柵格新SOTA!

arXiv:https://arxiv.org/pdf/2303.09551.pdf

程式碼:https://github.com/weiyithu/SurroundOcc

主頁連結:https://weiyithu.github.io/SurroundOcc/

最近一直在瘋狂找工作,沒有閒下來寫,正好最近提交了camera-ready,作為一個工作的收尾覺得還是寫個知乎總結下。其實文章部分的介紹各個公眾號寫的已經很好了,也感謝他們的宣傳,大家可以直接參考自動駕駛之心的自動駕駛之心:nuScenes SOTA! SurroundOcc:面向自動駕駛的純視覺3D佔據預測網(清華&天大)。總的來說,contribution分為兩塊,一部分是如何利用多幀的lidar點雲來建構稠密occupancy資料集,另一部分是如何設計occupancy預測的網路。其實兩部分的內容都比較直接易懂,大家有哪塊不懂的也可以隨時問我。那麼這篇文章我想講點論文以外的事情,一個是如何改進當前方案使其更易於部署,另一個是未來的發展方向。

SurroundOcc:環視三維佔據柵格新SOTA!

部署

SurroundOcc:環視三維佔據柵格新SOTA!

#一個網路是否容易部署,主要看其中有沒有比較難在板端實現的算子,SurroundOcc這個方法比較難搞的兩個算子是transformer層以及3D卷積。

transformer的主要作用是將2D feature轉換到3D空間,那麼其實這部分也可以用LSS,Homography甚至mlp來實現,所以可以根據已實現的方案去修改這部分的網絡。但據我所知,transformer的方案在幾個方案裡對calibration不敏感且效能也比較好,建議有能力實現transformer部署的還是利用原有方案。

對於3D卷積來說,可以將其替換成2D卷積,這裡需要將原來(C, H, W, Z) 的3D feature reshape成(C* Z, H, W)的2D feature,然後就可以用2D卷積進行特徵提取了,在最後occupancy預測那步再把它reshape回(C, H, W, Z),並進行監督。另一方面,skip connection由於解析度比較大所以比較吃顯存,部署的時候可以去掉只留最小解析度那一層。我們實驗發現3D卷積中的這兩個操作在nuscenes上都會有些許掉點,但業界資料集規模要遠大於nuscenes,有時候有些結論也會改變,掉點應該會少甚至不掉。

SurroundOcc:環視三維佔據柵格新SOTA!

在資料集建置方面,最耗時的一步就是泊松重建。我們使用的是nuscenes資料集,其中採用了32線雷射雷達進行採集。即使使用了多幀拼接技術,我們發現拼接後的點雲仍然存在許多洞。因此,我們採用了泊松重建來填補這些洞。然而,目前業界使用的許多光達點雲都比較密集,例如M1、RS128等。因此,在這種情況下,可以省略泊松重建這一步,以加快資料集建構的速度

另一方面,SurroundOcc裡是利用nuscenes中標註好的三維目標偵測框將靜態場景和動態物體分離的。但在實際應用過程中,可以利用autolabel,也就是三維目標偵測&追蹤大模型去得到每個物體在整個sequence中的偵測框。相較於人工標註的label,利用大模型跑出來的結果一定會存在一些誤差,最直接的體現就是多幀的物體拼接後會有重影的現象。但其實occupancy對於物體形狀的要求沒有那麼高,只要偵測框位置比較準就能滿足需求。

未來方向

目前方法還是比較依賴lidar提供occupancy的監督訊號的,但很多車上,尤其是一些低階輔助駕駛的車上沒有lidar,這些車透過shadow模式可以傳回大量的RGB數據,那麼一個未來方向就是能不能只利用RGB進行自我監督學習。一個自然的解決想法就是利用NeRF來監督,具體來說,前面backbone部分不變,得到一個occupancy的預測,然後利用體素渲染得到每個相機視角下的RGB,和訓練集中的真值RGB做loss形成監督訊號。但可惜的是這套straightforward的方法我們試了試並不是很work,可能的原因是戶外場景range太大,nerf可能hold不住,但也可能我們沒有調好,大家也可以再試。

另一個方向是時序&occupancy flow。其實occupancy flow對於下游任務的用途遠比單幀occupancy大。 ICCV的時候來不及整occupancy flow的資料集,發paper的話還要對比很多flow的baseline,所以當時就沒搞這塊。時序網路可以參考BEVFormer和BEVDet4D的方案,比較簡單有效。困難的地方還是flow資料集這一部分,一般的物體可以用sequence的三維目標偵測框算出來,但異型物體例如小動物塑膠袋等,可能需要藉助場景流的方法來標註。

SurroundOcc:環視三維佔據柵格新SOTA!

需要進行改寫的內容是:原文連結:https://mp.weixin.qq.com/s/_crun60B_lOz6_maR0Wyug

以上是SurroundOcc:環視三維佔據柵格新SOTA!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除