Previous Work
Some of the earliest research into building road maps was based on aerial images,
such as that by Tavakoli & Rosenfeld [2]. They group together edges found by an
edge detector into shapes representing buildings and roads. Hu et al. [3] find seed
pixels that were likely roads and then grew from the seeds by tracking along road
segments. Barsi & Heipke [4] trained a neural network to find intersections in images.
This is related to our work in that we also train an intersection detector, although ours
is formulated differently and works on GPS traces rather than image pixels.
Another line of research addresses the problem of refining an existing map using
GPS traces. Rogers et al. [5] use an initial map to refine the centerline of the road. In
this work, they look at perpendiculars to the refined centerline and cluster traces into
lanes. Guo et al. [6] present initial simulation work with a similar goal of finding the
centerline of the road. Our goal is to build a road map without any prior road map.
There are other efforts with the same goal. Two of these, Brüntrup et al. [7] and
Worral & Nebot [8] present simple clustering techniques for determining the location
of the road. Some of the deepest work on this problem comes from Schroedl et al. [9]
and Edelkamp & Schrodel [10]. Starting with a blank map, they first find centerlines
by clustering. Then they determine the structure of the lanes and intersections. Recent
(a) all GPS data (b) one intersection
Figure 1: GPS traces. (a) shows an overview of our GPS traces from the greater
Seattle, WA USA area. In (b) is a close-up of traces around a road intersection.
work by Cao and Krumm [11] builds a routable road network by first clarifying the
GPS traces and then clustering them into a connected graph representing the roads.
Our approach is different than the above in that we begin by finding intersections
using a detector trained on ground truth data. As far as we are aware, this represents
the first use of a trained detector to find road features from GPS data. After finding
intersections, we discover connecting edges by looking for contiguous traces going
between them. We use these connecting edges to refine the location of the detected
intersections. Before we discuss our technical approach, however, we present in the
following section the GPS data we used for our training and testing.