lecture 2 introduction to segmentation
play

Lecture 2: Introduction to Segmentation Jonathan Krause Fei-Fei Li, - PowerPoint PPT Presentation

Lecture 2: Introduction to Segmentation Jonathan Krause Fei-Fei Li, Jonathan Krause Lecture 2 - 1 Goal Goal: Identify groups of pixels that go together image credit: Steve Seitz, Kristen Grauman Fei-Fei Li, Jonathan Krause Lecture 2 - 2


  1. Lecture 2: Introduction to Segmentation Jonathan Krause Fei-Fei Li, Jonathan Krause Lecture 2 - 1

  2. Goal • Goal: Identify groups of pixels that go together image credit: Steve Seitz, Kristen Grauman Fei-Fei Li, Jonathan Krause Lecture 2 - 2

  3. Types of Segmentation • Semantic Segmentation: Assign labels Tiger Grass Water Dirt image credit: Steve Seitz, Kristen Grauman Fei-Fei Li, Jonathan Krause Lecture 2 - 3

  4. Types of Segmentation • Figure-ground segmentation: Foreground/background image credit: Carsten Rother Fei-Fei Li, Jonathan Krause Lecture 2 - 4

  5. Types of Segmentation • Co-segmentation: Segment common object image credit: Armand Joulin Fei-Fei Li, Jonathan Krause Lecture 2 - 5

  6. Application: As a result Rother et al. 2004 Fei-Fei Li, Jonathan Krause Lecture 2 - 6

  7. Application: Speed up Recognition Fei-Fei Li, Jonathan Krause Lecture 2 - 7

  8. Application: Better Classification Angelova and Zhu, 2013 Fei-Fei Li, Jonathan Krause Lecture 2 - 8

  9. History: Before Computer Vision Fei-Fei Li, Jonathan Krause Lecture 2 - 9

  10. Gestalt Theory • Gestalt: whole or group – Whole is greater than sum of its parts – Relationships among parts can yield new properties/features • Psychologists identified series of factors that predispose set of elements to be grouped (by human visual system) “I stand at the window and see a house, trees, sky. 
 Theoretically I might say there were 327 brightnesses 
 and nuances of colour. Do I have "327"? No. I have sky, house, and trees.” Max Wertheimer 
 (1880-1943) Fei-Fei Li, Jonathan Krause Lecture 2 - 10

  11. Gestalt Factors Image source: Forsyth & Ponce • These factors make intuitive sense, but are very difficult to translate into algorithms. Fei-Fei Li, Jonathan Krause Lecture 2 - 11

  12. Outline 1. Segmentation as clustering CS 131 review 2. Graph-based segmentation 3. Segmentation as energy minimization new stuff Fei-Fei Li, Jonathan Krause Lecture 2 - 12

  13. Outline 1. Segmentation as clustering 1. K-Means 2. GMMs and EM 3. Mean Shift 2. Graph-based segmentation 3. Segmentation as energy minimization Fei-Fei Li, Jonathan Krause Lecture 2 - 13

  14. Segmentation as Clustering • Pixels are points in a high-dimensional space - color: 3d - color + location: 5d • Cluster pixels into segments Fei-Fei Li, Jonathan Krause Lecture 2 - 14

  15. Clustering: K-Means Algorithm: 1. Randomly initialize the 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 c i to be the mean of points in cluster i 4. If c i have changed, repeat Step 2 • Properties – Will always converge to some solution – Can be a “local minimum” • Does not always find the global minimum of objective function: slide credit: Steve Seitz Fei-Fei Li, Jonathan Krause Lecture 2 - 15

  16. Clustering: K-Means k=2 k=3 slide credit: Kristen Grauman Fei-Fei Li, Jonathan Krause Lecture 2 - 16

  17. Clustering: K-Means Note: Visualize segment with average color Fei-Fei Li, Jonathan Krause Lecture 2 - 17

  18. K-Means Pro: - Extremely simple - Efficient Con: - Hard quantization in clusters - Can’t handle non-spherical clusters Fei-Fei Li, Jonathan Krause Lecture 2 - 18

  19. Gaussian Mixture Model • Represent data distribution as mixture of multivariate Gaussians. How do we actually fit this distribution? Fei-Fei Li, Jonathan Krause Lecture 2 - 19

  20. Expectation Maximization (EM) • Goal – Find parameters θ (for GMMs: ) that maximize the likelihood function: • Approach: 1. E-step: given current parameters, compute ownership of each point 2. M-step: given ownership probabilities, update parameters to maximize likelihood function 3. Repeat until convergence See CS229 material if this is unfamiliar! Fei-Fei Li, Jonathan Krause Lecture 2 - 20

  21. Clustering: Expectation Maximization (EM) Fei-Fei Li, Jonathan Krause Lecture 2 - 21

  22. GMMs Pro: - Still fairly simple and efficient - Model more complex distributions Con: - Need to know number of components in advance — hard to know unless you’re looking at the data yourself! Fei-Fei Li, Jonathan Krause Lecture 2 - 22

  23. Clustering: Mean-shift 1. Initialize random seed, and window W 2. Calculate center of gravity (the “mean”) of W: Can generalize to arbitrary windows/kernels • 3. Shift the search window to the mean 4. Repeat Step 2 until convergence Only parameter: window size slide credit: Steve Seitz Fei-Fei Li, Jonathan Krause Lecture 2 - 23

  24. Mean-Shift Region of interest Center of mass Mean Shift vector Slide by Y . Ukrainitz & B. Sarel Fei-Fei Li, Jonathan Krause 24 Lecture 2 -

  25. Mean-Shift Region of interest Center of mass Mean Shift vector Slide by Y . Ukrainitz & B. Sarel Fei-Fei Li, Jonathan Krause 25 Lecture 2 -

  26. Mean-Shift Region of interest Center of mass Mean Shift vector Slide by Y . Ukrainitz & B. Sarel Fei-Fei Li, Jonathan Krause 26 Lecture 2 -

  27. Mean-Shift Region of interest Center of mass Slide by Y . Ukrainitz & B. Sarel Fei-Fei Li, Jonathan Krause 27 Lecture 2 -

  28. Clustering: Mean-shift • Cluster: all data points in the attraction basin of a mode • Attraction basin: the region for which all trajectories lead to the same mode slide credit: Y . Ukrainitz & B. Sarel Fei-Fei Li, Jonathan Krause Lecture 2 - 28

  29. Mean-shift for segmentation 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 • Fei-Fei Li, Jonathan Krause Lecture 2 - 29

  30. Mean-shift for segmentation Fei-Fei Li, Jonathan Krause Lecture 2 - 30

  31. Mean Shift Pro: - No number of clusters assumption - Handle unusual distributions - Simple Con: - Choice of window size - Can be somewhat expensive Fei-Fei Li, Jonathan Krause Lecture 2 - 31

  32. Clustering Pro: - Generally simple - Can handle most data distributions with sufficient effort. Con: - Hard to capture global structure - Performance is limited by simplicity Fei-Fei Li, Jonathan Krause Lecture 2 - 32

  33. Outline 1. Segmentation as clustering 2. Graph-based segmentation 1. General Properties 2. Spectral Clustering 3. Min Cuts 4. Normalized Cuts 3. Segmentation as energy minimization Fei-Fei Li, Jonathan Krause Lecture 2 - 33

  34. Images as Graphs q w pq w p – Node (vertex) for every pixel – Edge between pairs of pixels, (p,q) – Affinity weight w pq for each edge • w pq measures similarity • Similarity is inversely proportional to difference 
 (in color and position…) slide credit: Steve Seitz Fei-Fei Li, Jonathan Krause Lecture 2 - 34

  35. Images as Graphs Which edges to include? Fully connected: w - Captures all pairwise similarities - Infeasible for most images Neighboring pixels: - Very fast to compute - Only captures very local interactions Local neighborhood: - Reasonably fast, graph still very sparse - Good tradeoff Fei-Fei Li, Jonathan Krause Lecture 2 - 35

  36. Measuring Affinity • In general: • Examples: - Distance: - Intensity: - Color: - Texture: • Note: Can also modify distance metric slide credit: Forsyth & Ponce Fei-Fei Li, Jonathan Krause Lecture 2 - 36

  37. Measuring Affinity Distance: slide credit: Forsyth & Ponce Fei-Fei Li, Jonathan Krause Lecture 2 - 37

  38. Measuring Affinity Intensity: slide credit: Forsyth & Ponce Fei-Fei Li, Jonathan Krause Lecture 2 - 38

  39. Measuring Affinity Color: slide credit: Forsyth & Ponce Fei-Fei Li, Jonathan Krause Lecture 2 - 39

  40. Measuring Affinity Texture: slide credit: Forsyth & Ponce Fei-Fei Li, Jonathan Krause Lecture 2 - 40

  41. Segmentation as Graph Cuts w A B C • Break Graph into Segments – Delete links that cross between segments – Easiest to break links that have low similarity (low weight) • Similar pixels should be in the same segments • Dissimilar pixels should be in different segments slide credit: Steve Seitz Fei-Fei Li, Jonathan Krause Lecture 2 - 41

  42. Graph Cut with Eigenvalues • Given: Affinity matrix W • Goal: Extract a single good cluster v - v(i): score for point i for cluster v Fei-Fei Li, Jonathan Krause Lecture 2 - 42

  43. Optimizing Lagrangian: v is an eigenvector of W Fei-Fei Li, Jonathan Krause Lecture 2 - 43

  44. Clustering via Eigenvalues 1. Construct affinity matrix W 2. Compute eigenvalues and vectors of W 3. Until done 1. Take eigenvector of largest unprocessed eigenvalue 2. Zero all components of elements that have already been clustered 3. Threshold remaining components to determine cluster membership Note: This is an example of a spectral clustering algorithm Fei-Fei Li, Jonathan Krause Lecture 2 - 44

  45. Graph Cuts - Another Look B A • Set of edges whose removal makes a graph disconnected • Cost of a cut – Sum of weights of cut edges: • A graph cut gives us a segmentation – What is a “good” graph cut and how do we find one? slide credit: Steve Seitz Fei-Fei Li, Jonathan Krause Lecture 2 - 45

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend