Structure From Motion (SFM) for vehicle speed
Welcome to the Ultralytics Velocity repository! Here, we delve into the intersection of Machine Learning (ML) and Structure From Motion (SFM) to estimate the speed of vehicles using image analysis. Our objective is to enhance vehicle speed estimation methodologies and provide a foundation for future research and practical applications in fields like traffic management and autonomous systems.
This project aims to leverage advanced ML and SFM techniques to accurately estimate vehicle speeds from various forms of imagery. By developing these methods, we hope to contribute valuable tools applicable to traffic monitoring, autonomous driving systems, and road safety analysis.
Currently, a public dataset is not provided with this repository. The methods are designed for integration with custom datasets. If you possess relevant imagery or wish to collaborate on applying these techniques, please contact us. For general dataset needs, explore resources like Roboflow or public datasets like COCO.
To execute the code within this repository, ensure you meet the following prerequisites:
Python 3.7+: Install Python and use pip to set up the necessary libraries:
pip3 install -U -r requirements.txt
The requirements.txt
file includes essential Python packages such as:
numpy
: Fundamental package for numerical computation.scipy
: Library for scientific and technical computing.torch
: An open-source deep learning framework (PyTorch).opencv-python
: OpenCV library for computer vision tasks.exifread
: Library to read Exif metadata from image files.bokeh
(optional): For interactive data visualization.MATLAB 2018a or newer: Some scripts require MATLAB. Clone the common functions repository and add it to your MATLAB path:
git clone https://github.com/ultralytics/functions-matlab
Then, within MATLAB:
>> addpath(genpath('/path/to/functions-matlab')) % Replace /path/to/ with the actual path
Ensure the following MATLAB toolboxes are installed:
Statistics and Machine Learning Toolbox
Signal Processing Toolbox
This repository offers various methods for vehicle speed estimation using SFM and ML. While detailed run instructions are context-dependent, the core scripts leverage the libraries listed in the requirements. If you’re interested in applying these techniques or need specific guidance on execution, please don’t hesitate to reach out or raise an Issue.
If this repository contributes to your research or project, please cite it using the following DOI:
We actively welcome contributions from the community! Whether it’s fixing bugs, proposing new features, or enhancing documentation, your input is highly valued. Please see our Contributing Guide for more details on how to get started. We also encourage you to share your experiences with Ultralytics projects by completing our brief Survey. A huge 🙏 thank you to all our contributors!
Ultralytics provides two licensing options to accommodate different use cases:
For bug reports, feature suggestions, and contributions, please visit GitHub Issues. For broader questions and discussions about this project or other Ultralytics initiatives, join our vibrant community on Discord!