Stereo Vision II: Dense Stereo Matching

Similar documents
Stereo Matching! Christian Unger 1,2, Nassir Navab 1!! Computer Aided Medical Procedures (CAMP), Technische Universität München, Germany!!

Direct Methods in Visual Odometry

Dense 3D Reconstruction. Christiano Gava

Data Term. Michael Bleyer LVA Stereo Vision

Dense 3D Reconstruction. Christiano Gava

Integrating LIDAR into Stereo for Fast and Improved Disparity Computation

EE795: Computer Vision and Intelligent Systems

Embedded real-time stereo estimation via Semi-Global Matching on the GPU

CS4495/6495 Introduction to Computer Vision. 3B-L3 Stereo correspondence

Lecture 10 Multi-view Stereo (3D Dense Reconstruction) Davide Scaramuzza

Multiple View Geometry

Fundamentals of Stereo Vision Michael Bleyer LVA Stereo Vision

Lecture 10 Dense 3D Reconstruction

Segmentation Based Stereo. Michael Bleyer LVA Stereo Vision

Bilateral and Trilateral Adaptive Support Weights in Stereo Vision

A FAST SEGMENTATION-DRIVEN ALGORITHM FOR ACCURATE STEREO CORRESPONDENCE. Stefano Mattoccia and Leonardo De-Maeztu

Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923

Computer Vision I - Filtering and Feature detection

Colour Segmentation-based Computation of Dense Optical Flow with Application to Video Object Segmentation

Detecting motion by means of 2D and 3D information

CS 4495/7495 Computer Vision Frank Dellaert, Fall 07. Dense Stereo Some Slides by Forsyth & Ponce, Jim Rehg, Sing Bing Kang

Announcements. Stereo Vision Wrapup & Intro Recognition

Efficient Large-Scale Stereo Matching

A Comparative Study of Stereovision Algorithms

Input. Output. Problem Definition. Rectified stereo image pair All correspondences lie in same scan lines

What have we leaned so far?

Improved depth map estimation in Stereo Vision

Rectification and Disparity

Stereo. Outline. Multiple views 3/29/2017. Thurs Mar 30 Kristen Grauman UT Austin. Multi-view geometry, matching, invariant features, stereo vision

A virtual tour of free viewpoint rendering

Subpixel accurate refinement of disparity maps using stereo correspondences

Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation

Stereo Video Processing for Depth Map

Stereo Matching with Reliable Disparity Propagation

Chaplin, Modern Times, 1936

Stereo vision. Many slides adapted from Steve Seitz

segments. The geometrical relationship of adjacent planes such as parallelism and intersection is employed for determination of whether two planes sha

Introduction à la vision artificielle X

Stereo Matching.

Computer Vision I. Dense Stereo Correspondences. Anita Sellent 1/15/16

Real-Time Correlation-Based Stereo Vision with Reduced Border Errors

Static Scene Reconstruction

Towards a visual perception system for LNG pipe inspection

Segmentation-based Disparity Plane Fitting using PSO

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

CS 4495 Computer Vision A. Bobick. Motion and Optic Flow. Stereo Matching

3D Computer Vision. Dense 3D Reconstruction II. Prof. Didier Stricker. Christiano Gava

Fundamental matrix. Let p be a point in left image, p in right image. Epipolar relation. Epipolar mapping described by a 3x3 matrix F

Multi-View Stereo for Static and Dynamic Scenes

Stereo and Epipolar geometry

MACHINE VISION APPLICATIONS. Faculty of Engineering Technology, Technology Campus, Universiti Teknikal Malaysia Durian Tunggal, Melaka, Malaysia

Peripheral drift illusion

Capturing, Modeling, Rendering 3D Structures

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

Improving the accuracy of fast dense stereo correspondence algorithms by enforcing local consistency of disparity fields

Human Body Recognition and Tracking: How the Kinect Works. Kinect RGB-D Camera. What the Kinect Does. How Kinect Works: Overview

BIL Computer Vision Apr 16, 2014

Binocular stereo. Given a calibrated binocular stereo pair, fuse it to produce a depth image. Where does the depth information come from?

Lecture 6 Stereo Systems Multi- view geometry Professor Silvio Savarese Computational Vision and Geometry Lab Silvio Savarese Lecture 6-24-Jan-15

CS 4495 Computer Vision Motion and Optic Flow

A MULTI-RESOLUTION APPROACH TO DEPTH FIELD ESTIMATION IN DENSE IMAGE ARRAYS F. Battisti, M. Brizzi, M. Carli, A. Neri

CS 4495 Computer Vision A. Bobick. Motion and Optic Flow. Stereo Matching

Epipolar Geometry and Stereo Vision

Real-Time Disparity Map Computation Based On Disparity Space Image

Correspondence and Stereopsis. Original notes by W. Correa. Figures from [Forsyth & Ponce] and [Trucco & Verri]

Stereo Correspondence with Occlusions using Graph Cuts

Computer Vision I. Announcement. Stereo Vision Outline. Stereo II. CSE252A Lecture 15

Probabilistic Correspondence Matching using Random Walk with Restart

Part 3: Dense Stereo Correspondence

On Building an Accurate Stereo Matching System on Graphics Hardware

Application questions. Theoretical questions

Robert Collins CSE486, Penn State. Lecture 09: Stereo Algorithms

Flow Estimation. Min Bai. February 8, University of Toronto. Min Bai (UofT) Flow Estimation February 8, / 47

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

Multi-View 3D-Reconstruction

Automatic Image Alignment (direct) with a lot of slides stolen from Steve Seitz and Rick Szeliski

PatchMatch Stereo - Stereo Matching with Slanted Support Windows

Multi-stable Perception. Necker Cube

Stereo II CSE 576. Ali Farhadi. Several slides from Larry Zitnick and Steve Seitz

Outline 7/2/201011/6/

Adaptive Support-Weight Approach for Correspondence Search

SPM-BP: Sped-up PatchMatch Belief Propagation for Continuous MRFs. Yu Li, Dongbo Min, Michael S. Brown, Minh N. Do, Jiangbo Lu

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

CHAPTER 3 DISPARITY AND DEPTH MAP COMPUTATION

CS6670: Computer Vision

Lecture 14: Computer Vision

Dense Image-based Motion Estimation Algorithms & Optical Flow

Specular Reflection Separation using Dark Channel Prior

Stereo imaging ideal geometry

Segment-based Stereo Matching Using Graph Cuts

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

CSE 527: Introduction to Computer Vision

Geometric Reconstruction Dense reconstruction of scene geometry

ME/CS 132: Introduction to Vision-based Robot Navigation! Low-level Image Processing" Larry Matthies"

EECS 442 Computer vision. Stereo systems. Stereo vision Rectification Correspondence problem Active stereo vision systems

Epipolar Geometry and Stereo Vision

Stereo Wrap + Motion. Computer Vision I. CSE252A Lecture 17

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

Computer Vision, Lecture 11

Transcription:

Stereo Vision II: Dense Stereo Matching Nassir Navab Slides prepared by Christian Unger

Outline. Hardware. Challenges. Taxonomy of Stereo Matching. Analysis of Different Problems. Practical Considerations. Global Methods. Stereo Matching - Christian Unger 2

Hardware. Cameras. Cameras may be self-built, but some aspects need special attention: Imager Choice (e.g. RGGB/Monochrome/Red-Clear, IR-cut-off). Lens Choice. Temporal synchronization of left and right camera. Mechanical stability and baseline. Interface (e.g. Full-HD @ 24 FPS @ 16 Bit = 94 MB/s per camera). Stereo Matching - Christian Unger 3

Hardware. Processing Architectures. Microprocessor, for example Intel x86 or PowerPC G3 Pros: Floating-point and SIMD support; Programmable using C/C++ Cons: High consumption; Cost Low Power/Low Cost Processors, for example ARM Pros: Low consumption; Low cost; Programmable using C/C++ Cons: Often no floating-point and no SIMD support GPU, for example NVIDIA Tesla or Tegra Pros: Processing power of non-embedded versions Cons: Difficult programming; Power-consumption; Not yet comparable to FPGA/DSP FPGA, for example XILINX Spartan or Virtex Pros: Efficient; Low consumption Cons: Code is very specifc (VHDL/Verilog) DSP, for example Texas Instruments Vision Series Pros: Efficient; Low consumption; Programming easier than FPGA Cons: Performance for image processing tasks varies Stereo Matching - Christian Unger 4

Challenges: Photometric Variations. Stereo Matching - Christian Unger 5

Challenges: Image Sensor Noise. Stereo Matching - Christian Unger 6

Challenges: Specularities. Stereo Matching - Christian Unger 7

Challenges: Foreshortening and the Uniqueness Constraint.? Stereo Matching - Christian Unger 8

Challenges: Perspective Distortions. Stereo Matching - Christian Unger 9

Challenges: Textureless Regions.? Stereo Matching - Christian Unger 10

Challenges: Repetitive Structures and Textures. Stereo Matching - Christian Unger 11

Challenges: Reflections. Stereo Matching - Christian Unger 12

Challenges: Reflections. Stereo Matching - Christian Unger 13

Challenges: Transparency. Stereo Matching - Christian Unger 14

Challenges: Occlusions (right to left matching). Stereo Matching - Christian Unger 15

Challenges: Occlusions (left to right matching). Stereo Matching - Christian Unger 16

Taxonomy of Stereo Matching. Almost all stereo algorithms are composed of the following steps: 1. Pre-Processing 2. Matching cost computation 3. Cost aggregation 4. Optimization 5. Disparity computation 6. Disparity refinement There are mainly two classes of algorithms: 1. Local methods: do not perform a global optimization and use only a simple search at every pixel. 2. Global methods: minimize a global energy functional and often do not use cost aggregation. Stereo Matching - Christian Unger 17

Taxonomy of Stereo Matching. Preprocessing. To alleviate sensor noise and photometric distortions, usually the following methods are employed: Laplacian of Gaussian (LoG) filtering (Kanade et al. Development of a Video- Rate Stereo Machine. IROS 1995.) Histogram Equalization/Matching Subtraction of mean values computed in the neighbours of each pixel (Faugeras et al. Real-Time correlation-based stereo: Algorithm, Implementation and Applications, INRIA TR 2013, 1993.) Bilateral filtering (Ansar et al. Enhanced real-time stereo using bilateral filtering. CVPR 2004.) Stereo Matching - Christian Unger 18

Taxonomy of Stereo Matching. Matching Cost. A matching cost measures the similarity of pixels and is a function of (x, y, d). Simple examples: Absolute intensity difference (AD) I ( x, y) I ( x d, y) L R Squared intensity difference (SD) ( I ( x, y) I ( x d, y)) L R 2 Stereo Matching - Christian Unger 19

Matching Cost Taxonomy of Stereo Matching. Disparity Computation in Local Methods. The corresponding pixel is chosen in a way such that the similarity between the pixels is high ( dissimilarity = low cost). Simple Winner Takes All -Algorithm (WTA): For every pixel select the disparity with lowest cost I ( x, y) I ( x d, y) L R d max d Stereo Matching - Christian Unger 20

Taxonomy of Stereo Matching. Example Algorithm: WTA with AD. Using this simple algorithm (WTA + AD) the disparity map looks like this: Left Camera Image Optimal Result Actual Result (Bad!) The disparity map is very noisy, due to a low signal-to-noise ratio (SNR) and due to a high ambiguity in textureless regions. Remedy: Cost Aggregation: Do not compare single pixels, but small patches. Stereo Matching - Christian Unger 21

Stereo Matching - Christian Unger 22 Taxonomy of Stereo Matching. Cost Aggregation. Use a matching window around the pixel of interest. Sum of absolute intensity differences (SAD): W ), ( ), ( ), ( y x L R y d x I y x I

Stereo Matching - Christian Unger 23 Taxonomy of Stereo Matching. Cost Aggregation. Examples for such area-based matching costs: Sum of absolute differences (SAD) Sum of squared differences (SSD) Normalized Cross Correlation (NCC) Mutual Information W ), ( ), ( ), ( y x L R y d x I y x I W ), ( 2 )), ( ), ( ( y x L R y d x I y x I

Taxonomy of Stereo Matching. Example Algorithm: WTA with SAD. Again we use the Winner-Takes-All -algorithm as described before, but now with an areabased matching cost (SAD) also known as Cross Correlation. Left Camera Image Optimal Result Actual Result (Still many errors) Better than before, but still not optimal. Why? Stereo Matching - Christian Unger 24

Analysis. Problems with Fixed Windows. The area-based approach brings other merits: A constant depth within the window is assumed this implicit assumption is violated at Depth discontinuities Slanted/non-planar surfaces Matching for repetitive textures is still ambiguous. Matching in uniform areas is still ambiguous. Thin structures may be lost, if window is larger than the structure Stereo Matching - Christian Unger 25

Analysis. Problems with Slanted Surfaces in Detail. z z y used y ideal Implicitly, flat fronto-parallel surfaces are assumed in most area-based approaches. Ideally, the matching window should take the perspective distortion into account, too. But this is a chicken and egg problem : We would need the depth for that, but depth is actually what we want to determine! Stereo Matching - Christian Unger 27

Analysis. Problems with Discontinuities in Detail. Left image Right image Background is misaligned! The problem is that the matching windows cover pixels which lie at different depths. => This leads to wrong values in the matching costs. => Occluded pixels should not be compared to any other pixel. Possible remedies: Multiple Windows: Split the matching window into multiple parts (Hirschmüller et al. Real-Time Correlation-Based Stereo Vision with Reduced Border Errors. IJCV 2002.). Shiftable windows (change the center pixel of the windows dynamically). Stereo Matching - Christian Unger 28

Analysis. Problems with Discontinuities in Detail. Multiple and shiftable windows are heuristics and only slightly improve the results! Better solution: Use a segmentation-prior and incorporate color information into the matching windows. Idea: Weighted cost aggregation. For every pixel of the matching window, compute a weight, based on color similarity. w( I R, x0, y0, x, y) ( I R ( x, y) I L ( x d, y)) ( x, y) W Here, w is a function that computes a weight for pixel (x, y) for the window at position (x0, y0): Relevant pixels receive high weights others low weights. Popular methods: Adaptive Support Weights (Yoon and Kweon, CVPR 2005). Geodesic Support Weights (Hosni et al., ICIP 2009). Stereo Matching - Christian Unger 29

Analysis. Problems with Discontinuities in Detail. Left image Matching Window Geodesic Support Weights (Hosni 2009) Left Camera Image Optimal Result WTA with Geodesic Support Weights Stereo Matching - Christian Unger 30

Analysis. Problems with Uniform and Repetitive Areas in Detail.? In such cases, there are usually many weak minima of the matching cost and image sensor noise easily leads to wrong matches. Possible remedies: Variable Windows: Use larger matching windows adaptively (Veksler. Fast variable windows using integral images. CVPR 2003.). Measure the significance of every minimum and invalidate all weak minima. Stereo Matching - Christian Unger 31

Practical Considerations. Summary: Local Methods. However despite of the drawbacks of area-based approaches they are often adopted in practice, because they are simple, fast (Real-Time on most hardware), have low memory requirements, and are relatively robust. Memory requirement is low, because no additional information is needed execpt the disparity for every pixel. How about execution time? Naïve implementation: 1400 ms for 320x200 pixels!! Stereo Matching - Christian Unger 32

Practical Considerations. Improvement: Box Filtering. Based on a mathematical observation that many matching costs can be separated, such that they can be computed incrementally. If we know the SAD-value of a window at a certain position a nearby window can be computed incrementally. (x, y) (x, y+1) (x+1, y) Stereo Matching - Christian Unger 33

Practical Considerations. Improvement: SIMD. Single Instruction, Multiple Data. More or less a purely implementational optimization utilizing advanced assembler routines. Allows to process data in parallel (for example, work on up to 16 pixels at a time) Of special interest is the PSADBW-instruction (MMX, SSE2): Computes the sum of absolute differences of eight/sixteen unsigned byte integers Stereo Matching - Christian Unger 35

Practical Considerations. Execution Time Revisited. Using these optimizations, 320x200x40 disparities can be processed in 30 ms. Can we go further? Yes (to about 50%). By not processing all disparities: instead of a brute-force search, use an iterative search technique that automatically stops at a certain point (Unger et al. Efficient Disparity Computation without Maximum Disparity for Real-Time Stereo Vision. BMVC 2009.). Stereo Matching - Christian Unger 36

Practical Considerations. Example. Stereo Matching - Christian Unger 37

Global and Non-Global Optimization Methods: Overview. The area-based approaches presented fall into the category of local methods, since the optimization (disparity-computation) is done for every single pixel individually. The problems with local methods: Cost aggregation is required for robustness but introduces errors at depth discontinuities and slanted surfaces. Homogeneous areas and repetitive textures are problematic. To improve in such situations, global optimization methods have been found. There, the stereo problem is formulated as an energy minimization problem: E( D) E ( D) E ( D) where E D measures the pixel similarity and E S penalizes disparity variations. D S Stereo Matching - Christian Unger 38

Global and Non-Global Optimization Methods: Overview. E( D) E ( D) E ( D) D This is a functional, where D (the disparity map) is a function mapping from image space to the space of disparities. S Data term E D is a unary term and may, for example, be based on AD. Smoothness term E S is a binary term and may be chosen as: E S ( D) V ( D( p), D( q)) ( p, q) with V ( d 0 d C otherwise Well known standard methods to solve such problems (not only stereo!) are: Dynamic Programming, Scanline Optimization, Graph Cuts, Belief Propagation, p, d q ) p d q Stereo Matching - Christian Unger 39

Global and Non-Global Optimization Methods: Overview. Create a graph over the whole image, where every pixel is a node, connected to its four neighbors. Stereo as a labeling problem: assign a disparity (label) to every pixel (node) which is consistent with the image intensities (data term) and such that the disparity does not vary too much in the local neighborhood (smoothness term). Stereo Matching - Christian Unger 40

Dynamic Programming. In general, such combinatorial problems are NP-hard in computational complexity. One trick is to reduce the problem to individual scanlines: using dynamic programming the global minimum can be found in polynomial time. The idea is to construct a cost matrix that relates the left and right image scanlines. Then, the minimal cost path is determined Left Camera Image Optimal Result Dynamic Programming Stereo Matching - Christian Unger 41

Global Optimization Methods: Examples. Adapting Belief Propagation Graph Cuts However, this quality is at the cost of execution time (e.g. Graph Cuts: 5 minutes). Stereo Matching - Christian Unger 44

Matching Cost Disparity Refinements: Sub-Pixel Interpolation. We discussed only the computation of integer valued disparities, but the world is continuous. Real valued disparities may be obtained by approximating the cost function locally using a parabola: I ( x, y) I ( x d, y) L R d max Stereo Matching - Christian Unger 45 d

Disparity Refinements: Left-Right Consistency Check. Outlier detection routine. Perform the stereo matching two times: 1. By computing a disparity for every pixel of the left image (left to right) 2. And again, by computing a disparity for every pixel of the right image (right to left) Then, if these two disparities differ an outlier has been found. Stereo Matching - Christian Unger 46