Session II Structured Lighting Projector Calibration / Structured Light Reconstruction  Combining Point Clouds Recovered from Multiple Views  Surface Reconstruction from Point Clouds  Elementary Mesh Processing Conclusion / Q & A Course Schedule TexPoint fonts used in EMF.  Read the TexPoint manual before you delete this box.:  A A A A A A A A
Whole object cannot be scanned from only one camera view Multiple scans must be merged to cover the whole object surface Each point cloud scan is generated with respect to a different camera coordinate system Relative position and orientation of each scan with respect to a global coordinate system must be determined to produce a single merged point cloud Merging Multiple Point Cloud Scans
A densely sampled point cloud covering the whole surface of the object usually requires merging many scans Merging Point Cloud Scans
http://www.research.ibm.com/pieta Shape Appearance Complex Models May Require 100s of Scans
 
Merging Point Cloud Scans Incremental registration and merging Followed by global relaxation to remove accumulated errors
Merging Two Point Cloud Scans Select at least 3 pairs of corresponding points, but ideally N>>3 Solve in close form for the matching rigid body transformation Refine solution using the Iterative Closest Point Algorithm (ICP) User input is OK for small models  Moving Fixed P. Besl, N.D. McKey,  A method for Registration of 3D Shapes . IEEE Transactions on PAMI, 1992
Given N pairs of corresponding 3D points  we are looking for a rotation matrix  and a translation vector  so that In general, solution does not exists: solve in the Least-Squares sense Now we are looking for the minimizer of the quadratic energy function This problem has a closed form solution Where And  is the Singular Value Decomposition (SVD) of  Computing the Matching Transformation Fixed Moving
Iterative Closest Point Algorithm (ICP) Automatically select N points  Find closest corresponding points Solve in close form for the matching rigid body transformation which minimizes the energy function Repeat 1-3 while until convergence
Problem: find the point of the set  closest to the point  Naïve algorithm: sequential search O(N) Too expensive if the same computation must be performed for many points Efficient algorithm requires space partition data structure Quadtree/Octree, BSP tree Finding Closest Points
Session II Structured Lighting Projector Calibration / Structured Light Reconstruction  Combining Point Clouds Recovered from Multiple Views  Surface Reconstruction from Point Clouds  Elementary Mesh Processing Conclusion / Q & A Course Schedule
Surface Representations Surfaces in Mathematics Parametric Implicit  (level set) We can only operate on a surface representation A data structure defined by a finite number of parameters Efficient to perform certain geometric operations Point clouds (surfaces represented as sets of samples) Positions Optional properties:normals, colors, etc  Polygon meshes (piecewise planar surfaces) vertices, edges, and faces Optional properties: normals, color, texture coordinates, etc.
Connectivity / Watertight Surfaces Most applications require  connectivity information Efficient ways to find points in close proximity to each other Point clouds do not provide connectivity information Additional data structures are needed to efficiently find neighboring points Connectivity is explicit in polygon meshes:  edges Triangulate  the point cloud to get connectivity information Find an interpolating or approximating triangle mesh Many applications require  watertight  surfaces: continuous closed surfaces which partition 3D space into an  inside  and an  outside Point clouds are not watertight Polygon meshes may be watertight Will the triangulation constructed from the point cloud be watertight ?
Polygon Meshes
Surface Reconstruction from Point Clouds Every regular  Implicit surface  is watertight An  Isosurface   is a polygonal approximation of an implicit function associated with a volumetric grid Marching Cubes  is an algorithm to compute an isosurface from an implicit surface evaluated on the vertices of a regular hexahedral grid Similar simple algorithms exists to generate isosurfaces from an implicit function evaluated on the vertices of a tetrahedral grid We will only discuss here approximation algorithms to fit implicit surfaces to point clouds Algorithms related to the Poisson Equation M. Kazhdan, M. Bolitho, H. Hoppe.  Poisson Surface Reconstruction . European Symposium on Geometry Processing, 2006 W.E. Lorensen, H.E. Cline.  Marching Cubes:A high resolution 3D surface reconstruction algorithm . Siggraph,1987
Curve Reconstruction from Point Clouds Oriented points Regular grid Implicit function Isocurve Grid too coarse: Aliasing Finer grid resolves topology
Given an  oriented point cloud  (points and normal vectors) Look for an implicit function  defined on a volume  so that Minimize the energy function For a family of functions linearly parameterized by a finite parameter set, this is a Least-Squares problem: the problem reduces to solving a linear system (typically large and sparse) Vector Field Isosurface (VFIso) P. Sibley, G. Taubin.  Vectorfield Isosurface-based Reconstruction from Oriented Points . Siggraph, 2005 (Sketch)
Vector Field Isosurface (VFIso)
Vector Field Isosurface (VFIso)
Vector Field Isosurface (VFIso)
Vector Field Isosurface (VFIso)
Vector Field Isosurface (VFIso)
Vector Field Isosurface (VFIso)
 
 
Session II Structured Lighting Projector Calibration / Structured Light Reconstruction  Combining Point Clouds Recovered from Multiple Views  Surface Reconstruction from Point Clouds  Elementary Mesh Processing Conclusion / Q & A Course Schedule
We will talk about a few simple algorithms which can be applied interactively Polygon mesh smoothing / denoising Polygon mesh simplification j3DPGP (Java 3D Photography and Geometry Processing) Elementary Mesh Processing
 
 
 
Polygon Mesh Smoothing / Denoising G. Taubin.  A Signal Processing Approach To Fair Surface Design . Siggraph, 1995 Laplacian smoothing is the simplest smoothing/denoising algorithm Fix to shrinkage problem: toggle parameter sign at each iteration ! Laplacian Smoothing Low Pass Filter N=10 N=40 N=240
Laplacian Smoothing Intuition: remove noise by averaging neighboring positions Compute displacement vector for each vertex Move vertices in the displacement vector direction Can use more general weights
Laplacian Smoothing Advantages Algorithm Simplicity Linear time and storage Edge length equalization Constraints and special effects by weight control DEMO Disadvantages Overall Shrinkage Edge length equalization Shrinkage at boundaries Smoothing of ridges
A Simple Solution to the Shrinkage Problem G. Taubin.  A Signal Processing Approach To Fair Surface Design . Siggraph, 1995 Minor modification of Laplacian smoothing algorithm Two Laplacian smoothing steps First shrinking step with positive factor Second unshrinking step with negative factor Repeat the two steps N/2 times Why does this algorithm solve the problem? This is a true low-pass filter Fourier Analysis on graphs and meshes Read the paper !
Algorithms to reduce the number of vertices and faces while preserving geometric approximation to original shape Poligon Mesh Simplification / Decimation Vertex clustering (Rossignac & Borrel, 1993) Edge Collapse (Garand Heckbert 1997; many others)
Quantize coordinates with respect to a bounding box Identify vertices with same coordinates Remove empty triangles Vertex Clustering
Quantize coordinates with respect to bounding box Assign a new vertex index to each occupied cell Determine coordinates of new vertices Construct new vertex index look-up table  Replace vertex indices in faces  Remove empty triangles from list of faces Vertex Clustering Algorithm
Advantages Simple to implement Works on large scenes with multiple objects No manifold restriction Disadvantages Produces non-manifold meshes Quality of simplified model is often not very good Vertex Clustering
Identify endpoints Determine vertex position Remove incident triangles Which edges to collapse ? In which order ?  Edge Collapse Non-existing edges
Put all  collapsible  edges in a priority queue according to  removal error While queue is not empty Delete minimum edge from queue Collapse edge Identify vertices Remove all incident edges from the queue, determine if collapsible, recompute removal error, re-insert in queue Need dynamic data structures Basic Edge Collapse Algorithm
 
Session II Structured Lighting Projector Calibration / Structured Light Reconstruction  Combining Point Clouds Recovered from Multiple Views  Surface Reconstruction from Point Clouds  Elementary Mesh Processing Conclusion / Q & A Course Schedule

Build Your Own 3D Scanner: Surface Reconstruction

  • 1.
    Session II StructuredLighting Projector Calibration / Structured Light Reconstruction Combining Point Clouds Recovered from Multiple Views Surface Reconstruction from Point Clouds Elementary Mesh Processing Conclusion / Q & A Course Schedule TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A
  • 2.
    Whole object cannotbe scanned from only one camera view Multiple scans must be merged to cover the whole object surface Each point cloud scan is generated with respect to a different camera coordinate system Relative position and orientation of each scan with respect to a global coordinate system must be determined to produce a single merged point cloud Merging Multiple Point Cloud Scans
  • 3.
    A densely sampledpoint cloud covering the whole surface of the object usually requires merging many scans Merging Point Cloud Scans
  • 4.
    http://www.research.ibm.com/pieta Shape AppearanceComplex Models May Require 100s of Scans
  • 5.
  • 6.
    Merging Point CloudScans Incremental registration and merging Followed by global relaxation to remove accumulated errors
  • 7.
    Merging Two PointCloud Scans Select at least 3 pairs of corresponding points, but ideally N>>3 Solve in close form for the matching rigid body transformation Refine solution using the Iterative Closest Point Algorithm (ICP) User input is OK for small models Moving Fixed P. Besl, N.D. McKey, A method for Registration of 3D Shapes . IEEE Transactions on PAMI, 1992
  • 8.
    Given N pairsof corresponding 3D points we are looking for a rotation matrix and a translation vector so that In general, solution does not exists: solve in the Least-Squares sense Now we are looking for the minimizer of the quadratic energy function This problem has a closed form solution Where And is the Singular Value Decomposition (SVD) of Computing the Matching Transformation Fixed Moving
  • 9.
    Iterative Closest PointAlgorithm (ICP) Automatically select N points Find closest corresponding points Solve in close form for the matching rigid body transformation which minimizes the energy function Repeat 1-3 while until convergence
  • 10.
    Problem: find thepoint of the set closest to the point Naïve algorithm: sequential search O(N) Too expensive if the same computation must be performed for many points Efficient algorithm requires space partition data structure Quadtree/Octree, BSP tree Finding Closest Points
  • 11.
    Session II StructuredLighting Projector Calibration / Structured Light Reconstruction Combining Point Clouds Recovered from Multiple Views Surface Reconstruction from Point Clouds Elementary Mesh Processing Conclusion / Q & A Course Schedule
  • 12.
    Surface Representations Surfacesin Mathematics Parametric Implicit (level set) We can only operate on a surface representation A data structure defined by a finite number of parameters Efficient to perform certain geometric operations Point clouds (surfaces represented as sets of samples) Positions Optional properties:normals, colors, etc Polygon meshes (piecewise planar surfaces) vertices, edges, and faces Optional properties: normals, color, texture coordinates, etc.
  • 13.
    Connectivity / WatertightSurfaces Most applications require connectivity information Efficient ways to find points in close proximity to each other Point clouds do not provide connectivity information Additional data structures are needed to efficiently find neighboring points Connectivity is explicit in polygon meshes: edges Triangulate the point cloud to get connectivity information Find an interpolating or approximating triangle mesh Many applications require watertight surfaces: continuous closed surfaces which partition 3D space into an inside and an outside Point clouds are not watertight Polygon meshes may be watertight Will the triangulation constructed from the point cloud be watertight ?
  • 14.
  • 15.
    Surface Reconstruction fromPoint Clouds Every regular Implicit surface is watertight An Isosurface is a polygonal approximation of an implicit function associated with a volumetric grid Marching Cubes is an algorithm to compute an isosurface from an implicit surface evaluated on the vertices of a regular hexahedral grid Similar simple algorithms exists to generate isosurfaces from an implicit function evaluated on the vertices of a tetrahedral grid We will only discuss here approximation algorithms to fit implicit surfaces to point clouds Algorithms related to the Poisson Equation M. Kazhdan, M. Bolitho, H. Hoppe. Poisson Surface Reconstruction . European Symposium on Geometry Processing, 2006 W.E. Lorensen, H.E. Cline. Marching Cubes:A high resolution 3D surface reconstruction algorithm . Siggraph,1987
  • 16.
    Curve Reconstruction fromPoint Clouds Oriented points Regular grid Implicit function Isocurve Grid too coarse: Aliasing Finer grid resolves topology
  • 17.
    Given an oriented point cloud (points and normal vectors) Look for an implicit function defined on a volume so that Minimize the energy function For a family of functions linearly parameterized by a finite parameter set, this is a Least-Squares problem: the problem reduces to solving a linear system (typically large and sparse) Vector Field Isosurface (VFIso) P. Sibley, G. Taubin. Vectorfield Isosurface-based Reconstruction from Oriented Points . Siggraph, 2005 (Sketch)
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
    Session II StructuredLighting Projector Calibration / Structured Light Reconstruction Combining Point Clouds Recovered from Multiple Views Surface Reconstruction from Point Clouds Elementary Mesh Processing Conclusion / Q & A Course Schedule
  • 27.
    We will talkabout a few simple algorithms which can be applied interactively Polygon mesh smoothing / denoising Polygon mesh simplification j3DPGP (Java 3D Photography and Geometry Processing) Elementary Mesh Processing
  • 28.
  • 29.
  • 30.
  • 31.
    Polygon Mesh Smoothing/ Denoising G. Taubin. A Signal Processing Approach To Fair Surface Design . Siggraph, 1995 Laplacian smoothing is the simplest smoothing/denoising algorithm Fix to shrinkage problem: toggle parameter sign at each iteration ! Laplacian Smoothing Low Pass Filter N=10 N=40 N=240
  • 32.
    Laplacian Smoothing Intuition:remove noise by averaging neighboring positions Compute displacement vector for each vertex Move vertices in the displacement vector direction Can use more general weights
  • 33.
    Laplacian Smoothing AdvantagesAlgorithm Simplicity Linear time and storage Edge length equalization Constraints and special effects by weight control DEMO Disadvantages Overall Shrinkage Edge length equalization Shrinkage at boundaries Smoothing of ridges
  • 34.
    A Simple Solutionto the Shrinkage Problem G. Taubin. A Signal Processing Approach To Fair Surface Design . Siggraph, 1995 Minor modification of Laplacian smoothing algorithm Two Laplacian smoothing steps First shrinking step with positive factor Second unshrinking step with negative factor Repeat the two steps N/2 times Why does this algorithm solve the problem? This is a true low-pass filter Fourier Analysis on graphs and meshes Read the paper !
  • 35.
    Algorithms to reducethe number of vertices and faces while preserving geometric approximation to original shape Poligon Mesh Simplification / Decimation Vertex clustering (Rossignac & Borrel, 1993) Edge Collapse (Garand Heckbert 1997; many others)
  • 36.
    Quantize coordinates withrespect to a bounding box Identify vertices with same coordinates Remove empty triangles Vertex Clustering
  • 37.
    Quantize coordinates withrespect to bounding box Assign a new vertex index to each occupied cell Determine coordinates of new vertices Construct new vertex index look-up table Replace vertex indices in faces Remove empty triangles from list of faces Vertex Clustering Algorithm
  • 38.
    Advantages Simple toimplement Works on large scenes with multiple objects No manifold restriction Disadvantages Produces non-manifold meshes Quality of simplified model is often not very good Vertex Clustering
  • 39.
    Identify endpoints Determinevertex position Remove incident triangles Which edges to collapse ? In which order ? Edge Collapse Non-existing edges
  • 40.
    Put all collapsible edges in a priority queue according to removal error While queue is not empty Delete minimum edge from queue Collapse edge Identify vertices Remove all incident edges from the queue, determine if collapsible, recompute removal error, re-insert in queue Need dynamic data structures Basic Edge Collapse Algorithm
  • 41.
  • 42.
    Session II StructuredLighting Projector Calibration / Structured Light Reconstruction Combining Point Clouds Recovered from Multiple Views Surface Reconstruction from Point Clouds Elementary Mesh Processing Conclusion / Q & A Course Schedule

Editor's Notes

  • #2 Build Your Own 3D Scanner 2/18/2009
  • #3 Build Your Own 3D Scanner 2/18/2009
  • #4 Build Your Own 3D Scanner 2/18/2009
  • #7 Build Your Own 3D Scanner 2/18/2009
  • #8 Build Your Own 3D Scanner 2/18/2009
  • #9 Build Your Own 3D Scanner 2/18/2009
  • #10 Build Your Own 3D Scanner 2/18/2009
  • #11 Build Your Own 3D Scanner 2/18/2009
  • #12 Build Your Own 3D Scanner 2/18/2009
  • #13 Build Your Own 3D Scanner 2/18/2009
  • #14 Build Your Own 3D Scanner 2/18/2009
  • #15 Build Your Own 3D Scanner 2/18/2009
  • #16 Build Your Own 3D Scanner 2/18/2009
  • #17 Build Your Own 3D Scanner 2/18/2009
  • #18 Build Your Own 3D Scanner 2/18/2009
  • #19 1 slide each man, hand, pig
  • #27 Build Your Own 3D Scanner 2/18/2009
  • #28 Build Your Own 3D Scanner 2/18/2009
  • #32 Build Your Own 3D Scanner 2/18/2009
  • #33 Build Your Own 3D Scanner 2/18/2009
  • #34 Build Your Own 3D Scanner 2/18/2009
  • #35 Build Your Own 3D Scanner 2/18/2009
  • #36 Build Your Own 3D Scanner 2/18/2009
  • #37 Build Your Own 3D Scanner 2/18/2009
  • #38 Build Your Own 3D Scanner 2/18/2009
  • #39 Build Your Own 3D Scanner 2/18/2009
  • #40 Build Your Own 3D Scanner 2/18/2009
  • #41 Build Your Own 3D Scanner 2/18/2009
  • #42 Build Your Own 3D Scanner 2/18/2009
  • #43 Build Your Own 3D Scanner 2/18/2009