• No results found

Online Learning for Offroad Robots: Using Spatial Label Propagation to Learn Long Range Traversability

N/A
N/A
Protected

Academic year: 2021

Share "Online Learning for Offroad Robots: Using Spatial Label Propagation to Learn Long Range Traversability"

Copied!
47
0
0

Loading.... (view fulltext now)

Full text

(1)

Online Learning for Offroad Robots:

Using Spatial Label Propagation to Learn  Long­Range Traversability

Raia Hadsell

1

, Pierre Sermanet

1,2

, Jan Ben

2

, Ayse Naz Erkan

1

,  Jefferson Han

1

, Beat Flepp

2

, Urs Muller

2

, Yann LeCun

1

(1) Courant Institute of Mathematical Sciences, New York University

(2) Net­Scale Technologies, Morganville, NJ

(2)

2

Problem Definition

Vision­based Navigation for Mobile Robots

Structured indoor environments Unstructured indoor environments

Structured outdoor environments (road­following) Unstructured outdoor environments

goal vs. non­goal driven

(3)

3

Problem Definition

Vision­based Navigation for Mobile Robots

Unstructured outdoor environments Primary tasks (for goal­driven systems):

Obstacle avoidance Landmark detection Path planning

Position estimation

Map building

(4)

4

Motivation: stereo shortcomings

Vision­based navigation often done using stereo

Find disparities between 2 calibrated camera images

Ground/obstacle points identified using estimated ground plane

Stereo maps are short­range, noisy, and prone to error (tall grass)

Navigating in fog

(5)

5

Motivation: Beyond Stereo

Beyond stereo:  Long­range obstacle detection

Obstacles, cul­de­sacs, dead ends promising paths

manmade structures

collapsible vs. non­collapsible  vegetation

Robustness 

adaptation to new terrain

memory of old terrain

(6)

6

Previous Work

Supervised Learning applied to Autonomous Navigation

Learning steering angles directly from images:

ALVINN  [Pomerlau, Robot Learning, 1993];  MANIAC  [Jochem et al., IROS, 1995]

DAVE  [LeCun et al., NIPS, 2005]

[Gaussier et al., IROS 1997], [Jones et al., IROS 1997]

Learning obstacles from images:

NEURO­NAV  [Meng and Kak, ICRA 1993]

[Manduchi et al., Autonomous Robot 2003]

[Huertas et al., Workshop of Applications of Computer Vision 2005]

Demo III  [Hong et al., Aeroscience Conference 2002]

[Hong et al., ICRA 2002]

[Rasmussen, ICRA 2002]

(7)

7

Previous Work

Self­Supervised Learning applied to Autonomous Navigation

Near­to­Far Learning: A reliable (but limited scope) module provides labels  to train another module (with wider scope). 

LADAR module ­­­> satellite image pixels (traversability)

[Sofman et al. Improving robot navigation through self­supervised online learning. RSS 2006.]

Wheel data ­­­> LADAR features (terrain roughness)

[Stavens, Thrun. A self­supervised terrain roughness estimator for offroad autonomous driving. 

UAI 2006.]

Wheel data ­­­> LADAR features (load­bearing surface)

[Wellington, Stentz. Online adaptive rough­terrain navigation in vegetation. ICRA 2004.]

Vehicle location ­­­> color camera patches (road detection)

[Dahlkamp et al. Self­supervised monocular road detection in desert terrain. RSS, June 2006.]

Bumper hits, wheel current ­­> color camera features (traversability)

[Kim et al. Traversibility classification using unsupervised on­line visual learning for 

outdoor robot navigation. ICRA 2006]

(8)

8

LAGR Robotic Platform

LAGR  (Learning Applied to Ground Robots)

DARPA program 2005­2008

8 competing research labs develop navigation software for single  platform

Periodic testing in unfamiliar terrain

CMU/NREC designed platform and baseline software Platform:

4 color cameras (2 stereo pairs, 640x480) GPS receiver

2 front bumper switches

Onboard IMU (inertial measurement unit)

4 onboard 1.2Ghz computers

(9)

9

LAGR Robotic Platform

(10)

10

LAGR Robotic Platform

(11)

11

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(12)

12

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(13)

13

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(14)

14

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(15)

15

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(16)

16

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(17)

17

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(18)

18

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(19)

19

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(20)

20

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(21)

21

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(22)

22

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(23)

23

Learning Framework

Paradigm : Near­to­Far Self­Supervised Learning Inputs: large windows from image

Labels: Stereo module 

Classifier: convolutional neural network (feature extraction) 

+ online logistic regression

(24)

24

Control Loop Overview

I. Pre­Processing 

II. Labeling and Feature Extraction  III. Label Propagation 

IV. Online Training and Classification 

(25)

25

Control Loop: Preprocessing

I. Pre­Processing 

1) Image rectification and stereo algorithm  ­> image + point cloud

2) Ground plane estimation ­> image + point cloud + plane equation

3) Convert to YUV, normalization ­> YUV image + point cloud + plane eq.

4) Horizon leveling and distance/scale normalization  ­> image pyramid

(26)

26

Control Loop: Preprocessing

I. Pre­Processing 

1) Image rectification and stereo algorithm  ­> image + point cloud

2) Ground plane estimation ­> image + point cloud + plane equation

3) Convert to YUV, normalization ­> YUV image + point cloud + plane eq.

4) Horizon leveling and distance/scale normalization  ­> image pyramid

P= [ p

0,

p

1,

p

2,

p

3

]

(27)

27

Control Loop: Preprocessing

I. Pre­Processing 

1) Image rectification and stereo algorithm  ­> image + point cloud 2) Ground plane estimation ­> image + point cloud + plane equation

3) Convert to YUV, normalization ­> YUV image + point cloud + plane 

4) Horizon leveling and distance/scale normalization  ­> image pyramid

P=

[

p0,p1,p2,p3

]

P= [ p

0,

p

1,

p

2,

p

3

]

(28)

28

Control Loop: Preprocessing

I. Pre­Processing 

1) Image rectification and stereo algorithm  ­> image + point cloud 2) Ground plane estimation ­> image + point cloud + plane equation

3) Convert to YUV, normalization ­> YUV image + point cloud + plane eq.

4) Horizon leveling, distance/scale normalization ­> image pyramid

P=

[

p0,p1,p2,p3

]

P=

[

p0,p1,p2,p3

]

(29)

29

Preprocessing

Distance­normalized image pyramid

Better learning with large windows rather than simple patches­ 

context, transitions, feet 

But, aspect varies severely, makes generalization from near to far  impossible

Solution: normalize so that height of an object is independent of  distance from camera.

c a

extracted windows distance­normalized 

b

d

e

a b

c d e a b c d e

(30)

30

Distance­normalized image pyramid

20 bands from 1 to 35 meters

Uniform height (16 pixels), variable width

Preprocessing

(a). sub­image extracted from 

far range. (21.2 m from robot).  (b). sub­image extracted at  close range. (2.2 m from  robot). 

(a)

(b)

(c). the pyramid, with rows (a) and (b) 

corresponding to sub­images at left.

(31)

31

Control Loop Overview

I. Pre­Processing 

II. Labeling and Feature Extraction  III. Label Propagation 

IV. Online Training and Classification 

(32)

32

Control Loop: Training Set

II. Labeling and Feature Extraction 

1)Histogram of stereo point cloud; heuristics to determine cost.

­> training labels

2)Feature extraction using convolutional neural network

­> pyramid of feature vectors

Convolutional neural  network (2 layers)

F

W

Stereo­based obstacle detector

F W X  1. . p ,Y 1. . p

 samples      labels

X

i

(33)

33

Convolutional Neural Network: 

Output of convolutional network: feature vector (120 components) Trained offline using 150 diverse logfiles (1.2 million samples)

48 7x6 filters (first layer), 5x3 filters (second layer), 80 outputs Low­level features are pooled

Learns highly discriminative features Naturally shift and scale invariant

 Feature Extraction

(34)

34

Convolutional Neural Network: 

 Feature Extraction

6x5x3 input window

YUV image band 16 pixels tall

Convolutions with 7x6 kernels

3x16x11 input window 6x10x6 input window

Pooling/subsampling with 2x2 kernels

6x5x3 input window

Convolutions with 5x3 kernels

80x1x1 input window

Logistic regression 80 features -> 3 classes 80 features per

3x16x11 input window

(35)

35

Control Loop Overview

I. Pre­Processing 

II. Labeling and Feature Extraction  III. Label Propagation 

IV. Online Training and Classification 

(36)

36

Control Loop: Training Set

III. Label Propagation 

1)Insert current samples (feature vectors) into QuadTree 2)Query QuadTree for concurrent samples

3)Compute probabilistic labels

­> “soft” labeled pyramid

F W X  1. . p , S Y  1. . p

 samples      labels Convolutional neural 

network (2 layers)

F

W

Stereo­based obstacle detector

X

i

(37)

37

View­Invariant Training Samples

Label Propagation with spatially indexed Quad­tree

Time t:   X

i

 has coords (x,y) and label ? 

Time t:  Add  X

i

 to quad­tree at position (x,y) Time t+n:  Stereo gives label  Y

i

 to coords (x,y) Time t+n:  Extract  X

i

 and train with label  Y

i

 

A

B Object is inserted

without a label at time A Query extracts object at

time B and assigns a label

(38)

38

Query at coords (x,y) yields samples  X

i  

and (possibly) labels  Y

i

:  {( X

1

,Y

1

),( X

2

,Y

2

),...( X

m

,Y

m

)}

Compute probabilistic, soft label across  Y :

And propagate over all samples: {( X

1

,Y

s

),( X

2

,Y

s

),...( X

m

,Y

s

)}

View­Invariant Training Samples

P ob = ∣ Y i = ob

Y i = obY i = grP gr =

Y i = gr

Y i = obY i = gr

Y

1

=? Y

2

=­1

Y

1

=? Y

3

=1 Y

4

=1 Y

5

=1 Y

6

=?

(39)

39

Query at coords (x,y) yields samples  X

i  

and (possibly) labels  Y

i

:  {( X

1

,Y

1

),( X

2

,Y

2

),...( X

m

,Y

m

)}

Compute probabilistic, soft label across  Y :

And propagate over all samples: {( X

1

,Y

s

),( X

2

,Y

s

),...( X

m

,Y

s

)}

View­Invariant Training Samples

P ob = ∣ Y i = ob

Y i = obY i = grP gr =

Y i = gr

Y i = obY i = gr

P=0.8 P=0.8 P=0.8 P=0.8 P=0.8 P=0.8

(40)

40

Control Loop Overview

I. Pre­Processing 

II. Labeling and Feature Extraction  III. Label Propagation 

IV. Online Training and Classification 

(41)

41

Classifier: 

trained online on each frame using gradient descent

Output of convolutional network: feature vector D (120 components) Weights W are a logistic regression 

Regularization: decay to default weights, L2 regularization

 Online Learning

X (yuv: 16x11x3)

D

W

y=gW ' D

W'D

Loss:

Learning:

Inference: 

    where:

L=−

i=1 n

logg y⋅W ' D− RW 

L

W = y⋅g−y⋅W ' D D y=gW ' D

gz= 1 1e

−z

D=F

W

X 

(42)

42

 Online Learning Comparison

Red: uninitialized weights

Black: default weights, no online learning

Blue: default weights, online learning

(43)

43

LAGR

long­range vision

Results a

b

c

(44)

44

LAGR long­range vision

Results d

e

f

(45)

45

(46)

46

Failure mode: saturated area is mis­classified

Failure mode: bad ground plane estimate

Failure mode: poor short term memory leads to erratic classification

(47)

47

Long Range Vision on LAGR platform: 

Near­to­Far online learning

we use context­rich image windows, not color histograms Distance­normalized image pyramid

Spatial label propagation 

Convolutional network  for feature extraction Runs at 4­5 hz

Smooth, accurate maps 5 to 35 meters

Caveats

Range estimates can be very poor (ground plane estimation) Glare, close obstacles, tall grass/scrub (poor stereo labels)

Desperate need for visual odometry to correct positioning errors

In Summary

References

Related documents

An interior reinforced-concrete structural shear wall was constructed inboard of the secant pile wall and serves the following purposes: transfer of superstructure

In order to evaluate the performances of indicators, one should also consider the average number of months prior to crisis the first good signal occurs because a variable with lower

Prior research examining the stressors experienced by call operatives has been conducted but to date the experience of working as emergency medical services (EMS) dispatch

In case of corruption frequency, a one percentage point increasing share of individuals with moderate bribe experience (only once or twice in any domain) is associated with a

I forbindelse med en samarbejdsaftale, hvor baggrunden for indgåelsen er kunstig intelligens, må informationsindholdet, der udledes heraf antages at være bærende

They exhibited similarly as anode materials of lithium ion batteries with high initial capacities and reached 173.3 mAh/g and 162.0 mAh/g at 100 cycles of the porous cubes and

B.A., Political Science, The University of Texas-Dallas (1983); M.S., Labor and Industrial Relations, University of North Texas (1986); M.A., Criminal Justice and Criminology,

Промяна в средните стойности на степента на болка, изпитвана от пациентите, протезирани със сферична става на 1 седмица, 3 седмица, 6 седмица, 12 седмица и 24