README.md
March 3, 2024 · View on GitHub
StreamMapNet
[WACV 2024] StreamMapNet: Streaming Mapping Network for Vectorized Online HD Map Construction
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 | 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 | 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 | 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}
}