All Projects → songyanho → Reinforcement Learning For Self Driving Cars

songyanho / Reinforcement Learning For Self Driving Cars

Licence: apache-2.0
Project on design and implement neural network that maximises driving speed of self-driving car through reinforcement learning.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Reinforcement Learning For Self Driving Cars

Metacar
A reinforcement learning environment for self-driving cars in the browser.
Stars: ✭ 337 (+296.47%)
Mutual labels:  self-driving-car, reinforcement-learning
Simulator
A ROS/ROS2 Multi-robot Simulator for Autonomous Vehicles
Stars: ✭ 1,260 (+1382.35%)
Mutual labels:  self-driving-car, reinforcement-learning
Neurojs
A JavaScript deep learning and reinforcement learning library.
Stars: ✭ 4,344 (+5010.59%)
Mutual labels:  self-driving-car, reinforcement-learning
Easy Tensorflow
Simple and comprehensive tutorials in TensorFlow
Stars: ✭ 2,871 (+3277.65%)
Mutual labels:  reinforcement-learning, convolutional-neural-networks
Traffic Sign Classifier
Udacity Self-Driving Car Engineer Nanodegree. Project: Build a Traffic Sign Recognition Classifier
Stars: ✭ 12 (-85.88%)
Mutual labels:  self-driving-car, convolutional-neural-networks
Self Driving Truck
Self-Driving Truck in Euro Truck Simulator 2, trained via Reinforcement Learning
Stars: ✭ 307 (+261.18%)
Mutual labels:  self-driving-car, reinforcement-learning
Deepdrive
Deepdrive is a simulator that allows anyone with a PC to push the state-of-the-art in self-driving
Stars: ✭ 628 (+638.82%)
Mutual labels:  self-driving-car, reinforcement-learning
Self Driving Car
Udacity Self-Driving Car Engineer Nanodegree projects.
Stars: ✭ 2,103 (+2374.12%)
Mutual labels:  self-driving-car, convolutional-neural-networks
Deepgtav
A plugin for GTAV that transforms it into a vision-based self-driving car research environment.
Stars: ✭ 926 (+989.41%)
Mutual labels:  self-driving-car, reinforcement-learning
Machine Learning Curriculum
💻 Make machines learn so that you don't have to struggle to program them; The ultimate list
Stars: ✭ 761 (+795.29%)
Mutual labels:  reinforcement-learning, convolutional-neural-networks
Vel
Velocity in deep-learning research
Stars: ✭ 267 (+214.12%)
Mutual labels:  reinforcement-learning, convolutional-neural-networks
Gtsrb
Convolutional Neural Network for German Traffic Sign Recognition Benchmark
Stars: ✭ 65 (-23.53%)
Mutual labels:  self-driving-car, convolutional-neural-networks
Awesome Carla
👉 CARLA resources such as tutorial, blog, code and etc https://github.com/carla-simulator/carla
Stars: ✭ 246 (+189.41%)
Mutual labels:  self-driving-car, reinforcement-learning
Youtube Code Repository
Repository for most of the code from my YouTube channel
Stars: ✭ 317 (+272.94%)
Mutual labels:  reinforcement-learning, convolutional-neural-networks
Image To 3d Bbox
Build a CNN network to predict 3D bounding box of car from 2D image.
Stars: ✭ 200 (+135.29%)
Mutual labels:  self-driving-car, convolutional-neural-networks
Tensorflow Book
Accompanying source code for Machine Learning with TensorFlow. Refer to the book for step-by-step explanations.
Stars: ✭ 4,448 (+5132.94%)
Mutual labels:  reinforcement-learning, convolutional-neural-networks
Multiagenttorcs
The multi-agent version of TORCS for developing control algorithms for fully autonomous driving in the cluttered, multi-agent settings of everyday life.
Stars: ✭ 122 (+43.53%)
Mutual labels:  self-driving-car, reinforcement-learning
Self Driving Golf Cart
Be Driven 🚘
Stars: ✭ 147 (+72.94%)
Mutual labels:  self-driving-car, convolutional-neural-networks
Tensorflow Tutorial
TensorFlow and Deep Learning Tutorials
Stars: ✭ 748 (+780%)
Mutual labels:  reinforcement-learning, convolutional-neural-networks
Ml In Tf
Get started with Machine Learning in TensorFlow with a selection of good reads and implemented examples!
Stars: ✭ 45 (-47.06%)
Mutual labels:  reinforcement-learning, convolutional-neural-networks

NTU logo

Nanyang Technological University, Singapore

School of Computer Science and Engineering(SCSE)


Final Year Project: SCE17-0434

Reinforcement Learning for Self-Driving Cars



Abstract

This project implements reinforcement learning to generate a self-driving car-agent with deep learning network to maximize its speed. The convolutional neural network was implemented to extract features from a matrix representing the environment mapping of self-driving car. The model acts as value functions for five actions estimating future rewards. The model is trained under Q-learning algorithm in a simulation built to simulate traffic condition of seven-lane expressway. After continuous training for 2340 minutes, the model learns the control policies for different traffic conditions and reaches an average speed 94 km/h compared to maximum speed of 110 km/h.

Simulator

screenshot Simulator running under macOS High Sierra environment

Requirements

  • Tensorflow
  • pygame
  • NumPy
  • PIL

Model architecture

architecture High level model architecture design

tensorflow structure Graph structure in Tensorflow

Results

Average speed

chart Average speed against number of training episode

Score

chart Score against number of training episode

Training loss

chart Loss against number of training episode

Sum of Q-values

chart Sum of Q-values against number of training episode

Evaluation

Traffic condition Description
1. Light traffic Maximum 20 cars are simulated with plenty room for overtaking.
2. Medium traffic Maximum 40 cars are simulated with lesser chance to overtake other cars.
3. Heavy traffic Maximum 60 cars are simulated to simulate heavy traffic.

chart Condition 1: Average speed against average number of emergency brake applied

chart Condition 2: Average speed against average number of emergency brake applied

chart Condition 3: Average speed against average number of emergency brake applied

Biblography

  1. Sallab, A.E., Abdou, M., Perot, E., and Yogamani, S.: ‘Deep reinforcement learning framework for autonomous driving’, Electronic Imaging, 2017, 2017, (19), pp. 70-76
  2. Sutton, R.S.: ‘Learning to predict by the methods of temporal differences’, Machine learning, 1988, 3, (1), pp. 9-44
  3. Bellemare, M.G., Veness, J., and Bowling, M.: ‘Investigating Contingency Awareness Using Atari 2600 Games’, in Editor (Ed.)^(Eds.): ‘Book Investigating Contingency Awareness Using Atari 2600 Games’ (2012, edn.), pp.
  4. Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., and Riedmiller, M.: ‘Playing atari with deep reinforcement learning’, arXiv preprint arXiv:1312.5602, 2013
  5. Bojarski, M., Del Testa, D., Dworakowski, D., Firner, B., Flepp, B., Goyal, P., Jackel, L.D., Monfort, M., Muller, U., and Zhang, J.: ‘End to end learning for self-driving cars’, arXiv preprint arXiv:1604.07316, 2016
  6. Chen, C., Seff, A., Kornhauser, A., and Xiao, J.: ‘Deepdriving: Learning affordance for direct perception in autonomous driving’, in Editor (Ed.)^(Eds.): ‘Book Deepdriving: Learning affordance for direct perception in autonomous driving’ (2015, edn.), pp. 2722-2730
  7. Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A.A., Veness, J., Bellemare, M.G., Graves, A., Riedmiller, M., Fidjeland, A.K., and Ostrovski, G.: ‘Human-level control through deep reinforcement learning’, Nature, 2015, 518, (7540), pp. 529-533
  8. Yu, A., Palefsky-Smith, R., and Bedi, R.: ‘Deep Reinforcement Learning for Simulated Autonomous Vehicle Control’, Course Project Reports: Winter, 2016, pp. 1-7
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].