PyCon DE & PyData 2026

Using Sensor Fusion and ML to Navigate Underground When GPS Fails
, Europium [3rd Floor]

In the twisting vaults of a subway, metro, or U-Bahn, there’s often no reliable cell service, wifi, or GPS. Which means riders had no good way of keeping track of their stops or ETA when underground.
After collecting extensive ground truth data, we trained a motion classifier using the phone's accelerometer to identify a moving train. This prediction is fed into a location model that combines it with the train schedule to estimate a location, even when GPS fails. We cover our unique data pipeline, feature engineering, and the optimization for high-scale, offline edge deployment to millions of users.


Attendees will gain from the lessons learned developing a sensor fusion ML system for offline use in smartphones

Data Collection & Annotation

Strategies for gathering high-quality, labeled "ground truth", especially in cases where the labels can't be inferred by human annotators after the fact

The ML Pipeline

Hyperparameter tuning of a convolutional neural network (CNN)
Building a multi-stage training regimen, to leverage different datasets

UX

Presenting predictions to users in a way that expresses uncertainty when necessary, and inspires confidence when justified. We want users to forget GPS doesn't work underground.


Expected audience expertise in your talk's domain:: Intermediate Expected audience expertise in Python:: Intermediate Public link to supporting material, e.g. videos, Github::

https://blog.transitapp.com/go-underground/

Hi, I'm Étienne! I am responsible for developing machine learning solutions to rider problems, and turning them into features that help Transit users in their journeys. Before working at Transit, I was building databases and analysis tools for the aerospace industry. I was also been involved in the mobility professorship at Polytechnique Montréal. I hold a B. Eng. in Aerospace from Polytechnique Montréal.