Comp 775: Graph Cuts and Continuous Maximal Flows Marc Niethammer, Stephen Pizer Department of Computer Science University of North Carolina, Chapel Hill.

Slides:



Advertisements
Similar presentations
Algorithms for MAP estimation in Markov Random Fields Vladimir Kolmogorov University College London Tutorial at GDR (Optimisation Discrète, Graph Cuts.
Advertisements

Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
MRI Brain Extraction using a Graph Cut based Active Contour Model Noha Youssry El-Zehiry Noha Youssry El-Zehiry and Adel S. Elmaghraby Computer Engineering.
Introduction to Algorithms
Introduction to Markov Random Fields and Graph Cuts Simon Prince
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Graph-Based Image Segmentation
Foreground/Background Image Segmentation. What is our goal? To label each pixel in an image as belonging to either the foreground of the scene or the.
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.
1 Maximum Flow w s v u t z 3/33/3 1/91/9 1/11/1 3/33/3 4/74/7 4/64/6 3/53/5 1/11/1 3/53/5 2/22/2 
Lectures on Network Flows
Corp. Research Princeton, NJ Computing geodesics and minimal surfaces via graph cuts Yuri Boykov, Siemens Research, Princeton, NJ joint work with Vladimir.
Corp. Research Princeton, NJ Cut Metrics and Geometry of Grid Graphs Yuri Boykov, Siemens Research, Princeton, NJ joint work with Vladimir Kolmogorov,
Optimal solution of binary problems Much material taken from :  Olga Veksler, University of Western Ontario
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
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.
MRF Labeling With Graph Cut CMPUT 615 Nilanjan Ray.
Comp 775: Deformable models: snakes and active contours Marc Niethammer, Stephen Pizer Department of Computer Science University of North Carolina, Chapel.
Stereo Computation using Iterative Graph-Cuts
Measuring Uncertainty in Graph Cut Solutions Pushmeet Kohli Philip H.S. Torr Department of Computing Oxford Brookes University.
Graph-Cut Algorithm with Application to Computer Vision Presented by Yongsub Lim Applied Algorithm Laboratory.
Computer vision: models, learning and inference
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
CSC2535: Computation in Neural Networks Lecture 11: Conditional Random Fields Geoffrey Hinton.
Advanced Algorithms Piyush Kumar (Lecture 4: MaxFlow MinCut Applications) Welcome to COT5405.
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
10/11/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Adam Smith Algorithm Design and Analysis L ECTURE 22 Network.
Lab Assignment You are allowed to use whatever language you are comfortable with and whatever maxflow (or mincut) implementation available. The framework.
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.
Maximization of Network Survivability against Intelligent and Malicious Attacks (Cont’d) Presented by Erion Lin.
Network Flow How to solve maximal flow and minimal cut problems.
Graph Cuts Marc Niethammer. Segmentation by Graph-Cuts A way to compute solutions to the optimization problems we looked at before. Example: Binary Segmentation.
Jonathan Dinger 1. Traffic footage example 2  Important step in video analysis  Background subtraction is often used 3.
CS 4487/6587 Algorithms for Image Analysis
Algorithms for MAP estimation in Markov Random Fields Vladimir Kolmogorov University College London.
1 Markov Random Fields with Efficient Approximations Yuri Boykov, Olga Veksler, Ramin Zabih Computer Science Department CORNELL UNIVERSITY.
Introduction to Level Set Methods: Part II
Gaussian Mixture Models and Expectation-Maximization Algorithm.
Chapter 7 May 3 Ford-Fulkerson algorithm Step-by-step walk through of an example Worst-case number of augmentations Edmunds-Karp modification Time complexity.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.
CSEP 521 Applied Algorithms Richard Anderson Lecture 8 Network Flow.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
Markov Random Fields in Vision
Hebrew University Image Processing Exercise Class 8 Panoramas – Stitching and Blending Min-Cut Stitching Many slides from Alexei Efros.
Network Flow.
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Lectures on Network Flows
Richard Anderson Lecture 23 Network Flow
CSCI 3160 Design and Analysis of Algorithms Tutorial 8
Network Flow.
Graph Cut Weizhen Jing
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Lecture 31: Graph-Based Image Segmentation
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 21 Network Flow
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Network Flow.
Lecture 21 Network Flow, Part 1
Richard Anderson Lecture 22 Network Flow
Lecture 21 Network Flow, Part 1
Network Flow.
Richard Anderson Lecture 22 Network Flow
Maximum Flow Problems in 2005.
Presentation transcript:

Comp 775: Graph Cuts and Continuous Maximal Flows Marc Niethammer, Stephen Pizer Department of Computer Science University of North Carolina, Chapel Hill

2 Representations BackgroundGraph Cuts and Continuous Maximal Flows Classifying individual pixels versus finding an optimal separating curve/surface between object and background.

3 From curve evolution to pixel/voxel labeling BackgroundGraph Cuts and Continuous Maximal Flows Example: Chan-Vese model Indicator function Putting it all together: Relaxed indicator function

4 Convex vs. Non-Convex BackgroundGraph Cuts and Continuous Maximal Flows Non-convex Initial contour Final contour Images: Bresson et al. Convex Prone to locally optimal solutions. Independent of initial condition, optimal solution is guaranteed.

5 From Curve Evolution to Pixel/Voxel Labeling BackgroundGraph Cuts and Continuous Maximal Flows Convex, continuous, constrained optimization problems.... can also include region-based terms, appearance information, orientation-dependency Advantages: - Convex -> Globally optimal - No metrication artifacts - Straightforward parallel implementations convex non-convex

6 Continuous Maximal Flow [Appleton] Continuous Maximal FlowGraph Cuts and Continuous Maximal Flows Continuous version of maximal flow [Appleton]. Results in a PDE and can be solved as such. Energy to be minimized: More general form (can easily include local classifiers):

7 Segmentation with Continuous Max-Flow Continuous Maximal FlowGraph Cuts and Continuous Maximal Flows Images: Unger Thresholding Continuous max-flow with seeds.

8 Continuous Maximal Flow Graph Cuts and Continuous Maximal Flows Energy to be minimized: Introduce the auxiliary variable p, which we maximize for: Now solve this by gradient descent.

9 Continuous Maximal Flow Graph Cuts and Continuous Maximal Flows The variation is The gradient descent scheme becomes

10 Chan-Vese (=Otsu-Thresholding w/ spatial regularity) Continuous Max-FlowGraph Cuts and Continuous Maximal Flows Iterative solution method is related to solving a wave equation.

11 Ex.: Segmentation with Continuous Max-Flow Continuous Max-FlowGraph Cuts and Continuous Maximal Flows

12 3D Example Continuous Max-FlowGraph Cuts and Continuous Maximal Flows

13 Segmentation by Graph-Cut Graph-CutGraph Cuts and Continuous Maximal Flows Example: Binary Segmentation Images from ECCV Tutorial, Kumar/Kohli Need to partition the picture into foreground and background. Alternative approach through graph construction (vs. PDE)

14 Segmentation by Graph-Cut Graph-CutGraph Cuts and Continuous Maximal Flows Graph G=(V,E)‏ Images from ECCV Tutorial, Kumar/Kohli Approach: Interpret the image as a graph, where pixels are connected to its neighbors. Goal: Cut the graph into pieces to obtain the desired image partition. Assign a label to every pixel.

15 Segmentation by Graph-Cut Graph-CutGraph Cuts and Continuous Maximal Flows Optimization Problem: Minimize Looking at it on a pixel-by-pixel basis (where f is the labeling): Problem: We cannot try all possible pairings for the labels f. Need an efficient algorithm to solve this problem.

16 Maximum Flow and Minimum Cut Graph-CutGraph Cuts and Continuous Maximal Flows Solution: 1) Transform problem to maximizing nework flow 2) Use algorithms for network flows on images. Preview: Graph structure for binary labeling Pixels are connected to neighbors (pairwise interaction cost) and to source and target vertices (data cost). Images: Boykov Cut separating source (s) from sink (t) gives the segmentation.

17 Max-Flow/Min-Cut Theorem Graph-CutGraph Cuts and Continuous Maximal Flows For any network having a single origin and a single destination node, the maximum possible flow from origin to destination equals the minimum cut value for all the cuts in the network.

18 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows Pixel weights: s to node flow: high if near source (bkg) class, low if not Pixel weights: Node to t flow: high if near target class, low if not Node to neighbor flow: high in both directions if near intensities

19 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows One way to compute maximal flow: 1) Pick any viable path (no zero flow) 2) Subtract minimum flow from each segment on path 3) Add minimum flow on reverse path

20 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows 1) Pick path (no zero flow)

21 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows 2) Subtract minimum flow from each segment on path 3) Add minimum flow on reverse path

22 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows

23 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows 1) Pick path (no zero flow)

24 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows 2) Subtract minimum flow from each segment on path 3) Add minimum flow on reverse path

25 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows

26 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows 1) Pick path (no zero flow)

27 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows 2) Subtract minimum flow from each segment on path 3) Add minimum flow on reverse path

28 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows

29 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows 1) Pick path (no zero flow)

30 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows 2) Subtract minimum flow from each segment on path 3) Add minimum flow on reverse path

31 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows

32 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows - Cut at zeros. - Cost of min-cut is 4. - Divides the nodes (pixels) into two groups. - Sum of original values of zeros equals the maximum flow.

33 Example: Ford & Fulkerson Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows Look at the difference between initial and final capacities. Ignore negative capacities. This is where everything flows. Flow is conserved at nodes.

34 Why update the backward flow? Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows Image: John Chinneck Can undo flows. Final flow does not include the central edge.

35 Image Segmentation Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows Allows (amongst many things) to compute binary segmentations. Image: Boykov OriginalNoisyReconstructed

36 Multi-Label Case Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows Image: Boykov

37 Multi-Label Case Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows Image: Boykov

38 Influence of Neighborhood Choice Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows Minimum cost cut (standard 4-neighborhoods)‏ Minimum length geodesic contour (image-based Riemannian metric)‏ Images: Boykov Can choose different weighted neighborhood to reduce metrication errors. (Or use continuous maximal flow.)

39 Interactive Segmentations Segmentation by Graph CutGraph Cuts and Continuous Maximal Flows Images: Boykov