Lecture 2: 2D Fourier transforms and applications
B14 Image Analysis Michaelmas 2014 A. Zisserman
" Fourier transforms and spatial frequencies in 2D
" Definition and meaning
" The Convolution Theorem
" Applications to spatial filtering
" The Sampling Theorem and Aliasing
Much of this material is a straightforward generalization of
the 1D Fourier analysis with which you are familiar.
Reminder: 1D Fourier Series
Spatial frequency analysis of a step edge
x
Fourier decomposition
Fourier series reminder
Example
=
f (x) = sin x +
+
1
3
sin 3x + . . .
Fourier series for a square wave
f (x) =
=
1
n
sin nx
Xn=1,3,5,...
Fourier series: just a change of basis
M f(x) = F(w)
.
=
.
.
.
Inverse FT: Just a change of basis
M-1 F(w) = f(x)
.
=
.
.
.
1D Fourier Transform
Reminder transform pair - definition
Example
x
u
2D Fourier transforms
2D Fourier transform
Definition
Sinusoidal Waves
To get some sense of what
basis elements look like, we
plot a basis element --- or
rather, its real part ---
as a function of x,y for some
fixed u, v. We get a function
that is constant when (ux+vy)
is constant. The magnitude of
the vector (u, v) gives a
frequency, and its direction
gives an orientation. The
function is a sinusoid with this
frequency along the direction,
and constant perpendicular to
the direction.
v
u
slide: B. Freeman
Here u and v are larger than
in the previous slide.
v
u
And larger still...
v
u
Some important Fourier Transform Pairs
FT pair example 1
rectangle centred at origin
Publicité
with sides of length X and Y
v
u
f(x,y)
|F(u,v)|
separability
|F(u,v)|
FT pair example 2
Gaussian centred on origin
" FT of a Gaussian is a Gaussian
" Note inverse scale relation
f(x,y)
F(u,v)
FT pair example 3
Circular disk unit height and
radius a centred on origin
" rotational symmetry
" a 2D version of a sinc
f(x,y)
F(u,v)
FT pairs example 4
f(x,y)
F(u,v)
Summary
f(x,y)
= a
+b
+g
+ &
Example: action of filters on a real image
original
low pass
high pass
f(x,y)
|F(u,v)|
Example 2D Fourier transform
Image with periodic structure
f(x,y)
|F(u,v)|
FT has peaks at spatial frequencies of repeated texture
Example Forensic application
Periodic background removed
|F(u,v)|
remove
peaks
Example Image processing
Lunar orbital image (1966)
|F(u,v)|
remove
peaks
join lines
removed
Magnitude vs Phase
|F(u,v)|
cross-section
f(x,y)
phase F(u,v)
" |f(u,v)| generally decreases with
higher spatial frequencies
" phase appears less informative
The importance of phase
phase
magnitude
phase
A second example
phase
magnitude
phase
Transformations
As in the 1D case FTs have the following properties
" Linearity
" Similarity
" Shift
In 2D can also rotate, shear etc
Under an affine transformation:
Example
How does F(u,v) transform if f(x,y) is rotated by 45 degrees?
f(x,y)
|F(u,v)|
Publicité
The convolution theorem
Filtering vs convolution in 1D
filtering f(x) with h(x)
f(x)
h(x)
g(x)
100 | 200 | 100 | 200 | 90 | 80 | 80 | 100 | 100
1/4 | 1/2 | 1/4
molecule/template/kernel
| 150 | | | | | | |
g(x) =
f (u)h(x
u) du
convolution of f(x) and h(x)
Z
Z
=
=
Xi
f (x + u0)h(
u0) du0
after change of
variable
f (x + i)h(
i)
" note negative sign (which is a reflection in x) in convolution
" h(x) is often symmetric (even/odd), and then (e.g. for even)
Filtering vs convolution in 2D
convolution
filtering
image f(x,y)
filter / kernel h(x,y)
g(x,y) =
for convolution, reflect filter in x and y axes
Convolution
" Convolution:
Flip the filter in both dimensions (bottom to top, right to left)
convolution with h
filtering with h
h
h
f
slide: K. Grauman
Filtering vs convolution in 2D in Matlab
2D filtering
" g=filter2(h,f);
f=image
h=filter
nmg
],
[
lkh
],[
=
lk
,
2D convolution
(cid:129) g=conv2(h,f);
lnkmf
[
+
+
,
]
nmg
],
[
=
lk
,
lkh
],[
lnkmf
[
-
-
Publicité
,
]
Convolution theorem
Space convolution = frequency multiplication
In words: the Fourier transform of the convolution of two
functions is the product of their individual Fourier transforms
Proof: exercise
Why is this so important?
Because linear filtering operations can be carried out by simple
multiplications in the Fourier domain
The importance of the convolution theorem
It establishes the link between operations in the frequency
domain and the action of linear spatial filters
Example smooth an image with a Gaussian spatial filter
Gaussian
scale=20 pixels
*
1. Compute FT of image and FT of Gaussian
2. Multiply FTs
3. Compute inverse FT of the result.
f(x,y)
Gaussian
scale=3 pixels
g(x,y)
Fourier transform
*
x
Inverse Fourier
transform
|F(u,v)|
|G(u,v)|
f(x,y)
Gaussian scale=3 pixels
g(x,y)
Fourier transform
*
x
Inverse Fourier
transform
|F(u,v)|
|G(u,v)|
There are two equivalent ways of carrying out linear spatial
filtering operations:
1. Spatial domain: convolution with a spatial operator
2. Frequency domain: multiply FT of signal and filter, and compute
inverse FT of product
Why choose one over the other ?
"
"
The filter may be simpler to specify or compute in one of the domains
Computational cost
Exercise
What is the FT of &
?
2 small disks
The sampling theorem
Discrete Images - Sampling
f(x)
x
x
x
X
Fourier transform pairs
Sampling Theorem in 1D
spatial domain
frequency domain
*
x
F(u)
u
replicated copies of F(u)
Apply a box filter
1/X
u
F(u)
f(x)
x
The original continuous function f(x) is completely recovered from the samples
provided the sampling frequency (1/X) exceeds twice the greatest frequency of the
Publicité
band-limited signal. (Nyquist sampling limit)
The Sampling Theorem and Aliasing
if sampling frequency is reduced &
spatial domain
frequency domain
x
u
Frequencies above the Nyquist limit are
folded back corrupting the signal in the
acceptable range.
The information in these frequencies is
not correctly reconstructed.
Sampling Theorem in 2D
frequency domain
*
F(u,v)
1/Y
1/X
*
=
=
The sampling theorem in 2D
If the Fourier transform of a function (x,y) is zero for all
frequencies beyond ub and vb,i.e. if the Fourier transform is
band-limited, then the continuous function (x,y) can be
completely reconstructed from its samples as long as the
sampling distances w and h along the x and y directions
are such that and
w
1
bu
2
h
1
bv
2
Aliasing
Aliasing : 1D example
If the signal has frequencies above the Nyquist limit &
Insufficient samples to distinguish the high and low frequency
aliasing: signals travelling in disguise as other frequencies
Aliasing in video
Slide by Steve Seitz
Aliasing in 2D under sampling example
original
reconstruction
signal has frequencies
above Nyquist limit
Aliasing in images
Whats happening?
Input signal:
Plot as image:
x = 0:.05:5; imagesc(sin((2.^x).*x))
Aliasing
Not enough samples
Anti-Aliasing
" Increase sampling frequency
" e.g. in graphics rendering cast 4 rays per pixel
" Reduce maximum frequency to below Nyquist limit
" e.g. low pass filter before sampling
Example
4 x zoom
down sample by
factor of 4
convolve with
Gaussian
*
down sample by
factor of 4
Hybrid Images
Frequency Domain and Perception
Campbell-Robson contrast sensitivity curve
slide: A. Efros
Aude Oliva & Antonio Torralba & Philippe G Schyns, SIGGRAPH 2006