Top Banner
Image Transforms
44
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Unit ii

Image Transforms

Page 2: Unit ii

Why Do Transforms?

Fast computation E.g., convolution vs. multiplication for filter with

wide support Conceptual insights for various image processing

E.g., spatial frequency info. (smooth, moderate change, fast change, etc.)

Obtain transformed data as measurement E.g., blurred images, radiology images (medical

and astrophysics) Often need inverse transform May need to get assistance from other transforms

For efficient storage and transmission Pick a few “representatives” (basis) Just store/send the “contribution” from each basis

Page 3: Unit ii

Introduction

Image transforms are a class of unitary matrices used for representing images.

An image can be expanded in terms of a discrete set of basis arrays called basis images.

The basis images can be generated by unitary matrices.

Page 4: Unit ii

One dimensional orthogonal and unitary transforms

For a 1-D sequence represented as a vector u of size N, a unitary transformation is written as

{ ( ),0 1}u n n N

1

0

( ) ( , ) ( ) , 0 1N

n

v k a k n u n k N

v = Au

Page 5: Unit ii

1*

0

( ) ( ) ( , ) , 0 1N

k

u n v k a k n n N

*Tu = A v

v(k) is the series representation of the sequence u(n).

The columns of A*T, that is, the vectors are called the basis vectors of A.

*{ ( , ), 0 1}Ta k n n N *ka

One dimensional orthogonal and unitary transforms

Page 6: Unit ii

Two-dimensional orthogonal and unitary transforms

A general orthogonal series expansion for an N x N image u(m,n) is a pair of transformations of the form

1 1

,0 0

( , ) ( , ) ( , )N N

k lm n

y k l x m n a m n

1 1

*,

0 0

( , ) ( , ) ( , )N N

k lk l

x m n y k l a m n

,where ( , ) ,k la m n called an image transform, is a set of

complete orthonormal discrete basis functions.

Page 7: Unit ii

Separable unitary transforms

Complexity : O(N4) Reduced to O(N3) when transform is separable i.e.

ak,l(m,n) = ak(m) bl(n) =a(k,m)b(l,n) where

{a(k,m), k=0,…,N-1},{b(l,n), l=0,…,N-1}

are 1-D complete orthonormal sets of basis vectors.

Page 8: Unit ii

Separable unitary transforms

A={a(k,m)} and B={b(l,n)} are unitary matrices i.e. AA*T = ATA* = I.

If B is same as A1 1

0 0

( , ) ( , ) ( , ) ( , )N N

m n

y k l a k m x m n a l n

TY AXA

1 1* * *

0 0

( , ) ( , ) ( , ) ( , )N N

T

k l

x m n a k m y k l a l n

*X = A YA

Page 9: Unit ii

Basis Images Let denote the kth column of . Define the matrices

then

*ka *TA

* * *Tk,l k lA = a a

1 1

0 0

( , )

( , ) ,

N N

k l

y k l

y k l

*k,l

*k,l

X A

X A

, 0,..., 1k l N *k,lA

The above equation expresses image X as a linear combination of the N2 matrices , called the basis images.

Page 10: Unit ii

8x8 Basis images for discrete cosine transform.

Page 11: Unit ii

Example Consider an orthogonal matrix A and image X

1 11

1 12A

43

21X

1 1 1 2 1 1 5 11

1 1 3 4 1 1 2 02

TY = AXA

To obtain basis images, we find the outer product of the columns of A*T

* *0,1 1,0

1 11

1 12

T

A A

*1,1

1 11

1 12A

*0,0

1 1 11 11 1

1 1 12 2A

The inverse transformation gives

1 1 5 1 1 1 1 21

1 1 2 0 1 1 3 42

*T *X = A YA

Page 12: Unit ii

Properties of Unitary TransformsEnergy Conservation

In unitary transformation, y = Ax and ||y||2 = ||x||2

1 12 2

0 0

( ) ( )N N

k n

y k x n

2 2*T *T *T *Ty y y = x A Ax = x x x

Proof:

This means every unitary transformation is simply a rotation of the vector x in the N-dimensional vector space.

Alternatively, a unitary transformation is rotation of the basis coordinates and the components of y are the projections of x on the new basis.

Page 13: Unit ii

Properties of Unitary Transforms

Energy compaction Unitary transforms pack a large fraction of the

average energy of the image into a relatively few components of the transform coefficients. i.e. many of the transform coefficients contain very little energy.

Decorrelation When the input vector elements are highly

correlated, the transform coefficients tend to be uncorrelated.

Covariance matrix E[ ( y – E(y) ) ( y – E(y) )*T ]. small correlation implies small off-diagonal terms.

Page 14: Unit ii

1-D Discrete Fourier Transform

1

0

1( ) ( ) , 0,..., -1

Nnk

Nn

y k x n W k NN

2

expN

jW

N

The discrete Fourier transform (DFT) of a sequence {u(n), n=0,…,N-1} is defined as

where

The inverse transform is given by1

0

1( ) ( ) , 0,..., -1

Nnk

Nk

x n y k W n NN

The NxN unitary DFT matrix F is given by

1, 0 , 1nk

NF W k n NN

Page 15: Unit ii

DFT Properties

Circular shift u(n-l)c = x[(n-l)mod N]

The DFT and unitary DFT matrices are symmetric i.e. F-1 = F*

DFT of length N can be implemented by a fast algorithm in O(N log2N) operations.

DFT of a real sequence {x(n), n=0,…,N-1} is conjugate symmetric about N/2.

i.e. y*(N-k) = y(k)

Page 16: Unit ii

The Two dimensional DFT

1 1

0 0

1( , ) ( , ) , 0 , -1

N Nkm ln

N Nm n

y k l x m n W W k l NN

1 1

0 0

1( , ) ( , ) , 0 , -1

N Nkm ln

N Nk l

x m n y k l W W m n NN

The 2-D DFT of an N x N image {x(m,n)} is a separable transform defined as

Y = FXF * *X = F YF

The inverse transform is

In matrix notation &

Page 17: Unit ii

Properties of the 2-D DFT Symmetric,

unitary. Periodic Conjugate

Symmetry Fast transform Basis Images

T -1 * *F F*F F, F F = ( , ) ( , ), ,

( , ) ( , ), ,

y k N l N y k l k l

x m N n N x m n m n

*( , ) ( , ), 0 , 1y k l y N k N l k l N

* ( ),

1, 0 , 1 , 0 , 1T km ln

k l k l NA W m n N k l NN

O(N2log2N)

Page 18: Unit ii

2-D pulse DFT

Square Pulse

2D sinc function

Page 19: Unit ii

FT is Shift Invariant

After shifting:• Magnitude stay constant• Phase changes

Page 20: Unit ii

Rotation

• FT of a rotated image also rotates

Page 21: Unit ii

The Cosine Transform (DCT)

1

0

(2 1)( ) ( ) ( ) cos , 0 1

2

N

n

n ky k k x n k N

N

1, 0,0 1

( , )2 (2 1)

cos , 1 1,0 12

k n NN

C k nn k

k N n NN N

1

0

(2 1)( ) ( ) ( ) cos , 0 1

2

N

k

n kx n k y k n N

N

The N x N cosine transform matrix C={c(k,n)}, also known as discrete cosine transform (DCT), is defined as

1 2(0) , ( ) = for 1 1

Nk k N

N

The 1-D DCT of a sequence {x(n), 0 ≤ n ≤ N-1} is defined as

The inverse transformation is given by

where

Page 22: Unit ii

Properties of DCT The DCT is real and orthogonal

i.e. C=C*C-1=CT

DCT is not symmetric

The DCT is a fast transform : O(N log2N)

Excellent energy compaction for highly correlated data.

Useful in designing transform coders and Wiener filters for images.

Page 23: Unit ii

2-D DCT

(2 1) (2 1)( , , , ) ( ) ( ) cos cos

2 2

m k n lC m n k l k l

N N

10

( )2

1 1

kN

k

k NN

The 2-D DCT Kernel is given by

where

Similarly for ( )l

Page 24: Unit ii

DCT example

a) Original image b) DCT image

Page 25: Unit ii

The Sine Transform ( , )k nΨ

2 ( 1)( 1)( , ) sin , 0 , 1

1 1

n kk n k n N

N N

The N x N DST matrix is defined as

The sine transform pair of 1-D sequence is defined as

1

0

1

0

( ) ( ) ( , ), 0 1

( ) ( , ) ( ), 0 1

N

n

N

k

y k x n k n k N

x n k n y k n N

Page 26: Unit ii

The properties of Sine transform The Sine transform is real, symmetric, and

orthogonal

The sine transform is a fast transform It has very good energy compaction property

for images

* T -1Ψ = Ψ = Ψ = Ψ

Page 27: Unit ii

The Hadamard transform The elements of the basis vectors of the

Hadamard transform take only the binary values ±1.

Well suited for digital signal processing. The transform matrices Hn are N x N matrices,

where N=2n, n=1,2,3. Core matrix is given by

1 11

1 12

1H

Page 28: Unit ii

The Hadamard transform

1 11 1

1 1

1

2

n nn n

n n

H HH H H

H H

The matrix Hn can be obtained by kroneker product recursion

3 2 1 2 1 1

3

&

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 11

1 1 1 1 1 1 1 18

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

H H H H H H

H

Example

Page 29: Unit ii

The Hadamard transform properties The number of sine changes in a row is called

sequency. The sequency for H3 is 0,7,3,4, 1,6,2,5.

The transform is real, symmetric and orthogonal.

The transform is fast Good energy compaction for highly correlated

data.

* T -1H = H = H = H

Page 30: Unit ii

The Haar transform

The Haar functions hk(x) are defined on a continuous interval, x [0,1], and for k = 0,…,N-1, where N = 2n.

The integer k can be uniquely decomposed as k = 2p + q -1 where 0 ≤ p ≤ n-1; q=0,1 for p=0 and 1 ≤ q ≤ 2p for p≠0. For example, when, N=4

k 0 1 2 3

p 0 0 1 1

q 0 1 1 2

Page 31: Unit ii

The Haar transform• The Haar functions are defined as

0 0,0

/ 2

/ 2,

1( ) ( ) , [0,1]

11 22 ,

2 21

1 2( ) 2 ,2 2

0, [0,1]

pp p

pk p q p p

h x h x xN

qqx

q qh x h x

Notherwise for x

Page 32: Unit ii

Haar transform exampleThe Haar transform is obtained by letting x take discrete values at m/ N, m=0,…,N-1. For N = 4, the transform is

1 1 1 1

1 1 1 11

2 2 0 04

0 0 2 2

Hr

Page 33: Unit ii

Properties of Haar transform

The Haar transform is real and orthogonal

Hr = Hr* and Hr-1 = HrT

Haar transform is very fast: O(N) The basis vectors are sequency

ordered. It has poor energy compaction for

images.

Page 34: Unit ii

KL transform Hotelling transform

Originally introduced as a series expansion for continuous random process by Karhunen and Loeve.

The discrete equivalent of KL series expansion – studied by Hotelling.

KL transform is also called the Hotelling transform or the method of principal components.

Page 35: Unit ii

KL transform

Let x = {x1, x2,…, xn}T be the n x 1 random vector.

For K vector samples from a random population, the mean vector is given by

The covariance matrix of the population is given by

1

1 K

kkK

xm x

1

1 KT T

k kkK

x x xC x x m m

Page 36: Unit ii

KL Transform

Cx is n x n real and symmetric matrix. Therefore a set on n orthonormal eigenvectors

is possible. Let ei and i, i=1, 2, …, n, be the eigenvectors

and corresponding eigenvalues of Cx, arranged in descending order so that j ≥ i+1 for j = 1, 2, …, n.

Let A be a matrix whose rows are formed from the eigenvectors of Cx, ordered so that first row of A is eigenvector corresponding to the largest eigenvalue, and the last row is the eigenvector corresponding to the smallest eigenvalue.

Page 37: Unit ii

KL Transform

Suppose we use A as a transformation matrix to map the vectors x’s into the vectors y’s as follows:

y = A(x – mx)

This expression is called the Hotelling transform.

The mean of the y vectors resulting from this transformation is zero; that is my = E{y} =0.

Page 38: Unit ii

KL Transform The covarianve matrix of the y’s is given in

terms of A and Cx by the expression

Cy = ACxAT

Cy is a diagonal matrix whose elements along the main diagonal are the eigenvalues of Cx

1

2

0

0 n

yC

Page 39: Unit ii

KL Transform

The off-diagonal elements of this covariance matrix are 0, so that the elements of the y vectors are uncorrelated.

Cx and Cy have the same eigenvalues and eigenvectors.

The inverse transformation is given byx = ATy + mx

Page 40: Unit ii

KL transform

Suppose, instead of using all the eigenvectors of Cx we form a k x n transformation matrix Ak from k eigenvectors corresponding to k largest eigenvalues, the vector reconstructed by using Ak is

The mean square error between x and is

Tk xx = A y + m

x

1 1 1

n k n

ms j j jj j j K

e

Page 41: Unit ii

KL Transform As j’s decrease monotonically, the error can be

minimised by selecting the k eigenvectors associated with the largest eigenvalues.

Thus Hotelling transform is optimal i.e. it minimises the min square error between x and

Due to the idea of using the eigenvectors corresponding to the largest eigenvalues, the Hotelling transform is also known as the principal components transform.

x

Page 42: Unit ii

KL transform example

2 3 4

0 1 1 1

0 0 1 0

0 0 0 1

1x x x x3 1 1

11 3 1

161 1 3

xC =

31

1 4

1

xm

0.5774 0.5774 0.5774

-0.1543 -0.7715 0.6172

0.8018 0.2673 0.5345

A

=

1 2 30.0625 0.2500 0.2500

0.1443 -0.4330 0.1443 0.1443

0.1543 -0.0000 -0.7715 0.6172

-0.8018 0.0000 0.2673 0.5345

y =

0

0

0

ym

0.0833 0.0000 0.0000

0.0000 0.3333 0.0000

0.0000 0.0000 0.3333

yC =

Page 43: Unit ii

a) Original Image,

b) Reconstructed using all the three principal components,

c) Reconstructed image using two largest principal components,

d) Reconstructed image using only the largest principal component

KL Transform Example

a b

c d

Page 44: Unit ii