Segmentation. Bottom Up Segmentation

Similar documents
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

Segmentation (continued)

Grouping and Segmentation

The goals of segmentation

Segmentation and Grouping April 19 th, 2018

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

Segmentation and Grouping April 21 st, 2015

Segmentation and Grouping

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

Segmentation & Grouping Kristen Grauman UT Austin. Announcements

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

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

CMPSCI 670: Computer Vision! Grouping

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

Segmentation & Clustering

Lecture 16 Segmentation and Scene understanding

Lecture 7: Segmentation. Thursday, Sept 20

Image Segmentation. Selim Aksoy. Bilkent University

Image Segmentation. Selim Aksoy. Bilkent University

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

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

CS 534: Computer Vision Segmentation and Perceptual Grouping

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

Digital Image Processing

Lecture: k-means & mean-shift clustering

Image Analysis. Segmentation by Clustering

Lecture: k-means & mean-shift clustering

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

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

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

Segmentation Computer Vision Spring 2018, Lecture 27

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

Segmentation and Grouping

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

Segmentation and low-level grouping.

Announcements. Segmentation & Grouping. Review questions. Outline. Grouping in vision. Examples of grouping in vision 9/21/2015

2%34 #5 +,,% ! # %& ()% #% +,,%. & /%0%)( 1 ! # %& % %()# +(& ,.+/ +&0%//#/ &

Grouping and Segmentation

Lecture 13: k-means and mean-shift clustering

EE 701 ROBOT VISION. Segmentation

Computer Vision Lecture 6

Lecture 8: Fitting. Tuesday, Sept 25

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

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

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

Normalized cuts and image segmentation

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

Visual Representations for Machine Learning

Clustering. Discover groups such that samples within a group are more similar to each other than samples across groups.

CS 664 Segmentation. Daniel Huttenlocher

Segmentation and Grouping

Image Analysis - Lecture 5

3 October, 2013 MVA ENS Cachan. Lecture 2: Logistic regression & intro to MIL Iasonas Kokkinos

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

Lecture 10: Semantic Segmentation and Clustering

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

Computer Vision Lecture 6

Image Processing and Image Analysis VU

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

Content-based Image and Video Retrieval. Image Segmentation

Unit 3 : Image Segmentation

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

Segmentation by Clustering Reading: Chapter 14 (skip 14.5)

Segmentation by Clustering. Segmentation by Clustering Reading: Chapter 14 (skip 14.5) General ideas

Dr. Ulas Bagci

SYDE Winter 2011 Introduction to Pattern Recognition. Clustering

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

Segmentation: Clustering, Graph Cut and EM

Segmentation by Clustering

Image Segmentation. Computer Vision Jia-Bin Huang, Virginia Tech. Many slides from D. Hoiem

Computer Vision II Lecture 4

In this lecture, we are going to talk about image segmentation, essentially defined as methods for grouping pixels together.

Patch Descriptors. CSE 455 Linda Shapiro

SGN (4 cr) Chapter 11

Local features: detection and description. Local invariant features

2D image segmentation based on spatial coherence

CHAPTER 4. ANALYSIS of GRAPH THEORETICAL IMAGE SEGMENTATION METHODS

Using the Kolmogorov-Smirnov Test for Image Segmentation

Patch Descriptors. EE/CSE 576 Linda Shapiro

Local features and image matching. Prof. Xin Yang HUST

Local invariant features

Feature Detectors and Descriptors: Corners, Lines, etc.

Mining Social Network Graphs

Window based detectors

Nonparametric Clustering of High Dimensional Data

Clustering. CS294 Practical Machine Learning Junming Yin 10/09/06

How and what do we see? Segmentation and Grouping. Fundamental Problems. Polyhedral objects. Reducing the combinatorics of pose estimation

Computer Vision I. Announcement. Corners. Edges. Numerical Derivatives f(x) Edge and Corner Detection. CSE252A Lecture 11

Discriminative classifiers for image recognition

From Pixels to Blobs

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

CS4670: Computer Vision

Computational Modeling of Visual Perception. The Image Segmentation Problem

Global Probability of Boundary

Detecting Salient Contours Using Orientation Energy Distribution. Part I: Thresholding Based on. Response Distribution

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

What is an edge? Paint. Depth discontinuity. Material change. Texture boundary

Unsupervised learning in Vision

Clustering Algorithms for general similarity measures

Transcription:

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 pixels based on intensity similarity Feature space: intensity value (1-d) K=2 K=3 quantization of the feature space; segmentation label map 2

10/1/13 Segmentation as clustering Depending on what we choose as the feature space, we can group pixels in different ways. R=255 G=200 B=250 Grouping pixels based on color similarity B R=245 G=220 B=248 G R R=15 G=189 B=2 R=3 G=12 B=2 Feature space: color value (3-d) Kristen Grauman Segmentation as clustering Color, brightness, position alone are not enough to distinguish all regions 3

Segmentation as clustering Depending on what we choose as the feature space, we can group pixels in different ways. Grouping pixels based on texture similarity F 1 F 2 Filter bank of 24 filters F 2 4 Feature space: filter bank responses (e.g., 24-d) Segmentation with texture features Find textons by clustering vectors of filter bank outputs Describe texture in a window based on texton histogram Image Texton map Count Texton index Count Count Texton index Texton index Malik, Belongie, Leung and Shi. IJCV 2001. Adapted from Lana Lazebnik 4

10/1/13 K-means: pros and cons Pros Simple, fast to compute Converges to local minimum of withincluster squared error Cons/issues Setting k? Sensitive to initial centers Sensitive to outliers Detects spherical clusters Assuming means can be computed Mean shift algorithm The mean shift algorithm seeks modes or local maxima of density in the feature space image Feature space (L*u*v* color values) 5

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

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

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

Mean shift Search window Center of mass Slide by Y. Ukrainitz & B. Sarel Mean shift clustering 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 by Y. Ukrainitz & B. Sarel 9

10/1/13 Mean shift clustering/segmentation 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 segmentation results hjp://www.caip.rutgers.edu/~comanici/mspami/mspamiresults.html 10

10/1/13 Mean-Shift Segmentation Results Mean shift algorithm The mean shift algorithm seeks modes or local maxima of density in the feature space image Feature space (L*u*v* color values) 11

Images as graphs p w pq q w Fully-connected graph node (vertex) for every pixel link between every pair of pixels, p,q affinity weight w pq for each link (edge) w pq measures similarity similarity is inversely proportional to difference (in color and position ) Source: Steve Seitz Segmentation as Graph Partitioning (Shi & Malik 97) Normalized Cut Algorithm Idea each pixel in the image is a node in the graph Arcs represent similarities between adjacent pixels Graph is fully connected Goal partition the graph into a sets of vertices (regions), such that the similarity within the region is high and similarity across the regions is low. 12

Segmentation Toy example Bright entries in the affinity matrix high Likely to belong together one possible affinity based on distance ( ) = exp 1 2σ d 2 aff x, y ( ) * $ % ( ) & ' x y 2 +, - Scale affects affinity Depending on the scale the blocks are more (middle) Or less obvious (left and right) ( ) ( $ aff ( x, y) = exp 1 & ) 2 % 2σ d ' x y 2 +, * - d = {0.1, 0.2, 1} 13

Measuring Affinity Intensity Distance Texture ( ) = exp 1 2σ i 2 aff x, y aff x, y aff x, y ( ) * ( ) * $ % $ % ( ) = exp 1 2σ d 2 ( ) * $ % ( ) = exp 1 2σ t 2 ( ( ) I( y) 2 ) & ' I x ( ) & ' x y 2 +, - ( ( ) c( y) 2 ) & ' c x +, - +, - Eigenvectors and segments Consider A affinity matrix Simplest idea: we want a vector giving the association between each element and a cluster We want elements within this cluster to, on the whole, have strong affinity with one another To get single Good Cluster - maximize a T Aa Where a is an vector linking elements to n-th cluster (i-th entry associates element with the cluster) In order to prevent arbitrary large association weights impose constraint a T a = 1 This is an eigenvalue problem - choose the eigenvector of A with largest eigenvalue - single good cluster 14

Example eigenvector points eigenvector matrix Entries associated with the largest cluster are high Searching for additional clusters look at Eigenvectors associated with second largest Eigenvalue etc More than two segments Reasoning about other eigenvectors - consider that affinity matrix is block diagonal. Until there are sufficient clusters pick eigenvector associated with the largest eigenvalue, zero the elements which were clustered, threshold elements with large association weights - those will form a new cluster Keep going until there is sufficient number of clusters and all elements have been accounted for Spectral Clustering Techniques (A. Ng and M. Jordan) Problems - if the eigenvalues are similar - eigenvectors do not reveal the clusters Normalized cut - graph cut - alternative optimization criterion J. Shi and J. Malik derivation on the board 15

Normalized Cuts Previous method we can get eigenvectors which do not split clusters e.g. in cases when there is no dominant eigenvalue Alternative approach find the best cut of the graph into two connected components, such that the cost of the cut is small Cuts in a graph: Min cut A Link Cut set of links whose removal makes a graph disconnected cost of a cut: B cut( A, B) = w p, q p A, q B Find minimum cut gives you a segmentation fast algorithms exist for doing this Source: Steve Seitz 16

Minimum cut Problem with minimum cut: Weight of cut proportional to number of edges in the cut; tends to produce small, isolated components. [Shi & Malik, 2000 PAMI] Cuts in a graph: Normalized cut A B Normalized Cut fix bias of Min Cut by normalizing for size of segments: cut( A, B) cut( A, B) + assoc( A, V ) assoc( B, V ) assoc(a,v) = sum of weights of all edges that touch A Ncut value small when we get two clusters with many edges with high weights, and few edges of low weight between them Approximate solution for minimizing the Ncut value : generalized eigenvalue problem. J. Shi and J. Malik, Normalized Cuts and Image Segmentation, CVPR, 1997 Source: Steve Seitz 17

Cue Combination J. Kosecka Figure from Image and video segmentation: the normalised cut framework, by Shi and Malik, copyright IEEE, 1998 18

10/1/13 Example results Results: Berkeley Segmentation Engine http://www.cs.berkeley.edu/~fowlkes/bse/ 19

Graph Based Segmentation Given representation of an image as a graph G(V,E) Partition the graph into C components, such that all the nodes within a component are similar Minimum weight spanning tree algorithm 1. Start with pixels as vertices, edge as similarity between neigbours, gradualy build connected components of the graph 2. Pick the lowest cost edge, the decision whether to join the two components or keep them apart depends on similarity within the components is smaller then similarity between the components. If the difference between the components is small then join them, else do nothing 3. Stopping criterion number of desired segments Ref. P. Felzenswalb and D. Huttenlocher Efficient Graph Based Image Segmentation MWST algorithm Idea merge regions in decreasing order of the edges separating them Regions connected by weak edges merged first Each region characterized by internal difference Int(R) = min {e R} w(e) Region difference minimum weight connecting two regions Diff (R 1, R 2 ) = min {v1 R1,v2 R2} w(e) Merge any two regions who s difference is smaller then the minimum internal difference of these regions MInt(R 1, R 2 ) = min(int(r 1 )+τ (R 1 ), Int(R 2 )+τ (R 2 )) 20

MWST graph based segmentation Example results Segments as primitives for recognition B. Russell et al., Using Multiple Segmentations to Discover Objects and their Extent in Image Collections, CVPR 2006 Slide credit: Lana Lazebnik 21

Grouping in humans Figure-ground discrimination grouping can be seen in terms of allocating some elements to a figure, some to ground impoverished theory Gestalt properties elements in a collection of elements can have properties that result from relationships (Muller-Lyer effect) Gestalt-qualitat A series of factors affect whether elements should be grouped together Gestalt factors 22

23

24