S9932: LEARNING TO BOOST S9932: LEARNING TO BOOST ROBUSTNESS FOR - - PowerPoint PPT Presentation

s9932 learning to boost s9932 learning to boost
SMART_READER_LITE
LIVE PREVIEW

S9932: LEARNING TO BOOST S9932: LEARNING TO BOOST ROBUSTNESS FOR - - PowerPoint PPT Presentation

S9932: LEARNING TO BOOST S9932: LEARNING TO BOOST ROBUSTNESS FOR ROBUSTNESS FOR AUTONOMOUS DRIVING AUTONOMOUS DRIVING Bernhard Firner, March 20, 2019 AUTONOMOUS DRIVING Sounds simple Actually pretty diffjcult Can start with sub-domains to


slide-1
SLIDE 1

Bernhard Firner, March 20, 2019

S9932: LEARNING TO BOOST S9932: LEARNING TO BOOST ROBUSTNESS FOR ROBUSTNESS FOR AUTONOMOUS DRIVING AUTONOMOUS DRIVING

slide-2
SLIDE 2

2

AUTONOMOUS DRIVING

Actually pretty diffjcult Can start with sub-domains to simplify Robustness must be a goal from the start

Sounds simple

slide-3
SLIDE 3

“The fjrst 90 percent of the code accounts for the fjrst 90 percent

  • f the development time. The

remaining 10 percent of the code accounts for the other 90 percent

  • f the development time.”

T

  • m Cargill, Bell Labs
slide-4
SLIDE 4

4

NINETY-NINETY RULE

Without robustness we can be perpetually “almost there” If testing is too hard it won’t happen until it is too late There is always one more corner case left to take care of...

slide-5
SLIDE 5

5

MANY CORNER CASES

slide-6
SLIDE 6

6

NVIDIA NEW JERSEY GROUP

Diverse roads nearby Diverse weather in NJ Early focus on robustness and testing

Located in historic Bell Labs building

slide-7
SLIDE 7

7

MAIN IDEAS IN THIS TALK

Learn from human behavior with minimal hand-labeling Diversity – Combines well with traditional systems to make them more robust Scalability – Low efgort to add more training data Create new testing tools that are fast, realistic, and reproducible

Train on lots of data and test often

slide-8
SLIDE 8

PILOTNET

slide-9
SLIDE 9

9

PILOTNET OVERVIEW

Use human driving to create training labels for neural network Low labeling overhead means the approach can scale to required data diversity Ensemble with other approaches to get diversity and robustness Just one piece of the autonomous system

slide-10
SLIDE 10

10

THE PILOTNET APPROACH

Learning to predict a human path

Sensor data

CNN predicted path Training data Human driven path Record data from lots of humans driving their cars:

  • Sensor data
  • Human driven path

Error (training) signal

CNN Path (world coordinates) Similar to Pomerleau 1989: ALVINN http://repository.cmu.edu/cgi/viewcontent.cgi?article=2874&context=compsci

slide-11
SLIDE 11

11

TRAINING LABELS

Create a path (x,y,z) from egomotion using IMU and GPS Image input, world space predictions (e.g. meters) Predict where a human would drive the vehicle

World space coordinates

slide-12
SLIDE 12

12

TRAINING LABELS

Not all data is the same though! Sequences are curated by driving quality and maneuver For example, lane changes, splits, junk The model can predict difgerent paths for difgerent objectives

Dealing with difgerent behaviors

slide-13
SLIDE 13

13

TRAINING LABELS

Sometimes something bad happens How can the neural network recover? We can’t collect training data with drivers drifting all over, that isn’t safe.

Dealing with the unexpected

slide-14
SLIDE 14

14

TRAINING LABELS

Start with good data Perspective transform to a “bad” spot Use the “good” coordinates as the label

Augmenting the data

slide-15
SLIDE 15

15

DATA AUGMENTATION

Image are transformed from the recorded views to a target camera using a viewport transform. The image is rectifjed to a pinhole source, the perspective is transformed, then we re-warp to the target camera. This assumes a fmat world, so there is some distortion.

Under the hood

Source transformed to target

slide-16
SLIDE 16

16

DATA AUGMENTATION

We collect with a camera that has a greater fjeld of view than the driving camera This allows us to simulate a fjeld of view shifted to the side without running out of pixels Also allows us to collect with a camera in one location and transform to a camera in another location for driving

Under the hood

slide-17
SLIDE 17

17

IMAGE AUGMENTATION EXAMPLE

Target camera Source camera

slide-18
SLIDE 18

18

IMAGE AUGMENTATION EXAMPLE

Target camera Rectify Warp

slide-19
SLIDE 19

19

DRIVING WITH IMPLICIT RULES

Scale capabilities with data

slide-20
SLIDE 20

20

WORLD SPACE PREDICTIONS

Address limitations of image-space predictions

2D Trajectory 3D Trajectory

slide-21
SLIDE 21

21

LEARNED TURNS

Learn difgerent humans behaviors

slide-22
SLIDE 22

22

PILOTNET GOALS RECAP

Robustness through scalability and diversity

Sensing Decision-Making

Semantic Abstraction Traditional Approach Learned Rules/Learned Learned Autonomy Learned

slide-23
SLIDE 23

23

PILOTNET GOALS RECAP

Robustness through scalability and diversity

Sensing Decision-Making

Semantic Abstraction Traditional Approach Learned Rules/Learned Learned Autonomy Learned Scales with data Diversity

slide-24
SLIDE 24

EVALUATION AND TESTING

slide-25
SLIDE 25

25

TESTING

Real-world testing is the gold standard However, it can be slow, dangerous, and expensive Results are also subjective Simulation seems like a reasonable substitute

How do we know it’s working?

slide-26
SLIDE 26

26

SIMULATION

  • Addresses issues

with real-world testing

  • T

est set can be created at will

slide-27
SLIDE 27

27

SIMULATION

Let’s just create a photo-realistic world for testing Safe, fast, and reproducible

slide-28
SLIDE 28

28

SIMULATION DRAWBACKS

Will only test what we remember to simulate We may remember one thing (rain) and forget another (snow melt)

slide-29
SLIDE 29

29

SIMULATION

  • Addresses issues

with real-world testing

  • T

est set can be created at will

  • Diffjcult to correctly

model all behaviors and distributions

slide-30
SLIDE 30

30

PREDICTION ERROR SIMULATION

  • Addresses issues

with real-world testing

  • T

est set can be created at will

  • Diffjcult to correctly

model all behaviors and distributions

  • Uses real data!
  • Simple! (Mean

Squared Error, etc)

slide-31
SLIDE 31

31

PREDICTION ERROR

Simple and easy to understand (measure the distance between two lines)

slide-32
SLIDE 32

32

PREDICTION ERROR DRAWBACKS

The blue line is obviously better than the red one

slide-33
SLIDE 33

33

PREDICTION ERROR DRAWBACKS

How about now? The blue line is ofgset so the vehicle will be ofg-center. The red line is closer to the center, but then leaves the lane.

slide-34
SLIDE 34

34

PREDICTION ERROR DRAWBACKS

How about now? The blue line is ofgset so the vehicle will be ofg-center. The red line is closer to the center, but would be unpleasant.

slide-35
SLIDE 35

35

PREDICTION ERROR DRAWBACKS

Looking at prediction error is very easy Not very robust A prediction that is slightly ofg-center may be preferable to one that fails suddenly or is incredible uncomfortable

Not a robust statistics

slide-36
SLIDE 36

36

PREDICTION ERROR SIMULATION

  • Addresses issues

with real-world testing

  • T

est set can be created at will

  • Diffjcult to correctly

model all behaviors and distributions

  • Uses real data!
  • Simple! (Mean

Squared Error, etc)

  • Good result doesn’t

mean good driving!

slide-37
SLIDE 37

37

PREDICTION ERROR AUGMENTED RE- SIMULATION SIMULATION

  • Addresses issues

with real-world testing

  • T

est set can be created at will

  • Diffjcult to correctly

model all behaviors and distributions

  • Uses real data!
  • Simple! (Mean

Squared Error, etc)

  • Good result doesn’t

mean good driving!

  • Simulates using real

data!

  • Somewhat simple
slide-38
SLIDE 38

38

AUGMENTED RESIMULATION

Neural network prediction path Viewport transform Update car position and

  • rientation

Ofgset and rotation Original image Transformed to new location Augmented Resimulator Library of recorded test routes Controller produces steering

slide-39
SLIDE 39

39

AUGMENTED RESIM EXAMPLE

slide-40
SLIDE 40

40

AUGMENTED RESIM ADVANTAGES

Measure multiple statistics objectively: MAD: Mean Autonomous Distance, or how far we can drive without failing Comfort: How smooth is the ride? Precision: Do we drive in the center of the road? The three metrics are not necessarily correlated!

Safe, repeatable, and objective

Source transformed to target

slide-41
SLIDE 41

41

AUGMENTED RESIM DRAWBACKS

Image transformations introduce artifacts not seen in the real world Data must be collected.

Not a perfect recreation

Source transformed to target

slide-42
SLIDE 42

42

PREDICTION ERROR AUGMENTED RE- SIMULATION SIMULATION

  • Addresses issues

with real-world testing

  • T

est set can be created at will

  • Diffjcult to correctly

model all behaviors and distributions

  • Uses real data!
  • Simple! (Mean

Squared Error, etc)

  • Good result doesn’t

mean good driving!

  • Simulates using real

data!

  • Somewhat simple
  • T

est set must be collected

  • Artifacts
slide-43
SLIDE 43

43

A COMBINATION OF TESTS IS BEST

REAL WORLD TESTS SIMULATION RE-SIMULATION PREDICTION ERROR

slide-44
SLIDE 44

LESSONS LEARNED

slide-45
SLIDE 45

45

TEST EARLY, TEST OFTEN

Augmented resim and simulated data allow us to test early and often It is important to catch a weakness in the current approach early for two reasons:

  • 1. It may take a long time to address
  • 2. It may require new kinds of sensor data

Frequent testing also gives a historical perspective about your rate of progress

Lessons learned

slide-46
SLIDE 46

46

REAL-WORLD TESTING IS AMBIGUOUS

Real-world testing is biased by what is close to you. Someone in another location may have completely difgerent results People do not agree on how good or bad something feels or how two systems compare It is very time-consuming to drive around searching for a failure

We get into a lot of arguments

slide-47
SLIDE 47

47

REPEATABILITY IS KEY

It is too hard to debug something if you can’t repeat it This also allows you to develop metrics that capture the error

Stop arguing, start fjxing

slide-48
SLIDE 48

48

TAKEAWAYS

Learning directly from human actions make labeling inexpensive This allows us to scale as we collected more data Since the labels are difgerent than from a traditional approach we can combine them to increase robustness Testing and evaluation should be done in multiple ways and as often as possible Getting as close as possible to the real-world while still having repeatability is vital

Applicable anywhere

slide-49
SLIDE 49