The path inference filter

This page contains centralizes the resources for the Path Inference Filter (PIF), a novel algorithm to map-match trajectories on a road network.

  • Publications: publications related to the Path Inference Filter
  • Media: videos and presentations
  • Source code: reference implementations of the Path Inference Filter

Do you use it? Feel free to send a note to the author.

Publications

Short (conference) version The PIF paper has been accepted for publication at the WAFR conference. It is available as a PDF. Citation information in the BibTex format:

@article{hunter12pathinference,
  author = {Timothy Hunter and Pieter Abbeel and Alexandre M. Bayen},
  title = {The path inference filter: model-based low-latency map matching of probe vehicle data},
  journal = {Algorithmic Foundations of Robotics X},
  year = {2012},
  publisher={Springer}
}

Extended (Journal) version The PIF paper has been submitted for review to the IEEE Transactions on Intelligent Transportation Systems

Preprint version The most extensive description of the algorithm is available on Arxiv

Source code

We provide two implementations of the filter under open-source licensing:

  • A python version (BSD license) that implements the different filtering strategies and the learning algorithms. Apart from dependencies to Numpy for linear algebra, it is self-contained and is designed with correctness and flexibility in mind. It is the recommended implementation for academic purposes.
  • A scala version (Apache 2.0 license) that contains only the filter and is optimized for speed and robustness to real-data peculiarities. It is used to process millions of GPS points daily in the Mobile Millennium framework. If you want to map GPS points in a production environment with minimal tweaking, use this implementation.

A short tutorial for the scala version is being written. Send a note to the author if you want more information.

Media

Here is an example of dataset processed by the PIF: a stream of GPS locations from taxicabs in San Francisco.

The precise trajectories of the vehicles are unobserved and need to be reconstructed using a map matching pipeline implemented in Mobile Millennium called the path inference filter. The results of this process are some timestamped trajectory segments. These segments are the basic observations to predict traffic.

This video shows reconstructed trajectories for the taxicabs: green dots are free taxis, red dots are taxis with passengers. The solid tails mark the path reconstructed between two observations.