36
Reconstruction and Representation of 3D Objects with Radial Basis Functions

Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Reconstruction and Representation of 3D Objects with Radial Basis

Functions

Page 2: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Method Overview

• Input: Point cloud

• Method: Use radial basis functions (RBFs) to implicitly represent surface

– Main task: Signed-distance function estimation

• Output: Smooth, manifold surface

Page 3: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Implicit Reconstruction

• Input: Set of points P = {p1, p2, … pn} in R3

• Output: Manifold surface S approximating P

• Method: S is the zero set of some signed distance function f

S = {pi in R3 | f(pi) = 0}

Page 4: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Distance Function

• Trivial Solution

– f(pi) = 0 for all pi

• Constraints

– On-surface Points: f(pi) = 0

– Off-surface Points: f(pi) = di

• Solution

– f(x): signed distance function

– di = distance to nearest on-surface point

Page 5: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Off-Surface Points

• For each point in input set

– Add 2 off-surface points

– One on each side of surface

Page 6: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

(1) Generating Normals

• Input: point cloud w/o normals

• Generate normals as per [Hoppe 92]

– Estimation from plane fitted to neighborhood

• Additionally, use consistency and/or scanner positions to resolve ambiguities

• If fails, do not define off-surface normal points

Page 7: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

(2) Projecting Along Normals

Create points Need new constraint

𝑝𝑖𝑜𝑢𝑡 = 𝑝𝑖 + 𝑑𝑖

𝑝𝑖𝑖𝑛 = 𝑝𝑖 − 𝑑𝑖

𝑓 𝑝𝑖 = 0

𝑓 𝑝𝑖𝑖𝑛 = −𝑑𝑖

𝑓 𝑝𝑖𝑜𝑢𝑡 = +𝑑𝑖 𝑖 = 1…𝑛

Recall: di = distance to new point Need ϵ such that di < distance to any other on-surface point

Page 8: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Projection Constraint

Page 9: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Scattered Data Interpolation Problem

• Given N points (xi, fi), reconstruct a function S(x) such that

S(xi) = fi

• Constraints on S(x)

– Smooth

Page 10: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Choosing S(x)

• S(x): BL(2)(R3)

– Beppo-Levi space of distributions on R3 with square integrable second derivatives

• Square integrable means

– Falls off quickly

𝑓 𝑥 2𝑑𝑥∞

−∞

< ∞

Page 11: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Choosing S(x)

• [Duchon 77] showed that the smoothest interpolant in BL(2)(R3) is

• Which is a particular example of Radial Basis Functions

𝑠 𝑥 = 𝑝 𝑥 + λi|x − xi|

N

i=1

𝑠 𝑥 = 𝑝 𝑥 + λiϕ( x − xi )

N

i=1

Page 12: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Radial Basis Functions

• p(x) is a low degree polynomial

• λi are real coefficients

• || is the Euclidean norm

𝑠 𝑥 = 𝑝 𝑥 + λiϕ(|x − xi|

N

i=1

)

Page 13: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

RBF Solution

• Assume S(x) is the weighted sum of basis functions

𝑆 𝑥 = λiϕ( x − xi )

N

i=1

Page 14: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

RBFs Galore

Thin plate spline Two-variable

Multiquadric Solve sparse

Gaussian system

Polyharmonic splines

– Biharmonic

– Triharmonic

f(r) = r2 log(r)

22 c)( rr

2c)( rer

f(r) = r

f(r) = r3

Non compact support

Page 15: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Extrapolation: Filling Holes

• Adding a polynomial p(x) to the RBF sum

– Better fitting: Can recreate polynomials exactly

– Improves extrapolation

𝑠 𝑥 = 𝑝 𝑥 + λiϕ( x − xi )

N

i=1

Page 16: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Radial Basis Functions

• For biharmonic spline RBF,

• B is symmetric and invertible under very mild conditions

𝐴 𝑃𝑃𝑇 0

𝜆𝑐 = 𝐵

𝜆𝑐 =

𝑓0

𝑝 𝑥 = c1 + c2x + c3y + c4z

𝐴𝑖 ,𝑗 = 𝑥𝑖 − 𝑥𝑗 , 𝑖, 𝑗 = 1,… ,𝑁

𝑃𝑖 = 1, 𝑥𝑖 ,𝑦𝑖 , 𝑧𝑖 , 𝑖 = 1,… ,𝑁

Page 17: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Choosing S(x)

Side conditions for choosing λi

Page 18: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Non-Compact Support

• Biharmonic spline RBF

• Pros

– Suitable to non-uniformly sample data

– Handle holes

• Cons

– A is not sparse, more computation and not scalable

Page 19: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Fast Methods (Magic)

• Approximated with Fast Multipole Method (FMM) [Greengard-Rokhlin 87]

– Infinite precision not required

– Cluster RBF centers into a hierarchy

• Near-by clusters: Direct evaluation

• Far-away clusters: Approximate evaluation

Page 20: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Fast Methods

Figure 5: Illustration of fast fitting and evaluation parameters

Page 21: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Computational Complexity

FMM reduces both storage and computation costs

*= after O(NlogN) setup

Direct Methods Fast Methods

Storage O(N2) O(N)

Solving the matrix O(N3) O(NlogN)

Evaluating a point O(N) O(1)*

Page 22: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Reducing Number of Centers

• Use fewer centers to achieve desired accuracy

• A greedy algorithm – 1. Choose a subset of centers, fit an RBF to them

– 2. Evaluate the residual,

– 3. If < desired accuracy then stop

– 4. Add new centers where is large

– 5. Re-fit RBF and go to step 2

𝜖𝑖 = 𝑓𝑖 − 𝑠 𝑝𝑖 , 𝑖 = 1…𝑛

max{ 𝜖𝑖 }

𝜖𝑖

Page 23: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Reducing Number of Centers

Page 24: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Reducing Number of Centers

• Non-essential; FMM alone makes RBF feasible

• Improves storage and computation w/o reducing accuracy

Page 25: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Noisy Data

• Consider both interpolation and smoothness

– measures the smoothness

– is the weight

• Linear system changes to

𝑠

Page 26: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Noisy Data

• can be defined globally or specified for individual points or groups of points

Page 27: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Surface Evaluation

• Many options

– Implicit ray tracer

– Mesh of polygons

• Marching cubes

• These are usually optimized for data sampled on a regular grid.

Page 28: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Surface Following

• A marching tetrahedra variant, optimized for surface following

– Start from several seed points

– Wavefronts of facets spread out across surfaces

– Stop when intersect the bounding box

– Makes use of simple gradient definition near surface

Page 29: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Surface Following

• Advantages

– Outputs mesh w/ fewer thin triangles

– Evaluate RBFs at fewer points

– Only need to reference vertices along advancing wavefronts during computation

Page 30: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Surface Following

Page 31: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Results: Mesh Repair

Page 32: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Results: Large, Complicated Datasets

Page 33: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Results: Non-uniform Sampling

Page 34: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Conclusions

• FMM makes it feasible to model complicated objects with RBF

– Model complex scanned objects via RBF with Constructive Solid Geometry framework

– Visualize data obtained on irregular grids

– Repair existing meshes

Page 35: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

Future Work

• Improve center reduction algorithm

– Decompose global RBF description into implicit surface patches

– Allows local manipulation and ray tracing

• Improve fitting and evaluation speeds

– Parallel processing

– Align data to a grid (may be incompletely sampled)

Page 36: Reconstruction and Representation of 3D Objects with ...misha/Fall13b/Notes/Carr01.notes.pdf•Method: Use radial basis functions (RBFs) to implicitly represent surface –Main task:

References

• Implicit reconstruction overview: http://graphics.stanford.edu/courses/cs468-10-fall/LectureSlides/04_Surface_Reconstruction.pdf

• Tutorial on RBFs: http://www.cs.technion.ac.il/~cs236329/tutorials/RBF.pdf

• Vladimir Savchenko’s Shaping Modeling Lecture 10: http://cis.k.hosei.ac.jp/~vsavchen/SML/

• Carr et al. Reconstruction and Representation of 3D Objects with Radial Basis Functions. 2001.