Overview n Perception for robotics Page 1 Overview n Perception for - - PDF document

overview
SMART_READER_LITE
LIVE PREVIEW

Overview n Perception for robotics Page 1 Overview n Perception for - - PDF document

Perception for Robotics: Instance Detection Pieter Abbeel UC Berkeley EECS Overview n Perception for robotics Page 1 Overview n Perception for robotics Overview n Perception for robotics n Accurately localizing (specific)


slide-1
SLIDE 1

Page 1

Perception for Robotics: Instance Detection

Pieter Abbeel UC Berkeley EECS

Overview

n Perception for robotics

slide-2
SLIDE 2

Page 2

Overview

n Perception for robotics

Overview

n Perception for robotics

n Accurately localizing (specific) objects of interest in

unstructured environments quickly using multiple sensor modalities.

slide-3
SLIDE 3

Page 3

Overview

n Perception for robotics

n Accurately localizing (specific) objects of interest in

unstructured environments quickly using multiple sensor modalities. Non-robotic: Robotic:

Overview

n Perception for robotics

n Accurately localizing (specific) objects of interest in

unstructured environments quickly using multiple sensor modalities. Non-robotic: Robotic:

slide-4
SLIDE 4

Page 4

n Point clouds

n Pose detection for known object

n Pose scoring function: points and local features n Optimization and initialization: ICP and RANSAC

n Object instance + pose detection

n Brute force enumeration n Faster: Local feature based voting

n Images

n Local image features: SIFT n Global features

n A full instance detection pipeline

Outline

n Given:

n 1. From training phase: Point cloud representation of

  • bject, with attached coordinate frame

n 2. At test time: Point cloud of scene containing same

  • bject

n Asked for: localize object in the scene (position and

  • rientation)

Problem Setting

slide-5
SLIDE 5

Page 5

Individual Points Based Scoring Function

Red: test point cloud Blue: attempted match of model Score of this match: compute distance from each blue point to closest Red point and sum the squared distances

n Idea: to find the optimal pose iterate over:

n Keep pose fixed, for each (blue) point find closest match

amongst (red) points

n Keep matches fixed (aka “known correspondences”), find

the rigid transformation (translation + rotation) that minimizes the sum of the squared distances between each (blue) point and its matched (red) point

Optimizing the Pose with Iterated Closest Points (ICP)

slide-6
SLIDE 6

Page 6

11

Known Correspondences

n Given: two corresponding point sets:

  • Wanted: translation t and rotation R that minimizes the

sum of the squared error: Where are corresponding points. and

12

Key Idea

n If the correct correspondences are known, the correct

relative rotation/translation can be calculated in closed form.

slide-7
SLIDE 7

Page 7

13

Center of Mass

and are the centers of mass of the two point sets. Idea:

  • Subtract the corresponding center of mass from every

point in the two point sets before calculating the transformation.

  • The resulting point sets are:

and

14

SVD

Let

denote the singular value decomposition (SVD) of W by:

where

are unitary, and are the singular values of W.

slide-8
SLIDE 8

Page 8

15

SVD

Theorem (without proof): If rank(W) = 3, the optimal solution of E(R,t) is unique and is given by: The minimal value of error function at (R,t) is:

16

Closest-Point Matching

n Find closest point in other point set

The matching point is not a great match even though distance-wise close.

slide-9
SLIDE 9

Page 9

n Local features characterize geometry around a point n Examples:

n All pairwise distances between points within certain

radius of current point

n Spin Image n 3D Shape Context n Heat Kernel Signature n Point Feature Histogram (PFH), Fast PFH (FPFH)

Local Features

Example: Spin Images

α

β

slide-10
SLIDE 10

Page 10

n Now distance between two points

= Euclidean distance (as before) + distance in feature space

Feature Based Closest Point Matching

n RANSAC:

n Amongst points on the test model that have distinguished

local features (i.e., very few reasonable matches on the training model)

n Pick a few points at random, as well as randomly pick amongst

their reasonable feature matches on the training model

n Initialize pose estimate by lining up these few points as well as

possible

n Then start ICP

n Also allows to handle outliers, see next slides

Remaining Issue: ICP only finds local

  • ptimum à initialization?
slide-11
SLIDE 11

Page 11

RANSAC

n RANdom Sample Consensus n Approach: we want to avoid the impact of outliers,

so let’s look for “inliers”, and use those only.

n Intuition: if an outlier is chosen to compute the

current fit, then the resulting line won’t have much support from rest of the points.

RANSAC

n

RANSAC loop:

1.

Randomly select a seed group of points on which to base transformation estimate (e.g., a group of matches)

2.

Compute transformation from seed group

3.

Find inliers to this transformation

4.

If the number of inliers is sufficiently large, re-compute least- squares estimate of transformation on all of the inliers

n

Keep the transformation with the largest number of inliers

slide-12
SLIDE 12

Page 12

RANSAC Line Fitting Example

Task: Estimate best line

Slide credit: Jinxiang Chai, CMU

RANSAC Line Fitting Example

Sample two points

slide-13
SLIDE 13

Page 13

RANSAC Line Fitting Example

Fit Line

RANSAC Line Fitting Example

Total number of points within a threshold of line.

slide-14
SLIDE 14

Page 14

RANSAC Line Fitting Example

Repeat, until get a good result

RANSAC Line Fitting Example

Repeat, until get a good result

slide-15
SLIDE 15

Page 15

RANSAC Line Fitting Example

Repeat, until get a good result

n Point clouds

n Pose detection for known object

n Pose scoring function: points and local features n Optimization and initialization: ICP and RANSAC

n Object instance + pose detection

n Brute force enumeration n Faster: Local feature based voting

n Images

n Local image features: SIFT n Global features

n A full instance detection pipeline

Outline

slide-16
SLIDE 16

Page 16

n Setting: many training examples n Naïve approach:

n Collect point cloud representation for all n At test time, test for all in parallel, return instance with

lowest error score

Object Instance + Pose Detection

n At training time:

n Build nearest-neighbor data structure that stores all local

features for all objects

n At test time:

n For each point in test cloud:

n compute local feature n look it up in nearest-neighbor data structure n Vote for instance the nearest neighbor came from

n For instances receiving most votes, run RANSAC+ICP and

return winner (= now called “geometric verification”)

n Voting variants:

n Every object gets a vote between 0 and 1 according to nearest-feature distance n Vote for object and pose of the object (Hough voting)

Voting

slide-17
SLIDE 17

Page 17

n Point clouds

n Pose detection for known object

n Pose scoring function: points and local features n Optimization and initialization: ICP and RANSAC

n Object instance + pose detection

n Brute force enumeration n Faster: Local feature based voting

n Images

n Local image features: SIFT n Global features

n A full instance detection pipeline

Outline

n Point cloud features only exploit shape n Image features can exploit color, texture on object surfaces

Image / RGB Features

slide-18
SLIDE 18

Page 18

Local descriptors

n Simplest descriptor: list of intensities within a patch. n What is this going to be invariant to?

Feature descriptors

n Disadvantage of patches as descriptors:

n Small shifts can affect matching score a lot

n Solution: histograms 2 π

Source: Lana Lazebnik

slide-19
SLIDE 19

Page 19

n

Scale Invariant Feature Transform

n

Descriptor computation:

n Divide patch into 4x4 sub-patches: 16 cells n Compute histogram of gradient orientations (8 reference angles) for all pixels

inside each sub-patch

n Resulting descriptor: 4x4x8 = 128 dimensions

Feature descriptors: SIFT

David G. Lowe. "Distinctive image features from scale-invariant keypoints.” IJCV 60 (2), pp. 91-110, 2004.

Source: Lana Lazebnik

n Global feature we have used:

n Color histogram

n Added this to the voting scheme

Global Features

slide-20
SLIDE 20

Page 20

n Point clouds

n Pose detection for known object

n Pose scoring function: points and local features n Optimization and initialization: ICP and RANSAC

n Object instance + pose detection

n Brute force enumeration n Faster: Local feature based voting

n Images

n Local image features: SIFT n Global features

n A full instance detection pipeline

Outline

n 35 objects: n Test examples:

Solutions in Perception Challenge (ICRA 2011)

slide-21
SLIDE 21

Page 21

Our Pipeline

n This tells us how much (luckily, how little) we are losing by

speeding things up through the voting scheme: Rank of True Matches before Geometric Verification

slide-22
SLIDE 22

Page 22

Performance: Instance

Performance: Pose Accuracy (if detected correct instance)