KING FAHD UNIVERSITY OF PETROLEUM & MINERALS
DHAHRAN 31261, SAUDI ARABIA
DEANSHIP OF GRADUATE STUDIES
This thesis, written by AZZAM ABDULAZIZ ALFARRAJ under the direction of his thesis adviser and approved by his thesis committee, has been presented
to and accepted by the Dean of Graduate Studies, in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE IN MATHEMATICS.
Thesis Committee
Dr. Mohamed El-Gebeily (Adviser)
Dr. Faisal Fairag (Member)
Dr. Abdelmalek Zidouri (Member)
Dr. Husain Al-Attas
Department Chairman
Dr. Salam A. Zummo
Dean of Graduate Studies
Date
i
ii
➞Azzam Alfarraj
2017
iii
Z@YëB @
..ø Yg. úÍ@
..h. @Q®Ë@ YÔg áK. YÒm×
..úGAJk ú¯ Èð B@ XAJ B@
iv
Dedication
To my grandfather..
Mohammad Hamad Alfarraj..
My first mentor..
v
ACKNOWLEDGMENTS
First of all, I thank Allah for all what I have in my life that make it easy for me
to finish this degree with easiness.
I thank my parents, my wife, my siblings and all members of my family for their
unlimited support.
Great thanks go to my advisor Dr. Mohamed El-Gebeily for guiding me to be a
good Mathematician, for his efforts and for his great patience.
I thank Dr. Faisal Fairag for his help throughout my work. I also thank him and
Dr. Abdelmalek Zidouri for accepting to be in the committee of my defence.
I really thank my friends Jaafar Motasim, Jamilu Hashim, Mohammad
Al-Shehri, Mohsen Al-Shahrani for their help throughout my way to the master’s
degree.
I thank the chairman Dr. Hussain Al-Attas for his efforts and unlimited help.
vi
TABLE OF CONTENTS
ACKNOWLEDGEMENT
vi
LIST OF FIGURES
ix
ABSTRACT (ENGLISH)
xi
ABSTRACT (ARABIC)
xii
CHAPTER 1 INTRODUCTION
1
CHAPTER 2 LITERATURE REVIEW
3
2.1
Gradient-based Methods . . . . . . . . . . . . . . . . . . . . . . .
3
2.2
Minimization-based Methods . . . . . . . . . . . . . . . . . . . . .
5
2.3
Wavelet Transform-based Methods . . . . . . . . . . . . . . . . .
6
CHAPTER 3 PRELIMINARIES
8
3.1
Wavelet Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
3.2
Vector Valued Inner Products . . . . . . . . . . . . . . . . . . . .
9
3.3
Function Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
3.4
Convergence of Sequences of Functions . . . . . . . . . . . . . . .
13
3.5
The Haar System . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.5.1
Dyadic Intervals . . . . . . . . . . . . . . . . . . . . . . . .
14
3.5.2
The Haar Scaling Function and the Haar Wavelet Function
15
3.5.3
Orthogonality of The Haar System . . . . . . . . . . . . .
20
Multiresolution Analysis (MRA) . . . . . . . . . . . . . . . . . . .
22
3.6
vii
CHAPTER 4 DISCRETE WAVELET TRANSFORM IN ONE
AND TWO DIMENSIONS
25
4.1
Discrete Wavelet Transform in One Dimension . . . . . . . . . . .
26
4.1.1
Fast Wavelet Transform in One Dimension . . . . . . . . .
34
Discrete Wavelet Transform in Two Dimensions . . . . . . . . . .
37
4.2.1
MRA in L2 [0, 1]2 . . . . . . . . . . . . . . . . . . . . . . .
41
4.2.2
Fast Wavelet Transform in Two Dimensions . . . . . . . .
43
4.2
CHAPTER 5 EDGE DETECTION
46
5.1
Detecting Singularities of Functions in One Dimension . . . . . .
47
5.2
Edge Detection Using Discrete Wavelet Transform in Two Dimensions 56
5.3
Edge Detection Using Canny edge detector . . . . . . . . . . . . .
59
5.4
Results and Comparison of Images Without Noise . . . . . . . . .
62
5.5
Results and Comparison of Images with Noise . . . . . . . . . . .
76
5.6
Comparison of Haar with db2 and db3 in edge detection . . . . .
82
5.7
Edge Detection In Colored Images . . . . . . . . . . . . . . . . . .
86
REFERENCES
92
VITAE
96
viii
LIST OF FIGURES
3.1
The Haar scaling function . . . . . . . . . . . . . . . . . . . . . .
3.2
(a) The Haar scaling function at level j = 2 and k = 0. (b) j = 2
and k = 1. (c) j = 2 and k = 2. (d) j = 2 and k = 2
15
. . . . . . .
16
3.3
The Haar wavelet function . . . . . . . . . . . . . . . . . . . . . .
19
4.1
The decomposition of an input vector cj . . . . . . . . . . . . . . .
35
4.2
The reconstruction of a vector cj+1 . . . . . . . . . . . . . . . . . .
36
5.1
(a) The function f (x), (b) The detail coefficients for j = 1, (c) The
detail coefficients for j = 2 and (d) The detail coefficients for j = 3
53
5.2
Flow chart for wavelet-based singularity detection algorithm . . .
55
5.3
Flow chart for wavelet-based edge detection algorithm . . . . . . .
58
5.4
Flow chart for Canny edge detector algorithm . . . . . . . . . . .
61
5.5
Pepsi can image . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
5.6
Pepsi can edges using dwt2 with Haar . . . . . . . . . . . . . . . .
63
5.7
Pepsi can edges using Canny edge detector . . . . . . . . . . . . .
64
5.8
Times square image . . . . . . . . . . . . . . . . . . . . . . . . . .
65
5.9
Times square edge image using dwt2 with Haar . . . . . . . . . .
66
5.10 Times square edge image using Canny edge detector . . . . . . . .
67
5.11 Bird image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
5.12 Bird edge image using dwt2 with Haar . . . . . . . . . . . . . . .
69
5.13 Bird edge image using Canny edge detector . . . . . . . . . . . . .
70
5.14 Dr Pepper can image . . . . . . . . . . . . . . . . . . . . . . . . .
71
5.15 Dr Pepper can edge image using dwt2 with Haar . . . . . . . . . .
72
ix
5.16 DrPepper can edge image using Canny edge detector . . . . . . .
73
5.17 Toys room image . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
5.18 Toys room edge image using dwt2 with Haar . . . . . . . . . . . .
75
5.19 Toys room edge image using Canny edge detector . . . . . . . . .
76
5.20 Noised Pepsi can image . . . . . . . . . . . . . . . . . . . . . . . .
77
5.21 Noised Pepsi can edge image using dwt2 with Haar . . . . . . . .
78
5.22 Noised Pepsi can edge image using Canny edge detector . . . . . .
79
5.23 Noised Times square image . . . . . . . . . . . . . . . . . . . . . .
80
5.24 Noised Times square edge image using dwt2 with Haar . . . . . .
81
5.25 Noised Times square edge image using Canny edge detector . . .
82
5.26 Pepsi can image . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
5.27 Pepsi can edge image using dwt2 with Haar . . . . . . . . . . . .
84
5.28 Pepsi can edge image using dwt2 with db2 . . . . . . . . . . . . .
85
5.29 Pepsi can edge image using dwt2 with db3 . . . . . . . . . . . . .
86
5.30 Colored Pepsi can image . . . . . . . . . . . . . . . . . . . . . . .
88
5.31 Colored Pepsi can edge image using dwt2 with Haar . . . . . . . .
88
5.32 Colored Pepsi can edge image using Canny edge detector . . . . .
89
5.33 Colored toys room image . . . . . . . . . . . . . . . . . . . . . . .
89
5.34 Colored toys room edge image using dwt2 with Haar . . . . . . .
90
5.35 Colored toys room edge image using Canny edge detector . . . . .
90
x
THESIS ABSTRACT
NAME:
Azzam Abdulaziz Alfarraj
TITLE OF STUDY:
Edge Detection Using Discrete Wavelet Transform
MAJOR FIELD:
Mathematics
DATE OF DEGREE:
December 2017
The edge detection problem plays an important role in many applications. It
helps in extracting the main features of an image and specifying its constituent
parts. In the literature, this problem has been tackled using different mathematical approaches such as gradient-based detectors and minimization-based approach.
Also, the continuous wavelet transform approach is involved in many edge detection algorithms. The cornerstone in all approaches is to look for points where the
intensity of the image has a jump discontinuity. Applying the discrete wavelet
transform in two dimensions to an image will result in large detail coefficients at
the parts that have edges. The objective of this thesis is to propose a rigorously
analysed algorithm for edge detection using discrete wavelet transform in two dimensions. To the best of our knowledge, this algorithm has not been treated with
rigor in the literature.
xi
éCmÌ '@
éË AÓ
k , èYK Y« HA
®J J.¢ ú¯ AÒêÓ @P ðX I.ªÊK èPñË@ ¬@ ñk »
ú¯ Y«A IJ
KQË@ HA
K. X @ ú¯ .AîD¯ é
KñºÖÏ @ YK Ym' ð èPñË@ ú¯ éJ A B@ @ñmÌ '@ CjJ@
è Yë HAJ
èY« Ð@YjJAK Im
®A¾Ë@
ÉJÓ éJ AK P HAK
. PA®Ó
úΫ èYÒJªÖÏ @ HA
. .Ì 'ñ« à @ J. , éË AÖÏ @
IÓY
jJ@ ½Ë Y» .ÉJÊ® JË@ úΫ èYÒJªÖÏ @ ð h. PYJË@ QKñÓ
.' ñÖÏ @ ÉK ñm' éK . PA®Ó
ÉJÖÏ @ HAm
. Ë@ ñë HAK
. PA®Ö Ï @ ½ÊK É¿ ú¯ éK ð@QË@ Qm.k . ¬@ñmÌ '@ »
HAJ
ÓPP@ñk áÓ XY« ú¯
á« IjJ
A® JË@
.' ñÖÏ @ ÉK ñm' AJ®J . £ ñË .XAg ɾ
. èPñË@ èY AëYJ« QªJK úæË@
©¢® JÖÏ @ HAm
Z@Qk. B@ ú¯ èQJ.» ÉJA®K HCÓAªÓ
ø ñm' úæË@
úΫ ÉjJ AJKA¯ AÓ èPñ úΫ áK YªJ.Ë
Qå é<Êm
éÓ@
¬@ñmÌ '@ ºË
. × éJÓPP@ñk Õç' Y®K ñë éËAQË@ è Yë ú¯ ¬YêË@ .A¯@ñk
K AÓ úæ¯ @ I.k . áK YªJ.Ë ©¢® JÖÏ @ HAm
.' ñÖÏ @ ÉK ñm' Ð@YjJAK.
è Yë àA¯ éJË@ IÊñ
Qå IÊÔ
. Ë@ @ Yë HAJ
K. X @ ú¯ éÓ@
. IjJ
. « à @ J. ÕË éJÓPP@ñmÌ '@
xii
CHAPTER 1
INTRODUCTION
The edge detection problem plays an essential role in many applications. In fact,
it is a field on its own in image processing [1]. Moreover, it is the first step in
many computer vision applications, [2]. It is used mainly for feature extraction [3]
or for image segmentation [4], [5]. Edges identify the significant information in an
image, which enable the machine to separate its constituent parts. Additionally,
it reduces the amount of data stored and preserves the main structural properties
of the image for further processing [1], [6]. Other applications include medical
imaging [7], [8], face recognition, automatic control of traffic systems, obstacle
recognition, etc. [1], [2]
Before we start, it is worth noting that, mathematically speaking, an image is
a function of two variables u(x, y) defined on a rectangle. If grey-scale images are
considered, as in this work, u(x, y) is a grey-scale level that represents the intensity
of the image color at the point (x, y), rescaled to be a value in an interval [a, b]
for prespecified real numbers a and b. This rescaling process is admissible since
1
images are bounded functions [9].
The cornerstone in edge detection techniques and algorithms is to look for
points where the image intensity changes sharply. An edge is a sign for discontinuity [4]. Roughly speaking, it is a segment of connected pixels separating two
different regions in the image [1], [4]. Indeed, this definition of an edge is not
mathematically rigorous and it may lead to detecting false edges as in the case of
textures [9]. This is why in the very early work on this problem, researchers only
considered homogeneous (without texture) images [10].
The main challenges in edge detection include detecting false edges, missing
edges in low contrast images, high computational time, sensitivity of noise, missing
edges of objects with small change of intensity [2]. Amazingly, some detectors face
problems in detecting edges of high-definition images. The algorithm proposed
in this thesis performs better than most of the edge detectors when applied to
high-definition images.
The discrete wavelet transform can be applied using plenty of wavelet families
such as Haar, Daubechies, Mexican hat, etc. In this thesis we will focus on the
Haar wavelet which produced the best results in detecting edges. This is because
the abrupt change in its definition matches the discontinuity represented by an
edge in an image. Furthermore, it does not mollify the image as other smoother
wavelets do.
2
CHAPTER 2
LITERATURE REVIEW
2.1
Gradient-based Methods
Gradient-based methods for detecting edges were commonly used in applications
since 1960’s. Roberts [11] presented an operator in his Ph.D thesis where he used
the following two 2 × 2 kernel matrices
1 0
Dx =
0 −1
0 1
Dy =
−1 0
to compute the spatial gradient components of the image Gx and Gy . Gx and
Gy stand for the difference in the x-direction and y-direction respectively. These
components are used to get the gradient magnitude and angle as follows:
|G| =
q
G2x + G2y
θ = arctan(
3
Gx
3π
)−
.
Gy
4
Then some threshold T is set to mark the edge pixels wherever |G| > T . The
angle θ represents the direction perpendicular to the edge line.
For further improvements, Sobel [12] and Prewitt [13] presented two kernels
as 3 × 3 matrices as follows:
Sobel kernel matrices:
−1 0 1
Dx = −2 0 2
−1 0 1
2
1
1
Dy = 0
0
0
−1 −2 −1
Prewitt kernel matrices:
1
1
1
Dy =
0
0
0
−1 −1 −1
−1 0 1
Dx =
−1 0 1
−1 0 1
The gradient magnitude is computed as in Robert’s while the gradient angle is
θ = arctan(
Gx
).
Gy
Anyway, all three operators were sensitive to noise.
In 1980, Marr and Hildreth [14] introduced an operator that convolves the
image u with a Gaussian function G and then applies the Laplacian operator ∇2 to
4
the convolved image. The algorithm then looks for the points where ∇2 (u∗G) = 0
to identify points of local extrema of the gradient. The idea was dominating at
that time [1].
In 1986, John Canny presented an approach where edges are marked as maxima in gradient magnitude of a Gaussian-smoothed image [15]. The image u is
convolved with a Gaussian function G then the gradient magnitude |∇(u ∗ G)| is
computed to detect edges. Bergholm [16] used Canny’s operator and he succeeded
to differentiate between shadow contours and perfect ones [17]. Due to its great
advantages, Canny edge detector is still used widely after some improvements in
nowadays image processing techniques [1].
2.2
Minimization-based Methods
Mumford and Shah introduced a different approach to image segmentation in
1989 [18]. It is based on a minimization problem. They look for a pair (u, K) that
minimizes the following functional
F (u, K) =
Z
2
Ω\K
(u − u0 ) dx + α
Z
2
Ω\K
|∇u| dx + β
Z
dσ
K
where Ω = [0, 1]2 , u0 the initial image, K ⊂ Ω is a set of discontinuities and α
and β are non-negative parameters. In fact, if we drop the second term and reject
5
the trivial solution, we would get the reduced Mumford and Shah functional
E(u, K) =
Z
2
Ω\K
(u − u0 ) dx + β
Z
dσ.
K
This particular case gained some interest and Mumford and Shah [18], Morel and
Solimini [19] [20], and Massari and Tamanini [21] devoted some work to it. Indeed,
this approach will segment the image into its constituent pieces and K will present
the edges in the image.
2.3
Wavelet Transform-based Methods
Stephane Mallat et al. [22] implemented Canny’s approach with the conjugate
of a convolution kernel θ(x, y), instead of a Gaussian function. Practically, it
was computed with two wavelets ψ 1 and ψ 2 that are partial derivatives of the
convolution kernel θ [9]
ψ1 = −
∂θ
∂x
and
ψ2 = −
∂θ
.
∂y
The algorithm computes the wavelet transform components of an image and the
result is proportional to the gradient sought after. More explicitly,
W u(x, 2j ) = 2j ∇(u ∗ θ̄),
6
where W u(a, 2b ) is the continuous wavelet transform of a function f at scale b and
location a.
In 2016, Monika published a paper [23] discussing image edge detection using
the discrete wavelet transform. The paper was descriptive and it was not clear
what algorithm was used. Indeed, she talked about a threshold to get the high
detail coefficients but she never specified the threshold or even the way how to
arrive at it.
In 2005, Chaganti [17] described how to use four kinds of wavelets, Haar,
Daubechies, Coifman and biorthogonal, to detect edges. His thesis was also descriptive, as he was an engineering student. Moreover, he did not state a clear
algorithm.
7
CHAPTER 3
PRELIMINARIES
In this chapter, we will go through many notions and results needed in this thesis.
First, we will give the definition of a wavelet. Then, we will give some results
of vector valued inner products. Also, we will go through some function spaces
needed in our work and the convergence of sequences of functions in these spaces.
After that, we will give a brief about the Haar system since our work depends
heavily on the Haar system. Finally, we will talk about the notion of multiresolution analysis.
3.1
Wavelet Theory
Definition 3.1 (Wavelet) A function ψ(x) is called a wavelet if it satisfies the
following:
Z
|ψ(t)|2 dt < ∞
R
8
(3.1)
Z
ψ(t)dt = 0
(3.2)
R
3.2
Vector Valued Inner Products
In this section we let H be a Hilbert space. We will show some definitions and
properties of inner products of vectors in H.
Now we give the definition of vector valued inner products in H.
Definition 3.2 Let F and G be two vectors of elements in H defined as follows:
f1
f
2
F=
.
..
fn
,
g1
g
2
G=
.
..
gm
where fi , gj ∈ H for 1 6 i 6 n and 1 6 j 6 m, then
hf1 , g1 i hf1 , g2 i . . . hf1 , gm i
hf , g i hf , g i . . . hf , g i
2 1
2 2
2 m
hF, Gi =
.
..
..
..
..
.
.
.
hfn , g1 i hfn , g2 i . . . hfn , gm i
(3.3)
In fact, (3.3) is obtained by forming (formally) the matrix FG∗ and then applying
the inner product to each element of the resulting matrix.
Lemma 3.1 The vector valued inner products have the following three properties:
9
(1) hF + E, Gi = hF, Gi + hE, Gi
(2) hAF, BGi = AhF, GiB∗ , where A and B are complex matrices and B∗ is
the conjugate transpose of B
(3) hF, Gi∗ = hG, Fi
Definition 3.3 Given a vector G = {g1 , g2 , ..., gn }, we call hG, Gi the Grammian
of G.
Theorem 3.1 Suppose G = {g1 , g2 , ..., gn }T is a set of vectors in an inner product
space H. Then hG, Gi is invertible iff g1 , g2 , ..., gn are linearly independent.
Proof. (=⇒:) Assume that hG, Gi is invertible and g1 , g2 , ..., gn are not linearly
independent.
∴
∃ a vector c 6= 0 such that c∗ G = 0
⇒ hG, c∗ Gi = 0
⇒ hG, Gic = 0
⇒ c = 0 which contradicts the assumption.
(⇐=:) Assume that g1 , g2 , ..., gn are linearly independent and hG, Gi is not
invertible.
∴
∃ a vector c 6= 0 such that hG, Gic = 0
⇒ hgi , c∗ Gi = 0,
i = 1, 2, ..., n
⇒ c∗ G ⊥ span(G). On the other hand, c∗ G ∈ span(G)
∴
c∗ G = 0
10
Then either c∗ = 0 or G is not linearly independent, which both contradict the
assumption.
3.3
Function Spaces
In this thesis we will come across many function spaces and I will give a brief
definition of each one of them.
Definition 3.4 The space of all functions f : Ω −→ R; such that f is continuous
on Ω is denoted by C(Ω) and called the space of continuous functions.
Definition 3.5 (See [24]) For 1 6 p < ∞, we define Lp (Ω) to be the collection
of all functions f for which
Z
Ω
|f (x)|p dx < ∞.
Moreover, the Lp -norm of a measurable function f is defined by
kf kp =
Z
p
Ω
|f (x)| dx
1/p
Definition 3.6 (See [24]) A function f is called essentially bounded if there is
some M > 0, called the essential upper bound for f , for which
|f (x)| 6 M for almost all x ∈ Ω.
Definition 3.7 (See [24]) We define L∞ (Ω) to be the collection of all essentially
11
bounded functions. The L∞ -norm of a measurable function f(x) is defined by
kf k∞ = ess sup{|f (x)| : x ∈ Ω}.
The space L2 (Ω) is a Hilbert space equipped with the inner product
hf (x), g(x)i =
Z
f (x)g(x)dx,
f, g ∈ L2 (Ω)
Ω
where g(x) is the complex conjugate of g(x).
Definition 3.8 (Support of a Function) Suppose that f : Ω −→ R, then the
support of f(x), denoted by supp(f ), is the closure of the set of all vectors x such
that f(x) 6= 0. i.e., supp(f ) = {x ∈ Ω : f (x) 6= 0}.
Definition 3.9 (Compact Support) A function f is said to be of compact support if its support can be included in a closed and bounded domain.
Definition 3.10 A function f(x) defined on an Ω is C n on Ω with n ∈ N if it is
n-times continuously differentiable on Ω. C 0 on I if it is continuous on Ω. f(x) is
C ∞ on Ω if it is C n on Ω for all n ∈ N. A function f(x) is Ccn on Ω if it is C n on
Ω and compactly supported.
Theorem 3.2 (See [25]) If f ∈ L2 (R) and ǫ > 0, then there exists a function g
and R > 0, such that
R
R
|f − g|2 dx < ǫ with g(x) = f (x)χ
[−R,R]
(x).
This means that most of the energy of f is in a finite interval.
12
3.4
Convergence of Sequences of Functions
Definition 3.11 (Pointwise convergence) Given a function f(x) and a sequence of functions {fn (x)}n∈N defined on an interval I, we say that the sequence
{fn (x)}n∈N converges pointwise to f(x) if for every x0 ∈ I the sequence {fn (x0 )}n∈N
converges to f (x0 ). We write fn (x) → f (x) pointwise as n → ∞.
Definition 3.12 (Uniform (L∞ ) convergence) Given a function f(x) and a
sequence of functions {fn (x)}n∈N defined on an interval I, we say that the sequence
{fn (x)}n∈N converges uniformly to f(x) if for every ǫ > 0, there exists a number
N > 0 such that if n > N, then |fn (x) − f (x)| < ǫ for every x ∈ I. We write
fn (x) → f (x) uniformly as n → ∞.
Definition 3.13 (Mean-square (L2 ) convergence) Given a function f(x) and
a sequence of functions {fn (x)}n∈N defined on an interval I, we say that the sequence {fn (x)}n∈N converges in the mean-square to f(x) if
lim
n→∞
Z
I
|fn (x) − f (x)|2 dx = 0.
We write fn (x) → f (x) in the mean-square as n → ∞.
Theorem 3.3 (See [25]) Given that I is a finite interval,
(a) L∞ (I) ⊂ L2 (I).
(b) if fn (x) → f (x) uniformly on I, then fn (x) → f (x) in the mean-square on
I.
13
Theorem 3.4 (See [25]) Given that I is a finite interval, if fn (x) → f (x) in
L∞ (I) or L2 (I), then fn (x) → f (x) pointwise on I.
3.5
The Haar System
Alfred Haar, the Hungarian mathematician, itroduced the Haar function in his
Ph.D thesis in 1910 [26]. In this section, we will discuss the Haar function and
Haar scaling function with some notions, lemmas and theorems that relate to
them. First, we will introduce the notion of dyadic intervals.
3.5.1
Dyadic Intervals
Definition 3.14 For each pair j, k ∈ Z, the interval Ij,k = [2−j k, 2−j (k + 1)] is
called a dyadic interval. The collection of such intervals is known as the collection
of dyadic sub-intervals of R. The parameter j will be referred to as the scale level
or scale parameter, or simply ”scale”.
Note that if j 6= j1 or k 6= k1 then either
(i)
(ii)
Ij,k ∩ Ij1 ,k1 = φ
Ij,k ⊆ Ij1 ,k1
or
Ij1 ,k1 ⊆ Ij,k
(3.4)
(3.5)
l
r
Definition 3.15 Given a dyadic interval Ij,k at scale j, we write Ij,k = Ij,k
∪ Ij,k
,
l
r
where Ij,k
and Ij,k
denote the left half and right half of the interval Ij,k and they
l
r
are dyadic intervals at scale j + 1. Indeed, Ij,k
= Ij+1,2k and Ij,k
= Ij+1,2k+1 .
14
3.5.2
The Haar Scaling Function and the Haar Wavelet
Function
The Haar scaling function is defined as
ϕH (x) := χ[0,1) (x) =
1 if
0,
06x<1
otherwise.
Figure 3.1 shows the graph of the Haar scaling function.
Figure 3.1: The Haar scaling function
j/2 H j
Definition 3.16 Let ϕH
ϕ (2 x − k) with j, k ∈ Z.
j,k (x) = 2
The collec-
tion {ϕH
j,k (x)}j,k∈Z is called the Haar system of scaling functions. The collection
{ϕH
j,k (x)}k∈Z is called the system of Haar scaling functions at scale j.
15
Figure 3.2 shows the graphs of the Haar scaling functions at level j = 2.
Figure 3.2: (a) The Haar scaling function at level j = 2 and k = 0. (b) j = 2 and
k = 1. (c) j = 2 and k = 2. (d) j = 2 and k = 2
Lemma 3.2 For all j, k ∈ Z,
H
kϕH
j,k (x)k2 = kϕ (x)k2 .
Proof.
2
kϕH
j,k (x)k2
=
Z∞
2
|ϕH
j,k (x)| dx
=
dt = 2j dx
,
2
kϕH
j,k (x)k2
=
Z∞
j
[2j/2 ϕH (2j x − k)]2 dx
−∞
−∞
Let t = 2j x − k
Z∞
H
then
2 −j
2 [ϕ (t)] 2 dt =
Z∞
−∞
−∞
16
[ϕH (t)]2 dt = kϕH (x)k22
The system of Haar scaling functions satisfies the following [25] [27]:
(i) ϕH
j,k (x) is supported on the interval Ij,k .
(ii) For every j, k ∈ Z,
(iii) For every j, k ∈ Z,
R
R
R
2
|ϕH
j,k (x)| dx = 1.
−j/2
ϕH
.
j,k (x)dx = 2
R
j/2 H j
Lemma 3.3 If ϕH
ϕ (2 x − k) with j, k ∈ Z, and supp(ϕH ) = [a, b]
j,k (x) = 2
then supp(ϕH
j,k ) = Ij,k = [
a+k b+k
, j ]
2j
2
Proof. If supp(ϕH ) = [a, b], then we will look for values of x that will make the
expression (2j x − k) fall within the interval [a,b].
2j x − k > a
⇒
x>
a+k
2j
2j x − k 6 b
⇒
x6
b+k
.
2j
Then, supp(ϕH
j,k ) = Ij,k = [
Moreover, |Ij,k | =
a+k b+k
, j ].
2j
2
b−a
2j
We now address the question of which Haar scaling functions have support in
[0,1].
Lemma 3.4 The Haar scaling functions at scale j with support in [0, 1] are exj
2 −1
actly {ϕH
j,k (x)}k=0 .
17
Proof. First, keep in mind that in the interval [0, 1] we have Ij,k = 2−j [k, k + 1]
2−j k > 0
2−j (k + 1) 6 1
⇒
⇒
k>0
(k + 1) 6 2j
k 6 2j − 1
⇒
The Haar wavelet function (or the Haar function) is defined as
1
H
ψ (x) = χ[0,1/2) (x) − χ[1/2,1) (x) = −1
0,
if
if
0 6 x < 1/2
1/2 6 x < 1
otherwise.
H
Definition 3.17 The collection {ψj,k
(x)}j,k∈Z is called the Haar wavelet system.
H
The collection {ψj,k
(x)}k∈Z is called the system of Haar wavelet functions at scale
j.
Figure 3.3 shows the graph of the Haar wavelet function.
18
Figure 3.3: The Haar wavelet function
Note that lemmas 3.2, 3.3 and 3.4 also hold for Haar wavelet functions.
The Haar wavelet system satisfies the following [25] [27]:
H
(i) ψj,k
(x) is supported on the interval Ij,k .
(ii) For every j, k ∈ Z,
(iii) For every j, k ∈ Z,
R
R
R
R
H
|ψj,k
(x)|2 dx =
H
ψj,k
(x)dx =
R
Ij,k
R
Ij,k
H
(iv) ψj,k
(x) = 2j/2 (χIj,k
l (x) − χI r (x)).
j,k
19
H
|ψj,k
(x)|2 dx = 1.
H
ψj,k
(x)dx = 0.
3.5.3
Orthogonality of The Haar System
Definition 3.18 (Orthogonal Basis and Orthonormal Basis) A
basis
{gn (x)}∞
n=1 of a Hilbert space X is orthogonal if
hgn , gm i = 0
f or
n 6= m.
An orthogonal basis is called orthonormal if
hgn , gm i = δnm ,
where δnm is the kronecker δ; δnm =
1
n=m
0,
n 6= m.
Theorem 3.5 The system of Haar wavelet functions(or the Haar System)
H
{ψj,k
(x)}j,k∈Z is orthonormal on R.
Proof. The inner product we have is
H
hψj,k
, ψjH1 ,k1 i =
Z∞
H
ψj,k
(x)ψjH1 ,k1 (x)dx.
(3.6)
−∞
We show the orthonormality within a scale j first. The properties of dyadic
H H
intervals tell us that if k 6= k1 then ψj,k
ψj,k1 ≡ 0, and thus
H
H
hψj,k
, ψj,k
i = 0.
1
20
If k = k1 , then
H
H
hψj,k
, ψj,k
i
1
=
Z∞
H
H
ψj,k
(x)ψj,k
(x)dx
1
−∞
=
Z
H
|ψj,k
(x)|2 dx = 1
Ij,k
Now, we show the orthonormality in case of different scales. Without loss of
generality, say that j > j1 , then the properties (3.4) and (3.5) give us the following
three possibilities:
(i) Ij,k ∩ Ij1 ,k1 = φ which results in
H
hψj,k
, ψjH1 ,k1 i
=
Z∞
H
ψj,k
(x)ψjH1 ,k1 (x)dx = 0.
−∞
(ii) Ij,k ⊆ Ijl1 ,k1 . In this case, ψjH1 ,k1 (x) is identically 1 on Ijl1 ,k1 . This results in
H
hψj,k
, ψjH1 ,k1 i
=
Z
H
ψj,k
(x)ψjH1 ,k1 (x)dx
=
Z
H
ψj,k
(x)dx = 0.
Ij,k
Ij,k
(iii) Ij,k ⊆ Ijr1 ,k1 . In this case, ψjH1 ,k1 (x) is identically -1 on Ijr1 ,k1 and on Ij,k . This
results in
H
hψj,k
, ψjH1 ,k1 i
=
Z
H
ψj,k
(x)ψjH1 ,k1 (x)dx
Ij,k
=−
Z
H
(x)dx = 0.
ψj,k
Ij,k
Theorem 3.6 For any j ∈ Z, the system of Haar scaling functions at scale j is
an orthonormal system on R
21
Proof. First, If k = k1 then
H
hϕH
j,k , ϕj,k i
=
Z∞
H
ϕH
j,k (x)ϕj,k (x)dx
=
Z∞
2
|ϕH
j,k (x)| dx = 1.
−∞
−∞
H
Second, if k 6= k1 then the properties of dyadic intervals tell that ϕH
j,k ϕj,k1 ≡ 0,
and thus
H
hϕH
j,k , ϕj,k1 i
=
Z∞
H
ϕH
j,k (x)ϕj,k1 (x)dx = 0.
−∞
H
Theorem 3.7 ([25]) For any J ∈ Z, the collection {ϕH
J,k (x), ψj,k (x) : j > J, k ∈
Z} is an orthonormal system on R
3.6
Multiresolution Analysis (MRA)
H
(x)}j,k∈Z = {2j/2 ψ H (2j x − k)}j,k∈Z
We saw in Section 3.5 that the collection {ψj,k
forms an orthonormal system on R. In this section, we will see how to generalize
this construction. In particular, we will see a general framework for constructing
wavelet functions ψ(x) such that the collection
{ψj,k (x)}j,k∈Z = {2j/2 ψ(2j x − k)}j,k∈Z
is an orthonormal system on R. Such collection {ψj,k (x)}j,k∈Z is called a wavelet
orthonormal basis on R.
Definition 3.19 (Uniformly stable basis) For a given scale j, the basis Φj =
22
{ϕj,k (x) : k ∈ Z} is a uniformly stable basis for the space Sj if there exist two real
numbers α and β independent of j and α, β > 0 such that
αkck2
6
k
X
k∈Z
cj,k ϕj,k k2
6
βkck2
Definition 3.20 (Multiresolution analysis MRA [28]) A
multiresolution
analysis is a sequence S = {Sj }j∈Z of subspaces of L2 (R) that satisfies the
following properties:
(i) The spaces are nested. i.e. Sj ⊂ Sj+1 for every j ∈ Z.
(ii) Their union is dense in L2 (R). i.e.
(iii) Their intersection is trivial. i.e.
T
S
j∈Z
j∈Z
Sj = L2 (R).
Sj = {0}.
(iv) There is a function ϕ such that each Φj = {ϕj,k (x) : k ∈ Z} is a uniformly
stable basis for Sj .
(v) The spaces arises by scaling. i.e. ϕ ∈ Sj ⇒ ϕ(2·) ∈ Sj+1 .
(vi) They are shift-invariant. i.e. ϕ ∈ S0 ⇒ ϕ(· − k) ∈ S0 , k ∈ Z.
Definition 3.21 ([28]) For a MRA S, any function ϕ ∈ L2 (R) that satisfies
ϕ(x) =
X
k∈Z
ak ϕ(2x − k)
(3.7)
is called a scaling function of the MRA S. Moreover, the equation (3.7) is called
23
the refinement equation and the sequence {ak }k∈Z is called the refinement coefficients (or refinement mask).
24
CHAPTER 4
DISCRETE WAVELET
TRANSFORM IN ONE AND
TWO DIMENSIONS
In this chapter, we will give the definitions and properties of spaces and operators
needed in discrete wavelet transform in one dimension and then we will build
on the one-dimension case to go to the two-dimension case. We will discuss the
notions of approximation space and detail space and the operators associated with
them. Indeed, our interest is in discrete wavelet transform in two dimensions since
the images are two dimensional functions. All the work done in this chapter is
over the interval [0,1] rather than R since our scope is images which are bounded
in domain. Throughout this chapter, we will consider only the Haar system.
25
4.1
Discrete Wavelet Transform in One Dimension
Let Sj = span({ϕj,k (x)}k∈Z ) with ϕj,k (x) = 2j/2 ϕ(2j x − k). In discrete wavelet
transform in one dimension, we project L2 [0, 1] functions into the approximation
space Sj .
Pj : L2 [0, 1] −→ Sj
hPj f, gi = hf, gi
∀g ∈ Sj
(4.1)
We can easily show the following properties of the operator Pj
(i) Pj is linear. i.e. Pj (αf + h) = αPj f + Pj h.
(ii) Pj is an orthogonal projection. i.e. hg, Pj f − f i = 0
∀g ∈ Sj
We will now show how to derive an explicit formula for the operator Pj .
Given that Φj = {ϕj,k (x)}k∈Z is a basis for the space Sj , we have the following
Pj f = c∗ Φj
hf, Φj i = hPj f, Φj i = hc∗ Φj , Φj i = c∗ hΦj , Φj i
So, since hf, Φj i = c∗ hΦj , Φj i
then, using Theorem 3.1 we get c∗ = hf, Φj ihΦj , Φj i−1 .
If Φj is an orthogonal basis, as in the case of Haar system, then
26
hΦj , Φj i−1 = I
and
c∗ = hf, Φj i.
Definition 4.1 (The approximation operator) For every j ∈ Z, the approximation operator Pj of a function f ∈ L2 [0, 1] is
Pj f = hf, Φj iΦj
Φj is orthogonal
If we write the refinement coefficients in Definition 3.21 in a matrix a with elements
defined as follows:
1
ak,m = √ am−2k
2
(4.2)
we will be able to go from a finer level to a coarser level of approximation subspaces
by the relation
Φj = aΦj+1 .
(4.3)
In the following proposition, we will show more properties of the operator Pj .
Proposition 4.1 The operator Pj given in Definition 4.1 has the following properties:
(i) P2j = Pj .
(ii) Pj+1 Pj = Pj Pj+1 = Pj
(iii) hPj f, gi = hf, Pj gi
∀f, g ∈ L2 [0, 1]
Proof.
27
(i)
P2j f = Pj Pj f = Pj hf, Φj iΦj
= hf, Φj iPj Φj = hf, Φj iΦj
(ii)
Pj+1 Pj f = Pj+1 hf, Φj iΦj = hf, Φj iPj+1 Φj
= hf, Φj ihΦj , Φj+1 iΦj+1
= hf, Φj ihaΦj+1 , Φj+1 iΦj+1
using the refinement relation (4.7)
= hf, Φj iahΦj+1 , Φj+1 iΦj+1
= hf, Φj iaΦj+1 = hf, Φj iΦj = Pj f
Pj Pj+1 f = Pj hf, Φj+1 iΦj+1 = hf, Φj+1 iPj Φj+1
= hf, Φj+1 ihΦj+1 , Φj iΦj
= hf, Φj+1 ihΦj+1 , aΦj+1 iΦj
= hf, Φj+1 ihΦj+1 , Φj+1 ia∗ Φj
= hf, Φj+1 ia∗ Φj = hf, aΦj+1 iΦj
= hf, Φj iΦj = Pj f
28
using the refinement relation (4.7)
(iii)
hPj f, gi = hhf, Φj iΦj , gi
= hf, Φj ihΦj , gi
= hf, hg, Φj iΦj i
= hf, Pj gi
Definition 4.2 (The detail operator) For every j ∈ Z, the detail operator Qj
is defined as
Qj = Pj+1 − Pj .
(4.4)
Moreover, let Wj = Im(Qj ) and it is called the detail subspace.
In the following proposition, we will show some properties of the operator Qj .
Proposition 4.2 The operator Qj given in Definition 4.2 has the following properties:
(i) Q2j = Qj .
(ii) Qj Pj = Pj Qj = 0
(iii) hQj f, gi = hf, gi
(iv) hQj f, gi = hf, Qj gi
(v) Qj g = g
∀g ∈ Wj
∀f, g ∈ L2 [0, 1]
∀g ∈ Wj
29
Proof.
(i)
Q2j = (Pj+1 − Pj )2 = P2j+1 − Pj+1 Pj − Pj Pj+1 + P2j
= Pj+1 − Pj − Pj + Pj
using Proposition 4.1(ii)
= Pj+1 − Pj = Qj
(ii) Qj Pj = (Pj+1 − Pj )Pj = Pj+1 Pj − P2j = Pj − Pj = 0
using Proposition 4.1(ii)
(iii) Let g = Qj h for some h ∈ L2 [0, 1], and let f ∈ L2 [0, 1]
hQj f, gi = hQj f, Qj hi
= h(Pj+1 − Pj )f, Qj hi
= hPj+1 f, Qj hi − hPj f, Qj hi
= hf, Qj hi − hf, Pj Qj hi
= hf, Qj hi = hf, gi
30
using Proposition 4.1(iii)
(iv)
hQj f, gi = h(Pj+1 − Pj )f, gi
= hPj+1 f, gi − hPj f, gi
= hf, Pj+1 gi − hf, Pj gi
using Proposition 4.1(iii)
= hf, (Pj+1 − Pj )gi = hf, Qj gi
(v) Let f ∈ L2 [0, 1]
hQj g, f i = hg, Qj f i
= hg, f i
by property (iv)
by property (iii)
The proposition 4.2 shows that the operator Qj shares the same the properties as
Pj .
Lemma 4.1 The approximation space Sj+1 can be decomposed as follows:
Sj+1 = Sj ⊕ Wj
Proof. First, we show that
Sj+1 = Sj + Wj .
31
(4.5)
(⊆ :)
Let f ∈ Sj+1 , then
f = Pj+1 f = (Pj+1 − Pj )f + Pj f = Qj + Pj f
then Sj+1 ⊆ Sj + Wj .
(⊇ :)
Since Sj ⊂ Sj+1 and Wj ⊂ Sj+1 ,
then Sj + Wj ⊆ Sj+1 .
So, Sj+1 = Sj + Wj .
Now, we show that Sj ⊥ Wj
hf, gi = hPj f, gi = hPj f, Qj gi = hQj Pj f, gi = 0.
Thus,
Sj+1 = Sj ⊕ Wj
Now, if we keep applying the decomposition relation 4.5 to each approximation
subspace Sl ,
0 6 l 6 j we get
Sj+1 = S0 ⊕ W0 ⊕ W1 ⊕ · · · ⊕ Wj
(4.6)
The key idea in discrete wavelet transform is that any function f ∈ Sj+1 can
32
be decomposed into two parts in a coarser level, an approximation part in Sj
and a detail part in Wj , as in (4.5). Moreover, it can be decomposed into an
approximation part in the coarsest level S0 and details in many levels from 0 to
j as shown in (4.6). This decomposition process helps in many applications such
as denoising, compression, singularity detection, etc.
At this stage, the following question arises: Is there a function ψ such that
{ψj,k (x) : k ∈ Z} spans the detail subspace Wj ? The following proposition gives
the answer.
Proposition 4.3 ([28]) Suppose that the scaling function ϕ has a finite refinement mask {ak }k∈Z and generates an orthonormal MRA S. Let bk = (−1)k a1−k
then ψ(x) =
P
k∈Z bk ϕ(2x
− k) is a wavelet such that {ψj,k (x) : k ∈ Z} is an or-
thonormal basis for Wj . i.e. for every j ∈ Z, the detail operator Qj on a function
f ∈ L2 [0, 1] is given by
Qj f = hf, Ψj iΨj = d∗j Ψj
where d∗j = hf, Ψj i.
If we write the coefficients {bk : k ∈ Z} in Definition 4.3 in a matrix b with
elements defined in the same way that we did in (4.2), we get the coarse-fine
relation
Ψj = bΦj+1 .
33
(4.7)
4.1.1
Fast Wavelet Transform in One Dimension
Now, we are going to introduce the fast wavelet transform used in the decomposition and the reconstruction of any function f ∈ L2 [0, 1]. This transform uses the
refinement equations introduced previously in (4.2) and (4.7) to get the approximation coefficient cj and the detail coefficient dj at the coarser levels from the
approximation coefficient cj+1 at the finer level and vice-versa.
Decomposition
Given a function f ∈ L2 [0, 1], the projection of f into the space Sj can be written
as follows:
Pj f = Pj−1 f + Qj−1 f
hf, Φj iΦj = hf, Φj−1 iΦj−1 + hf, Ψj−1 iΨj−1 .
See Lemma 4.1
Let cTj = hf, Φj i and dTj = hf, Ψj i, we have:
cTj−1 = hf, Φj−1 i = hf, aΦj i
= hf, Φj iaT = cTj aT
∴
cj−1 = acj
(∗)
34
dTj−1 = hf, Ψj−1 i = hf, bΦj i
= hf, Φj ibT = cTj bT
∴
dj−1 = bcj
(∗∗)
The equations (∗) and (∗∗) show how to obtain the coarser approximation and
detail coefficients from the finer one. This is a decomposition process. Repeating
the decomposition process we get the decomposition diagram shown in Figure 4.1.
Figure 4.1: The decomposition of an input vector cj .
Reconstruction
This process is the reverse of decomposition and hence we keep the same definitions
of cj and dj . Recall that
Pj+1 f = Pj f + Qj f
hf, Φj+1 iΦj+1 = hf, Φj iΦj + hf, Ψj iΨj
35
Then
cTj+1 Φj+1 = cTj Φj + dTj Ψj
=⇒
cTj+1 Φj+1 = cTj aΦj+1 + dTj bΦj+1
=⇒
cTj+1 Φj+1 = (cTj a + dTj b)Φj+1
=⇒
cTj+1 = cTj a + dTj b
=⇒
cj+1 = aT cj + bT dj .
The last equation shows how to reconstruct cj+1 from cj and dj . We can start from
the coarsest level of approximation and details c0 , d0 , d1 , ..., dj and recursively
reconstruct the approximation coefficient cj+1 as depicted in Figure 4.2.
Figure 4.2: The reconstruction of a vector cj+1 .
The reconstruction process is also known as the inverse discrete wavelet transform.
Operation Count
In this section, we will calculate the number of operations needed to perform
the fast wavelet transform and compare it to the fast Fourier transform (FFT).
36
Assume that the input vector cj is of length N . To get the vector cj−1 using the
refinement equation (4.2) we need (l2 − l1 + 1)
(l2 − l1 + 1)
N
multiplication operations and
2
N
− 1 addition operations. In total, the calculations needed for cj−1 is
2
(l2 − l1 + 1)N − 1. The same number of operations is needed for dj−1 . So, to get
the approximation and detail coefficients at level j − 1 we need 2(l2 − l1 + 1)N − 2
operations. Continuing by induction, we get that the total number of operations
needed is 2(l2 − l1 + 1)N (1 +
1
1 1
+ + . . . + j−1 ) − 2j < 4(l2 − l1 + 1)N
2 4
2
So, the number of operations needed is O(N ). On the other hand, the (FFT)
needs O(N logN ) operations and obviously the fast wavelet transform is optimal
[28].
4.2
Discrete Wavelet Transform in Two Dimensions
As we mentioned in the introduction of this thesis, images are functions of two
variables. In this section, we will extend the notions and results shown in the
previous section to the case of two dimensions. We will build scaling function
and associated wavelet functions in two dimensions. Also, we will introduce the
approximation subspace and the detail subspaces in three directions, horizontal,
vertical and diagonal. The two-dimensional space will be thought of as the tensor
product of two one-dimensional spaces.
Definition 4.3 (The tensor product) Let V and W be two subspaces of
37
L2 [0, 1], with bases E and F respectively. The tensor product of V and W is
defined as
V ⊗ W = span{f (x)g(y) : f ∈ E, g ∈ F }.
(4.8)
A typical element in V ⊗ W is of the form
n
m X
X
αij fi (x)gj (y).
i=1 j=1
Clearly, V ⊗ W ⊆ L2 [0, 1]2
Theorem 4.1 Let U, V, W be subspaces of L2 [0, 1], then
(U + V ) ⊗ W = U ⊗ W + V ⊗ W
Proof. Let f ∈ U, g ∈ V
and h, r ∈ W , then
(⊆ :)
(f (x) + g(x))h(y) = f (x)h(y) + g(x)h(y)
∴
(U + V ) ⊗ W ⊆ U ⊗ W + V ⊗ W
(⊇ :)
Let F ∈ U ⊗ W and G ∈ V ⊗ W such that
38
(4.9)
F =
Pm Pn
F =
i=1
j=1
m X
n
X
αij fi (x)gj (y) and G =
αij fi (x)gj (y) =
i=1 j=1
G=
r X
s
X
m X
n
X
Pr
i=1
Ps
j=1
βij hi (x)gj (y)
αij (fi (x) + 0)gj (y)
∈ (U + V ) ⊗ W
βij (0 + hi (x))gj (y)
∈ (U + V ) ⊗ W
i=1 j=1
βij hi (x)gj (y) =
i=1 j=1
r X
s
X
i=1 j=1
∴
F + G ∈ (U + V ) ⊗ W
Corollary 4.2 Let U, V, W, Y be subspaces of L2 [0, 1], then
(U + V ) ⊗ (W + Y ) = U ⊗ W + U ⊗ Y + V ⊗ W + V ⊗ Y
Definition 4.4 Let Am×n and Br×s be two matrices, then
a11 B a12 B . . . a1n B
a B a B ... a B
21
22
2n
A⊗B =
.
..
..
..
..
.
.
.
am1 B am2 B . . . amn B
Theorem 4.3 If E is an orthonormal basis for V and F is an orthonormal basis
for W , then E ⊗ F is an orthonormal basis for V ⊗ W .
Proof.
Suppose that E = {ξi }i∈Z and F = {ηj }j∈Z , then E ⊗ F = {ξi ηj }i,j∈Z .
First, we show that any function in V ⊗ W can be represented as a linear combination of functions in E ⊗ F .
39
Let G ∈ V ⊗ W , then
G=
k X
l
X
αij fi gj ,
i=1 j=1
such that
fi =
X
βr ξr
and
gj =
r∈Ii
so
fi g j =
X
s∈Ij
X
βr βs′ ξr ηs
r∈Ii ,s∈Ij
=
X
βrs ξr ηs
r∈Ii ,s∈Ij
so
G=
l
k X
X
X
αij βrs ξr ηs
i=1 j=1 r∈Ii ,s∈Ij
=
X
′
βrs
ξ r ηs
r∈Ii ,s∈Ij
G = β ′ (E ⊗ F ).
hence
Now, we show the orthonormality of the elements of E ⊗ F
hξi ηj , ξk ηl i =
=
Z∞ Z∞
ξi (x)ηj (y)ξk (x)ηl (y)dxdy
−∞ −∞
Z∞
ξi (x)ξk (x)dx
Z∞
ηj (y)ηl (y)dy
−∞
−∞
= hξi ξk ihηj , ηl i
= δi,k δj,l = 1
∴
when
the elements of E ⊗ F
40
i = k, j = l
are orthonormal.
βs′ ηs
4.2.1
MRA in L2 [0, 1]2
Let ϕ generate an orthonormal MRA S = {Sj }j∈Z in L2 [0, 1]. Now, we want to
build an MRA in L2 [0, 1]2 .
Let Sj2 := Sj ⊗ Sj
= (Sj−1 ⊕ Wj−1 ) ⊗ (Sj−1 ⊕ Wj−1 )
= (Sj−1 ⊗ Sj−1 ) ⊕ (Sj−1 ⊗ Wj−1 ) ⊕ (Wj−1 ⊗ Sj−1 ) ⊕ (Wj−1 ⊗ Wj−1 )
|
{z
}
2
Wj−1
2
2
=: Sj−1
⊕ Wj−1
,
2
where Sj−1
is the approximation space at the coarser level j − 1,
Sj−1 ⊗ Wj−1 is the subspace of vertical details,
Wj−1 ⊗ Sj−1 is the subspace of horizontal details and
Wj−1 ⊗ Wj−1 is the subspace of diagonal details.
Orthonormal bases of these spaces are as follows: (See Theorem 4.3)
For Sj2 , a basis is {ϕj,k (x)ϕj,k (y) : k, l ∈ Z} = Φj ⊗ Φj = Φ2j ,
and for Sj−1 ⊗ Wj−1 , a basis is {ϕj,k (x)ψj,k (y) : k, l ∈ Z} = Φj ⊗ Ψj = Ψ21
j ,
and for Wj−1 ⊗ Sj−1 , a basis is {ψj,k (x)ϕj,k (y) : k, l ∈ Z} = Ψj ⊗ Φj = Ψ22
j ,
and for Wj−1 ⊗ Wj−1 , a basis is {ψj,k (x)ψj,k (y) : k, l ∈ Z} = Ψj ⊗ Ψj = Ψ23
j .
Ψ21
j
22 .
Let Ψ2j =
Ψj
Ψ23
j
41
The projections from L2 [0, 1]2 to the spaces Sj2 and Wj2 are defined as follows:
P2j : L2 [0, 1]2 −→ Sj2
P2j = hf, Φ2j iΦ2j
Q2j : L2 [0, 1]2 −→ Wj2
Q2j = hf, Ψ2j iΨ2j
Ψ21
j
Ψ21
j
22
= hf, Ψ22
i
j Ψj
23
Ψ
Ψ23
j
j
Ψ21
j
22
23 22
= (hf, Ψ21
j i hf, Ψj i hf, Ψj i) Ψj
23
Ψj
21
22
22
23
23
= hf, Ψ21
j iΨj + hf, Ψj iΨj + hf, Ψj iΨj .
Let cTj = hf, Φ2j i,
21
d1T
j = hf, Ψj i,
22
d2T
j = hf, Ψj i,
d1j
and dj =
d2j .
d3j
42
23
d3T
j = hf, Ψj i
Refinement Equations
Recall that Φj = aΦj+1 and Ψj = bΦj+1 , where a and b are given by ak,m =
1
1
√ am−2k and bk,m = √ bm−2k , hence
2
2
Φ2j = Φj ⊗ Φj = aΦj+1 ⊗ aΦj+1
= (a ⊗ a)(Φj+1 ⊗ Φj+1 )
= (a ⊗ a)Φ2j+1 =: a2 Φ2j+1
| {z }
2
a
(∗)
Ψ21
Φj ⊗ Ψj (a ⊗ b)Φ2j+1
j
2
= (b ⊗ a)Φ2
22 =
Ψj =
Ψ
Ψ
⊗
Φ
j j
j
j+1
23
2
Ψj
Ψj ⊗ Ψ j
(b ⊗ b)Φj+1
a ⊗ b
2
=
b ⊗ a Φj+1
b⊗b
| {z }
b2
=: b2 Φ2j+1 .
(∗∗)
Equations (∗) and (∗∗) will play an important rule in the decomposition and
reconstruction processes.
4.2.2
Fast Wavelet Transform in Two Dimensions
After we showed the fast wavelet transform in one dimension, we will now show
the fast wavelet transform in the case of two dimensions. The derivation is the
43
same.
Decomposition
For any function f ∈ L2 [0, 1]2 , we get the approximation coefficient in a coarser
level from the finer one as follows:
cTj = hf, Φ2j i = hf, a2 Φ2j+1 i
= hf, Φ2j+1 ia2T
= cTj+1 a2T
∴
cj = a2 cj+1
and we get the detail coefficient as follows:
dTj = hf, Ψ2j i = hf, b2 Φ2j+1 i
= hf, Φ2j+1 ib2T
= cTj+1 b2T
∴
dj = b2 cj+1
This is a decomposition process. Repeating the decomposition process we get the
decomposition diagram shown in Figure 4.1.
44
Reconstruction
The following equation shows how to reconstruct cj+1 from cj and dj . We can start
from the coarsest level of approximation and details c0 , d0 , d1 , ..., dj and recursively
reconstruct the approximation coefficient cj+1 as depicted in Figure 4.2.
cTj+1 Φ2j+1 = cTj Φ2j + dTj Ψ2j
= cTj a2 Φ2j+1 + dTj b2 Φ2j+1
= (cTj a2 + dTj b2 )Φ2j+1
∴
cj+1 = a2 T cj + b2 T dj
45
CHAPTER 5
EDGE DETECTION
Discrete wavelet transform has many applications, including but not limited to
compression, denoising and singularity detection. In this chapter, we are interested in image edge detection which can be defined as the process of locating
and identifying the sharp discontinuities in an image [17]. First, we are going to
consider singularity detection in one dimension. Then, we will extend the work
to the case of discontinuities in two dimensions, i.e. discontinuities in images.
After that, we will give a brief overview of Canny edge detector and compare the
results of our algorithm to Canny’s. In both detectors, we will add noise and observe the effect of noise on edge detection. Furthermore, we will experiment with
our algorithm using Haar wavelet, Daubechies wavelets db2 and db3 to illustrate
the distinction of the Haar wavelet in edge detection. Then, we will apply our
algorithm to colored images and compare the results to Canny’s.
46
5.1
Detecting Singularities of Functions in One
Dimension
Detecting singularities of functions in one dimension can be done using the discrete
wavelet transform by looking for high magnitude detail coefficients. In this work,
we are going to use the Haar wavelet because it matches well abrupt changes
in signals. Theorem 5.1 will show that the detail coefficients are small when
a function f is smooth. As we shall see, it provides the justification for using
wavelets in edge detection.
Definition 5.1 (Vanishing moment) The function f : Ω −→ R is said to have
d vanishing moments if
Z
xr f (x)dx = 0,
r = 0, 1, . . . , d − 1
Ω
(5.1)
Theorem 5.1 ([25]) For n ∈ N, let the function g be C n (R) and g (n) (x) be
L∞ (R). Suppose that the function ψ(x) has compact support and n vanishing
moments and that
R
R
|ψj,k (x)|2 dx = 1 for all j, k ∈ Z. Then there exists a constant
C > 0 that depends only on n and g such that
|hg, ψj,k i| 6 C2−jn 2−j/2 .
Proof. First, suppose that ψ(x) is supported in the interval I = [0, a] for some
a > 0. Recall that ψj,k (x) is supported in the interval Ij,k = [2−j k, 2−j (k + a)]
47
and |Ij,k | is 2−j a. Denote the center of the interval Ij,k by xj,k and note that
xj,k = 2−(j+1) a + 2−j k.
Since ψj,k (x) has n vanishing moments, given any polynomial p(x) of degree no
greater than n − 1 we have
Z
p(x)ψj,k (x)dx = 0.
(5.2)
R
Since g(x) is C n (R), for every j, k ∈ Z, g(x) can be expanded about the point xj,k
in a Taylor expansion as follows:
g(x) = g(xj,k )+(xj,k −xj,k )g ′ (xj,k )+. . .+
1
(xj,k −xj,k )n−1 g (n−1) (xj,k )+rn (x),
(n − 1)!
(5.3)
where
rn (x) =
1
(xj,k − xj,k )n g (n) (ξ)
n!
for some number ξ between xj,k and xj,k .
If x ∈ Ij,k , then xj,k − xj,k 6 2−(j+1) a, which implies that
|rn (x)| 6
1 −n(j+1) n
2
a max |g (n) (x)|.
x∈Ij,k
n!
48
(5.4)
Now, we apply (5.2) to (5.3) and compute
hg, ψj,k i =
Z
g(x)ψj,k (x)dx
R
!
n−1
X
1
(xj,k − xj,k )l g (l) (xj,k ) + rn (x) ψj,k (x)dx
=
l!
R
l=0
!
Z
n−1
X1
g (l) (xj,k ) (xj,k − xj,k )l ψj,k (x)dx
=
l!
R
l=0
Z
+ rn (x)ψj,k (x)dx
Z
R
=
Z
rn (x)ψj,k (x)dx,
by (5.2).
Ij,k
Then we apply (5.4) and the Cauchy-Schwarz inequality to get
|hg, ψj,k i| =
Z
rn (x)ψj,k (x)dx
Ij,k
1
6 2−n(j+1) an max |g (n) (x)|
x∈Ij,k
n!
Z
Ij,k
|ψj,k (x)|dx
1
6 2−n(j+1) an max |g (n) (x)||Ij,k |1/2
x∈Ij,k
n!
Z
2
Ij,k
|ψj,k (x)| dx
!1/2
1
max |g (n) (x)|2−n(j+1) an 2−j/2 a1/2
n! x∈Ij,k
1 −n n+1/2
−nj −j/2
(n)
=2 2
2 a
max |g (x)|
x∈Ij,k
n!
1 −n n+1/2 (n)
−nj −j/2
2 a
||g ||∞ .
=2 2
n!
=
with C =
1 −n n+1/2 (n)
2 a
||g ||∞ , Theorem 5.1 is satisfied.
n!
The above theorem suggests that the magnitude of the detail coefficients that
correspond to the smooth parts of a function will be very small compared with
49
the ones corresponding to the non-smooth parts of a function. This result has
a crucial implication to edge detection in images, since edges can be interpreted
as non-smooth parts of the image and hence can be detected by looking for high
detail coefficients. The following example will substantiate this statement.
Example 5.2 Consider the function f defined as follows:
f (x) =
1
0
if
0 6 x < 1/3
if
1/3 6 x < 1.
It is clear that f is continuous and continuously differentiable infinitely many
1
1
1
times on (0, ) and ( , 1) and it is discontinuous at x = . Now, we will calculate
3
3
3
the detail coefficients at level j = 1. Then, we will give a general formula for
calculating dj,k for all values of j and k. This will show that, in the subinterval that
has the discontinuity, the detail coefficient is nonzero while, in the subintervals
that have smooth parts the detail coefficients are zero.
H
(x) = 2j/2 ψ(2j x − k)
Recall first that ψj,k
d1,0
d1,1
√
√
√
2
1
1
H
= hf, ψ1,0
i=
2dx + (− 2)dx + 0dx = ( ) 2 − ( ) 2 + 0 =
4
12
6
0
1/4
1/3
3/4
√
√
R
R1
H
= hf, ψ1,1
i = (0) 2dx + (0)(− 2)dx = 0 + 0 = 0
1/4
R √
1/2
1/3
R
√
1/2
R
3/4
Now, we are going to deduce a general formula for calculating dj,k . First, let us
50
determine the dyadic subinterval Ij,k′ = [
1
k′ k′ + 1
]
∈ [ j,
3
2
2j
k′
1
> j
3
2
′
1
k +1
6
3
2j
∴
1
k′ k′ + 1
,
]
that
contains
the
value
x
=
.
2j
2j
3
1
k′
and
> j
3
2
2j
′
k 6
3
2j
′
k >
−1
3
⇒
⇒
⇒
1
k′ + 1
6
3
2j
2j
k =⌊ ⌋
3
′
So, for any value of j we have three cases for k. We will show the value of the
detail coefficients in each case.
Case I: k < ⌊
2j
⌋
3
In this case, x <
1
which implies that f (x) = 1. So
3
dj,k =
H
hf, ψj,k
i
=
Z
H
f ψj,k
dx
=
Ij,k
Z
H
ψj,k
dx = 0
Ij,k
2j
⌋
3
1
In this case, x > which implies that f (x) = 0. So
3
Case II: k > ⌊
dj,k =
H
hf, ψj,k
i
=
Z
H
f ψj,k
dx
=
Ij,k
Case III: k = k ′ = ⌊
In this case,
Z
Ij,k
2j
⌋
3
1
∈ Ij,k′ so we have two subcases:
3
51
H
(0)ψj,k
dx = 0
Case III(a):
1
l
∈ Ij,k
′ , which gives
3
H
dj,k′ = hf, ψj,k
′i =
Z
Ij,k′
Z1/3
H
H
ψj,k
f ψj,k
′ dx
′ dx =
k′
2j
Z1/3
1 k′
2j/2 dx = ( − j )(2j/2 ) > 0
=
3 2
k′
2j
k′
1
> j
3
2
since
Case III(b):
1
r
∈ Ij,k
′ , which gives
3
H
dj,k′ = hf, ψj,k
′i =
Z
H
f ψj,k
′ dx =
Ij,k′
=0+
Z
l
Ij,k
′
Z1/3
H
ψj,k
′ dx +
Z1/3
H
f ψj,k
′
2k′ +1
2j+1
1 2k ′ + 1
2j/2 = ( − j+1 )(2j/2 ) > 0
3
2
2k′ +1
2j+1
since
1
2k ′ + 1
> j+1
3
2
Figure 5.1 shows the function f (x) and the detail coefficients for the levels
j = 1, 2, 3. You can see clearly that the coefficient of the subinterval that contains
the discontinuity is high while all other coefficients are zeros.
52
Figure 5.1: (a) The function f (x), (b) The detail coefficients for j = 1, (c) The
detail coefficients for j = 2 and (d) The detail coefficients for j = 3
The proposed algorithm in one dimension
Now, we present the most important part in this section which is an algorithm to
detect singularities using discrete wavelet transform.
Suppose that we have a function f ∈ L2 [0, 1], and we want to detect singularities in it. The algorithm proposed is as follows:
Algorithm 5.3 (Wavelet-based singularity detection algorithm)
53
1) Apply discrete wavelet transform in one dimension at scale j, chosen a priori,
which produces the approximation and detail coefficient vectors cj and dj .
2) Discard the approximation coefficient vector cj .
3) Identify the detail coefficient dj,k that has the maximum modulus in dj and
call it m.
4) Choose a threshold T . Here we take T =
m
.
10
5) Discard all the detail coefficients that are less than T in modulus.
6) The remaining coefficients specify the dyadic subintervals where the singularities are located. The higher the scale j, the more precise the singularity
is bracketted since Ij,k = [2−j k, 2−j k + 1].
The reason for step 2 is that the approximation coefficient cj contains the smooth
part of the signal, since Sj contains all polynomials Pd of degree d − 1, where
d is the vanishing moment of ψ. Singularities are manifested only in the detail
coefficients since Wj is orthogonal to these polynomials. Figure 5.2 shows the flow
chart of this algorithm.
54
Figure 5.2: Flow chart for wavelet-based singularity detection algorithm
55
5.2
Edge Detection Using Discrete Wavelet
Transform in Two Dimensions
It is worth noting that images are functions of two variables [29]. Moreover, they
are bounded and at the same time have bounded variations [9]. Discrete wavelet
transform in two dimensions has many applications in image processing such as
compression and denoising. Most importantly for us, it enables us to detect
edges by tracking the high detail coefficients in vertical, horizontal and diagonal
directions. In this section, we will present an algorithm for image edge detection.
In fact, our algorithm is analogous to the one we proposed in the previous section.
Edge detection in the presence of noise will also be tried. Images considered in
this work, are all high-definition square images of size 2048 × 2048. Indeed, our
algorithm outperformed the Canny edge detector, which is the most popular one
used in the literature. The highest scale j that can be reached is
log2 (
p
size of image) − 1
(∗)
.
The proposed algorithm in two dimensions
Suppose that we have an image u ∈ L2 [0, 1]2 and we want to detect the edges in
u. The algorithm proposed is as follows:
Algorithm 5.4 (Wavelet-based edge detection algorithm)
56
1) Convert the image to a black-and-white image.
2) Apply discrete wavelet transform in two dimensions at scale j according to
(∗) to produce the approximation and detail coefficient vectors cj and dj .
T
Recall that dj = d1j d2j d3j . (See 4.2.1)
3) Discard the approximation coefficient vector cj .
4) Identify the detail coefficient dlj,k that has the maximum modulus for every
l with 1 6 l 6 3 and call them m1 , m2 and m3 , respectively. Then choose
the maximum one among them and call it m.
5) Let the threshold be T =
m
.
10
6) Discard all the detail coefficients in the three directions that are less than
T in modulus.
7) Plot the location of detail coefficients after thresholding to get the image
edges.
It is worth noting that this algorithm is applied using MATLAB software. Figure
5.3 shows the flow chart of this algorithm.
57
Figure 5.3: Flow chart for wavelet-based edge detection algorithm
58
5.3
Edge Detection Using Canny edge detector
John Canny proposed his detector in 1986 [15]. In this section, we will give a short
description of Canny edge detector. His detector is dominating nowadays due to
its great advantages [1]. Given an image u, the algorithm that Canny proposed is
as follows:
Algorithm 5.5 (Canny edge detector algorithm)
1) Convert the image to a black-and-white image.
2) Convolve the image u with a Gaussian function G. This step is done to
smooth the image. i.e. w = u ∗ G.
3) Take the modulus of gradient of the convolved image. i.e. Find |∇w| =
|∇(u ∗ G)|
4) Threshold by looking for pixels of high modulus gradient |∇w| > T .
5) Suppress any pixel that is not maximum in its neighborhood. Indeed, here
it only compares the pixel with the two neighboring pixels that are in the
direction of the tangent θ = arctan
wy
. This step is called non-maximum
wx
suppression to thin the edges.
6) Double threshold by setting two thresholds Thigh and Tlow and mark the
pixels above Thigh as strong, pixels between Thigh and Tlow as weak and
suppress pixels below Tlow .
59
7) Track the true edges by comparing the weak pixels to the 8 neighboring
pixels. If a weak pixel is connected to a strong one, then it is preserved.
Otherwise, it is considered false edge and, therefore, suppressed. Note that,
the Canny edge detector is applied to images using the MATLAB command
”edge(I,’canny’)”.
60
Figure 5.4: Flow chart for Canny edge detector algorithm
Figure 5.4 shows the flow chart of this algorithm.
61
5.4
Results and Comparison of Images Without
Noise
In this section, we compare edge detection by wavelets to that with Canny. We
begin by five images without noise. Then we add noise and observe its effect. The
first image shows a Pepsi can with a blurred background (Figure 5.5). It is clear
that our algorithm outperforms Canny’s. Using our algorithm, we only miss some
circles with weak boundaries in the background. For Canny algorithm, the true
edges are not clear and it produces many false edge pixels.
Figure 5.5: Pepsi can image
62
Figure 5.6: Pepsi can edges using dwt2 with Haar
Figure 5.6 shows the Pepsi can edges using Haar wavelet.
63
Figure 5.7: Pepsi can edges using Canny edge detector
Figure 5.7 shows the Pepsi can edges using Canny edge detector.
64
The second image that we are going to take is an image of the famous Times
Square in New York (Figure 5.8). Looking at the two edge images it is easily
seen that our algorithm outperforms Canny’s. Using our algorithm, the edges are
much clearer and the constituent parts in the image are easy to distinguish. For
example, you can easily see the edges of the cars and also read the word ”Kodak”
written vertically which is not the case with Canny’s.
Figure 5.8: Times square image
65
Figure 5.9: Times square edge image using dwt2 with Haar
Figure 5.9 shows the edge image of the Times Square using Haar wavelet.
66
Figure 5.10: Times square edge image using Canny edge detector
Figure 5.10 shows the edge image of the Times Square using Canny edge
detector.
67
The third image is of a bird with a blurred background (Figure 5.11).
Figure 5.11: Bird image
68
Figure 5.12: Bird edge image using dwt2 with Haar
Figure 5.12 shows the edge image of the bird image using Haar wavelet.
69
Figure 5.13: Bird edge image using Canny edge detector
Figure 5.13 shows the edge image of the bird image using Canny edge detector.
70
The fourth image is of a Dr Pepper can. (Figure 5.14).
Figure 5.14: Dr Pepper can image
71
Figure 5.15: Dr Pepper can edge image using dwt2 with Haar
Figure 5.15 shows the edges of the Dr Pepper can image using Haar wavelet.
72
Figure 5.16: DrPepper can edge image using Canny edge detector
Figure 5.16 shows the edges of the Dr Pepper can image using Canny edge
detector.
73
The fifth image is an image of a toys room (Figure 5.17).
Figure 5.17: Toys room image
74
Figure 5.18: Toys room edge image using dwt2 with Haar
Figure 5.18 shows the edges of the toys room image using Haar wavelet.
75
Figure 5.19: Toys room edge image using Canny edge detector
Figure 5.19 shows the edges of the toys room image using Canny edge detector.
5.5
Results and Comparison of Images with
Noise
Now we will see the effect of adding the salt and pepper noise to the Pepsi can
(Figure 5.20) and Times Square (Figure 5.23) images. Here we use the same
76
algorithm proposed but we lower the threshold to Tnoise =
m
m
, instead of T = .
20
10
Figure 5.20: Noised Pepsi can image
77
Figure 5.21: Noised Pepsi can edge image using dwt2 with Haar
Figure 5.21 shows the edges of the Pepsi can noised image using Haar wavelet.
78
Figure 5.22: Noised Pepsi can edge image using Canny edge detector
Figure 5.22 shows the edges of the Pepsi can noised image using Canny edge
detector.
79
Figure 5.23: Noised Times square image
80
Figure 5.24: Noised Times square edge image using dwt2 with Haar
Figure 5.24 shows the edges of the Times Square noised image using Haar
wavelet.
81
Figure 5.25: Noised Times square edge image using Canny edge detector
Figure 5.25 shows the edges of the Times Square noised image using Canny
edge detector.
It is clear that our algorithm is not immune to noise but still it is better than
Canny edge detector with respect to noise.
5.6
Comparison of Haar with db2 and db3 in
edge detection
In this section, we will apply our algorithm using Haar, db2 and db3 wavelets to
the Pepsi can image and compare the edge images in all cases. This section, will
82
show the distinction of the Haar wavelet in edge detection as we proposed in the
beginning of this work. This distinction is due to the better correlation of the
Haar wavelet with the characteristic edge jump discontinuity. Figure 5.26 shows
the Pepsi can image.
Figure 5.26: Pepsi can image
83
Figure 5.27: Pepsi can edge image using dwt2 with Haar
Figure 5.27 shows the edges of the Pepsi can image using Haar wavelet.
84
Figure 5.28: Pepsi can edge image using dwt2 with db2
Figure 5.28 shows the edges of the Pepsi can image using db2 wavelet.
85
Figure 5.29: Pepsi can edge image using dwt2 with db3
Figure 5.29 shows the edges of the Pepsi can image using db3 wavelet.
It clear that the Haar wavelet is distinct in detecting edges. Moreover, the edge
image loses sharpness of edges as we go from db1(Haar) to db2 to db3 an so on.
5.7
Edge Detection In Colored Images
In this section, we will directly apply our algorithm to colored images instead
of transforming first to a black-white image. The algorithm will be applied to
86
the colored Pepsi can image (Figure 5.30) and to the toys room image (Figure
5.33). Figures 5.31 and 5.32 show the edges of the colored Pepsi can image using
Haar wavelet and Canny edge detector, respectively. Figures 5.34 and 5.35 show
the edges of the toys room image using Haar wavelet and Canny edge detector,
respectively. Recall that a colored image can be thought of as a function
u : [0, 1] × [0, 1] −→ R3
where
r
u(x, y) =
g
b
and r, g, b are the red, green and blue color intensities at the point (x, y). The idea
is to apply the edge detection algorithm to each of the rgb channels representing
the color intensities at the image pixels.
87
Figure 5.30: Colored Pepsi can image
Figure 5.31: Colored Pepsi can edge image using dwt2 with Haar
88
Figure 5.32: Colored Pepsi can edge image using Canny edge detector
Figure 5.33: Colored toys room image
89
Figure 5.34: Colored toys room edge image using dwt2 with Haar
Figure 5.35: Colored toys room edge image using Canny edge detector
Clearly, from the above images you can see that our algorithm outperforms
90
the Canny edge detector when colored images are processed instead of black-white
images.
Concluding Remarks 5.6
At the end of this work, we can summarize our findings as follows:
❼ Our algorithm outperforms Canny edge detector when processing high-
definition images.
❼ Our algorithm is much more immunized than Canny edge detector when
processing noised high-definition images.
❼ Our algorithm is performing the best when using the Haar wavelet.
❼ Our algorithm outperforms Canny edge detector when colored images are
processed.
Conclusion 5.7 fsd
91
REFERENCES
[1] Rashmi, M. Kumar, and S. Rohini, “Algorithm and Technique on Various
Edge Detection : A Survey,” Signal & Image Processing : An International
Journal, vol. 4, no. 3, pp. 65–75, 2013.
[2] S. Bhardwaj and A. Mittal, “A Survey on Various Edge Detector Techniques,” Procedia Technology, vol. 4, pp. 220–226, 2012.
[3] M. Ali and D. Clausi, “Using the Canny edge detector for feature extraction
and enhancement of remote sensing images,” in IEEE International Geoscience and Remote Sensing Symposium, vol. 5. IEEE, 2001, pp. 2298–2300.
[4] Sivakumar P and Meenakshi S, “A REVIEW ON IMAGE SEGMENTATION
TECHNIQUES,” International Journal of Advanced Research in Computer
Engineering & Technology, vol. 5, no. 3, 2016.
[5] P. A. Hajare and P. A. Tijare, “Edge Detection Techniques for Image Segmentation,” International Journal Of Computer Science And Applications,
vol. 4, no. 1.
92
[6] R. Maini and H. Aggarwal, “Study and Comparison of Various Image Edge
Detection Techniques,” Himanshu Aggarwal International Journal of Image
Processing, vol. 3, no. 1, 2009.
[7] M. Gudmundsson, E. El-Kwae, and M. Kabuka, “Edge detection in medical
images using a genetic algorithm,” IEEE Transactions on Medical Imaging,
vol. 17, no. 3, pp. 469–474, jun 1998.
[8] Z. Yu-qian, G. Wei-hua, C. Chen Zhen-cheng, T. Jing-tian, and L. Ling-yun,
“Medical Images Edge Detection Based on Mathematical Morphology,” in
IEEE Engineering in Medicine and Biology 27th Annual Conference, vol. 6.
IEEE, 2005, pp. 6492–6495.
[9] S. Mallat, A Wavelet Tour of Signal Processing, 2nd ed.
Academic Press,
1999.
[10] L. S. Davis, “A Survey of Edge Detection Techniques,” Computer Graphics
and Image Processing, vol. 4, no. 3, pp. 248–270, 1975.
[11] L. Roberts, “Machine Perception of Three-Dimensional Solids,” Ph.D. dissertation, MIT, 1963.
[12] I. Sobel and G. Feldman, “A 3x3 isotropic gradient operator for image processing,” a talk at the Stanford Artificial Intelligence Project, 1968.
[13] J. Prewitt, “Object Enhancement and Extraction,” in Picture Processing and
Psychopictorics, B. Lipkin and A. Rosenfeld, Eds.
ch. 1, pp. 75–151.
93
Academic Press, 1970,
[14] D. Marr and E. Hildreth, “Theory of edge detection.” Proceedings of the
Royal Society of London. Series B, Biological sciences, vol. 207, no. 1167, pp.
187–217, feb 1980.
[15] J. Canny, “A Computational Approach to Edge Detection,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-8, no. 6, pp.
679–698, nov 1986.
[16] F. Bergholm, “Edge Focusing,” IEEE Transactions on Pattern Analysis and
Machine Intelligence, vol. PAMI-9, no. 6, pp. 726–741, nov 1987.
[17] V. Chaganti, “Edge Detection of Noisy Images Using 2-D Discrete Wavelet
Transform,” Master’s thesis, Florida State University, 2005.
[18] D. Mumford and J. Shah, “Optimal approximations by piecewise smooth
functions and associated variational problems,” Communications on Pure
and Applied Mathematics, vol. 42, no. 5, pp. 577–685, jul 1989.
[19] J.-M. Morel and S. Solimini, “Segmentation of images by variational methods:
a constructive approach,” 1988.
[20] S. Solimini and J. M. Morel, “Variational methods in image segmentation,”
Progress in Nonlinear Differential Equations and Their Applications, 1995.
[21] U. Massari and I. Tamanini, “Regularity properties of optimal segmentations,” Journal fur die reine und angewandte Mathematik, vol. 420, pp. 61–84,
1991.
94
[22] S. Mallat and S. Zhong, “Characterization of Signals from Multiscale Edges,”
IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 14,
no. 7, pp. 710–732, jul 1992.
[23] R. Monika, “Image Edge Detection using Discrete Wavelet Transform,” International Journal of Innovative Research in Computer and Communication
Engineering, vol. 4, no. 4, pp. 169–175, 2016.
[24] H. L. Royden and P. M. Fitzpatrick, Real Analysis, 4th ed. Pearson, 2010.
[25] D. F. Walnut, An introduction to wavelet analysis, 2nd ed. Birkhauser, 2004.
[26] A. Haar, “Zur theorie der orthogonalen funktionensysteme,” Mathematische
Annalen, vol. 69, no. 3, pp. 331–371, 1910.
[27] R. Islam, “Approximation By Wavelets,” Master’s thesis, KFUPM, 2005.
[28] K. Urban, Wavelet methods for elliptic partial differential equations. Oxford
University Press, 2009.
[29] A. Chambolle, R. A. De Vore, N.-Y. Lee, and B. J. Lucier, “Nonlinear
wavelet image processing: variational problems, compression, and noise removal through wavelet shrinkage,” IEEE Transactions on Image Processing,
vol. 7, no. 3, pp. 319–335, 1998.
95
Vitae
❼ Name: Azzam Abdulaziz Alfarraj
❼ Nationality: Saudi
❼ Date of Birth: 21, Feb 1992
❼ Email: azzamfr@gmail.com
❼ Permenant Address: P.O. Box 450, KFUPM, Dhahran 31261, Saudi Arabia
96