Shubhamai/self-driving-car
This project demonstrate a working model of self driving car πŸš—πŸš— using powerful computer vision πŸ•ΆπŸ•Ά algorithms. - Shubhamai/self-driving-car

This project is a demonstration of a working model of self driving car πŸš—πŸš— identifying and following lanes using powerful computer vision πŸ•ΆπŸ•Ά algorithms.

Source : here

Table of Contents

  • Description
  • Idea description
  • About the Project
  • Built With
  • Getting Started
  • Work progress
  • Support
  • Contact

Description

Self driving car are the cars which drive by itself without any human feedback. One of the big company that is making very best self driving car is Tesla.

Self driving cars are the future cars and the one of the top inventions for mankind. Self driving cars can save millions of lives which get wasted due to road accidents.

There are a lot of things which are been controlled by self driving cars like steering , brakes, gears and the car takes a lot of sensors (especially lidar) and camera to operate and drive on lanes and other stuffs like stop on red signal, following lanes etc.

Idea Description

So, i got the idea and I also want to increase my skills of computer vision, so i think to make a self driving car model with raspberri pi and camera πŸ˜ƒπŸ˜ƒ.

I want to make this project more powerful and has many features like :-

  • Identify and follow lanes
  • Detect cars, traffic signals , speed brakers and follow traffic signs rules
  • Send that data to local machine (eg. laptop) and show it in the web browser.

Control the car through web browser.

So from these ideas i came up with many things. It also requires powerful onboard system to make calculations real time, not to send the data to local machine and then calculate the things.

So for this , i came up with Raspberry Pi, a single board computer. This is the best thing for this. With it’s powerful processor inbuilt with wifi, bluetooth, usb ports, it can calculate things with great ease. Other things like steering the car by giving certain voltage to motor, or controlling LED, i handover these things to STM32, it’s an arduino like microcontroller which has more input/output pins and PWM pins.

About the project

This Self Driving Car πŸš— Project is build with ML 🧠 and Machine Vision πŸ‘€

This car will capable driving itself on correct lanes, Also indentify Traffic Signals 🚦, cars, road signs and slows down around breakers 🚧 etc. and also this car is Web Integrated to monitoring the Car with web and also control with it.

The camera data from the car is send through wifi to the website πŸ•Έ to monitor the car and it’s also can be controlled with web interface.

Behind scenes there ans many steps followed by the car to follow the lanes and detect the car and send the data to local machine (laptop) through wifi by raspberry pi. Some of the steps are :-

Firstly it computed the camera calibration matrix and distortion coefficients by some chessboard images. β™Ÿβ™Ÿ

  • Applied a distortion correction to frame taken from the raspberry pi camera πŸ“·
  • Use many image transformation methods to create a thresholded binary image.
  • Applied a perspective transform to rectify the image (β€œbirds-eye view”).
  • Detect the lanes and draw a line to the lanes
  • Feedback the car when the lane is bad. πŸ‘‹
  • Detect the car using ORB Method.
  • Detect the signals using haar cascades 🚦

And much more..

Built With

Hardware

  • Raspberry Pi 4 Model B
  • Raspberry Pi Camera

Software

  • Core Function or ML (Python)
  • Python
  • Open CV
  • Numpy
  • Node JS
  • Jonny Five

Getting Started

Currently in development…

Work progress

Here a lot of things going on, but in simple in the car video, the perspective transform method takes the frame in the video and rectify image simple known as β€œbirds-eye view” πŸ¦πŸ‘. Then the image is converted into a binary image (masking the image) and then the image runs through a canny edge detector to detect the edges. The masked frame is also crop in two pastes (see here that there are two frame named one (see left) and two (see right)). Currently i am working on numpy poly fit to make lines in this masked image.

Support

Hey, we need an active support for our project, to add some more things like Lidar πŸ”¦πŸ”¦ and many hardware upgrades to make this project more successful.

Feel free to contact me. I will be very appreciated to help you.

Name β€” Shubham Gupta

email β€” shubham.aiexpert@gmail.com

Project Link: https://github.com/Shubham2004-AI/self-driving-car

Github page link : https://shubham2004-ai.github.io/self-driving-car/