Loading in 2 Seconds...

Axial Flip Invariance and Fast Exhaustive Searching with Wavelets

Loading in 2 Seconds...

96 Views

Download Presentation
##### Axial Flip Invariance and Fast Exhaustive Searching with Wavelets

**An Image/Link below is provided (as is) to download presentation**

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**Outline**• Goals • Shape Descriptors • Invariance to rigid transformation • Wavelets • The wavelet transform • Haar basis functions • Axial ambiguity with wavelets • Axial ambiguity Invariance • Fast Exhaustive Searching**Wavelet based Shape Descriptor**• Voxel based descriptor • Rasterise model into voxel grid • Apply Wavelet Transform • Subset of information into feature vectors • Compare vectors**Shape 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**Project focus**• Invariance to transformation • Efficient matching**Scale, 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**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]**Axial Ambiguity**• PCA has a problem • Eigen-values are only defined up to sign • In 3D, flip about x,y,z axes [1]**Resolving 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**The Wavelet Transform**• Transforms a function to a new basis: Haar basis functions • Invertible • Non-Lossy [2]**Haar Basis Functions**• Family of step functions • i specifies frequency family • j indexes family • Orthogonal • Orthonormal when scaled by • Fast to compute • Compute in-place**Nomenclature**• Adopt a more convenient indexing scheme i=0 i=1 i=2**Vector Basis**• Basis functions can also be represented as a set of orthonormal basis vectors: • Wavelet transform of function g is:**Example**• Given a function • Wavelet transform is • Aside: given function**Resolving 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)**Wavelets and Axial Flip**• Established a mapping for axial flip • f0 itself • f1 inverse of itself • Pairs inverse of each other**Invariance**• 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…**Invariance with pairs**• 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**A New Basis**• Redefine basis with a new mapping S( f ) • Now all coefficients either map to themselves (+) or their inverse (-) under reflection**Invariance**• 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, …**Invariance Example**• Given g and h from previous example Perform wavelet transform:Transform basis:**Invariance Evaluation**• Advantages • Only perform single comparison • Disadvantage • Discards sign of half the coefficients may hurt ability to discriminate**Exhaustive 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**Fast Exhaustive searching**• Distance between g and h, R(g) and h: Recall gi , hi : sign according to axial reflection**Fast Exhaustive searching**Recall the mapping of R(gi) gi, thus:**Fast Exhaustive searching**Collect together terms to form:**Fast 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**Fast Exhaustive search Example**• Given g and h from previous examples Transform basis:**Fast Exhaustive search Example**Calculate gh+ and gh- from S(W(g)) and S(W(h)): Calculate norms:**Fast search Evaluation**• For minimal extra computation, all permutations of flip can be compared • No information is discarded • c.f. invariance**Higher 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**Applying Transforms in 2D**• Transform rows**Applying Transforms in 2D**• Transform columns**Exhaustive Searching in 2D**• 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**Cross multiplication**• gh++, gh+-, gh-+andgh--are determined by cross multiplying the grid • + * + = gh++ • etc**In 3D**• The extension into 3D is similar: • 8 flips • 8 gh terms • 8 ways to combine gh terms**Conclusion**• Presented a way to overcome PCA alignment ambiguity • With minimal extra computation • With no loss of useful shape information**Conclusion II**• PCA still has problems • Instability: Small change in PCA alignment can change voxel vote Gaussian smoothing can distribute votes better