All Projects → yugrocks → self-driving-car-simulator

yugrocks / self-driving-car-simulator

Licence: other
The core technology behind Self Driving Cars today.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to self-driving-car-simulator

CustomTkinter
A modern and customizable python UI-library based on Tkinter
Stars: ✭ 1,626 (+9464.71%)
Mutual labels:  tkinter
python-gui-demos
This repo contains the basic demonstration of python gui
Stars: ✭ 31 (+82.35%)
Mutual labels:  tkinter
Machine-Learning
The projects I do in Machine Learning with PyTorch, keras, Tensorflow, scikit learn and Python.
Stars: ✭ 54 (+217.65%)
Mutual labels:  self-driving-car
FisheyeDistanceNet
FisheyeDistanceNet
Stars: ✭ 33 (+94.12%)
Mutual labels:  self-driving-car
GoogleHashCode2018
Solutions to Google HashCode 2018
Stars: ✭ 14 (-17.65%)
Mutual labels:  self-driving-car
airsim ros
AirSim ROS packages: modified ros wrapper for airsim, and some vslam related tools. (Mainly focused on Car SimMode)
Stars: ✭ 28 (+64.71%)
Mutual labels:  self-driving-car
tktable
Wrapper library for Python of the homonymous Tk library.
Stars: ✭ 37 (+117.65%)
Mutual labels:  tkinter
urban road filter
Real-time LIDAR-based Urban Road and Sidewalk detection for Autonomous Vehicles 🚗
Stars: ✭ 134 (+688.24%)
Mutual labels:  self-driving-car
vALGO
vALGO helps students to visualize various traversal and operations performed on data structure through amazing animations.
Stars: ✭ 28 (+64.71%)
Mutual labels:  tkinter
YouTube-Tutorials--Italian
📂 Source Code for (some of) the Programming Tutorials from my Italian YouTube Channel and website ProgrammareInPython.it. This is just a small portion of the content: please visit the website for more.
Stars: ✭ 28 (+64.71%)
Mutual labels:  tkinter
Lyft-Perception-Challenge
The 4th place and the fastest solution of the Lyft Perception Challenge (Image semantic segmentation with PyTorch)
Stars: ✭ 69 (+305.88%)
Mutual labels:  self-driving-car
SDRC
Self-Driving RC Car - DIY
Stars: ✭ 37 (+117.65%)
Mutual labels:  self-driving-car
OFDL
media downloader with graphical user interface
Stars: ✭ 72 (+323.53%)
Mutual labels:  tkinter
openpilot
FOR PRE-AP/AP1/AP2 TESLA CARS ONLY: open source driving agent. You can help development by donating @ https://github.com/sponsors/BogGyver
Stars: ✭ 30 (+76.47%)
Mutual labels:  self-driving-car
Waymo Kitti Adapter
A tool converting Waymo dataset format to Kitti dataset format.
Stars: ✭ 83 (+388.24%)
Mutual labels:  self-driving-car
ttkbootstrap
A supercharged theme extension for tkinter that enables on-demand modern flat style themes inspired by Bootstrap.
Stars: ✭ 512 (+2911.76%)
Mutual labels:  tkinter
road-simulator
🛣️ Easy-to-use road simulator for little self-driving cars
Stars: ✭ 23 (+35.29%)
Mutual labels:  self-driving-car
CarND-LaneLines-P1
First Project Udacity's Self-Driving NanoDegree
Stars: ✭ 23 (+35.29%)
Mutual labels:  self-driving-car
RCAutopilot
Autonomous RC Car powered by a Convoluted Neural Network implemented in Python with Tensorflow
Stars: ✭ 35 (+105.88%)
Mutual labels:  self-driving-car
Swayam-Self-Driving-Car
This is an implementation of various algorithms and techniques required to build a simple Self Driving Car. A modified versions of the Udacity Self Driving Car Simulator is used as a testing environment.
Stars: ✭ 17 (+0%)
Mutual labels:  self-driving-car

self-driving-car-simulator

The core technology behind Self Driving Cars today. Given the image of a road at a time frame, it can decide where to turn the steering and how much. I am working continuously to generalize it to as many different terrains as possible.
It uses a Convolutional Neural Network to predict the motion of the steering given the image of a road at a time.

Requirements: Python 3.5 ,Keras 2.0.2 , Tensorflow 1.2.1 , OpenCV 3.2, numpy 1.11.0

This approach uses Regression for predicting the angle of steering, and is clearly more successful and accurate than the classification approach which I used before. Regression provides flexibility to the results.

Regression approach

alt tag

Classification approach

alt tag

How to:

Use:

 $ python drive.py   
 You can use it either on a live video feed from the webcam, or a pre saved video on disk for the demo.    

Train your own model:

 Use the script cnn_train.py or train_cnn2.py(branch 2 named Regression-Approach). Make sure the datset is ready.

Generate the dataset:

 Use the script generate_data.py to generate the dataset.    
 It requires the path of a video on disk from which training samples will be generated along with the action taken by the user.    
 It automatically puts a frame in the right folder(class) according to actions taken by user while generating data.     

Contents /Scripts:

-cnn_train.py :

    To train the  model.    

-train_cnn2.py:

    This file is in branch named "Regression-Approach". This is to train the regressive model.    

-generate_data.py :

    To generate the dataset from random videos.    

- simulator_gui.py :

    The class that provides the GUI for simulator.    

-drive.py

    The main script that starts the simulator.    

-model2.json, model4.json :

    The pre trained models on 4 differnt terrains. Note that the model2.json is different in both the branches.    

-weights2.hdf5, weights4.hdf5 :

    Weights of the corresponding models.    

About The Model:

The classification based model:
alt tag
The regression based model:
alt tag

Trained using Backpropogation algorithm with stochastic gradint descent.

Accuracies after 10 epochs:

For classification based model:

-Train acc: 96.4665%    
-Test acc : 88.5039%     

It may seem like it has been overfit. But no. It was the test set, which contained some wrong examples.

For regression based model:

-Train error: 2.0311  (Mean absolute error)     
-Test error:  2.4532   
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].