pmj110119 / RenderOcc

[ICRA 2024] RenderOcc: Vision-Centric 3D Occupancy Prediction with 2D Rendering Supervision. (Early version: UniOcc)
447 stars 25 forks source link

关于nerf渲染的问题 #15

Closed KarlLi5 closed 1 year ago

KarlLi5 commented 1 year ago

作者您好!感谢您能提供这篇工作的代码,我最近在尝试利用renderocc中的体渲染代码对我用其他网络在nuscenes下生成的occpancy的结果进行2d渲染。目前我通过修改您的代码可以实现对renderocc中本身得到的occancy结果进行连续的渲染,但是当我替换成引入的semantic结果,维度为:(B,x,y,z,num_class),会出现渲染出错,渲染的结果不完整。

想请教您一下这个问题应该通过调整哪些参数进行修正。

补充内容: renderocc生成的semantic:(1,200,200,16,17) voxel_size:0.4 我引入的生成的semantic(确认内容无误):(1,256,256,32,17) voxel_size:[0.4,0.4,0.25] 目前我尝试了调整nerf_head的相关参数来对齐,但是发现都没有改善。

KarlLi5 commented 1 year ago

作者您好,我经过排查发现是我没有生成对应的density信息用于weights生成,无法render semantic造成的结果。请问是只能通过雷达生成的depth对occ通过nerf之后的depth进行监督来得到density吗?

pmj110119 commented 1 year ago

如果你有GT、只是想可视化看一下的话,可以拿Occ GT来模拟density(free-voxel的density设为0,非free的voxel直接设成一个很大的值比如20);如果没有GT,可以将我们提供的预训练模型的density插值成 (1,256,256,32) 来使用。

RenderOcc的核心在于预测density以支持体渲染。最好的方式是按照您的设置专门去训练模型以预测density。

KarlLi5 commented 1 year ago

明白了,感谢作者!我close掉这个问题

Shiyao-Xu commented 5 hours ago

非常好问题,十分受启发,爱来自慕尼黑:)