jxbbb / TOD3Cap

[ECCV 2024] TOD3Cap: Towards 3D Dense Captioning in Outdoor Scenes
99 stars 5 forks source link

TOD3Cap: Towards 3D Dense Captioning in Outdoor Scenes

This repository is the pytorch implementation of our paper, TOD3Cap.

TOD3Cap: Towards 3D Dense Captioning in Outdoor Scenes

[ECCV 2024]

Paper arXiv Project Page Data

Bu Jin · Yupeng Zheng📧 · Pengfei Li · Weize Li · Yuhang Zheng · Sujie Hu · Xinyu Liu · Jinwei Zhu · Zhijie Yan · Haiyang Sun · Kun Zhan · Peng Jia · Xiaoxiao Long · Yilun Chen · Hao Zhao
(📧 indicates corresponding authors)

CASIA   |   Li Auto   |   AIR, Tsinghua University   |   Beihang University   |   HKUST   |   HKU


Introduction

We introduce the new task of outdoor 3D dense captioning. As input, we assume a LiDAR point cloud and a set of RGB images captured by the panoramic camera rig. The expected output is a set of object boxes with captions. To tackle this task, we propose the TOD3Cap network, which leverages the BEV representation to generate object box proposals and integrates Relation Q-Former with LLaMA-Adapter to generate rich captions for these objects. We also introduce the TOD3Cap dataset, the largest one to our knowledge for 3D dense captioning in outdoor scenes, which contains 2.3M descriptions of 64.3K outdoor objects from 850 scenes in nuScenes.

Note

This reposity will be updated soon, including:

Table of contents

Getting Started

a. Create a conda virtual environment and activate it.

conda create -n tod3cap python=3.8 -y 
conda activate tod3cap

b. Install PyTorch and torchvision following the official instructions.

pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html

# Recommended torch>=1.9

c. Install gcc>=5 in conda env (optional).

conda install -c omgarcia gcc-6 # gcc-6.2

d. Install mmcv-full.

pip install mmcv-full==1.4.0
#  pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html

e. Install mmdet and mmseg.

pip install mmdet==2.14.0
pip install mmsegmentation==0.14.1

f. Install mmdet3d from source code.

cd mmdetection3d
python setup.py install

g. Install Detectron2 and Timm.

pip install einops fvcore seaborn iopath==0.1.9 timm==0.6.13  typing-extensions==4.5.0 pylint ipython==8.12  numpy==1.19.5 matplotlib==3.5.2 numba==0.48.0 pandas==1.4.4 scikit-image==0.19.3 setuptools==60.5.0
python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'

h. Install other dependencies.

pip install -r requirements.txt

Models

Dataset Preparation

You can download the TOD3Cap dataset in Google Drive.

Train

We provide example scripts to train our model.

. tools/dist_train.sh

Evaluate

We provide example scripts to evaluate pre-trained checkpoints.

. tools/dist_evaluate.sh

Qualititive results

Citation

If you find our work useful in your research, please consider citing:

@article{jin2024tod3cap,
  title={TOD3Cap: Towards 3D Dense Captioning in Outdoor Scenes},
  author={Jin, Bu and Zheng, Yupeng and Li, Pengfei and Li, Weize and Zheng, Yuhang and Hu, Sujie and Liu, Xinyu and Zhu, Jinwei and Yan, Zhijie and Sun, Haiyang and others},
  journal={arXiv preprint arXiv:2403.19589},
  year={2024}
}

Acknowledgments

We would like to thank Dave Zhenyu Chen at Technical University of Munich for his valuable proofreading and insightful suggestions. We would also like to thank Lijun Zhou and the student volunteers at Li Auto for their efforts in building the TOD3Cap dataset. Our code is built on top of open-source GitHub repositories. We thank all the authors who made their code public, which tremendously accelerates our project progress. If you find these works helpful, please consider citing them as well.

open-mmlab/mmdetection3d

fundamentalvision/BEVFormer

mit-han-lab/bevfusion

OpenGVLab/LLaMA-Adapter