henrik christensen - vision for co-robot applications

33
Vision for Co-Robot Applications Henrik I Christensen KUKA Chair of Robotics Robotics @ Georgia Tech Atlanta, Georgia [email protected]

Upload: daniel-huber

Post on 11-Feb-2017

140 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Henrik Christensen  -  Vision for co-robot applications

Vision for Co-Robot Applications

• HenrikIChristensenKUKAChairofRoboticsRobotics@GeorgiaTechAtlanta,[email protected]

Page 2: Henrik Christensen  -  Vision for co-robot applications

Co-X Robotics

• Co-Worker NextGenerationManufacturing

• Co-InhabitantsAssistancetoPeopleinDailyLives

• Co-Protectors Supportforcoreindustries

Page 3: Henrik Christensen  -  Vision for co-robot applications

Co-Worker Roadmap

Page 4: Henrik Christensen  -  Vision for co-robot applications

Perception Tasks

• Pick-and-place task

• Robots moving from controlled settings to unstructured environments

• Robust object perception is crucial

Page 5: Henrik Christensen  -  Vision for co-robot applications

Motivations

Depth sensors are everywhere!

40 million Kinects sold

Google Project Tango Apple + PrimeSenseOccipital, Inc

Page 6: Henrik Christensen  -  Vision for co-robot applications

Motivations

3D object models have been accumulated on the Internet!

Known 3D object model was strong assumption

Page 7: Henrik Christensen  -  Vision for co-robot applications

Google 3D warehouse

(about 2.5 million models)

Motivations

Page 8: Henrik Christensen  -  Vision for co-robot applications

3D Object Models

Pose Estimation & Tracking

Object ID & Pose

ImageCamera

The Problem

Page 9: Henrik Christensen  -  Vision for co-robot applications

Challenges

1. Object with and without Textures2. Background Clutter3. Object Discontinuities4. Real-time Constraints

Page 10: Henrik Christensen  -  Vision for co-robot applications

Challenge 1: Texture

• ...

•Textured objects

• Photometric: color, keypoints, edges or textures from surfaces

•Textureless objects

• Geometric: point coordinates, surface normals, depth discontinuities

Handling both textured and textureless objects

Employ both photometric and geometric features

Page 11: Henrik Christensen  -  Vision for co-robot applications

Challenge 2: Clutter

•False measurements

•False pose estimates

•Stuck in local minima

•No table-top assumption

Controlled environments Unstructured environments

Difficulties = Degree of Clutter

Multiple pose hypotheses frameworks: particle filtering for pose tracking and voting process for pose estimation

Page 12: Henrik Christensen  -  Vision for co-robot applications
Page 13: Henrik Christensen  -  Vision for co-robot applications

Challenge 3: Discontinuities

• ...

• Ideal vs Reality

•Occluded by other objects, human, or robots

•Object goes out of the camera’s field of view

•Blurred in images

•Re-initialization problem

BlurOut of FOVOcclusions

A re-initialization scheme by combining pose estimation and tracking

Page 14: Henrik Christensen  -  Vision for co-robot applications

Challenge 4: Real-time

•Constrained by timing limitations

•Scarcely see real-time state-of-the-art

Exploiting the power of parallel computation on GPU

Page 15: Henrik Christensen  -  Vision for co-robot applications

Approaches

• 2D Visual Information (Monocular Camera)– Combining Keypoint and Edge Features

– Handling Textureless Objects

• 3D Visual Information (RGB-D Camera)– Voting-based Pose Estimation using Pair Features

– Object Pose Tracking

photometric geometric

Page 16: Henrik Christensen  -  Vision for co-robot applications

Overview

Real-time 3D Model-based Tracking Using Edge and Keypoint Featuresfor Robotic Manipulation

Changhyun Choi and Henrik I. ChristensenRobotics & Intelligent Machines, College of Computing

Georgia Institute of TechnologyAtlanta, GA 30332, USA

{cchoi,hic}@cc.gatech.edu

Abstract— We propose a combined approach for 3D real-timeobject recognition and tracking, which is directly applicable torobotic manipulation. We use keypoints features for the initialpose estimation. This pose estimate serves as an initial estimatefor edge-based tracking. The combination of these two comple-mentary methods provides an efficient and robust tracking so-lution. The main contributions of this paper includes: 1) Whilemost of the RAPiD style tracking methods have used simplifiedCAD models or at least manually well designed models, oursystem can handle any form of polygon mesh model. To achievethe generality of object shapes, salient edges are automaticallyidentified during an offline stage. Dull edges usually invisible inimages are maintained as well for the cases when they constitutethe object boundaries. 2) Our system provides a fully automaticrecognition and tracking solution, unlike most of the previousedge-based tracking that require a manual pose initializationscheme. Since the edge-based tracking sometimes drift becauseof edge ambiguity, the proposed system monitors the trackingresults and occasionally re-initialize when the tracking resultsare inconsistent. Experimental results demonstrate our system’sefficiency as well as robustness.

I. INTRODUCTION

As robots moves from industrial to daily environments, themost important problem robots face is to recognize objectsand estimate 6-DOF pose parameters in less constrainedenvironments. For the last decade, computer vision, robotics,and augmented reality have all addressed this as a model-based tracking issue. Most of the work has been based on 3DCAD models or keypoint metric models. The former modelscorrespond to edges in an image, which can be efficientlycomputed, while the latter models match with keypoints in animage which are suitable for robust wide baseline matching.A strategy for using keypoint for pose initialization anddifferential methods for pose tracking is presented.

II. RELATED WORK

For the 6-DOF pose tracking, robotics and augmented re-ality areas have employed a number of different approaches.One of the easiest way is through use of fiducial markers.Artificial markers are attached to the object or environmentas camera targets. Although the method provides an easyand robust solution for real-time pose estimation, attachingmarkers has been regarded as a major limitation. Hence,researchers have focused on tracking using natural features.For several decades methods, which employ natural fea-tures, have been proposed: edge-based, optical flow-based,

ImageAcquisition

ModelRendering

EdgeDetection

Pose Update

with IRLS

Error Calculation

CAD Model

Keyframes

KeypointMatching

Pose Estimation

!"#$%&'()*$+, -+)".+'/),$'0,12.1)34)%.+'/),$'0,12.1)3

()3)%5+.6'7.2$6.

Fig. 1: Overall system flow. We use a monocular camera. Theinitial pose of the object is estimated by using the SURF keypointmatching in the Global Pose Estimation (GPE). Using the initialpose, the Local Pose Estimation (LPE) consecutively estimatesposes of the object utilizing RAPiD style tracking. keyframesand CAD model are employed as models by the GPE and LPE,respectively. The model are generated offline.

template-based, and keypoint-based. Each method has itsown pros and cons, but surveying every methods in thispaper is out of scope. For an in-depth study of the differentmethods, we refer the interested reader to the survey [1].

Among the various methods, we focus on two methods:edge-based and keypoint-based. The edge features are easy tocompute and computationally cheap. Since the edge is usu-ally computed by image gradients, it is moderately invariantto illumination and viewpoint. The keypoint features are alsocapable of being invariant to illumination, orientation, scale,and partially viewpoint. But the keypoints requires relativelycomputationally expensive descriptors which maintain localtexture or orientation information around stable points to bedistinctive.

In edge-based methods, a 3D CAD model is usuallyemployed to estimate the full pose using a monocular cam-era. Harris [2] established RAPiD (Real-time Attitude andPosition Determination) which was one of the first marker-less 3D model-based real-time tracking system. It tracks anobject by comparing projected CAD model edges to edgesdetected in a gray-scale image. To project the model close

16

Page 17: Henrik Christensen  -  Vision for co-robot applications

17our approach keypoint only

edges model rendering

Page 18: Henrik Christensen  -  Vision for co-robot applications

Particle Filter

• Posterior p.d.f. as a set of weighted particles• non-linear, non-Gaussian, multi-modal• widely adopted in robotics, computer vision, etc

Page 19: Henrik Christensen  -  Vision for co-robot applications

AR Dynamics

• Instead of Gaussian random walk models• Linear prediction based on previous states• Propagate particles more effectively

highly probable states based on pose estimates calcu-lated from keypoint correspondences. The initializedparticles tend to converge faster than the usual annealedparticle filtering.

• While previous edge-based trackers [15], [17] haveemployed random walk models as a motion model, weapply a first-order autoregressive (AR) state dynamicson the SE(3) group to be more effective.

• To be fully automatic and reliable in practical settings,our approach monitors the number of effective particlesand use the value to decide when the tracker requiresre-initialization.

This paper is organized as follows. In Section II, we intro-duce a particle filtering framework with state and measure-ment equations. The AR state dynamics is then representedin Section II-B. After explaining how particles are initializedand their likelihoods are evaluated in Section II-C and II-D, respectively, the re-initialization scheme is represented inII-E. Experimental results on various image sequences areshown in Section III.

II. PARTICLE FILTER ON THE SE(3) GROUP

In 3D visual tracking, a state represents a 6-DOF pose ofa tracked object, and tracking estimates time-varying changeof coordinates. It is well known that the trajectory is noton general vector space, rather it is on Lie groups – ingeneral, the Special Euclidean group SE(3) and the affinegroup Aff(2) in 3D and 2D visual tracking, respectively. Sincethe trajectory we want to estimate is on a Lie group, theparticle filter should be applied on Lie groups. Monte Carlofiltering on Lie groups is explicitly addressed in [20], [19],[13]. As argued in [19] and [13], filtering performance andnoise distribution of local coordinate-based particle filteringapproaches are dependent on the choice of the local coor-dinates, while particle filtering on Lie groups is coordinate-invariant.

A. State and Measurement Equations

From the continuous general state equations on the SE(3)group, discrete system equations is acquired via the first-order exponential Euler discretization [19]:

Xt = Xt�1 · exp(A(X, t)�t + dWt

⌅�t), (1)

dWt =6�

i=1

�t,iEi,

�t = (�t,1, . . . , �t,6)T � N (06⇥1,⇥w)

where Xt ⇤ SE(3) is the state at time t, A : SE(3)⇥ se(3)is a possibly nonlinear map, dWt represents the Wienerprocess noise on se(3) with a covariance ⇥w ⇤ R6⇥6,Ei are the i-th basis elements of se(3). The correspondingmeasurement equation is then:

yt = g(Xt) + nt, nt � N (0Ny⇥1,⇥n) (2)

where g : Xt ⇥ RNy is a nonlinear measurement functionand nt is a Gaussian noise with a covariance ⇥n ⇤ RNy⇥Ny .

B. AR State DynamicsThe dynamic model for state evolution is an essential

part that has a significant impact on tracker performance.However, many particle filter-based trackers have been basedon a random walk model because of its simplicity [15], [17].AR state dynamics is a good alternative since it is flexible,yet simple to implement. In (1), the term A(X, t) determinesthe state dynamics. A trivial case, A(X, t) = 0, is a randomwalk model. [13] modeled this via the first-order AR processon the Aff(2) as:

Xt = Xt�1 · exp(At�1 + dWt

⌅�t), (3)

At�1 = a log(X�1t�2Xt�1) (4)

where a is the AR process parameter. Since the SE(3) is acompact connected Lie group, the AR process model alsoholds on the SE(3) group [21].

C. Particle Initialization using keypoint CorrespondencesMost of the particle filter-based trackers assume that initial

states are given. In practice, initial particles are crucial toensure convergence to a true state. Several trackers [15], [14]search for the true state from scratch, but it is desirable toinitialize particle states by using other information. Usingkeypoints allows for direct estimation of 3D pose, but dueto the need for a significant number of correspondences it iseither slow or inaccurate. As such, keypoint correspondencesare well suited for the filter initialization.

For initialization, we use so-called keyframes which arecomposed of 2D images and keypoints coordinates (2D and3D) that have been saved offline. An input image comingfrom a monocular camera is matched with the keyframes byextracting keypoints and comparing them. To find keypointcorrespondences efficiently, we employ the Best-Bin-First(BBF) algorithm using kd-tree data structure [22] that allowsexecution of the search in O(n log n). As described in [8],the ratio test is then performed to find distinctive featurematches. While we used RANSAC [23] after determiningputative correspondences in our previous work [24], we skipthis procedure because in the particle filter framework we caninitialize particles in an alternative way in which the basicidea is similar to RANSAC. Instead of explicitly performingRANSAC, we randomly select a set of correspondencesfrom the given putative correspondences and estimate apossible set of poses calculated from them. Since we have3D coordinates of keypoints in keyframes, we get 2D-3Dcorrespondences from the matching process described above.So we can regard this problem as the Perspective-n-Point(PnP) problem, in which the pose of a calibrated monocularcamera is estimated from n 2D-3D point correspondences,on each set of correspondences. To find a pose from thecorrespondences, we use the EPnP algorithm [25] that pro-vide a O(n) time non-iterative solution for the PnP problem.After all particle poses are initialized from randomly selectedminimum correspondences, weights of particles are assignedfrom the number of remaining correspondences cr and thenumber of inlier correspondences ci which coincide with

Page 20: Henrik Christensen  -  Vision for co-robot applications

Re-initialization• Effectivenumberofparticlesize,

Fig. 1. Tracking results with (yellow wireframe) and without (red wireframe) our particle filter for the four targeted objects. From top tobottom, teabox, book, cup and car door. From left to right, t < 10, t = 100, t = 200, t = 300, t = 400 and t = 500 where t is the framenumber. The very left images are results of the pose initialization. Note that yellow wireframes are well fitted to the tracking objects,while red wireframes are frequently mislocalized. 100 particles are used for the particle filter. (i.e. N = 100)

Then the weight ��(i)t is normalized to �̃(i)

t by:

�̃(i)t =

��(i)t�N

j=1 ��(j)t

(12)

E. Re-initialization based on [Neff

Ideally a tracked object should be visible during an entiretracking session. In reality, however, it is quite commonthat the object goes out of frame or is occluded by otherobjects. In these cases, the tracker is required to re-initializethe tracking. In general sequential Monte Carlo methods, theeffective particle size Neff has been introduced as a suitablemeasure of degeneracy [27]. Since it is hard to evaluate Neff

exactly, an alternative estimate [Neff is defined [27]:

[Neff =1

�Ni=1(�̃(i))2

(13)

Often it has been used as a measure to execute the resamplingprocedure. But, in our tracker we resample particles everyframe, and hence we use [Neff as a measure to do re-initialization. When the number of effective particles is belowa fixed threshold Nthres, the re-initialization procedure isperformed. The overall algorithm is shown in Algorithm 1.

III. EXPERIMENTAL RESULTS

In this section, we validate our proposed particle filter-based tracker via various experiments. First, we comparethe performance of our approach with the previous singlehypothesis tracker [24] which was based on IRLS. Forthe comparison, we use new challenging image sequences

TABLE IRMS ERRORS IN THE GENERAL TRACKING

RMS Errors�

x y z roll pitch yaw

Teabox 0.0033† 0.0018 0.0068 3.27 4.32 3.950.0027‡ 0.0020 0.0031 1.68 1.13 2.13

Book 0.0026 0.0021 0.0042 1.73 1.58 0.950.0016 0.0012 0.0055 0.87 0.82 1.11

Cup 0.0083 0.0092 0.0272 2.09 1.83 5.050.0078 0.0084 0.0216 1.20 1.00 3.57

Car door 0.0211 0.0122 0.0411 1.73 3.72 3.730.0104 0.0135 0.0352 0.89 3.16 1.96

� The error units of translation and rotation are meter and degree,respectively.

† The upper rows are the results of the previous approach [24].‡ The lower rows are the results of the proposed approach. In both

upper and lower rows, better results are indicated in bold numbers.

as well as image sequences used in [24]. To verify theeffectiveness of the AR state dynamics, we show the resultsof our proposed tracker with and without the AR statedynamics.

A. Experiment 1: Image Sequences from Choi and Chris-tensen [24]

In [24], the sequences of images were captured froma monocular camera in static object and moving camerasetting. A set of image sequences used in Section III-A.1are acquired to test tracking performance in general setting,i.e. no occlusion, relatively simple background, reasonableclutter, and smooth movements of the camera. To test re-initialization capability, a sequence of images is captured

0 200 400 600 800 1000 1200 14000

50

100

Frame number

N eff

0 200 400 600 800 1000 1200 14000

50

100

Frame number

N eff

Effective number of particle size

Page 21: Henrik Christensen  -  Vision for co-robot applications

Experiments

Single vs. Multiple pose hypotheses with vs. without AR state dynamics Reinitialization exp.

2D Monocular > Combining Keypoint and Edge Features [IJRR’12]

Page 22: Henrik Christensen  -  Vision for co-robot applications

Robotic Assembly 1/2

Page 23: Henrik Christensen  -  Vision for co-robot applications

Robotic Assembly

Page 24: Henrik Christensen  -  Vision for co-robot applications

Robotic Assembly

x 2

Page 25: Henrik Christensen  -  Vision for co-robot applications

Robotic Assembly 2/2

Page 26: Henrik Christensen  -  Vision for co-robot applications

26

Page 27: Henrik Christensen  -  Vision for co-robot applications

Real Sequence

27Ours PCL tracking

Ours PCL tracking

Page 28: Henrik Christensen  -  Vision for co-robot applications

3D models on the Web

28

Page 29: Henrik Christensen  -  Vision for co-robot applications

29

real-time

Page 30: Henrik Christensen  -  Vision for co-robot applications

30

Page 31: Henrik Christensen  -  Vision for co-robot applications

Robotic Assembly

31

Page 32: Henrik Christensen  -  Vision for co-robot applications

Credits

• Students/Postdocs• ChanghyunChoi,nowMIT• HeniBenAmor,nowASU• SamarthBrahmbhatt,GT• AnaHuaman,GT

• Sponsors:• Boeing,GM,PSA,• ARL&NSF

Page 33: Henrik Christensen  -  Vision for co-robot applications

Summary• Thenextrevolutioninroboticswill

bedrivenbysoftwarenotthetraditionalhardware.

• Visionforclosingloopcontrol

• Cloudbasedservicesforsharingofknowledge

• Systemsthatcollaboratewithpeople