difi: fast 3d distance field computation using graphics...

83
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL DiFi: Fast 3D Distance Field Computation using Graphics Hardware Avneesh Sud, Miguel A. Otaduy and Dinesh Manocha University of North Carolina at Chapel Hill http://gamma.cs.unc.edu/DiFi

Upload: others

Post on 18-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

DiFi: Fast 3D Distance Field Computation using Graphics Hardware

Avneesh Sud, Miguel A. Otaduyand Dinesh Manocha

University of North Carolina at Chapel Hill

http://gamma.cs.unc.edu/DiFi

Page 2: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Distance Field

Given a set of geometric primitives (sites), it is a scalar field representing the minimum distance from any point to the closest site

2D Distance field3 point sites

Page 3: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Voronoi Diagram

Given a collection of sites, it is a subdivision of space into cells such that all points in a cell are closer to one site than to any other site

Voronoi Site Voronoi Region

3 point sites Voronoi diagram

Page 4: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Distance Function

A scalar function f (x) representing minimum distance from a point x to a site

f (x,y)=√x2+y2 graph z = f (x,y)

Page 5: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Voronoi Diagram and Distance FieldsRegion where distance function contributes to final distance field = Voronoi Region

Page 6: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Why Should We Compute Them?Useful in a wide variety of applications

Collision DetectionSurface ReconstructionRobot Motion Planning

Non-Photorealistic RenderingSurface Simplification

Mesh GenerationShape Analysis

Page 7: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Goal

Distance field algorithm:Fast computationApplicable to complex and generic modelsNo preprocessing

Page 8: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)Applications and ResultsConclusions

Page 9: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)Applications and ResultsConclusions

Page 10: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Related Work

Geometric models: Polygonal dataVolumetric models: Image data

Page 11: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Related Work

Geometric models: Polygonal dataAdaptive Grids [Vleugels97, Frisken00]Uniform Grids [Sethian96, Hoff99, Mauch00, Sigg03, Denny03, Furhmann03]

Volumetric models: Image data

Page 12: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Related Work

Geometric models: Polygonal data

Volumetric models: Image dataApproximate Distance Fields [Danielsson80, Sethian96]Exact Distance Fields [Mulikin92, Breen00]Surveyed in [Cuisenaire99]Linear time algorithms for 2D [Breu95] and k-D [Maurer03]

Page 13: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

GPU Based Computation

Accelerate using graphics hardware [Hoff99]Rasterization to compute distance valuesDepth test to perform minimum operator

Render distance functions Color buffer Depth buffer

Page 14: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

GPU Based Computation

Graphics hardware can generate one 2D slice at a timeSweep along 3rd

dimension (Z-axis) computing 1 slice at a time

3D Voronoi Diagram

Slow for large number of sites and high grid resolutions

Page 15: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

GPU Based Computation

For manifold objects, Voronoi regions bounded by prisms, wedges and cones [Mauch00, Sigg03]

Prism (Face)

Cone (Vertex)

Wedge (Edge)

Page 16: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

GPU Based Computation

Compute distance functions inside Voronoi region bounds using programmable GPU [Sigg03]Best suited for computation in small neighborhood of the boundary

Not applicable to non-manifolds

Inefficient for global computation

Page 17: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Contributions

A fast 3D distance field computation algorithm Reduces computation using geometric properties and spatial coherence

CullingClamping

Applicable to complex polygonal and image modelsNo preprocessing

Page 18: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)

MotivationGeometric propertiesSite classificationCulling algorithmClamping algorithm

Applications and ResultsConclusions

Page 19: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)

MotivationGeometric propertiesSite classificationCulling algorithmClamping algorithm

Applications and ResultsConclusions

Page 20: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Motivation

Not all sites contribute to distance field of a slice

zx

Page 21: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Motivation

Not all sites contribute to distance field of a slice

zx

Page 22: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Motivation

Not all sites contribute to distance field of a slice

zx

Page 23: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Motivation

Not all sites contribute to distance field of a slice

zx

Page 24: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Motivation

Not all sites contribute to distance field of a slice

zx

Page 25: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Motivation

Sites whose Voronoi regions intersect the slice contribute to distance field

Small number of sites contributeCull remaining sites

zx

Page 26: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Motivation: Goals

Sites whose Voronoi regions intersect the slice contribute to distance field

Cull remaining sitesCompute distance function in domain where Voronoi region intersects slice

Clamp domain of computation

zx

Page 27: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)

MotivationGeometric propertiesSite classificationCulling algorithmClamping algorithm

Applications and ResultsConclusions

Page 28: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Geometric Properties

Connectivity: Voronoi regions are connected for all Lp norms

Used for culling

Page 29: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Geometric Properties

Connectivity: Voronoi regions are connected for all Lp norms

Used for culling

Coherence: Change in distance field between adjacent slices is bounded

Used for clampingDistance functions for a point

site Pi to adjacent slices

Sk+1 Sk

P Z

X

δ

Page 30: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)

MotivationGeometric propertiesSite classificationCulling algorithmClamping algorithm

Applications and ResultsConclusions

Page 31: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Site Classification

For each slice partition the set of sites

z

x

p1

p2

p3

p4

p5

slicek

p6

+Z

Page 32: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Site Classification

For each slice partition the set of sites using Voronoi region bounds:

z

x

p1

p2

p3

p4

p5

slicek

p6

Page 33: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Site Classification

For each slice partition the set of sites using Voronoi region bounds:

Approaching

z

x

p1

p2

p3

p4

p5

slicek

p6

Page 34: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Site Classification

For each slice partition the set of sites using Voronoi region bounds:

ApproachingIntersecting

x

p1

p2

p3

p4

p5

slicek

p6

z

Page 35: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Site Classification

For each slice partition the set of sites using Voronoi region bounds:

ApproachingIntersectingReceding

z

x

p1

p2

p3

p4

p5

slicek

p6

Page 36: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Site Classification

For each slice partition the set of sites using Voronoi region bounds:

ApproachingIntersectingReceding

Only Intersecting sites contribute to distance field

z

x

p1

p2

p3

p4

p5

slicek

p6

Page 37: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Site Classification

For each slice, also partition set of sites using sweep direction

z

x

p1

p2

p3

p4

p5

slicek

p6

Page 38: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Site Classification

For each slice, also partition set of sites using sweep direction

Swept

z

x

p1

p2

p3

p4

p5

slicek

p6

Page 39: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Site Classification

For each slice, also partition set of sites using sweep direction

SweptUnswept

z

x

p1

p2

p3

p4

p5

slicek

p6

Page 40: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Acceleration Techniques

Culling: Render distance functions for intersectingsites only

z

xp2

p3

p4

slicek

Page 41: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Acceleration Techniques

Culling: Render distance functions for intersectingsites onlyClamping: For each intersecting site, clamp domain of computation

z

xp2

p3

p4

slicek

Page 42: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)

MotivationGeometric propertiesSite classificationCulling algorithmClamping algorithm

Applications and ResultsConclusions

Page 43: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: Goal

Render distance functions for intersecting sites only

z

xp2

p3

p4

slicek

Page 44: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: 2 Pass Algorithm

Render distance functions for intersecting swept sites: +Z pass

z

xp2

p3

p4

slicek

+Z

Page 45: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: 2 Pass Algorithm

Render distance functions for intersecting swept sites: -Z pass

z

xp2

p3

p4

slicek

-Z

Page 46: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: 2 Pass Algorithm

Render distance functions for intersecting sweptsitesFinal distance field obtained after both passes

z

xp2

p3

p4

slicek

Page 47: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling

Computing exact intersecting set = Exact Voronoi computationSwept set easy to computeCompute a set of potentially intersecting swept (PIS) sitesUse hardware based occlusion queries to compute PIS

Page 48: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: Computing PIS

Given the potentially intersecting swept set for slice k

z

x

p1

p2

p3

p4

p5

slicek

p6

Page 49: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: Computing PIS

For slice k+1:

z

x

p1

p2

p3

p4

p5

slicek+1

p6

Page 50: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: Computing PIS

For slice k+1:Add newly swept sites to PIS

z

x

p1

p2

p3

p4

p5

slicek+1

p6

Page 51: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: Computing PIS

For slice k+1:Add newly swept sites to PISDraw distance functions of new PIS

z

x

p1

p2

p3

p4

p5

slicek+1

p6

Page 52: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: Computing PIS

For slice k+1:Add newly swept sites to intersecting setDraw distance functions of new intersecting setCheck visibility and update receding set

z

x

p1

p2

p3

p4

p5

slicek+1

p6

Page 53: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: Computing PIS

For slice k+1:Add newly swept sites to intersecting setDraw distance functions of new intersecting setCheck visibility and update receding setGet final intersecting swept set for slice k+1

z

xp2

p4

p5

slicek+1

p6

Page 54: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Culling: Conservative Sampling

Issue: Image space occlusion query may under sample a Voronoi region

Wrongly classifies a site as receding

Solution: “Grow” the Voronoi region by pixel size (details in paper)

p1

p2

p3

Sk

Sk+1

zx

p1 p2

p3

p4p5

yx

Page 55: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)

Motivation Geometric propertiesSite classificationCulling algorithmClamping algorithm

Applications and ResultsConclusions

Page 56: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Clamping: Goal

Clamping: For each intersecting site, clamp domain of computation

z

xp2

p3

p4

slicek

Unclamped

Page 57: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Clamping: Goal

Clamping: For each intersecting site, clamp domain of computationDomain of computation = Intersection of Voronoi Region with slice

z

xp2

p3

p4

slicek

Clamped

Page 58: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Clamping

p4 p3

p2

zx

Sk

Dk(p3)

Exact Region

Distance function of each site is monotonicThe exact Voronoi region

Page 59: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Clamping

p4 p3

p2

zx

Sk

Dk(p3)

max(Dk(p3))

Bounded Region

Distance function of each site is monotonicThe exact Voronoi region is bounded by max of distance function

Exact Region

Page 60: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Clamping

p4 p3

p2

zx

Sk

Dk(p3)

max(Dk(p3))

max(Dk)

Distance function of each site is monotonicThe exact Voronoi region is bounded by max of distance function, which is bounded by max of distance field, max(Dk)

Exact RegionBounded Region

Page 61: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Compute max(Dk+1) for slice k+1 incrementally using max(Dk)

Use max(Dk+1) for clamping

Clamping

Lemma: Let distance between adjacent slices be δz . Then change in maximum value of distance field between slices Sk and Sk+1 is given by:

max(Dk+1) ≤ max(Dk) + δz

Page 62: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Clamping: Manifold Sites

Voronoi region bounded by prisms, wedges and cones [Mauch00, Sigg03]For each manifold site, refine Voronoi region bounds using prism, wedge or cone bounds

Page 63: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)Applications and ResultsConclusions

Page 64: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Implementation

Pentium4 2.8Ghz, 2GB RAMNVIDIA GeForce FX 5900 Ultra, 256MB Video RAMWindows XP, OpenGLHAVOC3D [Hoff99]

Page 65: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Results: Distance Field

Rotor Triceratops Head Cassini

log

time

(s)

DiFiCSC+HAVOCCSCHAVOC

0.1

1

10

100

Page 66: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Results: Distance Field

Rotor Triceratops Head Cassini

log

time

(s)

DiFiCSC+HAVOCHAVOCCSC

0.1

1

10

100 200x275x

Page 67: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Results: Distance Field

Rotor Triceratops Head Cassini

log

time

(s)

DiFiCSC+HAVOCHAVOCCSC

0.1

1

10

100

20x5x

Page 68: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Results: Distance Field

Rotor Triceratops Head Cassini

log

time

(s)

DiFiCSC+HAVOCHAVOCCSC

0.1

1

10

100

13x

2x

Page 69: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Results: Distance Field

Rotor Triceratops Head Cassini

log

time

(s)

DiFiCSC+HAVOCCSCHAVOC

0.1

1

10

100Non-Manifold

Page 70: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Results: Varying Resolution

20x26x32 40x53x64 78x105x128 156x210x256

Resolution

log

time

(s)

DiFiCSC+HAVOCHAVOCCSC

1

10

100

1000

Head Model: 21.6k polygons

Page 71: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Results: Varying Polygon Count

Polygons

log

time

(s)

DiFiCSC+HAVOCHAVOCCSC

1

10

100

1000

10,882 21,764 43,528 87,056

Head Model: 79x105x128 grid size

Page 72: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Applications: Medial Axis

Compute a simplified medial axis using gradient of distance field [Foskey03]Stable subset of exact medial axis

Head model

θ-simplified medial

Page 73: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Applications: Medial Axis

Page 74: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Applications: Motion Planning

DiFi used in a constraint-based planner [Garber02]

Voronoi diagram Estimated pathDistance field Proximity queries

Page 75: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Live Demo

LaptopPentium4 3.2Ghz, 2GB RAMNVIDIA GeForce FX Go5700, 128MB Video RAMWindows XP, OpenGL

Page 76: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Outline

Related WorkFast GPU based algorithm (DiFi)Applications and ResultsConclusions

Page 77: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Conclusions

A fast 3D distance field computation algorithm with an order of magnitude speedup

Almost interactive for complex 3D models

Applicable to complex polygonal and image modelsNo preprocessing

Applicable to dynamic environments

Page 78: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Conclusions

Use geometric properties to reduce computations

CullingClamping

Exploit spatial coherence for incremental computationPerform geometric tests efficiently on GPU

Overcome undersampling

Page 79: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Limitations

Best suited for global distance field computation in complex environments

Culling involves occlusion query overheadClamping bounds depend on distribution of sites

Computes distance field on uniform grid

Size limited by GPU memoryApplication may require distance field readback to CPU

Page 80: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Future Work

Efficient clamping for manifold sites [Sigg03]Explore temporal coherence for dynamic and deformable modelsExtend to k-th order Voronoi diagramsFurther applications like dynamic simulation, morphing and database queries

Page 81: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Acknowledgments

ARONSFONRDARPAIntel CorporationAnonymous reviewersMing LinMark Foskey, Luv KohliMark Harris, Greg Coombe, Naga GovindarajuUNC GAMMA group

Page 82: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Questions?

Page 83: DiFi: Fast 3D Distance Field Computation using Graphics …gamma.cs.unc.edu/DIFI/Sud-EG04-DiFi-Presentation.pdf · 2009. 11. 3. · Robot Motion Planning Non-Photorealistic Rendering

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Questions?

DiFi: Fast 3D Distance Field Computation DiFi: Fast 3D Distance Field Computation using Graphics Hardwareusing Graphics Hardware

http://gamma.cs.unc.edu/DiFi