百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

SelfOcc

> 编程语言
开源

[CVPR 2024] SelfOcc: 基于自监督的视觉 3D 占用率预测

388 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

[CVPR 2024] SelfOcc: 基于自监督的视觉 3D 占用率预测

SelfOcc: Self-Supervised Vision-Based 3D Occupancy Prediction

Paper | Project Page

SelfOcc: Self-Supervised Vision-Based 3D Occupancy Prediction, CVPR 2024

Yuanhui Huang*, Wenzhao Zheng* $\dagger$, Borui Zhang, Jie Zhou, Jiwen Lu$\ddagger$

* Equal contribution $\dagger$ Project leader $\ddagger$ Corresponding author

SelfOcc empowers 3D autonomous driving world models (e.g., OccWorld) with scalable 3D representations, paving the way for interpretable end-to-end large driving models.

News

  • [2024/9/5] Check out our recent GaussianFormer for object-centric 3D occupancy prediction.
  • [2024/4/30] Visualization code for 2D, 3D and video is released.
  • [2024/2/26] SelfOcc is accepted to CVPR 2024!
  • [2023/12/16] Training code release.
  • [2023/11/28] Evaluation code release.
  • [2023/11/20] Paper released on arXiv.
  • [2023/11/20] Demo release.

Demo

Trained using only video sequences and poses:

Trained using an additional off-the-shelf 2D segmentor (OpenSeeD):

More demo videos can be downloaded here.

Overview

  • We first transform the images into the 3D space (e.g., bird's eye view, tri-perspective view) to obtain 3D representation of the scene. We directly impose constraints on the 3D representations by treating them as signed distance fields. We can then render 2D images of previous and future frames as self-supervision signals to learn the 3D representations.

  • Our SelfOcc outperforms the previous best method SceneRF by 58.7% using a single frame as input on SemanticKITTI and is the first self-supervised work that produces reasonable 3D occupancy for surround cameras on nuScenes.

  • SelfOcc produces high-quality depth and achieves state-of-the-art results on novel depth synthesis, monocular depth estimation, and surround-view depth estimation on the SemanticKITTI, KITTI-2015, and nuScenes, respectively.

Results

Getting Started

Installation

Follow detailed instructions in Installation.

Preparing Dataset

Follow detailed instructions in Prepare Dataset.

We also provide our code for synchronizing sweep data according to keyframe samples.

Run

[23/12/16 Update] Please update the timm package to 0.9.2 to run the training script.

3D Occupancy Prediction

Download model weights HERE and put it under out/nuscenes/occ/

# train
python train.py --py-config config/nuscenes/nuscenes_occ.py --work-dir out/nuscenes/occ_train --depth-metric
# eval
python eval_iou.py --py-config config/nuscenes/nuscenes_occ.py --work-dir out/nuscenes/occ --resume-from out/nuscenes/occ/model_state_dict.pth --occ3d --resolution 0.4 --sem --use-mask --scene-size 4

Novel Depth Synthesis

Download model weights HERE and put it under out/nuscenes/novel_depth/

# train
python train.py --py-config config/nuscenes/nuscenes_novel_depth.py --work-dir out/nuscenes/novel_depth_train --depth-metric
# evak
python eval_novel_depth.py --py-config config/nuscenes/nuscenes_novel_depth.py --work-dir out/nuscenes/novel_depth --resume-from out/nuscenes/novel_depth/model_state_dict.pth

Depth Estimation

Download model weights HERE and put it under out/nuscenes/depth/

# train
python train.py --py-config config/nuscenes/nuscenes_depth.py --work-dir out/nuscenes/depth_train --depth-metric
# eval
python eval_depth.py --py-config config/nuscenes/nuscenes_depth.py --work-dir out/nuscenes/depth --resume-from out/nuscenes/depth/model_state_dict.pth --depth-metric --batch 90000

Note that evaluating at a resolution (450*800) of 1:2 against the raw image (900*1600) takes about 90 min, because we batchify rays for rendering due to GPU memory limit. You can change the rendering resolution by the variable NUM_RAYS in utils/config_tools.py

More details on more datasets are detailed in Run and Eval.

Visualization

Follow detailed instructions in Visualization.

Related Projects

Our code is based on TPVFormer and PointOcc.

Also thanks to these excellent open-sourced repos: SurroundOcc OccFormer BEVFormer

A pioneering work on object-centric 3D occupancy prediction: GaussianFormer.

Citation

If you find this project helpful, please consider citing the following paper:

@article{huang2023self,
    title={SelfOcc: Self-Supervised Vision-Based 3D Occupancy Prediction},
    author={Huang, Yuanhui and Zheng, Wenzhao and Zhang, Borui and Zhou, Jie and Lu, Jiwen },
    journal={arXiv preprint arXiv:2311.12754},
    year={2023}
}

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Python

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言