# Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95.

## Presentation on theme: "Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95."— Presentation transcript:

Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Outline Overview / Background  Wavelets 2D Image matching  L1, L2 metrics  Wavelet metric  Evaluation Use in 3D

Image matching 2D analogue of 3D shape matching Raster instead of XYZ

What are we trying to match? Looking for different images of the same things?  Different projections  Different colors Looking for images that look the same?  Look for similar shapes and colors Metric to discern like human eye

Wavelets Decompose a signal into component parts  Fourier analysis: a signal can be represented as a (possibly infinite) sum of sine and cosine functions Signal becomes a set of wavelet coefficients Coefficients represent features of signal

Wavelets II Signal can be completely reconstructed from all the coefficients Signal can be partially reconstructed from some coefficients

Wavelets for 2D Images Each color plane in image is signal Coefficients will represent visual features in the image Store as many coefficients as needed  Image compression (see next slide) c.f. Statistical shape descriptors

Wavelet Reconstruction SIGGRAPH 96 Course Notes: Wavelets in Computer Graphics

Comparing Images Develop a metric that describes how closely two images match Smaller difference in metric = images more similar

Image metrics Comparing images Q and T, with dimensions i,j L1-Norm For each pixel in Q, calculate the difference between Q[i,j] and T[i,j] Add absolute value of differences of all i,j to form metric

Image metrics II L2-Norm For each pixel in Q, calculate the square of the difference between Q[i,j] and T[i,j] Add for all i,j, and take square root Better than L1?

Image metrics III Problems with L1 and L2  Expensive to compute / compare: O(i*j)  Not discriminating in cases with Color Shift Misregistration Noise / Dithering In general, not good descriptors  c.f. D1, D2 in 3D

Wavelets as image metrics Capture features of images e.g. edges in coefficients Use Haar wavelets  Square basis functions  Easy to implement and compute Calculate coefficients, truncate, quantize

Truncation 128x128 image has 128 2 coefficients Truncation = only storing largest ‘n’ coefficients ‘n’ ~ 40-60 depending on exact use Discarding smaller coefficients discards high frequency information i.e. detail  Loss of that information is desirable

Quantization Reduce precision of wavelet magnitude  Large +ve  +1  Large –ve  -1  Else  0 Turns out this works well for matching

Wavelet metric Q,T are query and target image coefficients w is weighting function

Weighting function Weighting function applied to give particular pairs of coefficients different significance in comparison Gives ability to statistically tune the metric Determined experimentally from dataset (Appendix A) Weights expensive to calculate  Compute fewer  Bins to map range of i,j onto a weight

Wavelet metric II For i=0, j=0 value in Q and T is proportional to the average overall color From quantization, use ≠

Calculating coefficients Standard two-dimensional Haar wavelet decomposition Decompose each row, then decompose each column of the result Trivial to implement

Wavelet metric III Final metric is  T[0,0]  Sign, i and j of n largest coefficients in T

Faster Matching To speed up matching, use 6 arrays  One for each combination of R,G,B,+,-  D R+, D R-, …  Each i,j in D x is a list of all images with a metric coefficient in that color range, with that sign

Evaluation Better than L1 and L2 Matches to ~1% of database Compact Fast to compare: similar complexity to an 8x8 pixel image L1/L2 for any resolution More robust  Misregistration  Color shifting  Dithering  Different resolutions

Evaluation II

Evaluation III Limits  Scaling ~1.5 times  Rotation ~20 degrees  Translation ~ 15% of width

Matching in 3D Can this be used in 3D as well Compares image rather than geometry Render 3D into voxels? Projection of 3D object into 2D? In general, other 3D specific methods probably much better

Similar presentations