PPT

advertisement
Segmentation and Perceptual Grouping




The problem
Gestalt
Edge extraction: grouping and completion
Image segmentation
Camouflage
Kanizsa Triangle
The image of this cube contradicts the optical image
Perceptual Organization

Atomism, reductionism:



Perception is a process of decomposing an
image into its parts.
The whole is equal to the sum of its parts.
Gestalt (Wertheimer, Köhler, Koffka 1912)

The whole is larger than the sum of its parts.
Mona Lisa
Mona Lisa
Gestalt Principles

Proximity
Gestalt Principles


Proximity
Similarity
Gestalt Principles



Proximity
Similarity
Continuity
Gestalt Principles



Proximity
Similarity
Continuity

Closure
Gestalt Principles



Proximity
Similarity
Continuity


Closure
Common Fate
Gestalt Principles



Proximity
Similarity
Continuity



Closure
Common Fate
Simplicity
Smooth Completion




Isotropic
Smoothness
Minimal curvature
Extensibility
Elastica
E ()  min  k ( s)ds
2


Elastica is not scale invariant
    l   l , k 
E () 
1

E ( )
k

Elastica

Scale invariant measure
Ei ()  min l  k (s)ds
2


Approximation
Ei ()  4(    1 2 )
2
1
1
2
2
2
Finding lines from points
Parametric methods: RANSAC
RANSAC


RANdom SAmple Concensus
Complexity:



Need to go over all pairs: O(n2)
For each pair check how many more points are
consistent: O(n)
Total complexity: O(n3 )
RANSAC


Another application of RANSAC:
Find transformation between images
Example: compute homography




Compute homography for every 4 pairs of
corresponding points
Choose the homography that best explains the
image
m4n4 sets should be tested
Another example: compute epipolar lines

How many correspondences are needed?
Hough Transform
Hough Transform


Linear in the number of points
Describe lines as
y  mx  n

Or better

Prepare a 2D table
x cos   y sin   c
c
θ
Hough Transform
c
+1
+1
+1
+1
+1
θ
Hough Transform
c
13
16
θ
What if we want to find circles?
Curve Salience
Saliency Network
Encourage
 Length
 Low curvature
 Closure
Saliency Network
Tensor Voting




Every edge element votes to all its circular edge
completions
Vote attenuates with distance: e-αd
Vote attenuates with curvature: e-βk
Determine salience at every point using principal
moments
Tensor Voting
Stochastic Completion Field

Random walk:
x  cos 
y  sin 


N (0,  2 )
In addition, a particle may die with probability:
e
1/ r
Stochastic Completion Fields
Stochastic Completion Fields

Most probable path:
  k 2 ( s )ds   ds
with



1
2
1
   log(  2 )
r

2
Can be implemented as a convolution
Stochastic Completion Fields
Stochastic Completion Fields
Snakes

Given a curve Г(s)=(x(s),y(s)), define:
1
      E (( s ))ds
with
0
E (( s ))  Eimage  Eint  Eext
Eimage  I ( x, y )


  ( s) 2
Eint   ( s )
s
s
2
Eext  ...
2
2
Extremum: Calculus of Variation


Given a functional
T
  x  s     E ( x, x)ds
0
A condition for a local extrimum is obtained using the
Euler-Lagrange equation
   x  E d  E 

 
0
 x( s) x ds  x 

Curve evolution is defined
x( s, t ) E d  E 

 
0
t
x ds  x 

Solution obtained when
x( s, t )
0
t
Curve evolution
Level Set Methods
S ( x, y; t )
Curve defined implicitly
by S ( x, y; t )  0
Curve Evolution
Curve Evolution
Shortest Path
Image Segmentation: Thresholding
Histogram
1200
1000
800
600
400
200
0
0
50
100
150
200
250
Thresholding
Thresholding
125
99
156
S-T Min-Cut/Max Flow
S-T Min-Cut/Max Flow
t
S
Normalized Cuts

Given a graph G=(V,E), define

W = {wij} weights

D = diag{di}, di   wij
j


L = D - W Laplacian
Let V  A  B, we seek to solve
 cut ( A, B)
cut ( A, B) 



min
assoc( B,V ) 
V  A B  assoc ( A, V )
Normalized Cuts

This can be show to be equivalent to
T
u Lu
min T
u u Du
with
 1

ui   k
 1  k


vi  A
vi  B
and u T D1  0
With these constrains the problem is NP-hard.
Without the constraint the solution is obtained
through the generalized eigenvalue problem
Lu   Du
Normalized Cuts

Dividing into two segments:



Partition determined by the eigenvector with the
second smallest eigenvalue
We need to pick a threshold
Dividing into more than two segments:



Pick several thresholds.
Divide each segment recursively.
Pick the best few eigenvectors and then perform
k-means.
Texture Examples
Filter Bank
Textons
image
textons
texton
assignment
Normalized Cuts
Mean Shift Segmentation
Mean Shift Segmentation



Given an image, convert it to a function that is
inversely related to edgeness
Perform mean shift from every pixel
Cluster pixels that lead to the same peak
Mean Shift Segmentation
Summary


Local processing is often insufficient to separate
objects
We reviewed several approaches for


curve extraction, completion
region segmentation
Preattentive: Parallel
Preattentive: Parallel
Attention: Serial
Download