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

Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Embed Size (px)

Citation preview

Page 1: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Wavelets

Fast Multiresolution Image QueryingJacobs et.al. SIGGRAPH95

Page 2: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Outline

Overview / BackgroundWavelets

2D Image matchingL1, L2 metricsWavelet metricEvaluation

Use in 3D

Page 3: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Image matching

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

Page 4: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

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

Page 5: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Wavelets

Decompose a signal into component partsFourier 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

Page 6: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Wavelets II

Signal can be completely reconstructed from all the coefficients

Signal can be partially reconstructed from some coefficients

Page 7: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

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

Page 8: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Wavelet Reconstruction

SIGGRAPH 96 Course Notes: Wavelets in Computer Graphics

Page 9: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Comparing Images

Develop a metric that describes how closely two images match

Smaller difference in metric = images more similar

Page 10: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

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

ji

jiTjiQTQ,

1],[],[,

Page 11: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

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?

2/1

,

2

2],[],[,

ji

jiTjiQTQ

Page 12: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Image metrics III

Problems with L1 and L2Expensive to compute / compare: O(i*j)Not discriminating in cases with

Color Shift Misregistration Noise / Dithering

In general, not good descriptorsc.f. D1, D2 in 3D

Page 13: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Wavelets as image metrics

Capture features of images e.g. edges in coefficients

Use Haar waveletsSquare basis functionsEasy to implement and compute

Calculate coefficients, truncate, quantize

Page 14: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Truncation

128x128 image has 1282 coefficients Truncation = only storing largest ‘n’

coefficients ‘n’ ~ 40-60 depending on exact use Discarding smaller coefficients discards

high frequency information i.e. detailLoss of that information is desirable

Page 15: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Quantization

Reduce precision of wavelet magnitudeLarge +ve +1Large –ve -1Else 0

Turns out this works well for matching

Page 16: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Wavelet metric

Q,T are query and target image coefficients

w is weighting function

ji

ji jiTjiQwTQwTQ,

~~

,0,0 ],[],[]0,0[]0,0[,

Page 17: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

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

Page 18: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Wavelet metric II

For i=0, j=0 value in Q and T is proportional to the average overall color

From quantization, use ≠

0],[:,

~~

),(0~

],[],[]0,0[]0,0[,jiQji

jibin jiTjiQwTQwTQ

Page 19: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Calculating coefficients

Standard two-dimensional Haar wavelet decomposition

Decompose each row, then decompose each column of the result

Trivial to implement

Page 20: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Wavelet metric III

Final metric isT[0,0]Sign, i and j of n largest coefficients in T

Page 21: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Faster Matching

To speed up matching, use 6 arraysOne for each combination of R,G,B,+,-DR+, DR-, …Each i,j in Dx is a list of all images with a

metric coefficient in that color range, with that sign

Page 22: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

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

Page 23: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Evaluation II

Page 24: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

Evaluation III

LimitsScaling ~1.5 timesRotation ~20 degreesTranslation ~ 15% of width

Page 25: Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95

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