Git Product home page Git Product logo

tharakkrishnan / selfdrivingcar Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 3.0 1.19 GB

Computer vision and machine learning projects for self-driving car technologies

Jupyter Notebook 5.37% HTML 3.57% Python 0.12% CMake 0.61% C++ 37.76% C 2.86% Shell 3.38% Cuda 0.33% Fortran 43.14% JavaScript 0.02% CSS 0.01% M4 0.28% Batchfile 0.01% Makefile 1.86% Java 0.04% MATLAB 0.06% R 0.08% TeX 0.47% AMPL 0.01% SourcePawn 0.01%
self-driving-car machinelearning computer-vision python convolutional-neural-networks vehicle-detection lane-detection-pipeline

selfdrivingcar's Introduction

Self-Driving Car Projects

1. Finding lanes in a video stream using OpenCV

  • Use openCV, Canny edge detector, Hough transform and region of interest masks to build a simple lane detection pipeline

2. Identifying traffic signs using Tensorflow

  • Use Tensor-flow and Convolutional neural-networks (CNNs) to classify different types of traffic signs.

3. Behavioral Cloning using Keras

  • Use a car simulator to collect data of good driving behavior
  • Build, a convolution neural network in Keras that predicts steering angles from images
  • Train and validate the model with a training and validation set
  • Test that the model successfully drives around track one without leaving the road

4. Advanced lane detection pipeline

  • Compute the camera calibration matrix and distortion coefficients given a set of chessboard images.
  • Apply a distortion correction to raw images.
  • Use color transforms, gradients, etc., to create a thresholded binary image.
  • Apply a perspective transform to rectify binary image ("birds-eye view").
  • Detect lane pixels and fit to find the lane boundary.
  • Determine the curvature of the lane and vehicle position with respect to center.
  • Warp the detected lane boundaries back onto the original image.
  • Output visual display of the lane boundaries and numerical estimation of lane curvature and vehicle position.

5. Vehicle Detection pipeline

  • Perform a Histogram of Oriented Gradients (HOG) feature extraction on a labeled training set of images and train a classifier Linear SVM classifier
  • Also apply a color transform and append binned color features, as well as histograms of color, to your HOG feature vector.
  • Note: for those first two steps don't forget to normalize your features and randomize a selection for training and testing.
  • Implement a sliding-window technique and use your trained classifier to search for vehicles in images.
  • Run the pipeline on a video stream and create a heat map of recurring detections frame by frame to reject outliers and follow detected vehicles.
  • Estimate a bounding box for vehicles detected.

6. Extended Kalman filter

  • Use an extended Kalman filter to predict the path of a moving object based on LIDAR and RADAR data

7. Unscented Kalman filter

  • Use an unscented Kalman filter to predict the path of a moving object nbased on LIDAR and RADAR data

8. Particle Filters

  • Use Particle filters to localize an object moving within a known map

9. PID controller

  • Use a PID controller to control the steering of a vehicle within the lane

10. Model predictive control

  • Use a Kinematic model to more accurately control the steering of the vehicle even at high speeds

selfdrivingcar's People

Contributors

tharakkrishnan avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.