How to and how not to use graph cuts Karen Liu and Brett Allen
What graph cuts is good for Suppose you want to label the nodes in a graph: For each node, you have: a data term: D(p, fp) – the cost of labeling node p with label fp a neighbor term, V(fp, fq), the cost of labeling connected nodes p and q with labels fp and fq. You want to minimize:
The algorithm we used an existing min-cut implementation for each α-expansion, we build a graph that expresses the desirability of switching each node’s label to α ( ):
Application 1: Stripe labeling A harder case
Using graph cuts
Results
What went wrong?! True labeling: … 11 12 13 14 15 16 17 18 19 … Current labeling: … 11 12 13 1 2 3 17 18 19 … …any α-expansion will not improve the energy! α-expansion only works if:
Application 2: Stereo
Using graph cuts
Results Ground truth Graph cuts Parameters: 12 labels (12-34 pixel displacement), w = 10
Results
Results (2) Input Graph cuts Ground truth
Results (3)