Top Banner
SA-1 University of Washington University of Washington Department of Computer Science & Department of Computer Science & Engineering Engineering Robotics and State Estimation Lab Robotics and State Estimation Lab Dieter Fox Dieter Fox Stephen Friedman, Lin Liao, Benson Stephen Friedman, Lin Liao, Benson Limketkai Limketkai Conditional Random Fields Conditional Random Fields and their Application to and their Application to Labeling Objects and Labeling Objects and Places Places
48

University of Washington Department of Computer Science & Engineering

Jan 03, 2016

Download

Documents

lev-joyce

Conditional Random Fields and their Application to Labeling Objects and Places. University of Washington Department of Computer Science & Engineering Robotics and State Estimation Lab Dieter Fox Stephen Friedman, Lin Liao, Benson Limketkai. Relational Object Maps (RO-Maps). - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: University of Washington Department of Computer Science & Engineering

SA-1

University of WashingtonUniversity of Washington

Department of Computer Science & Department of Computer Science & EngineeringEngineering

Robotics and State Estimation LabRobotics and State Estimation Lab

Dieter FoxDieter Fox

Stephen Friedman, Lin Liao, Benson LimketkaiStephen Friedman, Lin Liao, Benson Limketkai

Conditional Random Fields Conditional Random Fields and their Application to and their Application to

Labeling Objects and Places Labeling Objects and Places

Page 2: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

2

Relational Object Maps (RO-Relational Object Maps (RO-Maps)Maps)

►Current maps (topological, occupancy, Current maps (topological, occupancy, landmark) do not provide object-level landmark) do not provide object-level descriptions of environmentsdescriptions of environments

►Goal:Goal: describe environments in terms describe environments in terms of of objectsobjects (doors, walls, furniture, etc.) (doors, walls, furniture, etc.) and and placesplaces (hallways, rooms, open (hallways, rooms, open spaces).spaces).

Page 3: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

3

Relational Object Maps (RO-Relational Object Maps (RO-Maps)Maps)

Page 4: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

4

►Needed:Needed: Probabilistic models to reason about Probabilistic models to reason about

complex spatial constraintscomplex spatial constraints Techniques to learn parameters of such Techniques to learn parameters of such

modelsmodels

Context is CrucialContext is Crucial

Page 5: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

5

OverviewOverview

►Conditional Random FieldsConditional Random Fields

►Low-level detection of doors and wallsLow-level detection of doors and walls

►High-level place labelingHigh-level place labeling

►Future workFuture work

Page 6: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

6

Conditional Random Fields (CRF)Conditional Random Fields (CRF)

►Undirected graphical modelUndirected graphical model► Introduced for labeling sequence dataIntroduced for labeling sequence data

► No independence assumption on No independence assumption on observations!observations!

► Extremely flexibleExtremely flexible

Hidden variables Y

Observations X

[Lafferty et al.; ICML 2001]

Page 7: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

7

► Conditional probability defined via Conditional probability defined via clique clique potentialspotentials (non-negative functions over variable values in (non-negative functions over variable values in cliques of graph)cliques of graph)

Probabilities in CRFsProbabilities in CRFs

Cc

cccZp ),(

)(

1)|( yx

xxy

Hidden variables Y

Observations X

Page 8: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

8

► Conditional probability defined via Conditional probability defined via clique clique potentialspotentials (non-negative functions over variable values in (non-negative functions over variable values in cliques of graph)cliques of graph)

► Partition functionPartition function Z(x) normalizes probabilities Z(x) normalizes probabilities(necessary since potentials are not normalized, as in directed (necessary since potentials are not normalized, as in directed models)models)

Probabilities in CRFsProbabilities in CRFs

Cc

cccZp ),(

)(

1)|( yx

xxy

y

yxxCc

cccZ ),()(

Page 9: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

9

► Typically, potentials defined via log-linear Typically, potentials defined via log-linear modelmodel(linear combination of feature vectors extracted from variable (linear combination of feature vectors extracted from variable values)values)

► ThusThus

),(fexp),( cccTcccc yxwyx

Log-linear Potential Log-linear Potential RepresentationRepresentation

Ccccc

Tc

Ccccc

Tc

Ccccc

Z

Z

Zp

),(fexp)(

1

),(fexp)(

1

),()(

1)|(

yxwx

yxwx

yxx

xy

weight vec. feature vec.

Page 10: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

10

► Compute conditional probability via local Compute conditional probability via local message passing called message passing called belief propagation (BP)belief propagation (BP)

► BP is exact if network has no loops (tree)BP is exact if network has no loops (tree)

► Corresponds to smoothing for linear chain CRFsCorresponds to smoothing for linear chain CRFs► General networks: loopy BP (might not converge)General networks: loopy BP (might not converge)► Can also compute MAP configurationCan also compute MAP configuration► Alternative: sample configurations via Alternative: sample configurations via MCMCMCMC

Inference in CRFsInference in CRFs

Page 11: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

11

► Maximize conditional likelihood of Maximize conditional likelihood of labeled datalabeled data

► Conjugate gradient descentConjugate gradient descent Compute gradient of log-likelihood wrt. weightsCompute gradient of log-likelihood wrt. weights Inference at each maximization stepInference at each maximization step Optional: Maximize conditional pseudo likelihoodOptional: Maximize conditional pseudo likelihood

► Typically zero mean shrinkage prior on Typically zero mean shrinkage prior on weightsweights

Discriminative Training of CRFsDiscriminative Training of CRFs

Ccccc

TcZ

),(fexp),(

1maxarg* yxw

wxw

w

Page 12: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

12

OverviewOverview

►Conditional Random FieldsConditional Random Fields

►Low-level detection of doors and wallsLow-level detection of doors and walls

►High-level place labelingHigh-level place labeling

►Future workFuture work

Page 13: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

13

Relational Object MapsRelational Object Maps

►Objects: Doors, Wall segments, OtherObjects: Doors, Wall segments, Other Built from geometric primitives (line Built from geometric primitives (line

segments)segments) Can generate more complex objects from Can generate more complex objects from

existing ones via existing ones via physical aggregationphysical aggregation

Page 14: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

14

Relational Object MapsRelational Object Maps

►Objects: Doors, Wall segments, OtherObjects: Doors, Wall segments, Other Built from geometric primitives (line Built from geometric primitives (line

segments)segments) Can generate more complex objects from Can generate more complex objects from

existing ones via existing ones via physical aggregationphysical aggregation

►RelationsRelations SpatialSpatial Appearance-basedAppearance-based

Page 15: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

15

Inference: Labeling objectsInference: Labeling objects

►Gibbs samplingGibbs sampling Assign random label to each line segmentAssign random label to each line segment At each MCMC step, update the label of At each MCMC step, update the label of

some object by sampling from the some object by sampling from the conditional distribution.conditional distribution.

►When the label of an object When the label of an object kk is is changed, need to update the cliques changed, need to update the cliques and the parameters of objects and the parameters of objects involving object involving object kk..

Page 16: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

16

Inference: Labeling objectsInference: Labeling objects

►Goal: Estimate labels (types) of Goal: Estimate labels (types) of objectsobjects

►Complication: Clique structures Complication: Clique structures change based on label of objectchange based on label of object

physical aggregation

Page 17: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

17

Experimental SetupExperimental Setup

►Maps of five different environmentsMaps of five different environments: : one of Allen (UW) and four from Radishone of Allen (UW) and four from Radish—Robotics Data Set Repository—Robotics Data Set Repository

►Two to three hallways per environmentTwo to three hallways per environment; ; line segments labelled by handline segments labelled by hand

►Five-fold cross-validationFive-fold cross-validation ( (i.e.i.e., train on , train on hallways of four environments and test hallways of four environments and test on hallways from fifth environment)on hallways from fifth environment)

Page 18: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

18

Sample MapsSample Maps

Page 19: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

19

Results: Confusion matrixResults: Confusion matrix

TruthTruthInferred labelsInferred labels

WallWall DoorDoor OtherOther

WallWall 221 (94%)221 (94%) 5 (2%)5 (2%) 8 (4%)8 (4%)

DoorDoor 1 (1%)1 (1%) 122 (85%)122 (85%) 21 (14%)21 (14%)

OtherOther 10 (9%)10 (9%) 12 (10%)12 (10%) 93 (81%)93 (81%)

Page 20: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

20

FeaturesFeatures

►LocalLocal segment lengthsegment length

►NeighborhoodNeighborhood door-door, wall-doordoor-door, wall-door

►SpatialSpatial door indentation, alignment with walldoor indentation, alignment with wall

►GlobalGlobal variance of widths of doors in a hallwayvariance of widths of doors in a hallway

Page 21: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

21

Typical ResultsTypical Results

Page 22: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

22

Results: Average accuracy Results: Average accuracy ratesrates

EnvironmentEnvironment

Features (% accuracy)Features (% accuracy)

LocalLocalLocal +Local +

NeighborhoodNeighborhoodAllAll

11 62.662.6 88.588.5 90.790.7

22 58.758.7 63.063.0 93.593.5

33 59.059.0 79.279.2 89.789.7

44 51.851.8 96.596.5 97.797.7

55 60.060.0 68.568.5 77.977.9

Page 23: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

23

Worst CaseWorst Case

Page 24: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

24

►Works for individual hallways onlyWorks for individual hallways only

►MCMC is inefficientMCMC is inefficient Learning: several hoursLearning: several hours Labeling: minutesLabeling: minutes

► Idea: Detect objects conditioned on Idea: Detect objects conditioned on areasareas (and vice versa) (and vice versa)

ShortcomingsShortcomings

Page 25: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

25

OverviewOverview

►Conditional Random FieldsConditional Random Fields

►Low-level detection of doors and wallsLow-level detection of doors and walls

►High-level place labelingHigh-level place labeling

►Future workFuture work

Page 26: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

26

Place LabelingPlace Labeling

►GoalGoal: Segment environment into : Segment environment into placesplaces

►Place typesPlace types: Room, Hallway, Doorway, : Room, Hallway, Doorway, Junction, OtherJunction, Other

►Enables better planning and natural Enables better planning and natural interface between humans and robotsinterface between humans and robots

Page 27: University of Washington Department of Computer Science & Engineering

SA-1

Goal

RoomRoom

CorridorCorridor DoorwayDoorway

Courtesy of Wolfram Burgard

Page 28: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

28

Local Approach Using Local Approach Using AdaBoostAdaBoost

► Learn to label individual locationsLearn to label individual locations

► Extract laser range-features from occupancy Extract laser range-features from occupancy map (size of area, difference between laser map (size of area, difference between laser beams, FFTs, axes of ellipse, … )beams, FFTs, axes of ellipse, … )

► Learn to classify locations using supervised Learn to classify locations using supervised AdaBoost learningAdaBoost learning

Page 29: University of Washington Department of Computer Science & Engineering

SA-1

Simple Features

• gap = d > θ• f = # gaps

minimum

• f =area • f =perimeter • f = d

ddi

N

1f

d

• f = d•

d

Σ di

Courtesy of Wolfram Burgard

Page 30: University of Washington Department of Computer Science & Engineering

SA-1

Combining Features

• Observation: There are many simple features fi.

• Problem: Each single feature fi gives poor classification rates.

• Solution: Combine multiple simple features to form a strong classifier using AdaBoost.

Courtesy of Wolfram Burgard

Page 31: University of Washington Department of Computer Science & Engineering

SA-1

Key Idea of AdaBoost

observation1

.

.

.

observationN

B

O

O

S

T

I

N

G

w1h1

.

wT hT

.

.

Σ

Strong binary classifier H

using weak hypotheses hj

{1,0}θ

Courtesy of Wolfram Burgard

Page 32: University of Washington Department of Computer Science & Engineering

SA-1

Courtesy of Wolfram Burgard

Example Experiment

Training (top) # examples:

16045

Test (bottom)# examples:

18726classification:

93.94%

Building 079 Univ. of Freiburg

RoomRoomCorridorCorridor DoorwayDoorway

Page 33: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

33

Voronoi Random FieldsVoronoi Random Fields

►Local approach does not take Local approach does not take neighborhood relation between locations neighborhood relation between locations into accountinto account

►Neighboorhood defined via Voronoi GraphNeighboorhood defined via Voronoi Graph

► IdeaIdea: Label points on Voronoi Graph using : Label points on Voronoi Graph using CRFCRF

Page 34: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

34

Voronoi Random FieldsVoronoi Random Fields

Page 35: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

35

FeaturesFeatures

►SpatialSpatial: : Scan-based [Martinez-Mozos et al. 04]Scan-based [Martinez-Mozos et al. 04] Voronoi graph-basedVoronoi graph-based

►ConnectivityConnectivity via Voronoi graph: via Voronoi graph: Type of neighborsType of neighbors Number of neighborsNumber of neighbors Size of loopSize of loop

Page 36: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

36

LearningLearning

►Learn decision stumps using AdaBoostLearn decision stumps using AdaBoost

►Feed decision stumps as binary features Feed decision stumps as binary features into CRFinto CRF

►Learn weights using pseudo-likelihood in Learn weights using pseudo-likelihood in CRFCRF

Page 37: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

37

MapsMaps

Page 38: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

38

MapsMaps

Page 39: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

39

MapsMaps

Page 40: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

40

MapsMaps

Page 41: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

41

Experimental ResultsExperimental Results

►Leave one out cross validation on 4 Leave one out cross validation on 4 mapsmaps

►AccuracyAccuracy: Percentage correctly labeled: Percentage correctly labeled

Page 42: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

42

Place Labels Induced by VRFPlace Labels Induced by VRF

Page 43: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

43

Topological Map Induced by Topological Map Induced by VRFVRF

Page 44: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

44

VRF

AdaBoost

Page 45: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

45

VRF AdaBoost

Page 46: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

46

Experimental Results: Edit Experimental Results: Edit DistanceDistance

►ConsistencyConsistency:: Pick pair of pointsPick pair of points Compute shortest pathCompute shortest path Compare place sequence to ground truth Compare place sequence to ground truth

using edit-distanceusing edit-distance

Page 47: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

47

ConclusionsConclusions

►First steps toward object / place mapsFirst steps toward object / place maps

►CRFs provide powerful and flexible CRFs provide powerful and flexible framework for learning and inferenceframework for learning and inference

►Relational Markov networks provide Relational Markov networks provide language for reasoning about objects language for reasoning about objects and CRF structuresand CRF structures

Page 48: University of Washington Department of Computer Science & Engineering

SSS-06CRFs for Mapping Places and Objects

Dieter FoxUW Robotics & State Estimation Lab

48

Next StepsNext Steps

► Joint place labeling and object detectionJoint place labeling and object detection

► Combine low-level and high-level CRFsCombine low-level and high-level CRFs k-best style inference to find placesk-best style inference to find places Label objects conditioned on placesLabel objects conditioned on places Re-evaluate place hypothesesRe-evaluate place hypotheses

► Use visual featuresUse visual features► Joint feature and CRF learningJoint feature and CRF learning