/velocity

Structure From Motion (SFM) for vehicle speed

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Ultralytics logo

🚗 Introduction

Welcome to the Ultralytics Velocity repository! Here, we're exploring the frontiers of Machine Learning (ML) and Structure From Motion (SFM) to estimate the speed of vehicles using imagery analysis. Our goal is to advance vehicle speed estimation techniques and provide a springboard for further research and application in this area.

Ultralytics Actions Discord Ultralytics Forums Ultralytics Reddit

🎯 Project Objectives

This project aims to utilize advanced ML and SFM approaches to accurately estimate vehicle speeds from various forms of imagery. By doing so, we hope to contribute valuable tools and methods that can be applied in domains such as traffic monitoring, autonomous driving systems, and road safety enhancements.

📸 Dataset

Currently, we do not provide a public dataset alongside this repository; the methods are tailored for use with custom datasets. If you have specific imagery or are interested in applying these techniques, please reach out for collaboration.

📋 Requirements

To run the code in this repository, you will need the following:

  • 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 key Python packages such as:

    • numpy
    • scipy
    • torch (PyTorch)
    • opencv-python (OpenCV)
    • exifread
    • bokeh (optional, for visualization)
  • MATLAB 2018a or newer: Besides Python, some scripts require MATLAB. Clone the common functions repository and add it to your MATLAB path with the following commands:

    git clone https://github.com/ultralytics/functions-matlab
    

    Then in MATLAB:

    >> addpath(genpath('/functions-matlab'))
    

    Ensure you have the following MATLAB toolboxes installed:

    • Statistics and Machine Learning Toolbox
    • Signal Processing Toolbox

🏃 Run

The repository contains various methods for vehicle speed estimation. If you're interested in leveraging these techniques or require more information on running the code, please feel free to reach out.

📚 Citation

If our work assists you in your research or project, please consider citing it using the following DOI:

DOI

🤝 Contribute

We welcome contributions from the community! Whether you're fixing bugs, adding new features, or improving documentation, your input is invaluable. Take a look at our Contributing Guide to get started. Also, we'd love to hear about your experience with Ultralytics products. Please consider filling out our Survey. A huge 🙏 and thank you to all of our contributors!

Ultralytics open-source contributors

©️ License

Ultralytics is excited to offer two different licensing options to meet your needs:

  • AGPL-3.0 License: Perfect for students and hobbyists, this OSI-approved open-source license encourages collaborative learning and knowledge sharing. Please refer to the LICENSE file for detailed terms.
  • Enterprise License: Ideal for commercial use, this license allows for the integration of Ultralytics software and AI models into commercial products without the open-source requirements of AGPL-3.0. For use cases that involve commercial applications, please contact us via Ultralytics Licensing.

📬 Contact Us

For bug reports, feature requests, and contributions, head to GitHub Issues. For questions and discussions about this project and other Ultralytics endeavors, join us on Discord!


Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord