Mrmoore98 / VectorMapNet_code

This is the official code base of VectorMapNet (ICML 2023)
https://tsinghua-mars-lab.github.io/vectormapnet/
GNU General Public License v3.0
409 stars 56 forks source link
autonomous deep-learning map-learning

VectorMapNet_code

VectorMapNet: End-to-end Vectorized HD Map Learning ICML 2023

This is the official codebase of VectorMapNet

Yicheng Liu, Yuantian Yuan, Yue Wang, Yilun Wang, Hang Zhao

[Paper] [Project Page]

Abstract: Autonomous driving systems require High-Definition (HD) semantic maps to navigate around urban roads. Existing solutions approach the semantic mapping problem by offline manual annotation, which suffers from serious scalability issues. Recent learning-based methods produce dense rasterized segmentation predictions to construct maps. However, these predictions do not include instance information of individual map elements and require heuristic post-processing to obtain vectorized maps. To tackle these challenges, we introduce an end-to-end vectorized HD map learning pipeline, termed VectorMapNet. VectorMapNet takes onboard sensor observations and predicts a sparse set of polylines in the bird's-eye view. This pipeline can explicitly model the spatial relation between map elements and generate vectorized maps that are friendly to downstream autonomous driving tasks. Extensive experiments show that VectorMapNet achieve strong map learning performance on both nuScenes and Argoverse2 dataset, surpassing previous state-of-the-art methods by 14.2 mAP and 14.6mAP. Qualitatively, VectorMapNet is capable of generating comprehensive maps and capturing fine-grained details of road geometry. To the best of our knowledge, VectorMapNet is the first work designed towards end-to-end vectorized map learning from onboard observations.

Questions/Requests: Please file an issue or send an email to Yicheng.

Bibtex

If you found this paper or codebase useful, please cite our paper:

@inproceedings{liu2022vectormapnet,
        title={VectorMapNet: End-to-end Vectorized HD Map Learning},
        author={Liu, Yicheng and Yuantian, Yuan and Wang, Yue and Wang, Yilun and Zhao, Hang},
        booktitle={International conference on machine learning},
        year={2023},
        organization={PMLR}
    }

Run VectorMapNet

Note

0. Environment

Set up environment by following this script

1. Prepare your dataset

Store your data with following structure:

    root
        |--datasets
            |--nuScenes
            |--Argoverse2(optional)

1.1 Generate annotation files

Preprocess nuScenes

python tools/data_converter/nuscenes_converter.py --data-root your/dataset/nuScenes/

2. Evaluate VectorMapNet

Download Checkpoint

Method Modality Config Checkpoint
VectorMapNet Camera only config model link

Train VectorMapNet

In single GPU

python tools/train.py configs/vectormapnet.py

For multi GPUs

bash tools/dist_train.sh configs/vectormapnet.py $num_gpu

Do Evaluation

In single GPU

python tools/test.py configs/vectormapnet.py /path/to/ckpt --eval name

For multi GPUs

bash tools/dist_test.sh configs/vectormapnet.py /path/to/ckpt $num_gpu --eval name

Expected Results

$AP_{ped}$ $AP_{divider}$ $AP_{boundary}$ mAP
39.8 47.7 38.8 42.1