+ All Categories
Home > Documents > Robotics 2 AdaBoost for People and Place...

Robotics 2 AdaBoost for People and Place...

Date post: 30-Apr-2018
Category:
Upload: ngokhuong
View: 220 times
Download: 4 times
Share this document with a friend
100
Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram Burgard Robotics 2 AdaBoost for People and Place Detection v.1.0, Kai Arras, Oct 09, including material by Luciano Spinello and Oscar Martinez Mozos
Transcript
Page 1: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Giorgio Grisetti, Cyrill Stachniss,

Kai Arras, Wolfram Burgard

Robotics 2 AdaBoost for People and Place Detection

v.1.0, Kai Arras, Oct 09, including material by Luciano Spinello and Oscar Martinez Mozos

Page 2: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Contents

  Motivation

  AdaBoost

  Boosting Features for People Detection

  Boosting Features for Place Labeling

Page 3: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

People tracking is a key technology for many problems and robotics-related fields:

People detection is a key component therein.

Motivation: People Detection

  Human-Robot-Interaction (HRI)

  Social Robotics: social learning, learning by imitation and observation

  Motion planning in populated environments

  Human activity and intent recognition

  Abnormal behavior detection

  Crowd behavior analysis and control

Page 4: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Motivation: People Detection

  Where are the people?

Page 5: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Motivation: People Detection

  Where are the people?

  Why is it hard?

Range data contain little information on people

Hard in cluttered environments

Page 6: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Motivation: People Detection

  Appearance of people in range data changes drastically with: - Body pose - Distance to sensor - Partial occlusion and self-occlusion

  2d data from a SICK laser scanner

Page 7: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Motivation: People Detection

  Appearance of people in range data: 3d data from a Velodyne sensor

Page 8: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Motivation: People Detection

Page 9: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Motivation: People Detection

Freiburg main station

Page 10: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Motivation: People Detection

  Freiburg Main Station data set: raw data

Page 11: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Motivation: People Detection

  Freiburg Main Station data set: labeled data

Page 12: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Motivation: People Detection

  Freiburg Main Station data set: labeled data

Page 13: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Contents

  Motivation

  AdaBoost

  Boosting Features for People Detection

  Boosting Features for Place Labeling

Page 14: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Boosting

  Supervised Learning technique user provides <input data x, label y>

  Learning an accurate classifier by combining moderately inaccurate “rules of thumb”

  Inaccurate rules: weak classifiers

  Accurate rule: strong classifier

  Most popular algorithm: AdaBoost [Freund et al. 95], [Schapire et al. 99]

AdaBoost in Robotics:

[Viola et al. 01], [Treptow et al. 04], [Martínez-Mozos et al. 05], [Rottmann et al. 05] , [Monteiro et al. 06] , [Arras et al. 07]

Page 15: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

AdaBoost

  What AdaBoost can do for you:

1.  It tells you what the best "features" are

2.  What the best thresholds are, and

3.  How to combine this to a classifier

  It's a non-linear classifier

  Robust to overfitting

  Very simple to implement

  Classifier design becomes science, not art

Page 16: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  A machine learning ensemble technique (also called committee methods)

  There are other ensemble technique such as Bagging, Voting etc.

  Combines an ensemble of weak classifiers (weak learners) to create a strong classifier

  Prerequisite: weak classifier better than chance, error < 0.5

AdaBoost

Page 17: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Classification

Linear vs non-linear classifier

NL L

Page 18: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Classification

Formal problem statement:

  Produce a function that maps

  Given a training set

What is overfitting?

  Fitting a statistical model with too many parameters

  Overfitted models explain training data perfectly

  BUT: cannot generalize!

labels

values

Page 19: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Error types

  Sensivity (True Positive Rate) = TP / T

  Specificity (True Negative Rate) = TN / N

many more measures...

Classification

True Positive False Positive

False Negative True Negative

True value

Pred

icte

d v

alue

of

the

clas

sifier

T'

N'

T N

Detected Not Detected

Page 20: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Alternatives

Decision stump: Single axis-parallel partition of space

Decision tree: Hierarchical partition of space

Multi-layer perceptron: General non-linear function approximators

Radial basis function: Non-linear expansions based on kernels

AdaBoost: Weak Classifier

Page 21: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Decision stump

  Simple-most type of decision tree

  Equivalent to linear classifier defined by affine hyperplane

  Hyperplane is orthogonal to axis with which it intersects in threshold θ

  Commonly not used on its own

  Formally,

where x is training sample, j is dimension

AdaBoost: Weak Classifier

h(x; j,θ) =+1 x j > θ

−1 else

Page 22: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Given the training data

1.  Initialize weights

2.  For m = 1,...,M

•  Train a weak classifier on weighted training data minimizing

•  Compute error of :

•  Compute voting weight of :

•  Recompute weights:

3.  Make predictions using the final strong classifier

AdaBoost: Algorithm

wi =1 n

hm (x)

hm (x)

hm (x)

αm = log(1− emem

)

wi = wi exp αm ⋅ Ι(yi ≠ hm (xi){ }€

em = wi Ι(yi ≠ hm (xi))i=1

n

∑ wii=1

n

∑€

Σi wi Ι(yi ≠ hm (xi))

Page 23: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Computing the voting weight of a weak classifier

AdaBoost: Strong Classifier

α m

error

αm = log(1− emem

)

α m

chance: em= 0.5

Page 24: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Training is completed...

The weak classifiers and their voting weight are now fix

  The resulting strong classifier is

Weighted majority voting scheme

AdaBoost: Strong Classifier

H(xi) = sgn αmhm (xi)m=1

M

Put your data here

Class Result {+1, -1}

h1...M (x)

α 1....M

Page 25: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Train a decision stump on weighted data

  This consists in...

Finding an optimum parameter θ* for each dimension j =1…d and then select the j* for which the cost is minimal.

AdaBoost: Weak Classifier

( j*, θ*) = argmin j ,θ

wi Ι(yi ≠ hm (xi))i=1

n

wii=1

n

Page 26: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

∀ j = 1...d

Sort samples xi in ascending order along dimension j

∀ i = 1...n Compute n cumulative sums

end

Threshold θj is at extremum of

Sign of extremum gives direction pj of inequality

end

Global extremum in all d sums gives threshold θ* and dimension j*

A simple training algorithm for stumps:

AdaBoost: Weak Classifier

wcumj (i) = wk yk

k=1

i

wcumj

wcum

Page 27: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Training algorithm for stumps: Intuition

  Label y : red: + blue: –

  Assuming all weights = 1

AdaBoost: Weak Classifier

θ*, j* = 1

wcumj (i) = wk yk

k=1

i

Page 28: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Given the training data

1.  Initialize weights

2.  For m = 1,...,M

•  Train a weak classifier on weighted training data minimizing

•  Compute error of :

•  Compute voting weight of :

•  Recompute weights:

3.  Make predictions using the final strong classifier

AdaBoost: Algorithm

wi =1 n

hm (x)

hm (x)

hm (x)

αm = log(1− emem

)

wi = wi exp αm ⋅ Ι(yi ≠ hm (xi){ }€

em = wi Ι(yi ≠ hm (xi))i=1

n

∑ wii=1

n

∑€

Σi wi Ι(yi ≠ hm (xi))

Page 29: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Training data

AdaBoost: Step-By-Step

Page 30: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 1, train weak classifier 1

AdaBoost: Step-By-Step

Threshold θ* = 0.37

Dimension j* = 1

Weighted error em = 0.2

Voting weight αm = 1.39

Total error = 4

Page 31: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 1, recompute weights

AdaBoost: Step-By-Step

Threshold θ* = 0.37

Dimension j* = 1

Weighted error em = 0.2

Voting weight αm = 1.39

Total error = 4

Page 32: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 2, train weak classifier 2

AdaBoost: Step-By-Step

Threshold θ* = 0.47

Dimension j* = 2

Weighted error em = 0.16

Voting weight αm = 1.69

Total error = 5

Page 33: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 2, recompute weights

AdaBoost: Step-By-Step

Threshold θ* = 0.47

Dimension j* = 2

Weighted error em = 0.16

Voting weight αm = 1.69

Total error = 5

Page 34: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 3, train weak classifier 3

AdaBoost: Step-By-Step

Threshold θ* = 0.14

Dimension, sign j* = 2 , neg

Weighted error em = 0.25

Voting weight αm = 1.11

Total error = 1

Page 35: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 3, recompute weights

AdaBoost: Step-By-Step

Threshold θ* = 0.14

Dimension, sign j* = 2 , neg

Weighted error em = 0.25

Voting weight αm = 1.11

Total error = 1

Page 36: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 4, train weak classifier 4

AdaBoost: Step-By-Step

Threshold θ* = 0.37

Dimension j* = 1

Weighted error em = 0.20

Voting weight αm = 1.40

Total error = 1

Page 37: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 4, recompute weights

AdaBoost: Step-By-Step

Threshold θ* = 0.37

Dimension j* = 1

Weighted error em = 0.20

Voting weight αm = 1.40

Total error = 1

Page 38: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 5, train weak classifier 5

AdaBoost: Step-By-Step

Threshold θ* = 0.81

Dimension j* = 1

Weighted error em = 0.28

Voting weight αm = 0.96

Total error = 1

Page 39: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 5, recompute weights

AdaBoost: Step-By-Step

Threshold θ* = 0.81

Dimension j* = 1

Weighted error em = 0.28

Voting weight αm = 0.96

Total error = 1

Page 40: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 6, train weak classifier 6

AdaBoost: Step-By-Step

Threshold θ* = 0.47

Dimension j* = 2

Weighted error em = 0.29

Voting weight αm = 0.88

Total error = 1

Page 41: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 6, recompute weights

AdaBoost: Step-By-Step

Threshold θ* = 0.47

Dimension j* = 2

Weighted error em = 0.29

Voting weight αm = 0.88

Total error = 1

Page 42: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 7, train weak classifier 7

AdaBoost: Step-By-Step

Threshold θ* = 0.14

Dimension, sign j* = 2 , neg

Weighted error em = 0.29

Voting weight αm = 0.88

Total error = 1

Page 43: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 7, recompute weights

AdaBoost: Step-By-Step

Threshold θ* = 0.14

Dimension, sign j* = 2 , neg

Weighted error em = 0.29

Voting weight αm = 0.88

Total error = 1

Page 44: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 8, train weak classifier 8

AdaBoost: Step-By-Step

Threshold θ* = 0.93

Dimension, sign j* = 1 , neg

Weighted error em = 0.25

Voting weight αm = 1.12

Total error = 0

Page 45: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Iteration 8, recompute weights

AdaBoost: Step-By-Step

Threshold θ* = 0.93

Dimension, sign j* = 1 , neg

Weighted error em = 0.25

Voting weight αm = 1.12

Total error = 0

Page 46: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Final Strong Classifier

AdaBoost: Step-By-Step

Total error = 0!

...which is rarely met in practice

Colored back-ground dots in figure is test set.

Page 47: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Misclassified samples receive higher weights

  The higher the weight the "more attention" a training sample gets

  Algorithm generates weak classifier by training the next learner on the mistakes of the previous one

  Now we also understand the name: adaptive Boosting → AdaBoost

  Once training is done, AdaBoost is a voting method

  Large impact on ML community and beyond

AdaBoost: Wrap Up

Page 48: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Contents

  Motivation

  AdaBoost

  Boosting Features for People Detection

  Boosting Features for Place Labeling

Page 49: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Problem and Approach

  Can we find robust features for people, legs and groups of people in 2D range data?

  What are the best features for people detection?

  Can we find people that do not move?

Approach:

  Classifying groups of adjacent beams

  Computing a set of simple (scalar) features on these groups

  Boosting the features

Page 50: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Related Work

  People Tracking [Fod et al. 2002] [Kleinhagenbrock et al. 2002] [Schulz et al. 2003] [Scheutz et al. 2004] [Topp et al. 2005] [Cui et al. 2005] [Schulz 2006] [Mucientes et al. 2006]

SLAM in dyn. env.

[Montemerlo et al. 2002] [Hähnel et al. 2003] [Wang et al. 2003] ...

  People detection done with very simple classifiers: manual feature selection, heuristic thresholds

  Typically: narrow local-minima blobs that move

Page 51: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Segmentation

  Divide the scan into segments

"Range image segmentation"

Page 52: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Segmentation

Feature profiles

Segmented scan Raw scan

  Method: Jump distance condition See [Premebida et al. 2005] for survey

  Size filter: rejection of too small segments

Page 53: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Segmentation

Feature profiles

Segmented scan Raw scan

  Method: Jump distance condition See [Premebida et al. 2005] for survey

  Size filter: rejection of too small segments

Page 54: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Segmentation

Feature profiles

Segmented scan Raw scan

  Method: Jump distance condition See [Premebida et al. 2005] for survey

  Size filter: rejection of too small segments

Page 55: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Features

Segment

1.  Number of points

2.  Standard Deviation

3.  Mean avg. deviation from median

4.  Jump dist. to preceding segment

5.  Jump dist. to succeeding segment

6.  Width

Page 56: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Features

Segment

7.  Linearity

8.  Circularity

9.  Radius

rc

Page 57: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Features

Segment

10.  Boundary Length

11.  Boundary Regularity

12.  Mean curvature

13.  Mean angular difference

14.  Mean speed

Page 58: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Features

  Resulting feature signature for each segment

Page 59: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Training: Data Labeling

  Mark segments that correspond to people

  Either manually or automatically

Page 60: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Training: Data Labeling

  Automatic labeling: obvious approach, define area of interest

  Here: discrimination from clutter is interesting. Features include spatial relation between fore- and background. Thus: labeling is done by hand

4 m

3 m

Page 61: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Training

  Resulting Training Set

Segments corresponding to people

(foreground segments)

Segments corresponding to other objects

(background segments)

+1 -1

Page 62: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

  Each binary weak classifier hj(x) is created using a single-valued feature fj in the form:

  Where θj is a threshold and pj ∈ {-1, 1} indicates the direction of the inequality

  Weak classifier must be better than random

AdaBoost: Weak Classifiers

Page 63: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

example1 . . . exampleN

Boosting

f#1 . . . f#14

w1 h1

wT hT

Σ

Weighted majority vote classifier

{-1,1} . . .

Strong Binary Classifier

Vocabulary of features

AdaBoost: Final Strong Classifier

Page 64: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Experiments

Env. 1: Corridor, no clutter

Env. 2: Office, very cluttered

Page 65: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Experiments

Env. 1 & 2: Corridor and Office

Env. 1→2: Cross-evaluation Trained in corridor, applied in office

Page 66: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Experiments

Adding motion feature (mean speed, f#14)

→  Motion feature has no contribution

Experimental setup:

  Robot Herbert

  SICK LMS 200 laser range finder, 1 deg angular resolution

Page 67: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Experiments

  Comparison with hand-tuned classifier

 Jump distance θδ = 30 cm

 Width θw,m = 5 cm, θw,M = 50 cm

 Number of points θn = 4

 Standard deviation θσ = 50 cm

 Motion of points θv = 2 cm

People are often not detected

Page 68: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Experiments

Five best features:

1: Radius of LSQ-fitted circle, robust size measure (#9)

2: Mean angular difference Convexity measure (#13)

3/4: Jump distances Local minima measure (#4 and #5)

5: Mad from median Robust compactness measure (#3)

Page 69: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Result: Classification T F

T

F

Page 70: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Summary

  People detection phrased as a classification problem of groups of neighboring beams

  AdaBoost allows for a systematic approach to perform this task

  One-shot/single-frame people detection with over 90% accuracy

  Learned classifier clear superior to hand-tuned classifier

  No background knowledge such as an a priori map is needed (e.g. to perform background substraction)

Page 71: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Contents

  Motivation

  AdaBoost

  Boosting Features for People Detection

  Boosting Features for Place Labeling

Page 72: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Place Labeling: Motivation

  A map is a metric and topological model of the environment

Page 73: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Place Labeling: Motivation

Room

Corridor Doorway

  Wanted: semantic information about places

Page 74: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Scenario Example

I am in the corridor

Albert, where are you?

Page 75: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Scenario Example 2

  Semantic mapping

  Human-Robot Interaction of type: "Robot, get out of my room, go into the corridor!"

Room Corridor

Doorway

Page 76: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Problem Statement

  Classification of the position of the robot using a single observation: a 360° laser range scan

Page 77: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Observations

Page 78: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Observations

Room Room

Page 79: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Observations

Room Room

Page 80: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Observations

Room Room Doorway Doorway

Page 81: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Observations

Room Room Doorway Doorway

Page 82: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Observations

Room Room Corridor Corridor Doorway Doorway

Page 83: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Similar Observations

Page 84: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Similar Observations

Corridor Doorway

Page 85: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Classification Problem

Page 86: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Classification Problem

Page 87: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Classification Problem

Room Room Corridor Corridor Doorway Doorway

?

Page 88: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Representing the Observations

  How we represent the 360 laser beams for our classification task?

  As a list of beams Problem: which beam is the first beam?

Not invariant to rotation!

!=

Page 89: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Representing the Observations

  A list of scalar geometrical features of the scan

The features are all invariant to rotation

=

Page 90: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Simple Features

•  Gap = d > θ •  f = # Gaps

Minimum

•  f =Area •  f =Perimeter •  f = d

d di d

•  f = d • 

d

Σ di

Page 91: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Simple Features

  Features of the raw beams

Page 92: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Simple Features

  Features of the closed polynom P(z) made up by the beams

Page 93: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Multiple Classes

Room Room Corridor Corridor Doorway Doorway 1 3 2

Page 94: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Multiple Classes

Room Room Corridor Corridor Doorway Doorway 1 3 2

Page 95: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Multiple Classes

  Sequence of binary classifiers in a decision list

  Order matters as accuracy differs   Order according to error rate   Generalizes to sequential AdaBoost for K classes

Corridor Classifier

Room Classifier

H(x)=–1 H(x)=–1

H(x)=1 H(x)=1

Corridor Corridor Room Room

Doorway Doorway

Page 96: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Experiments Training (top) # examples:

16045

Test (bottom) # examples:

18726 classification: 93.94%

Building 079 Uni. Freiburg

Room Room Corridor Corridor Doorway Doorway

Page 97: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Training (left) # examples:

13906

Test (right) # examples:

10445 classification: 89.52%

Building 101 Uni. Freiburg

Room Room Corridor Corridor Doorway Doorway Hallway Hallway

Experiments

Page 98: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Application to New Environment

Training map

Intel Research Lab in Seattle

Page 99: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Application to New Environment

Training map

Intel Research Lab in Seattle

Room Room Corridor Corridor Doorway Doorway

Page 100: Robotics 2 AdaBoost for People and Place Detectionais.informatik.uni-freiburg.de/.../robotics2/pdfs/rob2-10-adaboost.pdf · Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram

Training

  Learn a strong classifier from a set of previously labeled observations

AdaBoost

Multi-class Classifier

Room Room Corridor Corridor Doorway Doorway

features features features features features features


Recommended