Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Slides:



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

Normalized Cuts and Image Segmentation
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:
GrabCut Interactive Image (and Stereo) Segmentation Carsten Rother Vladimir Kolmogorov Andrew Blake Antonio Criminisi Geoffrey Cross [based on Siggraph.
Stephen J. Guy 1. Photomontage Photomontage GrabCut – Interactive Foreground Extraction 1.
1 s-t Graph Cuts for Binary Energy Minimization  Now that we have an energy function, the big question is how do we minimize it? n Exhaustive search is.
GrabCut Interactive Image (and Stereo) Segmentation Joon Jae Lee Keimyung University Welcome. I will present Grabcut – an Interactive tool for foreground.
Image Segmentation some examples Zhiqiang wang
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.
Lecture 6 Image Segmentation
Image segmentation. The goals of segmentation Group together similar-looking pixels for efficiency of further processing “Bottom-up” process Unsupervised.
Algorithms & Applications in Computer Vision Lihi Zelnik-Manor Lecture 11: Structure from Motion.
EE 7730 Image Segmentation.
CS 376b Introduction to Computer Vision 04 / 08 / 2008 Instructor: Michael Eckmann.
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.
Unsupervised Learning of Categories from Sets of Partially Matching Image Features Dominic Rizzo and Giota Stratou.
Segmentation Divide the image into segments. Each segment:
CS 376b Introduction to Computer Vision 04 / 04 / 2008 Instructor: Michael Eckmann.
Segmentation Graph-Theoretic Clustering.
Cutting complete weighted graphs Jameson Cahill Ido Heskia Math/CSC 870 Spring 2007.
Image Segmentation A Graph Theoretic Approach. Factors for Visual Grouping Similarity (gray level difference) Similarity (gray level difference) Proximity.
Image Segmentation Today’s Readings Forsyth & Ponce, Chapter 14
Perceptual Organization: Segmentation and Optical Flow.
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
Image Segmentation Image segmentation is the operation of partitioning an image into a collection of connected sets of pixels. 1. into regions, which usually.
Computer Vision James Hays, Brown
Segmentation Techniques Luis E. Tirado PhD qualifying exam presentation Northeastern University.
Mean-shift and its application for object tracking
Presenter : Kuang-Jui Hsu Date : 2011/5/3(Tues.).
Clustering appearance and shape by learning jigsaws Anitha Kannan, John Winn, Carsten Rother.
Mean Shift Theory and Applications Reporter: Zhongping Ji.
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)
MRFs and Segmentation with Graph Cuts Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/24/10.
Image Segmentation February 27, Implicit Scheme is considerably better with topological change. Transition from Active Contours: –contour v(t) 
Segmentation Course web page: vision.cis.udel.edu/~cv May 7, 2003  Lecture 31.
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.
EECS 274 Computer Vision Segmentation by Clustering II.
CS654: Digital Image Analysis Lecture 30: Clustering based Segmentation Slides are adapted from:
Gaussian Mixture Models and Expectation-Maximization Algorithm.
Real-Time Tracking with Mean Shift Presented by: Qiuhua Liu May 6, 2005.
Image Segmentation Shengnan Wang
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.
Normalized Cuts and Image Segmentation Patrick Denis COSC 6121 York University Jianbo Shi and Jitendra Malik.
Image segmentation.
Course Introduction to Medical Imaging Segmentation 1 – Mean Shift and Graph-Cuts Guy Gilboa.
K-Means Segmentation.
Edge Detection using Mean Shift Smoothing
Exercise class 13 : Image Segmentation
Region Segmentation Readings: Chapter 10: 10
CSSE463: Image Recognition Day 34
A segmentation and tracking algorithm
Grouping.
Lecture 31: Graph-Based Image Segmentation
Digital Image Processing
“grabcut”- Interactive Foreground Extraction using Iterated Graph Cuts
Seam Carving Project 1a due at midnight tonight.
Image Segmentation CS 678 Spring 2018.
Spectral Clustering Eric Xing Lecture 8, August 13, 2010
Segmentation (continued)
3.3 Network-Centric Community Detection
EM Algorithm and its Applications
CSSE463: Image Recognition Day 34
“Traditional” image segmentation
Presentation transcript:

Image Segmentation Rob Atlas Nick Bridle Evan Radkoff

Image Segmentation Separate an image into sets of pixels which represent some structure in the image Main application is object and boundary detection

High Level Overview of Papers Image Segmentation Local approaches Graph cuts Mean Shift Normalized Cuts Comaniciu et al., 1999 Shi and Malik, 2000 Interactive Cuts Rother et al., 2004 Li et al., 2004

Mean Shift Analysis Rutgers University, ICCV 1999 Dorin Comaniciu, Peter Meer Rutgers University, ICCV 1999

{ x / ∂s , y / ∂s , R / ∂r , G / ∂r , B / ∂r } Spatial-Range Domain Spatial domain: pixel locations Range domain: intensity values Spatial-Range domain: concatenation of the two { x, y, R, G, B } Parameters: ∂s: Spatial domain normalization ∂r: Range domain normalization { x / ∂s , y / ∂s , R / ∂r , G / ∂r , B / ∂r } 5 dimensions for RGB, 3 for grayscale

Kernel Density Estimate For n points {xi}i=1..n in a d-dimensional Euclidean space with kernel function K(x) and window radius h:

Epanechnikov Kernel cd : volume of the unit d-dimensional sphere

Estimating the Density Gradient Goal: where Sh is a hypersphere containing nx data points

Mean Shift Vector Vector with a direction towards the largest increase in density, thus leading to a local density maximum.

Mean Shift Procedure 1) Compute the mean shift vector Mh(x) 2) Translate the window Sh(x) by Mh(x) 3) If not converged, go to step 1. Mathematically guaranteed to converge

Applying Mean Shift to Images Spatial-Range Domain: { x / ∂s , y / ∂s , R / ∂r , G / ∂r , B / ∂r } The authors apply the mean shift procedure to all points in the spatial-range domain. Two applications: Filtering, Segmentation Two parameters: spatial resolution and range resolution

Mean Shift Filtering xi: source pixel zi: filtered pixel for each xi apply the mean shift procedure on xi to find the convergence point yi spacial domain of zi = spacial domain of xi range domain of zi = range domain of yi

Results

Results

Results

Segmentation Instead of changing pixels ranges (colors), group them by which point their mean shift procedure converges to.

Advantages: Disadvantages: No oversight required Preserves detail when appropriate Disadvantages: Cannot choose how many segments are made

Normalized Cuts and Image Segmentation Shi and Malik, 2000 ...

Basic Idea Big Questions: Treat image segmentation as a graph-partitioning problem Big Questions: Advantage over older methods: fast and global 1. How do we define a good partitioning? 2. How do we do partition efficiently?

Images as a graph G=(V,E) Vertices: pixels Edges: similarity

Graph cuts Assumes: Graph is fully connected Given: G=(V,E) Do: Create disjoint vertex sets A, B s.t. and

Similarity metric Weight between edges in graph: X(i): Location of pixel i F(i): Feature vector describing pixel i Simple case - F(i)=1 for segmenting points Intensity, color, texture Like mean shift, we take into account distance in space and intensity difference , : Parameters

2-way graph cut Minimize: Existing efficient methods for optimal 2-way cut

Recursive minimum cuts Iteratively bipartition graph according to minimum cut (Wu and Leahy, 1993) The problem: favors small clusters

Intuition for normalized cuts Want to minimize cut score But, we also want to partition out larger areas with more connections So, what we're really interested in is the proportion of total weights that we are cutting for each segment

Normalized cuts Goal: partition into disassociated groups

Minimizing association between groups ~ maximizing association within groups

Computational complexity Minimizing normalized cut: NP-complete Can compute approximate solution by solving a generalized eigenvalue problem Proof - see paper

Eigenvalue system D - diagonal matrix of the total weight from each node to every other W - matrix of weights between nodes y - eigenvectors lambda - eigenvalues However, this is not in standard form for solving

A solvable representation First eigenvector (eigenvalue=0):

Second smallest eigenvalue describes solution Remember, the smallest eigenvalue is 0

Recursive two-way Ncut Third, fourth, etc eigenvalues correspond to eigenvectors that subdivide the existing graphs However, error accumulates with each Better to recompute partitioning on each subgraph iteratively

Segmentation Algorithm 1. Create weighted graph G=(V,E) 2. Solve and take the eigenvector with the second smallest eigenvalue 3. Bipartition the graph with this eigenvector 4. If Ncut is below threshold value, recursively partition each segment

Partitioning by an eigenvector The partitioning eigenvector contains one continuous value per pixel Since these are continuous, not discrete, they don't directly tell us which points are in which segment Instead, we try different cutoffs, and select the one that produces the minimal NCut value

Partitioning by an eigenvector

Examples - segmenting point sets

Examples - segmenting noisy data

Examples - images

Example - image with texture metric

Interactive Graph Cuts User can provide hints about where the objects are in the scene Ideally, the less work the user has to do, the better

Foreground Extraction Goal is to partition the pixels into two sets: foreground and background

Foreground Extraction Given pixel intensity values Output set of alphas which determine how much each pixel belongs to the foreground "Hard segmentation": "Soft segmentation":

GrabCut Rother et al., SIGGRAPH 2004

GrabCut: Handling Color Images Previous work: histogram of gray values for foreground and background GrabCut: - histograms are intractable for color - instead use Gaussian Mixture Model (GMM) to represent the distribution of color

GrabCut: Algorithm

GrabCut: Border Matting Perform hard segmentation on image, and then relax alpha values on the border of the object

Lazy Snapping Li et al., SIGGRAPH 2004

Lazy Snapping: Energy Function Minimize the Gibbs energy function Run k-means clustering on foreground and background points E1 defined in terms of these mean colors:

Lazy Snapping: Speeding it up Speed is crucial for a responsive user experience Use the watershed algorithm to divide the image into small approximately constant patches, then do graph cut using these as the nodes

Lazy Snapping: Boundary Editing Want boundary to "snap" to the user-defined polygon Energy term E2 becomes

Lazy Snapping: Results

Thanks for listening. Questions?