unipad
UniPAD: A Universal Pre-training Paradigm for Autonomous Driving (CVPR 2024)
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.7%) to scientific vocabulary
Repository
UniPAD: A Universal Pre-training Paradigm for Autonomous Driving (CVPR 2024)
Basic Info
- Host: GitHub
- Owner: Nightmare-n
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://arxiv.org/abs/2310.08370
- Size: 2.18 MB
Statistics
- Stars: 184
- Watchers: 7
- Forks: 8
- Open Issues: 4
- Releases: 0
Metadata Files
README.md
UniPAD: A Universal Pre-training Paradigm for Autonomous Driving
Honghui Yang1,2, Sha Zhang1,4, Di Huang1,5, Xiaoyang Wu1,3, Haoyi Zhu1,4, Tong He1*,Shixiang Tang1, Hengshuang Zhao3, Qibo Qiu6, Binbin Lin2*, Xiaofei He2, Wanli Ouyang1 1Shanghai AI Lab, 2ZJU, 3HKU, 4USTC, 5USYD, 6Zhejiang Lab
In this paper, we present UniPAD, a novel self-supervised learning paradigm applying 3D volumetric differentiable rendering. UniPAD implicitly encodes 3D space, facilitating the reconstruction of continuous 3D shape structures and the intricate appearance characteristics of their 2D projections. The flexibility of our method enables seamless integration into both 2D and 3D frameworks, enabling a more holistic comprehension of the scenes.
News
[2024-03-16] The full code is released.
[2024-02-27] UniPAD is accepted at CVPR 2024.
[2023-11-30] The code is released. The code for indoor is available here.
[2023-10-12] The paper is publicly available on arXiv.
Installation
This project is based on MMDetection3D, which can be constructed as follows.
- Install PyTorch v1.7.1 and mmDetection3D v0.17.3 following the instructions.
- Install the required environment
``` conda create -n unipad python=3.7 conda activate unipad conda install -y pytorch==1.7.1 torchvision==0.8.2 cudatoolkit=11.0 -c pytorch
pip install --no-index torch-scatter -f https://data.pyg.org/whl/torch-1.7.1+cu110.html pip install mmcv-full==1.3.8 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.1/index.html pip install mmdet==2.14.0 mmsegmentation==0.14.1 tifffile-2021.11.2 numpy==1.19.5 protobuf==3.19.4 scikit-image==0.19.2 pycocotools==2.0.0 waymo-open-dataset-tf-2-2-0 nuscenes-devkit==1.0.5 spconv-cu111 gpustat numba scipy pandas matplotlib Cython shapely loguru tqdm future fire yacs jupyterlab scikit-image pybind11 tensorboardX tensorboard easydict pyyaml open3d addict pyquaternion awscli timm typing-extensions==4.7.1
git clone git@github.com:Nightmare-n/UniPAD.git cd UniPAD python setup.py develop --user ```
Data Preparation
Please follow the instruction of UVTR to prepare the dataset.
Training & Testing
You can train the model following the instructions. You can also find the pretrained models here. ```
train (4 gpus)
bash ./extratools/disttrain_ssl.sh
test
bash ./extratools/disttest.sh ```
Results
Ablation
| | NDS | mAP | Model | |---------------------------------------------|:-------:|:-------:|:-------:| |UniPADC (voxelsize=0.1)| 32.9 | 32.6 | pretrain/ckpt/log | |UniPAD_L| 55.8 | 48.1 | pretrain/ckpt | |UniPAD_M| 56.8 | 57.0 | ckpt |
Validation
| | NDS | mAP | Model | |---------------------------------------------|:-------:|:-------:|:-------:| |UniPADC (voxelsize=0.075)| 47.4 | 41.5 | pretrain/ckpt | |UniPAD_L| 70.6 | 65.0 | pretrain/ckpt | |UniPAD_M| 73.2 | 69.9 | ckpt |
Testing
| | NDS | mAP | |---------------------------------------------|:-------:|:-------:| |UniPADC (voxelsize=0.075)| 49.4 | 45.0 | |UniPAD_L| 71.6 | 66.4 | |UniPAD_M| 73.9 | 71.0 | |UniPAD_M (TTA)| 74.8 | 72.5 |
Citation
```bib @inproceedings{yang2023unipad, title={UniPAD: A Universal Pre-training Paradigm for Autonomous Driving}, author={Honghui Yang and Sha Zhang and Di Huang and Xiaoyang Wu and Haoyi Zhu and Tong He and Shixiang Tang and Hengshuang Zhao and Qibo Qiu and Binbin Lin and Xiaofei He and Wanli Ouyang}, booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition}, year={2024}, }
@article{zhu2023ponderv2, title={PonderV2: Pave the Way for 3D Foundation Model with A Universal Pre-training Paradigm}, author={Haoyi Zhu and Honghui Yang and Xiaoyang Wu and Di Huang and Sha Zhang and Xianglong He and Tong He and Hengshuang Zhao and Chunhua Shen and Yu Qiao and Wanli Ouyang}, journal={arXiv preprint arXiv:2310.08586}, year={2023} }
@inproceedings{huang2023ponder, title={Ponder: Point cloud pre-training via neural rendering}, author={Huang, Di and Peng, Sida and He, Tong and Yang, Honghui and Zhou, Xiaowei and Ouyang, Wanli}, booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision}, pages={16089--16098}, year={2023} } ```
Acknowledgement
This project is mainly based on the following codebases. Thanks for their great works!
Owner
- Name: Honghui Yang
- Login: Nightmare-n
- Kind: user
- Location: Hangzhou
- Company: Zhejiang University
- Repositories: 3
- Profile: https://github.com/Nightmare-n
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - name: "MMDetection3D Contributors" title: "OpenMMLab's Next-generation Platform for General 3D Object Detection" date-released: 2020-07-23 url: "https://github.com/open-mmlab/mmdetection3d" license: Apache-2.0
GitHub Events
Total
- Issues event: 1
- Watch event: 23
- Issue comment event: 1
- Fork event: 1
Last Year
- Issues event: 1
- Watch event: 23
- Issue comment event: 1
- Fork event: 1
Dependencies
- docutils ==0.16.0
- m2r *
- myst-parser *
- opencv-python *
- sphinx ==4.0.2
- sphinx-copybutton *
- sphinx_markdown_tables *
- torch *
- mmcv-full >=1.3.8,<=1.4.0
- mmdet >=2.14.0,<=3.0.0
- mmsegmentation >=0.14.1,<=1.0.0
- mmcv *
- torch *
- torchvision *
- lyft_dataset_sdk *
- networkx >=2.2,<2.3
- numba ==0.48.0
- numpy <1.20.0
- nuscenes-devkit *
- plyfile *
- scikit-image *
- tensorboard *
- trimesh >=2.35.39,<2.35.40
- asynctest * test
- codecov * test
- flake8 * test
- interrogate * test
- isort * test
- kwarray * test
- pytest * test
- pytest-cov * test
- pytest-runner * test
- ubelt * test
- xdoctest >=0.10.0 test
- yapf * test