Title: Object Recognition
1Object Recognition
2Matching objects
3Model-based Object RecognitionShape Retrieval
Images from http//www.cs.princeton.edu/gfx/proj/
shape/
4Issues
- How to represent a shape?
- Variety of shape descriptors
- Shape histograms
- Spin images, shape contexts, shape
distributions,.. - Spherical harmonics
- Reflective Symmetry Descriptor
- Skeletal Graphs
- Aspect Graphs
-
- Tradeoff simplicity vs accuracy
5Issues
- How to match shapes?
- Graph-based approaches
- Interpretation trees
- .
- How to efficiently retrieve a shape from a
database of objects? - Indexing techniques
6A simple object representation
- An object is given as a set of points (features)
- The object can be in 2D space or 3D space
- (for instance, the set of points is extracted
from an intensity image or from a range image)
7Geometric Matching ofPoint Clouds
Two input sets
Two sets after superimposition
8Transformations
- Translation
- Translation and Rotation
- Rigid Motion (Euclidian Trans.)
- Translation, Rotation Scaling
-
9Inexact Matching Simple case two closely
related sets with the same number of points .
Assume transformation T is given
Question how to measure a matching error?
( slides by Prof. Haim Wolfson).
10Distance Functions
- Two point sets Aai i1n
- Bbj j1m
- Pairwise Correspondence
- (ak1,bt1) (ak2,bt2) (akN,btN)
(1) Bottleneck max aki bti (3) RMSD
(Root Mean Square Distance) Sqrt(
Saki bti2/N)
11Hausdorff DistanceAnother distance function
- Let A a1, a2, ..., am B b1, b 2, ..., bn
be sets of either points or segments. - Definition. (Hausdorff Distance)
- H(A, B) max (h(A, B), h(B, A))
- where the one-way Hausdorff distance is
- h(A, B) maxa minb r (a, b)
- where a (b) is a point of A (B) and r (a, b), is
a metric.
12Correspondence is Unknown
Given two configurations of points in the
three dimensional space,
find those rotations and translations of one
of the point sets which produce large
superimpositions of corresponding 3-D
points.
13Largest Common Point Set (LCP) problem
Given egt0 and two point sets A and B find a
transformation T and equally sized subsets A (a
subset of A) and B (a subset of B) of maximal
cardinality such that dist(A,T(B)) e.
Bottleneck metric optimal solution in O(n32.5)
C. Ambuhl et al. 2000
RMSD metric open problem
14Exact solution in 2Dusing Hausdorff Distance
- This problem is generally solved as a problem of
intersection of unions of disks in the
transformation space. - Time complexity O( m3 n3 log2nm) in R2
15Two instances of the problem
- Similarity of the two sets of atoms with known
correspondences - Aai , Bbi , i1,,n
- ai ?? bi
- Similarity of the two sets of atoms with unknown
correspondences - Aai , Bbj , i1,,n j1,,m
- ai(k) ?? bj(k) k1,,Kltn,m
16 Superposition RMSD
- Given two sets of 3-D points with known
correspondences - Aai , Bbi , i1,,n
- find a 3-D rotation R and translation T that
minimizes - D2minR,T Si Rai T - bi 2
- RMSDD / sqrt(n)
- A closed form solution exists for this task.
17Orthogonal Procrustes problem
- The Solution is based on Singular Value
Decomposition (SVD) of the correlation matrix A
of the points - Aij Sk ak ibk j
- where ak i is the ith component of the vector
ak - The solution involves eigenvalue analysis of a
correlation matrix of the points.
18Finding Correspondences
- Geometric Hashing, Indexing
- (Wolfson et al., 1998)
- Two steps
- Obtain Hypotheses of Correspondences
- Verify Hypotheses
19Hashing function
- From an Object
- To invariant Features
- To t-ples of numbers
- To indeces
- Use the t indeces to access a t-dimensional hash
table
20Indexing Methodsfor Fast retrieval of 3D
patterns
- Select a set of target objects
- Create and store a hash table indexed by
invariant geometric properties of the selected
objects - Update the databases as new objects are found
- Use the table to identify the most similar
object for a target object.
21Reference Frame
- A 3-D reference frame (r. f.) can be defined by
three non collinear points - Invariant
- the coordinates of any other point in the r.f.
22Geometric Hashing PreprocessingTable
Construction
- Pick a reference frame.
- Compute the coordinates of all the other points
in this reference frame. - Use the triplet of coordinate as an index to
the hash (look-up) table and record in that entry
the record - (object, ref. Frame)
- Repeat above steps for each reference frame.
23A note
- The coordinates are invariant under rigid
transformations (obvious) as well as under affine
transformations - In other words, the coordinates are independent
of the view (i.e. if we compute them in the model
plane or in some affine view we obtain the same
value)
24Geometric Hashing - Recognition
- For the target object do
- Pick a reference frame satisfying pre-specified
- constraints.
- Compute the coordinates of all other points in
- the current reference frame.
- Use each coordinate to access the hash-table
- to retrieve all the records (prot., r.f., shape
- sign., pt.).
25Geometric Hashing - Recognition
- For records with matching shape sign. vote for
the (object, r.f.). - Compute the transformations of the high
scoring hypotheses. - Repeat the above steps for each r.f.
26Issues
- For the query object how many reference frames do
we need to consider? - What is a good selection for a reference frame?
- How does the distribution of geometric invariants
affect the matching?
27Complexity of Geometric Hashing
- Preprocessing
- O(Nn4)
- Match Detection/Recognition
- O(Rns).
- N- number of objetcs.
- O(n)- no. of features in an object.
- s - size of a hash-table entry.
- R size of the hash table