Image Segmentation. April 24, Stanford University. Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

Size: px
Start display at page:

Download "Image Segmentation. April 24, Stanford University. Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63"

Transcription

1 Image Segmentation Philipp Krähenbühl Stanford University April 24, 2013 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

2 Image Segmentation Goal: identify groups of pixels that go together Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

3 Success Story Philipp Kra henbu hl (Stanford University) Segmentation April 24, / 63

4 Success Story Philipp Kra henbu hl (Stanford University) Segmentation April 24, / 63

5 Success Story Philipp Kra henbu hl (Stanford University) Segmentation April 24, / 63

6 Gestalt Theory Gestalt: whole or group The whole is greater than the sum of its parts Relationships between parts can yield new properties/features Psychologists identified series of factors that predispose set of elements to be grouped (by human visual system) Max Wertheimer ( ) I stand at the window and see a house, trees, sky. Theoretically I might say there were 327 brightnesses and nuances of color. Do I have 327? No. I have sky, house, and trees. Untersuchungen zur Lehre von der Gestalt, Psychologische Forschung, Vol. 4, pp , forms.htm Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

7 Gestalt Theory These factors make intuitive sense, but are very difficult to translate into algorithms. Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

8 Segmentation as clustering Pixels are points in a high dimensional space color: 3d color+location:5d Cluster pixels into segment Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

9 K-Means clustering Randomly initialize K cluster centers, c 1,..., c k 2 Given cluster centers, determine points in each cluster For each point p, find the closest c i. Put p into cluster i. 3 Given points in each cluster, solve for c i Set ci to be the mean of points in cluster i 4 If c i have changed, repeat Step 2 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

10 K-Means clustering Randomly initialize K cluster centers, c 1,..., c k 2 Given cluster centers, determine points in each cluster For each point p, find the closest c i. Put p into cluster i. 3 Given points in each cluster, solve for c i Set ci to be the mean of points in cluster i 4 If c i have changed, repeat Step 2 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

11 K-Means clustering Randomly initialize K cluster centers, c 1,..., c k 2 Given cluster centers, determine points in each cluster For each point p, find the closest c i. Put p into cluster i. 3 Given points in each cluster, solve for c i Set ci to be the mean of points in cluster i 4 If c i have changed, repeat Step 2 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

12 K-Means clustering Randomly initialize K cluster centers, c 1,..., c k 2 Given cluster centers, determine points in each cluster For each point p, find the closest c i. Put p into cluster i. 3 Given points in each cluster, solve for c i Set ci to be the mean of points in cluster i 4 If c i have changed, repeat Step 2 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

13 K-Means clustering Randomly initialize K cluster centers, c 1,..., c k 2 Given cluster centers, determine points in each cluster For each point p, find the closest c i. Put p into cluster i. 3 Given points in each cluster, solve for c i Set ci to be the mean of points in cluster i 4 If c i have changed, repeat Step 2 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

14 K-Means clustering Randomly initialize K cluster centers, c 1,..., c k 2 Given cluster centers, determine points in each cluster For each point p, find the closest c i. Put p into cluster i. 3 Given points in each cluster, solve for c i Set ci to be the mean of points in cluster i 4 If c i have changed, repeat Step 2 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

15 K-Means clustering Randomly initialize K cluster centers, c 1,..., c k 2 Given cluster centers, determine points in each cluster For each point p, find the closest c i. Put p into cluster i. 3 Given points in each cluster, solve for c i Set ci to be the mean of points in cluster i 4 If c i have changed, repeat Step 2 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

16 K-Means clustering Randomly initialize K cluster centers, c 1,..., c k 2 Given cluster centers, determine points in each cluster For each point p, find the closest c i. Put p into cluster i. 3 Given points in each cluster, solve for c i Set ci to be the mean of points in cluster i 4 If c i have changed, repeat Step 2 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

17 K-Means clustering Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

18 Expectation Maximization (EM) Goal Find blob parameters θ that maximize the likelihood function: P(data θ) = x P(x θ) Approach: 1 E-step: given current guess of blobs, compute ownership of each point 2 M-step: given ownership probabilities, update blobs to maximize likelihood function 3 Repeat until convergence Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

19 Expectation Maximization (EM) Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

20 Mean-Shift Algorithm Iterative Mode search 1 Initialize random seed, and window W 2 Calculate center of gravity (the mean ) of W : x W xh(x) 3 Shift the search window to the mean 4 Repeat Step 2 until convergence Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

21 Mean-Shift Segmentation Iterative Mode search Find features (color, gradients, texture, etc) Initialize windows at individual pixel locations Perform mean shift for each window until convergence Merge windows that end up near the same peak or mode Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

22 Expectation Maximization (EM) Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

23 Back to Image Segmentation Goal: identify groups of pixels that go together Up to now, we have focused on ways to group pixels into image segments based on their appearance... Segmentation as clustering. We also want to enforce region constraints. Spatial consistency Smooth borders Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

24 Back to Image Segmentation Goal: identify groups of pixels that go together Up to now, we have focused on ways to group pixels into image segments based on their appearance... Segmentation as clustering. We also want to enforce region constraints. Spatial consistency Smooth borders Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

25 Back to Image Segmentation Goal: identify groups of pixels that go together Up to now, we have focused on ways to group pixels into image segments based on their appearance... Segmentation as clustering. We also want to enforce region constraints. Spatial consistency Smooth borders Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

26 What we will learn today? Graph theoretic segmentation Normalized Cuts Using texture features Segmentation as Energy Minimization Markov Random Fields (MRF) / Conditional Random Fields (CRF) Graph cuts for image segmentation Applications Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

27 What we will learn today? Graph theoretic segmentation Normalized Cuts Using texture features Segmentation as Energy Minimization Markov Random Fields (MRF) / Conditional Random Fields (CRF) Graph cuts for image segmentation Applications Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

28 Images as Graphs Images as Graphs q p w pq w ly connected graph (Fully-Connected) Graph Node (vertex) Node (vertex) for every for every pixel pixel Link between every pair of pixels, (p,q) Affinity weight w pq for each link (edge) Link between (every) pair of pixels, (p,q) Affinity weight w pq for each link (edge) w pq measures similarity w pq measures Inverse similarity proportional to distance (difference in color and position) Similarity is inversely proportional to difference Slide Credit: Steve Seitz (in color and position ) Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

29 Segmentation by Graph Cuts w A B C Break Graph into Segments (cliques) Delete links that cross between segments ak Graph into Segments Delete links Easiest that to break cross links between that low similarity segments (low affinity weight) Similar pixels should be in the same segment Easiest to break links that have low similarity (low weight) Dissimilar pixels should be if different segments Similar pixels should be in the same segments Slide Credit: Steve Seitz Dissimilar pixels should be in different segments Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

30 Measuring Affinity Distance Intensity exp( 1 2σ 2 x y 2 ) exp( 1 2σ 2 I (x) I (y) 2 ) Color exp( 1 dist(c(x), c(y))2 ) 2σ2 }{{} suitable color distance Texture exp( 1 f (x) f (y) 2 ) 2σ2 }{{} Filter output Source: Forsyth & Ponce Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

31 Measuring Affinity Distance Intensity exp( 1 2σ 2 x y 2 ) exp( 1 2σ 2 I (x) I (y) 2 ) Color exp( 1 dist(c(x), c(y))2 ) 2σ2 }{{} suitable color distance Texture exp( 1 f (x) f (y) 2 ) 2σ2 }{{} Filter output Source: Forsyth & Ponce Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

32 Measuring Affinity Distance Intensity exp( 1 2σ 2 x y 2 ) exp( 1 2σ 2 I (x) I (y) 2 ) Color exp( 1 dist(c(x), c(y))2 ) 2σ2 }{{} suitable color distance Texture exp( 1 f (x) f (y) 2 ) 2σ2 }{{} Filter output Source: Forsyth & Ponce Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

33 Measuring Affinity Distance Intensity exp( 1 2σ 2 x y 2 ) exp( 1 2σ 2 I (x) I (y) 2 ) Color exp( 1 dist(c(x), c(y))2 ) 2σ2 }{{} suitable color distance Texture exp( 1 f (x) f (y) 2 ) 2σ2 }{{} Filter output Source: Forsyth & Ponce Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

34 Scale Affects Affinity Small σ: group only nearby points Large σ: group far-away points affinity distance small σ medium σ large σ Slide Credit: Svetlana Lazebnik Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

35 Graph Cut: Using Eigenvalues Affinity matrix W Extract a single good cluster (v n ) vn (i): probability of point i belonging to the cluster Elements have high affinity with each other Constraint vn v n = 1 Prevents v n Constraint objective v n Wv n v n Wv n λ(1 v n v n ) A Reduces to Eigenvalue problem v n W = λv n Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

36 Graph Cut: Using Eigenvalues Affinity matrix W Extract a single good cluster (v n ) vn (i): probability of point i belonging to the cluster Elements have high affinity with each other Constraint vn v n = 1 Prevents v n Constraint objective v n Wv n v n Wv n λ(1 v n v n ) A Reduces to Eigenvalue problem v n W = λv n Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

37 Graph Cut: Using Eigenvalues Affinity matrix W Extract a single good cluster (v n ) vn (i): probability of point i belonging to the cluster Elements have high affinity with each other Constraint vn v n = 1 Prevents v n Constraint objective v n Wv n v n Wv n λ(1 v n v n ) A Reduces to Eigenvalue problem v n W = λv n Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

38 Graph Cut: Using Eigenvalues Affinity matrix W Extract a single good cluster (v n ) vn (i): probability of point i belonging to the cluster Elements have high affinity with each other Constraint vn v n = 1 Prevents v n Constraint objective v n Wv n v n Wv n λ(1 v n v n ) A Reduces to Eigenvalue problem v n W = λv n Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

39 Graph Cut: Using Eigenvalues Affinity matrix W Extract a single good cluster (v n ) vn (i): probability of point i belonging to the cluster Elements have high affinity with each other Constraint vn v n = 1 Prevents v n Constraint objective v n Wv n v n Wv n λ(1 v n v n ) A Reduces to Eigenvalue problem v n W = λv n Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

40 Graph Cut: Using Eigenvalues Affinity matrix W Extract a single good cluster (v n ) vn (i): probability of point i belonging to the cluster Elements have high affinity with each other Constraint vn v n = 1 Prevents v n Constraint objective v n Wv n v n Wv n λ(1 v n v n ) A Reduces to Eigenvalue problem v n W = λv n Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

41 Graph Cut: Using Eigenvalues Affinity matrix W Extract a single good cluster (v n ) vn (i): probability of point i belonging to the cluster Elements have high affinity with each other Constraint vn v n = 1 Prevents v n Constraint objective v n Wv n v n Wv n λ(1 v n v n ) A Reduces to Eigenvalue problem v n W = λv n Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

42 Graph Cut: Using Eigenvalues Affinity matrix W Extract a single good cluster (v n ) vn (i): probability of point i belonging to the cluster Elements have high affinity with each other Constraint vn v n = 1 Prevents v n Constraint objective v n Wv n v n Wv n λ(1 v n v n ) A Reduces to Eigenvalue problem v n W = λv n Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

43 Graph Cut: Using Eigenvalues largest eigenvalues Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

44 Clustering by Graph Eigenvectors 1 Construct an affinity matrix 2 Compute the eigenvalues and eigenvectors of the affinity matrix 3 Until there are sufficient clusters Take the eigenvector corresponding to the largest unprocessed eigenvalue zero all components corresponding to elements that have already been clustered threshold the remaining components to determine which element belongs to this cluster, choose a threshold by clustering the components, or using a threshold fixed in advance. If all elements have been accounted for, there are sufficient clusters: end Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

45 Clustering by Graph Eigenvectors 1 Construct an affinity matrix 2 Compute the eigenvalues and eigenvectors of the affinity matrix 3 Until there are sufficient clusters Take the eigenvector corresponding to the largest unprocessed eigenvalue zero all components corresponding to elements that have already been clustered threshold the remaining components to determine which element belongs to this cluster, choose a threshold by clustering the components, or using a threshold fixed in advance. If all elements have been accounted for, there are sufficient clusters: end Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

46 Clustering by Graph Eigenvectors 1 Construct an affinity matrix 2 Compute the eigenvalues and eigenvectors of the affinity matrix 3 Until there are sufficient clusters Take the eigenvector corresponding to the largest unprocessed eigenvalue zero all components corresponding to elements that have already been clustered threshold the remaining components to determine which element belongs to this cluster, choose a threshold by clustering the components, or using a threshold fixed in advance. If all elements have been accounted for, there are sufficient clusters: end Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

47 Clustering by Graph Eigenvectors 1 Construct an affinity matrix 2 Compute the eigenvalues and eigenvectors of the affinity matrix 3 Until there are sufficient clusters Take the eigenvector corresponding to the largest unprocessed eigenvalue zero all components corresponding to elements that have already been clustered threshold the remaining components to determine which element belongs to this cluster, choose a threshold by clustering the components, or using a threshold fixed in advance. If all elements have been accounted for, there are sufficient clusters: end Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

48 Clustering by Graph Eigenvectors 1 Construct an affinity matrix 2 Compute the eigenvalues and eigenvectors of the affinity matrix 3 Until there are sufficient clusters Take the eigenvector corresponding to the largest unprocessed eigenvalue zero all components corresponding to elements that have already been clustered threshold the remaining components to determine which element belongs to this cluster, choose a threshold by clustering the components, or using a threshold fixed in advance. If all elements have been accounted for, there are sufficient clusters: end Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

49 Clustering by Graph Eigenvectors 1 Construct an affinity matrix 2 Compute the eigenvalues and eigenvectors of the affinity matrix 3 Until there are sufficient clusters Take the eigenvector corresponding to the largest unprocessed eigenvalue zero all components corresponding to elements that have already been clustered threshold the remaining components to determine which element belongs to this cluster, choose a threshold by clustering the components, or using a threshold fixed in advance. If all elements have been accounted for, there are sufficient clusters: end Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

50 Clustering by Graph Eigenvectors 1 Construct an affinity matrix 2 Compute the eigenvalues and eigenvectors of the affinity matrix 3 Until there are sufficient clusters Take the eigenvector corresponding to the largest unprocessed eigenvalue zero all components corresponding to elements that have already been clustered threshold the remaining components to determine which element belongs to this cluster, choose a threshold by clustering the components, or using a threshold fixed in advance. If all elements have been accounted for, there are sufficient clusters: end Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

51 Clustering by Graph Eigenvectors 1 Construct an affinity matrix 2 Compute the eigenvalues and eigenvectors of the affinity matrix 3 Until there are sufficient clusters Take the eigenvector corresponding to the largest unprocessed eigenvalue zero all components corresponding to elements that have already been clustered threshold the remaining components to determine which element belongs to this cluster, choose a threshold by clustering the components, or using a threshold fixed in advance. If all elements have been accounted for, there are sufficient clusters: end Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

52 Graph Cut: Using Eigenvalues Effects of the scaling small σ medium σ large σ Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

53 Graph Cut Graph Cut A B Set Find of set edges of edges whose removal makes makes graph disconnected a graph disconnected Cost of a cut Cost of Sum a of cut weights of cut edges: cut(a, B) = p A,q B w pq Graph cut gives us a segmentation Sum of weights of cut edges: cut( A, B) = Slide Credit: Steve Seitz A graph cut gives us a segmentation What is a good graph cut and how do we find one? What is a good graph cut and how do we find one? w p, q p A, q B Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

54 Graph Cut Graph Cut Here, the cut is nicely defined by the block-diagonal structure of the affinity matrix. How can this be generalized? Image Source: Forsyth & Ponce Image Source: Forsyth & Ponce Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

55 Minimum Cut Minimum Cut We can do segmentation by finding the minimum cut in a graph We can do segmentation by finding the minimum cut in a graph a minimum cut of a graph is a cut whose cutset has the smallest number a minimum cut of a graph is a cut whose cutset has the smallest of elements (unweighted case) or smallest sum of weights possible. affinity. Efficient Efficient algorithms algorithms exist exist for for doing doing this this (max-flow) Drawback: Weight Weight of of cut cut proportional proportional to to number number of of edges edges in in the the cut cut Minimum cut tends to cut off very small, isolated components Minimum cut tends to cut off very small, isolated components Fei-Fei Li Ideal Cut Slide Credit: Khurram Hassan-Shafique Lecture 8-24 Cuts with lesser weight than the ideal cut 19 Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

56 Normalized Cut (NCut) A minimum cut penalizes large segments This can be fixed by normalizing for size of segments The normalized cut cost is: cut(a, B) Ncut(A, B) = assoc(a, V ) [ = cut(a, B) + cut(a, B) assoc(b, V ) 1 p A,q w p,q ] 1 + q B,p w p,q assoc(a, V ) = sum of weights of all edges in V that touch A The exact solution is NP-hard but an approximation can be computed by solving a generalized eigenvalue problem. J. Shi and J. Malik. Normalized cuts and image segmentation. PAMI 2000 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

57 Interpretation as a Dynamical System Interpretation as a Dynamical System Treat the links as springs and shake the system Treat Elasticity the linksproportional as springs to and cost shake the system Vibration modes correspond to segments Elasticity proportional to cost Vibration modes correspond to segments Can compute these by solving a generalized eigenvector problem Can compute these by solving a generalized eigenvector problem Fei-Fei Li Lecture Apr 11 Slide Credit: Steve Seitz Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63 Slide credit: Steve Seitz

58 NCuts as a Generalized Eigenvalue Problem NCuts as a Generalized Eigenvector Problem Definitions W : the affinity matrix D: diagonal matrix, Dii = j W ij Wx: : athe vector affinity { 1, matrix, 1} N, W( i, j) = w ; Definitions Rewriting D : the the diag. Normalized matrix, Cut Dii (, in) = matrix Wform ( i, j); N x: a vector in cut(a, {1, 1} B), x( i) = 1 cut(a, i B) A. Ncut(A, B) = + assoc(a, V ) assoc(b, V ) =... Rewriting Normalized Cut in matrix form: Slide credit: Jitendra Malik Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63 cut(a,b) cut(a,b) NCut(A,B) = + assoc(a,v) assoc(b,v) Slide Credit: Jitentra Malik j i, j T T (1 + x) ( D W)(1 + x) (1 x) ( D W)(1 x) Dii (,) x 0 ; i > = + k = T T k1 D1 (1 k)1 D1 D( i, i) =... i

59 Some more math... Some More Math Slide credit: Jitendra Malik Fei-Fei Li Lecture Apr 11 Slide Credit: Jitentra Malik Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

60 NCuts as a Generalized Eigenvalue Problem After simplifications, we get Ncut(A, B) = y (D W )y y Dy with y i { 1, b} and y D1 = 0 This is the Rayleigh Quotient Solution given by the generalized eigenvalue problem (D W )y = λdy Subtleties Optimal solution is second smallest eigenvector Gives continuous result must convert into discrete values of y Hard as a discrete problem Continuous approximation Slide Credit: Jitentra Malik Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

61 NCuts as a Generalized Eigenvalue Problem After simplifications, we get Ncut(A, B) = y (D W )y y Dy with y i { 1, b} and y D1 = 0 This is the Rayleigh Quotient Solution given by the generalized eigenvalue problem (D W )y = λdy Subtleties Optimal solution is second smallest eigenvector Gives continuous result must convert into discrete values of y Hard as a discrete problem Continuous approximation Slide Credit: Jitentra Malik Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

62 NCuts as a Generalized Eigenvalue Problem After simplifications, we get Ncut(A, B) = y (D W )y y Dy with y i { 1, b} and y D1 = 0 This is the Rayleigh Quotient Solution given by the generalized eigenvalue problem (D W )y = λdy Subtleties Optimal solution is second smallest eigenvector Gives continuous result must convert into discrete values of y Hard as a discrete problem Continuous approximation Slide Credit: Jitentra Malik Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

63 NCuts Example NCuts Example Smallest eigenvectors NCuts segments Image source: Shi & Malik Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

64 NCuts Example Discretization Problem: Problem: eigenvectors eigenvectors take ontake continuous continuous values values How to choose the splitting point to binarize the image? How to choose the splitting point to binarize the image? Image Eigenvector NCut scores Possible Possible procedures procedures a) Pick a constant value (0, or 0.5). Pick a constant value (0, or 0.5). b) Pick the median value as splitting point. Pick the median value as splitting point. c) Look for the splitting point that has the minimum NCut value: Look for the splitting point that has the minimum NCut value: 1. Choose n possible splitting points. 1 2 Choose 2. Compute n possible NCut splitting value. points. Compute 3. Pick NCut minimum. value. 3 Pick minimum. Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

65 NCuts: Overall Procedure 1 Construct a weighted graph G = (V, E) from an image. 2 Connect each pair of pixels, and assign graph edge weights W ij = Prob. that i and j belong to the same region. 3 Solve (D W )y = λdy for the smallest few eigenvectors. This yields a continuous solution. 4 Threshold eigenvectors to get a discrete cut This is where the approximation is made (we re not solving NP). 5 Recursively subdivide if NCut value is below a pre-specified value. NCuts Matlab code available at Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

66 NCuts: Overall Procedure 1 Construct a weighted graph G = (V, E) from an image. 2 Connect each pair of pixels, and assign graph edge weights W ij = Prob. that i and j belong to the same region. 3 Solve (D W )y = λdy for the smallest few eigenvectors. This yields a continuous solution. 4 Threshold eigenvectors to get a discrete cut This is where the approximation is made (we re not solving NP). 5 Recursively subdivide if NCut value is below a pre-specified value. NCuts Matlab code available at Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

67 NCuts: Overall Procedure 1 Construct a weighted graph G = (V, E) from an image. 2 Connect each pair of pixels, and assign graph edge weights W ij = Prob. that i and j belong to the same region. 3 Solve (D W )y = λdy for the smallest few eigenvectors. This yields a continuous solution. 4 Threshold eigenvectors to get a discrete cut This is where the approximation is made (we re not solving NP). 5 Recursively subdivide if NCut value is below a pre-specified value. NCuts Matlab code available at Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

68 NCuts: Overall Procedure 1 Construct a weighted graph G = (V, E) from an image. 2 Connect each pair of pixels, and assign graph edge weights W ij = Prob. that i and j belong to the same region. 3 Solve (D W )y = λdy for the smallest few eigenvectors. This yields a continuous solution. 4 Threshold eigenvectors to get a discrete cut This is where the approximation is made (we re not solving NP). 5 Recursively subdivide if NCut value is below a pre-specified value. NCuts Matlab code available at Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

69 NCuts: Overall Procedure 1 Construct a weighted graph G = (V, E) from an image. 2 Connect each pair of pixels, and assign graph edge weights W ij = Prob. that i and j belong to the same region. 3 Solve (D W )y = λdy for the smallest few eigenvectors. This yields a continuous solution. 4 Threshold eigenvectors to get a discrete cut This is where the approximation is made (we re not solving NP). 5 Recursively subdivide if NCut value is below a pre-specified value. NCuts Matlab code available at Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

70 NCuts: Overall Procedure 1 Construct a weighted graph G = (V, E) from an image. 2 Connect each pair of pixels, and assign graph edge weights W ij = Prob. that i and j belong to the same region. 3 Solve (D W )y = λdy for the smallest few eigenvectors. This yields a continuous solution. 4 Threshold eigenvectors to get a discrete cut This is where the approximation is made (we re not solving NP). 5 Recursively subdivide if NCut value is below a pre-specified value. NCuts Matlab code available at Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

71 NCuts Results Color Image Segmentation with NCuts Image Source: Shi & Malik Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

72 Using Texture Features for Segmentation Using Texture Features for Segmentation Texture descriptor is vector of filter bank outputs Texture descriptor is vector of filter bank outputs J. J. Malik, S. Belongie, T. T. Leung and and J. Shi. J. Shi. "Contour and Texture Analysis for Image Segmentation". Contour IJCV 43(1),7 27,2001. and Texture Analysis for Image Segmentation. IJCV 43(1),7-27,2001 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

73 Using Texture Features for Segmentation Using Texture Features for Segmentation Texture descriptor is vector of filter bank outputs. Texture descriptor is vector of filter bank Textons outputs. are found by Textons clustering. are found by clustering. Bag of words Slide credit: Svetlana Lazebnik Slide Credit: Svetlana Lazebnik Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

74 Using Texture Features for Segmentation Texture descriptor is vector of filter bank outputs. Textons are found by Texture clustering. descriptor is vector of filter bank Affinities outputs. are given by Textons similarities are found by of clustering. texton Bag histograms of words over Affinities windows are given given by similarities by the of texton local histograms scale over of windows the texture. given by the local scale of the texture. Slide credit: Svetlana Lazebnik Fei-Fei Li Lecture Apr 11 Slide Credit: Svetlana Lazebnik Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

75 Results with Color and Texture Results with Color & Texture Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

76 ory Summary: complexity Normalized can Cuts be high connected graphs many affinity computations value problem for each cut Pros: Generic framework, flexible to choice of function that computes weights ( affinities ) between nodes Does not require any model of the data distribution Cons: Time and memory complexity can be high Dense, highly connected graphs many affinity computations Solving eigenvalue problem for each cut Preference for balanced partitions If a region is uniform, NCuts will find the modes of vibration of the image dimensions balanced partitions niform, NCuts will find the ation of the image dimensions Lecture Apr Slide Credit: Kristen Grauman Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

77 What we will learn today? Graph theoretic segmentation Normalized Cuts Using texture features Segmentation as Energy Minimization Markov Random Fields (MRF) / Conditional Random Fields (CRF) Graph cuts for image segmentation Applications Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

78 What we will learn today? Graph theoretic segmentation Normalized Cuts Using texture features Segmentation as Energy Minimization Markov Random Fields (MRF) / Conditional Random Fields (CRF) Graph cuts for image segmentation Applications Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

79 Markov Random Fields Markov Random Fields Allow rich probabilistic models for images Allow rich probabilistic models for images But But built built in a local, in a modular local, modular way way Learn/model local effects, get global effects out Learn local effects, get global effects out Observed evidence Hidden true states Neighborhood relations Slide credit: William Freeman Fei-Fei Li Slide Credit: William Freeman Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

80 MRF Nodes as Pixels MRF Nodes as Pixels Original image Degraded image Reconstruction from MRF modeling pixel neighborhood statistics Slide credit: Bastian Leibe Fei-Fei Li Lecture Apr 11 Slide Credit: Bastian Leibe Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

81 MRF Nodes as Patches MRF Nodes as Patches Image patches Φ( x, y ) i i Ψ( x, x ) i j Scene patches Image Scene Slide credit: William Freeman Fei-Fei Li Lecture Apr 11 Slide Credit: William Freeman Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

82 Network Joint Probability Network Joint Probability P( xy, ) = Φ( x, y) Ψ( x, x) i i i i j i, j Scene Image Image-scene compatibility function Local observations Scene-scene compatibility function Neighboring scene nodes Slide credit: William Freeman Fei-Fei Li Lecture Apr 11 Slide Credit: William Freeman Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

83 Energy Formulation Joint probability P(x, y) = 1 Z Φ(x i, y i ) i ij Ψ(x i, x j ) Taking the log turns this into an Energy optimization E(x, y) = i ϕ(x i, y i ) + ij ψ(x i, x j ) This is similar to free-energy problems in statistical mechanics (spin glass theory). We therefore draw the analogy and call E an energy function. ϕ and ψ are called potentials. Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

84 Energy Formulation Energy function E(x, y) = i ϕ(x i, y i ) }{{} unary term + ij ψ(x i, x j ) }{{} pairwise term Energy Formulation Unary potential ϕ Encode local Energy information function about the given pixel/patch How likely is a pixel/patch to belong to a certain class Exy (, ) = (e.g. foreground/background)? ϕ( xi, yi) + ψ( xi, xj) i i, j Pairwise potential ψ Single-node Pairwise potentials potentials Encode neighborhood information How different Single node is a pixel/patch s potentials ϕ label from that of its neighbor? (e.g. Encode based local oninformation intensity/color/texture about the given pixel/patch How likely is a pixel/patch to belong to a certain class difference, edges) (e.g. foreground/background)? ϕ( x, y ) Pairwise potentials ψ Encode neighborhood information Slide Credit: Bastian Leibe How different is a pixel/patch s label from that of its neighbor? (e.g. based on intensity/color/texture difference, edges) Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63 i i ψ ( x, x ) i j e credit: Bastian Leibe

85 Segmentation using MRFs/CRFs Boykov and Jolly (2001) X X E (x, y ) = ϕ(xi, yi ) + ψ(xi, xj ) i Variables I xi : Binary variable I yi : Annotation F F ij foreground/background foreground/background/empty Unary term I I ϕ(xi, yi ) = K [xi 6= yi ] Pay a penalty for disregarding the annotation Pairwise term I I I ψ(xi, xj ) = [xi 6= xj ]wij Encourage smooth annotations wij affinity between pixels i and j Philipp Kra henbu hl (Stanford University) Segmentation April 24, / 63

86 Efficient solutions Grid structured random fields I I I Efficient solution using Maxflow/Mincut Optimal solution for binary labeling Boykov & Kolmogorov, An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision, PAMI 26(9): (2004) Fully connected models I I Efficient solution using convolution mean-field Kra henbu hl and Koltun, Efficient Inference in Fully-Connected CRFs with Gaussian edge potentials, NIPS 2011 Philipp Kra henbu hl (Stanford University) Segmentation April 24, / 63

87 GrabCut: Interactive Foreground Extraction GrabCut: Interactive Foreground Extraction Slides credit: Carsten Rother Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

88 What GrabCut Does What GrabCut Does Magic Wand (Adobe, 2002) Intelligent Scissors Mortensen and Barrett (1995) GrabCut User Input Result Regions Boundary Regions & Boundary Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

89 GrabCut Energy function E(x, k, θ I) = i ϕ(x i, k i, θ z i ) + ij ψ(x i, x j z i, z j ) Variables x i {0, 1}: Foreground/background label ki {0,..., K}: Gaussian mixture component θ: Model parameters (GMM parameters) I = {z1,..., z N }: RGB Image Unary term ϕ(x i, k i, θ z i ) Gaussian mixture model (log of a GMM) Pairwise term ψ(x i, x j z i, z j ) = [x i x j ] exp( β z i z j 2 ) Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

90 GrabCut Philipp Kra henbu hl (Stanford University) Segmentation April 24, / 63

91 GrabCut Philipp Kra henbu hl (Stanford University) Segmentation April 24, / 63

92 GrabCut - Unary term Gaussian Mixture Model P(z i x i, θ) = π(x i, k)p(z k k, θ) Hard to optimize ( k k ) Tractable solution Assign each variable x i a single mixture component k i P(z i x i, k i, θ) = π(x i, k i )p(z k k i, θ) Optimize over ki Unary term ϕ(x i, k i, θ z i ) = log π(x i, k i ) log p(z k k i, θ) = log π(x i, k i ) log Σ(k i) (z i µ(k i )) Σ(k i ) 1 (z i µ(k i )) Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

93 GrabCut - Unary term Unary term ϕ(x i, k i, θ z i ) = log π(x i, k i ) log Σ(k i) Model parameters (z i µ(k i )) Σ(k i ) 1 (z i µ(k i )) θ = { π(x i, k i ), µ(k }{{} i ), Σ(k i ) } }{{} mixture weight mean and variance Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

94 GrabCut - Iterative optimization 1 Initialize Mixture Models 2 Assign GMM components k i = arg min ϕ(x i, k i, θ z i ) k 3 Learn GMM parameters θ = arg min ϕ(x i, k i, θ z i ) i? 4 Estimate segmentation using mincut x = arg min E(x, k, θ I) 5 Repeat from 2 until convergence GrabCut I? θ, k Initiali Foregrou Backgrou GrabCut Iterativ Initialization Gaussian Mixture Model for Colour Background Distributions Ba θ, k = argmin U ( α, Foreground Update & k: GMM c Background Update θ: Gaussia E( α, k, θ, z) = U( α, k, θ, z) + V θ, k = argmin U ( α, k, θ, z) Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

95 GrabCut - Iterative optimization 1 Initialize Mixture Models 2 Assign GMM components k i = arg min k ϕ(x i, k i, θ z i ) 3 Learn GMM parameters Foreground θ = arg min i ϕ(x i, k i, θ z i ) 4 Estimate segmentation using mincut Background x = arg min E(x, k, θ I) 5 Repeat from 2 until convergence Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

96 GrabCut - Iterative optimization Cut Iterative Optimiza 1 Initialize Mixture Models 2 Assign GMM components Initialization k i = arg min ϕ(x i, k i, θ z i ) k 3 Learn GMM Foreground parameters & Background θ = arg min ϕ(x i, k i, θ z i ) i Foreground 4 Estimate segmentation using mincut Background x = arg min E(x, k, θ I) α = argmin E( α, k, θ, z) 5 Repeat from 2 until convergence α Background Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

97 GrabCut - Iterative optimization 1 Initialize Mixture Models 2 Assign GMM components t Iterative Optimization k i = arg min ϕ(x i, k i, θ z i ) k Initialization 3 Learn GMM parameters Foreground & θ = arg min Background ϕ(x i, k i, θ z i ) i, k 4 Estimate segmentation using mincut Background in U ( α, k, θ, z) x = arg min E(x, k, θ I) 5 Repeat from 2 until convergence : GMM component assignment; Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

98 GrabCut - Iterative optimization 1 Initialize Mixture Models 2 Assign GMM components k i = arg min k ϕ(x i, k i, θ z i ) 3 Learn GMM parameters θ = arg min i ϕ(x i, k i, θ z i ) 4 Estimate segmentation using mincut x = arg min E(x, k, θ I) 5 Repeat from 2 until convergence Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

99 GrabCut - Iterative optimization GrabCut Iterative Optimization Result Energy after each Iteration Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

100 GrabCut - Further editing Further Editing Automatic Segmentation Automatic Segmentation Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

101 GrabCut - More results More Results GrabCut completes automatically Fei-Fei Li Lecture Apr 11 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

102 GrabCut - Live demo Included in MS Office 2010 Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

103 Improving Efficiency of Segmentation Problem: Images contain many pixels Even with efficient graph cuts, an MRF formulation has too many nodes for interactive results. Efficiency trick: Superpixels Group together similar-looking pixels for efficiency of further processing. Cheap, local oversegmentation Important to ensure that superpixels do not cross boundaries Several different approaches possible Superpixel code available here http: // Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

104 Improving Efficiency of Segmentation Problem: Images contain many pixels Even with efficient graph cuts, an MRF formulation has too many nodes for interactive results. Efficiency trick: Superpixels Group together similar-looking pixels for efficiency of further processing. Cheap, local oversegmentation Important to ensure that superpixels do not cross boundaries Several different approaches possible Superpixel code available here http: // Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

105 Improving Efficiency of Segmentation Problem: Images contain many pixels Even with efficient graph cuts, an MRF formulation has too many nodes for interactive results. Efficiency trick: Superpixels Group together similar-looking pixels for efficiency of further processing. Cheap, local oversegmentation Important to ensure that superpixels do not cross boundaries Several different approaches possible Superpixel code available here http: // Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

106 Improving Efficiency of Segmentation Problem: Images contain many pixels Even with efficient graph cuts, an MRF formulation has too many nodes for interactive results. Efficiency trick: Superpixels Group together similar-looking pixels for efficiency of further processing. Cheap, local oversegmentation Important to ensure that superpixels do not cross boundaries Several different approaches possible Superpixel code available here http: // Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

107 Improving Efficiency of Segmentation Problem: Images contain many pixels Even with efficient graph cuts, an MRF formulation has too many nodes for interactive results. Efficiency trick: Superpixels Group together similar-looking pixels for efficiency of further processing. Cheap, local oversegmentation Important to ensure that superpixels do not cross boundaries Several different approaches possible Superpixel code available here http: // Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

108 Improving Efficiency of Segmentation Problem: Images contain many pixels Even with efficient graph cuts, an MRF formulation has too many nodes for interactive results. Efficiency trick: Superpixels Group together similar-looking pixels for efficiency of further processing. Cheap, local oversegmentation Important to ensure that superpixels do not cross boundaries Several different approaches possible Superpixel code available here http: // Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

109 Improving Efficiency of Segmentation Problem: Images contain many pixels Even with efficient graph cuts, an MRF formulation has too many nodes for interactive results. Efficiency trick: Superpixels Group together similar-looking pixels for efficiency of further processing. Cheap, local oversegmentation Important to ensure that superpixels do not cross boundaries Several different approaches possible Superpixel code available here http: // Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

110 Improving Efficiency of Segmentation Problem: Images contain many pixels Even with efficient graph cuts, an MRF formulation has too many nodes for interactive results. Efficiency trick: Superpixels Group together similar-looking pixels for efficiency of further processing. Cheap, local oversegmentation Important to ensure that superpixels do not cross boundaries Several different approaches possible Superpixel code available here http: // Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

111 Improving Efficiency of Segmentation Problem: Images contain many pixels Even with efficient graph cuts, an MRF formulation has too many nodes for interactive results. Efficiency trick: Superpixels Group together similar-looking pixels for efficiency of further processing. Cheap, local oversegmentation Important to ensure that superpixels do not cross boundaries Several different approaches possible Superpixel code available here http: // Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

112 Summary: Graph Cuts Segmentation Pros Powerful technique, based on probabilistic model (MRF). Applicable for a wide range of problems. Very efficient algorithms available for vision problems. Becoming a de-facto standard for many segmentation tasks. Cons/Issues Graph cuts can only solve a limited class of models Submodular energy functions Can capture only part of the expressiveness of MRFs Only approximate algorithms available for multi-label case Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

113 Summary: Graph Cuts Segmentation Pros Powerful technique, based on probabilistic model (MRF). Applicable for a wide range of problems. Very efficient algorithms available for vision problems. Becoming a de-facto standard for many segmentation tasks. Cons/Issues Graph cuts can only solve a limited class of models Submodular energy functions Can capture only part of the expressiveness of MRFs Only approximate algorithms available for multi-label case Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

114 Summary: Graph Cuts Segmentation Pros Powerful technique, based on probabilistic model (MRF). Applicable for a wide range of problems. Very efficient algorithms available for vision problems. Becoming a de-facto standard for many segmentation tasks. Cons/Issues Graph cuts can only solve a limited class of models Submodular energy functions Can capture only part of the expressiveness of MRFs Only approximate algorithms available for multi-label case Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

115 Summary: Graph Cuts Segmentation Pros Powerful technique, based on probabilistic model (MRF). Applicable for a wide range of problems. Very efficient algorithms available for vision problems. Becoming a de-facto standard for many segmentation tasks. Cons/Issues Graph cuts can only solve a limited class of models Submodular energy functions Can capture only part of the expressiveness of MRFs Only approximate algorithms available for multi-label case Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

116 Summary: Graph Cuts Segmentation Pros Powerful technique, based on probabilistic model (MRF). Applicable for a wide range of problems. Very efficient algorithms available for vision problems. Becoming a de-facto standard for many segmentation tasks. Cons/Issues Graph cuts can only solve a limited class of models Submodular energy functions Can capture only part of the expressiveness of MRFs Only approximate algorithms available for multi-label case Philipp Krähenbühl (Stanford University) Segmentation April 24, / 63

Image Segmentation. Marc Pollefeys. ETH Zurich. Slide credits: V. Ferrari, K. Grauman, B. Leibe, S. Lazebnik, S. Seitz,Y Boykov, W. Freeman, P.

Image Segmentation. Marc Pollefeys. ETH Zurich. Slide credits: V. Ferrari, K. Grauman, B. Leibe, S. Lazebnik, S. Seitz,Y Boykov, W. Freeman, P. Image Segmentation Perceptual and Sensory Augmented Computing Computer Vision WS 0/09 Marc Pollefeys ETH Zurich Slide credits: V. Ferrari, K. Grauman, B. Leibe, S. Lazebnik, S. Seitz,Y Boykov, W. Freeman,

More information

The goals of segmentation

The goals of segmentation Image segmentation The goals of segmentation Group together similar-looking pixels for efficiency of further processing Bottom-up process Unsupervised superpixels X. Ren and J. Malik. Learning a classification

More information

Image Segmentation. Luc Van Gool, ETH Zurich. Vittorio Ferrari, Un. of Edinburgh. With important contributions by

Image Segmentation. Luc Van Gool, ETH Zurich. Vittorio Ferrari, Un. of Edinburgh. With important contributions by Image Segmentation Perceptual and Sensory Augmented Computing Computer Vision WS 0/09 Luc Van Gool, ETH Zurich With important contributions by Vittorio Ferrari, Un. of Edinburgh Slide credits: K. Grauman,

More information

Lecture: k-means & mean-shift clustering

Lecture: k-means & mean-shift clustering Lecture: k-means & mean-shift clustering Juan Carlos Niebles and Ranjay Krishna Stanford Vision and Learning Lab 1 Recap: Image Segmentation Goal: identify groups of pixels that go together 2 Recap: Gestalt

More information

Announcements. Image Segmentation. From images to objects. Extracting objects. Status reports next Thursday ~5min presentations in class

Announcements. Image Segmentation. From images to objects. Extracting objects. Status reports next Thursday ~5min presentations in class Image Segmentation Announcements Status reports next Thursday ~5min presentations in class Project voting From Sandlot Science Today s Readings Forsyth & Ponce, Chapter 1 (plus lots of optional references

More information

Lecture: k-means & mean-shift clustering

Lecture: k-means & mean-shift clustering Lecture: k-means & mean-shift clustering Juan Carlos Niebles and Ranjay Krishna Stanford Vision and Learning Lab Lecture 11-1 Recap: Image Segmentation Goal: identify groups of pixels that go together

More information

Segmentation and Grouping

Segmentation and Grouping CS 1699: Intro to Computer Vision Segmentation and Grouping Prof. Adriana Kovashka University of Pittsburgh September 24, 2015 Goals: Grouping in vision Gather features that belong together Obtain an intermediate

More information

Segmentation and Grouping April 19 th, 2018

Segmentation and Grouping April 19 th, 2018 Segmentation and Grouping April 19 th, 2018 Yong Jae Lee UC Davis Features and filters Transforming and describing images; textures, edges 2 Grouping and fitting [fig from Shi et al] Clustering, segmentation,

More information

Outline. Segmentation & Grouping. Examples of grouping in vision. Grouping in vision. Grouping in vision 2/9/2011. CS 376 Lecture 7 Segmentation 1

Outline. Segmentation & Grouping. Examples of grouping in vision. Grouping in vision. Grouping in vision 2/9/2011. CS 376 Lecture 7 Segmentation 1 Outline What are grouping problems in vision? Segmentation & Grouping Wed, Feb 9 Prof. UT-Austin Inspiration from human perception Gestalt properties Bottom-up segmentation via clustering Algorithms: Mode

More information

Segmentation (continued)

Segmentation (continued) Segmentation (continued) Lecture 05 Computer Vision Material Citations Dr George Stockman Professor Emeritus, Michigan State University Dr Mubarak Shah Professor, University of Central Florida The Robotics

More information

From Pixels to Blobs

From Pixels to Blobs From Pixels to Blobs 15-463: Rendering and Image Processing Alexei Efros Today Blobs Need for blobs Extracting blobs Image Segmentation Working with binary images Mathematical Morphology Blob properties

More information

Lecture 7: Segmentation. Thursday, Sept 20

Lecture 7: Segmentation. Thursday, Sept 20 Lecture 7: Segmentation Thursday, Sept 20 Outline Why segmentation? Gestalt properties, fun illusions and/or revealing examples Clustering Hierarchical K-means Mean Shift Graph-theoretic Normalized cuts

More information

MRFs and Segmentation with Graph Cuts

MRFs and Segmentation with Graph Cuts 02/24/10 MRFs and Segmentation with Graph Cuts Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Today s class Finish up EM MRFs w ij i Segmentation with Graph Cuts j EM Algorithm: Recap

More information

Segmentation. Bottom Up Segmentation

Segmentation. Bottom Up Segmentation Segmentation Bottom up Segmentation Semantic Segmentation Bottom Up Segmentation 1 Segmentation as clustering Depending on what we choose as the feature space, we can group pixels in different ways. Grouping

More information

Normalized cuts and image segmentation

Normalized cuts and image segmentation Normalized cuts and image segmentation Department of EE University of Washington Yeping Su Xiaodan Song Normalized Cuts and Image Segmentation, IEEE Trans. PAMI, August 2000 5/20/2003 1 Outline 1. Image

More information

CS 534: Computer Vision Segmentation II Graph Cuts and Image Segmentation

CS 534: Computer Vision Segmentation II Graph Cuts and Image Segmentation CS 534: Computer Vision Segmentation II Graph Cuts and Image Segmentation Spring 2005 Ahmed Elgammal Dept of Computer Science CS 534 Segmentation II - 1 Outlines What is Graph cuts Graph-based clustering

More information

Targil 12 : Image Segmentation. Image segmentation. Why do we need it? Image segmentation

Targil 12 : Image Segmentation. Image segmentation. Why do we need it? Image segmentation Targil : Image Segmentation Image segmentation Many slides from Steve Seitz Segment region of the image which: elongs to a single object. Looks uniform (gray levels, color ) Have the same attributes (texture

More information

Segmentation and low-level grouping.

Segmentation and low-level grouping. Segmentation and low-level grouping. Bill Freeman, MIT 6.869 April 14, 2005 Readings: Mean shift paper and background segmentation paper. Mean shift IEEE PAMI paper by Comanici and Meer, http://www.caip.rutgers.edu/~comanici/papers/msrobustapproach.pdf

More information

Grouping and Segmentation

Grouping and Segmentation Grouping and Segmentation CS 554 Computer Vision Pinar Duygulu Bilkent University (Source:Kristen Grauman ) Goals: Grouping in vision Gather features that belong together Obtain an intermediate representation

More information

Segmentation & Grouping Kristen Grauman UT Austin. Announcements

Segmentation & Grouping Kristen Grauman UT Austin. Announcements Segmentation & Grouping Kristen Grauman UT Austin Tues Feb 7 A0 on Canvas Announcements No office hours today TA office hours this week as usual Guest lecture Thursday by Suyog Jain Interactive segmentation

More information

Segmentation and Grouping April 21 st, 2015

Segmentation and Grouping April 21 st, 2015 Segmentation and Grouping April 21 st, 2015 Yong Jae Lee UC Davis Announcements PS0 grades are up on SmartSite Please put name on answer sheet 2 Features and filters Transforming and describing images;

More information

CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu. Lectures 21 & 22 Segmentation and clustering

CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu. Lectures 21 & 22 Segmentation and clustering CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu Lectures 21 & 22 Segmentation and clustering 1 Schedule Last class We started on segmentation Today Segmentation continued Readings

More information

CS 534: Computer Vision Segmentation and Perceptual Grouping

CS 534: Computer Vision Segmentation and Perceptual Grouping CS 534: Computer Vision Segmentation and Perceptual Grouping Ahmed Elgammal Dept of Computer Science CS 534 Segmentation - 1 Outlines Mid-level vision What is segmentation Perceptual Grouping Segmentation

More information

Lecture 16 Segmentation and Scene understanding

Lecture 16 Segmentation and Scene understanding Lecture 16 Segmentation and Scene understanding Introduction! Mean-shift! Graph-based segmentation! Top-down segmentation! Silvio Savarese Lecture 15 -! 3-Mar-14 Segmentation Silvio Savarese Lecture 15

More information

Computer Vision Lecture 6

Computer Vision Lecture 6 Computer Vision Lecture 6 Segmentation 12.11.2015 Bastian Leibe RWTH Aachen http://www.vision.rwth-aachen.de leibe@vision.rwth-aachen.de Course Outline Image Processing Basics Structure Extraction Segmentation

More information

Lecture 13: k-means and mean-shift clustering

Lecture 13: k-means and mean-shift clustering Lecture 13: k-means and mean-shift clustering Juan Carlos Niebles Stanford AI Lab Professor Stanford Vision Lab Lecture 13-1 Recap: Image Segmentation Goal: identify groups of pixels that go together Lecture

More information

Image Segmentation. Selim Aksoy. Bilkent University

Image Segmentation. Selim Aksoy. Bilkent University Image Segmentation Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr Examples of grouping in vision [http://poseidon.csd.auth.gr/lab_research/latest/imgs/s peakdepvidindex_img2.jpg]

More information

Image Segmentation. Selim Aksoy. Bilkent University

Image Segmentation. Selim Aksoy. Bilkent University Image Segmentation Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr Examples of grouping in vision [http://poseidon.csd.auth.gr/lab_research/latest/imgs/s peakdepvidindex_img2.jpg]

More information

Image Segmentation continued Graph Based Methods. Some slides: courtesy of O. Capms, Penn State, J.Ponce and D. Fortsyth, Computer Vision Book

Image Segmentation continued Graph Based Methods. Some slides: courtesy of O. Capms, Penn State, J.Ponce and D. Fortsyth, Computer Vision Book Image Segmentation continued Graph Based Methods Some slides: courtesy of O. Capms, Penn State, J.Ponce and D. Fortsyth, Computer Vision Book Previously Binary segmentation Segmentation by thresholding

More information

CS 4495 Computer Vision. Segmentation. Aaron Bobick (slides by Tucker Hermans) School of Interactive Computing. Segmentation

CS 4495 Computer Vision. Segmentation. Aaron Bobick (slides by Tucker Hermans) School of Interactive Computing. Segmentation CS 4495 Computer Vision Aaron Bobick (slides by Tucker Hermans) School of Interactive Computing Administrivia PS 4: Out but I was a bit late so due date pushed back to Oct 29. OpenCV now has real SIFT

More information

Segmentation & Clustering

Segmentation & Clustering EECS 442 Computer vision Segmentation & Clustering Segmentation in human vision K-mean clustering Mean-shift Graph-cut Reading: Chapters 14 [FP] Some slides of this lectures are courtesy of prof F. Li,

More information

Lecture 11: E-M and MeanShift. CAP 5415 Fall 2007

Lecture 11: E-M and MeanShift. CAP 5415 Fall 2007 Lecture 11: E-M and MeanShift CAP 5415 Fall 2007 Review on Segmentation by Clustering Each Pixel Data Vector Example (From Comanciu and Meer) Review of k-means Let's find three clusters in this data These

More information

Segmentation Computer Vision Spring 2018, Lecture 27

Segmentation Computer Vision Spring 2018, Lecture 27 Segmentation http://www.cs.cmu.edu/~16385/ 16-385 Computer Vision Spring 218, Lecture 27 Course announcements Homework 7 is due on Sunday 6 th. - Any questions about homework 7? - How many of you have

More information

Computer Vision Lecture 6

Computer Vision Lecture 6 Course Outline Computer Vision Lecture 6 Segmentation Image Processing Basics Structure Extraction Segmentation Segmentation as Clustering Graph-theoretic Segmentation 12.11.2015 Recognition Global Representations

More information

Markov Random Fields and Segmentation with Graph Cuts

Markov Random Fields and Segmentation with Graph Cuts Markov Random Fields and Segmentation with Graph Cuts Computer Vision Jia-Bin Huang, Virginia Tech Many slides from D. Hoiem Administrative stuffs Final project Proposal due Oct 27 (Thursday) HW 4 is out

More information

CS 2770: Computer Vision. Edges and Segments. Prof. Adriana Kovashka University of Pittsburgh February 21, 2017

CS 2770: Computer Vision. Edges and Segments. Prof. Adriana Kovashka University of Pittsburgh February 21, 2017 CS 2770: Computer Vision Edges and Segments Prof. Adriana Kovashka University of Pittsburgh February 21, 2017 Edges vs Segments Figure adapted from J. Hays Edges vs Segments Edges More low-level Don t

More information

6.801/866. Segmentation and Line Fitting. T. Darrell

6.801/866. Segmentation and Line Fitting. T. Darrell 6.801/866 Segmentation and Line Fitting T. Darrell Segmentation and Line Fitting Gestalt grouping Background subtraction K-Means Graph cuts Hough transform Iterative fitting (Next time: Probabilistic segmentation)

More information

Applications. Foreground / background segmentation Finding skin-colored regions. Finding the moving objects. Intelligent scissors

Applications. Foreground / background segmentation Finding skin-colored regions. Finding the moving objects. Intelligent scissors Segmentation I Goal Separate image into coherent regions Berkeley segmentation database: http://www.eecs.berkeley.edu/research/projects/cs/vision/grouping/segbench/ Slide by L. Lazebnik Applications Intelligent

More information

Image Segmentation continued Graph Based Methods

Image Segmentation continued Graph Based Methods Image Segmentation continued Graph Based Methods Previously Images as graphs Fully-connected graph node (vertex) for every pixel link between every pair of pixels, p,q affinity weight w pq for each link

More information

Clustering. So far in the course. Clustering. Clustering. Subhransu Maji. CMPSCI 689: Machine Learning. dist(x, y) = x y 2 2

Clustering. So far in the course. Clustering. Clustering. Subhransu Maji. CMPSCI 689: Machine Learning. dist(x, y) = x y 2 2 So far in the course Clustering Subhransu Maji : Machine Learning 2 April 2015 7 April 2015 Supervised learning: learning with a teacher You had training data which was (feature, label) pairs and the goal

More information

Clustering. Subhransu Maji. CMPSCI 689: Machine Learning. 2 April April 2015

Clustering. Subhransu Maji. CMPSCI 689: Machine Learning. 2 April April 2015 Clustering Subhransu Maji CMPSCI 689: Machine Learning 2 April 2015 7 April 2015 So far in the course Supervised learning: learning with a teacher You had training data which was (feature, label) pairs

More information

CS 2750: Machine Learning. Clustering. Prof. Adriana Kovashka University of Pittsburgh January 17, 2017

CS 2750: Machine Learning. Clustering. Prof. Adriana Kovashka University of Pittsburgh January 17, 2017 CS 2750: Machine Learning Clustering Prof. Adriana Kovashka University of Pittsburgh January 17, 2017 What is clustering? Grouping items that belong together (i.e. have similar features) Unsupervised:

More information

Segmentation: Clustering, Graph Cut and EM

Segmentation: Clustering, Graph Cut and EM Segmentation: Clustering, Graph Cut and EM Ying Wu Electrical Engineering and Computer Science Northwestern University, Evanston, IL 60208 yingwu@northwestern.edu http://www.eecs.northwestern.edu/~yingwu

More information

CMPSCI 670: Computer Vision! Grouping

CMPSCI 670: Computer Vision! Grouping CMPSCI 670: Computer Vision! Grouping University of Massachusetts, Amherst October 14, 2014 Instructor: Subhransu Maji Slides credit: Kristen Grauman and others Final project guidelines posted Milestones

More information

Content-based Image and Video Retrieval. Image Segmentation

Content-based Image and Video Retrieval. Image Segmentation Content-based Image and Video Retrieval Vorlesung, SS 2011 Image Segmentation 2.5.2011 / 9.5.2011 Image Segmentation One of the key problem in computer vision Identification of homogenous region in the

More information

Clustering appearance and shape by learning jigsaws Anitha Kannan, John Winn, Carsten Rother

Clustering appearance and shape by learning jigsaws Anitha Kannan, John Winn, Carsten Rother Clustering appearance and shape by learning jigsaws Anitha Kannan, John Winn, Carsten Rother Models for Appearance and Shape Histograms Templates discard spatial info articulation, deformation, variation

More information

Fitting: Voting and the Hough Transform April 23 rd, Yong Jae Lee UC Davis

Fitting: Voting and the Hough Transform April 23 rd, Yong Jae Lee UC Davis Fitting: Voting and the Hough Transform April 23 rd, 2015 Yong Jae Lee UC Davis Last time: Grouping Bottom-up segmentation via clustering To find mid-level regions, tokens General choices -- features,

More information

Unit 3 : Image Segmentation

Unit 3 : Image Segmentation Unit 3 : Image Segmentation K-means Clustering Mean Shift Segmentation Active Contour Models Snakes Normalized Cut Segmentation CS 6550 0 Histogram-based segmentation Goal Break the image into K regions

More information

CS 664 Slides #11 Image Segmentation. Prof. Dan Huttenlocher Fall 2003

CS 664 Slides #11 Image Segmentation. Prof. Dan Huttenlocher Fall 2003 CS 664 Slides #11 Image Segmentation Prof. Dan Huttenlocher Fall 2003 Image Segmentation Find regions of image that are coherent Dual of edge detection Regions vs. boundaries Related to clustering problems

More information

Lecture 13 Segmentation and Scene Understanding Chris Choy, Ph.D. candidate Stanford Vision and Learning Lab (SVL)

Lecture 13 Segmentation and Scene Understanding Chris Choy, Ph.D. candidate Stanford Vision and Learning Lab (SVL) Lecture 13 Segmentation and Scene Understanding Chris Choy, Ph.D. candidate Stanford Vision and Learning Lab (SVL) http://chrischoy.org Stanford CS231A 1 Understanding a Scene Objects Chairs, Cups, Tables,

More information

Image Analysis. Segmentation by Clustering

Image Analysis. Segmentation by Clustering Image Analysis Segmentation by Clustering Christophoros Nikou cnikou@cs.uoi.gr Images taken from: D. Forsyth and J. Ponce. Computer Vision: A Modern Approach, Prentice Hall, 2003. Computer Vision course

More information

CS4670 / 5670: Computer Vision Noah Snavely

CS4670 / 5670: Computer Vision Noah Snavely { { 11/26/2013 CS4670 / 5670: Computer Vision Noah Snavely Graph-Based Image Segmentation Stereo as a minimization problem match cost Want each pixel to find a good match in the other image smoothness

More information

Markov/Conditional Random Fields, Graph Cut, and applications in Computer Vision

Markov/Conditional Random Fields, Graph Cut, and applications in Computer Vision Markov/Conditional Random Fields, Graph Cut, and applications in Computer Vision Fuxin Li Slides and materials from Le Song, Tucker Hermans, Pawan Kumar, Carsten Rother, Peter Orchard, and others Recap:

More information

Markov Random Fields and Segmentation with Graph Cuts

Markov Random Fields and Segmentation with Graph Cuts Markov Random Fields and Segmentation with Graph Cuts Computer Vision Jia-Bin Huang, Virginia Tech Many slides from D. Hoiem Administrative stuffs Final project Proposal due Oct 30 (Monday) HW 4 is out

More information

Segmentation. Separate image into coherent regions

Segmentation. Separate image into coherent regions Segmentation II Segmentation Separate image into coherent regions Berkeley segmentation database: http://www.eecs.berkeley.edu/research/projects/cs/vision/grouping/segbench/ Slide by L. Lazebnik Interactive

More information

EE 701 ROBOT VISION. Segmentation

EE 701 ROBOT VISION. Segmentation EE 701 ROBOT VISION Regions and Image Segmentation Histogram-based Segmentation Automatic Thresholding K-means Clustering Spatial Coherence Merging and Splitting Graph Theoretic Segmentation Region Growing

More information

Markov Networks in Computer Vision. Sargur Srihari

Markov Networks in Computer Vision. Sargur Srihari Markov Networks in Computer Vision Sargur srihari@cedar.buffalo.edu 1 Markov Networks for Computer Vision Important application area for MNs 1. Image segmentation 2. Removal of blur/noise 3. Stereo reconstruction

More information

intro, applications MRF, labeling... how it can be computed at all? Applications in segmentation: GraphCut, GrabCut, demos

intro, applications MRF, labeling... how it can be computed at all? Applications in segmentation: GraphCut, GrabCut, demos Image as Markov Random Field and Applications 1 Tomáš Svoboda, svoboda@cmp.felk.cvut.cz Czech Technical University in Prague, Center for Machine Perception http://cmp.felk.cvut.cz Talk Outline Last update:

More information

Markov Networks in Computer Vision

Markov Networks in Computer Vision Markov Networks in Computer Vision Sargur Srihari srihari@cedar.buffalo.edu 1 Markov Networks for Computer Vision Some applications: 1. Image segmentation 2. Removal of blur/noise 3. Stereo reconstruction

More information

10708 Graphical Models: Homework 4

10708 Graphical Models: Homework 4 10708 Graphical Models: Homework 4 Due November 12th, beginning of class October 29, 2008 Instructions: There are six questions on this assignment. Each question has the name of one of the TAs beside it,

More information

Lecture 8: Fitting. Tuesday, Sept 25

Lecture 8: Fitting. Tuesday, Sept 25 Lecture 8: Fitting Tuesday, Sept 25 Announcements, schedule Grad student extensions Due end of term Data sets, suggestions Reminder: Midterm Tuesday 10/9 Problem set 2 out Thursday, due 10/11 Outline Review

More information

human vision: grouping k-means clustering graph-theoretic clustering Hough transform line fitting RANSAC

human vision: grouping k-means clustering graph-theoretic clustering Hough transform line fitting RANSAC COS 429: COMPUTER VISON Segmentation human vision: grouping k-means clustering graph-theoretic clustering Hough transform line fitting RANSAC Reading: Chapters 14, 15 Some of the slides are credited to:

More information

Multiple cosegmentation

Multiple cosegmentation Armand Joulin, Francis Bach and Jean Ponce. INRIA -Ecole Normale Supérieure April 25, 2012 Segmentation Introduction Segmentation Supervised and weakly-supervised segmentation Cosegmentation Segmentation

More information

Analysis: TextonBoost and Semantic Texton Forests. Daniel Munoz Februrary 9, 2009

Analysis: TextonBoost and Semantic Texton Forests. Daniel Munoz Februrary 9, 2009 Analysis: TextonBoost and Semantic Texton Forests Daniel Munoz 16-721 Februrary 9, 2009 Papers [shotton-eccv-06] J. Shotton, J. Winn, C. Rother, A. Criminisi, TextonBoost: Joint Appearance, Shape and Context

More information

Visual Representations for Machine Learning

Visual Representations for Machine Learning Visual Representations for Machine Learning Spectral Clustering and Channel Representations Lecture 1 Spectral Clustering: introduction and confusion Michael Felsberg Klas Nordberg The Spectral Clustering

More information

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt.

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt. CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt. Session 11 Segmentation And Clustering Mani Golparvar-Fard Department of Civil and Environmental Engineering 3129D, Newmark Civil Engineering

More information

Prof. Feng Liu. Spring /17/2017. With slides by F. Durand, Y.Y. Chuang, R. Raskar, and C.

Prof. Feng Liu. Spring /17/2017. With slides by F. Durand, Y.Y. Chuang, R. Raskar, and C. Prof. Feng Liu Spring 2017 http://www.cs.pdx.edu/~fliu/courses/cs510/ 05/17/2017 With slides by F. Durand, Y.Y. Chuang, R. Raskar, and C. Rother Last Time Image segmentation Normalized cut and segmentation

More information

Normalized Graph cuts. by Gopalkrishna Veni School of Computing University of Utah

Normalized Graph cuts. by Gopalkrishna Veni School of Computing University of Utah Normalized Graph cuts by Gopalkrishna Veni School of Computing University of Utah Image segmentation Image segmentation is a grouping technique used for image. It is a way of dividing an image into different

More information

Supervised texture detection in images

Supervised texture detection in images Supervised texture detection in images Branislav Mičušík and Allan Hanbury Pattern Recognition and Image Processing Group, Institute of Computer Aided Automation, Vienna University of Technology Favoritenstraße

More information

CS 664 Segmentation. Daniel Huttenlocher

CS 664 Segmentation. Daniel Huttenlocher CS 664 Segmentation Daniel Huttenlocher Grouping Perceptual Organization Structural relationships between tokens Parallelism, symmetry, alignment Similarity of token properties Often strong psychophysical

More information

Energy Minimization for Segmentation in Computer Vision

Energy Minimization for Segmentation in Computer Vision S * = arg S min E(S) Energy Minimization for Segmentation in Computer Vision Meng Tang, Dmitrii Marin, Ismail Ben Ayed, Yuri Boykov Outline Clustering/segmentation methods K-means, GrabCut, Normalized

More information

CS4670: Computer Vision

CS4670: Computer Vision CS4670: Computer Vision Noah Snavely Lecture 34: Segmentation From Sandlot Science Announcements In-class exam this Friday, December 3 Review session in class on Wednesday Final projects: Slides due: Sunday,

More information

Image Analysis - Lecture 5

Image Analysis - Lecture 5 Texture Segmentation Clustering Review Image Analysis - Lecture 5 Texture and Segmentation Magnus Oskarsson Lecture 5 Texture Segmentation Clustering Review Contents Texture Textons Filter Banks Gabor

More information

Computer Vision 5 Segmentation by Clustering

Computer Vision 5 Segmentation by Clustering Computer Vision 5 Segmentation by Clustering MAP-I Doctoral Programme Miguel Tavares Coimbra Outline Introduction Applications Simple clustering K-means clustering Graph-theoretic clustering Acknowledgements:

More information

Grouping and Segmentation

Grouping and Segmentation 03/17/15 Grouping and Segmentation Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Today s class Segmentation and grouping Gestalt cues By clustering (mean-shift) By boundaries (watershed)

More information

Image Segmentation Using Iterated Graph Cuts Based on Multi-scale Smoothing

Image Segmentation Using Iterated Graph Cuts Based on Multi-scale Smoothing Image Segmentation Using Iterated Graph Cuts Based on Multi-scale Smoothing Tomoyuki Nagahashi 1, Hironobu Fujiyoshi 1, and Takeo Kanade 2 1 Dept. of Computer Science, Chubu University. Matsumoto 1200,

More information

Segmentation and Grouping

Segmentation and Grouping 02/23/10 Segmentation and Grouping Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Last week Clustering EM Today s class More on EM Segmentation and grouping Gestalt cues By boundaries

More information

Segmentation. Bottom up Segmentation Semantic Segmentation

Segmentation. Bottom up Segmentation Semantic Segmentation Segmentation Bottom up Segmentation Semantic Segmentation Semantic Labeling of Street Scenes Ground Truth Labels 11 classes, almost all occur simultaneously, large changes in viewpoint, scale sky, road,

More information

Learning and Inferring Depth from Monocular Images. Jiyan Pan April 1, 2009

Learning and Inferring Depth from Monocular Images. Jiyan Pan April 1, 2009 Learning and Inferring Depth from Monocular Images Jiyan Pan April 1, 2009 Traditional ways of inferring depth Binocular disparity Structure from motion Defocus Given a single monocular image, how to infer

More information

CSCI-B609: A Theorist s Toolkit, Fall 2016 Sept. 6, Firstly let s consider a real world problem: community detection.

CSCI-B609: A Theorist s Toolkit, Fall 2016 Sept. 6, Firstly let s consider a real world problem: community detection. CSCI-B609: A Theorist s Toolkit, Fall 016 Sept. 6, 016 Lecture 03: The Sparsest Cut Problem and Cheeger s Inequality Lecturer: Yuan Zhou Scribe: Xuan Dong We will continue studying the spectral graph theory

More information

Computer Vision I - Filtering and Feature detection

Computer Vision I - Filtering and Feature detection Computer Vision I - Filtering and Feature detection Carsten Rother 30/10/2015 Computer Vision I: Basics of Image Processing Roadmap: Basics of Digital Image Processing Computer Vision I: Basics of Image

More information

Feature Tracking and Optical Flow

Feature Tracking and Optical Flow Feature Tracking and Optical Flow Prof. D. Stricker Doz. G. Bleser Many slides adapted from James Hays, Derek Hoeim, Lana Lazebnik, Silvio Saverse, who 1 in turn adapted slides from Steve Seitz, Rick Szeliski,

More information

IMPROVED FINE STRUCTURE MODELING VIA GUIDED STOCHASTIC CLIQUE FORMATION IN FULLY CONNECTED CONDITIONAL RANDOM FIELDS

IMPROVED FINE STRUCTURE MODELING VIA GUIDED STOCHASTIC CLIQUE FORMATION IN FULLY CONNECTED CONDITIONAL RANDOM FIELDS IMPROVED FINE STRUCTURE MODELING VIA GUIDED STOCHASTIC CLIQUE FORMATION IN FULLY CONNECTED CONDITIONAL RANDOM FIELDS M. J. Shafiee, A. G. Chung, A. Wong, and P. Fieguth Vision & Image Processing Lab, Systems

More information

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur Pyramids Gaussian pre-filtering Solution: filter the image, then subsample blur F 0 subsample blur subsample * F 0 H F 1 F 1 * H F 2 { Gaussian pyramid blur F 0 subsample blur subsample * F 0 H F 1 F 1

More information

Clustering Lecture 8. David Sontag New York University. Slides adapted from Luke Zettlemoyer, Vibhav Gogate, Carlos Guestrin, Andrew Moore, Dan Klein

Clustering Lecture 8. David Sontag New York University. Slides adapted from Luke Zettlemoyer, Vibhav Gogate, Carlos Guestrin, Andrew Moore, Dan Klein Clustering Lecture 8 David Sontag New York University Slides adapted from Luke Zettlemoyer, Vibhav Gogate, Carlos Guestrin, Andrew Moore, Dan Klein Clustering: Unsupervised learning Clustering Requires

More information

Colorado School of Mines. Computer Vision. Professor William Hoff Dept of Electrical Engineering &Computer Science.

Colorado School of Mines. Computer Vision. Professor William Hoff Dept of Electrical Engineering &Computer Science. Professor William Hoff Dept of Electrical Engineering &Computer Science http://inside.mines.edu/~whoff/ 1 Image Segmentation Some material for these slides comes from https://www.csd.uwo.ca/courses/cs4487a/

More information

Mining Social Network Graphs

Mining Social Network Graphs Mining Social Network Graphs Analysis of Large Graphs: Community Detection Rafael Ferreira da Silva rafsilva@isi.edu http://rafaelsilva.com Note to other teachers and users of these slides: We would be

More information

Undirected Graphical Models. Raul Queiroz Feitosa

Undirected Graphical Models. Raul Queiroz Feitosa Undirected Graphical Models Raul Queiroz Feitosa Pros and Cons Advantages of UGMs over DGMs UGMs are more natural for some domains (e.g. context-dependent entities) Discriminative UGMs (CRF) are better

More information

Regularization and Markov Random Fields (MRF) CS 664 Spring 2008

Regularization and Markov Random Fields (MRF) CS 664 Spring 2008 Regularization and Markov Random Fields (MRF) CS 664 Spring 2008 Regularization in Low Level Vision Low level vision problems concerned with estimating some quantity at each pixel Visual motion (u(x,y),v(x,y))

More information

Models for grids. Computer vision: models, learning and inference. Multi label Denoising. Binary Denoising. Denoising Goal.

Models for grids. Computer vision: models, learning and inference. Multi label Denoising. Binary Denoising. Denoising Goal. Models for grids Computer vision: models, learning and inference Chapter 9 Graphical Models Consider models where one unknown world state at each pixel in the image takes the form of a grid. Loops in the

More information

Problem Set 4. Assigned: March 23, 2006 Due: April 17, (6.882) Belief Propagation for Segmentation

Problem Set 4. Assigned: March 23, 2006 Due: April 17, (6.882) Belief Propagation for Segmentation 6.098/6.882 Computational Photography 1 Problem Set 4 Assigned: March 23, 2006 Due: April 17, 2006 Problem 1 (6.882) Belief Propagation for Segmentation In this problem you will set-up a Markov Random

More information

CAP5415-Computer Vision Lecture 13-Image/Video Segmentation Part II. Dr. Ulas Bagci

CAP5415-Computer Vision Lecture 13-Image/Video Segmentation Part II. Dr. Ulas Bagci CAP-Computer Vision Lecture -Image/Video Segmentation Part II Dr. Ulas Bagci bagci@ucf.edu Labeling & Segmentation Labeling is a common way for modeling various computer vision problems (e.g. optical flow,

More information

Image Segmentation. Srikumar Ramalingam School of Computing University of Utah. Slides borrowed from Ross Whitaker

Image Segmentation. Srikumar Ramalingam School of Computing University of Utah. Slides borrowed from Ross Whitaker Image Segmentation Srikumar Ramalingam School of Computing University of Utah Slides borrowed from Ross Whitaker Segmentation Semantic Segmentation Indoor layout estimation What is Segmentation? Partitioning

More information

Spectral Clustering on Handwritten Digits Database

Spectral Clustering on Handwritten Digits Database October 6, 2015 Spectral Clustering on Handwritten Digits Database Danielle dmiddle1@math.umd.edu Advisor: Kasso Okoudjou kasso@umd.edu Department of Mathematics University of Maryland- College Park Advance

More information

CS 534: Computer Vision Segmentation and Perceptual Grouping

CS 534: Computer Vision Segmentation and Perceptual Grouping CS 534: Computer Vision Segmentation and Perceptual Grouping Spring 2005 Ahmed Elgammal Dept of Computer Science CS 534 Segmentation - 1 Where are we? Image Formation Human vision Cameras Geometric Camera

More information

Discriminative classifiers for image recognition

Discriminative classifiers for image recognition Discriminative classifiers for image recognition May 26 th, 2015 Yong Jae Lee UC Davis Outline Last time: window-based generic object detection basic pipeline face detection with boosting as case study

More information

Image Segmentation Using Iterated Graph Cuts BasedonMulti-scaleSmoothing

Image Segmentation Using Iterated Graph Cuts BasedonMulti-scaleSmoothing Image Segmentation Using Iterated Graph Cuts BasedonMulti-scaleSmoothing Tomoyuki Nagahashi 1, Hironobu Fujiyoshi 1, and Takeo Kanade 2 1 Dept. of Computer Science, Chubu University. Matsumoto 1200, Kasugai,

More information

Geometric Registration for Deformable Shapes 3.3 Advanced Global Matching

Geometric Registration for Deformable Shapes 3.3 Advanced Global Matching Geometric Registration for Deformable Shapes 3.3 Advanced Global Matching Correlated Correspondences [ASP*04] A Complete Registration System [HAW*08] In this session Advanced Global Matching Some practical

More information

Markov Random Fields and Gibbs Sampling for Image Denoising

Markov Random Fields and Gibbs Sampling for Image Denoising Markov Random Fields and Gibbs Sampling for Image Denoising Chang Yue Electrical Engineering Stanford University changyue@stanfoed.edu Abstract This project applies Gibbs Sampling based on different Markov

More information

Announcements, schedule. Lecture 8: Fitting. Weighted graph representation. Outline. Segmentation by Graph Cuts. Images as graphs

Announcements, schedule. Lecture 8: Fitting. Weighted graph representation. Outline. Segmentation by Graph Cuts. Images as graphs Announcements, schedule Lecture 8: Fitting Tuesday, Sept 25 Grad student etensions Due of term Data sets, suggestions Reminder: Midterm Tuesday 10/9 Problem set 2 out Thursday, due 10/11 Outline Review

More information