signal processing course : orthogonal bases

59
Signal and Image Processing with Orthogonal Decompositions Gabriel Peyré www.numerical-tours.com

Upload: gabriel-peyre

Post on 21-Jun-2015

1.411 views

Category:

Documents


2 download

DESCRIPTION

Slides for a course on signal and image processing.

TRANSCRIPT

Page 1: Signal Processing Course : Orthogonal Bases

Signal and Image Processing

with Orthogonal Decompositions

Gabriel Peyréwww.numerical-tours.com

Page 2: Signal Processing Course : Orthogonal Bases

Signals, Images and MoreContinuous signal: f 2 L

2([0, 1]).

Page 3: Signal Processing Course : Orthogonal Bases

Continuous image: f 2 L

2([0, 1]2).

Signals, Images and MoreContinuous signal: f 2 L

2([0, 1]).

Page 4: Signal Processing Course : Orthogonal Bases

Continuous image: f 2 L

2([0, 1]2).

General setting: f : [0, 1]d ! Rs

Videos: d = 3, s = 1.

Signals, Images and MoreContinuous signal: f 2 L

2([0, 1]).

Page 5: Signal Processing Course : Orthogonal Bases

Continuous image: f 2 L

2([0, 1]2).

General setting: f : [0, 1]d ! Rs

Videos: d = 3, s = 1.

Color image: d = 2, s = 3.

Signals, Images and MoreContinuous signal: f 2 L

2([0, 1]).

Page 6: Signal Processing Course : Orthogonal Bases

Continuous image: f 2 L

2([0, 1]2).

General setting: f : [0, 1]d ! Rs

Videos: d = 3, s = 1.

Color image: d = 2, s = 3.

Multi-spectral: d = 2, s � 3.

Signals, Images and MoreContinuous signal: f 2 L

2([0, 1]).

Page 7: Signal Processing Course : Orthogonal Bases

Overview

•Orthogonal Representations

•Linear and Non-linear Approximations

•Compression and Denoising

Page 8: Signal Processing Course : Orthogonal Bases

Orthogonal basis {�m}m of L2([0, 1]d)

Continuous signal/image f � L2([0, 1]d).

Orthogonal Decompositions

Page 9: Signal Processing Course : Orthogonal Bases

Orthogonal basis {�m}m of L2([0, 1]d)

f =�

m

�f, �m��m

||f || =�

|f(x)|2dx =�

m

|�f, �m⇥|2

Continuous signal/image f � L2([0, 1]d).

Orthogonal Decompositions

Page 10: Signal Processing Course : Orthogonal Bases

Orthogonal basis {�m}m of L2([0, 1]d)

f =�

m

�f, �m��m

||f || =�

|f(x)|2dx =�

m

|�f, �m⇥|2

Continuous signal/image f � L2([0, 1]d).

Orthogonal Decompositions

�m

Page 11: Signal Processing Course : Orthogonal Bases

1-D Wavelet Basis

Wavelets:�j,n(x) =

12j/2

�x� 2jn

2j

� Position n, scale 2j , m = (n, j).

Page 12: Signal Processing Course : Orthogonal Bases

1-D Wavelet Basis

Wavelets:�j,n(x) =

12j/2

�x� 2jn

2j

� Position n, scale 2j , m = (n, j).

Page 13: Signal Processing Course : Orthogonal Bases

�m1,m2

Basis {�m1,m2(x1, x2)}m1,m2 of L2([0, 1]2)

�m1,m2(x1, x2) = �m1(x1)�m2(x2)

tensorproduct

2-D Fourier Basis

Basis {�m(x)}m of L2([0, 1])m1

m2

Page 14: Signal Processing Course : Orthogonal Bases

�m1,m2

Basis {�m1,m2(x1, x2)}m1,m2 of L2([0, 1]2)

�m1,m2(x1, x2) = �m1(x1)�m2(x2)

tensorproduct

f(x) �f, �m1,m2�

Fourier

transform

2-D Fourier Basis

Basis {�m(x)}m of L2([0, 1])m1

m2

x m

Page 15: Signal Processing Course : Orthogonal Bases

3 elementary wavelets {�H ,�V ,�D}.

Orthogonal basis of L2([0, 1]2):�

�kj,n(x) = 2�j�(2�jx� n)

�k=H,V,D

j<0,2jn�[0,1]2

2-D Wavelet Basis

�V (x)�H(x) �D(x)

Page 16: Signal Processing Course : Orthogonal Bases

3 elementary wavelets {�H ,�V ,�D}.

Orthogonal basis of L2([0, 1]2):�

�kj,n(x) = 2�j�(2�jx� n)

�k=H,V,D

j<0,2jn�[0,1]2

2-D Wavelet Basis

�V (x)�H(x) �D(x)

Page 17: Signal Processing Course : Orthogonal Bases

wavelet

�f, �kj,n�

Example of Wavelet Decomposition

f(x)

transform

x

(j, n, k)

Page 18: Signal Processing Course : Orthogonal Bases

Discrete Computations

Discrete orthogonal basis {�m} of CN .

f =�

m

�f, �m��m

Page 19: Signal Processing Course : Orthogonal Bases

�� Fast Fourier Transform (FFT), O(N log(N)) operations.

Discrete Computations

Discrete orthogonal basis {�m} of CN .

�m[n] =1�N

e2i�N nm

f =�

m

�f, �m��m

Page 20: Signal Processing Course : Orthogonal Bases

�� Fast Fourier Transform (FFT), O(N log(N)) operations.

�� Fast Wavelet Transform, O(N) operations.

Discrete Wavelet basis: no closed-form expression.

Discrete Computations

Discrete orthogonal basis {�m} of CN .

�m[n] =1�N

e2i�N nm

f =�

m

�f, �m��m

Page 21: Signal Processing Course : Orthogonal Bases

Overview

•Orthogonal Representations

•Linear and Non-linear Approximations

•Compression and Denoising

Page 22: Signal Processing Course : Orthogonal Bases

Linear Approximation

Page 23: Signal Processing Course : Orthogonal Bases

Linear Approximation

Page 24: Signal Processing Course : Orthogonal Bases

Linear Approximation

Page 25: Signal Processing Course : Orthogonal Bases

Non-Linear Approximation

Page 26: Signal Processing Course : Orthogonal Bases

Coe�cients

Non-Linear Approximation

Page 27: Signal Processing Course : Orthogonal Bases

Coe�cients

Non-Linear Approximation

Page 28: Signal Processing Course : Orthogonal Bases

Best basis �� Fastest error decay ||f � fM ||2

log(||f � fM ||)

log(M)

Efficiency of Transforms

Fourier DCT

Local DCT Wavelets

Page 29: Signal Processing Course : Orthogonal Bases

Efficient Approximation

Page 30: Signal Processing Course : Orthogonal Bases

Efficient Approximation

Page 31: Signal Processing Course : Orthogonal Bases

Efficient Approximation

Page 32: Signal Processing Course : Orthogonal Bases

Efficient Approximation

Page 33: Signal Processing Course : Orthogonal Bases

Efficient Approximation

Page 34: Signal Processing Course : Orthogonal Bases

Efficient Approximation

Page 35: Signal Processing Course : Orthogonal Bases

Efficient Approximation

Page 36: Signal Processing Course : Orthogonal Bases

Overview

•Orthogonal Representations

•Linear and Non-linear Approximations

•Compression and Denoising

Page 37: Signal Processing Course : Orthogonal Bases

JPEG-2000 vs. JPEG, 0.2bit/pixel

Page 38: Signal Processing Course : Orthogonal Bases

Compression by Transform-coding

Image f Zoom on f

fforward

a[m] = ⇥f, �m⇤ � Rtransform

Page 39: Signal Processing Course : Orthogonal Bases

Compression by Transform-coding

Image f Zoom on f

fforward

a[m] = ⇥f, �m⇤ � Rtransform

Quantization: q[m] = sign(a[m])�

|a[m]|T

⇥� Z

a[m]

�T T 2T�2T a[m]

Quantized q[m]

bin Tq[m] � Z

Page 40: Signal Processing Course : Orthogonal Bases

Compression by Transform-coding

Image f Zoom on f

fforward

a[m] = ⇥f, �m⇤ � R codingtransform

Entropic coding: use statistical redundancy (many 0’s).

Quantization: q[m] = sign(a[m])�

|a[m]|T

⇥� Z

a[m]

�T T 2T�2T a[m]

Quantized q[m]

bin Tq[m] � Z

Page 41: Signal Processing Course : Orthogonal Bases

Compression by Transform-coding

Image f Zoom on f

fforward

a[m] = ⇥f, �m⇤ � R coding

decoding

q[m] � Z

transform

Entropic coding: use statistical redundancy (many 0’s).

Quantization: q[m] = sign(a[m])�

|a[m]|T

⇥� Z

a[m]

�T T 2T�2T a[m]

Quantized q[m]

bin Tq[m] � Z

Page 42: Signal Processing Course : Orthogonal Bases

Compression by Transform-coding

Image f Zoom on f

fforward

Dequantization: a[m] = sign(q[m])�

|q[m] +12

⇥T

a[m] = ⇥f, �m⇤ � R coding

decoding

q[m] � Za[m] dequantization

transform

Entropic coding: use statistical redundancy (many 0’s).

Quantization: q[m] = sign(a[m])�

|a[m]|T

⇥� Z

a[m]

�T T 2T�2T a[m]

Quantized q[m]

bin Tq[m] � Z

Page 43: Signal Processing Course : Orthogonal Bases

Compression by Transform-coding

Image f Zoom on f fR, R =0.2 bit/pixel

fforward

Dequantization: a[m] = sign(q[m])�

|q[m] +12

⇥T

a[m] = ⇥f, �m⇤ � R coding

decoding

q[m] � Za[m] dequantizationtransform

backwardfR =

m�IT

a[m]�m

transform

Entropic coding: use statistical redundancy (many 0’s).

Quantization: q[m] = sign(a[m])�

|a[m]|T

⇥� Z

a[m]

�T T 2T�2T a[m]

Quantized q[m]

bin Tq[m] � Z

Page 44: Signal Processing Course : Orthogonal Bases

Compression by Transform-coding

Image f Zoom on f fR, R =0.2 bit/pixel

fforward

Dequantization: a[m] = sign(q[m])�

|q[m] +12

⇥T

a[m] = ⇥f, �m⇤ � R coding

decoding

q[m] � Za[m] dequantizationtransform

backwardfR =

m�IT

a[m]�m

transform

Entropic coding: use statistical redundancy (many 0’s).

Quantization: q[m] = sign(a[m])�

|a[m]|T

⇥� Z

a[m]

�T T 2T�2T a[m]

Quantized q[m]

bin Tq[m] � Z

||f � fM ||2 = O(M��) =⇥ ||f � fR||2 = O(log�(R)R��)Theorem:

Page 45: Signal Processing Course : Orthogonal Bases

Noise in Images

Page 46: Signal Processing Course : Orthogonal Bases

Denoising

Page 47: Signal Processing Course : Orthogonal Bases

Denoising

thresh.f =

N�1�

m=0

�f, �m⇥�m f =�

|�f, �m⇥|>T

�f, �m⇥�m

Page 48: Signal Processing Course : Orthogonal Bases

Denoising

thresh.f =

N�1�

m=0

�f, �m⇥�m f =�

|�f, �m⇥|>T

�f, �m⇥�m

In practice:T � 3�for T =

�2 log(N)�

Theorem: if ||f0 � f0,M ||2 = O(M��),

E(||f � f0||2) = O(�2�

�+1 )

Page 49: Signal Processing Course : Orthogonal Bases

Inverse Problems

Page 50: Signal Processing Course : Orthogonal Bases

Inverse Problems

Page 51: Signal Processing Course : Orthogonal Bases

Inverse Problems

Page 52: Signal Processing Course : Orthogonal Bases

Inverse Problems

Page 53: Signal Processing Course : Orthogonal Bases

Inverse Problems

Page 54: Signal Processing Course : Orthogonal Bases

Restoration with Sparsity

Page 55: Signal Processing Course : Orthogonal Bases

Restoration with Sparsity

Page 56: Signal Processing Course : Orthogonal Bases

Restoration with Sparsity

Page 57: Signal Processing Course : Orthogonal Bases

Conclusion

Page 58: Signal Processing Course : Orthogonal Bases

Conclusion

Page 59: Signal Processing Course : Orthogonal Bases

Conclusion