Geo-trax: A Comprehensive Framework for Georeferenced Vehicle Trajectory Extraction from Drone Imagery
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
- Vehicle Detection: Utilizes a pre-trained YOLO model to detect vehicles (cars, buses, trucks, and motorcycles) in the video frames.
- Vehicle Tracking: Implements the selected tracking algorithm to follow detected vehicles, ensuring robust trajectory data and continuity across frames.
- 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.
- Georeferencing: Maps stabilized trajectories to real-world coordinates using an orthophoto and an image registration technique.
- Dataset Creation: Compiles trajectory and related metadata (e.g., velocity, acceleration, dimension estimates) into a structured dataset.
- Visualization Tools: Visualizes extracted trajectories, overlays paths on video frames, and generates plots for traffic data analysis.
- Auxiliary Tools: Provides data wrangling, analysis, and model training scripts/tools to support dataset preparation, advanced analytics, and custom model development.
- 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.
- Installable package via PyPI (
-
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.
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
If you use Geo-trax in your research, software, or dataset generation, please cite the following resources appropriately:
-
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} } -
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} }
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.
This project is distributed under the MIT License. See the LICENSE file for more details.
Full Changelog
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-09Updated from v0.8.0 to v0.9.0
Software
- Repository URL
- https://github.com/rfonod/geo-trax
- Programming language
- Python
- Development Status
- Active