Algorithms & Applications in Computer Vision Lihi Zelnik-Manor Lecture 11: Structure from Motion.

Slides:



Advertisements
Similar presentations
Liang Shan Clustering Techniques and Applications to Image Segmentation.
Advertisements

Department of Computer Engineering
Segmentácia farebného obrazu
I Images as graphs Fully-connected graph – node for every pixel – link between every pair of pixels, p,q – similarity w ij for each link j w ij c Source:
Grouping and Segmentation Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/01/10.
Lecture 6 Image Segmentation
Image segmentation. The goals of segmentation Group together similar-looking pixels for efficiency of further processing “Bottom-up” process Unsupervised.
Segmentation. Terminology Segmentation, grouping, perceptual organization: gathering features that belong together Fitting: associating a model with observed.
Normalized Cuts and Image Segmentation Jianbo Shi and Jitendra Malik, Presented by: Alireza Tavakkoli.
Region Segmentation. Find sets of pixels, such that All pixels in region i satisfy some constraint of similarity.
Segmentation CSE P 576 Larry Zitnick Many slides courtesy of Steve Seitz.
Segmentation Divide the image into segments. Each segment:
Announcements Project 2 more signup slots questions Picture taking at end of class.
Segmentation Graph-Theoretic Clustering.
Perceptual Organization: Segmentation and Optical Flow.
Announcements vote for Project 3 artifacts Project 4 (due next Wed night) Questions? Late day policy: everything must be turned in by next Friday.
Announcements Project 3 questions Photos after class.
Computer Vision - A Modern Approach Set: Segmentation Slides by D.A. Forsyth Segmentation and Grouping Motivation: not information is evidence Obtain a.
Graph-based Segmentation
~5,617,000 population in each state
Image Segmentation Image segmentation is the operation of partitioning an image into a collection of connected sets of pixels. 1. into regions, which usually.
Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.
Segmentation and Grouping Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/23/10.
Computer Vision James Hays, Brown
Segmentation using eigenvectors
CSSE463: Image Recognition Day 34 This week This week Today: Today: Graph-theoretic approach to segmentation Graph-theoretic approach to segmentation Tuesday:
Segmentation using eigenvectors Papers: “Normalized Cuts and Image Segmentation”. Jianbo Shi and Jitendra Malik, IEEE, 2000 “Segmentation using eigenvectors:
Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided K-means Clustering (text) EM Clustering (paper) Graph Partitioning (text)
1 Contours and Junctions in Natural Images Jitendra Malik University of California at Berkeley (with Jianbo Shi, Thomas Leung, Serge Belongie, Charless.
Segmentation Course web page: vision.cis.udel.edu/~cv May 7, 2003  Lecture 31.
CS 558 C OMPUTER V ISION Lecture VI: Segmentation and Grouping Slides adapted from S. Lazebnik.
Segmentation slides adopted from Svetlana Lazebnik.
Chapter 14: SEGMENTATION BY CLUSTERING 1. 2 Outline Introduction Human Vision & Gestalt Properties Applications – Background Subtraction – Shot Boundary.
CSE 185 Introduction to Computer Vision Pattern Recognition 2.
CS654: Digital Image Analysis Lecture 30: Clustering based Segmentation Slides are adapted from:
Digital Image Processing
CSSE463: Image Recognition Day 23 Midterm behind us… Midterm behind us… Foundations of Image Recognition completed! Foundations of Image Recognition completed!
Segmentation & Grouping Tuesday, Sept 23 Kristen Grauman UT-Austin.
Perceptual and Sensory Augmented Computing Computer Vision WS 11/12 Computer Vision – Lecture 6 Segmentation and Grouping Bastian Leibe RWTH.
CS654: Digital Image Analysis Lecture 28: Advanced topics in Image Segmentation Image courtesy: IEEE, IJCV.
 In the previews parts we have seen some kind of segmentation method.  In this lecture we will see graph cut, which is a another segmentation method.
Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos VC 15/16 – TP10 Advanced Segmentation Miguel Tavares.
Lecture 30: Segmentation CS4670 / 5670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
CS 2750: Machine Learning Clustering Prof. Adriana Kovashka University of Pittsburgh January 25, 2016.
Normalized Cuts and Image Segmentation Patrick Denis COSC 6121 York University Jianbo Shi and Jitendra Malik.
Image segmentation.
Segmentation slides adopted from Svetlana Lazebnik.
Course Introduction to Medical Imaging Segmentation 1 – Mean Shift and Graph-Cuts Guy Gilboa.
K-Means Segmentation.
Image Segmentation Today’s Readings Szesliski Chapter 5
Segmentation by clustering: normalized cut
Exercise class 13 : Image Segmentation
Region Segmentation Readings: Chapter 10: 10
CSSE463: Image Recognition Day 34
Segmentation by clustering: mean shift
Lecture: k-means & mean-shift clustering
A segmentation and tracking algorithm
Segmentation Computer Vision Spring 2018, Lecture 27
CS 2750: Machine Learning Clustering
Segmentation Graph-Theoretic Clustering.
Grouping.
Digital Image Processing
Image Segmentation CS 678 Spring 2018.
Spectral Clustering Eric Xing Lecture 8, August 13, 2010
Announcements Project 4 questions Evaluations.
Announcements Project 4 out today (due Wed March 10)
CSSE463: Image Recognition Day 34
“Traditional” image segmentation
Image Segmentation Samuel Cheng
Presentation transcript:

Algorithms & Applications in Computer Vision Lihi Zelnik-Manor Lecture 11: Structure from Motion

Image segmentation

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

The goals of segmentation Separate image into coherent “objects” “Bottom-up” or “top-down” process? Supervised or unsupervised? Berkeley segmentation database: image human segmentation

5 From Pixels to Perception Tiger Grass Water Sand outdoor wildlife Tiger tail eye legs head back shadow mouth

6 D. Martin, C. Fowlkes, D. Tal, J. Malik. "A Database of Human Segmented Natural Images and its Application to Evaluating Segmentation Algorithms and Measuring Ecological Statistics", ICCV, 2001ICCV Berkeley Segmentation DataSet [BSDS]

7 Contour detection ~ Local

8 Contour detection ~2008 (color) 8 Global

Inspiration from psychology The Gestalt school: Grouping is key to visual perception The Muller-Lyer illusion

The Gestalt school Elements in a collection can have properties that result from relationships “The whole is greater than the sum of its parts” subjective contours occlusion familiar configuration

Emergence

Gestalt factors These factors make intuitive sense, but are very difficult to translate into algorithms

Segmentation as clustering Source: K. Grauman

Two components to clustering 1.Similarity between pixels 1.For now lets assume it is the distance between RGB values. 2.The clustering algorithm

What is Clustering? Organizing data into classes such that: high intra-class similarity low inter-class similarity Finding the class labels and the number of classes directly from the data (in contrast to classification).

What is a natural grouping?

School Employees Simpson's Family MalesFemales Clustering is subjective What is a natural grouping?

What is Similarity?

Defining Distance Measures Definition: Let O 1 and O 2 be two objects from the universe of possible objects. The distance (dissimilarity) between O 1 and O 2 is a real number denoted by D(O 1,O 2 ) PeterPiotr

Segmentation as clustering Source: K. Grauman Distance based on color only

Partitional Clustering Nonhierarchical, each instance is placed in exactly one of K nonoverlapping clusters. Since only one set of clusters is output, the user normally has to input the desired number of clusters K.

Squared Error Objective Function

Algorithm k-means 1. Decide on a value for k. 2. Initialize the k cluster centers (randomly, if necessary). 3. Decide the class memberships of the N objects by assigning them to the nearest cluster center. 4. Re-estimate the k cluster centers, by assuming the memberships found above are correct. 5. If none of the N objects changed membership in the last iteration, exit. Otherwise goto 3.

K-means Clustering: Step 1 Distance Metric: Euclidean Distance k1k1 k2k2 k3k3

K-means Clustering: Step 2 k1k1 k2k2 k3k3 Distance Metric: Euclidean Distance

K-means Clustering: Step 3 k1k1 k2k2 k3k3 Distance Metric: Euclidean Distance

K-means Clustering: Step 4 k1k1 k2k2 k3k3 Distance Metric: Euclidean Distance

K-means Clustering: Step 5 k1k1 k2k2 k3k3 Distance Metric: Euclidean Distance

Image Intensity-based clustersColor-based clusters Segmentation as clustering K-means clustering based on intensity or color is essentially vector quantization of the image attributes Clusters don’t have to be spatially coherent

Segmentation as clustering Source: K. Grauman Distance based on color and position

Segmentation as clustering Clustering based on (r,g,b,x,y) values enforces more spatial coherence

K-Means for segmentation Pros Very simple method Converges to a local minimum of the error function Cons Memory-intensive Need to pick K Sensitive to initialization Sensitive to outliers Only finds “spherical” clusters

Mean shift clustering and segmentation An advanced and versatile technique for clustering-based segmentation D. Comaniciu and P. Meer, Mean Shift: A Robust Approach toward Feature Space Analysis, PAMI 2002.Mean Shift: A Robust Approach toward Feature Space Analysis

The mean shift algorithm seeks modes or local maxima of density in the feature space Mean shift algorithm image Feature space (L*u*v* color values)

Search window Center of mass Mean Shift vector Mean shift Slide by Y. Ukrainitz & B. Sarel

Search window Center of mass Mean Shift vector Mean shift Slide by Y. Ukrainitz & B. Sarel

Search window Center of mass Mean Shift vector Mean shift Slide by Y. Ukrainitz & B. Sarel

Search window Center of mass Mean Shift vector Mean shift Slide by Y. Ukrainitz & B. Sarel

Search window Center of mass Mean Shift vector Mean shift Slide by Y. Ukrainitz & B. Sarel

Search window Center of mass Mean Shift vector Mean shift Slide by Y. Ukrainitz & B. Sarel

Search window Center of mass Mean shift Slide by Y. Ukrainitz & B. Sarel

Cluster: all data points in the attraction basin of a mode Attraction basin: the region for which all trajectories lead to the same mode Mean shift clustering Slide by Y. Ukrainitz & B. Sarel

Find features (color, gradients, texture, etc) Initialize windows at individual feature points Perform mean shift for each window until convergence Merge windows that end up near the same “peak” or mode Mean shift clustering/segmentation

Mean shift segmentation results

More results

Mean shift pros and cons Pros Does not assume spherical clusters Just a single parameter (window size) Finds variable number of modes Robust to outliers Cons Output depends on window size Computationally expensive Does not scale well with dimension of feature space

Images as graphs Node for every pixel Edge between every pair of pixels (or every pair of “sufficiently close” pixels) Each edge is weighted by the affinity or similarity of the two nodes w ij i j Source: S. Seitz

Segmentation by graph partitioning Break Graph into Segments Delete links that cross between segments Easiest to break links that have low affinity –similar pixels should be in the same segments –dissimilar pixels should be in different segments ABC Source: S. Seitz w ij i j

Measuring affinity Suppose we represent each pixel by a feature vector x, and define a distance function appropriate for this feature representation Then we can convert the distance between two feature vectors into an affinity with the help of a generalized Gaussian kernel:

Scale affects affinity Small σ: group only nearby points Large σ: group far-away points

Graph cut 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? A B Source: S. Seitz

Minimum cut We can do segmentation by finding the minimum cut in a graph Efficient algorithms exist for doing this Minimum cut example

Minimum cut We can do segmentation by finding the minimum cut in a graph Efficient algorithms exist for doing this Minimum cut example

Normalized cut Drawback: minimum cut tends to cut off very small, isolated components Ideal Cut Cuts with lesser weight than the ideal cut * Slide from Khurram Hassan-Shafique CAP5415 Computer Vision 2003

Normalized cut Drawback: minimum cut tends to cut off very small, isolated components This can be fixed by normalizing the cut by the weight of all the edges incident to the segment The normalized cut cost is: w(A, B) = sum of weights of all edges between A and B J. Shi and J. Malik. Normalized cuts and image segmentation. PAMI 2000Normalized cuts and image segmentation.

Normalized cut Let W be the adjacency matrix of the graph Let D be the diagonal matrix with diagonal entries D(i, i) = Σ j W(i, j) Then the normalized cut cost can be written as where y is an indicator vector whose value should be 1 in the ith position if the ith feature point belongs to A and a negative constant otherwise J. Shi and J. Malik. Normalized cuts and image segmentation. PAMI 2000Normalized cuts and image segmentation.

Normalized cut Finding the exact minimum of the normalized cut cost is NP-complete, but if we relax y to take on arbitrary values, then we can minimize the relaxed cost by solving the generalized eigenvalue problem (D − W)y = λDy The solution y is given by the eigenvector corresponding to the second smallest eigenvalue Intutitively, the ith entry of y can be viewed as a “soft” indication of the component membership of the ith feature Can use 0 or median value of the entries as the splitting point (threshold), or find threshold that minimizes the Ncut cost

Normalized cut algorithm 1.Represent the image as a weighted graph G = (V,E), compute the weight of each edge, and summarize the information in D and W 2.Solve (D − W)y = λDy for the eigenvector with the second smallest eigenvalue 3.Use the entries of the eigenvector to bipartition the graph 4.Recursively partition the segmented parts, if necessary

Example result

Challenge How to segment images that are a “mosaic of textures”?

Using texture features for segmentation Convolve image with a bank of filters J. Malik, S. Belongie, T. Leung and J. Shi. "Contour and Texture Analysis for Image Segmentation". IJCV 43(1),7-27,2001."Contour and Texture Analysis for Image Segmentation"

Using texture features for segmentation Convolve image with a bank of filters Find textons by clustering vectors of filter bank outputs J. Malik, S. Belongie, T. Leung and J. Shi. "Contour and Texture Analysis for Image Segmentation". IJCV 43(1),7-27,2001."Contour and Texture Analysis for Image Segmentation" Texton mapImage

Using texture features for segmentation Convolve image with a bank of filters Find textons by clustering vectors of filter bank outputs The final texture feature is a texton histogram computed over image windows at some “local scale” J. Malik, S. Belongie, T. Leung and J. Shi. "Contour and Texture Analysis for Image Segmentation". IJCV 43(1),7-27,2001."Contour and Texture Analysis for Image Segmentation"

Pitfall of texture features Possible solution: check for “intervening contours” when computing connection weights J. Malik, S. Belongie, T. Leung and J. Shi. "Contour and Texture Analysis for Image Segmentation". IJCV 43(1),7-27,2001."Contour and Texture Analysis for Image Segmentation"

Example results

Results: Berkeley Segmentation Engine

Pros Generic framework, can be used with many different features and affinity formulations Cons High storage requirement and time complexity Bias towards partitioning into equal segments Normalized cuts: Pro and con

69 Wij small when intervening contour strong, small when weak.. Cij = max Pb(x,y) for (x,y) on line segment ij; Wij = exp ( - Cij /  

70 Eigenvectors carry contour information

71 We do not try to find regions from the eigenvectors, so we avoid the “broken sky” artifacts of Ncuts …

72 Key idea – compute edges on ncut eigenvectors, sum over first k: where is the output of a Gaussian derivative on the j-th eigenvector of

74 Contour detection ~2008 (color) 74 Global

Slide Credits Svetlana Lazebnik Eamonn Keogh Jitendra Malik