weiyithu / SurroundOcc

[ICCV 2023] SurroundOcc: Multi-camera 3D Occupancy Prediction for Autonomous Driving
Apache License 2.0
812 stars 104 forks source link

關於 occupancy resolution 和 ground truth 中的動態物體 #31

Closed secret104278 closed 1 year ago

secret104278 commented 1 year ago

你好,首先感謝開源這麼厲害的一個專案,跑過 training 之後有幾點問題想請教一下你們組的看法:

  1. 目前 SurroundOcc 的 output 是固定解析度的 voxel grid (XYZ),在 Tesla AI Day 有提到他們最後除了 fixed-size voxel grid 以外還有 per voxel feature map 可以再遞給 MLP 透過 3D spatial point query 達到理論無限解析度的 continuous occupancy probability,像請問你們組關於這段的模型有什麼看法或相關實驗嗎? image

  2. 目前 ground truth occupancy voxel grid 是透過將多偵 lidar point cloud 合併在一起,並透過 3d bbox label 將動態物體摳出對齊。不過這樣的做法實務上會面臨一個問題是,occupancy network 的一大優勢在於可以感知異形體或是沒有被 bbox 標注的複雜物體,但目前 SurroundOcc 生成 ground truth 的方法對於 dynamic object 只受限在已知的 bbox。想請問關於這點你們組有什麼想法或實驗嗎?

weiyithu commented 1 year ago

你好,关于你的两个问题我们有以下想法:

  1. 虽然我们没有在surroundocc里实现无限分辨率,但很容易在现有框架中加入这个功能,只需要对最后输出的occupancy进行三线性插值然后过个mlp即可,可以参考TPVFormer中的实现方式。但需要注意的是,虽然这种方式可以实现无限分辨率,但需要高分辨率的ground truth,使用低分辨率的真值可能会导致效果不好。
  2. 在surroundocc里我们利用bbox的ground truth将场景和物体(包括静态和动态)分隔开。我们认为网络具备泛化能力,对于没被bbox覆盖的动态异型物,网络也可以重建出来。除此之外,其实用bbox的ground truth去区分动静态只是一种方式,还可以利用一些更加low-level的方式例如场景流去区分。
secret104278 commented 1 year ago

@weiyithu 感謝你的回覆

  1. 看了一下 TPVFormer 的作法,的確是可以很容易套用到 surroundocc 上。在 TPVFormer 裡面過 mlp 的輸出是由單一 frame 的 lidar 稀疏點來進行監督,所以沒有分辨率的問題,如果无限分辨率也要套用 dense occupancy 監督這的確是要注意的一個點。
  2. 關於這個問題,比較擔心的不是泛化能力的問題,而是產生真值得時候,如果有动态异型物沒有被bbox覆盖,那會導致 voxel grid 的ground truth 會有這些异型物的殘影。不過透過其他像场景流的方法來區別静动态的確也是一個方向。