+ All Categories
Home > Documents > Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Date post: 25-Dec-2015
Category:
Upload: audrey-hodges
View: 226 times
Download: 2 times
Share this document with a friend
Popular Tags:
53
Image Segmentation Rob Atlas Nick Bridle Evan Radkoff
Transcript
Page 1: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Image SegmentationRob AtlasNick Bridle

Evan Radkoff

Page 2: 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

Page 3: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

High Level Overview of Papers

Image Segmentation

Mean Shift

Interactive Cuts

Normalized Cuts

Local approaches Graph cuts

Comaniciu et al., 1999 Shi and Malik, 2000

Rother et al., 2004Li et al., 2004

Page 4: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Mean Shift Analysis

Dorin Comaniciu, Peter Meer

Rutgers University, ICCV 1999

Page 5: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Spatial-Range Domain

Spatial domain: pixel locationsRange domain: intensity valuesSpatial-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

Page 6: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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:

Page 7: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Epanechnikov Kernel

cd : volume of the unit d-dimensional sphere

Page 8: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Estimating the Density Gradient

Goal:

where Sh is a hypersphere containing nx data points

Page 9: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Mean Shift Vector

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

Page 10: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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

Page 11: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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, SegmentationTwo parameters: spatial resolution and range resolution

Page 12: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Mean Shift Filteringxi: source pixel zi: filtered pixelfor each xiapply the mean shift procedure on xi to find the

convergence point yispacial domain of zi = spacial domain of xirange domain of zi = range domain of yi

Page 13: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Results

Page 14: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Results

Page 15: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Results

Page 16: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Segmentation

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

Page 17: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Advantages:

No oversight requiredPreserves detail when appropriate

Disadvantages:

Cannot choose how many segments are made

Page 18: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Normalized Cuts and Image Segmentation...

Shi and Malik, 2000

Page 19: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Basic Idea

Treat image segmentation as a graph-partitioning problem

Big Questions:

1. How do we define a good partitioning?2. How do we do partition efficiently?

Page 20: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Images as a graph

G=(V,E)

Vertices: pixels

Edges: similarity

Page 21: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Graph cuts

Assumes:Graph is fully connected

Given: G=(V,E)Do:

Create disjoint vertex sets A, B s.t.

and

Page 22: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Similarity metric

Weight between edges in graph:

X(i): Location of pixel iF(i): Feature vector describing pixel i

Simple case - F(i)=1 for segmenting pointsIntensity, color, texture

, : Parameters

Page 23: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

2-way graph cut

Minimize:

Existing efficient methods for optimal 2-way cut

Page 24: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Recursive minimum cuts

Iteratively bipartition graph according to minimum cut (Wu and Leahy, 1993)

The problem: favors small clusters

Page 25: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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

Intuition for normalized cuts

Page 26: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Normalized cuts

Goal: partition into disassociated groups

Page 27: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Minimizing association between groups ~ maximizing association within groups

Page 28: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Computational complexity

Minimizing normalized cut: NP-complete

Can compute approximate solution by solving a generalized eigenvalue problem

Page 29: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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

Page 30: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

A solvable representation

First eigenvector (eigenvalue=0):

Page 31: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Second smallest eigenvalue describes solution

Remember, the smallest eigenvalue is 0

Page 32: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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

Page 33: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Segmentation Algorithm

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

Page 34: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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

Page 35: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Partitioning by an eigenvector

Page 36: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Examples - segmenting point sets

Page 37: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Examples - segmenting noisy data

Page 38: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Examples - images

Page 39: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Example - image with texture metric

Page 40: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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

Page 41: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Foreground Extraction

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

Page 42: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Foreground Extraction

Given pixel intensity values

Output set of alphas

which determine how much each pixel belongs to the foreground

"Hard segmentation":

"Soft segmentation":

Page 43: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

GrabCut

Rother et al.,SIGGRAPH 2004

Page 44: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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

Page 45: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

GrabCut: Algorithm

Page 46: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

GrabCut: Border Matting

Perform hard segmentation on image, and then relax alpha values on the border of the object

Page 47: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.
Page 48: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Lazy Snapping

Li et al., SIGGRAPH 2004

Page 49: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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:

Page 50: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

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

Page 51: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Lazy Snapping: Boundary Editing

Want boundary to "snap" to the user-defined polygon

Energy term E2 becomes

Page 52: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Lazy Snapping: Results

Page 53: Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.

Thanks for listening.

Questions?


Recommended