Transcript
Page 1: Supervised Learning for Autonomous Drivingcs229.stanford.edu/proj2017/final-posters/5147607.pdf · Supervised Learning for Autonomous Driving Greg Katz, Abhishek Roushan and Abhijeet

Supervised Learning for Autonomous DrivingGreg Katz, Abhishek Roushan and Abhijeet Shenoi {gkatz,aroushan,ashenoi}@stanford.edu

Stanford University

Abstract

In this work, we use supervised learning to predict steering and throttle inputs from rawimages generated in a real-time simulation environment. We demonstrate the capabilityof the model by driving autonomously and comparing the behavior to the training data.

Data Collection and Processing

Raw training data

-1 -0.5 0 0.5 1Normalized Steering Input

0

1000

2000

3000

4000

# of

occ

uren

ces

Augmented training data

-1 -0.5 0 0.5 1Normalized Steering Input

0

2000

4000

6000

8000

10000

12000

# of

occ

uren

ces

Figure: Comparison of Raw and Augmented Steering Angles

Figure: Typical simulator images and inputs to the network

The images from the simulator were cropped, and converted to grayscale before beingused for training. The dataset was augmented by flipping the images horizontally andreversing the steering angles. Moreover, the simulator provides additional left and rightcamera views, which we used with a tunable steering correction factor. Finally, weexperimented with and without an exponential smoothing of the steering joystick input.

Model Selection

We selected from five different model types by training each on a single data set andjudging the following:•Error vs epoch (to check optimization convergence)•Learning curve (bias vs variance indicator)•Training and Validation error•Cross track error (Figure of merit: model driving well on track)

(a) Training and Validation Error (b) Cross track errorsFigure: Training and Validation Error & Cross track errors for all models

(a) NVIDIA (b) LSTMFigure: Network Structures

Model Training

(a) NVIDIA model (b) LSTM modelFigure: Training and Validation Errors

Once we selected NVIDIA and LSTM we tuned the training to minimize validation error.Over-fitting was combated by using dropout with a probability of 0.2 or by early stopping.Training was done with mini-batch stochastic gradient descent on a mean squared errorloss, using the Adam optimization method.

Results

0 200 400 600 800 1000 1200 1400 1600 1800 2000training example

-0.6

-0.4

-0.2

0

0.2

0.4

stee

ring

NVIDIA 10 mph, RMSE = 0.059

LabelModel Prediction

0 200 400 600 800 1000 1200 1400 1600 1800 2000training example

-0.6

-0.4

-0.2

0

0.2

0.4

stee

ring

NVIDIA 30 mph smoothed, RMSE = 0.073

LabelModel Prediction

0 0.2 0.4 0.6 0.8 1percentile

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

stee

ring

NVIDIA 10mph

LabelModel Prediction

0 0.2 0.4 0.6 0.8 1percentile

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

stee

ring

NVIDIA 30 mph smoothed

LabelModel Prediction

Figure: Steering angle Predictions on center camera test data

Model ForwardTrack

ReverseTrack

NVIDIA 20 15LSTM 22 25

Table: Max stable speed (mph)

0 200 400 600 800 1000 1200Down Range

-0.5

0

0.5

stee

ring

NVIDIA driving autonomously at 20 mph

TrainingAutonomous

0 200 400 600 800 1000 1200Down Range

0

1

2

3

Cro

ss R

ange

NVIDIA driving autonomously at 20 mph

TrainingAutonomous

0 200 400 600 800 1000 1200Down Range

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

stee

ring

LSTM Autonomous

TrainingAutonomous

0 200 400 600 800 1000 1200Down Range

0

10

20

30

40

50

spee

d

LSTM Autonomous

TrainingAutonomous

Figure: Autonomous Driving

Observations and Inferences

•Both models were able to complete the training and test (reverse) tracks•Although autonomous driving was a success, the steering behavior was quite noisyperhaps because of the use of left and right camera images

•Difficult to determine exact relationship between validation error and on-trackperformance

Future Work

•Creating custom tracks/scenarios which thoroughly test driving capability andanalyze failures effectively

•Preprocessing images to remove unnecessary background textures should allow us togeneralize better

•Learning to drive is inherently suited to an RL framework, which gives us a newapproach to this problem

References

[1] Bojarski et al.End to end learning for self-driving cars.arXiv preprint arXiv:1604.07316, 2016.

[2] Udacity-an open source self-driving car.https://github.com/udacity/self-driving-car-sim, 2017.

[3] François Chollet et al.Keras.https://github.com/fchollet/keras, 2015.

Top Related