Interactive Graph Cuts for Segmentation in N-D Images Yuri Boykov, Marie-Piere Jolly Mohit Gupta 02/15/2006 Advanced Perception.
Download
Report
Transcript Interactive Graph Cuts for Segmentation in N-D Images Yuri Boykov, Marie-Piere Jolly Mohit Gupta 02/15/2006 Advanced Perception.
Interactive Graph Cuts for
Segmentation in N-D Images
Yuri Boykov, Marie-Piere Jolly
Mohit Gupta
02/15/2006
Advanced Perception
Image Segmentation
Images: Label Me Database
Focus of this work:
Foreground vs. Background
**The framework
presented can be easily
extended to multi-label
segmentation though
**Multi-label segmentation
solved by iteratively
solving many 2-label
sub-problems (Boykov,
Veksler, Zabih)
Images: Yin Li et al
(Lazy Snapping)
Focus of this work:
Foreground vs. Background
**The framework
presented can be easily
extended to multi-label
segmentation though
Supervised Method
**Multi-label segmentation
solved by iteratively
solving many 2-label
sub-problems (Boykov,
Veksler, Zabih)
Images: Yin Li et al
(Lazy Snapping)
Taxonomy + Previous Work
Fully Automatic Methods:
EigenVectors Based approaches (Normalized Cuts,
Perona and Freeman Algorithm etc.)
Supervised Methods
Boundary Based approaches: use of an ‘evolving
curve’ (snakes, intelligent scissor, image snapping)
Region Based approaches: hints about foreground vs.
background (intelligent paint, GrabCut)
Edge Weights depend
on the ‘boundary-ness’
High probability of
boundary Low weight
Taxonomy + Previous Work
Fully Automatic Methods:
EigenVectors Based approaches (Normalized Cuts,
Perona and Freeman Algorithm etc.)
Supervised Methods
Boundary Based approaches: use of an ‘evolving
curve’ (snakes, intelligent scissor, image snapping)
Region Based approaches: hints about foreground vs.
background (intelligent paint, GrabCut)
Boundary = Shortest Path
between graph vertices
Taxonomy + Previous Work
Fully Automatic Methods:
EigenVectors Based approaches (Normalized Cuts,
Perona and Freeman Algorithm etc.)
Supervised Methods
Boundary Based approaches: use of an ‘evolving
curve’ (snakes, intelligent scissor, image snapping)
Region Based approaches: hints about foreground vs.
background (intelligent paint, GrabCut)
Taxonomy + Previous Work
Fully Automatic Methods:
EigenVectors Based approaches (Normalized Cuts,
Perona and Freeman Algorithm etc.)
Supervised Methods
Boundary Based approaches: use of an ‘evolving
curve’ (snakes, intelligent scissor, image snapping)
Region Based approaches: hints about foreground vs.
background (intelligent paint, GrabCut)
Case for a Supervised,
Region Based Method
Fully Automatic
Never perfect – Hard to get
crisp boundaries for inherently
ambiguous, low contrast images
Boundary Based Supervised
Complex Object: User’s nightmare
"Whenever
something can be
done in two ways,
someone will be
confused.
Whenever
something is a
matter of taste,
discussions can
drag on forever."
-- Bjarne
Stroustrup
Interactive Graph Cuts:
Overview
Supervised Region based
segmentation technique
What user does?:
Provide clues as to the
‘desired’ segmentation
Foreground and
Background ‘seed pixels’
Energy of the segmentation:
Lower the energy, better
the segmentation
Problem Formulation
Input
Set of pixels P,
Neighborhood system
N {p,q}
Hard Constraints: ‘clues’
for segmentation
Objective function: Soft Constraint (Energy)
Output
Assignment vector A = (A1, … , Ap , … , A|P|), where Ai e {0,1}
A defines a segmentation of the image
Objective Function:
Energy of the Segmentation
TO DO: Minimize
Energy E(A) while
satisfying the
hard constraints
• Regional Term R(A) Cost for assigning labels to individual pixels
• Boundary Term B(A) Cost for making the boundary pass between
two given pixels
Graph Cuts and Image Segmentation
Image with seeds
Background
Terminal
t
n-links
w pq
Object
Terminal
s
Corresponding
Graph
A node for every pixel
Two terminal nodes
n-links and t-links
Edge weights:
Min-Cut
Energy Minimization
Graph Cut
Image with seeds
Background
Terminal
t
n-links
w pq
Object
Terminal
Segmentation Results
a cut
t
n-links
w pq
s
Corresponding
Graph
s
Graph Cut
Segmentation
A (A1, … , Ap , … , A|P|)
Min-Cut
Energy Minimization
Graph Cut
Image with seeds
Background
Terminal
t
n-links
w pq
Object
Terminal
Segmentation Results
a cut
t
n-links
**|C| = E(A)**
Min |C| = min E(A)
w pq
s
Corresponding
Graph
Segmentation
A (A1, … , Ap , … , A|P|)
s
Graph Cut
Min-Cut
Energy Minimization
Graph Cut
Image with seeds
Segmentation Results
Min-cut
Background
Terminal
t
n-links
w pq
Object
Terminal
‘Optimal’ Segmentation!
Segmentation
a cut
t
n-links
**|C| = E(A)**
Min |C| = min E(A)
w pq
s
Corresponding
Graph
A (A1, … , Ap , … , A|P|)
s
Graph Cut
Results
• Low values of l
•Boundary term dictates
•Region “Shrinking”
• High values of l
• Region term dictates
•Neighborhood info ignored
We don’t want toy results…
•Start with a few ‘obj’ and ‘bckg’ seeds
•Refinement in trouble places
Images: Yin Li et al
(Lazy Snapping)
Interactivity
New ‘obj’/’bckg’ pixel
added/deleted
Only two links change:
Real time re-computation
Possible Interactive!
More Results
Images: Yin Li et al
(Lazy Snapping),
Boykov and Jolly
Performance
Efficient polynomial time algorithms
available for min-cut
Segmentation Problem Sparse graphs
Computations in the “blink of an eye”
Efficiency measured in terms of amount
of human effort
Bell Example takes about a minute
Markov Random Fields (MRF’s)
S = discrete set of sites S = {1, …, m}
Ld = discrete set of labels, eg. {1, … L}.
Neighborhood system N
A labeling assigns a label to every site,
f = {f1, … fm}. fi is the label of site i.
Neighborhood conditional independence
F is an MRF on S w.r.t. N iff:
P(f) > 0
P(fi | fS-{i}) = P(fi | fNi)
Lazy Snapping (SIGGRAPH’2004)
Yin Li, Jian Sun, Chi-Keung Tang, Heung-Yeung Shum(MSRA)
•‘Refine’ the coarse results returned by Graph-Cut Based
methods (Boykov and Jolly)
•Extremely Fast
•Commercial System User Friendly
Modus Operandi:
How does it work?
Supervised Region Based Method
Three Step Process
Pre-segmentation ( super pixels )
Object Marking Step ( a la Boykov and Jolly)
Local Refinement Step
Pre-segmentation
•Exploit Spatial Coherency Replace Pixels by Super-Pixels
•‘Aggressive’ unsupervised segmentation preserves color coherency
within regions
Pre-segmentation
Boundary Editing
•Object Boundary from previous step
represented as polygon
•Polygon can be edited for local
refinement
•Local refinement New constraints
•Another optimization for better fit
Boundary Editing
•Dij term penalizes a node pair far
away from the polygon brings
boundary closer to the polygon
b = 1 boundary snaps to polygon
**Important: The optimized boundary snaps to the object boundary
even though the polygon vertices may not be on it.
citius altius fortius…
•Faster, easier, accurat’er’
The pretty SIGGRAPH video
Multi-way graph cuts
(Boykov, Veksler, Zabih)
Images: Label Me Database
Multi-way graph cuts
Slides: Yuri Boykov
Multi-way graph cuts
BAD NEWS:
NP-hard problem (3 or more labels)
two labels can be solved in polynomial time via s-t cuts
GOOD NEWS:
a-expansion approximation algorithm
guaranteed approximation quality (2-approx)
Slides: Yuri Boykov
a-expansion move
Basic idea:
break multi-way cut computation into a
sequence of binary s-t cuts
a
other
labels
Slides: Yuri Boykov
a-expansion move
Basic idea:
break multi-way cut computation into a
sequence of binary s-t cuts
a
other
labels
**Iteratively, each label competes with
other labels for space in the image
a-expansion algorithm
1. Start with any initial solution
2. For each label “a” in any (e.g. random) order
•
•
Compute optimal a-expansion move (s-t graph cuts)
Decline the move if there is no energy decrease
3. Stop when no expansion move would decrease energy
Slides: Yuri Boykov
a-expansion algorithm
1. Start with any initial solution
2. For each label “a” in any (e.g. random) order
•
•
Compute optimal a-expansion move (s-t graph cuts)
Decline
move if there
is no energy
Athe
2-approx
algorithm
for decrease
an NP-complete problem!
3. Stop when no expansion move would decrease energy
Converges in a few iterations!
Video Segmentation
Video Object Cut and Paste
(SIGGRAPH’2004)
Yin Li, Jian Sun, Heung-Yeung Shum(MSRA)
Climbing the dimension ladder
2D 3D
Video Segmentation:
3D graph on volume of
frames
Edges for ‘temporal
coherence’ in addition to
‘spatial coherence’
‘obj’ + ‘bckg’ seeds on a
few key-frames
Image: Yin Li et al
What’s new? Temporal Coherence
Our old friend…
Additional term for
temporal neighbors
Local Refinement: Problem
•‘obj’ / ‘bckg’ color models
built globally from key
frames
•Might get confused
between the two !
Local Refinement: Solution
1. Mark windows around
problem areas in key
frames
2. Windows propagate
through middle frames
using a feature tracking
algorithm
3. Apply 2D pixel level graph
cut segmentation
•
Important: Seeds
generated
automatically
Video Segmentation: Results
Images: Boykov and Jolly
Another (obviously pretty)
SIGGRAPH video
Conclusion
Merits
Globally Optimum Segmentation, when cost function is
clearly defined (normalized cuts only give an
approximate solution)
Very Fast: Interactive Rates
Natural Extension to N-Dimensional images
Easily Editable: More user friendly
Possible Improvement
Automatic Seed Selection: From Coarse (LabelMe)
kind of segmentation