300 likes | 425 Views
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach. Hendrik K ü ck, Wolfgang Heidrich, Christian Vogelgsang. The goal. The goal. Our approach. Perform reconstruction using Color Object’s silhouettes Create initial approximation based on silhouettes (Visual Hull)
E N D
Shape from Contours and Multiple StereoA Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang
Our approach • Perform reconstruction using • Color • Object’s silhouettes • Create initial approximation based on silhouettes (Visual Hull) • 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
Calibrated images Foreground/ background segmentation Image data & preprocessing
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 Shape from Silhouettes
Visual Hull • Definition: Largest volume that produces the same silhouettes as the object • Construction:Intersection of the silhouette cones
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 functionD(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( SCi ,x,d) = maxi D(SCi ,x,d) • D(SCi ,x,d)can be efficiently computed in image space
Computing the Visual Hull 14000 triangles 1400 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
Optimization • Only geometry is optimized, not topology • 3 Nv degrees of freedom • Global optimization hopeless • Use local per-vertex optimizations • Locally minimize energy function E(vi) using 3D Simplex Method • Iterate over vertices
Per Vertex Energy Function color triangle shape self penetration silhouette local curvature
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 (L2 norm)
Use OpenGL for color projection Projective texture mapping And for determining visibility Shadow mapping Color consistency v v v v
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 Color consistency
Silhouette consistency • No part of the geometry may project outside any silhouette (must stay inside the visual hull) • Strongly penalize distance outside Visual Hull¼ maxi ( 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 ¼mini ( 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
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
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, … Multi-Resolution Optimization
Final Results before
Final Results before after
Final Results before after