Title: Axial Flip Invariance and Fast Exhaustive Searching with Wavelets
1Axial Flip Invariance and Fast Exhaustive
Searching with Wavelets
2Outline
- Goals
- Shape Descriptors
- Invariance to rigid transformation
- Wavelets
- The wavelet transform
- Haar basis functions
- Axial ambiguity with wavelets
- Axial ambiguity Invariance
- Fast Exhaustive Searching
3Wavelet based Shape Descriptor
- Voxel based descriptor
- Rasterise model into voxel grid
- Apply Wavelet Transform
- Subset of information into feature vectors
- Compare vectors
4Shape Descriptor Goals
- Concise to store
- Quick to compute
- Efficient to match
- Discriminating
- Invariant to transformations
- Invariant to deformations
- Insensitive to noise
- Insensitive to topology
- Robust to degeneracies
5Project focus
- Invariance to transformation
- Efficient matching
6Scale, Translation, Rotation Invariance
- Invariance through normalisation
- Scale scale voxel grid such that is just fits
the whole model - Translation set the origin of voxel grid to be
model center of mass - Rotation Principal Component Analysis
7Principal Component Analysis
- Align model to a canonical frame
- Calculate variance of points
- Eigen-values of covariance matrix map to (x,y,z)
axes in order of size
1
8Axial Ambiguity
- PCA has a problem
- Eigen-values are only defined up to sign
- In 3D, flip about x,y,z axes
1
9Resolving the Ambiguity
- Exhaustive search approach
- Compare all possible alignments (8 in 3D)
- Select alignment with minimal distance as best
match - An invariant approach make comparison invariant
to axial flip
10The Wavelet Transform
- Transforms a function to a new basis Haar basis
functions - Invertible
- Non-Lossy
2
11Haar Basis Functions
- Family of step functions
- i specifies frequency family
- j indexes family
- Orthogonal
- Orthonormal when scaled by
- Fast to compute
- Compute in-place
12Constant Function
13Family i0
14Family i1
15Family i2
16Nomenclature
- Adopt a more convenient indexing scheme
i0
i1
i2
17Vector Basis
- Basis functions can also be represented as a set
of orthonormal basis vectors - Wavelet transform of function g is
18Example
- Given a function
- Wavelet transform is
- Aside given function
19Resolving Axial Ambiguity
- Exploit wavelets to get
- Axial Flip Invariance
- Make Wavelet Transform invariant to axial flip
- Fast Exhaustive Search
- Reduce the complexity of exhaustively testing all
permutations of flip (recall 8 in 3D)
20Observation
21Observation
22Observation
23Observation
24Observation
25Wavelets and Axial Flip
- Established a mapping for axial flip
- f0 ? itself
- f1 ? inverse of itself
- Pairs ? inverse of each other
26Invariance
- Goal Discard information that determines flip
- Goal Not loose too much information
- Use mapping to make wavelet transform invariant
to flip - f0 is already invariant
- f1 is invariant
- Pairs are not, yet
27Invariance with pairs
- For a pair
- So, ab and a-b behave like f1 and f0 under axial
flip - Note when ab and a-b are known, a and b can be
known no loss of information transform
invertible
28Observation
29Observation
30A New Basis
- Redefine basis with a new mapping S( f )
- Now all coefficients either map to themselves ()
or their inverse (-) under reflection
31Invariance
- New basis defines reflections with change in sign
of half the coefficients - Invariance
- Store f0, f3, f6, f7
- Store absolute value of f1, f2, f4, f5,
32Invariance Example
- Given g and h from previous example
- Perform wavelet transformTransform basis
33Invariance Evaluation
- Advantages
- Only perform single comparison
- Disadvantage
- Discards sign of half the coefficients
- ? may hurt ability to discriminate
34Exhaustive Searching
- Rather than making comparison invariant, perform
it a number of times - R is the set of all possible axial reflections
- Good Idea If possible reduce this comparison
cost - ? fast exhaustive searching
35Fast Exhaustive searching
- Distance between g and h, R(g) and h
- Recall gi , hi sign according to axial
reflection
36Fast Exhaustive searching
Recall the mapping of R(gi) ? gi, thus
37Fast Exhaustive searching
Collect together terms to form
38Fast Exhaustive searching
- Now, we can express andonly in terms
of gi and hi - We can calculate both from the decomposition of
the first, with minimal extra computation
39Fast Exhaustive search Example
- Given g and h from previous examples
- Transform basis
40Fast Exhaustive search Example
- Calculate gh and gh- from S(W(g)) and
S(W(h)) - Calculate norms
41Fast search Evaluation
- For minimal extra computation, all permutations
of flip can be compared - No information is discarded
- c.f. invariance
42Higher Dimensions
- Both invariance and fast exhaustive search apply
to higher dimensions - As dimensionality increases, invariance needs to
discard more and more information - In 2D, 4 flips
- In 3D, 8 flips
43Applying Transforms in 2D
44Applying Transforms in 2D
45Exhaustive Searching in 2D
- In 1D we had gh and gh-
- In 2D we will have gh, gh-, gh- and gh--
- By applying both W(g) and S(g) in rows then
columns, the 2D flip problem is reduced to two 1D
flip problems - This makes the cross multiplication easier
46Cross multiplication
- gh, gh-, gh- and gh--are determined by cross
multiplying the grid - gh
- etc
47Exhaustive Searching in 2D
48In 3D
- The extension into 3D is similar
- 8 flips
- 8 gh terms
- 8 ways to combine gh terms
49Conclusion
- Presented a way to overcome PCA alignment
ambiguity - With minimal extra computation
- With no loss of useful shape information
50Conclusion II
- PCA still has problems
- Instability Small change in PCA alignment can
change voxel vote - ? Gaussian smoothing can distribute votes better
51Future Work
- Integrate into complete shape descriptor
- Concise to store
- Quick to compute
- Discriminating
- Robustness
- etc
- Actual precision vs. recall results
52References
- 1 Misha Kazhdan Alignment slides, October 25
2004 - 2 Original teapot image from http//www.plunk.or
g/grantham/public/graphics.html