- 55 Views
- Uploaded on
- Presentation posted in: General

Axial Flip Invariance and Fast Exhaustive Searching with Wavelets

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Axial Flip Invariance and Fast Exhaustive Searching with Wavelets

Matthew Bolitho

- Goals
- Shape Descriptors
- Invariance to rigid transformation

- Wavelets
- The wavelet transform
- Haar basis functions
- Axial ambiguity with wavelets

- Axial ambiguity Invariance
- Fast Exhaustive Searching

- Voxel based descriptor
- Rasterise model into voxel grid
- Apply Wavelet Transform
- Subset of information into feature vectors
- Compare vectors

- 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

- Invariance to transformation
- Efficient matching

- 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

- 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]

- PCA has a problem
- Eigen-values are only defined up to sign
- In 3D, flip about x,y,z axes

[1]

- 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

- Transforms a function to a new basis: Haar basis functions
- Invertible
- Non-Lossy

[2]

- Family of step functions
- i specifies frequency family
- j indexes family
- Orthogonal
- Orthonormal when scaled by
- Fast to compute
- Compute in-place

- Adopt a more convenient indexing scheme

i=0

i=1

i=2

- Basis functions can also be represented as a set of orthonormal basis vectors:
- Wavelet transform of function g is:

- Given a function
- Wavelet transform is
- Aside: given function

- 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)

- Axial Flip Invariance

- Established a mapping for axial flip
- f0 itself
- f1 inverse of itself
- Pairs inverse of each other

- 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…

- For a pair
- So, a+b and a-b behave like f1 and f0 under axial flip
- Note: when a+b and a-b are known, a and b can be known – no loss of information; transform invertible

- Redefine basis with a new mapping S( f )
- Now all coefficients either map to themselves (+) or their inverse (-) under reflection

- 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, …

- Given g and h from previous example
Perform wavelet transform:Transform basis:

- Advantages
- Only perform single comparison

- Disadvantage
- Discards sign of half the coefficients
may hurt ability to discriminate

- Discards sign of half the coefficients

- 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

- Distance between g and h, R(g) and h:
Recall gi , hi : sign according to axial reflection

Recall the mapping of R(gi) gi, thus:

Collect together terms to form:

- 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

- Given g and h from previous examples
Transform basis:

Calculate gh+ and gh- from S(W(g)) and S(W(h)):

Calculate norms:

- For minimal extra computation, all permutations of flip can be compared
- No information is discarded
- c.f. invariance

- 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

- Transform rows

- Transform columns

- In 1D we had gh+ and gh-
- In 2D we will have gh++, gh+-, gh-+andgh--
- 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

- gh++, gh+-, gh-+andgh--are determined by cross multiplying the grid
- + * + = gh++
- etc

- The extension into 3D is similar:
- 8 flips
- 8 gh terms
- 8 ways to combine gh terms

- Presented a way to overcome PCA alignment ambiguity
- With minimal extra computation
- With no loss of useful shape information

- PCA still has problems
- Instability: Small change in PCA alignment can change voxel vote
Gaussian smoothing can distribute votes better

- Instability: Small change in PCA alignment can change voxel vote

- Integrate into complete shape descriptor
- Concise to store
- Quick to compute
- Discriminating
- Robustness
- etc

- Actual precision vs. recall results

- [1] Misha Kazhdan: Alignment slides, October 25 2004
- [2] Original teapot image from http://www.plunk.org/~grantham/public/graphics.html