Self-Driving Car Simulation
Published:
Project Overview
This deep learning project implements an autonomous vehicle control model using behavioral cloning. By training on dashboard camera feeds and corresponding human steering actions recorded inside a simulator environment, the neural network learns to predict optimal steering angles dynamically to keep the vehicle centered on a winding course.
Key Features & Objectives
- Behavioral Cloning Pipeline: Maps camera image streams directly to continuous steering control parameters.
- Real-time Image Augmentation: Preprocesses image states dynamically during training to handle variations in lighting, shadows, and recovery angles.
- End-to-End Deep Learning: Bypasses manual road marker mapping, extracting steering features directly from raw image inputs.
Technical Stack & Technologies
- Language: Python
- Frameworks: TensorFlow, Keras
- Computer Vision: OpenCV (image processing)
- Simulator Platform: Udacity Self-Driving Car Simulator
Core Techniques & Deep Architectures
- NVIDIA CNN Architecture: Implemented a stacked deep convolutional neural network mirroring the NVIDIA autonomous vehicle setup (5 convolutional layers for spatial feature extractions followed by 4 fully connected dense layers).
- Camera Angle Recovery Offset: Incorporated left and right camera perspective offset calculations (adding directional bias) to train the model to recover if the vehicle drifts toward road edges.
- Data Augmentation Pipeline: Designed real-time image augmentation filters (random translations, brightness modulations, horizontal flips, and cropping) to prevent overfitting to the course layout.