Stereo Computation using Iterative Graph-Cuts

Slides:



Advertisements
Similar presentations
Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
Advertisements

Graph Cut Algorithms for Computer Vision & Medical Imaging Ramin Zabih Computer Science & Radiology Cornell University Joint work with Y. Boykov, V. Kolmogorov,
Introduction to Markov Random Fields and Graph Cuts Simon Prince
Stereo Vision Reading: Chapter 11
Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923.
Gratuitous Picture US Naval Artillery Rangefinder from World War I (1918)!!
Stereo Many slides adapted from Steve Seitz. Binocular stereo Given a calibrated binocular stereo pair, fuse it to produce a depth image Where does the.
Graph-Based Image Segmentation
1 s-t Graph Cuts for Binary Energy Minimization  Now that we have an energy function, the big question is how do we minimize it? n Exhaustive search is.
Lecture 8: Stereo.
Stereo.
Epipolar lines epipolar lines Baseline O O’ epipolar plane.
Optimal solution of binary problems Much material taken from :  Olga Veksler, University of Western Ontario
Last Time Pinhole camera model, projection
Multiple View Geometry : Computational Photography Alexei Efros, CMU, Fall 2005 © Martin Quinn …with a lot of slides stolen from Steve Seitz and.
Computer Vision : CISC 4/689 Adaptation from: Prof. James M. Rehg, G.Tech.
2010/5/171 Overview of graph cuts. 2010/5/172 Outline Introduction S-t Graph cuts Extension to multi-label problems Compare simulated annealing and alpha-
Stereo & Iterative Graph-Cuts Alex Rav-Acha Vision Course Hebrew University.
Stereo Binocular Stereo Calibration (finish up) Next Time Motivation
Stereopsis Mark Twain at Pool Table", no date, UCR Museum of Photography.
The plan for today Camera matrix
Lecture 10: Stereo and Graph Cuts
Comp 775: Graph Cuts and Continuous Maximal Flows Marc Niethammer, Stephen Pizer Department of Computer Science University of North Carolina, Chapel Hill.
Graph-Cut Algorithm with Application to Computer Vision Presented by Yongsub Lim Applied Algorithm Laboratory.
Computer vision: models, learning and inference
CSE473/573 – Stereo Correspondence
Announcements PS3 Due Thursday PS4 Available today, due 4/17. Quiz 2 4/24.
Multiple View Geometry : Computational Photography Alexei Efros, CMU, Fall 2006 © Martin Quinn …with a lot of slides stolen from Steve Seitz and.
Computer Vision Spring ,-685 Instructor: S. Narasimhan WH 5409 T-R 10:30am – 11:50am Lecture #15.
Structure from images. Calibration Review: Pinhole Camera.
Michael Bleyer LVA Stereo Vision
A Selective Overview of Graph Cut Energy Minimization Algorithms Ramin Zabih Computer Science Department Cornell University Joint work with Yuri Boykov,
Lecture 12 Stereo Reconstruction II Lecture 12 Stereo Reconstruction II Mata kuliah: T Computer Vision Tahun: 2010.
Graph Cut & Energy Minimization
Graph Cut Algorithms for Binocular Stereo with Occlusions
Graph Cut 韋弘 2010/2/22. Outline Background Graph cut Ford–Fulkerson algorithm Application Extended reading.
Binocular Stereo. Topics Principle basic equation epipolar line features and strategies for matching Case study Block matching Relaxation DP stereo.
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images (Fri) Young Ki Baik, Computer Vision Lab.
Lecture 5: Network Flow Algorithms Single-Source Shortest-Path (SSSP) (Dijkstra's Algorithm) Max Flow - Min Cut (Ford-Fulkerson) Job Sequencing.
Stereo Vision Reading: Chapter 11 Stereo matching computes depth from two or more images Subproblems: –Calibrating camera positions. –Finding all corresponding.
Geometry 3: Stereo Reconstruction Introduction to Computer Vision Ronen Basri Weizmann Institute of Science.
Stereo Many slides adapted from Steve Seitz.
Graph Cuts Marc Niethammer. Segmentation by Graph-Cuts A way to compute solutions to the optimization problems we looked at before. Example: Binary Segmentation.
CS 4487/6587 Algorithms for Image Analysis
Stereo Many slides adapted from Steve Seitz. Binocular stereo Given a calibrated binocular stereo pair, fuse it to produce a depth image image 1image.
Computer Vision, Robert Pless
1 Markov Random Fields with Efficient Approximations Yuri Boykov, Olga Veksler, Ramin Zabih Computer Science Department CORNELL UNIVERSITY.
Lecture 19: Solving the Correspondence Problem with Graph Cuts CAP 5415 Fall 2006.
Presenter : Kuang-Jui Hsu Date : 2011/3/24(Thur.).
Lecture 16: Stereo CS4670 / 5670: Computer Vision Noah Snavely Single image stereogram, by Niklas EenNiklas Een.
Gaussian Mixture Models and Expectation-Maximization Algorithm.
Solving for Stereo Correspondence Many slides drawn from Lana Lazebnik, UIUC.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.
Graph Algorithms for Vision Amy Gale November 5, 2002.
Project 2 due today Project 3 out today Announcements TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA.
Markov Random Fields in Vision
Energy functions f(p)  {0,1} : Ising model Can solve fast with graph cuts V( ,  ) = T[  ] : Potts model NP-hard Closely related to Multiway Cut Problem.
Hebrew University Image Processing Exercise Class 8 Panoramas – Stitching and Blending Min-Cut Stitching Many slides from Alexei Efros.
Energy minimization Another global approach to improve quality of correspondences Assumption: disparities vary (mostly) smoothly Minimize energy function:
CSE 185 Introduction to Computer Vision Stereo 2.
Stereo CS4670 / 5670: Computer Vision Noah Snavely Single image stereogram, by Niklas EenNiklas Een.
Markov Random Fields with Efficient Approximations
Richard Anderson Lecture 23 Network Flow
Geometry 3: Stereo Reconstruction
Graph Cut Weizhen Jing
Haim Kaplan and Uri Zwick
Lecture 31: Graph-Based Image Segmentation
Stereo vision Many slides adapted from Steve Seitz.
Presentation transcript:

Stereo Computation using Iterative Graph-Cuts Vision Course - Weizmann Institute

The “Binocular” Stereo problem “Right” Camera “Left” Camera Two views of the same scene from a slightly different point of view

The stereo problem Both images are very similar (like images that you see with your two eyes) • Most of the pixels in the left image are present in the right image (except for few occlusions)

Rectification Image Reprojection reproject image planes onto common plane parallel to baseline

The stereo problem After rectification: all correspondences are along the same horizontal scan lines (pixels in one image simply shift horizontally in the other image)

The relation between depth and disparities Origin at midpoint between camera centers Axes parallel to those of the two (rectified) cameras Depth and Disparity are inverse proportional

The stereo problem The horizontal shifts between the images are sometimes called: “disparities” The Disparities are related to depth: Closer objects have larger disparities

The stereo problem: compute the disparity map between two images

Traditional Approaches • Matching small windows around each pixel • Each window is matched independently Modern approaches • Finding coherent correspondences for all pixels - “Graph cuts” - “Belief Propagation”

Window-Based Approach Compute a cost for each location Location with the lowest cost wins

General Problem : Ambiguity Left Right scanline

Window-Based Approach Small Window Large Window noisy in low texture areas blurred boundaries

Results with best window size (still not good enough) Window-based matching (best window size) Ground truth

Graph Cuts Graph cuts Ground truth

Maximum flow problem Max flow problem: S T flow F Each edge is a “pipe” Find the largest flow F of “water” that can be sent from the “source” to the “sink” along the pipes Edge weights give the pipe’s capacity “source” A graph with two terminals S T “sink”

Minimum cut problem Min cut problem: S T a cut C Find the cheapest way to cut the edges so that the “source” is completely separated from the “sink” Edge weights now represent cutting “costs” “source” A graph with two terminals S T “sink”

Max flow/Min cut theorem Maximum flow saturates the edges along the minimum cut. Ford and Fulkerson, 1962 Problem reduction! Ford and Fulkerson gave first polynomial time algorithm for globally optimal solution “source” A graph with two terminals S T “sink”

The basic Ford-Fulkerson algorithm for each edge do while there exists a path P from s to t in the residual network Gf do cf (P) ← min{cf (u, v ): (u, v) is on P} for each edge (u, v) in P do

Min-Cut: Important Rule No subset of the cut can also be a cut This is not a minimal cut

Energy Minimization Using Iterative Graph cuts Fast Approximate Energy Minimization via Graph Cuts Yuri Boykov, Olga Veksler and Ramin Zabih Pami 2001 More papers, code: http://www.cs.cornell.edu/~rdz/graphcuts.html

To do better we need a better model of images We can make reasonable assumptions about the surfaces in the world Usually assume that the surfaces are smooth Can pose the problem of finding the corresponding points as an energy (or cost) minimization: f - assignment neighboring pixels have similar disparities how well the pixels match up for different disparities

To do better we need a better model of images We can make reasonable assumptions about the surfaces in the world Usually assume that the surfaces are smooth Can pose the problem of finding the corresponding points as an energy (or cost) minimization: f - assignment p,q - pixels Data term is calculated for each pixels Smoothness is calculated on neighbor pixels

Example for Smoothness terms Quadratic L1 Truncated L1 Potts model

Constructing a Graph to Solve the Stereo Problem

Constructing a Graph to Solve the Stereo Problem

Constructing a Graph to Solve the Stereo Problem The labels of each pixel are the possible disparity values

Constructing a Graph to Solve the Stereo Problem The labels of each pixel are the possible disparity values

Relation between the Energy and the Graph labeling problem Smoothness term {fp=10} Data term 10 1 {fq=2} p q

Relation between the Energy and the Graph labeling problem Smoothness term Dp(10) Data term 10 V(p,q)(1, 10) 1 p q

Iterative graph-cuts Use an iterative scheme to find a “good” local optimum of the energy function. In each iteration: convert the original multi-label problem to a binary one, and solve it by finding a minimal graph-cut (max-flow). The most popular scheme is the expansion move. -expansion: set the label of each pixel to be either or the current label.

Types of Moves A Single Pixel Move Problem: A lot of local minima

Types of Moves Expansion Move Any pixel can change its label to alpha

Types of Moves Expansion Move Claim (without proof): The difference between the optimal solution and the solution from the iterative expansion moves is bounded

Energy Minimization Algorithm Start with arbitrary labeling f Set success = 0 For each label Find If set and success =1 If success =1 goto (2) Return f

Conditions on the Smoothness for using expansion moves: In other words: V should be a metric Note : The Quadratic smoothness is not a metric

For each pair of vertices such that we add a ‘dummy’ vertex (together with the respective edges as shown in the table).

The Relation between the cut and the Energy Given a cut C, we define a labeling fc by: The cost of a cut C is |C| = E(fC) (plus a constant) If the cut C separates p and If the cut C separates p and

The Relation between the cut and the Energy The case

The Relation between the cut and the Energy The case

Conditions on the Smoothness for using expansion moves: In other words: V should be a metric

The image segmentation problem: given an image, group it to several regions containing pixels with similar intensities / colors. an image a labeling

Supervised Image Segmentation We assume that for each segment, users scribbles are given: pixels that are known in be inside this segment: examples with two segments

Again, we can describe the problem using a graph Smoothness term Data term {fp=5} means – p belongs to the segment ’5’. V(p,q)(1, 10)– The penalty for assigning p and q to different segments (1 and 10 respectively). D(p)(5)– The penalty for assigning p to segment 5. 43

The Data & Smoothness terms The penalty for assigning p and q to different segments should be high if the colors of pixels p and q are similar. For example: As a data term, we have only one constraint: That the user scribbles will be assigned with the correct label: For pixels inside user scribbles for the rest of the pixels

Graph Cuts can be used for problems other than Stereo Graph Cuts can be used for problems other than Stereo ! (segmentation, noise removal, image stitching, etc’).