A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.

Slides:



Advertisements
Similar presentations
Graph Cut Algorithms for Computer Vision & Medical Imaging Ramin Zabih Computer Science & Radiology Cornell University Joint work with Y. Boykov, V. Kolmogorov,
Advertisements

Learning with Inference for Discrete Graphical Models Nikos Komodakis Pawan Kumar Nikos Paragios Ramin Zabih (presenter)
Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923.
The University of Ontario CS 4487/9687 Algorithms for Image Analysis Multi-Label Image Analysis Problems.
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.
Learning with Inference for Discrete Graphical Models Nikos Komodakis Pawan Kumar Nikos Paragios Ramin Zabih (presenter)
Markov Random Fields (MRF)
1 Can this be generalized?  NP-hard for Potts model [K/BVZ 01]  Two main approaches 1. Exact solution [Ishikawa 03] Large graph, convex V (arbitrary.
Last Time Pinhole camera model, projection
More on Stereo. Outline Fast window-based correlationFast window-based correlation DiffusionDiffusion Energy minimizationEnergy minimization Graph cutsGraph.
Computer Vision : CISC 4/689 Adaptation from: Prof. James M. Rehg, G.Tech.
Today: Image Segmentation Image Segmentation Techniques Snakes Scissors Graph Cuts Mean Shift Wednesday (2/28) Texture analysis and synthesis Multiple.
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.
Multiview stereo. Volumetric stereo Scene Volume V Input Images (Calibrated) Goal: Determine occupancy, “color” of points in V.
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
Announcements Readings for today:
Lecture 10: Stereo and Graph Cuts
Stereo Computation using Iterative Graph-Cuts
Lecture 11: Stereo and optical flow CS6670: Computer Vision Noah Snavely.
Announcements PS3 Due Thursday PS4 Available today, due 4/17. Quiz 2 4/24.
Stereo Matching & Energy Minimization Vision for Graphics CSE 590SS, Winter 2001 Richard Szeliski.
Stereo matching Class 10 Read Chapter 7 Tsukuba dataset.
What have we leaned so far? Camera structure Eye structure Project 1: High Dynamic Range Imaging.
Image Renaissance Using Discrete Optimization Cédric AllèneNikos Paragios ENPC – CERTIS ESIEE – A²SI ECP - MAS France.
What have we leaned so far? Camera structure Eye structure Project 1: High Dynamic Range Imaging.
Structure from images. Calibration Review: Pinhole Camera.
Michael Bleyer LVA Stereo Vision
Fast Approximate Energy Minimization via Graph Cuts
A Selective Overview of Graph Cut Energy Minimization Algorithms Ramin Zabih Computer Science Department Cornell University Joint work with Yuri Boykov,
Graph Cut & Energy Minimization
Graph Cut Algorithms for Binocular Stereo with Occlusions
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
CS 4487/6587 Algorithms for Image Analysis
Computer Vision, Robert Pless
1 Markov Random Fields with Efficient Approximations Yuri Boykov, Olga Veksler, Ramin Zabih Computer Science Department CORNELL UNIVERSITY.
Computer Vision Stereo Vision. Bahadir K. Gunturk2 Pinhole Camera.
Bahadir K. Gunturk1 Phase Correlation Bahadir K. Gunturk2 Phase Correlation Take cross correlation Take inverse Fourier transform  Location of the impulse.
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.
The University of Ontario CS 4487/9687 Algorithms for Image Analysis Multi-Label Image Analysis Problems.
Gaussian Mixture Models and Expectation-Maximization Algorithm.
Digital Image Processing
Solving for Stereo Correspondence Many slides drawn from Lana Lazebnik, UIUC.
CS654: Digital Image Analysis Lecture 28: Advanced topics in Image Segmentation Image courtesy: IEEE, IJCV.
Graph Algorithms for Vision Amy Gale November 5, 2002.
Outline Standard 2-way minimum graph cut problem. Applications to problems in computer vision Classical algorithms from the theory literature A new algorithm.
Project 2 due today Project 3 out today Announcements TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA.
Dynamic Programming (DP), Shortest Paths (SP)
Lecture 05 29/11/2011 Shai Avidan Roy Josef Jevnisek הבהרה : החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
Photoconsistency constraint C2 q C1 p l = 2 l = 3 Depth labels If this 3D point is visible in both cameras, pixels p and q should have similar intensities.
Project 2 artifacts—vote now!! Project 3 questions? Start thinking about final project ideas, partners Announcements.
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.
Some links between min-cuts, optimal spanning forests and watersheds Cédric Allène, Jean-Yves Audibert, Michel Couprie, Jean Cousty & Renaud Keriven ENPC.
Energy minimization Another global approach to improve quality of correspondences Assumption: disparities vary (mostly) smoothly Minimize energy function:
Stereo CS4670 / 5670: Computer Vision Noah Snavely Single image stereogram, by Niklas EenNiklas Een.
Digital Visual Effects, Spring 2009 Yung-Yu Chuang 2009/5/21
Markov Random Fields with Efficient Approximations
Geometry 3: Stereo Reconstruction
What have we learned so far?
Multiway Cut for Stereo and Motion with Slanted Surfaces
Efficient Graph Cut Optimization for Full CRFs with Quantized Edges
Haim Kaplan and Uri Zwick
Lecture 31: Graph-Based Image Segmentation
Computer Vision Stereo Vision.
“Traditional” image segmentation
Presentation transcript:

A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to one correspondence Local methods -> global methods Global matching -> making decision for multiple pixel together

A global approach left right left right left right Define an evaluation score for each configuration, choose the best matching configuration

A global approach How to define the evaluation score? How about the sum of corresponding pixel difference?

Ordering constraint Order of matching features usually the same in both images But not always: occlusion Draw two epipolar lines, Illustrate the idea of ordering Formulate as constrained optimization What is the objective function? Sum of pixel differences Is this a well define optimization? No, occlusion -> empty matching How to solve it?

Dynamic programming Treat pixel correspondence as graph problem Right image pixels 1 2 3 4 1 2 Left image pixels 3 4

Dynamic programming Find min-cost path through graph Right image pixels 1 2 3 4 1 1 3 4 2 2 Left image pixels 3 The issue of occlusion cost How about not using ordering constraint, just use smoothness 4

Dynamic Programming Results

Energy minimization Another global approach to improve quality of correspondences Assumption: disparities vary (mostly) smoothly Minimize energy function: Edata+lEsmoothness Edata: how well does disparity match data Esmoothness: how well does disparity match that of neighbors – regularization Matching all pixels together Smoothness, both horizontal and vertical, reduce inconsistency across rows, compared to dynamic programming methods

Stereo as energy minimization Matching Cost Formulated as Energy “data” term penalizing bad matches “neighborhood term” encouraging spatial smoothness How to mininimze?

Energy minimization Many local minimum Why? Gradient descent doesn’t work well In practice, disparities only piecewise smooth Design smoothness function that doesn’t penalize large jumps too much Example: V(a,b)=min(|a-b|, K) Non-convex

Energy minimization Hard to find global minima of non-smooth functions Many local minima Provably NP-hard Practical algorithms look for approximate minima (e.g., simulated annealing)

Energy minimization via graph cuts edge weight d1 d2 d3 edge weight Labels (disparities)

Energy minimization via graph cuts d1 d2 d3 Graph Cost Matching cost between images Neighborhood matching term Goal: figure out which labels are connected to which pixels

Energy minimization via graph cuts d1 d2 d3 Graph Cut Delete enough edges so that each pixel is connected to exactly one label node Cost of a cut: sum of deleted edge weights Finding min cost cut equivalent to finding global minimum of energy function

Computing a multiway cut With 2 labels: classical min-cut problem Solvable by standard flow algorithms polynomial time in theory, nearly linear in practice More than 2 terminals: NP-hard [Dahlhaus et al., STOC ‘92] Efficient approximation algorithms exist Yuri Boykov, Olga Veksler and Ramin Zabih, Fast Approximate Energy Minimization via Graph Cuts, International Conference on Computer Vision, September 1999. Within a factor of 2 of optimal Computes local minimum in a strong sense even very large moves will not improve the energy First talk about ICM then strong local min

Move examples Red-blue swap move Starting point Green expansion move E(d1,d2,d3,d4,….)

The swap move algorithm 1. Start with an arbitrary labeling 2. Cycle through every label pair (A,B) in some order 2.1 Find the lowest E labeling within a single AB-swap 2.2 Go there if it’s lower E than the current labeling 3. If E did not decrease in the cycle, we’re done Otherwise, go to step 2 AB subgraph (run min-cut on this graph) B A B A Original graph

The expansion move algorithm 1. Start with an arbitrary labeling 2. Cycle through every label A in some order 2.1 Find the lowest E labeling within a single A-expansion 2.2 Go there if it’s lower E than the current labeling 3. If E did not decrease in the cycle, we’re done Otherwise, go to step 2 Multi-way cut A sequence of binary optimization problems Give a concrete example, going through E = sum of many pairs; then going through the definition of data term and smoothness term

Stereo results http://cat.middlebury.edu/stereo/ scene ground truth Data from University of Tsukuba scene ground truth http://cat.middlebury.edu/stereo/

Results with window correlation normalized correlation (best window size) ground truth

Results with graph cuts (Potts model E, expansion move algorithm) ground truth

Results with graph cuts (Potts model E, expansion move algorithm) ground truth