DAGMapper: Learning to Map by Discovering Lane Topology

August 2020

tl;dr: Use RNN to draw DAG boundaries of lane lines.

Overall impression

There are several works from Uber ATG that extracts polyline representation based on BEV maps.

This is one application of RNN in boundary extraction. Previous work include Polygon-RNN, Polygon-RNN++, Curve GCN also from Uber ATG. The main idea is to create a structured boundary to boost the efficiency for human-in-the-loop annotation.

Polyline Loss focuses on easier lane topology on highways, and DAGMapper focuses on highway driving, and focuses on hard cases like forks and merges. Polymapper only focuses on extracting road network and do not have lane-level information.

The tool is based on RNN, thus autoregressive and does not have a constant runtime for images with varying number of nodes.

The way DAGMapper defines node (control points) and calculate their loss is very insightful. There is no unique way to define control points, and therefore instead of directly regressing L1/L2 distance of prediction and annotated control points, a Chamfer distance loss is used, which calculates the normalized distance between two densely sampled curves. –> This idea actually comes from Polyline Loss.

Key ideas

Technical details