Presentation is loading. Please wait.

Presentation is loading. Please wait.

Stereo matching Class 7 Read Chapter 7 of tutorial Tsukuba dataset.

Similar presentations


Presentation on theme: "Stereo matching Class 7 Read Chapter 7 of tutorial Tsukuba dataset."— Presentation transcript:

1 Stereo matching Class 7 Read Chapter 7 of tutorial http://cat.middlebury.edu/stereo/ Tsukuba dataset

2 Stereo Standard stereo geometry Stereo matching Correlation Optimization (DP, GC) General camera configuration Rectification Plane-sweep Multi-view stereo

3 Standard stereo geometry pure translation along X-axis

4 Standard stereo geometry

5 Stereo matching Search is limited to epipolar line (1D) Look for most similar pixel ?

6 Aggregation Use more than one pixel Assume neighbors have similar disparities * Use correlation window containing pixel Allows to use SSD, ZNCC, Census, etc.

7 Compare intensities pixel-by-pixel Comparing image regions I(x,y) I´(x,y) Sum of Square Differences Dissimilarity measures

8 Compare intensities pixel-by-pixel Comparing image regions I(x,y) I´(x,y) Zero-mean Normalized Cross Correlation Similarity measures

9 Compare intensities pixel-by-pixel Comparing image regions I(x,y) I´(x,y) Census Similarity measures 125126125 127128130 129132135 000 0 1 111 (Real-time chip from TYZX based on Census) only compare bit signature

10 Aggregation window sizes Small windows disparities similar more ambiguities accurate when correct Large windows larger disp. variation more discriminant often more robust use shiftable windows to deal with discontinuities (Illustration from Pascal Fua)

11 Occlusions (Slide from Pascal Fua)

12

13 Real-time stereo on GPU Computes Sum-of-Square-Differences (use pixelshader) Hardware mip-map generation for aggregation over window Trade-off between small and large support window (Yang and Pollefeys, CVPR2003) 290M disparity hypothesis/sec (Radeon9800pro) e.g. 512x512x36disparities at 30Hz GPU is great for vision too!

14 Exploiting scene constraints

15 Ordering constraint 1 2 3 4,5 6 1 2,3 4 5 6 2 1 3 4,5 6 1 2,3 4 5 6 surface slice surface as a path occlusion right occlusion left

16 Uniqueness constraint In an image pair each pixel has at most one corresponding pixel In general one corresponding pixel In case of occlusion there is none

17 Disparity constraint surface slice surface as a path bounding box disparity band use reconstructed features to determine bounding box constant disparity surfaces

18 Stereo matching Optimal path (dynamic programming ) Similarity measure (SSD or NCC) Constraints epipolar ordering uniqueness disparity limit Trade-off Matching cost (data) Discontinuities (prior) Consider all paths that satisfy the constraints pick best using dynamic programming

19 Hierarchical stereo matching Downsampling (Gaussian pyramid) Disparity propagation Allows faster computation Deals with large disparity ranges

20 Disparity map image I(x,y) image I´(x´,y´) Disparity map D(x,y) (x´,y´)=(x+D(x,y),y)

21 Example: reconstruct image from neighboring images

22

23 Energy minimization (Slide from Pascal Fua)

24 Graph Cut (Slide from Pascal Fua) (general formulation requires multi-way cut!)

25 (Boykov et al ICCV‘99) (Roy and Cox ICCV‘98) Simplified graph cut

26

27 Stereo matching with general camera configuration

28 Image pair rectification

29 Planar rectification Bring two views to standard stereo setup (moves epipole to  ) (not possible when in/close to image) ~ image size (calibrated) Distortion minimization (uncalibrated)

30

31 Polar re-parameterization around epipoles Requires only (oriented) epipolar geometry Preserve length of epipolar lines Choose  so that no pixels are compressed original image rectified image Polar rectification (Pollefeys et al. ICCV’99) Works for all relative motions Guarantees minimal image size

32 polar rectification planar rectification original image pair

33 Example: Béguinage of Leuven Does not work with standard Homography-based approaches

34 Example: Béguinage of Leuven

35 General iso-disparity surfaces ( Pollefeys and Sinha, ECCV’04) Example: polar rectification preserves disp. Application: Active vision Also interesting relation to human horopter

36 Stereo camera configurations (Slide from Pascal Fua)

37 Multi-camera configurations Okutami and Kanade (illustration from Pascal Fua)

38 Multi-view depth fusion Compute depth for every pixel of reference image Triangulation Use multiple views Up- and down sequence Use Kalman filter (Koch, Pollefeys and Van Gool. ECCV‘98) Allows to compute robust texture

39 Plane-sweep multi-view matching Simple algorithm for multiple cameras no rectification necessary doesn’t deal with occlusions Collins’96; Roy and Cox’98 (GC); Yang et al.’02/’03 (GPU)

40 Space Carving

41 3D Reconstruction from Calibrated Images Scene Volume V Input Images (Calibrated) Goal: Determine transparency, radiance of points in V

42 Discrete Formulation: Voxel Coloring Discretized Scene Volume Input Images (Calibrated) Goal: Assign RGBA values to voxels in V photo-consistent with images

43 Complexity and Computability Discretized Scene Volume N voxels C colors 3 All Scenes ( C N 3 ) Photo-Consistent Scenes True Scene

44 Issues Theoretical Questions Identify class of all photo-consistent scenes Practical Questions How do we compute photo-consistent models?

45 1. C=2 (silhouettes) Volume intersection [Martin 81, Szeliski 93] 2. C unconstrained, viewpoint constraints Voxel coloring algorithm [Seitz & Dyer 97] 3. General Case Space carving [Kutulakos & Seitz 98] Voxel Coloring Solutions

46 Reconstruction from Silhouettes (C = 2) Binary Images Approach: Backproject each silhouette Intersect backprojected volumes

47 Volume Intersection Reconstruction Contains the True Scene But is generally not the same In the limit get visual hull Complement of all lines that don’t intersect S

48 Voxel Algorithm for Volume Intersection Color voxel black if on silhouette in every image O(MN 3 ), for M images, N 3 voxels Don’t have to search 2 N 3 possible scenes!

49 Properties of Volume Intersection Pros Easy to implement, fast Accelerated via octrees [Szeliski 1993] Cons No concavities Reconstruction is not photo-consistent Requires identification of silhouettes

50 1. C=2 (silhouettes) Volume intersection [Martin 81, Szeliski 93] 2. C unconstrained, viewpoint constraints Voxel coloring algorithm [Seitz & Dyer 97] 3. General Case Space carving [Kutulakos & Seitz 98] Voxel Coloring Solutions

51 1. Choose voxel 2. Project and correlate 3. Color if consistent Voxel Coloring Approach Visibility Problem: in which images is each voxel visible?

52 The Global Visibility Problem Inverse Visibility known images Unknown Scene Which points are visible in which images? Known Scene Forward Visibility known scene

53 Layers Depth Ordering: visit occluders first! SceneTraversal Condition: depth order is view-independent

54 Panoramic Depth Ordering Cameras oriented in many different directions Planar depth ordering does not apply

55 Panoramic Depth Ordering Layers radiate outwards from cameras

56 Panoramic Layering Layers radiate outwards from cameras

57 Panoramic Layering Layers radiate outwards from cameras

58 Compatible Camera Configurations Depth-Order Constraint Scene outside convex hull of camera centers Outward-Looking cameras inside scene Inward-Looking cameras above scene

59 Calibrated Image Acquisition Calibrated Turntable 360° rotation (21 images) Selected Dinosaur Images Selected Flower Images

60 Voxel Coloring Results (Video) Dinosaur Reconstruction 72 K voxels colored 7.6 M voxels tested 7 min. to compute on a 250MHz SGI Flower Reconstruction 70 K voxels colored 7.6 M voxels tested 7 min. to compute on a 250MHz SGI

61 Limitations of Depth Ordering A view-independent depth order may not exist pq Need more powerful general-case algorithms Unconstrained camera positions Unconstrained scene geometry/topology

62 1. C=2 (silhouettes) Volume intersection [Martin 81, Szeliski 93] 2. C unconstrained, viewpoint constraints Voxel coloring algorithm [Seitz & Dyer 97] 3. General Case Space carving [Kutulakos & Seitz 98] Voxel Coloring Solutions

63 Space Carving Algorithm Image 1 Image N …... Initialize to a volume V containing the true scene Repeat until convergence Choose a voxel on the current surface Carve if not photo-consistent Project to visible input images

64 Convergence Consistency Property The resulting shape is photo-consistent all inconsistent points are removed Convergence Property Carving converges to a non-empty shape a point on the true scene is never removed V’ V p

65 What is Computable? The Photo Hull is the UNION of all photo-consistent scenes in V It is a photo-consistent scene reconstruction Tightest possible bound on the true scene Computable via provable Space Carving Algorithm True Scene V Photo Hull V

66 Space Carving Algorithm The Basic Algorithm is Unwieldy Complex update procedure Alternative: Multi-Pass Plane Sweep Efficient, can use texture-mapping hardware Converges quickly in practice Easy to implement

67 Space Carving Algorithm Step 1: Initialize V to volume containing true scene Step 2: For every voxel on surface of V test photo-consistency of voxel if voxel is inconsistent, carve it Step 3: Repeat Step 2 until all voxels consistent Convergence: Always converges to a photo-consistent model (when all assumptions are met) Good results on difficult real-world scenes

68 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence True SceneReconstruction

69 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

70 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

71 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

72 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

73 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

74 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

75 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

76 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

77 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

78 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

79 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

80 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

81 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

82 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

83 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

84 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

85 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

86 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

87 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

88 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

89 Multi-Pass Plane Sweep Sweep plane in each of 6 principle directions Consider cameras on only one side of plane Repeat until convergence

90 Space Carving Results: African Violet Input Image (1 of 45) Reconstruction ReconstructionReconstruction

91 Space Carving Results: Hand Input Image (1 of 100) Views of Reconstruction

92 Other Features Coarse-to-fine Reconstruction Represent scene as octree Reconstruct low-res model first, then refine Hardware-Acceleration Use texture-mapping to compute voxel projections Process voxels an entire plane at a time Limitations Need to acquire calibrated images Restriction to simple radiance models Bias toward maximal (fat) reconstructions Transparency not supported

93

94 voxel occluded Probalistic Space Carving Broadhurst et al. ICCV’01

95 Bayesian The Master's Lodge Image Sequence

96 I Light Intensity Object Color N Normal vector L Lighting vector V View Vector R Reflection vector color of the light Diffuse color Saturation point 0 1 1 1 Reflected Light in RGB color space Dielectric Materials (such as plastic and glass) Space-carving for specular surfaces (Yang, Pollefeys & Welch 2003) Extended photoconsistency:

97 Experiment

98 Animated Views Our result

99 Other Approaches Level-Set Methods [Faugeras & Keriven 1998] Evolve implicit function by solving PDE’s

100 Graph-cut-based approach Refine using surface evolution e.g. [Sinha et al. ICCV07]

101 Interesting comparison of multi- view stereo approaches http://vision.middlebury.edu/mview/

102 Next class: structured light and active scanning


Download ppt "Stereo matching Class 7 Read Chapter 7 of tutorial Tsukuba dataset."

Similar presentations


Ads by Google