/hdmapnet-1

Primary LanguagePythonMIT LicenseMIT

HDMapNet

[English][简体中文]

This is a PyTorch implementation of paper "HDMapNet: A Local Semantic Map Learning and Evaluation Framework"

[Paper] [Devkit Page] [5-min video]

HDMapNet

Abstract: Constructing HD semantic maps is a central component of autonomous driving. However, traditional pipelines require a vast amount of human efforts and resources in annotating and maintaining the semantics in the map, which limits its scalability. In this paper, we introduce the problem of HD semantic map learning, which dynamically constructs the local semantics based on onboard sensor observations. Meanwhile, we introduce a semantic map learning method, dubbed HDMapNet. HDMapNet encodes image features from surrounding cameras and/or point clouds from LiDAR, and predicts vectorized map elements in the bird's-eye view. We benchmark HDMapNet on nuScenes dataset and show that in all settings, it performs better than baseline methods. Of note, our camera-LiDAR fusion-based HDMapNet outperforms existing methods by more than 50% in all metrics. In addition, we develop semantic-level and instance-level metrics to evaluate the map learning performance. Finally, we showcase our method is capable of predicting a locally consistent map. By introducing the method and metrics, we invite the community to study this novel map learning problem.

Requirements

  • hfai
  • torch>=1.8
  • nuscenes-devkit

Preparation

Set data.dataroot, data.version, data.batch_size in config.

Training

Run python train.py

Evaluation

Run python eval.py

Demo

Download pretrained model HDMapNet_fusion, and set runtime.resume as the path of the pretrained model in config.

Then run python demo.py

Samples

sample 1 sample1

sample 2 sample2

References

Citation

@misc{li2021hdmapnet,
    title={HDMapNet: An Online HD Map Construction and Evaluation Framework},
    author={Qi Li and Yue Wang and Yilun Wang and Hang Zhao},
    year={2021},
    eprint={2107.06307},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}