Processing 3D Surface Data

Similar documents
Processing 3D Surface Data

Processing 3D Surface Data

Scalar Algorithms: Contouring

Mesh Decimation Using VTK

Volume Illumination, Contouring

Volume Illumination and Segmentation

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

Contours & Implicit Modelling 1

Generating 3D Meshes from Range Data

Contours & Implicit Modelling 4

3D Modeling of Objects Using Laser Scanning

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

Mesh Repairing and Simplification. Gianpaolo Palma

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

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

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

Mesh Decimation. Mark Pauly

Digital Geometry Processing

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

Data Representation in Visualisation

Surface Reconstruction. Gianpaolo Palma

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Scanning Real World Objects without Worries 3D Reconstruction

Multi-View Stereo for Static and Dynamic Scenes

PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO

Volume Illumination & Vector Field Visualisation

Interpolation using scanline algorithm

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

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

CS 532: 3D Computer Vision 14 th Set of Notes

Final Project, Digital Geometry Processing

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

Dense 3D Reconstruction. Christiano Gava

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

Structured light 3D reconstruction

3D Photography: Active Ranging, Structured Light, ICP

Delaunay Triangulations

Dense 3D Reconstruction. Christiano Gava

3D Modeling: Surfaces

Shape and Appearance from Images and Range Data

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

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

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

3D Photography: Stereo

AUTOMATED 4 AXIS ADAYfIVE SCANNING WITH THE DIGIBOTICS LASER DIGITIZER

Mesh Processing Pipeline

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

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

Acquisition and Visualization of Colored 3D Objects

Design Intent of Geometric Models

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

Geometric Modeling in Graphics

ENGN D Photography / Spring 2018 / SYLLABUS

3D Models from Range Sensors. Gianpaolo Palma

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

Level of Details in Computer Rendering

Project Updates Short lecture Volumetric Modeling +2 papers

Mesh and Mesh Simplification

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

CITS 4402 Computer Vision

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

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

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

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

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

Polygon Meshes and Implicit Surfaces

Triangular Mesh Segmentation Based On Surface Normal

CS 532: 3D Computer Vision 12 th Set of Notes

Polygon Meshes and Implicit Surfaces

Parameterization. Michael S. Floater. November 10, 2011

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

Manipulating the Boundary Mesh

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

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

What is visualization? Why is it important?

Watertight Planar Surface Reconstruction of Voxel Data

Free-form 3D object reconstruction from range images. C. Schütz, T. Jost, H. Hügli

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

Previously... contour or image rendering in 2D

Level Set Extraction from Gridded 2D and 3D Data

Computing 3D Geometry Directly From Range Images

A General Algorithm for Triangular Meshes Simplification

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

Multi-view reconstruction for projector camera systems based on bundle adjustment

A Comparison of Mesh Simplification Algorithms

Correctness. The Powercrust Algorithm for Surface Reconstruction. Correctness. Correctness. Delaunay Triangulation. Tools - Voronoi Diagram

c 2014 Gregory Paul Meyer

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

3D-2D Laser Range Finder calibration using a conic based geometry shape

LATEST TRENDS on APPLIED MATHEMATICS, SIMULATION, MODELLING

Introduction to Computer Graphics. Modeling (3) April 27, 2017 Kenshi Takayama

3D Computer Vision. Structured Light II. Prof. Didier Stricker. Kaiserlautern University.

MULTI - RESOLUTION 3D MODEL BY LASER DATA

Surface Simplification Using Quadric Error Metrics

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

A Volumetric Method for Building Complex Models from Range Images

5.2 Surface Registration

Multi-view Stereo. Ivo Boyadzhiev CS7670: September 13, 2011

Fan-Meshes: A Geometric Primitive for Point-based Description of 3D Models and Scenes

ACCURACY EVALUATION OF 3D RECONSTRUCTION FROM CT-SCAN IMAGES FOR INSPECTION OF INDUSTRIAL PARTS. Institut Francais du Petrole

Transcription:

Processing 3D Surface Data Computer Animation and Visualisation Lecture 17 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 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

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 5

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 6

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 https://www.youtube.com/watch?v=p2nqxyywbqi 3D Surfaces 7

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 8

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 9

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 3D Surfaces 10

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

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 12

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 13

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 3D Surfaces 14

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 15

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 16

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 17

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 18

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 3D Surfaces 19

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 20

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 21

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 22

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 23

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

Decimation of a skeleton 3D Surfaces 25

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 26

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 27

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 28

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 29

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 30

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 31

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 32

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 33

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 34

Summary Modelling Algorithms for 3D surface data Triangulation : Delaunay & iso-surfacing Decimation : Schroeder's Method Registration : Iterative Closest Point (ICP) Smoothing : Laplacian mesh smoothing Readings Shroeder et al. Decimation of Triangle Meshes, SIGGRAPH 92 Miller, Efficient algorithms for local and global accessibility shading, SIGGRAPH 94 3D Surfaces 35