MCPcopy Index your code
hub / github.com/AutonomousVehicleLaboratory/SemVecNet

github.com/AutonomousVehicleLaboratory/SemVecNet @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
3,226 symbols 11,649 edges 727 files 1,745 documented · 54%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SemVecNet

Generalizable Vector Map Generation for Arbitrary Sensor Configurations

Narayanan Elavathur Ranganatha*, Hengyuan Zhang*, Shashank Venkatramani, Jing-Yan Liao and Henrik I. Christensen

Contextual Robotics Institute, University of California San Diego

(*) equal contribution

ArXiv Preprint (arXiv 2405.00250)

Introduction

SemVecNet is a online vectorized HD map construction framework that uses intermediate semantic maps for sensor-configuration generalizarion.

framework

Vector maps are essential in autonomous driving for tasks like localization and planning, yet their creation and maintenance are notably costly. While recent advances in online vector map generation for autonomous vehicles are promising, current models lack adaptability to different sensor configurations. They tend to overfit to specific sensor poses, leading to decreased performance and higher retraining costs. This limitation hampers their practical use in real-world applications. In response to this challenge, we propose a modular pipeline for vector map generation with improved generalization to sensor configurations. The pipeline leverages probabilistic semantic mapping to generate a bird's-eye-view (BEV) semantic map as an intermediate representation. This intermediate representation is then converted to a vector map using the MapTRv2 decoder. By adopting a BEV semantic map robust to different sensor configurations, our proposed approach significantly improves the generalization performance. We evaluate the model on datasets with sensor configurations not used during training. Our evaluation sets include larger public datasets, and smaller scale private data collected on our platform. Our model generalizes significantly better than the state-of-the-art methods.

Models

Model Train dataset Test dataset mAP mAP ratio(%)
SemVecNet AV2 NuScenes 12.2
AV2 AV2 49.0 24.8
MapTRv2 AV2 NuScenes 0.0
AV2 AV2 67.4 0.0
SemVecNet NuScenes AV2 16.2
AV2 AV2 49.0 33.1
SemVecNet AV2 NuScenes 0.0
AV2 AV2 61.5 24.8

Getting Started

Acknowledgements

SemVecNet is heavily based on MapTRv2 which is based on mmdetection3d. It is also greatly inspired by the following outstanding contributions to the open-source community: BEVFusion, BEVFormer, HDMapNet, GKT, VectorMapNet.

Citation

If you find SemVecNet is useful in your research or applications, please consider giving us a star 🌟 and citing it by the following BibTeX entry.

@INPROCEEDINGS{10588555,
  author={Ranganatha, Narayanan Elavathur and Zhang, Hengyuan and Venkatramani, Shashank and Liao, Jing-Yan and Christensen, Henrik I.},
  booktitle={2024 IEEE Intelligent Vehicles Symposium (IV)}, 
  title={SemVecNet: Generalizable Vector Map Generation for Arbitrary Sensor Configurations}, 
  year={2024},
  volume={},
  number={},
  pages={2820-2827},
  keywords={Training;Semantic segmentation;Pipelines;Semantics;Probabilistic logic;Vectors;Planning},
  doi={10.1109/IV55156.2024.10588555}}

Please also cite MapTRv2 if you cite our work

@inproceedings{MapTRv2,
  title={MapTRv2: An End-to-End Framework for Online Vectorized HD Map Construction},
  author={Liao, Bencheng and Chen, Shaoyu and Zhang, Yunchi and Jiang, Bo and Zhang, Qian and Liu, Wenyu and Huang, Chang and Wang, Xinggang},
  booktitle={arXiv preprint arXiv: 2308.05736},
  year={2023}
}

Core symbols most depended-on inside this repo

size
called by 348
SemVecNet/mmdetection3d/mmdet3d/ops/spconv/include/tensorview/tensorview.h
view
called by 336
SemVecNet/mmdetection3d/mmdet3d/ops/spconv/include/tensorview/tensorview.h
cat
called by 320
SemVecNet/mmdetection3d/mmdet3d/core/points/base_points.py
to
called by 198
SemVecNet/mmdetection3d/mmdet3d/core/points/base_points.py
clone
called by 103
SemVecNet/mmdetection3d/mmdet3d/core/points/base_points.py
squeeze
called by 85
SemVecNet/mmdetection3d/mmdet3d/ops/spconv/include/tensorview/tensorview.h
ndim
called by 71
SemVecNet/mmdetection3d/mmdet3d/ops/spconv/include/tensorview/tensorview.h
data
called by 71
SemVecNet/mmdetection3d/mmdet3d/ops/spconv/include/tensorview/tensorview.h

Shape

Method 1,783
Function 1,019
Class 421
Route 3

Languages

Python92%
C++8%

Modules by API surface

SemVecNet/projects/mmdet3d_plugin/datasets/av2_offlinemap_dataset.py100 symbols
SemVecNet/mmdetection3d/mmdet3d/datasets/pipelines/transforms_3d.py75 symbols
SemVecNet/mmdetection3d/mmdet3d/ops/spconv/include/tensorview/tensorview.h65 symbols
SemVecNet/projects/mmdet3d_plugin/datasets/nuscenes_offlinemap_dataset.py64 symbols
SemVecNet/projects/mmdet3d_plugin/maptr/modules/encoder.py61 symbols
SemVecNet/mmdetection3d/mmdet3d/ops/spconv/include/prettyprint.h53 symbols
SemVecNet/projects/mmdet3d_plugin/datasets/nuscenes_map_dataset.py47 symbols
SemVecNet/projects/mmdet3d_plugin/datasets/av2_map_dataset.py43 symbols
SemVecNet/projects/mmdet3d_plugin/maptr/losses/map_loss.py38 symbols
SemVecNet/mmdetection3d/mmdet3d/datasets/pipelines/loading.py35 symbols
SemVecNet/projects/mmdet3d_plugin/datasets/pipelines/transform_3d.py33 symbols
SemVecNet/mmdetection3d/mmdet3d/core/bbox/structures/base_box3d.py32 symbols

For agents

$ claude mcp add SemVecNet \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact