Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.

Slides:



Advertisements
Similar presentations
Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik.
Advertisements

L1 sparse reconstruction of sharp point set surfaces
11/11/02 IDR Workshop Dealing With Location Uncertainty in Images Hasan F. Ates Princeton University 11/11/02.
Surface Reconstruction From Unorganized Point Sets
Multiview Reconstruction. Why More Than 2 Views? BaselineBaseline – Too short – low accuracy – Too long – matching becomes hard.
Extended Gaussian Images
Eyes for Relighting Extracting environment maps for use in integrating and relighting scenes (Noshino and Nayar)
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
MATHIEU GAUTHIER PIERRE POULIN LIGUM, DEPT. I.R.O. UNIVERSITÉ DE MONTRÉAL GRAPHICS INTERFACE 2009 Preserving Sharp Edges in Geometry Images.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Silhouettes in Multiview Stereo Ian Simon. Multiview Stereo Problem Input: – a collection of images of a rigid object (or scene) – camera parameters for.
Mesh Simplification Global and Local Methods:
Boundary matting for view synthesis Samuel W. Hasinoff Sing Bing Kang Richard Szeliski Computer Vision and Image Understanding 103 (2006) 22–32.
HCI 530 : Seminar (HCI) Damian Schofield.
Hierarchical Region-Based Segmentation by Ratio-Contour Jun Wang April 28, 2004 Course Project of CSCE 790.
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1
1 Image-Based Visual Hulls Paper by Wojciech Matusik, Chris Buehler, Ramesh Raskar, Steven J. Gortler and Leonard McMillan [
Shape Modeling International 2007 – University of Utah, School of Computing Robust Smooth Feature Extraction from Point Clouds Joel Daniels ¹ Linh Ha ¹.
Multi-view stereo Many slides adapted from S. Seitz.
High-Quality Video View Interpolation
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Accurate, Dense and Robust Multi-View Stereopsis Yasutaka Furukawa and Jean Ponce Presented by Rahul Garg and Ryan Kaminsky.
Research & Innovation 1 An Industry Perspective on VVG Research Oliver Grau BBC Research & Innovation VVG SUMMER SCHOOL '07.
Image-Based Visual Hulls Wojciech Matusik Chris Buehler Ramesh Raskar Steven Gortler Leonard McMillan Presentation by: Kenton McHenry.
My Research Experience Cheng Qian. Outline 3D Reconstruction Based on Range Images Color Engineering Thermal Image Restoration.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Finish Adaptive Space Carving Anselmo A. Montenegro †, Marcelo Gattass ‡, Paulo Carvalho † and Luiz Velho † †
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
COMP 175: Computer Graphics March 24, 2015
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
Xiaoguang Han Department of Computer Science Probation talk – D Human Reconstruction from Sparse Uncalibrated Views.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Exploitation of 3D Video Technologies Takashi Matsuyama Graduate School of Informatics, Kyoto University 12 th International Conference on Informatics.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
1 Surface Applications Fitting Manifold Surfaces To 3D Point Clouds, Cindy Grimm, David Laidlaw and Joseph Crisco. Journal of Biomechanical Engineering,
Andrew Nealen / Olga Sorkine / Mark Alexa / Daniel Cohen-Or SoHyeon Jeong 2007/03/02.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
Non-Photorealistic Rendering and Content- Based Image Retrieval Yuan-Hao Lai Pacific Graphics (2003)
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Finish Hardware Accelerated Voxel Coloring Anselmo A. Montenegro †, Luiz Velho †, Paulo Carvalho † and Marcelo Gattass ‡ †
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Surface Rendering Methods 고려대학교 컴퓨터 그래픽스 연구실.
Using simplified meshes for crude registration of two partially overlapping range images Mercedes R.G.Márquez Wu Shin-Ting State University of Matogrosso.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
High Resolution Surface Reconstruction from Overlapping Multiple-Views
Local Illumination and Shading
1Ellen L. Walker 3D Vision Why? The world is 3D Not all useful information is readily available in 2D Why so hard? “Inverse problem”: one image = many.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Image-Based Rendering Geometry and light interaction may be difficult and expensive to model –Think of how hard radiosity is –Imagine the complexity of.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
APE'07 IV INTERNATIONAL CONFERENCE ON ADVANCES IN PRODUCTION ENGINEERING June 2007 Warsaw, Poland M. Nowakiewicz, J. Porter-Sobieraj Faculty of.
CIVET seminar Presentation day: Presenter : Park, GilSoon.
3D Graphics Rendering PPT By Ricardo Veguilla.
Removing Highlight Spots in Visual Hull Rendering
Domain-Modeling Techniques
Silhouette Intersection
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
A Volumetric Method for Building Complex Models from Range Images
Presentation transcript:

Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang

The goal

Our approach Perform reconstruction using Color Object’s silhouettes 1.Create initial approximation based on silhouettes (Visual Hull) 2.Improve mesh using color information within an optimization approach Perform reconstruction using Color Object’s silhouettes 1.Create initial approximation based on silhouettes (Visual Hull) 2.Improve mesh using color information within an optimization approach

Talk outline Image data & preprocessing Visual Hull Definition Computation as a triangle mesh Image based mesh optimization Results Image data & preprocessing Visual Hull Definition Computation as a triangle mesh Image based mesh optimization Results

Image data & preprocessing Calibrated images Foreground/ background segmentation Calibrated images Foreground/ background segmentation

Shape from Silhouettes Silhouette + camera information: Silhouette Cone Completely contains real object

Shape from Silhouettes Silhouette + camera information: Silhouette Cone Completely contains real object Silhouettes can have holes

Visual Hull Definition: Largest volume that produces the same silhouettes as the object Construction: Intersection of the silhouette cones Definition: Largest volume that produces the same silhouettes as the object Construction: Intersection of the silhouette cones

Visual Hull

Computing the Visual Hull Extract Visual Hull using Extended Marching Cubes algorithm (Kobbelt, Botsch, Schwanecke, Seidel, 2001) Vertices lie exactly on isosurface Can preserve sharp discontinuities Requires signed directed distance function D(VH,x,d) Distance from x to VH surface along direction d Positive, if x outside VH, negative if inside Extract Visual Hull using Extended Marching Cubes algorithm (Kobbelt, Botsch, Schwanecke, Seidel, 2001) Vertices lie exactly on isosurface Can preserve sharp discontinuities Requires signed directed distance function D(VH,x,d) Distance from x to VH surface along direction d Positive, if x outside VH, negative if inside

Computing the Visual Hull D(VH,x,d) = D(  SC i,x,d) = max i D(SC i,x,d) D(SC i,x,d) can be efficiently computed in image space D(VH,x,d) = D(  SC i,x,d) = max i D(SC i,x,d) D(SC i,x,d) can be efficiently computed in image space

Computing the Visual Hull triangles1400 triangles

The Optimization Stage Evolve triangle mesh into a shape that is Consistent with color in the images Consistent with silhouettes in images Free from self-intersections Smooth (low curvature) Composed of well shaped triangles Evolve triangle mesh into a shape that is Consistent with color in the images Consistent with silhouettes in images Free from self-intersections Smooth (low curvature) Composed of well shaped triangles

Optimization Only geometry is optimized, not topology 3 N v degrees of freedom Global optimization hopeless  Use local per-vertex optimizations Locally minimize energy function E(v i ) using 3D Simplex Method Iterate over vertices Only geometry is optimized, not topology 3 N v degrees of freedom Global optimization hopeless  Use local per-vertex optimizations Locally minimize energy function E(v i ) using 3D Simplex Method Iterate over vertices

Per Vertex Energy Function color silhouette triangle shape local curvature self penetration

Color consistency Assumption: Lambertian reflectance Surface points appear the same from all viewing directions Points on the real surface will project onto pixels of the same color in all images that see them Projecting images onto the mesh If surface is consistent, the color from different images will match Color cost term  color mismatch (L 2 norm) Assumption: Lambertian reflectance Surface points appear the same from all viewing directions Points on the real surface will project onto pixels of the same color in all images that see them Projecting images onto the mesh If surface is consistent, the color from different images will match Color cost term  color mismatch (L 2 norm)

Color consistency Use OpenGL for color projection Projective texture mapping And for determining visibility Shadow mapping v v vv

Color consistency Set up orthographic view of triangle fan around vertex v Choose scale according to sampling rate in the images Render fan to get samples of color and occlusion, once for each (relevant) image

Silhouette consistency No part of the geometry may project outside any silhouette (must stay inside the visual hull)  Strongly penalize distance outside Visual Hull ¼ max i ( distance outside silhouettes in image i ) Geometry may be smaller than Visual Hull Where color does not provide enough information, use Visual Hull as fallback solution  Slightly penalize distance inside Visual Hull ¼ min i ( distance inside silhouettes in image i ) No part of the geometry may project outside any silhouette (must stay inside the visual hull)  Strongly penalize distance outside Visual Hull ¼ max i ( distance outside silhouettes in image i ) Geometry may be smaller than Visual Hull Where color does not provide enough information, use Visual Hull as fallback solution  Slightly penalize distance inside Visual Hull ¼ min i ( distance inside silhouettes in image i )

Silhouette consistency Encode distance from silhouette in alpha channel of OpenGL textures Project onto triangle fan along with color & visibility Encode distance from silhouette in alpha channel of OpenGL textures Project onto triangle fan along with color & visibility

Multi-Resolution Optimization Local minima are a problem, especially when Triangle size is small compared to geometric error Texture frequencies are high compared to geometric error Solution: Perform optimization at multiple resolutions Local minima are a problem, especially when Triangle size is small compared to geometric error Texture frequencies are high compared to geometric error Solution: Perform optimization at multiple resolutions

Multi-Resolution Optimization Start with low resolution Visual Hull mesh

Multi-Resolution Optimization Start with low resolution Visual Hull mesh Optimize until convergence

Multi-Resolution Optimization Start with low resolution Visual Hull mesh Optimize until convergence Subdivide & optimize more

Multi-Resolution Optimization Start with low resolution Visual Hull mesh Optimize until convergence Subdivide & optimize more Do it again, …

Final Results before

Final Results beforeafter

Final Results beforeafter

Thank you

Visual Hull Properties Completely contains the object Can capture concavities and holes Can not capture indentations objectvisual hull convex hull

Related work Esteban, Schmitt (2002) Multi-stereo 3D object reconstruction Esteban, Schmitt (2003) Silhouette and stereo fusion for 3d object modeling Isidoro, Sclaroff (2003) Stochastic refinement of the visual hull to satisfy photometric and silhouette consistency constraints Matsuyama,Wu,Takai,Nobuhara (2003) Real-time generation and high fidelity visualization of 3D video Neumann, Aloimonos (2002) Spatio-temporal stereo using multi-resolution subdivision surfaces Esteban, Schmitt (2002) Multi-stereo 3D object reconstruction Esteban, Schmitt (2003) Silhouette and stereo fusion for 3d object modeling Isidoro, Sclaroff (2003) Stochastic refinement of the visual hull to satisfy photometric and silhouette consistency constraints Matsuyama,Wu,Takai,Nobuhara (2003) Real-time generation and high fidelity visualization of 3D video Neumann, Aloimonos (2002) Spatio-temporal stereo using multi-resolution subdivision surfaces

Computing the Visual Hull (1) triangles

Computing the Visual Hull (2) triangles1400 triangles

Curvature measure Sum of dihedral angles across edges

Triangle Shape Measure For one triangle 0 for equilateral triangle Approaches  for degenerate triangles E d (v) per vertex Average  over all adjacent triangles For one triangle 0 for equilateral triangle Approaches  for degenerate triangles E d (v) per vertex Average  over all adjacent triangles

Local Optimization Vertex position is optimized to minimize E(v) 3 degrees of freedom Most promising direction for optimization: Along normal vector estimate at v Corresponds to shrinking/growing the mesh Vertex position is optimized to minimize E(v) 3 degrees of freedom Most promising direction for optimization: Along normal vector estimate at v Corresponds to shrinking/growing the mesh

Local Optimization 1D Brent’s Method 3D Downhill Simplex Method Choose method depending on Local triangle shape (threshold) Success / failure of previous 1D optimization attempt 1D Brent’s Method 3D Downhill Simplex Method Choose method depending on Local triangle shape (threshold) Success / failure of previous 1D optimization attempt

Iteration Scheduling Moving a vertex affects energy of other vertices Predominantly local interactions After moving a vertex a significant distance, optimize neighbors too But also some long distance interactions All vertices have to be visited (again) Using priority queue Increase priority of neighbors after moving a vertex (  moved distance & improvement) Increase priority over time Moving a vertex affects energy of other vertices Predominantly local interactions After moving a vertex a significant distance, optimize neighbors too But also some long distance interactions All vertices have to be visited (again) Using priority queue Increase priority of neighbors after moving a vertex (  moved distance & improvement) Increase priority over time