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

Similar documents
3D Modeling I. CG08b Lior Shapira Lecture 8. Based on: Thomas Funkhouser,Princeton University. Thomas Funkhouser 2000

Overview of 3D Object Representations

3D Object Representation. Michael Kazhdan ( /657)

Overview of 3D Object Representations

3D Object Representation

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

Subdivision Surfaces. Course Syllabus. Course Syllabus. Modeling. Equivalence of Representations. 3D Object Representations

Implicit Surfaces & Solid Representations COS 426

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

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

Structured light 3D reconstruction

Multi-View Stereo for Community Photo Collections Michael Goesele, et al, ICCV Venus de Milo

3D Scanning. Qixing Huang Feb. 9 th Slide Credit: Yasutaka Furukawa

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

3D Photography: Active Ranging, Structured Light, ICP

3D Photography: Stereo

3D Modeling of Objects Using Laser Scanning

Computer Vision. 3D acquisition

o Represent 3D objects in a computer? o Manipulate 3D objects with a computer? o CAD programs o Subdivision surface editors :)

Structured Light II. Guido Gerig CS 6320, Spring (thanks: slides Prof. S. Narasimhan, CMU, Marc Pollefeys, UNC)

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

Processing 3D Surface Data

Processing 3D Surface Data

Modeling. Michael Kazhdan ( /657) HB FvDFH Modeling Seashells, Fowler et al. 1992

Polygonal Meshes. Thomas Funkhouser Princeton University COS 526, Fall 2016

Intrinsic3D: High-Quality 3D Reconstruction by Joint Appearance and Geometry Optimization with Spatially-Varying Lighting

Polygonal Meshes. 3D Object Representations. 3D Object Representations. 3D Polygonal Mesh. 3D Polygonal Mesh. Geometry background

Generating 3D Meshes from Range Data

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

Processing 3D Surface Data

Structured Light. Tobias Nöll Thanks to Marc Pollefeys, David Nister and David Lowe

Multiple View Geometry

3D Models from Range Sensors. Gianpaolo Palma

Surround Structured Lighting for Full Object Scanning

Multi-view stereo. Many slides adapted from S. Seitz

Traditional pipeline for shape capture. Active range scanning. New pipeline for shape capture. Draw contours on model. Digitize lines with touch probe

Geometric Reconstruction Dense reconstruction of scene geometry

Computer Graphics. Prof. Feng Liu. Fall /21/2016

Geometric Representations. Stelian Coros

CSc Topics in Computer Graphics 3D Photography

ENGN D Photography / Spring 2018 / SYLLABUS

3D Modeling: Solid Models

Dense 3D Reconstruction. Christiano Gava

Spatial Data Structures

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

Image-Based Modeling and Rendering. Image-Based Modeling and Rendering. Final projects IBMR. What we have learnt so far. What IBMR is about

Computational Optical Imaging - Optique Numerique. -- Active Light 3D--

Image-based modeling (IBM) and image-based rendering (IBR)

Spatial Data Structures

3D Representation and Solid Modeling

Acquisition and Visualization of Colored 3D Objects

Modeling 3D Objects: Part 2

Image-Based Rendering

3D Perception. CS 4495 Computer Vision K. Hawkins. CS 4495 Computer Vision. 3D Perception. Kelsey Hawkins Robotics

Overview of Active Vision Techniques

Spatial Data Structures

3D object recognition used by team robotto

Shape and Appearance from Images and Range Data

Hierarchical Volumetric Fusion of Depth Images

Depth Sensors Kinect V2 A. Fornaser

CS4495/6495 Introduction to Computer Vision

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

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

MODELING AND HIERARCHY

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

3D Modeling techniques

Review. Stephen J. Guy

Registration of Moving Surfaces by Means of One-Shot Laser Projection

A Comparison between Active and Passive 3D Vision Sensors: BumblebeeXB3 and Microsoft Kinect

Optical Active 3D Scanning. Gianpaolo Palma

Dense 3D Reconstruction. Christiano Gava

Outline. 1 Why we re interested in Real-Time tracking and mapping. 3 Kinect Fusion System Overview. 4 Real-time Surface Mapping

3D Modeling: Surfaces

3D scanning. 3D scanning is a family of technologies created as a means of automatic measurement of geometric properties of objects.

Stereo vision. Many slides adapted from Steve Seitz

Structured light , , Computational Photography Fall 2017, Lecture 27

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

A Volumetric Method for Building Complex Models from Range Images

Complex Models from Range Images. A Volumetric Method for Building. Brian Curless. Marc Levoy. Computer Graphics Laboratory. Stanford University

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

Other Reconstruction Techniques

Lecture notes: Object modeling

Lecture 19: Depth Cameras. Visual Computing Systems CMU , Fall 2013

Advanced 3D-Data Structures

Lecture 10: Multi view geometry

IMAGE-BASED RENDERING

Stereo. 11/02/2012 CS129, Brown James Hays. Slides by Kristen Grauman

Project Updates Short lecture Volumetric Modeling +2 papers

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

9. Three Dimensional Object Representations

Level of Details in Computer Rendering

5.2 Surface Registration

Rigid ICP registration with Kinect

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Operation of machine vision system

Subdivision Surfaces

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Stereo and structured light

CVPR 2014 Visual SLAM Tutorial Kintinuous

3D Scanning. Lecture courtesy of Szymon Rusinkiewicz Princeton University

Transcription:

3D Object Representations COS 526, Fall 2016 Princeton University

3D Object Representations How do we... Represent 3D objects in a computer? Acquire computer representations of 3D objects? Manipulate computer representations of 3D objects? H&B Figure 10.46 Stanford Graphics Laboratory

3D Object Representations What can we do with a 3D object representation? Edit Transform Smooth Render Animate Morph Compress Transmit Analyze etc. Digital Michelangelo Pirates of the Caribbean Thouis Ray Jones Sand et al.

3D Object Representations Desirable properties depend on intended use Easy to acquire Accurate Concise Intuitive editing Efficient editing Efficient display Efficient intersections Guaranteed validity Guaranteed smoothness etc.

3D Object Representations How can this object be represented in a computer?

3D Object Representations This one? H&B Figure 9.9

3D Object Representations This one? H&B Figure 10.46

3D Object Representations This one? Stanford Graphics Laboratory

3D Object Representations This one?

3D Object Representations Points Range image Point cloud Surfaces Polygonal mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Application specific

Equivalence of Representations Thesis: Each representation has enough expressive power to model the shape of any geometric object It is possible to perform all geometric operations with any fundamental representation Analogous to Turing-equivalence Computers and programming languages are Turing-equivalent, but each has its benefits Naylor

Why Different Representations? Efficiency for different tasks Acquisition Rendering Manipulation Animation Analysis Data structures determine algorithms

Why Different Representations? Efficiency Representational complexity (e.g. volume vs. surface) Computational complexity (e.g. O(n 2 ) vs O(n 3 ) ) Space/time trade-offs (e.g. z-buffer) Numerical accuracy/stability (e.g. degree of polynomial) Simplicity Ease of acquisition Hardware acceleration Software creation and maintenance Usability Designer interface vs. computational engine

3D Object Representations Points Range image Point cloud Surfaces Polygonal mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Application specific

Range Image Set of 3D points mapping to pixels of depth image Can be acquired from range scanner Cyberware Stanford Range Image Tesselation Range Surface Brian Curless SIGGRAPH 99 Course #4 Notes

Point Cloud Unstructured set of 3D point samples Acquired from range finder, computer vision, etc Polhemus Hoppe Microscribe-3D Hoppe

3D Object Representations Points Range image Point cloud Surfaces Polygonal mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Application specific

Polygonal Mesh Connected set of polygons (usually triangles) Stanford Graphics Laboratory

Subdivision Surface Coarse mesh & subdivision rule Smooth surface is limit of sequence of refinements Zorin & Schroeder SIGGRAPH 99 Course Notes

Parametric Surface Tensor-product spline patches Each patch is parametric function Careful constraints to maintain continuity x = F x (u,v) y = F y (u,v) z = F z (u,v) v u FvDFH Figure 11.44

Implicit Surface Set of all points satisfying: F(x,y,z) = 0 Polygonal Model Implicit Model Bill Lorensen SIGGRAPH 99 Course #4 Notes

3D Object Representations Points Range image Point cloud Surfaces Polygonal mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Application specific

Voxel grid Uniform volumetric grid of samples: Occupancy (object vs. empty space) Density Color Other function (speed, temperature, etc.) FvDFH Figure 12.20 Often acquired via simulation or from CAT, MRI, etc. Stanford Graphics Laboratory

BSP Tree Hierarchical Binary Space Partition with solid/empty cells labeled Constructed from polygonal representations a b c d e f 1 2 3 7 4 5 6 a b c d e f g Object a b c d e f 1 2 3 4 5 6 7 Binary Spatial Partition Binary Tree Naylor

CSG Constructive Solid Geometry: set operations (union, difference, intersection) applied to simple shapes FvDFH Figure 12.27 H&B Figure 9.9

Sweep Solid swept by curve along trajectory Removal Path Sweep Model Bill Lorensen SIGGRAPH 99 Course #4 Notes

3D Object Representations Points Range image Point cloud Surfaces Polygonal mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Application specific

Scene Graph Union of objects at leaf nodes Bell Laboratories avalon.viewpoint.com

Application Specific Apo A-1 (Theoretical Biophysics Group, University of Illinois at Urbana-Champaign) Architectural Floorplan (CS Building, Princeton University)

3D Object Representations Points Range image Point cloud Surfaces Polygonal mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Application specific

Equivalence of Representations Thesis: Each representation has enough expressive power to model the shape of any geometric object It is possible to perform all geometric operations with any fundamental representation Analogous to Turing-equivalence Computers and programming languages are Turing-equivalent, but each has its benefits Naylor

Point-Based Representations (with an emphasis on RGB-D scans)

3D Object Representations Points Range image Point cloud Surfaces Polygonal mesh Subdivision Parametric Implicit Solids Voxels BSP tree CSG Sweep High-level structures Scene graph Application specific

Point Clouds Represent surface by a set of points Each point is represented by (x, y, z) [(r, g, b)] No connectivity between points

Point Clouds Properties? Easy to acquire Accurate Concise Intuitive editing Efficient editing Efficient display Efficient intersections Guaranteed validity Guaranteed smoothness etc.

Point Clouds Properties? Easy to acquire Accurate Concise Intuitive editing Efficient editing Efficient display Efficient intersections Guaranteed validity Guaranteed smoothness etc.

Point Cloud Acquisition Passive Structure from motion Active Touch probes Reflectance scanning Time of flight Triangulation Laser Structured light

Structure from Motion (SfM) Multi-view Stereo (MVS) Structure from Motion Solve for 3D structure of pixel correspondences in multiple images

Structure from Motion Advantages: Has been demonstrated for large photo collections Passive Disadvantages: Only works for points where pixel correspondences can be found

Touch Probes Capture points on object with tracked tip of probe Physical contact with the object Manual or computer-guided

Touch Probes Advantages: Can be very precise Can scan any solid surface Disadvantages: Slow, small scale Can t use on fragile objects

Time of Flight Laser Scanning Measures the time it takes the laser beam to hit the object and come back e.g., LIDAR lase r d d = 0.5 t c

Time of Flight Laser Scanning Advantages Accommodates large range up to several miles (suitable for buildings, rocks) Disadvantages Lower accuracy

Triangulation Laser Scanning System includes calibrated laser beam and camera Laser dot is photographed The location of the dot in the image allows triangulation: tells distance to the object camera (CCD) lase r lens d

Triangulation Laser Scanning System includes calibrated laser beam and camera Laser dot is photographed The location of the dot in the image allows triangulation: tells distance to the object camera (CCD) lens lase r d

Triangulation Laser Scanning Stripe triangulation Light Plane Object Laser Image Point Camera Plug X, Y into plane equation to get Z Courtesy S. Narasimhan, CMU

Triangulation Laser Scanning Advantages Very precise (tens of microns) Disadvantages Small distances (meters) Inaccessible regions

Multi-Stripe Triangulation

Color-Coded Stripe Triangulation Active Scanning Zhang et al, 3DPVT 2002

Color-Coded Stripe Triangulation Zhang et al, 3DPVT 2002

Time-Coded Stripe Triangulation Assign each stripe a unique illumination code over time Time Space [Posdamer 82]

Time-Coded Stripe Triangulation

Time-Coded Stripe Triangulation

Time-Coded Stripe Triangulation Recovered Rows Recovered Columns 3D Reconstruction using Structured Light [Inokuchi 1984]

Structured Light Patterns Single-shot patterns (N-arrays, grids, random, etc.) Spatial encoding strategies [Chen et al. 2007] De Bruijn sequences [Zhang et al. 2002] Pseudorandom and M-arrays [Griffin 1992] J. Salvi, J. Pagès, and J. Batlle. Pattern Codification Strategies in Structured Light Systems. Pattern Recognition, 2004 Phase-shifting [Zhang et al. 2004]

Structured Light Scanning: Kinect IR Emitter Color Sensor IR Depth Sensor Tilt Motor Microphone Array

Structured Light Scanning: Kinect Projected IR Pattern

Structured Light Scanning: Kinect Depth Map RGB Image

Structured Light Scanning: Kinect http://www.youtube.com/watch?v=uq9sejxziug

Structured Light Scanning Advantages: Very fast 2D pattern at once Disadvantages: Prone to noise Indoor only

RGB-D Scanning of Static Indoor Environments

RGB-D scanning of indoor places Example RGB-D scans

RGB-D scanning of indoor places Motivation: scene modeling and visualization [Pomerlau et al., 2013]

RGB-D scanning of indoor places Applications: Home remodeling Online tourism Virtual worlds Real estate Simulation Forensics Robotics Games etc. [Song et al., 2015]

RGB-D scanning of indoor places Challenges: Acquisition (scanning process) Registration (camera pose estimation) Surface reconstruction (surface estimation) Surface completion (hole filling) Surface coloring (texture synthesis) Segmentation (object decomposition) Labeling (semantic annotation) Modeling (CAD model extraction) etc.

Acquisition of RGB-D Scans Tripod (Matterport) Push Cart (NavVis) Robot (Princetion Vision Group) Hand-held (Structure IO, Intel)

Registration of RGB-D Scans Goals: Commodity cameras Long RGB-D sequences Large environments Globally consistent Metric accuracy Fast to compute Automatic

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP Input Image VLFeat

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP SIFT Keypoints VLFeat

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP SIFT Descriptors VLFeat

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP SIFT Descriptors VLFeat

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP SIFT Keypoint Matches VLFeat

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP Model previous scans with TSDF [Newcombe et al., 2011]

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP Align new scans to TSDF model [Newcombe et al., 2011]

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP KinectFusion [Newcombe et al., 2011]

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP Problems: Drift and Featureless Areas

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP SUN3DSfM [Xiao et al., 2013]

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP ElasticFusion [Whelan et al., 2015]

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP Intel Research Lab in Seattle

RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP Robust Reconstruction [Choi et al., 2015]

Iterative Closest Points [Besl, 1992] RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP

Iterative Closest Points [Besl, 1992] RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP

Iterative Closest Points [Besl, 1992] RGB-D Registration Techniques Real-time: Feature tracking Iterated closest points Volumetric fusion Loop closure search Off-line: Pose-graph optimization Robust reconstruction Global ICP

Example RGB-D Registration Pipeline [Halber et al., 2016]

Example RGB-D Registration Pipeline [Halber et al., 2016]

Example RGB-D Registration Pipeline [Halber et al., 2016]

Example RGB-D Registration Pipeline [Halber et al., 2016]

Example RGB-D Registration Pipeline [Halber et al., 2016]

Our Next Class Field Trip! Experience scanning 3D environments