Upload
rosamond-palmer
View
217
Download
0
Embed Size (px)
DESCRIPTION
Image segmentation Image segmentation separates an image into disjoint objects. Olga Veksler proposed using minimum graph cuts to segment an image into a hierarchy of nested regions. Any pair of regions will either be disjoint or one region will be entirely contained within the other.
Citation preview
Outline Standard 2-way minimum graph cut problem.
Applications to problems in computer vision Classical algorithms from the theory literature A new algorithm from the vision community Performance
Multiway graph cut problem (NP-hard) Applications to vision problems Approximation algorithms from the theory and
vision communities.
Minimum Cut Problem Separate the nodes
into two set, one containing s and one containing t.
Minimize the sum of the weights of the edges crossing the partition.
Equivalent to finding the maximum flow.
s
t
Image segmentation Image segmentation separates an
image into disjoint objects. Olga Veksler proposed using minimum
graph cuts to segment an image into a hierarchy of nested regions.
Any pair of regions will either be disjoint or one region will be entirely contained within the other.
Each pixel is a node, edges between neighbors
Edges weighted by difference in pixel colors
Border pixels link to Sink Compute the min-cut around
every pixel! Recurse on subgraphs to get
nested segments Connect border to a sink
Nested Cuts for Images
…SourceSink
Nested Cuts Image Results
Augmenting Paths algorithms Repeatedly search the residual graph for a
source-to-sink path. Send as much flow as possible down the path (saturate the minimum residual capacity edge).
How do we choose the path to augment? Largest Capacity/Capacity Scaling (O(m2 log U)) Edmunds and Karp - Shortest Path (Breadth First
Search) (O(nm2)) Dinic’s Method - Layered networks (O(n2m))
Push Relabel Algorithms Initially push as much flow as possible to all
nodes connected to the source. Pick a node u with excess flow. Pick an edge (u,v) with excess capacity
where v has a label which is one less than u. Push as much flow as possible to v.
If not possible, increase the label of u. Rinse and repeat. Think of labels as the distance from the sink.
Example
4
2 1
3/51/6
L=2
L=4 L=1
2
2 3
5/51/6
L=4 L=1
L=2
4
2 1
3/51/6
L=2
L=5 L=3
4
2 1
3/51/6
L=5 L=3
L=4
Push:
Relabel:
Choosing the next vertex FIFO queue: O(n3) Highest label node - maintain an array
of sets where all nodes in a given set have the same label:
Largest excess: O(n2m) Stack: O(n2m)
€
O(n2 m )
Relabeling heuristics Global relabeling: periodically relabel every
node with the shortest path distance to the sink in the residual graph.
Gap relabeling: Periodically check for gaps in the labels. If a gap is found, relabel every node above the gap with n (# of vertices), because the sink is not reachable from these nodes.
Boykov-Kolmogorov algorithm
An augmenting paths algorithm from the vision literature, designed to be efficient on the graphs that typically arise in vision problems. O(n2m|C|)
Maintains a tree (rooted at the source) of nodes connected by edges with excess capacity.
The tree is grown until the sink is part of the tree.
Boykov-Kolmogorov, cont. We then augment down the path to the
sink . This may split the tree into a forest
(because edges are saturated): a tree containing the root and some orphans. Attempt to adopt the orphan trees.
Repeat until the growth phase is unable to incorporate the sink.
Performance Experimental comparisons:
Cheung showed that Dinic’s is the fastest augmenting paths algorithm.
Anderson and Setubal showed that Push Relabel is faster than Augmenting Paths, and that the FIFO queue and Highest Label methods are the fastest.
Performance More experimental comparisons:
Cherkassky and Goldberg showed that the quickest push relabel method is Highest Label with both gap and global relabeling.
Boykov and Kolmogorov showed that their algorithm is the fastest on the range of vision problems they tested it on:
Image restoration Stereo with occlusions Interactive object segmentation