Title: Shape-Representation
1Shape-Representation
and
Shape Similarity
Part 1 Shapes
Dr. Rolf Lakaemper
2May I introduce myself
- Rolf Lakaemper
- PhD (Doctorate Degree) 2000
- Hamburg University, Germany
- Currently Assist. Professor at Department
- of Computer and Information Sciences,
- Temple University, Philadelphia, USA
- Main Research Area Computer Vision
3Motivation
WHY SHAPE ?
4Motivation
These objects are recognized by
5Motivation
These objects are recognized by
Texture Color Context Shape
X X
X X
X
X
X
X X
6Why Shape ?
Several applications in computer vision use shape
processing Object recognition Image
retrieval Processing of pictorial information
Video compression (eg. MPEG-7) This
presentation focuses on object recognition and
image retrieval.
7Motivation
Typical Application Multimedia Image Database
Query by Shape / Texture / (Color / Keyword)
8Blobworld
Example 1 Blobworld http//elib.cs.berkeley.edu/
photos/blobworld/start.html
BLOB Binary Large Object, an indistinct
shapeless (really ?) form
9Blobworld
Blobworld Query by Shape / Texture / Location /
Color
Selected Blob Query by Color and Texture of
Blob Result Blobs with similar Color and
Texture Satisfying ?
10Blobworld
Blobworld Query by Shape / Texture / Location /
Color
Selected Blob Query by Shape of
Blob Result are these shapes similar
? Satisfying ?
11Blobworld
Result SHAPE recognition seems to be necessary
but not easy !
12ISS Database
Example 2 ISS-Database http//knight.cis.temple.
edu/shape
13The Interface (JAVA Applet)
14The Sketchpad Query by Shape
15The First Guess Different Shape - Classes
16Selected shape defines query by shape class
17Result
18ISS Database
ISS Query by Shape / Texture
Sketch of Shape Query by Shape
only Result Satisfying ?
19ISS Database
SHAPE recognition seems to be possible and
leads to satisfying results !
20ISS Database
The ISS-Database will be topic of part IV of
this tutorial so stay alert !
21Overview
- Overview Part 1
- Why shape ?
- What is shape ?
- Shape similarity
- Metrices
- Classes of similarity measures
- Feature Based Coding
- Examples for global similarity
22Why Shape ?
Why Shape ?
- Shape is probably the most important property
that is perceived about objects. It allows to
predict more facts about an object than other
features, e.g. color (Palmer 1999) - Thus, recognizing shape is crucial for object
recognition. In some applications it may be the
only feature present, e.g. logo recognition
23Why Shape ?
- Shape is not only perceived by visual means
- tactical sensors can also provide shape
information that are processed in a similar way. - robots range sensor provide shape information,
too.
24Shape
- Typical problems
- How to describe shape ?
- What is the matching transformation?
- No one-to-one correspondence
- Occlusion
- Noise
25Shape
- Partial match only part of query appears in part
of database shape
26What is Shape ?
- What is Shape ?
- Plato, "Meno", 380 BC
- "figure is the only existing thing that is found
always following color - "figure is limit of solid"
27What is Shape ?
lets start with some properties easier to
agree on Shape describes a spatial
region Shape is a (the ?) specific part of
spatial cognition Typically addresses 2D
space why ?
28What is Shape ?
3D gt 2D projection
29What is Shape ?
the original 3D (?) object
30What is Shape ?
Moving on from the naive understanding, some
questions arise Is there a maximum size for a
shape to be a shape? Can a shape have holes?
Does shape always describe a connected region?
How to deal with/represent partial shapes
(occlusion / partial match) ?
31What is Shape ?
Shape or Not ? Continuous transformation
from shape to no shape Is there a point when it
stops being a shape?
32What is Shape ?
Shape or Not ? Continuous transformation
from shape to two shapes Is there a point when
it stops being a single shape?
33What is Shape ?
But theres no doubt that a single, connected
region is a shape. Right ?
34What is Shape ?
A single, connected region. But a shape
? A question of scale !
35What is Shape ?
- Theres no easy, single definition of shape
- In difference to geometry, arbitrary shape is not
covered by an axiomatic system - Different applications in object recognition
focus on different shape related features - Special shapes can be handled
- Typically, applications in object recognition
employ a similarity measure to determine a
plausibility that two shapes correspond to each
other
36Similarity
So the new question is What is Shape
Similarity ? or How to Define a Similarity
Measure
37Similarity
Again its not so simple (sorry). Theres
nothing like THE similarity measure
38Similarity
which similarity measure, depends on which
required properties, depends on which
particular matching problem, depends on which
application
39Similarity
which application
Simple Recognition (yes / no)
... robustness
Common Rating (best of ...)
Analytical Rating (best of, but...)
... invariance to basic transformations
40Similarity
which problem computation problem d(A,B)
decision problem d(A,B) lte ? decision
problem is there g d(g(A),B) lte ?
optimization problem find g min d(g(A),B)
41Similarity
which properties We concentrate here on the
computational problem d(A,B)
42Similarity Measure
- Requirements to a similarity measure
- Should not incorporate context knowledge (no AI),
thus computes generic shape similarity
43Similarity Measure
- Requirements to a similarity measure
- Must be able to deal with noise
- Must be invariant with respect to basic
transformations
Next Strategy
Scaling (or resolution)
Rotation
Rigid / non-rigid deformation
44Similarity Measure
- Requirements to a similarity measure
- Must be able to deal with noise
- Must be invariant with respect to basic
transformations - Must be in accord with human perception
45Similarity Measure
Some other aspects worth consideration
Similarity of structure Similarity of
area Can all these aspects be expressed by
a single number?
46Similarity Measure
- Desired Properties of a Similarity Function C
- (Basri et al. 1998)
- C should be a metric
- C should be continous
- C should be invariant (to)
47Properties
Metric Properties S set of patterns Metric d
S S R satisfying 1. Self-identity " xÎS,
d(x,x)0 2. Positivity " x ¹yÎS, d(x,y)gt0 3.
Symmetry " x, yÎS, d(x,y) d(y,x) 4. Triangle
inequality " x, y, zÎS, d(x,z)d(x,y)d(y,z)
Semi-metric 1, 2, 3 Pseudo-metric 1, 3, 4 S
with fixed metric d is called metric space
48Properties
- Self-identity " xÎS, d(x,x)0
- Positivity " x ¹yÎS, d(x,y)gt0
- surely makes sense
49Properties
50Properties
51Properties
- In general
- a similarity measure in accordance with human
perception is NOT a metric. This leads to deep
problems in further processing, e.g. clustering,
since most of these algorithms need metric spaces
!
52Properties
Continuity usually useful, although
sometimes not in accordance with principles of
Gestalt properties, e.g. symmetry, collinearity.
53Properties
54Properties
55Properties
- Some more properties
- One major difference should cause a greater
dissimilarity than some minor ones. - S must not diverge for curves that are not
smooth (e.g. polygons). - However, these demands are contradictory (proof
is left as an exercise)
56Similarity Measures
- Classes of Similarity Measures
- Similarity Measure depends on
- Shape Representation
- Boundary
- Area (discrete point set)
- Structural (e.g. Skeleton)
- Comparison Model
- feature vector
- direct
57Similarity Measures
direct feature based
Boundary Spring model, Cum. Angular Function, Chaincode, Arc Decomposition (ASR-Algorithm) Central Dist. Fourier Distance histogram
Area (point set) Hausdorff Moments Zernike Moments
Structure Skeleton ---
58Feature Based Coding
Feature Based Coding This category defines all
approaches that determine a feature-vector for a
given shape. Two operations need to be defined
a mapping of shape into the feature space and a
similarity of feature vectors.
Representation
Feature Extraction
Vector Comparison
59Vector Comparison
Vector Comparison
,
60Vector Comparison
61Vector Comparison
62Vector Comparison
63Vector Comparison
- More Vector Distances
- Quadratic Form Distance
- Earth Movers Distance
- Proportional Transportation Distance
-
64Vector Comparison
- Histogram Comparison
- Vector Comparison
- Histogram Intersection
-
65Vector Comparison
66Feature Based Coding
Again Two operations need to be defined a
mapping of shape into the feature space and a
similarity of feature vectors. We hence have TWO
TIMES an information reduction of the basic
representation, which by itself is already a
mapping of the reality.
Representation
Feature Extraction
Vector Comparison
67Vector Comparison
- Example 1
- Elementary Descriptors
- Shape A,B given as
- Area (continous) or
- Point Sets (discrete)
- (Elementary Descriptors are 1dimensional feature
vectors)
68Vector Comparison
69Vector Comparison
Boundary Box (area) These shapes are equal
70Vector Comparison
Boundary Box (area) these shapes differ
71Vector Comparison
- Example 2
- (Discrete) Moments
- Shape A,B given as
- Area (continous) or
- Point Sets (discrete)
72Moments
Discrete Point Sets
73Moments
74Moments
75Moments
76Discrete Moments
Exercise Please compute all 7 moments for the
following shapes, compare the vectors using
different comparison techniques ?
77Discrete Moments
Result each shape is transformed to a
7-dimensional vector. To compare the shapes,
compare the vectors (how ?).
78Vector Comparison
Example 3 Central Distance Fourier Shape A,B
given as Contour (Boundary)
79Vector Comparison
Contour is given as list of euclidean
coordinates 0,0 1,0 2,0 2,1 2,2 3,3 4,3
5,2
0
1
2
3
4
7
...
5
6
...
80Central Distance Fourier
(MATLAB DEMO)
813D Distance Histogram
Example 4 3D Distance Histogram Shape A,B given
as 3D point set
823D Distance Histogram
(MATLAB DEMO)
83Vector Comparison
- All Feature Vector approaches have similar
properties - Provide a compact representation
- this is especially interesting for database
indexing ! - Works for any shape
- Requires complete shapes (global comparison)
- Sensible to noise (except Zernike moments which
are computationally demanding) - Map dissimilar shapes to similar feature
vectors (!) - They can be used as a prefilter for database
applications ! - Make the choice of a similarity function
difficult
84Direct Comparison
End of Feature Based Coding ! Next Direct
Comparison
85Vector Comparison
Direct Comparison
Example 1 Hausdorff Distance Shape A,B given as
point sets Aa1,a2, Bb1,b2,
86Vector Comparison
Feature Based Coding
87Vector Comparison
Hausdorff Distance
88Vector Comparison
Boundary Representation
Hausdorff Unstable with respect to noise (This
is easy to fix ! How ?) Problem Invariance
! Nevertheless Hausdorff is the motor behind
many applications in specific fields (e.g.
character recognition)
89Vector Comparison
Boundary Representation
Example 2 Chaincode Comparison Shape A,B given as
chaincode
90Vector Comparison
Boundary Representation
91Vector Comparison
Boundary Representation
A binary image can be converted into a chain
code representing the boundary. The boundary is
traversed and a string representing the curvature
is constructed.
1
2
3
0
4
C
5
6
7
5,6,6,3,3,4,3,2,3,4,5,3,
92Vector Comparison
Boundary Representation
For curvature classes, a similarity can be
defined
93Vector Comparison
Boundary Representation
To extend this measure to strings, two steps are
carried out. 1. Extend the measure to character
against string, for example by summing up
individual similarity measures. 2. Employing a
matching to compute a correspondence of
sub-strings. Hereby, the matching constitutes
from 1-to-1, 1-to-many, and many-to-1-matchings.
It is computed as string matching by means of
dynamic programming.
94Vector Comparison
Boundary Representation
Digital curves suffer from effects caused by
digitalization, e.g. rotation
95Vector Comparison
Boundary Representation
Compare chaincodes by string matching As
string-matching is not able to model a matching
of digital curves adequately, more sophisticated
matching algorithms are employed in real
applications using chain codes Weighted
Levensthein Distance Defines an edit distance for
transforming one string into another. Costs are
defined for altering, deleting, or inserting a
character. Extended Distance Formal translation
system with costs assigned to individual
production rules.
96Vector Comparison
Structural Representation
Example 3 Skeletons Shape A,B primarily given as
area or boundary, structure is derived from
representation
97Vector Comparison
Structural Representation
Structural approaches capture the structure of a
shape, typically by rep-resenting shape as a
graph. Typical example skeletons
98Vector Comparison
Structural Representation
The computation can be described as a medial axis
transform, a kind of discrete generalized voronoi.
99Vector Comparison
Structural Representation
The graph is constructed mirroring the adjacency
of the skeletons parts. Edges are labeled
according to the qualitative classes. Matching
two shapes requires matching two usually
different graphs against each other.
100Vector Comparison
Structural Representation
Problems of skeletons - Pruning
101Vector Comparison
Structural Representation
102Vector Comparison
Shape similarity
All similarity measures shown can not deal with
occlusions or partial matching (except skeletons
?) ! They are useful (and used) for specific
applications, but are not sufficient to deal with
arbitrary shapes Solution Part based
similarity !