Wavelets - Caltech Multi-Res Modeling Group
Wavelets - Caltech Multi-Res Modeling Group
Wavelets - Caltech Multi-Res Modeling Group
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 ):