All Projects → mithi → Advanced Lane Detection

mithi / Advanced Lane Detection

Licence: mit
An advanced lane-finding algorithm using distortion correction, image rectification, color transforms, and gradient thresholding.

Projects that are alternatives of or similar to Advanced Lane Detection

Vehicle Detection
Vehicle detection using machine learning and computer vision techniques for Udacity's Self-Driving Car Engineer Nanodegree.
Stars: ✭ 1,093 (+1439.44%)
Mutual labels:  self-driving-car, jupyter-notebook, udacity
Machine Learning
머신러닝 입문자 혹은 스터디를 준비하시는 분들에게 도움이 되고자 만든 repository입니다. (This repository is intented for helping whom are interested in machine learning study)
Stars: ✭ 705 (+892.96%)
Mutual labels:  jupyter-notebook, udacity
Self Driving Toy Car
A self driving toy car using end-to-end learning
Stars: ✭ 494 (+595.77%)
Mutual labels:  self-driving-car, jupyter-notebook
Particle Filter Prototype
Particle Filter Implementations in Python and C++, with lecture notes and visualizations
Stars: ✭ 29 (-59.15%)
Mutual labels:  jupyter-notebook, udacity
self-driving-car-nd
Udacity's Self-Driving Car Nanodegree project files and notes.
Stars: ✭ 50 (-29.58%)
Mutual labels:  udacity, self-driving-car
Car Finding Lane Lines
Finding Lane Lines using Python and OpenCV
Stars: ✭ 299 (+321.13%)
Mutual labels:  self-driving-car, jupyter-notebook
Traffic Sign Classifier
Udacity Self-Driving Car Engineer Nanodegree. Project: Build a Traffic Sign Recognition Classifier
Stars: ✭ 12 (-83.1%)
Mutual labels:  self-driving-car, jupyter-notebook
highway-path-planning
My path-planning pipeline to navigate a car safely around a virtual highway with other traffic.
Stars: ✭ 39 (-45.07%)
Mutual labels:  udacity, self-driving-car
Uselfdrivingsimulator
Self-Driving Car Simulator
Stars: ✭ 48 (-32.39%)
Mutual labels:  self-driving-car, udacity
Cvnd Udacity
Computer Vision Nanodegree program from Udacity
Stars: ✭ 52 (-26.76%)
Mutual labels:  jupyter-notebook, udacity
Lung Diseases Classifier
Diseases Detection from NIH Chest X-ray data
Stars: ✭ 52 (-26.76%)
Mutual labels:  jupyter-notebook, udacity
Self-Driving-Car-Steering-Simulator
The aim of this project is to allow a self driving car to steer autonomously in a virtual environment.
Stars: ✭ 15 (-78.87%)
Mutual labels:  udacity, self-driving-car
fusion-ekf
An extended Kalman Filter implementation in C++ for fusing lidar and radar sensor measurements.
Stars: ✭ 113 (+59.15%)
Mutual labels:  udacity, self-driving-car
Udacity Deep Learning
Udacity Deep Learning MOOC assignments
Stars: ✭ 463 (+552.11%)
Mutual labels:  jupyter-notebook, udacity
mpc
A software pipeline using the Model Predictive Control method to drive a car around a virtual track.
Stars: ✭ 119 (+67.61%)
Mutual labels:  udacity, self-driving-car
Tensorrider self driving car
基于BP神经网络的自动驾驶模型车。包含收集数据、控制模型生成与在线/离线自动运行所需的程序。
Stars: ✭ 17 (-76.06%)
Mutual labels:  self-driving-car, jupyter-notebook
tf-semantic-segmentation-FCN-VGG16
Semantic segmentation for classifying road. "Fully Convolutional Networks for Semantic Segmentation (2015)" implemented using TF
Stars: ✭ 30 (-57.75%)
Mutual labels:  udacity, self-driving-car
Model-Predictive-Control
C++ implementation of Model Predictive Control(MPC)
Stars: ✭ 51 (-28.17%)
Mutual labels:  udacity, self-driving-car
True artificial intelligence
真AI人工智能
Stars: ✭ 38 (-46.48%)
Mutual labels:  self-driving-car, jupyter-notebook
Vehicle Detection And Tracking
Udacity Self-Driving Car Engineer Nanodegree. Project: Vehicle Detection and Tracking
Stars: ✭ 60 (-15.49%)
Mutual labels:  self-driving-car, jupyter-notebook

Basic Lane Detection

INTRODUCTION

Built an advanced lane-finding algorithm using distortion correction, image rectification, color transforms, and gradient thresholding. Identified lane curvature and vehicle displacement. Overcame environmental challenges such as shadows and pavement changes

MEDIUM ARTICLE

In this project, I have used computer vision techniques to identify lane boundaries and compute the estimate the radius of curvature given a frame of video of the road.

To achieve this, the following steps are taken:

  • Computed the camera calibration matrix and distortion coefficients of the camera lens used given a set of chessboard images taken by the same camera
  • Used the aforementioned matrix and coefficient to correct the distortions given by the raw output from the camera
  • Use color transforms, and sobel algorithm to create a thresholded binary image that has been filtered out of unnecessary information on the image
  • Apply perspective transform to see a “birds-eye view” of the image as if looking from the sky
  • Apply masking to get the region of interest, detect lane pixels,
  • Determine the best fit curve for each lane the curvature of the lanes
  • Project the lane boundaries back onto the undistorted image of the original view
  • Output a visual display of the lane boundaries and other related information

HOW TO USE

  • You need to setup dependencies to run a Jupyter Notebook on your computer and setup a handful of packages such as opencv
import matplotlib.pyplot as plt
%matplotlib inline
import cv2 
import numpy as np
import pickle
from scipy.misc import imread

from moviepy.editor import VideoFileClip
from IPython.display import HTML
  • To run any notebook properly, copy the jupyter notebooks from the /notebook folder to the root directory
  • This is so that each notebook sees to see relevant files, the most relevant files being the python classes.

Relevant Links

RELEVANT FILES

Video Output

  • project_video_output.mp4
  • project_video_verbose_output.mp4

Pipeline

  • pipeline.ipynb
  • pipeline_verbose.ipynb

Classes

  • ChessBoard - chessboard.py
  • BirdsEye - birdseye.py
  • LaneFilter - lanefilter.py
  • Curves - curves.py
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].