710 likes | 901 Views
Visual 3D Modeling using Cameras and Camera Networks. Marc Pollefeys University of North Carolina at Chapel Hill. Talk outline. Introduction Visual 3D modeling with a hand-held camera Acquisition of camera motion Acquisition of scene structure Constructing visual models Camera Networks
E N D
Visual 3D Modeling using Cameras and Camera Networks Marc Pollefeys University of North Carolina at Chapel Hill
Talk outline • Introduction • Visual 3D modeling with a hand-held camera • Acquisition of camera motion • Acquisition of scene structure • Constructing visual models • Camera Networks • Camera Network Calibration • Camera Network Synchronization • Towards Active Camera Networks… • Conclusion Visual 3D Modeling using Cameras and Camera Networks
What can be achieved? • Can we get 3D models from images? • How much do we need to know about the camera? • Can we freely move around? Hand-held? • Do we need to keep parameters fixed? Zoom? • What about auto-exposure? • What about camera networks? • Can we provide more flexible systems? Avoid calibration? • What about using IP-based PTZ cameras? Hand-held camcorders? • Unsynchronized or even asynchronous? Visual 3D Modeling using Cameras and Camera Networks
Talk outline • Introduction • Visual 3D modeling with a hand-held camera • Acquisition of camera motion • Acquisition of scene structure • Constructing visual models • Camera Networks • Camera Network Calibration • Camera Network Synchronization • Towards Active Camera Networks… • Conclusion Visual 3D Modeling using Cameras and Camera Networks
(Pollefeys et al. ’98) Visual 3D Modeling using Cameras and Camera Networks
(Pollefeys et al. ’04) Video Key-frame selection More efficient RANSAC Fully projective Improved self-calibration Deal with dominant planes Bundle adjustment Polar stereo rectification Deal with radial distortion Faster stereo algorithm Deal with specularities Volumetric 3D integration Deal with Auto-Exposure Image-based rendering Visual 3D Modeling using Cameras and Camera Networks
Feature tracking/matching • Shape-from-Photographs: match Harris corners • Shape-from-Video: track KLT features Problem: insufficient motion between consecutive video-frames to compute epipolar geometry accurately and use it effectively as an outlier filter Visual 3D Modeling using Cameras and Camera Networks
Key-frame selection Select key-frame when F yields a better model than H • Use Robust Geometric Information Criterion • Given view i as a key-frame, pick view j as next key-frame for first view where GRIC(Fij)>GRIC(Hij) (or a few views later) (Torr ’98) model complexity bad fit penalty H-GRIC F-GRIC (Pollefeys et al.’02) Visual 3D Modeling using Cameras and Camera Networks
P C1 l1 e1 e2 l2 Fundamental matrix (3x3 rank 2 matrix) C2 Epipolar geometry Underlying structure in set of matches for rigid scenes • Computable from corresponding points • Simplifies matching • Allows to detect wrong matches • Related to calibration Visual 3D Modeling using Cameras and Camera Networks
Epipolar geometry computation:robust estimation (RANSAC) Step 1. Extract features Step 2. Compute a set of potential matches Step 3. do Step 3.1 select minimal sample (i.e. 7 matches) Step 3.2 compute solution(s) for F Step 3.3 count inliers, if not promising stop until (#inliers,#samples)<95% (generate hypothesis) (verify hypothesis) Step 4. Compute F based on all inliers Step 5. Look for additional matches Step 6. Refine F based on all correct matches Visual 3D Modeling using Cameras and Camera Networks
Epipolar geometry computation geometric relations between two views is fully described by recovered 3x3 matrix F Visual 3D Modeling using Cameras and Camera Networks
Initialize Motion (P1,P2 compatibel with F) Sequential Structure and Motion Computation Initialize Structure (minimize reprojection error) Extend motion (compute pose through matches seen in 2 or more previous views) Extend structure (Initialize new structure, refine existing structure) Visual 3D Modeling using Cameras and Camera Networks
Dealing with dominant planar scenes (Pollefeys et al., ECCV‘02) • USaM fails when common features are all in a plane • Solution: part 1 Model selection to detect problem Visual 3D Modeling using Cameras and Camera Networks
Dealing with dominant planar scenes (Pollefeys et al., ECCV‘02) • USaM fails when common features are all in a plane • Solution: part 2 Delay ambiguous computations until after self-calibration (couple self-calibration over all 3D parts) Visual 3D Modeling using Cameras and Camera Networks
Refine Structure and Motion • Use projective bundle adjustment • Sparse bundle allows very efficient computation (2 levels) • Take radial distortion into account (1 or 2 parameters) Visual 3D Modeling using Cameras and Camera Networks
* * projection constraints Self-calibration using absolute conic (Faugeras ECCV’92; Triggs CVPR’97; Pollefeys et al. ICCV’98; etc.) Euclidean projection matrix: Translate constraints on K through projection equation to constraints on * some constraints, e.g. constant, no skew,... Absolute conic projection: Upgrade from projective to metric Transform structure and motion so that*diag(1,1,1,0) Visual 3D Modeling using Cameras and Camera Networks
Practical linear self-calibration (Pollefeys et al., ECCV‘02) Don’t treat all constraints equal after normalization! (relatively accurate for most cameras) (only rough aproximation, but still usefull to avoid degenerate configurations) when fixating point at image-center not only absolute quadric diag(1,1,1,0) satisfies ICCV98 eqs., but also diag(1,1,1,a), i.e. real or imaginary spheres! Visual 3D Modeling using Cameras and Camera Networks
Refine Metric Structure and Motion • Use metric bundle adjustment • Use Euclidean parameterization for projection matrices • Same sparseness advantages, also use radial distortion Visual 3D Modeling using Cameras and Camera Networks
Mixing real and virtual elements in video Virtual reconstruction of ancient fountain Preview fragment of sagalassos TV documentary Similar to 2D3‘s Boujou and RealViz‘ MatchMover Visual 3D Modeling using Cameras and Camera Networks
Intermezzo: Auto-calibration of Multi-Projector System (Raij and Pollefeys, submitted) hard because screens are planar, but still possible Visual 3D Modeling using Cameras and Camera Networks
Stereo rectification • Resample image to simplify matching process Visual 3D Modeling using Cameras and Camera Networks
Stereo rectification • Resample image to simplify matching process Also take into account radial distortion! Visual 3D Modeling using Cameras and Camera Networks
Polar stereo rectification (Pollefeys et al. ICCV’99) Polar reparametrization of images around epipoles Does not work with standard Homography-based approaches Visual 3D Modeling using Cameras and Camera Networks
General iso-disparity surfaces (Pollefeys and Sinha, ECCV’04) Example: polar rectification preserves disp. Application: Active vision Also interesting relation to human horopter Visual 3D Modeling using Cameras and Camera Networks
Similarity measure (SSD or NCC) Optimal path (dynamic programming ) Stereo matching • Constraints • epipolar • ordering • uniqueness • disparity limit • disparity gradient limit • Trade-off • Matching cost • Discontinuities (Cox et al. CVGIP’96; Koch’96; Falkenhagen´97; Van Meerbergen,Vergauwen,Pollefeys,VanGool IJCV‘02) Visual 3D Modeling using Cameras and Camera Networks
Hierarchical stereo matching Allows faster computation Deals with large disparity ranges Downsampling (Gaussian pyramid) Disparity propagation Visual 3D Modeling using Cameras and Camera Networks
Disparity map image I´(x´,y´) image I(x,y) Disparity map D(x,y) (x´,y´)=(x+D(x,y),y) Visual 3D Modeling using Cameras and Camera Networks
Example: reconstruct image from neighbors Visual 3D Modeling using Cameras and Camera Networks
Multi-view depth fusion (Koch, Pollefeys and Van Gool. ECCV‘98) • Compute depth for every pixel of reference image • Triangulation • Use multiple views • Up- and down sequence • Use Kalman filter Also allows to compute robust texture Visual 3D Modeling using Cameras and Camera Networks
Real-time stereo on GPU (Yang and Pollefeys, CVPR2003) • Plane-sweep stereo • Computes Sum-of-Square-Differences (use pixelshader) • Hardware mip-map generation for aggregation over window • Trade-off between small and large support window (Demo GeForce4) 150M disparity hypothesis/sec (Radeon9700pro) e.g. 512x512x20disparities at 30Hz GPU is great for vision too! Visual 3D Modeling using Cameras and Camera Networks
Dealing with specular highlights (Yang, Pollefeys and Welch, ICCV’03) Extend photo-consistency model to include highlights Visual 3D Modeling using Cameras and Camera Networks
3D surface model Depth image Texture image Triangle mesh Textured 3D Wireframe model Visual 3D Modeling using Cameras and Camera Networks
Volumetric 3D integration (Curless and Levoy, Siggraph´96) Multiple depth images Volumetric integration Texture integration patchwork texture map Visual 3D Modeling using Cameras and Camera Networks
Dealing with auto-exposure (Kim and Pollefeys, submitted) • Estimate cameras radiometric response curve, exposure and white balance changes • Extends prior HDR work at Columbia, CMU, etc. to moving camera brightness transfer curve robust estimate using DP auto-exposure fixed-exposure response curve model Visual 3D Modeling using Cameras and Camera Networks
Dealing with auto-exposure (Kim and Pollefeys, submitted) Applications: • Photometric alignment of textures (or HDR textures) • HDR video Visual 3D Modeling using Cameras and Camera Networks
Part of Jain temple Recorded during post-ICCV tourist trip in India (Nikon F50; Scanned) Visual 3D Modeling using Cameras and Camera Networks
Example: DV video 3D model accuracy ~1/500 from DV video (i.e. 140kb jpegs 576x720) Visual 3D Modeling using Cameras and Camera Networks
Unstructured lightfield rendering (Heigl et al.’99) demo Visual 3D Modeling using Cameras and Camera Networks
Talk outline • Introduction • Visual 3D modeling with a hand-held camera • Acquisition of camera motion • Acquisition of scene structure • Constructing visual models • Camera Networks • Camera Network Calibration • Camera Network Synchronization • towards active camera networks… • Conclusion Visual 3D Modeling using Cameras and Camera Networks
Camera Networks • CMU’s Dome, 3D Room, etc. • MIT’s Visual Hull • Maryland’s Keck lab, ETHZ’s BLUE-C and more • Recently, Shape-from-Silhouette/Visual-Hull systems have been very popular Visual 3D Modeling using Cameras and Camera Networks
Camera Networks • Offline Calibration Procedure • Special Calibration Data • Planar Pattern • moving LED • Requires physical access to environment • Active Camera Networks • How do we maintain calibration ? Visual 3D Modeling using Cameras and Camera Networks
An example P. Sand, L. McMillan, and J. Popovic. Continuous Capture of Skin Deformation. ACM Transactions on Graphics 22, 3, 578-586, 2003. • 4 NTSC videos recorded by 4 computers for 4 minutes • Manually synchronized and calibrated using MoCap system Visual 3D Modeling using Cameras and Camera Networks
Can we do without explicit calibration? • Feature-based? • Hard to match features between very different views • Not many features on foreground • Background often doesn’t overlap much between views • Silhouette-based? • Necessary for visual-hull anyway • But approach is not obvious Visual 3D Modeling using Cameras and Camera Networks
x2 x1 x’2 x’1 Multiple View Geometry of Silhouettes • Frontier Points • Epipolar Tangents • Points on Silhouettes in 2 views do not correspond in general except for projected Frontier Points • Always at least 2 extremal frontier points per silhouette • In general, correspondence only over two views Visual 3D Modeling using Cameras and Camera Networks
Calibration from Silhouettes: prior work Epipolar Geometry from Silhouettes • Porril and Pollard, ’91 • Astrom, Cipolla and Giblin, ’96 Structure-and-motion from Silhouettes • Joshi, Ahuja and Ponce’95 (trinocular rig/rigid object) • Vijayakumar, Kriegman and Ponce’96 (orthographic) • Wong and Cipolla’01 (circular motion, at least to start) • Yezzi and Soatto’03 (only refinement) None really applicable to calibrate visual hull system Visual 3D Modeling using Cameras and Camera Networks
Camera Network Calibration from Silhouettes (Sinha, Pollefeys and McMillan, submitted) • 7 or more corresponding frontier points needed to compute epipolar geometry for general motion • Hard to find on single silhouette and possibly occluded • However, Visual Hull systems record many silhouettes! Visual 3D Modeling using Cameras and Camera Networks
Camera Network Calibration from Silhouettes • If we know the epipoles, it is simple • Draw 3 outer epipolar tangents (from two silhouettes) • Compute corresponding line homography H-T (not unique) • Epipolar Geometry F=[e]xH Visual 3D Modeling using Cameras and Camera Networks
Let’s just sample: RANSAC • Repeat • Generate random hypothesis for epipoles • Compute epipolar geometry • Verify hypothesis and count inliers until satisfying hypothesis • Refine hypothesis • minimize symmetric transfer error of frontier points • include more inliers Until error and inliers stable (use conservative threshold, e.g. 5 pixels, but abort early if not promising) (use strict threshold, e.g. 1 pixels) We’ll need an efficient representation as we are likely to have to do many trials! Visual 3D Modeling using Cameras and Camera Networks