CS 376b Introduction to Computer Vision 04 / 08 / 2008 Instructor: Michael Eckmann.

Slides:



Advertisements
Similar presentations
CS 376b Introduction to Computer Vision 04 / 21 / 2008 Instructor: Michael Eckmann.
Advertisements

Department of Computer Engineering
Segmentácia farebného obrazu
Normalized Cuts and Image Segmentation
電腦視覺 Computer and Robot Vision I Chapter2: Binary Machine Vision: Thresholding and Segmentation Instructor: Shih-Shinh Huang 1.
Image Segmentation Selim Aksoy Department of Computer Engineering Bilkent University
10/11/2001Random walks and spectral segmentation1 CSE 291 Fall 2001 Marina Meila and Jianbo Shi: Learning Segmentation by Random Walks/A Random Walks View.
CS 206 Introduction to Computer Science II 11 / 11 / Veterans Day Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 04 / 20 / 2009 Instructor: Michael Eckmann.
Lecture 6 Image Segmentation
Normalized Cuts and Image Segmentation Jianbo Shi and Jitendra Malik, Presented by: Alireza Tavakkoli.
© 2003 by Davi GeigerComputer Vision October 2003 L1.1 Image Segmentation Based on the work of Shi and Malik, Carnegie Mellon and Berkley and based on.
Region Segmentation. Find sets of pixels, such that All pixels in region i satisfy some constraint of similarity.
CS 376b Introduction to Computer Vision 04 / 11 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 26 / 2008 Instructor: Michael Eckmann.
Segmentation Divide the image into segments. Each segment:
CS 376b Introduction to Computer Vision 04 / 04 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 27 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 11 / 03 / 2008 Instructor: Michael Eckmann.
Cutting complete weighted graphs Jameson Cahill Ido Heskia Math/CSC 870 Spring 2007.
CS 376b Introduction to Computer Vision 02 / 25 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 01 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 14 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 03 / 25 / 2009 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
Image Segmentation A Graph Theoretic Approach. Factors for Visual Grouping Similarity (gray level difference) Similarity (gray level difference) Proximity.
CS 206 Introduction to Computer Science II 03 / 30 / 2009 Instructor: Michael Eckmann.
Segmentation via Graph Cuts
Image Segmentation Selim Aksoy Department of Computer Engineering Bilkent University
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.
CS 376b Introduction to Computer Vision 02 / 26 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 02 / 2008 Instructor: Michael Eckmann.
Presenter : Kuang-Jui Hsu Date : 2011/5/3(Tues.).
Graph Partitioning and Clustering E={w ij } Set of weighted edges indicating pair-wise similarity between points Similarity Graph.
CSSE463: Image Recognition Day 34 This week This week Today: Today: Graph-theoretic approach to segmentation Graph-theoretic approach to segmentation Tuesday:
Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided K-means Clustering (text) EM Clustering (paper) Graph Partitioning (text)
1Ellen L. Walker Segmentation Separating “content” from background Separating image into parts corresponding to “real” objects Complete segmentation Each.
Image Segmentation February 27, Implicit Scheme is considerably better with topological change. Transition from Active Contours: –contour v(t) 
Chapter 14: SEGMENTATION BY CLUSTERING 1. 2 Outline Introduction Human Vision & Gestalt Properties Applications – Background Subtraction – Shot Boundary.
CS 376b Introduction to Computer Vision 02 / 22 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 21 / 2008 Instructor: Michael Eckmann.
Digital Camera and Computer Vision Laboratory Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan, R.O.C.
CS654: Digital Image Analysis
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 11 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 18 / 2008 Instructor: Michael Eckmann.
Image Segmentation Superpixel methods Speaker: Hsuan-Yi Ko.
CS654: Digital Image Analysis Lecture 28: Advanced topics in Image Segmentation Image courtesy: IEEE, IJCV.
Machine Vision ENT 273 Regions and Segmentation in Images Hema C.R. Lecture 4.
CS 376b Introduction to Computer Vision 02 / 15 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 12 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 31 / 2008 Instructor: Michael Eckmann.
 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.
CS 376b Introduction to Computer Vision 03 / 17 / 2008 Instructor: Michael Eckmann.
Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos VC 15/16 – TP10 Advanced Segmentation Miguel Tavares.
Digital Camera and Computer Vision Laboratory Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan, R.O.C.
Digital Image Processing, 3rd ed. © 1992–2008 R. C. Gonzalez & R. E. Woods Gonzalez & Woods Chapter 11 Representation and.
Course 3 Binary Image Binary Images have only two gray levels: “1” and “0”, i.e., black / white. —— save memory —— fast processing —— many features of.
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
Normalized Cuts and Image Segmentation Patrick Denis COSC 6121 York University Jianbo Shi and Jitendra Malik.
Machine Vision ENT 273 Lecture 4 Hema C.R.
Miguel Tavares Coimbra
Region Segmentation Readings: Chapter 10: 10
CSSE463: Image Recognition Day 34
COMP 9517 Computer Vision Segmentation 7/2/2018 COMP 9517 S2, 2017.
Spectral Clustering Eric Xing Lecture 8, August 13, 2010
Computer and Robot Vision I
CSSE463: Image Recognition Day 34
“Traditional” image segmentation
Presentation transcript:

CS 376b Introduction to Computer Vision 04 / 08 / 2008 Instructor: Michael Eckmann

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Today’s Topics Comments/Questions Segmentation algorithms –region growing single linkage centroid linkage –clustering using graph algorithms –representing regions

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation Haralick and Shapiro (1985)‏ –considered a region to be a set of connected pixels with same mean and variance –mean and scatter of a region is defined –when a new pixel is added into a region, the new mean and scatter are given

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation Haralick and Shapiro (1985) region growing algorithm –a T statistic is also defined which is used to determine if a test pixel is part of the same distribution of a region (should be added into the region) up to some confidence level –if T is too high, y (the test pixel) is likely to not be part of the same population of pixels in the region –if T is too high for y and all neighboring regions of y, then y starts as the first pixel in a new region –besides being close to the mean of a region's distribution (the T test above), could also require that a neighboring pixel have a close enough value to y (which is the main criteria in single-linkage region growers)‏

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation Haralick and Shapiro (1985) region growing algorithm –T is considered for some fraction called alpha (e.g. 1/20)‏ this alpha is the probability that a T with N-1 d.o.f. exceeds T N-1 (alpha)‏ –T N-1 (alpha) for a given N-1 and alpha, is a defined quantity if our computed T does exceed this T N-1 (alpha) then it is determined that the pixel is significantly different than the population of the region if the pixel really did belong to the same population as the region, then the probability that the test we did was incorrect is alpha (e.g. 1/20)

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation Haralick and Shapiro (1985) region growing algorithm –the d.o.f. N-1 T N-1 (alpha) is higher for smaller N-1 and lower for larger N-1 the d.o.f. is determined from the number of pixels in the region --- the more pixels already determined as part of the population, the larger the d.o.f. (and vice-versa)‏ what does this mean for us? –the larger number of pixels a region has, the closer a pixel's value has to be to that mean to join the region (and the smaller a region is...)‏

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation Other researchers took a graph theoretic approach to segmentation. –Let G=(V,E) where V is the set of points in the measurement space and E is the set of weighted edges where the weight represents the similarity between the two vertices –Goal partition the graph into disjoint subsets of V so that similarity within sets is high and similarity between sets is low To partition a graph into two disjoint graphs G a =(A,E a ) and G b =(B,E b ) whereV = A union B we remove any edges from E that connect v's in A with v's in B

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation To partition a graph into two disjoint graphs G a =(A,E a ) and G b =(B,E b ) whereV = A union B we remove any edges from E that connect v's in A with v's in B –the degree of dissimilarity between the two disjoint sets A and B can be computed as the sum of the weights of the edges removed --- this sum of the weights of the edges removed is called a cut so, cut(A,B) = Sum of weights of edges connecting v's in A with v's in B

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation Wu & Leahy (1993) used minimum cut to segment regions –does anyone know any problems with minimum cut?

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation Wu & Leahy (1993) used minimum cut to segment regions –problem with minimum cut is it tends to prefer cutting off small regions which isn't great for image segmentation (example from paper)‏ Others came up with other formulations on what to minimize. What is really wanted is –each segment should have v's that are highly similar (have large weights) and between segments should be highly dissimilar (have low weights) without a bias towards small regions being cut off

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation Shi and Malik –developed a new graph partitioning method –problem with minimum cut --- favors small sets of isolated vertices --- not useful for segmenting into large uniform (in some measurement) regions –proposed normalized cut (Ncut) which is: Ncut(A,B) = cut(A,B)/assoc(A,V) + cut(A,B)/assoc(B,V)‏ where assoc(A,V) = sum of all weights of edges from vertices in A to vertices in V (V is all the vertices in G)‏

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation Shi and Malik Ncut(A,B) is a measure of cut cost as a fraction of the total edge connections to all the nodes in the graph the cut that partitions out small isolated points will not have a small Ncut example: consider a cut that isolates 1 vertex what is Ncut's value? consider a case where a cut would divide the graph into two large groups by cutting only one small weight edge vs. a cut in the same graph that would cut a different edge of the same small weight but would divide the graph into two groups with: 1 vertex and N-1 vertices

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation A segmentation algorithm based on the Ncut would do something like this: –set up a weighted graph with v's the pixels and edges the weigths between the v's. weight of edge e ij should represent the similarity of pixel i to pixel j based on color or texture or intensity (and possibly in addition to distance within the image)‏ –find the minimum Ncut for the whole graph and partition the pixels into two segments –recursively do the same thing but with each partition created above –do this until each partition should no longer be subdivided

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation If you wish to read more about the Shi, Malik scheme, see “Normalized Cuts and Image Segmentation”, Shi, Malik in IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) August 2000, volume 22, number 8, pages

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Segmentation All algorithms discussed so far generate segments which need to be represented in some fashion. The most common representation is probably a labelled image, where an image of the same size as the original is created with labels as pixel values. All pixels that are part of the same segment have the same label and different segments have different labels. Connected components algorithms typically produce something like this.

Segmentation Other possibilities include –overlays (line drawings over the top of the original image to show the segments)‏ –boundary coding linear list of the border pixels chain code –store coords of one border pixel and then a list of “directions” quadtrees –multiresolution scheme which encodes the whole region not just the border property tables –each row is a region and each column is some property of interest

Segmentation chain code (part of figure in Shapiro and Stockman)‏ Michael Eckmann - Skidmore College - CS 376b - Spring 2008

Segmentation quadtrees (figure in Shapiro and Stockman)‏ Michael Eckmann - Skidmore College - CS 376b - Spring 2008

Segmentation property tables –each row is a region and each column is some property of interest area, main colors, texture measures, and even the chain code or quadtree representation of the region Exercise 10.4 Consider an image region represented by a) a labelled image and b) a chain code. Create 4 algorithms and give their running times: –compute the area of region using labelled image –compute the perimeter of region using labelled image –compute the area of region using the chain code –compute the perimeter of region using the chain code

Segmentation Boundary extraction –a process by which we can determine and encode the boundaries of all the segments or connected components in an image –a simple procedure is as follows: given a labelled image and assume background has some predetermined label make a list of the first border pixel for each connected-component by scanning through the whole image once for each first border pixel, start there and follow the border in a clockwise fashion.