Git Product home page Git Product logo

car-speed-detection's Introduction

Camera-based Car Speed Detection for Autonomous Driving

Using our library with optical flow to detect the speed for the car

Car-Speed-Detection provides a python library to detect the speed of the driving car itself by the video stream from the dashboard camera installed on the car.

Car-Speed-Detection separates the speed detection process into three steps, preprocessing, training, and speed detection. By using Gunnar-Farneback optical flow algorithm along with the pipeline we developed, we are able to extract each frame into a small size matrix depends on developers preference. We use the Artifitial Neural Network (ANN) to train our model with the preprocessed matrix acquired from preprocessing function. Developers could use the trained model to detect the speed of the car at each frame using our speed detection function.

Getting Started

Installation

Car-Speed-Detection is available on PyPI and can be installed via pip. See car-speed-detection.readthedocs.io to learn about the API and Q&A of our library.

pip install car-speed-detection

Read, Preprocess, Train, and Detect the Car Speed

The Car-Speed-Detection library consists of the following parts:

  • Read (Read the mp4 video and output each frame into a designated directory)
  • Preprocess (Preprocess each frame and output a feature set for training)
  • Train (Train the model using the feature set and Artifitial Neural Network)
  • Speed Detection (Detect the speed using the model and video)

API and Example Code

Take a look at the API to know more about the Application Programming Interface and Sample for further information on how to use our library.

Result

In our example code, we are able to train the model with MSE error less than 2 using the training video provided by comma.ai. We separate the video into 75% for training and 25% for testing so the result woud be fair. The ANN model has also substaintially small amount of parameters (< 45,000), which yeild a lower latency compare to other solutions.

Bugs Report

Issues and bugs can be reported by emailing [email protected]

At a minimum, the report must contain the following:

  • Description of the program.
  • Expected Result.
  • Actual Result.
  • Steps to reproduce the issue.

Please do not use the GitHub issue tracker to submit bugs reports. The issue tracker is intended to make feature requests.

Acknowledge

This project is managed by Shao-Chieh Lien, the software architect and student at Purdue University.

This was a senior design project at Purdue University. Christopher Crocker was in charge of generating the training data using Carla simulator that could be seen from this Github repository and Data Section. Meenakshi was in charge or paper writing and documentation.

Special thanks to Professor Santiago Torres-Arias at Purdue ECE department for his guidance throughout our whole software development cycle!

car-speed-detection's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar shaochiehlien avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

car-speed-detection's Issues

Dependabot can't evaluate your Python dependency files

Dependabot can't evaluate your Python dependency files.

As a result, Dependabot couldn't check whether any of your dependencies are out-of-date.

The error Dependabot encountered was:

InstallationError("Invalid requirement: 'version https://git-lfs.github.com/spec/v1' (from line 1 of /home/dependabot/dependabot-updater/dependabot_tmp_dir/car_speed/requirements.txt)\nHint: It looks like a path. File 'version https://git-lfs.github.com/spec/v1' does not exist.")

View the update logs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.