point based representation
play

Point-based Representation Point based graphics Implicit surfaces - PDF document

Plan: Point-based Representation Point based graphics Implicit surfaces Defining implicit surfaces from point clouds Surface optimization Qsplat MLS surfaces Intensity image Laser scanning Range Image An image with


  1. Plan: Point-based Representation � Point based graphics � Implicit surfaces � Defining implicit surfaces from point clouds � Surface optimization � Qsplat � MLS surfaces Intensity image Laser scanning Range Image � An image with depth information in every pixel Range image d Scanned model example The Digital Michelangelo Project Q: What is a cloud of points? A: A set of points in 3D Named: � Point cloud (a) � Scattered data Source: � 7.5 meter scanner 3d-scanners � 800 kilo (c) (b) 1

  2. Statistics Large Polygonal model example � 1,080 man hours � 22 people � 480 scans � 2G polygons � 7000 Color images 1M � 32 Gigabyte Motivation Surface definition Operate � Polygonal models are getting complex � � Render, hardware � If we see 1M polygons, every polygon contributes to a single � Store – compress / transmit pixel � Edit � Scanned models produce clouds of points ÷ multi-resolution ÷ Constructive Solid Geometry (CSG) � Noisy scans - Denosing ÷ Blend, merge � Ambiguities Properties � � Smooth, sharp features � Oversampled – Simplification � Manifold � Goal – surface representation � Local properties � Interpolating / approximating � Parametric: polygon mesh, higher degree � Differential properties: normal… � Implicit functions � Noise handling � New types, direct methods � Parameterization Approximating Interpolating Smooth Sharp Feature Noise 2

  3. Ambiguities Surface representations � Parametric � Polygonal meshes � Splines � Implicit functions (a) � Other, ad-hoc, MLS (b) Polygonal mesh Polygonal mesh Traditional computer graphics � Editing uses polygonal mesh as object � Hard to edit – self intersection representation � CSG � Well studied � High resolution models – � Hardware rendering overkill � Surface is well defined � Only piecewise smooth � Geometry � Topology � Color and texture Implicit functions Implicit functions r =0 � F(x,y) = 0 � Pros � F(x,y) = x 2 +y 2 -r 2 � Smooth <0 � CSG � Discrete form: image that >0 � Blend samples the function � Fill holes � Signed distance function: � Differential properties F(x,y) = ||<x,y> ; F -1 (0)|| � Cons For example 2 2 F ( x , y ) x y r � � � � Direct rendering, real-time rendering � Sharp features � Hard to parameterize 3

  4. Normals Plane – sample X’ N � Surface normal usually gradient of function � Plane bounds half-space f > 0 � Specify plane with point p �� f ( x , y , z ) = ( � f / � x , � f / � y , � f / � z ) p and normal N x � Gradient not necessarily unit length � Points in plane x are perp. f < 0 � Gradient points in direction of increasing f to normal N f ( x ) = ( x - p ) � N � f is distance if || N || = 1 The point-surface CSG (constructive Solid Geometry) modeling pipeline Union(F,G)(x,y) = min(F(x,y), G(x,y)) Range Image Intensity Image � Intersection(F,G)(x,y) = max(F(x,y), G(x,y)) � Texture to Complement(F) = -F Registration � Geometry Subtract(F,G) = intersect(F,-G) � Error union intersect difference Compensation Meshing Simplification Texture maps Model Registration Marching cubes (Lorensen and Cline) Extracts a polygonal iso-surface from a signed distance function � Use pattern rules (configurations) in in in in in out out out 4

  5. What is Marching Cubes? Forms a consistence surface � Volume is subdivided into unit cubes, which are analyzed and replaced by an appropriate set of - - - + + polygons � Threshold value marks points inside / outside - - - + + - - - + + - + + - + + - - - - - - - - - - - + - - + + - + + - - - + - + + + + - + - + - + - + - + + - + + - - + - + - + - + - - - - + + - + + + + + + + + + + MC ambiguities out in out in out in out in In 3D there are more configurations and more ambiguities. Configurations Simple results • 2^8=256 possible configurations (for a voxel), reduced to 15 (symmetry and rotations) Each configuration results in 1-4 � triangles being added to the isosurface The isosurface vertices can be � computed by: � Interpolation along edges (according to pixel values) – better shading, smoother surfaces � Default - middle of the edge. 5

  6. Brain data set Voxilla Resolution Surface reconstruction from unorganized points [Hoppe94] Surface reconstruction from Surface Reconstruction unorganized points [Hoppe94] Surface U Points {x i } Initial Surface Estimation Mesh Optimization Given: points P sampled from Goal: reconstruct a surface unknown surface U S approximating U Smooth subdivision 6

  7. Initial surface estimation Tangent plane estimation � Input: set of points {x i } � Compute n i that minimizes D U � Goal: Contour tracing p x n � � � � (Marching cubes) � j i i Nbhd(x i ) p - j Where � Estimate signed distance n i function d U :D � IR p � Nbhd x � � j i � Associate an oriented plane x i + with each point {x i } � Create a globally consistent orientation Consistent tangent plane orientation Signed distance function � Assumption: � d u (p) is the distance to the n tangent plane of the closest � if x i and x k are close then n x k n i and n k are nearly parallel point. x i k � If (n k · n i < 0) Flip n k i n k x k n i n k x i n k n i x k d u (p) x i p 3-Phase Reconstruction Results of Three Phases Goals: Determine the topological type of the surface Improve mesh’s accuracy and conciseness Points Phase 1 Phase 2 Find piecewise smooth surface fitting on the data Phase 3 7

  8. Phase 1: Initial Surface Estimation Results of phase 1 From points to mesh: � Inferring topological type � Creating geometric approximation � Points (4,102) Initial Mesh (886 vertices) Phase 2: Phase 2: Mesh optimization Mesh Optimization � Optimize the energy function: � Optimization rules use edge collapse and expand E K , V E K , V E K E K , V � � � � � � � � � � � dist rep spring � Sum of square distances E K , V d ( x , K ) � � � � (accurate) � dist i i Phase 1 (886 vertices) Phase2 (163 vertices) � Number of vertices E K c K � (sparse) � � � � rep r � Regulation term � Input : data points P , initial mesh M initial � make vertices with E K , V c v v � Output: optimized mesh M, minimizing � � � � � � equidistance spring s j k j , k K � �  E ( M ) E E � � distance complexity Optimization steps Overview of Mesh Optimization Repeat (K ’ ,V ’ )=GenerateLegalMove(K,V) V ’ = OptVertexPosition(K ’ ,V ’ ) if E(K ’ ,V ’ ) < E(K,V) (K,V) = (K ’ , V ’ ) endif Until converges 8

  9. Mesh Optimization results Mesh Optimization results Phase 3: Piecewise Smooth Surface Piecewise smooth � Not everywhere smooth, but piecewise smooth! Smooth surface Piecewise smooth surface Phase 3: Piecewise smooth subdivision Goal of Phase 3 surfaces � Perform optimization for Input the following: � Find a concise control mesh M: E K , L , V E E E � � � � � dist rep sharp � Same topological type as phase 2 � Optimization steps uses subdivision rules. � defining a piecewise smooth subdivision surface S(M) that accurately fits the points. Phase-3 K - mesh V - vertices L - sharp edges Phase-2 9

  10. Subdivision Loop’s subdivision scheme Refinement procedure of splitting each triangular 2 � Subdivision is defined as: C face into four subfaces. “repeatedly refining a control mesh” � M=(K,V) � M 1 =R(M) � M 2 =R(R(M)) = R(M 1 ) Phase-3 Subdivision details Piecewise smooth subdivision surface � Not smooth everywhere! Subdivision mask � Creation of sharp features on surface: creases, n v v v � � 1 � � � r � � 0 1 n v � � corners and darts . 0 n n � � � � 3 3 v v v v � � � w r 1 � 0 2 2 4 � 1 Crease n n Corner � � � � v 1 Where 5 n � v 0 v 2 v 5 n 1 a n � � � � � n Smooth � � � � a n w 1 ’ w 3 ’ � � 2 5 3 2 cos 2 / 5 � � � � � � a n � � � � ’ v 4 Dart 8 64 v 3 w 2 The Result Phase-3 Results 1 2 M M S � M � The subdivision procedure 10

  11. Point-based rendering Point-based rendering � What is the surface � Rendering the surface � What other operations are supported Projecting a point Projecting a point - reconstruction � A point is infinitely small � Splatting � Micro polygons � Image-space hole filling Rendering points – Hidden surface removal � Back to front Qsplat: A Multiresolution � Sort points: from nearest to farthest points Point Rendering System � Z-Buffer for Large Meshes � Arbitrary order Szymon Rusinkiewicz and Marc Levoy Stanford University 11

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend