Axial flip invariance and fast exhaustive searching with wavelets
1 / 52

Axial Flip Invariance and Fast Exhaustive Searching with Wavelets - PowerPoint PPT Presentation

  • Uploaded on

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Axial Flip Invariance and Fast Exhaustive Searching with Wavelets' - dorit

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 - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Outline l.jpg
Outline Wavelets

  • 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 l.jpg
Wavelet based Shape Descriptor Wavelets

  • Voxel based descriptor

    • Rasterise model into voxel grid

    • Apply Wavelet Transform

    • Subset of information into feature vectors

    • Compare vectors

Shape descriptor goals l.jpg
Shape Descriptor Goals Wavelets

  • 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 l.jpg
Project focus Wavelets

  • Invariance to transformation

  • Efficient matching

Scale translation rotation invariance l.jpg
Scale, Translation, Rotation Invariance Wavelets

  • 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 l.jpg
Principal Component Analysis Wavelets

  • 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


Axial ambiguity l.jpg
Axial Ambiguity Wavelets

  • PCA has a problem

  • Eigen-values are only defined up to sign

  • In 3D, flip about x,y,z axes


Resolving the ambiguity l.jpg
Resolving the Ambiguity Wavelets

  • 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 l.jpg
The Wavelet Transform Wavelets

  • Transforms a function to a new basis: Haar basis functions

  • Invertible

  • Non-Lossy


Haar basis functions l.jpg
Haar Basis Functions Wavelets

  • Family of step functions

  • i specifies frequency family

  • j indexes family

  • Orthogonal

  • Orthonormal when scaled by

  • Fast to compute

  • Compute in-place

Family i 0 l.jpg
Family Waveletsi=0

Family i 1 l.jpg
Family Waveletsi=1

Family i 2 l.jpg
Family Waveletsi=2

Nomenclature l.jpg
Nomenclature Wavelets

  • Adopt a more convenient indexing scheme




Vector basis l.jpg
Vector Basis Wavelets

  • Basis functions can also be represented as a set of orthonormal basis vectors:

  • Wavelet transform of function g is:

Example l.jpg
Example Wavelets

  • Given a function

  • Wavelet transform is

  • Aside: given function

Resolving axial ambiguity l.jpg
Resolving Axial Ambiguity Wavelets

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

Observation l.jpg
Observation Wavelets

Observation21 l.jpg
Observation Wavelets

Observation22 l.jpg
Observation Wavelets

Observation23 l.jpg
Observation Wavelets

Observation24 l.jpg
Observation Wavelets

Wavelets and axial flip l.jpg
Wavelets and Axial Flip Wavelets

  • Established a mapping for axial flip

    • f0 itself

    • f1  inverse of itself

    • Pairs  inverse of each other

Invariance l.jpg
Invariance Wavelets

  • 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 l.jpg
Invariance with pairs Wavelets

  • 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

Observation28 l.jpg
Observation Wavelets

Observation29 l.jpg
Observation Wavelets

A new basis l.jpg
A New Basis Wavelets

  • Redefine basis with a new mapping S( f )

  • Now all coefficients either map to themselves (+) or their inverse (-) under reflection

Invariance31 l.jpg
Invariance Wavelets

  • 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 l.jpg
Invariance Example Wavelets

  • Given g and h from previous example

    Perform wavelet transform:Transform basis:

Invariance evaluation l.jpg
Invariance Evaluation Wavelets

  • Advantages

    • Only perform single comparison

  • Disadvantage

    • Discards sign of half the coefficients

       may hurt ability to discriminate

Exhaustive searching l.jpg
Exhaustive Searching Wavelets

  • 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 l.jpg
Fast Exhaustive searching Wavelets

  • Distance between g and h, R(g) and h:

    Recall gi , hi : sign according to axial reflection

Fast exhaustive searching36 l.jpg
Fast Exhaustive searching Wavelets

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

Fast exhaustive searching37 l.jpg
Fast Exhaustive searching Wavelets

Collect together terms to form:

Fast exhaustive searching38 l.jpg
Fast Exhaustive searching Wavelets

  • 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 l.jpg
Fast Exhaustive search Example Wavelets

  • Given g and h from previous examples

    Transform basis:

Fast exhaustive search example40 l.jpg
Fast Exhaustive search Example Wavelets

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

Calculate norms:

Fast search evaluation l.jpg
Fast search Evaluation Wavelets

  • For minimal extra computation, all permutations of flip can be compared

  • No information is discarded

    • c.f. invariance

Higher dimensions l.jpg
Higher Dimensions Wavelets

  • 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 l.jpg
Applying Transforms in 2D Wavelets

  • Transform rows

Applying transforms in 2d44 l.jpg
Applying Transforms in 2D Wavelets

  • Transform columns

Exhaustive searching in 2d l.jpg
Exhaustive Searching in 2D Wavelets

  • 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 l.jpg
Cross multiplication Wavelets

  • gh++, gh+-, gh-+andgh--are determined by cross multiplying the grid

    • + * + = gh++

    • etc

In 3d l.jpg
In 3D Wavelets

  • The extension into 3D is similar:

    • 8 flips

    • 8 gh terms

    • 8 ways to combine gh terms

Conclusion l.jpg
Conclusion Wavelets

  • Presented a way to overcome PCA alignment ambiguity

    • With minimal extra computation

    • With no loss of useful shape information

Conclusion ii l.jpg
Conclusion II Wavelets

  • PCA still has problems

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

       Gaussian smoothing can distribute votes better

Future work l.jpg
Future Work Wavelets

  • Integrate into complete shape descriptor

    • Concise to store

    • Quick to compute

    • Discriminating

    • Robustness

    • etc

  • Actual precision vs. recall results

References l.jpg
References Wavelets

  • [1] Misha Kazhdan: Alignment slides, October 25 2004

  • [2] Original teapot image from