Skip to content

anandr07/Steering-Angle-Prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autonomous Car Steering Control using Convolutional Neural Networks

Overview

This project implements an end-to-end deep learning approach for autonomous car steering control using Convolutional Neural Networks (CNNs). The model used is the DAVE-2 end-to-end CNN Model developed by Nvidia with some modifications, it is designed to map raw pixel data from a front-facing camera directly to steering commands, enabling self-driving functionality. Unlike traditional approaches that require manual decomposition of tasks such as lane detection, semantic abstraction, path planning, and control, the DAVE-2 system learns to perform these tasks automatically from human steering angle data.

Key Features

  • End-to-End Learning: The system learns the internal representations necessary for processing raw pixel data to generate steering commands without the need for explicit feature extraction or task decomposition.
  • Minimal Training Data: Despite the complexity of the task, the system requires only a small amount of training data, typically less than a hundred hours of driving, to operate effectively in diverse conditions.
  • Robustness: While the system demonstrates impressive performance, further work is needed to improve its robustness and verification methods.
  • Visualization: Efforts are ongoing to improve visualization techniques to better understand the internal processing steps of the network.

Implementation Details

The system is implemented using TensorFlow, a popular deep learning framework. It consists of a convolutional neural network architecture that takes raw pixel data from a front-facing camera as input and outputs steering commands. The network is trained using supervised learning, where the steering angle serves as the training signal. The loss function is defined to minimize the difference between predicted and actual steering angles while incorporating L2 regularization to prevent overfitting.

Project Structure

  • driving_data: Module containing functions for loading training and validation data.
  • model: Module defining the architecture of the CNN model.
  • train.py: Main script for training the model.
  • README.md: Detailed description of the project and instructions for usage.

Usage

  1. Ensure TensorFlow and other dependencies are installed.
  2. Run the train.py script to train the model using the provided dataset.
  3. Monitor training progress and model performance using TensorBoard.
  4. Evaluate the trained model on new data or deploy it for autonomous driving tasks.

Future Work

  • Enhance robustness and reliability of the system under diverse environmental conditions.
  • Explore methods for verifying the robustness of the network's internal representations.
  • Improve visualization techniques to gain insights into the network's decision-making process.

References


By [Your Name] - [Your Contact Information] - [Date]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages