Skip to content

YouYueHuang/SelfDrivingCarProjects

Repository files navigation

SelfDrivingCarProjects

P1: Basic Lane Finding

P2: Traffic Sign Classification

P3: Behavioral Cloning

P4: Advanced Lane Finding

P5: Vehicle Detectioin

Overview

Overview

Overview

Overview

Overview

Overview

This repository is for Udacity self driving Nanodegree. The projects in this course uses the matplotlib, opencv, tensorflow library. The working environment is based on python 3.6.1 virtualenv and jupyter notebook.

P1 - Basic Advanced Lane Finding


  • This project is to detect the lane lines of a video stream. It used computer vision techniques to identify lines, including Hough line transforms and Canny edge detection.

P2 - Traffic Sign Classification


  • This project is to build a deep neural network to classify traffic signs with TensorFlow. It experimented different network architecture, image pre-processing techniques and data augmentation to reduce overfitting.

P3 - Behavioral Cloning


  • This project is to train a convolutional neural network for end-to-end learning to drive a vehicle in a simulator with TensorFlow and Keras. In addition, interpolation and moving average were applied to smoothe the steering angle distribuition.

P4 - Advanced Lane Finding


  • This project is to built an advanced lane-finding algorithm using distortion correction, perspective transformation, color filtering, and gradient thresholding. In the end, the lane curvature and the deviation from the center of road were caluated to understand the road condition.

P5 - Vehicle Detection


  • This project is to create a vehicle detection and tracking pipeline with different features including histogram of oriented gradients (HOG), color histogram, and color binning. To detect if there is any vehicle in a frame, a standard benchmark car and non-car images were used to train a support vector machines (SVM) classifier.

Get started


  • Download Anaconda 3.6 in official site Anaconda Distribution

  • pip conda install -c anaconda pip

    update pip, conda and conda-env to latest version

  • Python virtual environment

    • create a python virtual environment named tensorflow conda create -n tensorflow python=3.6.3

    • activate virtual environment (windows)activate tensorflow or (ubuntu)source activate yourenvname

    • Deactivate virtual environment deactivate

  • Installing a different version of Python

    • To create the new environment for Python 3.6, run conda create -n py36 python=3.6 anaconda
    • Do the similar for Python 2.7, run conda create -n py36 python=3.6 anaconda
    • To check the verision, activate the virtual environment and run python --version
  • Jupyter Notebook

    • install Jupyter Notebook pip install jupyter

    • Launch an jupyter notebook server jupyter notebook

  • For behavior cloning,

    • conda install -c conda-forge eventlet
    • conda install -c conda-forge python-socketio

Dependencies


  • export packages conda list -e > requirement.txt
  • install all packages conda create --name <env> --requirement.txt

If you would like to install packages separately, this link would help you.

About

Project files and directories for self-driving car

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published