12
Collision detection for Point Clouds Gabriel Zachmann Bonn University [email protected] Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp. Motivation Modern acquisition techniques (laser scanners) lead to modern object representation Efficient rendering techniques (Splatting & Ray-Tracing) Basically no interaction Goal: Fast collision detection between 2 given point clouds No polygonal reconstruction Introduction

Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

1

Collision detection forPoint Clouds

Gabriel ZachmannBonn University

[email protected]

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Motivation

Modern acquisition techniques (laser scanners) lead to modern object representation

Efficient rendering techniques(Splatting & Ray-Tracing)

Basically no interaction

Goal:Fast collision detection between 2 given point clouds

No polygonal reconstruction

Introduction

Page 2: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

2

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Definition of the Surface

Implicit:

Definition of f/n by

Weighted Least Squares

(WLS):

S = {x | f (x) = 0}f (x) = n(x) · (x− a(x))

original surface

( )21,| | 1

( ( ) ) (| |)argminN

i i

i

θ==

⋅ − ⋅ −∑n n

n a x p x p( ) ( )T= − −C P A θ P A

Surface Definition

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Weighting function

(kernel), e.g.:

Which distance measure?

θ(d) = e−d2/h2 , d = |x− pi |

e−d2/h2 , d = |x− pi |

Surface Definition

Page 3: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

3

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Problems with Euclidean distance

Leads to artifacts, such as

Bias / Noise

Spurious zero sets

"Fuzzy" boundaries

Surface Definition

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Solution: Proximity Graph

Geometric proximity graph:Points = nodes of graph

Edges = "neighboring" points

Approximate geodesic distance by shortest path:

compute closest point x* on edge,

original surface

x

p2

p

proximity graphdgeo(x,p) = minr=p1,p2

©d(r,p) + kp∗ − rkªkp − rk

dgeo(x,p)

p1x∗

Surface Definition

Page 4: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

4

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Sphere-of-Influence Graph (SIG)

k-SIG:

With simple outlier pruning(3rd quartile + interquartile):

Surface Definition

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Graph yields Automatic Bandwidth

Critical parameter h in :

Too small → too much variance

Too large → too much bias

Should be adapted to local sampling density

Use graph to determine h = h(x) :

Estimate local sampling density r(x)

Compute h(x)= ηr(x)√−logθε

θ(d) = e−d2/h2

r

x

Surface Definition

Page 5: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

5

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Boundary detection

Observation: a(x) is always inside convex hull

Idea: x not on S if "too far" away from a(x) ,

relative to local sampling density

New implicit function

f̂ (x) =

(f (x), if |f (x)| > ε ∨ kx− a(x)k < 2r (x)kx− a(x)k, else

Surface Definition

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Example Surfaces

Plain WLS With automatic bandwidth det.

Plus automatic boundary det.

ResultsSurface Definition

Page 6: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

6

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

WLS, h=5 WLS, h=10 WLS, h=14 SIG, autom. h

ResultsSurface Definition

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Evaluation Time of Implicit Fct

Pentium III, 1 GHz

0

10

20

0 20 40 60 80 100

time

/ m

icro

sec

h

EuclideanSIG

SIG, autom. h

Results

f (x)

Surface Definition

Page 7: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

7

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Point Cloud Hierarchy

1. Build BVH according to local optimization criterion (.e.g., volume of child BVs)

2. Construct subsamplingand sphere covering at inner nodes

→ Efficient storage

Point Cloud Hierarchy

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Construction of the Sphere Covering

Observation: surface stays (usually) within the set of convex hulls Ci of the leafs underneath A

→ c sample points and 1 radius per node

iCU

Point Cloud Hierarchy

Page 8: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

8

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Randomized Technique

Basic operation:

Construct random point inside

With basic opeation, draw set of samples from orig. point set for sphere centers, such that they …

are more likely close to the middle of

have approx. same distance from each other

Grow common radius of all spheres simultaneously

Check for covering property like Monte-Carlo integration

iCU

iCU

Point Cloud Hierarchy

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Collision Detection Algorithm

Just like standard hierarchical CD using BVHs:

1. Check BVs for overlap

2. Check sphere coverings for overlap

3. Descend into relevant child pairs

At leaves: check implicit surfaces for intersection

Time-ciritical version ...

CD Algorithm

Page 9: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

9

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Prioritizing the Traversal

Observation: if points from node A are on different sides of (simplified) surface in node B, then intersection is likely

Interpret sign and valueof f'B as indicator of likelihood

f'BfB

fA

Sphere covering around fB

CD Algorithm

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Collision Detection Performance

time

/ m

illis

ec

distance

CD Algorithm

Page 10: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

10

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Intersection of Point Clouds

Given two point clouds A and B (or subsets thereof), construct a sampling of

Overall method:

A,B(pi,pj) ∈ A

on different sides of B

Approx.intersection

points

Z = {x | fA(x) = fB(x) = 0}

Refinedintersection

point

Intersection Comp.

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Randomized Technique

1. Construct root brackets (pi,pj) by randomly drawingmany points,

where a = "desired density of brackets".

2. Find along shortest path in proximity graph, such that (by interpolation search)

3. Sample sphere around by

many points, where

O(a·ln a + c ·a)

p̂ pipj|f (p̂)| = min

s = d√3 · r/εe3

s ln s + csr

Intersection Comp.

Page 11: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

11

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Results

28,000 points0

5

10

15

20

25

0 0,5 1 1,5 2 2,5 3

distance (relative to bbox size)

time

/msec

.

R ST (old)

iSearch (new)

Benchmarking old vs. new method

Intersection Comp.

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Results

Theoretical complexity:Assumptions: f(x) monotone along paths ; and evenly sampled point cloud.

Experimental complexity:

O(log logN)

0

0,5

1

1,5

2

2,5

avg

.ti

me

/m

sec

.

buddha

aphrodite

pipj

8,000 20,000 32,000 44,000 56,000 68,000

number of points per object

Intersection Comp.

Page 12: Collision detection for Point Clouds - uni-bremen.dezach/talks/vr05_colldet... · 2005. 6. 1. · Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points. Adamson

12

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

References

Boissonnat & Cazals, 2000 : Smooth Surface Reconstruction via Natural Neighbour Interpolation of Distance Functions.

Ohtake et al., Siggraph 2003: Multi-level Partition of Unity Implicits.

Lee, CAGD 2000: Curve Reconstruction from Unorganized Points.

Adamson & Alexa, SGP 2003: Approximating and Intersecting Surfaces from Points.

Adamson & Alexa, SMI 2004: On Normals and Projection Operators for Surfaces Defined by Point Sets.

Amenta & Kil, Siggraph 2004: The Domain of a Point Set Surface.Klein & Zachmann, EG 2004: Point cloud collision detection.Klein & Zachmann, SPBG 2004: Proximity graphs for defining surfaces over point clouds.Klein & Zachmann, WSCG 2005: Interpolation Search for Point Cloud Intersection.

Introduction Surface Definition Point Cloud Hierarchy CD Algorithm Intersection Comp.

Thanks a lot for the attention!