Académique Documents
Professionnel Documents
Culture Documents
Michael Elad*
Scientific Computing and Computational Mathematics
Stanford University
FoCM Conference, August 2002
Image and Signal Processing Workshop
IMA - Minneapolis
* Joint work with Dave Donoho (Stanford-Statistics),
Amir Averbuch (TAU-CS-Israel), and Ronald Coifman (Yale-Math)
-1-
Collaborators
Dave Donoho
Amir Averbuch
Ronald Coifman
Statistics Department
Stanford
CS Department
Tel-Aviv University
Math. Department
Yale
-2-
Current Stage:
Agenda
Polar Continuum
1. ThinkingThinking
Polar Continuum
2. Thinking Polar Discrete
3. Current State-Of-The-Art
Background
&
Motivation
New
Approach
and its
Results
8. Conclusions
-4-
f (u, v ) = (f )(x , y ) =
-5
0
-4
-3
-2
-1
2
3
0
1
2
5
3
4
5
6
-5
-4
-3
-2
-1
-6-
Rotation f0 (x , y ) = f Q0 {x , y}
~
~
f0 (r , ) = f (r , 0 )
-7-
~
~
f (r , ) = Const f (r , )
Log-Polar shift in the radial variable.
-8-
~
~
Angular cross-correlation between f (r , ) and g (r , )
Estimate 0.
Rotation & cross-correlation on regular Fourier transform
gives the shift.
-9-
Rf (t , ) =
~
Projection-Slice-Theorem: (1Rf )(t , ) = f (r , ) .
~
Reconstruction: Rf a f a f a f .
- 10 -
Curvelets,
Fourier Integral operations,
Ridgelet packets.
Analysis of textures.
Analysis of singularities.
More
- 11 -
Agenda
1. Thinking Polar Continuum
2.
3. Current State-Of-The-Art
4. Our Approach - General
5. The Pseudo-Polar Fast Transform
6. From Pseudo-Polar to Polar
7. Algorithm Analysis
8. Conclusions
- 12 -
- 14 -
N
1
2n1 N 2
y
2
N
x =
2
n
N
2 n ,n = N
y
1 2
2
2
N
- 15 -
2D FFT Complexity
Complexity: O(10N2log2N)
instead of O(N4).
Important Feature: All
operations are 1D
leading to
efficient cache usage
Cartesian N-by-N
Data
5N2logN
1D FFT to columns
5N2logN
1D FFT to rows
Cartesian
2D-FFT 10N2logN
- 16 -
Choice of grid?
NS 1
n1 r
r =
NS
r n1 = 0
NSr
NS 1
2n2
, =
NS
n2 = 0
Resulting with NS
rays with NSr
elements on each:
For S=Sr=1, we
have N2 grid points.
2
NS
- 17 -
Grid Problematics
Grid spacing?
Fate of corners?
No X-Y separability !!
-
- 18 -
- 19 -
Agenda
1. Thinking Polar Continuum
2. Thinking Polar Discrete
3.
Current State-Of-The-Art
3. Current State-Of-The-Art
Assessing T: Unequally-spaced FFT (USFFT)
Data in Cartesian set.
Approximate transform in non-Cartesian set.
Oriented to 1D not 2D and definitely not Polar.
Assessing T : For Tomography
Data in Polar coordinates in frequency.
Approximate inverse transform to Cartesian grid.
Inspired by the projection-slice-theorem.
- 21 -
3. Current State-of-the-Art
USFFT - Rational
y
+ Destination Polar
grid
O Critically sampled
Cartesian grid
o Over-sampled
Cartesian grid
-1
-2
-3
-3
-2
-1
x
- 22 -
3. Current State-of-the-Art
USFFT - Detailed
Over-sample Cartesian grid.
Rapidly evaluate FT:
Values F.
Possibly - partial derivatives.
Associate Cartesian neighbors to each
polar grid point.
Approximate interpolation.
- 23 -
3. Current State-of-the-Art
- 24 -
3. Current State-of-the-Art
USFFT Problematics
Several involved parameters:
Over-sampling factor,
Method of interpolation, and
Order of interpolation.
Good accuracy calls for extensive over-sampling.
Correspondence overhead: spoils vectorizability of
algorithm - causes high cache misses.
Emotionally involved.
- 25 -
Agenda
1. Thinking Polar Continuum
2. Thinking Polar Discrete
3. Current State-Of-The-Art
4.
Our Strategy
1D
interpolations
to the polar
grid
Pseudo
Polar
Grid
- 28 -
Agenda
1. Thinking Polar Continuum
2. Thinking Polar Discrete
3. Current State-Of-The-Art
4. Our Approach - General
5.
- 30 -
y
3
-1
-2
-3
-3
-2
-1
x
- 31 -
y
3
-1
-2
-3
[Why?]
-3
-2
-1
x
- 32 -
PP-FFT
5N2logN
1D FFT to columns
20N2logN
1D FRFFT to rows
PP-FFT
25N2logN vertical
2D-FFT
5N2logN
1D FFT to columns
5N2logN
1D FFT to rows
Cartesian
2D-FFT 10N2logN
- 33 -
- 34 -
Agenda
1. Thinking Polar Continuum
2. Thinking Polar Discrete
3. Current State-Of-The-Art
4. Our Approach - General
5. The Pseudo-Polar Fast Transform
6.
7. Algorithm Analysis
8. Conclusions
- 35 -
2 stages of 1D
interpolations
to get to the
polar grid
- 36 -
2
1
0
-1
-2
-3
-3
-2
-1
x
- 37 -
order N,
-1
FRFT on over-sampled
array and 1D interpolation,
Very accurate.
-2
-3
-3
-2
-1
x
- 38 -
NS t
2
2l
2m
, x =
y
y =
NSr
NS t
l,m = NS t
2
y =
2
1
0
NS t
-1
m 2
x = y tan
2NS t m = NS t
-2
[Why?]
-3
-3
-2
-1
Original x
- 39 -
N-by-N
S-PP-FFT
PP-FFT
5N2logN
5N2logN
1D FFT to columns
20N2logN
1D FRFFT to rows
1D FFT to columns
20N2Slog(NS)
1D Over-sampled (S) FRFFT
to rows
O{N2}
25N2logN
1D Interpolation
PP-FFT Vertical
(20S+5)N2logN
S-PP-FFT Vertical
- 40 -
trigonometric polynomials
of order N,
We proved that the rays
-1
-2
interpolation is expected to
perform well.
-3
-3
-2
-1
x
- 41 -
y
3
-1
-2
-3
-3
-2
-1
x
- 42 -
N-by-N
N5(NSr)log(NSr)
Polar-FFT Vertical
O{NN}
1D Interpolation
1D Interpolation
S-PP-FFT Vertical
- 43 -
To Summarize
We propose a
Fast Polar Fourier Transform
with the following features:
Low complexity O(ConstN2log2N)
Vectorizability 1D operations only
Non-Expansiveness Factor 2 (or 4) only
Stability via Regularization
Accuracy 2 orders of magnitude over USFFT methods
- 44 -
Agenda
1. Thinking Polar Continuum
2. Thinking Polar Discrete
3. Current State-Of-The-Art
4. Our Approach - General
5. The Pseudo-Polar Fast Transform
6. From Pseudo-Polar to Polar
7.
Algorithm Analysis
8. Conclusions
- 45 -
7. Algorithm Analysis
We have a code performing the Polar-FFT in Matlab:
Y=Polar_FFT(X);
OR
Y=Polar_FFT(X,St,Sr);
Where: X
7. Algorithm Analysis
The Implementation
The current Polar-FFT code implements Taylor
method for the first interpolation stage and spline
ONLY (no-derivatives) for the second stage.
For comparison, we demonstrate the performance
of the USFFT method with over-sampling S and
interpolation based on the Taylor interpolation
(found to be the best).
- 47 -
7. Algorithm Analysis
10
Input is random
32-by-32 array,
USFFT method
uses one
parameter
whereas there
are two for the
up-sampling in
the Polar-FFT.
Thumb rule:
SrSt= S2.
10
10
St=1
-1
Taylor USFFT
10
-2
10
-3
10
St=2
St=4
St=3
10
20
30
40
StSr
or S2
50
60
70
80
90
100
- 48 -
7. Algorithm Analysis
- 49 -
7. Algorithm Analysis
Ya=Ax
Or
Yt=Tx
True
- 50 -
7. Algorithm Analysis
Regularization of T/A
An input signal of N-by-N is transformed to an
array or 2N-by-2N.
For N=16, T size is 1024-by-256, and 60,000
(bad for inversion).
Adding the assumption that the Frequency
corners should be zeroed, we obtain
y = TPolar x
TPolar
y
x = 0
T
Corner
7. Algorithm Analysis
- 52 -
7. Algorithm Analysis
(A
PolarFFT
2
x2
2
rworst
TPolar )x 2
} = Arg / Max
x
(A
PolarFFT
TPolar )x 2
TPolar x
2
2
- 53 -
7. Algorithm Analysis
Polar-FFT
worst signal (abs.
Value) =0.0319
- 54 -
7. Algorithm Analysis
Polar-FFT
worst signal (abs.
Value) =0.0023
- 55 -
7. Algorithm Analysis
Comparing Approximations
Solve for the eigenvalue/vectors of the matrix
(A
PolarFFT
- 56 -
7. Algorithm Analysis
10
[N=32]
10
USFFT
-2
10
-4
10
-6
10
Polar-FFT
-8
Eigen-space
of the PolarFFT
10
-10
10
200
400
600
800
1000
1200
- 57 -
Agenda
1. Thinking Polar Continuum
2. Thinking Polar Discrete
3. Current State-Of-The-Art
4. Our Approach - General
5. The Pseudo-Polar Fast Transform
6. From Pseudo-Polar to Polar
7. Algorithm Analysis
8.
Conclusions
- 58 -
8. Conclusions
We have proposed a fast, accurate, stable, and
reliable Polar Discrete-Fourier-Transform.
By this we extend utility of FFT algorithms to
new class of settings in image processing.
Future plans:
Demonstrate applications,
- 59 -
- 60 -
3. Current State-of-the-Art
USFFT for T
Over-sample Polar grid (and possibly
partial derivatives).
Associate polar neighbors to each
Cartesian grid point.
Approximate interpolation to get the
Cartesian grid values.
Perform the Cartesian 2D Inverse-FFT.
- 61 -
3. Current State-of-the-Art
- 62 -
2l 2
y =
NS
r l = NSr
2
NS t
y
3
2m
y
x =
NS t
m = NS t
2
-1
-3
-2
-3
-2
-1
x
- 63 -
N 1
N 1
k1 = 0
k 2 =0
f k 1 , k 2 exp {ik 1 x ik 2 y } =
N 1
N 1
k1 = 0
k 2 =0
2m
f k 1 , k 2 exp ik 1
y ik 2 y =
NS t
N 1
k1 = 0
N 1
2m
exp ik 1
y f k 1 , k 2 exp {ik 2 y }
NS t
k14444
2 =0
4244444
3
=fk 1 ,l
2y
NS
t
k1 = 0
This summation takes columns of f [k 1 , l ] (being equispaced 1D signals) and computes Fourier transform of it.
The destination grid points are also 1D equi-spaced in
the frequency domain, BUT THEY ARE NOT IN THE
RANGE [-,], but rather [-y,y].
This task is called Fractional Fourier/Chirp-Z Transform.
- 65 -
2km
F[m] = f [k ] exp i
N
k =0
For =1 we get the ordinary 1D-FFT,
For =-1 we get the ordinary 1D-IFFT,
There exists a Fast Fractional Fourier Transform with the
complexity of O(20Nlog2N), based on 1D-FFT operations.
See: Fast fractional Fourier transforms and applications, by D. H. Bailey and P. N.
Swarztrauber, SIAM Review, 1991, and also Bluestein, Rabiner, and Rader (1960s).
- 66 -
FR-FFT Detailed
N 1
2km
F[m] = f [k ] exp i
=
N
k =0
N 1
m2
N 1
i
e N
f
k 2
i
e N
(k m)2 k 2 m2
= f [k ] exp i
=
N
k =0
=
[k ]
k =0
Post
Multiplication
(k m)2
exp i
Pre-Multiplication
Convolution
[Back]
- 67 -
Interpolation As 1D Operation
F ( x , y ) =
=
N1
N1
k1 =0
k 2 =0
N1
k1 =0
N1
k1 =0
f k1 ,k 2 exp {ik1x ik 2y } =
m
exp ik1 tan
y
2NS t
N1
k 2 =0
f k1 ,k 2 exp {ik 2y } =