Skip to main content
Uber logo

Schedule rides in advance

Reserve a rideReserve a ride

Schedule rides in advance

Reserve a rideReserve a ride
Data / ML

Improving Uber’s Mapping Accuracy with CatchME

April 25, 2019 / Global
Featured image for Improving Uber’s Mapping Accuracy with CatchME
Figure 1: A missing road segment on the left-hand map leads to a 7.6 minute ETA. The accurate map on the right trims the ETA down significantly, providing a much better experience for rider and driver alike.
Figure 2. (a) A driver-partner turns right at the intersection of 8th Ave. and Fulton St. This driver behavior deviated from Uber’s suggested route, depicted in Figure 2 (b).
Figure 2. (b) An invalid right turn restriction at the intersection of 8th Ave. and Fulton St. encoded in the map routes driver-partners to continue straight on Fulton, thereby taking an unnecessary detour.
Figure 3 (a): A driver made an illegal left turn, highlighted by red dots in this image. Driver behavior resulted in disparity between the actual trip route and the suggested route.
Figure 3 (b): Noisy GPS signals result in disparity between the actual trip route and the suggested route.
Figure 4: By calculating the haversine distance, we can determine the emission probability of a GPS point, the black point in this illustration, to different road segments, the red and green segments in this illustration.
Figure 5: The transition probability from G1 to G2 is calculated by creating a route between their snap points, S1 to S2, and measuring the distance of that route.
Figure 6: In this example, the Viterbi algorithm calculates the most likely segment sequence of road transitions S4, S3, and S1 by using the HMM. These three segments represent the GPS G1, G2, and G3 movements.
Figure 7: There is a missing segment between road segment A and B. However, GPS points marked by green and blue dots show that a driver-partner traversed through A to B. From HMM, transition probability from GPS point G1 to GPS point G2 is abnormally low, indicating that there maybe a map error around G1 and G2.
Figure 8: Sharding GPS traces and map data using S2 cells enables us to gather insights about map data errors on a large scale.
Figure 9: Traces in one S2 cell are partitioned into two S2 cells with the same map data.
Figure 10: GPS trace animated by yellow points show GPS trace shifts. CatchME ignores this case even though it raises a disparity signal.
Yuehai Xu

Yuehai Xu

Yuehai Xu is a software engineer on the Uber Maps team. He is a hacker and is passionate about finding map errors.

Congxiao Lu

Congxiao Lu

Congxiao Lu is a software engineer on the Uber Maps team. He has worked on multiple projects at Uber to improve map accuracy and map error detection.

Suneel Kaw

Suneel Kaw

Suneel Kaw is a product manager on the Uber Maps team. He works on augmenting maps and keeping them fresh and accurate by aggregating geospatial data, building automation to extract information from sensor data, and designing tools and processes to better leverage this data.

Daniel Wolf

Daniel Wolf

Daniel Wolf is a senior staff engineer on the Uber Maps team. He is working on a wide variety of projects related to the Maps infrastructure foundation, serving the routing, search, and map display stacks.

Posted by Yuehai Xu, Congxiao Lu, Suneel Kaw, Daniel Wolf

Category: