32
Singular Value Decomposition - Applications in Image Processing Iveta Hnˇ etynkov´ a Katedra numerick´ e matematiky, MFF UK ´ Ustav informatiky, AV ˇ CR 1

Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Singular Value Decomposition -

Applications in Image Processing

Iveta Hnetynkova

Katedra numericke matematiky, MFF UK

Ustav informatiky, AV CR

1

Page 2: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Outline

1. Singular value decomposition

2. Application 1 - image compression

3. Application 2 - image deblurring

2

Page 3: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

1. Singular value decomposition

Consider a (real) matrix

A ∈ Rn×m, r = rank (A) ≤ min {n,m} .

A has

m columns of length n ,n rows of lenght m ,r is the maximal number of linearly independent

columns (rows) of A .

3

Page 4: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

There exists an SVD decomposition of A in the form

A = U ΣV T ,

where U = [u1, . . . , un] ∈ Rn×n, V = [v1,. . . , vm] ∈ Rm×m are orthogo-

nal matrices, and

Σ =

[Σr 00 0

]∈ Rn×m, Σr =

σ1. . .

σr

∈ Rr×r,σ1 ≥ σ2 ≥ . . . ≥ σr > 0 .

4

Page 5: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Singular value decomposition – the matrices:

A U S VT

{ui} i= 1,...,n are left singular vectors (columns of U),

{vi} i= 1,...,m are right singular vectors (columns of V ),

{σi} i=1,...,r are singular values of A.

5

Page 6: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

The SVD gives us:

span (u1, . . . , ur) ≡ range (A) ⊂ Rn,span (vr+1, . . . , vm) ≡ ker (A) ⊂ Rm,

span (v1, . . . , vr) ≡ range (AT) ⊂ Rm,span (ur+1, . . . , un) ≡ ker (AT) ⊂ Rn,

spectral and Frobenius norm of A, rank of A, ...

6

Page 7: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Singular value decomposition – the subspaces:

v1

v2

...

vr

u1

u2

...

ur

vr+1

...

vm

ur+1

...

un

s1

s2

sr }

} 0

0

AT

A

range( )A

ker( )AT

ker( )A

range( )AT

Rn

Rm

7

Page 8: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

The outer product (dyadic) form:

We can rewrite A as a sum of rank-one matrices in the dyadic form

A = U ΣV T

= [u1, . . . , ur]

σ1. . .

σr

vT1...vTr

= u1σ1v

T1 + . . . + urσrv

Tr

=r∑

i=1

σiuivTi

≡r∑

i=1

Ai .

Moreover ‖Ai‖2 = σi gives ‖A1‖2 ≥ ‖A2‖2 ≥ . . . ≥ ‖Ar‖2 .8

Page 9: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Matrix A as a sum of rank-one matrices:

A

A1

A2

Ar -1

Ar

...

+

+

+

+

i = 1

r

S AiA

SVD reveals the dominating information encoded in a matrix. The

first terms are the “most” important.

9

Page 10: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Optimal approximation of A with a rank-k:

The sum of the first k dyadic terms

k∑i=1

Ai ≡k∑i=1

σiuivTi

is the best rank-k approximation of the matrix A in the sense ofminimizing the 2-norm of the approximation error, tj.

k∑i=1

uiσivTi = arg min

X∈Rn×m, rank (X)≤k{‖A−X‖2}

This allows to approximate A with a lower-rank matrix

A ≈k∑i=1

Ai ≡k∑i=1

σiuivTi .

10

Page 11: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Different possible distributions of singular values:

0 500 1000 150010

−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

102

Singular values of the BCSPWR06 matrix (from Matrix Market).

100 200 300 400 500 600 700 800 900 100010

−50

10−40

10−30

10−20

10−10

100

1010

Singular values of the ZENIOS matrix (from Matrix Market).

The hardly (left) and the easily (right) approximable matrices

(BCSPWR06 and ZENIOS from the Harwell-Boeing Collection).

11

Page 12: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

2. Application 1 - image compression

Grayscale image = matrix, each entry represents a pixel brightness.

12

Page 13: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Grayscale image: scale 0, . . . ,255 from black to white

=

255 255 255 255 255 . . . 255 255 255255 255 31 0 255 . . . 255 255 255255 255 101 96 121 . . . 255 255 255255 99 128 128 98 . . . 255 255 255...

......

...... . . .

......

...255 90 158 153 158 . . . 100 35 255255 255 102 103 99 . . . 98 255 255255 255 255 255 255 . . . 255 255 255

Colored image: 3 matrices for Red, Green and Blue brightness values

13

Page 14: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

MATLAB DEMO:

Approximate a grayscale image A using the SVD by∑ki=1Ai. Compare

storage requirements and quality of approximation for different k.

Memory required to store:

an uncompressed image of size m× n: mn values

rank k SVD approximation: k(m+ n+ 1) values

14

Page 15: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

3. Application 2 - image deblurring

15

Page 16: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Sources of noise and blurring: physical sources (moving objects,lens out of focus), measurement, discretization, rounding errors, ...

Challenge: Having some information about the blurring process, tryto approximate the “exact” image.

16

Page 17: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Model of blurring process:

Blurred photo: −→

Barcode scanning: −→

X(exact image) A(blurring operator) B(blurred noisy image)

17

Page 18: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

PSF (point spread function) = blurring model for a single pixel

↙ ↓ ↘

↓ ↓ ↓

18

Page 19: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Obtaining a linear model:

Using some discretization techniques, it is possible to transform this

problem to a linear problem

Ax = b, A ∈ Rn×n, x, b ∈ Rn,

where A is a discretization of A, b = vec(B), x = vec(X).

Size of the problem: n = number of pixels in the image, e.g., even

for a low resolution 456 x 684 px we get 311 904 equations.

19

Page 20: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Image vectorization B → b = vec (B):

b =B b b b= [ , ,..., ]1 2 w

[ ]b

b

b

1

2

...

w

20

Page 21: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Solution back reshaping x = vec (X) → X:

x = X x x x= [ , ,..., ]1 2 w

[ ]x

x

x

1

2

...

w

21

Page 22: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Solution of the linear problem:

Let A be nonsingular (which is usually the case). Then Ax = b has

the unique solution

xnaive = A−1b.

X B naive solution

Why? Because of specific properties of our problem.

22

Page 23: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Consider that bnoise is noise and bexact is the exact part in our image

b. Then our linear model is

Ax = b, b = bexact + bnoise,

where ‖bexact‖ � ‖bnoise‖, but

‖A−1bexact‖ � ‖A−1bnoise‖.

Usual properties:

• the problem is sensitive to small changes in b;

• singular values σj of A decay quickly;

• bexact is smooth, and satisfies the discrete Picard condition (DPC);

• bnoise is often random and does not satisfy DPC.

23

Page 24: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

SVD components of the naive solution:

From the SVD of A we have

xnaive ≡ A−1b =n∑

j=1

(1

σjvj u

Tj

)b

=n∑

j=1

uTj b

σjvj

=n∑

j=1

uTj bexact

σjvj︸ ︷︷ ︸

xexact=A−1bexact

+n∑

j=1

uTj bnoise

σjvj︸ ︷︷ ︸

A−1bnoise

.

What is the size of the right sum (inverted noise) in comparison tothe left one?

24

Page 25: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Exact data: On average, |uTj bexact| decay faster than σj (DPC).

White noise: The values |uTj bnoise| do not exhibit any trend.

Thus uTj b = uTj bexact + uTj b

noise are for small indexes j dominated by

the exact part, but for large j by the noisy part.

Because of the division by σj, the components of the naive solu-

tion corresponding to small singular values are dominated by inverted

noise.

25

Page 26: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Violation of DPC due to presence of noise in b:

0 1 2 3 4 5 6 7 8

x 104

10−12

10−10

10−8

10−6

10−4

10−2

100

102

104

singular values of A and projections uiTb

right−hand side projections on left singular subspaces uiTb

singular values σi

noise level

26

Page 27: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Basic regularization method - Truncated SVD:

Using the dyadic form

A = U ΣV T =n∑i=1

uiσivTi ,

we can approximate A with a rank k matrix

A ≈Sk ≡k∑i=1

Ai =k∑i=1

ui σi vTi .

Replacing A by Sk gives an TSVD approximate solution

x(k) =k∑

j=1

uTj b

σjvj .

27

Page 28: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

TSVD regularization: removing of troublesome components

0 1 2 3 4 5 6 7 8

x 104

10−12

10−10

10−8

10−6

10−4

10−2

100

102

104

singular values of A and TSDV filtered projections uiTb

filtered projections φ(i) uiTb

singular values σi

noise levelfilter function φ(i)

28

Page 29: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Here the smallest σj’s are not present. However, we removed also

some components of xexact.

An optimal k has to balance between removing noise and not loosing

too many components of the exact solution. It depends on the matrix

properties and on the amount of noise in the considered image.

MATLAB DEMO: Compute TSVD regularized solutions for differ-

ent values of k. Compare quality of the obtained image.

29

Page 30: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Other regularization methods:

• direct regularization;

• stationary regularization;

• projection (including iterative) regularization;

• hybrid methods combining the previous ones.

30

Page 31: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

Other applications:

• computer tomography (CT);

• magnetic resonance;

• seismology;

• crystallography;

• material sciences;

• ...

31

Page 32: Singular Value Decomposition - Applications in Image …tuma/Aplikace16/...2.Application 1 - image compression 3.Application 2 - image deblurring 2 1. Singular value decomposition

References:

Textbooks:

• Hansen, Nagy, O’Leary: Deblurring Images,Spectra, Matrices, and Filtering, SIAM, 2006.

• Hansen: Discrete Inverse Problems,Insight and Algorithms, SIAM, 2010.

Software (MatLab toolboxes): on the homepage of P. C. Hansen

• HNO package,

• Regularization tools,

• AIRtools,

• ...

32