{"id":13670591,"url":"https://github.com/yuantianyuan01/StreamMapNet","last_synced_at":"2025-04-27T13:32:30.026Z","repository":{"id":190382155,"uuid":"682068060","full_name":"yuantianyuan01/StreamMapNet","owner":"yuantianyuan01","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-03T15:34:04.000Z","size":436,"stargazers_count":200,"open_issues_count":23,"forks_count":16,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-11-11T08:41:14.319Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yuantianyuan01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-23T11:19:03.000Z","updated_at":"2024-11-08T15:36:46.000Z","dependencies_parsed_at":"2024-01-14T16:17:02.730Z","dependency_job_id":"9750e622-793b-4f45-ba92-af3ad55d0d23","html_url":"https://github.com/yuantianyuan01/StreamMapNet","commit_stats":null,"previous_names":["yuantianyuan01/streammapnet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuantianyuan01%2FStreamMapNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuantianyuan01%2FStreamMapNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuantianyuan01%2FStreamMapNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuantianyuan01%2FStreamMapNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yuantianyuan01","download_url":"https://codeload.github.com/yuantianyuan01/StreamMapNet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251145642,"owners_count":21543075,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T09:00:45.905Z","updated_at":"2025-04-27T13:32:25.011Z","avatar_url":"https://github.com/yuantianyuan01.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eStreamMapNet\u003c/h1\u003e\n  \n  \u003ch3\u003e[WACV 2024] StreamMapNet: Streaming Mapping Network for Vectorized Online HD Map Construction \u003c/h3\u003e\n  \n  [![arXiv](https://img.shields.io/badge/arXiv-Paper-\u003cCOLOR\u003e.svg)](https://arxiv.org/abs/2308.12570)\n  \n  \u003cimg src=\"./resources/pipeline_newnew.png\" width=\"950px\"\u003e\n\u003c/div\u003e\n\n## Introduction\nThis repository is an official implementation of StreamMapNet.\n\n## Getting Started\n### 1. Environment\n**Step 1.** Create conda environment and activate it.\n\n```\nconda create --name streammapnet python=3.8 -y\nconda activate streammapnet\n```\n\n**Step 2.** Install PyTorch.\n\n```\npip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html\n```\n\n**Step 3.** Install MMCV series.\n\n```\n# Install mmcv-series\npip install mmcv-full==1.6.0\npip install mmdet==2.28.2\npip install mmsegmentation==0.30.0\ngit clone https://github.com/open-mmlab/mmdetection3d.git\ncd mmdetection3d\ngit checkout v1.0.0rc6 \npip install -e .\n```\n\n**Step 4.** Install other requirements.\n\n```\npip install -r requirements.txt\n```\n\n### 2. Data Preparation\n**Step 1.** Download [NuScenes](https://www.nuscenes.org/download) dataset to `./datasets/nuScenes`.\n\n**Step 2.** Download [Argoverse2 (sensor)](https://argoverse.github.io/user-guide/getting_started.html#download-the-datasets) dataset to `./datasets/av2`.\n\n**Step 3.** Generate annotation files for NuScenes dataset.\n\n```\npython tools/nuscenes_converter.py --data-root ./datasets/nuScenes --newsplit\n```\n\n**Step 4.** Generate annotation files for Argoverse2 dataset.\n\n```\npython tools/argoverse_converter.py --data-root ./datasets/av2 --newsplit\n```\n\n### 3. Training and Validating\nTo train a model with 8 GPUs:\n\n```\nbash tools/dist_train.sh ${CONFIG} 8\n```\n\nTo validate a model with 8 GPUs:\n\n```\nbash tools/dist_test.sh ${CONFIG} ${CEHCKPOINT} 8 --eval\n```\n\nTo test a model's inference speed:\n\n```\npython tools/benchmark.py ${CONFIG} ${CEHCKPOINT}\n```\n\n## Results\n\n### Results on Argoverse2 newsplit\n| Range | $\\mathrm{AP}_{ped}$ | $\\mathrm{AP}_{div}$| $\\mathrm{AP}_{bound}$ | $\\mathrm{AP}$ | Config | Epoch | Checkpoint |\n| :---: |   :---:  |  :---:  | :---:   |:---:|:---: |:---:  | :---:   |\n| $60\\times 30\\ m$ | 57.9 | 55.7| 61.3| 58.3| [Config](./plugin/configs/av2_newsplit_608_60x30_30e.py) | 30 | [ckpt](https://drive.google.com/file/d/1p6PZDGbVoxedU0YqEbvSBjCMkcTx91ld/view?usp=share_link)|\n| $100\\times 50\\ m$ |60.0 | 45.9 | 48.9 | 51.6 | [Config](./plugin/configs/av2_newsplit_608_100x0_30e.py5) |30 | [ckpt](https://drive.google.com/file/d/1PkOiGFLGyQ7GUljeRS7REQS6Cv_pV1qx/view?usp=share_link)|\n\n### Results on NuScenes newsplit\n| Range | $\\mathrm{AP}_{ped}$ | $\\mathrm{AP}_{div}$| $\\mathrm{AP}_{bound}$ | $\\mathrm{AP}$ | Config | Epoch | Checkpoint |\n| :---: |   :---:  |  :---:  | :---:      |:---:|:---: |:---:   | :---:      |\n| $60\\times 30\\ m$ | 32.2 | 29.3 | 40.8 | 34.1 | [Config](./plugin/configs/nusc_newsplit_480_60x30_24e.py) | 24| [ckpt](https://drive.google.com/file/d/1L9IRkd_Sg_hPu8SSagWBEZahUD_dvMeG/view?usp=share_link)|\n| $100\\times 50\\ m$ | 25.6 | 17.4 | 24.3 | 22.4 | [Config](./plugin/configs/nusc_newsplit_480_100x50_24e.py)| 24 | [ckpt](https://drive.google.com/file/d/1nB4r108-rj87Ain7s8HHEo5hXvxZMMre/view?usp=share_link)|\n\n### Results on NuScenes oldsplit\n| Range | $\\mathrm{AP}_{ped}$ | $\\mathrm{AP}_{div}$| $\\mathrm{AP}_{bound}$ | $\\mathrm{AP}$ | Config | Epoch | Checkpoint |\n| :---: |   :---:  |  :---:  | :---:      |:---:|:---:|:---:   | :---:      |\n| $60\\times 30\\ m$ | 61.7| 66.3 | 62.1 | 63.4 | [Config](./plugin/configs/nusc_baseline_480_60x30_30e.py) | 30| [ckpt](https://drive.google.com/file/d/1-n6DGu23KkSO8PFfJ01ofmtUed0zOMZ_/view?usp=share_link)|\n\n## Citation\nIf you find our paper or codebase useful in your research, please give us a star and cite our paper.\n```\n@InProceedings{Yuan_2024_streammapnet,\n    author    = {Yuan, Tianyuan and Liu, Yicheng and Wang, Yue and Wang, Yilun and Zhao, Hang},\n    title     = {StreamMapNet: Streaming Mapping Network for Vectorized Online HD Map Construction},\n    booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},\n    month     = {January},\n    year      = {2024},\n    pages     = {7356-7365}\n}\n```\n","funding_links":[],"categories":["Online HD map construction","Python"],"sub_categories":["2023"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuantianyuan01%2FStreamMapNet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuantianyuan01%2FStreamMapNet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuantianyuan01%2FStreamMapNet/lists"}