2D Fourier Theory for Image Analysis

Download Report

Transcript 2D Fourier Theory for Image Analysis

2D Fourier Theory
for Image Analysis
Mani Thomas
CISC 489/689
Roadmap
2D image basis
 Fourier basis
 Scale-space representation

 Gaussian
pyramid
 Laplacian pyramid
Image mosaicing
 Gabor filters

Different basis representation

Recall our discussion of basis vectors for
coordinate systems:
 Describe
point as linear combination of orthogonal basis vectors: x = a1v1 + ... + anvn

The standard basis for images is the set of
unit vectors corresponding to each pixel.
A toy example:
Hadamard basis


The standard basis is not the only one we can use to describe an
image
E.g., the Hadamard basis (basis images shown
here for 2 x 2 images, where black = +1,
white = -1)
 For the previous example, we can express the image
with these new (normalized) basis vectors as:
Coefficients of sum = projection of I onto new basis (dot product)
 These are the coordinates of the image in “Hadamard space”


We can also say that I has undergone a Hadamard transform H:
Sinusoidal Basis

Binary-valued, rectangular wave pattern of
Hadamard basis doesn’t capture real
image gradients well
 Idea:
Use smoothly-varying sinusoidal
patterns at different frequencies, angles for
basis images
Fourier Basis

The Fourier basis uses the family of
complex sinusoidal functions
2D DFT

Forward 2D DFT
1 M 1 N 1
 j 2 ( ux / M  vy / N )
F (u, v) 
f
(
x
,
y
)
e

MN x 0 y 0

Inverse 2D DFT
M 1 N 1
f ( x, y)   F (u, v)e  j 2 (ux / M vy / N )
u 0 v 0
 (u,
v) are the frequency coordinates while (x, y) are
the spatial coordinates
 M, N are the number of spatial pixels along the x, y
coordinates
Fourier Basis
Real
(cos) part
(u, v) (1, 0) (1, 1) (0, 5)
Imaginary
(sin) part
v
Fourier transform in Matlab
Discrete, 2-D Fourier & inverse Fourier
transforms are computed by fft2 and
ifft2, respectively
 fftshift: Move origin (DC component)
to image center for display
 Example:

>>
>>
>>
>>
I = imread(‘test.png’);
F = fftshift(fft2(I));
imshow(log(abs(F)),[]);
imshow(angle(F),[]);
%
%
%
%
Load grayscale image
Shifted transform
Show log magnitude
Show phase angle
Phase and Magnitude

Output of the Fourier transform is a complex number


Decompose the complex number as the magnitude and phase
components
In Matlab: u = real(z), v = imag(z), r =
abs(z), and theta = angle(z)
Image pyramid representation

Smoothing means
removing high
frequencies


Smoothing required to
avoid aliasing
Fourier transform of a
Gaussian is a Gaussian

Convolution is a
multiplication Gaussian
suppresses high
frequencies
Gaussian Pyramid



Downsampling: Cut width,
height in half at each iteration:
Upsampling S"(I): Double
size of image, interpolate
missing pixels
Let the base (the finest
resolution) of an n-level
Gaussian pyramid be defined
as P0 = I. Then the ith level
is reduced from the level below
it by:
from Forsyth & Ponce
Gaussian pyramid
Laplacian pyramid

The tip (the coarsest resolution) of an n-level
Laplacian pyramid is the same as the Gaussian
pyramid at that level: Ln(I) = Pn(I)

The ith level is expanded from the level above
according to Li(I) = Pi(I) ¡ S"(Pi+1(I))

Synthesizing the original image: Get I back by
summing upsampled Laplacian pyramid levels
Gaussian and Laplacian
courtesy of Wolfram

Gaussian – Smoothing pyramid


Each level is a smoothed and decimated signal of the previous
Laplacian – Band pass filter of the images

Each level is the difference of a more smoothed and less
smoothed image
Summation Property
If L0, L1 LN is the sequence of laplacians
Li = Gi – EXPAND[Gi+1], 0<i<N
LN = GN
 The steps used to construct the Laplacian
can be reversed to get the original

 Expand
Li and add it to Li-1 to Gi-1
G0 = i=0N Li
Applications – Image Mosaicing
Seamless joining of images to get a larger view
Multi-resolution spline interpolation
Laplacian
level
4
Laplacian
level
2
Laplacian
level
0
left pyramid
right pyramid
blended pyramid
Image mosaicing

Automatic mosaicing
 Cross
correlation to compute translation
between images

Matlab demo – Burt and Adelson’s paper
 http://www.cs.huji.ac.il/course/2003/impr/splin
e83.pdf
Application - Coarse-to-Fine Estimation
warp
+
a

aw
refine
J pixels
u=1.25

u=2.5 pixels
Δa
u=5 pixels
image J
Pyramid of image J
u=10 pixels
image I
Pyramid of image I
Slide from CS 223-B L9 by Richard Szeliski
Gabor filters

Gaussian windowed Fourier Transform
 Make
convolution kernels from product of
Fourier basis images and Gaussians
£
Odd
(sin)
Even
(cos)
Frequency
=
Texture Representation: Filter
Responses

Choose a group of filters
 Edge/Bar
filters: Something like Gabor filters at
different orientations, scales
 Spot filters: Center-surround filters like a
Gaussian/difference of Gaussians at multiple scales

Run filters over image to get a set of response
images
 Each
contains specific texture information
Example: Filter Responses
Filter
bank
Input
image
from Forsyth & Ponce
Texture Similarity based on
Response Statistics

Collect statistics of responses over an
image or subimage
 Mean
of squared response
 Mean and variance of squared response

Euclidean distance between vectors of
response statistics for two images is
measure of texture similarity
Conclusions


2D Fourier Theory
Image pyramid representation
 Gaussian
pyramid
 Laplacian pyramid

Applications of Image Pyramids
 Image Mosaicing
 Gaussian + Laplacian pyramids (Burt and Adelson)

Texture statistics
 Gabor
filters