woodfrog / maptracker

Code for paper "MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping", ECCV 2024

Home Page:https://map-tracker.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MapTracker: Tracking with Strided Memory Fusion for
Consistent Vector HD Mapping

ECCV 2024

Jiacheng Chen*1 , Yuefan Wu*1 , Jiaqi Tan*1, Hang Ma1, Yasutaka Furukawa1,2

1 Simon Fraser University 2 Wayve

(arXiv, Project page)

teaser_video.mp4

This repository provides the official implementation of the paper MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping. MapTracker reconstructs temporally consistent vector HD maps, and the local maps can be progressively merged into a global reconstruction.

This repository is built upon StreamMapNet.

Table of Contents

Introduction

This paper presents a vector HD-mapping algorithm that formulates the mapping as a tracking task and uses a history of memory latents to ensure consistent reconstructions over time.

Our method, MapTracker, accumulates a sensor stream into memory buffers of two latent representations: 1) Raster latents in the bird's-eye-view (BEV) space and 2) Vector latents over the road elements (i.e., pedestrian-crossings, lane-dividers, and road-boundaries). The approach borrows the query propagation paradigm from the tracking literature that explicitly associates tracked road elements from the previous frame to the current, while fusing a subset of memory latents selected with distance strides to further enhance temporal consistency. A vector latent is decoded to reconstruct the geometry of a road element.

The paper further makes benchmark contributions by 1) Improving processing code for existing datasets to produce consistent ground truth with temporal alignments and 2) Augmenting existing mAP metrics with consistency checks. MapTracker significantly outperforms existing methods on both nuScenes and Agroverse2 datasets by over 8% and 19% on the conventional and the new consistency-aware metrics, respectively.

Model Architecture

visualization

(Top) The architecture of MapTracker, consistsing of the BEV and VEC Modules and their memory buffers. (Bottom) The close-up views of the BEV and the vector fusion layers.

The BEV Module takes ConvNet features of onboard perspective images, the BEV memory buffer ${M_{\text{BEV}}(t-1), M_{\text{BEV}}(t-2),\ ... }$ and vehicle motions ${P^t_{t-1}, P^t_{t-2},\ ... }$ as input. It propagates the previous BEV memory $M_{\text{BEV}}(t-1)$ based on vehicle motion to initialize $M_{\text{BEV}}(t)$. In the BEV Memory Fusion layer, $M_{\text{BEV}}(t)$ is integrated with selected history BEV memories ${M_{\text{BEV}}^{*}(t'), t'\in \pi(t)}$, which is used for semantic segmentation and passed to the VEC Module.

The VEC Module propagates the previous latent vector memory $M_{\text{VEC}}(t-1)$ with a PropMLP to initialize the vector queries $M_{\text{VEC}}(t)$. In Vector Memory Fusion layer, each propagated $M_{\text{VEC}}(t)$ is fused with its selected history vector memories ${M_{\text{VEC}}^{*}(t'), t' \in \pi(t)}$. The final vector latents are decoded to reconstruct the road elements.

Installation

Please refer to the installation guide to set up the environment.

Data preparation

For how to download and prepare data for the nuScenes and Argoverse2 datasets, as well as downloading our checkpoints, please see the data preparation guide.

Getting Started

For instructions on how to run training, inference, evaluation, and visualization, please follow getting started guide.

Acknowledgements

We're grateful to the open-source projects below, their great work made our project possible:

Citation

If you find MapTracker useful in your research or applications, please consider citing:

@inproceedings{chen2024maptrakcer,
  author  = {Chen, Jiacheng and Wu, Yuefan and Tan, Jiaqi and Ma, Hang and Furukawa, Yasutaka},
  title   = {MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping},
  journal = {arXiv preprint arXiv:2403.15951},
  year    = {2024}
}

License

This project is licensed under GPL, see the license file for details.

About

Code for paper "MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping", ECCV 2024

https://map-tracker.github.io/

License:Other


Languages

Language:Python 99.8%Language:Shell 0.2%