Published June 9, 2026 | Version v0.9.0
Software Open

Geo-trax: A Comprehensive Framework for Georeferenced Vehicle Trajectory Extraction from Drone Imagery

Authors/Creators

  • 1. EPFL

Description

Geo-trax (GEO-referenced TRAjectory eXtraction) is a comprehensive pipeline for extracting high-accuracy georeferenced vehicle trajectories from high-altitude drone imagery. Designed specifically for quasi-stationary aerial monitoring in urban traffic scenarios, Geo-trax transforms raw, bird's-eye view (BEV) video footage into precise, real-world vehicle trajectories. The framework integrates state-of-the-art computer vision and deep learning modules for vehicle detection, tracking, and trajectory stabilization, followed by a georeferencing stage that employs image registration to align the stabilized video frames with an orthophoto. This registration enables the accurate mapping of vehicle trajectories to real-world coordinates. The resulting pipeline supports large-scale traffic studies by delivering spatially and temporally consistent trajectory data suitable for traffic behavior analysis and simulation. Geo-trax is optimized for urban intersections and arterial corridors, where high-fidelity vehicle-level insights are essential for intelligent transportation systems and digital twin applications.

πŸ“Œ Important: If you use this code in your work, kindly acknowledge it by citing the following article:

Robert Fonod, Haechan Cho, Hwasoo Yeo, Nikolas Geroliminis (2025). Advanced computer vision for extracting georeferenced vehicle trajectories from drone imagery, Transportation Research Part C: Emerging Technologies, vol. 178, 105205. DOI: 10.1016/j.trc.2025.105205

Features

  1. Vehicle Detection: Utilizes a pre-trained YOLO model to detect vehicles (cars, buses, trucks, and motorcycles) in the video frames.
  2. Vehicle Tracking: Implements the selected tracking algorithm to follow detected vehicles, ensuring robust trajectory data and continuity across frames.
  3. Trajectory Stabilization: Corrects for unintentional drone movement by aligning trajectories to a reference frame, using bounding boxes of detected vehicles to enhance stability. Leverages the Stabilo πŸŒ€ library, fine-tuned by Stabilo-Optimize 🎯, to achieve reliable, consistent stabilization.
  4. Georeferencing: Maps stabilized trajectories to real-world coordinates using an orthophoto and an image registration technique.
  5. Dataset Creation: Compiles trajectory and related metadata (e.g., velocity, acceleration, dimension estimates) into a structured dataset.
  6. Visualization Tools: Visualizes extracted trajectories, overlays paths on video frames, and generates plots for traffic data analysis.
  7. Auxiliary Tools: Provides data wrangling, analysis, and model training scripts/tools to support dataset preparation, advanced analytics, and custom model development.
  8. Customization and Configuration: Flexible configuration options to adjust pipeline settings, including detection/tracking parameters, stabilization methods, and visualization modes.

πŸš€ Planned Enhancements

Release Plan

  • Version 1.0.0

    • Installable package via PyPI (pip install geo-trax) with CLI entry points and a modular package layout.
    • Comprehensive documentation in a dedicated docs/ folder, including tool-specific READMEs.
    • Code cleanup: unified style, type hints, improved docstrings, and refactored utilities into focused modules.
    • Additional data wrangling and analysis tools.
    • Unit tests for core functions and automated testing via GitHub Actions.
    • Detection model hosted on Hugging Face.
  • Future Versions

    • Modularized, OOP-based pipeline with custom reference frame support and georeferencing leveraging Stabilo's image-matching backend.
    • Rationalized single-file YAML configuration.
    • Per-class confidence thresholds and oriented bounding box visualization (using azimuth and dimension estimates).
    • Trajectory interpolation and SAHI-based small-object detection.
    • Batch inference, GPU-accelerated image registration, and multi-thread processing.
    • Real-world map visualization (e.g., MovingPandas, contextily) and interactive web app.

πŸ”— Related Projects

Geo-trax integrates with and complements several specialized tools:

  • Stabilo πŸŒ€ — Python library for video and trajectory stabilization using robust homography transformations. Supports various feature detectors, RANSAC algorithms, and user-defined masks. Used as Geo-trax's core stabilization engine.

  • Stabilo-Optimize 🎯 — Benchmarking and hyperparameter optimization framework for Stabilo. Evaluates stabilization performance through ground truth-free assessment using random perturbations. Used to fine-tune Geo-trax stabilization parameters.

  • HBB2OBB πŸ“¦ — Converts horizontal bounding boxes to oriented bounding boxes using SAM segmentation models. Can enhance Geo-trax outputs when object orientation is needed for downstream analysis.

Field Deployment

Geo-trax was validated in a large-scale urban traffic monitoring experiment conducted in Songdo, South Korea. In this study, Geo-trax was used to process aerial video data captured by a fleet of 10 drones, resulting in the creation of the Songdo Traffic dataset. The underlying vehicle detection model in Geo-trax was trained using the Songdo Vision dataset. Both datasets are described in detail in the associated publication, see the citation section below.

πŸŽ₯ Demo video of Geo-trax applied to the Songdo field experiment: https://youtu.be/gOGivL9FFLk

Citation

If you use Geo-trax in your research, software, or dataset generation, please cite the following resources appropriately:

  1. Preferred Citation: Please cite the associated article for any use of the Geo-trax framework, including research, applications, and derivative work:

    @article{fonod2025advanced,
      title = {Advanced computer vision for extracting georeferenced vehicle trajectories from drone imagery},
      author = {Fonod, Robert and Cho, Haechan and Yeo, Hwasoo and Geroliminis, Nikolas},
      journal = {Transportation Research Part C: Emerging Technologies},
      volume = {178},
      pages = {105205},
      year = {2025},
      publisher = {Elsevier},
      doi = {10.1016/j.trc.2025.105205},
      url = {https://doi.org/10.1016/j.trc.2025.105205}
    }
  2. Repository Citation: If you reference, modify, or build upon the Geo-trax software itself, please also cite the corresponding Zenodo release:

    @software{fonod2026geo-trax,
      author = {Fonod, Robert},
      license = {MIT},
      month = jun,
      title = {Geo-trax: A Comprehensive Framework for Georeferenced Vehicle Trajectory Extraction from Drone Imagery},
      url = {https://github.com/rfonod/geo-trax},
      doi = {10.5281/zenodo.12119542},
      version = {0.9.0},
      year = {2026}
    }

Contributions

The georeferencing code was developed with contributions from Haechan Cho.

Contributions from the community are welcome! If you encounter any issues or have suggestions for improvements, please open a GitHub Issue or submit a pull request.

License

This project is distributed under the MIT License. See the LICENSE file for more details.

Full Changelog

https://github.com/rfonod/geo-trax/compare/v0.8.0...v0.9.0

Files

rfonod/geo-trax-v0.9.0.zip

Files (79.1 MB)

Name Size Download all
md5:46e246009a75dfa40a0fe414d8ca7cf5
79.1 MB Preview Download

Additional details

Dates

Updated
2026-06-09
Updated from v0.8.0 to v0.9.0

Software

Repository URL
https://github.com/rfonod/geo-trax
Programming language
Python
Development Status
Active