30.12.2012 Views

Wavelets - Caltech Multi-Res Modeling Group

Wavelets - Caltech Multi-Res Modeling Group

Wavelets - Caltech Multi-Res Modeling Group

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7.7 Matrix Notation<br />

INTRODUCTION 19<br />

A compact and easy to manipulate notation to compute the transformations is using matrices (infinite in<br />

principle). Assuming that ci;i = 0 :::L, 1 are the coefficients of the dilation equation then the matrix<br />

[H] is defined such that Hij = 1<br />

2 c2i,j. The matrix [G] is defined by Gij = 1<br />

2 (,1)j+1 cj+1,2i. The factor<br />

1<br />

1<br />

2 could be replaced by p for energy normalization (note that sometimes this factor is already folded into<br />

2<br />

the ci, be sure you take this into account for coding). The matrix [H] is the smoothing filter (the restriction<br />

operator in multigrid language), and [G] the detail filter (the interpolation operator).<br />

The low-pass filtering operation is now applying the [H] matrix to the vector of values f. The size of the<br />

submatrix applied is n<br />

2 n if n is the original size of the vector 2J = n. The length of the result is half<br />

the length of the original vector. For the high pass filter the matrix [G] is applied similarly. The process is<br />

repeated J times until only one value each of a and d is obtained.<br />

The reconstruction matrices in the orthogonal cases are merely the transpose of [H ]=[H] T and [G ]=<br />

1 is used, p otherwise). The reconstruction operation is then:<br />

2<br />

[G] T (with factor of 1 if 1<br />

2<br />

with j = 1;:::;J. as shown in Figure I.19.<br />

a j =[H ] a j,1 +[G ] d j,1<br />

As an example we can now compute the wavelet itself, by inputing a unit vector and applying the inverse<br />

wavelet transform. For example, the fifth basis from D4 is given in Figure I.20.<br />

Of course by construction all the other bases are translated and scaled versions of this one.<br />

7.8 <strong>Multi</strong>scale Edge Detection<br />

There is an important connection between wavelets and edge detection, since wavelets transforms are well<br />

adapted to “react” locally to rapid changes in values of the signal. This is made more precise by Mallat and<br />

Zhong [133]. Given a smoothing function () (related to (), but not the same), such that R (t) dt = 1and<br />

it converges to 0 at infinity, if its first and second derivative exist, they are wavelets:<br />

1 (t) =<br />

d (t)<br />

dt<br />

and 2 (t) = d2 (t)<br />

dt 2<br />

If we use these wavelets to compute the wavelet transform of some function f (t), noting a(t) = 1<br />

a<br />

WF 1 a(t) = f 1 a (t) =f (ad a d<br />

)(t) =a<br />

dt dt (f a)(t)<br />

WF 2 a(t) = f 2 a (t) = f (a2 d2 a<br />

d2<br />

)(t) =a2<br />

dt2 dt2 (f a)(t)<br />

So the wavelet transforms are the first and second derivative of the signal smoothed at scale a. The local<br />

extrema of WF 1 a(t) are zero-crossings of WF 2 a(t) and inflection points of f a(t). If (t) is a Gaussian,<br />

then zero-crossing detection is equivalent to the Marr-Hildreth [139] edge detector, and extrema detection<br />

equivalent to Canny [17] edge detection.<br />

Siggraph ’95 Course Notes: #26 <strong>Wavelets</strong><br />

( t<br />

a ):

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!