Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4....
Transcript of Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4....
![Page 1: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/1.jpg)
Segmentation and graph-based techniques
16-385 Computer VisionSpring 2020, Lecture 27http://www.cs.cmu.edu/~16385/
![Page 2: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/2.jpg)
Course announcements
• Programming assignment 6 is due tonight.
• Programming assignment 7 and take-home quiz 11 will be posted tonight.
• Anand will cover Friday’s OH, and I will cover Monday’s.
![Page 3: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/3.jpg)
1. Image processing.
2. Geometry-based vision.
3. Physics-based vision.
4. Semantic vision.
5. Dealing with motion.
Lectures 13 – 16
See also 16-823: Physics-based Methods in Vision
See also 15-462: Computer Graphics
See also 15-463: Computational Photography
Lectures 7 – 12
See also 16-822: Geometry-based Methods in Vision
Lectures 1 – 7
See also 18-793: Image and Video Processing
Lectures 17 – 20
See also 16-824: Vision Learning and Recognition
See also 10-703: Deep Reinforcement Learning
Course overview
Lectures 21 – 24
See also 16-831: Statistical Techniques in Robotics
See also 16-833: Robot Localization and Mapping
![Page 4: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/4.jpg)
cameras that see around corners
cameras that measure depth in real time
15-463/15-663/15-862 Computational PhotographyLearn about this and other unconventional cameras – and build some on your own!
http://graphics.cs.cmu.edu/courses/15-463/
cameras that take video at the speed of light
cameras that capture entire focal stacks
![Page 5: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/5.jpg)
• Free registration!
• All talks and discussion sessions online
• Details at https://iccp2020.engr.wustl.edu/
![Page 6: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/6.jpg)
Overview of today’s lecture
• Leftover from tracking.
• Segmentation.
• Image as a graph.
• Shortest graph paths and Intelligent scissors.
• Graph-cuts and GrabCut.
• Normalized cuts.
• Boundaries.
• Clustering for segmentation.
![Page 7: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/7.jpg)
Slide credits
Most of these slides were adapted from:
• Kris Kitani (15-463, Fall 2016).
Some slides were inspired or taken from:
• Fredo Durand (MIT).• James Hays (Georgia Tech).
![Page 8: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/8.jpg)
Segmentation
![Page 9: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/9.jpg)
We perceive objects in their entirety before their individual parts.
Gestalt Psychology
![Page 10: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/10.jpg)
Similar objects are
grouped together
Closer objects are
grouped together
![Page 11: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/11.jpg)
Common Fate
Objects with similar motion or change in appearance are
grouped together
![Page 12: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/12.jpg)
Common Region/Connectivity
Connected objects are grouped together
![Page 13: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/13.jpg)
Continuity Principle
A
B
C
X
A
B
C
X
Features on a continuous curve are grouped together
![Page 14: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/14.jpg)
Symmetry Principle
![Page 15: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/15.jpg)
Completion
Illusory or subjective contours are perceived
![Page 16: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/16.jpg)
Segmentation/Clustering
![Page 17: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/17.jpg)
![Page 18: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/18.jpg)
![Page 19: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/19.jpg)
What is a “good” segmentation??
![Page 20: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/20.jpg)
First idea: Compare to human segmentation
or to “ground truth”
• http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html
No objective
definition of
segmentation!
Subje
ct 1
Subje
ct 2
Subje
ct 3
![Page 21: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/21.jpg)
No objective definition of segmentation!
• http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/BSDS300/html/dataset/images/color/317080.html
![Page 22: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/22.jpg)
Evaluation: Boundary agreement
Correct if
D < T
Pre
cis
ion =
% o
f dete
cte
d b
oundary
pix
els
that
are
co
rrect
Recall = % of boundary pixels that are detected
![Page 23: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/23.jpg)
Evaluation: Region overlap with
ground truth
![Page 24: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/24.jpg)
Evaluation: Region overlap with
ground truth
Graph-basedMean shift Spectral
Ground truth
![Page 25: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/25.jpg)
Second idea: Superpixels
• Let’s not even try to compute a “correct” segmentation
• Let’s be content with an oversegmentation in which each region is very likely (formal guarantees are hard) to be uniform
![Page 26: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/26.jpg)
Second idea: Superpixels
• Example from: How Do Superpixels Affect Image Segmentation?
• Progress in Pattern Recognition, Image Analysis and Applications. Springer LNCS. Volume 5197/2008.
Watershed
Graph-basedMean shift
![Page 27: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/27.jpg)
Third idea:
Multiple segmentations
• Generate many segmentations of the same image
• Even though many regions are “wrong”, some consensus should emerge
Example: Improving Spatial Support for Objects via Multiple Segmentations
Tomasz Malisiewicz and Alexei A. Efros. British Machine Vision Conference
(BMVC), September, 2007.
![Page 28: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/28.jpg)
Multiple segmentations: Example
• Task: Regions → Features → Labels
(horizontal, vertical, sky, etc.)
![Page 29: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/29.jpg)
• Chicken and egg problem:– If we knew the regions, we could compute the features and label the right
regions
– But to know the right regions we need to know the labels!
• Solution:– Generate lots of segmentations
– Combine the classifications to get consensus
50x50 Patch50x50 Patch
Example from D. Hoiem
Recovering Surface Layout from an Image. D. Hoiem, A.A. Efros, and M.
Hebert. IJCV, Vol. 75, No. 1, October 2007.
![Page 30: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/30.jpg)
P(good
segment |
data) x
P(label | good
segment,
data)
segments
dataseggoodlabelPdataseggoodP
datalabelP
),|()|(
)|(
![Page 31: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/31.jpg)
Generalities: Summary
• Match ground truth (no objective definition)
• Superpixels = oversegmentation
• Using multiple segmentations
![Page 32: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/32.jpg)
Main approaches
• Spectral techniques
• Segmentation as boundary detection
• Graph-based techniques
• Clustering (K-means and probabilistic)
• Mean shift
![Page 33: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/33.jpg)
1. Extract Sprites
2. Blend them into the composite
Cut and paste procedure
![Page 34: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/34.jpg)
1. Extract Sprites
2. Blend them into the composite
Cut and paste procedure
How do we do this?
![Page 35: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/35.jpg)
1. Extract Sprites
Two different ways to think about the same thing:
• Finding seams (i.e., finding the pixels where to cut an image)
• Segmentation (i.e., splitting the image into “foreground” and “background”)
I will be using the two terms interchangeable
Cut and paste procedure
How do we do this?
![Page 36: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/36.jpg)
Finding seams is also useful for:
image stitching
BallCam
retargeting
Seam Carving
segmentation
Lazy Snapping
Applications
![Page 37: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/37.jpg)
Image as a graph
![Page 38: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/38.jpg)
Nodes: pixels
Edges: Constraints between neighboring pixels
Fundamental theme of today’s lecture
Images can be viewed as graphs
![Page 39: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/39.jpg)
Graph-view of segmentation problem
Segmentation is node-labeling
Given pixel values and neighborhoods, decide:• which nodes to label as
foreground/backgroundor• which nodes to label as seamsusing graph algorithms
Nodes: pixels
Edges: Constraints between neighboring pixels
![Page 40: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/40.jpg)
Method Labeling problem Algorithm Intuition
Intelligent scissors
label pixels as seamsDijkstra’s shortest
path (dynamic programming)
short path is a good boundary
GrabCutlabel pixels as
foreground/backgroundmax-flow/min-cut
(graph cutting)good region has low cutting cost
Today we will cover:
Graph-view of segmentation problem
![Page 41: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/41.jpg)
Shortest graph paths and intelligent scissors
![Page 42: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/42.jpg)
Mortenson and Barrett (SIGGRAPH 1995)(you can tell it’s old from the paper’s low quality teaser figure)
Intelligent scissors
Problem statement:Given two seed points, find a good boundary connecting them
Challenges:• Make this real-time for interaction• Define what makes a good boundary
![Page 43: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/43.jpg)
Nodes: pixels
Edges: Constraints between neighboring pixels
Graph-view of this problem
Images can be viewed as graphs
![Page 44: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/44.jpg)
Graph-view of this problem
Graph-view of intelligent scissors:
1 2 1
41
6
9
13
1
4
113
2
3
5
1. Assign weights (costs) to edges
![Page 45: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/45.jpg)
Graph-view of this problem
Graph-view of intelligent scissors:
1 2 1
41
6
9
13
1
4
113
2
3
5
End
Start1. Assign weights (costs) to edges
2. Select the seed nodes
![Page 46: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/46.jpg)
Graph-view of this problem
Graph-view of intelligent scissors:
1 2 1
41
6
9
13
1
4
113
2
3
5
End
Start1. Assign weights (costs) to edges
2. Select the seed nodes
3. Find shortest path between them
![Page 47: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/47.jpg)
Graph-view of this problem
Graph-view of intelligent scissors:
1 2 1
41
6
9
13
1
4
113
2
3
5
End
Start1. Assign weights (costs) to edges
2. Select the seed nodes
3. Find shortest path between them
What algorithm can we use to find the shortest path?
![Page 48: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/48.jpg)
Graph-view of this problem
Graph-view of intelligent scissors:
1 2 1
41
6
9
13
1
4
113
2
3
5
End
Start1. Assign weights (costs) to edges
2. Select the seed nodes
3. Find shortest path between them
What algorithm can we use to find the shortest path?• Dijkstra’s algorithm (dynamic
programming)
![Page 49: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/49.jpg)
Initialize, given seed s (pixel ID):
• cost(s) = 0 % total cost from seed to this point
• cost(!s) = big
• A = {all pixels} % set to be expanded
• prev(s)=undefined % pointer to pixel that leads to q=s
Precompute cost2(q, r) % cost between q to neighboring pixel r
Loop while A is not empty
1.q = pixel in A with lowest cost
2.Remove q from A
3.For each pixel r in neighborhood of q that is in A
a)cost_tmp = cost(q) + cost2(q,r) %this updates the costs
b)if (cost_tmp < cost(r))
i.cost(r) = cost_tmp
ii. prev(r) = q
Dijkstra’s shortest path algorithm
![Page 50: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/50.jpg)
Graph-view of this problem
Graph-view of intelligent scissors:
1 2 1
41
6
9
13
1
4
113
2
3
5
End
Start1. Assign weights (costs) to edges
2. Select the seed nodes
3. Find shortest path between them
What algorithm can we use to find the shortest path?• Dijkstra’s algorithm (dynamic
programming)
How should we select the edge weights to get good boundaries?
![Page 51: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/51.jpg)
Selecting edge weights
Define boundary cost between neighboring pixels:
1. Lower if an image edge is present (e.g., as found by Sobel filtering).
2. Lower if the gradient magnitude at that point is strong.
3. Lower if gradient is similar in boundary direction.
![Page 52: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/52.jpg)
Gradient magnitude
Edge image
Pixel-wise cost
52
Selecting edge weights
![Page 53: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/53.jpg)
1.Use cursor as the “end” seed, and always connect start seed to that
2.Every time the user clicks, use that point as a new starting seed and repeat
Making it more interactive
![Page 54: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/54.jpg)
htt
p:/
/yo
utu
.be/
X_d
Z_7
xAcI
M
![Page 55: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/55.jpg)
Examples
![Page 56: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/56.jpg)
Seam collaging
Another use for image seam selection
Kwatra et al., Graphcut Textures: Image and Video Synthesis using Graph Cuts, SIGGRAPH 2003
![Page 57: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/57.jpg)
Good places to cut:• similar color in both images• high gradient in both images
Selecting edge weights for seam collaging
![Page 58: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/58.jpg)
Avidan and Shamir, Seam Carving for Content-Aware Image Resizing, SIGGRAPH 2007
Another use for image seam selection
Seam carving
![Page 59: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/59.jpg)
![Page 60: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/60.jpg)
Where will intelligent scissors work well, or have problems?
Examples
![Page 61: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/61.jpg)
Graph-cuts and GrabCut
![Page 62: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/62.jpg)
Rother et al., “Interactive Foreground Extraction with Iterated Graph Cuts,” SIGGRAPH 2004
grab cut paste
GrabCut
Only user input is the box!
![Page 63: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/63.jpg)
user input
result
Magic Wand (198?) Intelligent scissors
regions boundary regions & boundary
GrabCut
Combining region and boundary information
![Page 64: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/64.jpg)
GrabCut is a mixture of two components
1. Segmentation using graph cuts
2. Foreground-background modeling using unsupervised clustering
![Page 65: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/65.jpg)
GrabCut is a mixture of two components
1. Segmentation using graph cuts
2. Foreground-background modeling using unsupervised clustering
![Page 66: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/66.jpg)
Nodes: pixels
Edges: Constraints between neighboring pixels
Segmentation using graph cuts
Remember: Graph-based view of images
![Page 67: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/67.jpg)
Given its intensity value, how likely is a
pixel to be foreground or background?
Given their intensity values, how likely are two neighboring
pixels to have two labels?
Markov Random Field (MRF)Assign foreground/background labels based on:
=edgesji
ji
i
i datayydataydataEnergy,
21 ),;,(),;(),;( y
What kind of cost functions would you use for GrabCut?
+
![Page 68: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/68.jpg)
=edgesji
ji
i
i datayydataydataEnergy,
21 ),;,(),;(),;( y
source (foreground label)
sink (background label)
cost to assign to foreground
cost to assign to background
cost to split nodes
Solving MRFs using max-flow/min-cuts (graph cuts)
+
![Page 69: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/69.jpg)
=edgesji
ji
i
i datayydataydataEnergy,
21 ),;,(),;(),;( y
source (foreground label)
sink (background label)
cost to assign to foreground
cost to assign to background
cost to split nodes
Solving MRFs using max-flow/min-cuts (graph cuts)
+
![Page 70: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/70.jpg)
unary potential
low cost
0 1
0 0 K
1 K 0
pairwise potential
A toy visual example
0: -logP(yi = 0 ; data)
1: -logP(yi = 1 ; data)
low cost
![Page 71: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/71.jpg)
Graph-cuts segmentation
1. Define graph
– usually 4-connected or 8-connected
2. Set weights to foreground/background
3. Set weights for edges between pixels
4. GraphCut: Apply min-cut/max-flow algorithm
How would you determine these for GrabCut?
![Page 72: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/72.jpg)
GrabCut is a mixture of two components
1. Segmentation using graph cuts
2. Foreground-background modeling using unsupervised clustering
![Page 73: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/73.jpg)
foreground
background
G
R
Given foreground/background labels
Foreground-background modeling
build a color model for both
![Page 74: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/74.jpg)
Given a set of points, fit k Gaussians.
you can think the axes as ‘red’ and ‘blue’ channels
Learning color models
![Page 75: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/75.jpg)
Given a set of points, fit k Gaussians.
you can think the axes as ‘red’ and ‘blue’ channels
Learning color models
How would you solve this problem?
![Page 76: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/76.jpg)
Given k:
1.Select initial centroids at
random.
2.Assign each object to the cluster
with the nearest centroid.
3.Compute each centroid as the mean
of the objects assigned to it.
4.Repeat previous 2 steps until no
change.
Intuition: “hard” clustering using K-means
![Page 77: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/77.jpg)
1. Select initial
centroids at random
K-means visualization
![Page 78: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/78.jpg)
1. Select initial
centroids at random
2. Assign each object to
the cluster with the
nearest centroid.
K-means visualization
![Page 79: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/79.jpg)
1. Select initial
centroids at random
2. Assign each object to
the cluster with the
nearest centroid.
3. Compute each centroid as
the mean of the objects
assigned to it (go to 2)
K-means visualization
![Page 80: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/80.jpg)
1. Select initial
centroids at random
2. Assign each object to
the cluster with the
nearest centroid.
3. Compute each centroid as
the mean of the objects
assigned to it (go to 2)
2. Assign each object to
the cluster with the
nearest centroid.
Repeat previous 2 steps until no change
K-means visualization
![Page 81: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/81.jpg)
1. Select initial
centroids at random
2. Assign each object to
the cluster with the
nearest centroid.
3. Compute each centroid as
the mean of the objects
assigned to it (go to 2)
2. Assign each object to
the cluster with the
nearest centroid.
K-means visualization
![Page 82: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/82.jpg)
Given k:
1.Select initial centroids at
random.
2.Assign each object to the cluster
with the nearest centroid.
3.Compute each centroid as the mean
of the objects assigned to it.
4.Repeat previous 2 steps until no
change.
compute the probability of each object being in a cluster
weighed by the probability of being in that cluster
and covariance
^
E-step
M-step
Expectation-Maximization: “soft” version of K-means
![Page 83: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/83.jpg)
Model: Mixture of Gaussians Algorithm: Expectation Maximization
Important result for GrabCut: we can compute the likelihood of a pixel belonging to the foreground or background as:
E step
M step
Compute the expected log-likelihood
Update parameters based on likelihood
Unsupervised clustering
![Page 84: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/84.jpg)
GrabCut is a mixture of two components1. Segmentation using graph cuts
• Requires having foreground model
2. Foreground-background modeling using unsupervised clustering• Requires having segmentation
What do we do?
![Page 85: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/85.jpg)
GrabCut: iterate between two steps1. Segmentation using graph cuts
• Requires having foreground model
2. Foreground-background modeling using unsupervised clustering• Requires having segmentation
What do we do?
![Page 86: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/86.jpg)
user specified box
iterated graph cut
user edit
output
Iteration can be interactive
![Page 87: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/87.jpg)
Examples
![Page 88: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/88.jpg)
Examples
What is easy or hard about these cases for graph cut-based segmentation?
![Page 89: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/89.jpg)
Examples
![Page 90: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/90.jpg)
Examples
![Page 91: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/91.jpg)
Lazy Snapping[Li et al. SIGGRAPH 2004]
Examples
![Page 92: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/92.jpg)
Graph-cuts are a very general, very useful tool
• denoising• stereo• texture synthesis• segmentation• classification• recognition• …
![Page 93: Segmentation and graph-based techniques16385/lectures/lecture27.pdf3. Physics-based vision. 4. Semantic vision. 5. Dealing with motion. Lectures 13 –16 See also 16-823: Physics-based](https://reader034.fdocuments.in/reader034/viewer/2022051808/600a17ae527232705f7ada02/html5/thumbnails/93.jpg)
References
Basic reading:• Szeliski textbook, Sections 5.1.3, 5.3.1, 9.3.2, 9.3.3, 10.4.3.