Atomic Volumes for Mesh Completion Joshua Podolak Szymon Rusinkiewicz Princeton University.

Slides:



Advertisements
Similar presentations
I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton.
Advertisements

UNC Chapel Hill Lin/Foskey/Manocha Steps in DP: Step 1 Think what decision is the “last piece in the puzzle” –Where to place the outermost parentheses.
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
CompSci 102 Discrete Math for Computer Science April 19, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
Poisson Surface Reconstruction M Kazhdan, M Bolitho & H Hoppe
Based on paper by C.S. Chong, A. Senthil Kumar, H.P. Lee
Unconstrained Isosurface Extraction on Arbitrary Octrees
A Geometric Database for Gene Expression Data Baylor College of Medicine Gregor Eichele Christina Thaller Wah Chiu James Carson Rice University Tao Ju.
Computer Graphics Group Alexander Hornung Alexander Hornung and Leif Kobbelt RWTH Aachen Robust Reconstruction of Watertight 3D Models from Non-uniformly.
Robust Repair of Polygonal Models Tao Ju Rice University.
1 Minimum Ratio Contours For Meshes Andrew Clements Hao Zhang gruvi graphics + usability + visualization.
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Steps in DP: Step 1 Think what decision is the “last piece in the puzzle” –Where to place the outermost parentheses in a matrix chain multiplication (A.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi
GATE D Object Representations (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT.
Filling Holes in Complex Surfaces using Volumetric Diffusion James Davis, Stephen Marschner, Matt Garr, Marc Levoy Stanford University First International.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
CHE/ME 109 Heat Transfer in Electronics LECTURE 12 – MULTI- DIMENSIONAL NUMERICAL MODELS.
Filling Arbitrary Holes in Finite Element Models 17 th International Meshing Roundtable 2008 Schilling, Bidmon, Sommer, and Ertl.
Andrei Sharf Dan A. Alcantara Thomas Lewiner Chen Greif Alla Sheffer Nina Amenta Daniel Cohen-Or Space-time Surface Reconstruction using Incompressible.
Implicit Surfaces Tom Ouyang January 29, Outline Properties of Implicit Surfaces Polygonization Ways of generating implicit surfaces Applications.
Content Subdivision First some basics (control point polygon, mesh)
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.
Stereo Computation using Iterative Graph-Cuts
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
Quadtrees and Mesh Generation Student Lecture in course MATH/CSC 870 Philipp Richter Thursday, April 19 th, 2007.
Adaptive Marching Cubes Renben Shu Chen Zhou Mohan S. Kankanhalli.
T-Snake Reference: Tim McInerney, Demetri Terzopoulos, T-snakes: Topology adaptive snakes, Medical Image Analysis, No ,pp73-91.
The Art Gallery Problem
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Projective Texture Atlas for 3D Photography Jonas Sossai Júnior Luiz Velho IMPA.
CGMB 314 Intro to Computer Graphics Fill Area Primitives.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
Context-based Surface Completion Andrei Sharf, Marc Alexa, Daniel Cohen-Or.
Vertex – A point at which two or more edges meet Edge – A line segment at which two faces intersect Face – A flat surface Vertices, Edges, Faces.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
Reporter: Zhonggui Chen
1 Surface Applications Fitting Manifold Surfaces To 3D Point Clouds, Cindy Grimm, David Laidlaw and Joseph Crisco. Journal of Biomechanical Engineering,
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
A lightweight approach to repairing digitized polygon meshes Marco Attene IMATI-GE / CNR 2010 Presented by Naitsat Alexander.
Chapter 10, Part II Edge Linking and Boundary Detection The methods discussed in the previous section yield pixels lying only on edges. This section.
Spectral surface reconstruction Reporter: Lincong Fang 24th Sep, 2008.
Problem Definition: Solution of PDE’s in Geosciences  Finite elements and finite volume require: u 3D geometrical model u Geological attributes and u.
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness)
A New Voronoi-based Reconstruction Algorithm
Partitioning using Mesh Adjacencies  Graph-based dynamic balancing Parallel construction and balancing of standard partition graph with small cuts takes.
1/57 CS148: Introduction to Computer Graphics and Imaging Geometric Modeling CS148 Lecture 6.
Detection of closed sharp edges in point clouds Speaker: Liuyu Time:
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
COMPSCI 102 Introduction to Discrete Mathematics.
Solid Modeling Dr. Scott Schaefer.
Decimation of Triangle Meshes Paper by W.J.Schroeder et.al Presented by Guangfeng Ji.
1 Spherical manifolds for hierarchical surface modeling Cindy Grimm.
Graphcut Textures:Image and Video Synthesis Using Graph Cuts
CSE 554 Lecture 1: Binary Pictures
3D Object Representation
CSc4730/6730 Scientific Visualization
The Art Gallery Problem
The Art Gallery Problem
A Volumetric Method for Building Complex Models from Range Images
Boolean Operations for Free-form Models Represented in Geometry Images
Overview of Modeling 김성남.
Discrete Mathematics for Computer Science
Mesh Morph 2.0 Tutorial 7/29/2019.
Presentation transcript:

Atomic Volumes for Mesh Completion Joshua Podolak Szymon Rusinkiewicz Princeton University

Outline Problem Description Problem Description Background Background Algorithm Algorithm Results Results

Motivation Scanners usually need two unobstructed lines of sight between the cameras and the model Scanners usually need two unobstructed lines of sight between the cameras and the model Even with multiple scans, there are areas containing no depth information that need to be filled Even with multiple scans, there are areas containing no depth information that need to be filled

Holes bounded by ring of half-edges. Filling Holes

Holes bounded by ring of half-edges. In simple cases, it is sufficient to create a patch by triangulating the half-edge loops around the holes. Triangulate?

Challenge Triangulation is not enough.

Challenge

Talk Overview Problem Description Problem Description Background Background Algorithm Algorithm Results Results

Related Work Point cloud reconstruction Point cloud reconstruction [Amenta01, Kolluri04] Half-edge boundary triangulation Half-edge boundary triangulation [Berg97, Liepa03] Implicit hole filling Implicit hole filling [Curless96, Davis02, Masuda04, Ju04, Sharf04] Volumetric hole filling Volumetric hole filling[Murali97]

Related Work Point cloud reconstruction Point cloud reconstruction [Amenta01, Kolluri04] Half-edge boundary triangulation Half-edge boundary triangulation [Berg97, Liepa03] Implicit hole filling Implicit hole filling [Curless96, Davis02, Masuda04, Ju04, Sharf04] Volumetric hole filling Volumetric hole filling[Murali97]

Related Work Point cloud reconstruction Point cloud reconstruction [Amenta01, Kolluri04] Half-edge boundary triangulation Half-edge boundary triangulation [Berg97, Liepa03] Implicit hole filling Implicit hole filling [Curless96, Davis02, Masuda04, Ju04, Sharf04] Volumetric hole filling Volumetric hole filling[Murali97]

Related Work Point cloud reconstruction Point cloud reconstruction [Amenta01, Kolluri04] Half-edge boundary triangulation Half-edge boundary triangulation [Berg97, Liepa03] Implicit hole filling Implicit hole filling [Curless96, Davis02, Masuda04, Ju04, Sharf04] Volumetric hole filling Volumetric hole filling [Murali97]

Talk Overview Problem Description Problem Description Background Background Algorithm Algorithm Results Results

Definition: Atomic Volume A volume is atomic if it cannot be intersected by the surface of the model. A volume is atomic if it cannot be intersected by the surface of the model. An atomic volume must be either completely inside or completely outside the model. 2 atomic volumes

Overview of Approach 1. Divide all of space into atomic volumes. Regions of space that will either be wholly in or wholly out of the reconstructed solid. Regions of space that will either be wholly in or wholly out of the reconstructed solid. 2. For each atomic volume, decide whether it is inside the mesh or outside. 3. The boundary between interior volumes and exterior volumes is the new surface.

Step 1: Spatial Partitioning

Blank Region Blank cubes do not contain any part of the input model. Blank cubes

Step 1: Spatial Partitioning In Region Out Region Blank Region Inside/Outside (IO): Cubes containing elements of the surface away from the holes. IO cubes

Step 1: Spatial Partitioning In Region Out Region Hole Region Blank Region Hole cubes are subdivided until they can be trivially triangulated [Mitchell92]. Hole cubes

Step 2: Label Assignment Most of the volumes can be labeled as inside or outside based on the normals of the input mesh. Most of the volumes can be labeled as inside or outside based on the normals of the input mesh. Filling the hole requires labeling the remaining volumes as inside and outside. Filling the hole requires labeling the remaining volumes as inside and outside. Outside Inside

Step 2: Label Assignment Atomic volumes correspond to nodes in the graph with edges between neighboring volumes. Atomic volumes correspond to nodes in the graph with edges between neighboring volumes.

Step 2: Label Assignment Atomic volumes correspond to nodes in the graph with edges between neighboring volumes. Atomic volumes correspond to nodes in the graph with edges between neighboring volumes. Atomic volumes on either side of a surface are not connected. Atomic volumes on either side of a surface are not connected.

Step 2: Label Assignment Atomic volumes corresponds nodes in the graph with edges between neighboring volumes. Atomic volumes corresponds nodes in the graph with edges between neighboring volumes. Atomic volumes on either side of a surface are not connected. Atomic volumes on either side of a surface are not connected. The mesh graph can be split into two disjoint sub graphs. The mesh graph can be split into two disjoint sub graphs.

Mesh Graph In Region Out Region Hole Region Blank Region Blank cube

Mesh Graph I/O cube In Region Out Region Hole Region Blank Region

Mesh Graph Hole cube In Region Out Region Hole Region Blank Region

In a watertight surface, there can be no path between inside and outside nodes. In a watertight surface, there can be no path between inside and outside nodes. Mesh Graph In Region Out Region Hole Region Blank Region

Step 2: Label Assignment Splitting the graph into two sub graphs is equivalent to labeling each of the atomic volumes. Splitting the graph into two sub graphs is equivalent to labeling each of the atomic volumes. Initially labeled atomic volumes must retain original labeling. Initially labeled atomic volumes must retain original labeling.

Minimum Cut Minimum Cut – Add source and sink nodes. – Constraint edges have a weight of infinity. Labeling Volumes Sink (outside) Source (inside) Constraint edges

Creating Patch Every edge cut in the graph corresponds to a surface added to the model. Every edge cut in the graph corresponds to a surface added to the model. In Region Out Region Hole Region Blank Region

Topological Control A graph allows adding additional constraints based on other sources of information such as Space Carving, Shadow Carving, or direct user input. A graph allows adding additional constraints based on other sources of information such as Space Carving, Shadow Carving, or direct user input. Adding an edge with weight infinity between an atomic volume to the sink node constrains that volume to be outside the model. Adding an edge with weight infinity between an atomic volume to the sink node constrains that volume to be outside the model. Atomic volumes containing points with contradicting constraints may be subdivided. Atomic volumes containing points with contradicting constraints may be subdivided.

Topological Control In the figure on the right, points are added manually to indicate that the space between the two toes is outside. In the figure on the right, points are added manually to indicate that the space between the two toes is outside. Initial mesh Unconstrained solution Constrained solution

Smoothing Big atomic volumes cause faceting of the surface. Big atomic volumes cause faceting of the surface. We introduce a smoothing step to address faceting. We introduce a smoothing step to address faceting. In Region Out Region Hole Region Blank Region

Smoothing Big atomic volumes cause faceting of the surface. Big atomic volumes cause faceting of the surface. We introduce a smoothing step to address faceting. We introduce a smoothing step to address faceting.

Smoothing Big atomic volumes cause faceting of the surface. Big atomic volumes cause faceting of the surface. We introduce a smoothing step to address faceting. We introduce a smoothing step to address faceting. UnsmoothedSmoothed

Smoothing Coarse smoothing will changes the labeling of entire atomic volumes. Fine smoothing keeps the topology of the mesh graph constant, but allows the boundary between adjacent atomic volumes to change. Unsmoothed Smoothed

Smoothing Constrained Laplacian Smoothing. We do not move vertices that cause the mesh graph to change. Result after five iterations

Talk Overview Problem Description Problem Description Background Background – Related Work – Volumetric Representation Algorithm Algorithm Results Results

Results Cross section of spiral torus.Half-torus filled with two different patches.

Results Bunny: 70k faces. 78 sec. Angel: 350k faces. 15 min.

Conclusions Atomic Volumes is a discrete volumetric method for mesh completion. Atomic Volumes is a discrete volumetric method for mesh completion. The use of an adaptive subdivision of space allows the algorithm to focus on target areas. The use of an adaptive subdivision of space allows the algorithm to focus on target areas. Using a mesh-graph provides flexibility in determining the patch. Using a mesh-graph provides flexibility in determining the patch.

Future Work Soft constraints. Soft constraints. Advanced smoothing. Advanced smoothing. – Flexible atomic volumes. – Thin plate energy. – Texture Synthesis. Signal processing. Signal processing. – Localized filtering. – Deformation.

Thank you

Mesh Graph A mesh graph contains a node for each atomic volume. A mesh graph contains a node for each atomic volume. An edge between neighboring atomic volumes represents the strength of the belief that they will be labeled similarly. An edge between neighboring atomic volumes represents the strength of the belief that they will be labeled similarly.