Fast Sampling Plane Filtering, Polygon Construction and ...mmv/papers/11rssw-BiswasVeloso2.pdf ·...

6
Fast Sampling Plane Filtering, Polygon Construction and Merging from Depth Images Joydeep Biswas Robotics Institute Carnegie Mellon University Pittsburgh, PA 15213, USA [email protected] Manuela Veloso Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213, USA [email protected] Abstract—Recently, the availability of low cost depth cameras has provided 3D sensing capabilities for mobile robots in the form of dense 3D point clouds, usable for applications like 3D mapping and reconstruction, shape analysis, pose tracking and object recognition. For all the aforementioned applications, processing the raw 3D point cloud in real time and at full frame rates may be infeasible due to the sheer volume of data. Hence, a natural choice is to extract geometric features from the point cloud, and process these features instead of the raw point clouds. The task of geometric feature extraction itself is challenging due to noisy sensing, geometric outliers and real-time constraints. We introduce the Fast Sampling Plane Filtering (FSPF) algorithm to reduce the volume of the 3D point cloud by sampling points from the depth image, and classifying local grouped sets of points using Random Sample Consensus (RANSAC) as belonging to planes in 3D (called the “plane filtered” points) or points that do not correspond to planes (the “outlier” points). The plane filtered points are then converted to a set of convex polygons in 3D which represent the planes detected in the scene. The detected convex polygons are then merged across successive depth images to generate a set of scene polygons. The FSPF and polygon merging algorithms run in real time at full camera frame rates with low CPU requirements: In a real world indoor environment scene, FSPF takes on average 1.39 ms to process a single 640 × 480 depth image, producing 2004 plane filtered 3D points and 70 polygons(average). The polygon merging algorithm takes 1.12 ms to merge the latest frame with the history of obervations. Thus, the algorithms are capable of processing depth images at about 400 frames per second on average. We provide experimental results demonstrating the computational efficiency of the FSPF algorithm, and include results from different indoor scenes. I. I NTRODUCTION With the advent of low-cost depth imaging cameras, recent work has focused on exploiting this sensor modality for the purpose of mobile robot autonomy. These depth cameras made dense 3D point clouds available, which was previously only possible with much more expensive sensors like time-of- flight cameras or scanning 3D laser rangefinders. Applications like 3D mapping and reconstruction, shape analysis, pose tracking and object recognition can potentially benefit from this sensor modality. However, given that indoor mobile robots have limited onboard computational power it is infeasible to process the complete 3D point clouds in real time and at full frame rates (e.g. the Microsoft Kinect sensor produces 9.2M 3D pts/sec). Feature extraction, and in particular, geometric feature extraction is therefore the natural choice for abstracting the sensor data. However, noisy sensing and the presence (a) (b) Fig. 1: Results from a test scene: (a) Plane Filtered points shown as orange points, corresponding convex polygons shown in blue. The complete 3D point cloud is overlaid as translucent grey for reference. (b) Scene polygon set generated by merging polygons from 15 consecutive depth image frames of geometric outliers (objects amidst the geometric features that do not match the geometric model of the features) provide additional challenges to the task of geometric feature extraction. We introduce the Fast Sampling Plane Filtering (FSPF) algorithm that samples the depth image to produce a set of “plane filtered” points corresponding to planes, the cor- responding plane parameters (normals and offsets), and the convex polygons in 3D to fit these plane filtered points. The FSPF algorithm meets the following goals: 1) Reduce the volume of the 3D point cloud by generating a smaller set of “plane filtered” 3D points 2) Compute convex polygons to fit the plane filtered points 3) Iteratively merge convex plane polygons without main- taining a history of all observed plane filtered points 4) Perform all of the above in real time and at full frame rates We provide experimental results to show the effectiveness of plane estimation and the computational efficiency of FSPF. To illustrate the key processed results, Fig. 1 shows the plane filtered points and polygons from a single frame, and the scene polygon set obtained by merging 15 depth image frames from a sample scene. This paper is organized as follows: Section II discusses relevant related work. Section III introduces the Fast Sampling Plane Filtering algorithm that samples the depth image to

Transcript of Fast Sampling Plane Filtering, Polygon Construction and ...mmv/papers/11rssw-BiswasVeloso2.pdf ·...

Page 1: Fast Sampling Plane Filtering, Polygon Construction and ...mmv/papers/11rssw-BiswasVeloso2.pdf · Construction and Merging from Depth Images Joydeep Biswas Robotics Institute Carnegie

Fast Sampling Plane Filtering, PolygonConstruction and Merging from Depth Images

Joydeep BiswasRobotics Institute

Carnegie Mellon UniversityPittsburgh, PA 15213, USA

[email protected]

Manuela VelosoComputer Science Department

Carnegie Mellon UniversityPittsburgh, PA 15213, USA

[email protected]

Abstract—Recently, the availability of low cost depth camerashas provided 3D sensing capabilities for mobile robots in the formof dense 3D point clouds, usable for applications like 3D mappingand reconstruction, shape analysis, pose tracking and objectrecognition. For all the aforementioned applications, processingthe raw 3D point cloud in real time and at full frame ratesmay be infeasible due to the sheer volume of data. Hence, anatural choice is to extract geometric features from the pointcloud, and process these features instead of the raw point clouds.The task of geometric feature extraction itself is challenging dueto noisy sensing, geometric outliers and real-time constraints. Weintroduce the Fast Sampling Plane Filtering (FSPF) algorithm toreduce the volume of the 3D point cloud by sampling points fromthe depth image, and classifying local grouped sets of pointsusing Random Sample Consensus (RANSAC) as belonging toplanes in 3D (called the “plane filtered” points) or points thatdo not correspond to planes (the “outlier” points). The planefiltered points are then converted to a set of convex polygonsin 3D which represent the planes detected in the scene. Thedetected convex polygons are then merged across successive depthimages to generate a set of scene polygons. The FSPF and polygonmerging algorithms run in real time at full camera frame rateswith low CPU requirements: In a real world indoor environmentscene, FSPF takes on average 1.39 ms to process a single 640 ×480 depth image, producing 2004 plane filtered 3D points and 70polygons(average). The polygon merging algorithm takes 1.12 msto merge the latest frame with the history of obervations. Thus,the algorithms are capable of processing depth images at about400 frames per second on average. We provide experimentalresults demonstrating the computational efficiency of the FSPFalgorithm, and include results from different indoor scenes.

I. INTRODUCTION

With the advent of low-cost depth imaging cameras, recentwork has focused on exploiting this sensor modality for thepurpose of mobile robot autonomy. These depth cameras madedense 3D point clouds available, which was previously onlypossible with much more expensive sensors like time-of-flight cameras or scanning 3D laser rangefinders. Applicationslike 3D mapping and reconstruction, shape analysis, posetracking and object recognition can potentially benefit fromthis sensor modality. However, given that indoor mobile robotshave limited onboard computational power it is infeasible toprocess the complete 3D point clouds in real time and at fullframe rates (e.g. the Microsoft Kinect sensor produces 9.2M3D pts/sec). Feature extraction, and in particular, geometricfeature extraction is therefore the natural choice for abstractingthe sensor data. However, noisy sensing and the presence

(a) (b)

Fig. 1: Results from a test scene: (a) Plane Filtered pointsshown as orange points, corresponding convex polygonsshown in blue. The complete 3D point cloud is overlaid astranslucent grey for reference. (b) Scene polygon set generatedby merging polygons from 15 consecutive depth image frames

of geometric outliers (objects amidst the geometric featuresthat do not match the geometric model of the features)provide additional challenges to the task of geometric featureextraction.

We introduce the Fast Sampling Plane Filtering (FSPF)algorithm that samples the depth image to produce a setof “plane filtered” points corresponding to planes, the cor-responding plane parameters (normals and offsets), and theconvex polygons in 3D to fit these plane filtered points. TheFSPF algorithm meets the following goals:

1) Reduce the volume of the 3D point cloud by generatinga smaller set of “plane filtered” 3D points

2) Compute convex polygons to fit the plane filtered points3) Iteratively merge convex plane polygons without main-

taining a history of all observed plane filtered points4) Perform all of the above in real time and at full frame

rates

We provide experimental results to show the effectivenessof plane estimation and the computational efficiency of FSPF.To illustrate the key processed results, Fig. 1 shows the planefiltered points and polygons from a single frame, and the scenepolygon set obtained by merging 15 depth image frames froma sample scene.

This paper is organized as follows: Section II discussesrelevant related work. Section III introduces the Fast SamplingPlane Filtering algorithm that samples the depth image to

Page 2: Fast Sampling Plane Filtering, Polygon Construction and ...mmv/papers/11rssw-BiswasVeloso2.pdf · Construction and Merging from Depth Images Joydeep Biswas Robotics Institute Carnegie

produce a set of points corresponding to planes, and the convexplane polygons to best fit the points. Section IV introduces thepolygon merging procedure which iteratively merges convexplane polygons at every time step based on the completehistory of detected plane filtered points, without explicitlymainting such history. The paper concludes with Experimentalresults (Section V) showing the effectiveness and speed ofexecution of the algorithms.

II. RELATED WORK

Approaches that operate on raw 3D point clouds for plane(and general geometric shape) detection (e.g. [5, 9]) are ill-suited to running in real-time due to their high computationalrequirements, and because they ignore the fact that depthcameras make observations in “2.5D”: the depth values areobserved on a (virtual) 2D image plane originating from asingle point. Region growing [8] exploits the local correlationin the depth image and attempts to assign planes to every 3Dpoint. The Fast Sampling Plane Filtering algorithm, which weintroduce in this paper, on the other hand samples points atrandom and does not attempt to fit planes to every point, andinstead uses local RANSAC [1].

A number of 3D mapping algorithms ([6, 2, 10]) have beendeveloped that build maps using 3D points in space, but thesemethods do not reason about the geometric primitives that the3D points approximate.

An alternative approach to mapping using the raw 3Dpoints is to map using planar features extracted from the 3Dpoint cloud [12, 4]. Approaches to extraction of geometricfeatures in point clouds explored in the past include 3D Houghtransform [11] and region growing [8]. In particular, 3D PlaneSLAM [7] is a 6D SLAM algorithm that uses observed 3Dpoint clouds to construct maps with 3D planes. The planedetection in their work relies on region growing for planeextraction, whereas our approach uses local RANSAC filteringof the depth image.

III. FAST SAMPLING PLANE FILTERING

Depth cameras provide, for every pixel, in addition to theusual color values, their distance from the camera. This depthinformation, along with the camera intrinsics (horizontal fieldof view fh, vertical field of view fv , image width w and heighth in pixels) can be used to reconstruct a 3D point cloud. Letthe depth image of size w× h pixels provided by the camerabe I , where I(i, j) is the depth of a pixel at location d = (i, j).The corresponding 3D point p = (px, py, pz) is reconstructedusing the depth value I(d) as

px = I(d)(

j

w − 1− 0.5

)tan

(fh

2

), (1)

py = I(d)(

i

h− 1− 0.5

)tan

(fv

2

), (2)

pz = I(d). (3)

The naıve approach to reducing the volume of data wouldbe to sub-sample the 3D point cloud. Although this reduces thenumber of 3D points processed by the algorithms, it discards

information about the scene. An alternative is to convert the 3Dpoint cloud into a more compact, feature-based representation,like planes in 3D. However, computing optimal planes to fit thepoint cloud for every observed 3D point would be extremelyCPU-intensive and sensitive to occlusions by obstacles. TheFast Sampling Plane Filtering (FSPF) algorithm combines bothideas: it samples random neighborhoods in the depth image,and in each neighborhood, it performs a RANSAC based planefitting on the 3D points. Each neighborhood of plane filteredpoints is then combined to form a convex polygon. Thus,FSPF reduces the volume of the 3D point cloud and extractsgeometric features in the form of convex polygons in 3D whilebeing robust to outliers.

FSPF takes the depth image I as its input, and creates a listP of n 3D points, a list R of corresponding plane normals, alist C of convex polygons, and a list O of outlier points thatdo not correspond to the locally evaluated planes. Algorithm 1outlines the plane filtering procedure. The configuration pa-rameters required by FSPF are listed in Table I.

FSPF proceeds by first sampling three locations d0,d1,d2

from the depth image (lines 6-8). The first location d0 isselected randomly from anywhere in the image, and d1 andd2 are selected randomly within a neighborhood of size ηaround d0. The 3D coordinates for the corresponding pointsp0, p1, p2 are then computed using eq. 1-3. A search windowof width w′ and height h′ is computed based on the meandepth (z-coordinate) of the points p0, p1, p2 (lines 11-13),and the minimum expected size S of the planes in the world.An additional l−3 local samples dj are then sampled from thesearch window. The plane fit error for the 3D point pj fromthe plane defined by the points p1, p2, p3 is computed (line 21)to determine if it as an “inlier.” If more than αinl points inthe search window are classified as inliers, then all the inlierpoints P are added to the list P , and the associated normals tothe list R. A convex polygon c is constructed (line 31) from P ,and added to the list of convex polygons, C. The procedurefor constructing the convex polygon c from 3D points P isdiscussed in Section IV. This algorithm is run a maximum ofmmax times to generate a list of at most nmax 3D points andtheir corresponding plane normals.

IV. PLANE POLYGON CONSTRUCTION AND MERGING

A convex polygon is denoted by the tuple c ={P , n, p, r, b1, b2, B} where P is the set of 3D points usedto construct the convex polygon, n the number of points in

Parameter Descriptionnmax Maximum total number of 3D pointskmax Maximum number of neighborhoods to samplel Number of local samplesη Neighborhood for global samples (in pixels)S Plane size in world space for local samplesε Maximum plane offset error for inliersαin Minimum fraction of inliers to accept local sample

TABLE I: Configuration parameters for plane filtering algo-rithm

Page 3: Fast Sampling Plane Filtering, Polygon Construction and ...mmv/papers/11rssw-BiswasVeloso2.pdf · Construction and Merging from Depth Images Joydeep Biswas Robotics Institute Carnegie

Algorithm 1 Plane Filtering Algorithm

1: procedure PLANEFILTERING(I)2: P,R,C,O ← {}3: n, k ← 04: while n < nmax ∧ k < kmax do5: k ← k + 16: d0 ← (rand(0, h− 1), rand(0, w − 1))7: d1 ← d0 + (rand(−η, η), rand(−η, η))8: d2 ← d0 + (rand(−η, η), rand(−η, η))9: Reconstruct p0, p1, p2 from d0,d1,d2 . eq. 1-3

10: r = (p1−p0)×(p2−p0)||(p1−p0)×(p2−p0)|| . Compute plane normal

11: z = p0z+p1z+p2z

312: w′ = wS

z tan(fh)13: h′ = hS

z tan(fv)14: numInliers ← 015: P ← {}16: R← {}17: c← {}18: for j ← 3, l do19: dj ← d0 + (rand(−h′

2 ,h′

2 ), rand(−w′

2 ,w′

2 ))20: Reconstruct 3D point pj from dj . eq. 1-321: e = abs [r · (p− p0)]22: if e < ε then23: Add pj to P24: Add r to R25: numInliers ← numInliers + 126: end if27: end for28: if numInliers > αinl then29: Add P to P30: Add R to R31: Construct convex polygon c from P32: Add c to C33: numPoints ← numPoints + numInliers34: else35: Add P to O36: end if37: end while38: return P,R,C,O39: end procedure

P , p the centroid of the polygon, r the normal to the polygonplane, b1 and b2 the 2D basis vectors on the plane of thepolygon and B the set of 3D points which define the convexboundary of the polygon. Given a set of 3D points P , a convexpolygon c is constructed from P as follows:

1) The polygon centroid p is computed as p = 1n

∑pi∈P pi.

2) The Scatter Matrix S of the points in P is computed asS =

∑pi∈P (pi − p)(pi − p)T .

3) The normal r is then given by the eigenvector of Scorresponding to its smallest eigenvalue.

4) The basis vectors b1 and b2 are the remaining twoeigenvectors of S.

5) The boundary set B is found using Graham scan [3]

over the points of P projected onto the plane.In order to construct a meaningful geometric representation

of a scene, it is neccesary to merge the observed polygons frommultiple scenes to form a single, “global scene”. In general,this is done in three steps:

1) Pose Registration: The pose of the camera is extractedrelative to the global coordinates of the scene.

2) Polygon Correspondence Matching: Polygons in thelatest frame are matched to polygons in the global scene.

3) Polygon Merging: Matched polygons are merged toupdate the plane parameters and the convex hull of thepolygons in the scene.

In this Section, we discuss methods for performing the thirdstep, polygon merging.

The problem of polygon merging is thus: given two convexpolygons c1, c2, we wish to construct a merged polygon cm

using the 3D points from both planes c1 and c2.The naıve approach to merging polygons

c1 = {P 1, n1, p1, r1, b11, b12, B

1} and c2 ={P 2, n2, p2, r2, b22, b

22, B

2} to form merged polygoncm = {Pm, nm, pm, rm, bmm, b

m2 , B

m} is to combine the3D points as Pm = P 1

⋃P 2 and then compute all other

polygon parameters from Pm. In practice, this is infeasiblesince it requires a complete history of all 3D points everobserved to be maintained. It is, however, possible to performpolygon merging without maintaining a complete history ofall observed 3D points.

The scatter matrix S1 for polygon 1, constructed from pointsp1

i = {x1i , y

1i , z

1i }, p1

i ∈ P 1, i ∈ [1, n1] has the form

S1 =

S11 S12 S13

S21 S22 S23

S31 S32 S33

, (4)

where

S111 =

∑(x1

i − x1)(x1i − x1), (5)

S112 = S1

21 =∑

(x1i − x1)(y1

i − y1), (6)S1

13 = S131 =

∑(x1

i − x1)(z1i − z1), (7)

S122 =

∑(y1

i − y1)(y1i − y1), (8)

S123 = S1

32 =∑

(y1i − y1)(z1

i − z1), (9)S1

33 =∑

(z1i − z1)(z1

i − z1). (10)

Scatter matrices from two different polygons cannot be directlycombined due to the coupling in S between the points pi andthe centroid. However, S1 may be decoupled as S1 = S1

1 +n1S1

2 where S11 depends only on the 3D points in P 1, and S1

2

on the centroid p1. S11 and S1

2 are then given by,

S11 =

∑x1ix

1i

∑x1

i y1i

∑x1

i z1i∑

y1i x

1i

∑y1

i y1i

∑y1

i z1i∑

z1i x

1i

∑z1i y

1i

∑z1i z

1i

, (11)

S12 =

x1x1 x1y1 x1z1

y1x1 y1y1 y1z1

z1x1 z1y1 z1z1

. (12)

Page 4: Fast Sampling Plane Filtering, Polygon Construction and ...mmv/papers/11rssw-BiswasVeloso2.pdf · Construction and Merging from Depth Images Joydeep Biswas Robotics Institute Carnegie

Given the centroids p1 and p2 of the two polygons, thecentroid pm of the merged polygon is computed as

pm = 1nm (n1p1 + n2p2), (13)

nm = n1 + n2. (14)

Thus, the matrix Sm2 can be computed from pm, and the

scatter matrix of the combined polygon is given by,

Sm = S11 + S2

1 + nmSm2 . (15)

Therefore, the matrix S1 along with centroid p and the numberof points n are sufficient for merging polygons based on thecomplete history of observed 3D points, and the individual3D points no longer need to be maintained for each poly-gon. To ensure numerical stability over time, the eigenvectordecomposition is performed on the normalized matrix 1

nS,and normalized matrices 1

nS1 are maintained instead of S1.The convex boundary point set Bm of the merged polygon iscomputed by running Graham scan on the union of the pointsfrom the boundary point sets B1 and B2 of the constituentpolygons.

The complete set of steps to merge two polygons are thus,1) Compute centroid pm using Eq. 142) Compute scatter matrix Sm using Eq. 153) Compute normal rm and basis vectors bm1 , b

m2 by eigen-

vector decompostion of Sm

4) Compute boundary point set Bm using Graham scan onplane projected points from B1

⋃B2

V. EXPERIMENTAL RESULTS

We performed two sets of experiments to demonstrate thecomputational efficiency and effectiveness of FSPF and thepolygon merging algorithms. First, we evaluated the effect ofvarying the parameters of FSPF on its run time using loggeddata from the Kinect Sensor mounted on our mobile robotwhile driving around in an indoor environment. Next, wetested the FSPF and polygon merging algorithms on a set ofreal indoor scenes.

A. Computational Requirements

Depth image data was recorded for a 153 second long runof our mobile robot navigating down a series of hallwaysand open areas. This data was processed offline by varyingthe parameters of the FSPF algorithm to see their impact oncomputational requirements in terms of the mean CPU timerequired to generate the plane filtered points. This does notinclude the time taken for polygonization, since the polygo-nization time is approximately constant ( dominated by thetime taken for the eigenvector decomposition of the scattermatrix) for a fixed number of polygons. These tests were runon a single core of an Intel Core i7 950 processor @ 3.07GHz.

Fig. 2 shows the variation in the processing time for theFSPF algorithm for different values of nmax, η, f , and l.Theprocessing time scales roughly linearly with the maximumnumber of 3D points, nmax. For smaller values of η, thereare more rejected samples, corresponding to longer processingtimes. For larger values of η, plane estimates with larger offset

errors are accepted, leading to shorter processing times. Largervalues of f correspond to larger consensus sets, so the trendin processing times is the opposite to that for different valuesof η. The processing times decrease with larger values of l.

B. Real World Scene Tests

The FSPF and polygon merge algorithms were tested ondata collected from 5 scenes. At each scene, the Kinectsensor was kept static, so no pose update was neccesary.For each scene, the polygons from 15 consecutive frameswere merged to generate a set of polygons which representthe entire scene. Fig. 3 shows the scenes and the processedoutput from each scene, while Table II summarizes the outputand processing times for the algorithms for each scene. Thesampling efficiency for each scene is computed as the ratioof the mean number of plane filtered points per frame to themean sampled locations per frame. The FSPF run time is perframe, and the polygon merge processing time is for all thepolygons per frame.

Scene 1 has three boxes in the corner of a room. Themerged scene polygons correctly include all the planes inthe scene except two (the tops of the boxes on the left andcenter). Scene 2 is set in a corridor, and lacks clutter. Themerged scene polygons correctly include all the polygons inthe immediate vicinity of the Kinect. Scene 3 is set in anopen area next to a staircase. The merged scene polygonsinclude the ground polygon, the side of the staircase, and theoverhanging staircase. Scenes 4 and 5 show work areas withchairs and tables. Despite the clutter, all table surfaces arecorrectly identified among the merged scene polygons. Scene5 had a toy chair on top of the table, and the merged sceneincludes its corresponding polygons as well.

VI. CONCLUSION AND FUTURE WORK

In this paper, we introduced the Fast Sampling Plane Filter-ing algorithm to filter depth images into plane filtered pointsand polygons, and subsequently the polygon merge algorithmwhich merged polygons based on the complete history ofobservations. We experimentally showed the computationalefficiency of FSPF. We further evaluated the effectivenessof FSPF and the polygon merge algorithms by testing on anumber of indoor scenes which included clutter.

Currently the polygon merging algorithm assumes thatmerged polygons are convex, but merging to complex poly-gons would be the natural next step. The camera pose registra-tion and polygon matching algorithms have not been coveredin this work, but are areas of interest to the authors.

REFERENCES

[1] M.A. Fischler and R.C. Bolles. Random sample consen-sus: A paradigm for model fitting with applications toimage analysis and automated cartography. Communica-tions of the ACM, 24(6):381–395, 1981.

[2] M. Gary, N. Fairfield, W.C. Stone, D. Wettergreen,GA Kantor, and J.M. Sharp Jr. 3D mapping andcharacterization of sistema Zacaton from DEPTHX

Page 5: Fast Sampling Plane Filtering, Polygon Construction and ...mmv/papers/11rssw-BiswasVeloso2.pdf · Construction and Merging from Depth Images Joydeep Biswas Robotics Institute Carnegie

Proc

essi

ngT

ime

(ms)

Max Points (nmax)0 200 400 600 800 100012001400160018002000

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

(a)

Proc

essi

ngT

ime

(ms)

Max Error (η) (m)0 0.010.020.030.040.050.060.070.080.09 0.1

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

(b)

Proc

essi

ngT

ime

(ms)

Inlier Fraction (αin)0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

(c)

Proc

essi

ngT

ime

(ms)

Local Samples (l)0 10 20 30 40 50 60 70 80

0.3

0.32

0.34

0.36

0.38

0.4

(d)

Fig. 2: Effect of varying the parameters of FSPF on its run time: (a) Max Points nmax, (b) Max Error η, (c) Inlier Fractionf , and (d) Local Samples l

Scene Merged Plane Filtered Sampled Points Sampling Efficiency Polygons FSPF Run Polygon MergeScene Polygons Points Per Frame Per Frame (%) Per Frame Time (ms) Time (ms)

1 14 2002 5434 36.84 71 1.86 0.372 5 2006 8620 23.28 81 1.66 0.713 3 2001 11009 18.18 82 2.06 0.384 14 2004 8260 24.27 70 1.39 1.125 7 2001 6861 19.17 67 1.66 0.95

TABLE II: Results from test scenes

(DEep Phreatic THermal eXplorer). In Proceedings ofKARST08: 11th Sinkhole Conference ASCE, 2008.

[3] R. L. Graham. An efficient algorith for determining theconvex hull of a finite planar set. Information ProcessingLetters, 1(4):132 – 133, 1972.

[4] P. Kohlhepp, P. Pozzo, M. Walther, and R. Dillmann.Sequential 3D-SLAM for mobile action planning. InIntelligent Robots and Systems, 2004.(IROS 2004). Pro-ceedings. 2004 IEEE/RSJ International Conference on,volume 1, pages 722–729. IEEE, 2004.

[5] N.J. Mitra and A. Nguyen. Estimating surface normals innoisy point cloud data. In Proceedings of the nineteenthannual symposium on Computational geometry, pages322–328. ACM, 2003.

[6] A. Nuchter, K. Lingemann, J. Hertzberg, and H. Sur-mann. 6d SLAM with approximate data association. InICAR’05, pages 242–249. IEEE, 2005.

[7] K. Pathak, A. Birk, N. Vaskevicius, M. Pfingsthorn,S. Schwertfeger, and J. Poppinga. Online three-dimensional SLAM by registration of large planar surfacesegments and closed-form pose-graph relaxation. Journalof Field Robotics, 27(1):52–84, 2010.

[8] J. Poppinga, N. Vaskevicius, A. Birk, and K. Pathak. Fast

plane detection and polygonalization in noisy 3D rangeimages. In Intelligent Robots and Systems, 2008. IROS2008. IEEE/RSJ International Conference on, pages3378–3383. IEEE, 2008.

[9] R. Schnabel, R. Wahl, and R. Klein. Efficient RANSACfor Point-Cloud Shape Detection. In Computer GraphicsForum, volume 26. Wiley Online Library, 2007.

[10] S. Thrun, W. Burgard, and D. Fox. A real-time algorithmfor mobile robot mapping with applications to multi-robot and 3D mapping. In Robotics and Automation,2000. Proceedings. ICRA’00. IEEE International Con-ference on, volume 1, pages 321–328. IEEE, 2000.

[11] G. Vosselman, B.G.H. Gorte, G. Sithole, and T. Rabbani.Recognising structure in laser scanner point clouds. In-ternational Archives of Photogrammetry, Remote Sensingand Spatial Information Sciences, 46(8):33–38, 2004.

[12] J. Weingarten and R. Siegwart. 3D SLAM using planarsegments. In Intelligent Robots and Systems, 2006IEEE/RSJ International Conference on, pages 3062–3067. IEEE, 2006.

Page 6: Fast Sampling Plane Filtering, Polygon Construction and ...mmv/papers/11rssw-BiswasVeloso2.pdf · Construction and Merging from Depth Images Joydeep Biswas Robotics Institute Carnegie

(a) (b) (c) (d)

(e) (f) (g) (h)

(i) (j) (k) (l)

(m) (n) (o) (p)

(q) (r) (s) (t)

Fig. 3: Test scenes 1-5 (top to bottom). First column shows the RGB image of the scene, second column the depth image,third column the plane filtered points (orange points) and polygons (lilac) for a single depth image frame, fourth column thepolygons generated by merging 15 consecutive processed depth image frames. Columns 2 and 3 include overlays of the raw3D point cloud (translucent white) for reference.