/StreamMapNet

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

StreamMapNet

[WACV 2024] StreamMapNet: Streaming Mapping Network for Vectorized Online HD Map Construction

arXiv

Introduction

This repository is an official implementation of StreamMapNet.

Getting Started

1. Environment

Step 1. Create conda environment and activate it.

conda create --name streammapnet python=3.8 -y
conda activate streammapnet

Step 2. Install PyTorch.

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

Step 3. Install MMCV series.

# Install mmcv-series
pip install mmcv-full==1.6.0
pip install mmdet==2.28.2
pip install mmsegmentation==0.30.0
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
git checkout v1.0.0rc6 
pip install -e .

Step 4. Install other requirements.

pip install -r requirements.txt

2. Data Preparation

Step 1. Download NuScenes dataset to ./datasets/nuScenes.

Step 2. Download Argoverse2 (sensor) dataset to ./datasets/av2.

Step 3. Generate annotation files for NuScenes dataset.

python tools/nuscenes_converter.py --data-root ./datasets/nuScenes --newsplit

Step 4. Generate annotation files for Argoverse2 dataset.

python tools/argoverse_converter.py --data-root ./datasets/av2 --newsplit

3. Training and Validating

To train a model with 8 GPUs:

bash tools/dist_train.sh ${CONFIG} 8

To validate a model with 8 GPUs:

bash tools/dist_test.sh ${CONFIG} ${CEHCKPOINT} 8 --eval

To test a model's inference speed:

python tools/benchmark.py ${CONFIG} ${CEHCKPOINT}

Results

Results on Argoverse2 newsplit

Range $\mathrm{AP}_{ped}$ $\mathrm{AP}_{div}$ $\mathrm{AP}_{bound}$ $\mathrm{AP}$ Config Epoch Checkpoint
$60\times 30\ m$ 57.9 55.7 61.3 58.3 Config 30 ckpt
$100\times 50\ m$ 60.0 45.9 48.9 51.6 Config 30 ckpt

Results on NuScenes newsplit

Range $\mathrm{AP}_{ped}$ $\mathrm{AP}_{div}$ $\mathrm{AP}_{bound}$ $\mathrm{AP}$ Config Epoch Checkpoint
$60\times 30\ m$ 32.2 29.3 40.8 34.1 Config 24 ckpt
$100\times 50\ m$ 25.6 17.4 24.3 22.4 Config 24 ckpt

Results on NuScenes oldsplit

Range $\mathrm{AP}_{ped}$ $\mathrm{AP}_{div}$ $\mathrm{AP}_{bound}$ $\mathrm{AP}$ Config Epoch Checkpoint
$60\times 30\ m$ 61.7 66.3 62.1 63.4 Config 30 ckpt

Citation

If you find our paper or codebase useful in your research, please give us a star and cite our paper.

@InProceedings{Yuan_2024_streammapnet,
    author    = {Yuan, Tianyuan and Liu, Yicheng and Wang, Yue and Wang, Yilun and Zhao, Hang},
    title     = {StreamMapNet: Streaming Mapping Network for Vectorized Online HD Map Construction},
    booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},
    month     = {January},
    year      = {2024},
    pages     = {7356-7365}
}