- Personal project
- Runs locally
- Sep–Dec 2022
Self-Driving Car
Behavioral cloning: a CNN based on NVIDIA's end-to-end architecture learns to steer a car from recorded driving in a simulator.
- My role
- Solo project.
- Key result
- 98% lane-keeping accuracy and one-hour drives without a fault, in simulated environments.
- Technologies
- Python
- CNN (NVIDIA end-to-end architecture)
- Data augmentation
- Skills shown here
What I owned
- Data preparation
- Modeling
- Evaluation
In [1]:Problem and constraints
Learn steering straight from camera images, without hand-written lane rules.
In [2]:Data and preparation
Camera frames recorded while driving in the simulator, each paired with its steering angle, and augmented to cover more road conditions.
In [3]:Baseline and evaluation design
Driving in simulated environments: how well the car keeps its lane, and how long it drives without a fault.
In [4]:Architecture and modeling decisions
NVIDIA's end-to-end CNN maps one camera frame to a steering angle, a proven design for behavioral cloning.
In [5]:Implementation and integration
A preprocessing and augmentation pipeline, CNN training, and a script that sends the model's steering to the simulator.
Out[5]:Results and evidence
- 98% lane-keeping accuracy and one-hour drives without a fault, in simulated environments.
- In simulator testing, 5× testing throughput and 85% less manual intervention.
In [6]:Limitations, failures, and lessons
- Simulator only, steering only. Real roads would need far more varied data and safety checks.