Processing 3D Surface Data

Similar documents
Processing 3D Surface Data

Processing 3D Surface Data

Volume Illumination, Contouring

Scalar Algorithms: Contouring

Volume Illumination and Segmentation

Mesh Decimation Using VTK

Contours & Implicit Modelling 1

Contours & Implicit Modelling 4

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

3D Modeling of Objects Using Laser Scanning

Generating 3D Meshes from Range Data

Data Representation in Visualisation

Structured light 3D reconstruction

Mesh Decimation. Mark Pauly

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

Volume Illumination & Vector Field Visualisation

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Mesh Repairing and Simplification. Gianpaolo Palma

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Volume Illumination. Visualisation Lecture 11. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Mesh Processing Pipeline

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Dense 3D Reconstruction. Christiano Gava

Final Project, Digital Geometry Processing

Surface Reconstruction. Gianpaolo Palma

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

Shape and Appearance from Images and Range Data

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

Design Intent of Geometric Models

Dense 3D Reconstruction. Christiano Gava

Department of Computer Engineering, Middle East Technical University, Ankara, Turkey, TR-06531

Manipulating the Boundary Mesh

Digital Geometry Processing

Previously... contour or image rendering in 2D

Geometric Modeling in Graphics

Surface Simplification Using Quadric Error Metrics

Multi-View Stereo for Static and Dynamic Scenes

CITS 4402 Computer Vision

3D Photography: Active Ranging, Structured Light, ICP

3D Object Representations. COS 526, Fall 2016 Princeton University

3D Modeling: Surfaces

Interpolation using scanline algorithm

MULTI-PEAK RANGE IMAGING FOR ACCURATE 3D RECONSTRUCTION OF SPECULAR OBJECTS. John Park and Avinash C. Kak

Scanning Real World Objects without Worries 3D Reconstruction

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

Level of Details in Computer Rendering

Curvature-Adaptive Remeshing with Feature Preservation of Manifold Triangle Meshes with Boundary

Acquisition and Visualization of Colored 3D Objects

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

3D Photography: Stereo

Computing 3D Geometry Directly From Range Images

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Polygon Meshes and Implicit Surfaces

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

Polygon Meshes and Implicit Surfaces

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.

PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO

What is visualization? Why is it important?

Physically-Based Modeling and Animation. University of Missouri at Columbia

Delaunay Triangulations

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

A Method of Automated Landmark Generation for Automated 3D PDM Construction

13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY

Digital Geometry Processing Parameterization I

Outline. Reconstruction of 3D Meshes from Point Clouds. Motivation. Problem Statement. Applications. Challenges

Mesh and Mesh Simplification

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

AUTOMATED 4 AXIS ADAYfIVE SCANNING WITH THE DIGIBOTICS LASER DIGITIZER

3D Computer Vision. Depth Cameras. Prof. Didier Stricker. Oliver Wasenmüller

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Alex Li 11/20/2009. Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk

Watertight Planar Surface Reconstruction of Voxel Data

THE HALF-EDGE DATA STRUCTURE MODELING AND ANIMATION

Spatial Data Structures

Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov

10.1 Overview. Section 10.1: Overview. Section 10.2: Procedure for Generating Prisms. Section 10.3: Prism Meshing Options

Parameterization. Michael S. Floater. November 10, 2011

Computer Graphics Ray Casting. Matthias Teschner

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

Extraction of Concise and Realistic 3-D Models from Real Data *

Accurate 3D Face and Body Modeling from a Single Fixed Kinect

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

Triangular Mesh Segmentation Based On Surface Normal

Geometric Modeling and Processing

A Volumetric Method for Building Complex Models from Range Images

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001

Reconstruction of complete 3D object model from multi-view range images.

Graphics and Interaction Rendering pipeline & object modelling

Project Updates Short lecture Volumetric Modeling +2 papers

Surface Parameterization

Geometric Representations. Stelian Coros

Segmentation of point clouds

L2 Data Acquisition. Mechanical measurement (CMM) Structured light Range images Shape from shading Other methods

Lecture notes: Object modeling

EE795: Computer Vision and Intelligent Systems

Transcription:

Processing 3D Surface Data Computer Animation and Visualisation Lecture 15 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1

3D surface data... where from? Iso-surfacing from scalar volumes 3D environment & object captures Marching Cubes stereo vision & laser range scanners Today : Algorithms for processing 3D meshes 3D Surfaces 2

Processing 3D data 1) Capture the data (by stereo vision, range scanner) 2) Registration (if the data was captured by multiple attempts) 3) Adding the topology : converting to mesh data 4) Smoothing 5) Decimation 6) Remeshing 3D Surfaces 3

Stereo Vision : 3 key stages 1) Feature Identification identify image features in each image 2) Correspondence Matching: find a set of consistent feature correspondences (left image right image) 3) Triangulation triangulate from known camera positions recover 3D depth information 3D Surfaces 4

Result : Dense Stereo Matching Input : Image x 2 Result : depth map representation Result : novel view (point cloud representation) [Matthies, Szeliski, Kanade 88] Result : depth map (2D structured grid) knowledge of 3D depth and colour (from input) in each cell Problems : poor matches = poor 3D information e.g. right hand side of example 3D Surfaces 5

Dense Stereo Matching : Face 2 x 6 mega-pixel digital SLR cameras Commercial 3D stereo software (http://www.di3d.com/) Results : 6 mega-pixel depth map / VRML 3D surface mesh model 3D Surfaces 6

Dense Stereo Matching Advantages passive technique uses only image cameras : no expensive sensors Limitations accurate prior calibration of cameras required fails on textureless surfaces noise: effects matching, produces errors lighting affects images (e.g. specular highlights) results : often sparse incomplete surfaces Another solution Active techniques 3D Surfaces 7

Microsoft KINECT Estimating the depth from projected structured infra-red light Practical ranging limit of 1.2 3.5 m (3.9 11 ft) Software fits a skeleton character into the point cloud data http://www.youtube.com/watch?v=tmtw61mlm68&feature=relmfu 3D Surfaces 8

3D capture : laser range scanning Active depth sensing using laser beam signal Direct, accurate 3D scene information unambiguous measurement (unlike stereo) Limitations hidden surfaces (2½D) dark/shiny objects do not scan well expensive hardware dense 3D models for rendering Environment Laser Scanner 3D Surfaces 9

Great Buddha Project in Japan Capturing took 3 weeks x 2 trips x 10 students/staff http://www.youtube.com/watch?v=oonr7dv0b-m&feature=channel_page 3D Surfaces 10

Processing 3D data 1) Capture the data (by stereo vision, range scanner) 2) Registration (if the data was captured by multiple attempts) 3) Adding the topology : converting to mesh data 4) Smoothing 5) Decimation 6) Remeshing 3D Surfaces 11

3D Registration Producing larger 3D models by combining multiple range scans from different viewpoints 3D Surfaces 12

Registration ICP algorithm Example : registration of 3D model parts (toy cow) A Input: point clouds acquired viewpoints from non-aligned (from 3D range scanner) & initial estimation of registration Output: Transformation B 3D Surfaces 13

Registration ICP algorithm Problem : merging of 3D point clouds from different, unaligned orientations common in large scale range scanning (e.g. Mosque) Solution : iterative estimation of rigid 3D transform between point clouds [ Iterative Closest Point (ICP) Besl / Mckay '92] ICP algorithm: for point clouds A & B align A & B using initial estimate of 3D transform until distance between matched points < threshold matched points = N closest point pairs between A & B estimate transformation B A between matched pairs apply transformation to B 3D Surfaces 14

Processing 3D data 1) Capture the data (by stereo vision, range scanner) 2) Registration (if the data was captured by multiple attempts) 3) Adding the topology : converting to mesh data 4) Smoothing 5) Decimation 6) Remeshing 3D Surfaces 15

Point Clouds Surface Meshes Input : unstructured 3D points (point cloud) Output : polygonal data set Multiple techniques available (surface mesh) Delaunay Triangulation For surface result: 2½D data sets only The data needs to be projected onto a plane Iso-surface based Techniques define pseudo-implicit functional 3D space f(x,y,z) = c where c is distance to nearest 3D input point use iso-surface technique (Marching Cubes) to build surface 3D Surfaces 16

Delaunay Triangulation Given the point cloud, compute the triangulation such that none of the other points come into the circumcircle of each triangles Can avoid skinny triangles 3D Surfaces 17

Delaunay Triangulation: Flip Algorithm Looking at two triangles ABD and BCD with the common edge BD, if the sum of the angles α and γ is less than or equal to 180, the triangles meet the Delaunay condition. 3D Surfaces 18

Incremental Delaunay Triangulation Repeatedly add one vertex at a time (p) Find the triangle T that contains p Split T in three For each edge of T, apply the flip algorithm. Repeat 3D Surfaces 19

Surface Detail : very fine 0.25mm scan resolution. How can we visualise this fine detail? 3D Surfaces 20

Rendering : Lighting Surface Detail Surface detail illuminated using diffuse (left) and specular (right) lighting 3D Model of Michaelangelo's Unfinished Statue of St. Matthew (Stanford). Chisel marks can be seen but can this be improved 3D Surfaces 21

Rendering : Lighting Surface Detail Requirement: visualise fine surface detail here : interested in how work was carved, possibly what kind of chisel was used need to visualise fine detail of chisel marks on surface Conventional Lighting Choices : Not Good enough to see the details Diffuse : lighting has smooth curve with surface normal Specular : steeper lighting gradient but only locally only see brightness change at steep angles to light source need to catch the light to effectively see changes 3D Surfaces 22

Alternative : Accessibility Shading Shade the surface according to the size of the largest sphere that can touch the surface (i.e. how accessible it is). - Darkens inaccessible parts of model. Gives an objective view of the surface independent of choice of illumination angle (objective shading). - Light source shading Lights surface in proportion to local granularity of detail ideal for visualisation of fine surface scans 3D Surfaces 23

Example : chisel analysis Accessibility shading clear detail Specular shading less clear detail From effective visualisation further historical conclusions on chisel type can be made by bringing information out of data 3D Surfaces 24

Processing 3D data 1) Capture the data (by stereo vision, range scanner) 2) Registration (if the data was captured by multiple attempts) 3) Adding the topology : converting to mesh data 4) Smoothing 5) Decimation 6) Remeshing 3D Surfaces 25

Mesh Smoothing - 1 Surface Noise : surfaces from stereo vision and (large scale) laser scanning often contain noise removes noise, improves uniform curvature helps decimation surface Solution: Laplacian mesh smoothing modifies geometry of mesh topology unchanged reduces surface curvature and removes noise 3D Surfaces 26

Mesh Smoothing - 2 Iterative smoothing approach At each iteration i move each vertex Vi,j towards mean position of neighbouring vertices, N(Vi,j), by λ Vi+1,j = Vi,j + λn(vi,j) λ N(V)i Vi λ = 0.01 50 iterations 100 iterations 3D Surfaces 27

Mesh Smoothing - 3 Reduces high-frequency mesh information Decimate.tcl removes noise but also mesh detail! Iterations = 100; λ = 0.1 Limitations : loss of detail, mesh shrinkage enhancements : feature-preserving smoothing & non-shrinking iterative smoothing feature points can be anchored to prevent movement in mesh smoothing (detail preservation) 3D Surfaces 28

Handling Large Polygonal Datasets Large Surface Meshes Marching Cubes : voxel dataset of 5123 produces a typical iso-surface of 1-3 million triangles Laser Scanning : datasets in 10s millions of triangles Problem : lots to render! Solution : polygon reduction sub-sampling : simple sub-sampling is bad! decimation : intelligent sub-sampling by optimising mesh 3D Surfaces 29

Basic Sub-sampling Basic uniform sub-sampling loss of detail / holes / poor surface quality Marching Cubes surface example : sub-sampling level = 3 (take every nth sample) sub-sampling level = 5 3D Surfaces 30

Mesh Decimation Triangles = 340997 Mesh Decimation : intelligent mesh pruning Triangles =252717 Triangles = 3303 remove redundancy in surface mesh representation 3D Surfaces 31

Decimation of a skeleton 3D Surfaces 32

Decimation : removing redundancy Original terrain data of crater (point cloud) 90% Decimated mesh Original triangulation of point cloud very dense Many triangles approximate same planar area merge co-planar triangles Triangles in areas of high-curvature maintained 3D Surfaces 33

Decimation : Schroeder's Method Operates on triangular meshes 3D grid of regular triangular topology triangles are simplex : reduce other topologies to triangular Schroeder's Decimation Algorithm: [Schroeder et al. '92] until stopping criteria reached for each mesh vertex classify vertex if classification suitable for decimation estimate error resulting from removal if error < threshold remove vertex triangulate over resulting mesh hole 3D Surfaces 34

Schroeder's Method : vertex classification Vertex classified into 5 categories: Simple Complex Boundary Simple : surrounded by complete cycle of triangles, each edge used by exactly 2 triangles. Complex : if edges not used by only 2 triangles in cycle Boundary : lying on mesh boundary(i.e. external surface edge) 3D Surfaces 35

Schroeder's Method : vertex classification simple vertices are further classified {simple interior edge corner} vertex based on local mesh geometry feature edge : where surface normal between adjacent triangles is greater than specified feature angle Simple Interior Edge interior edge : a simple vertex used by 2 feature edges corner point : vertex used by 1, 3 or more feature edges Corne r θ 3D Surfaces 36

Schroeder's Method : decimation criterion Remove : simple vertices that are not corner points i.e. leave important or complex mesh features Simple vertex mesh considered locally flat : as no feature edges estimate error from removing this vertex error = distance d of vertex to average plane through neighbours d Represents the error that removal of the vertex would introduce into the mesh. Average plane through surrounding vertices. 3D Surfaces 37

Schroeder's Method : decimation criterion When the vertex is close to the edge vertex point considered to lie on edge error = distance d from vertex to edge resulting from removal d d Boundary Decimation Criterion : vertex removal if error d < threshold then remove Interior vertex & all associated triangles removed hole 3D Surfaces 38

Schroeder's Method: re-triangulation Hole must be re-triangulated use less triangles resulting boundary is in 3D space 3D triangulation Recursive Division Triangulation Strategy choose a split plane (in 3D), split into two sub-loops check it is valid all points in each sub-loop lie on opposite sides of the plane. 1st plane If failure, do not remove the vertex Form triangle 2nd plane choose new split plane and recursively until all sub-loops contain 3 points This is helpful for dividing concave polygons form triangles 3D Surfaces 39

Decimation : stopping criteria Option 1 : maximum error max. error that can be suffered in mesh due to removal Option 2 : target number of triangles number of triangles required in resulting decimation explicitly specifying the representational complexity of the resulting mesh Combination : combine 1 & 2 stop when either is reached measure of maintaining mesh quality (as a representation of original surface form) aims for target reduction in triangles but keeps a bound on loss of quality 3D Surfaces 40

Decimation Discussion Improve Efficiency of Representation remove redundancy within some measure of error Decimation : Mesh Compression / Polygon Reduction generate smaller mesh representation information is permanently removed lossy compression same concept as lossy image compression (e.g. JPEG) Advantages : less to store & less to render Dis-advantages : less detail 3D Surfaces 41

Remeshing & Simplification After the decimation, the triangle shapes can be very skewed. We may prefer a more uniform point distribution Also sometimes we prefer quadmeshes for FEM simulation 3D Surfaces 42

Harmonic Scalar Fields 2 u= 0 s. t. u i =c i Laplace equation boundary conditions A u that satisfies this equation is called harmonic function u produces a smooth transition between ui s. When heat diffuses over some material, it follows the Laplace equation 3D Surfaces 43

Using Harmonic fields for computer graphics By defining a harmonic function over the surface of a 3D object, we can produce a scalar field The gradient line always guides from the lowest value to the highest value No local minima This can be used for various purposes, such as Re-meshing Simplification 3D Surfaces 44

Quadrangulation process 3D Surfaces 45

Remeshing & Simplification by Harmonic Scalar Field Using the harmonic scalar field and the isoparametric lines, we can re-mesh the object By reducing the sampling rate, we can conduct simplification 3D Surfaces 46

More results 3D Surfaces 47

Other applications: Path-planning 3D Surfaces 48

Summary Modelling Algorithms for 3D surface data Triangulation : Delaunay & iso-surfacing Decimation : Schroeder's Method Registration : Iterative Closest Point (ICP) Smoothing : Laplacian mesh smoothing Remeshing : Using the Laplace equation Readings Shroeder et al. Decimation of Triangle Meshes, SIGGRAPH 92 Miller, Efficient algorithms for local and global accessibility shading, SIGGRAPH 94 Harmonic functions for quadrilateral remeshing of arbitrary manifolds Dong et al. '2004 3D Surfaces 49