Imagenes y SVD PDF
Imagenes y SVD PDF
Imagenes y SVD PDF
A= USV T
σ1 ≥ σ2 ≥ ...
A =Σ σi ui vi T
⎛ 0 0 0 1 1⎞
⎜ ⎟
⎜ 0 1 1 0 1⎟
⎜ 1 0 1 1 0 ⎟
⎜ ⎟
⎜ 0 1 0 0 0⎟
⎜ 0 0 1 1 0 ⎟⎠
⎝
imagen en tonos de gris
Es una matriz de n x m números
⎛ 44 50 62 9 42 ⎞
⎜ ⎟
⎜ 34 60 17 1 18 ⎟
⎜ 28 33 16 56 30 ⎟
⎜ ⎟
⎜ 44 55 55 13 4 ⎟
⎜ 19 62 ⎟⎠
⎝ 39 11 46
Un poco de álgebra lineal
Descomponer una matriz es escribirla
como el producto de otras.
A = LU A=LDU A = QR
A=P D P-1
lu, ldu, qr, pdp-1
LU y LDU se aplican intensivamente
en la resolución de sistemas lineales.
A= U S V T
0 0 σ3 ...
σ1 ≥ σ2 ≥ ... ≥ σr >0
la descomposición U S VT
⎡σ1 0 0 0 ⎤⎧ v1T ⎫
⎢ 0 σ 0 0 ⎥⎪ T ⎪
⎪ ⎪
= {
A u1 | u2 | K| ur }⎢ 2 ⎥ v
⎨ M
2
⎬
⎢ 0 0 O 0 ⎥⎪ ⎪
⎢ ⎥⎪ vT ⎪⎭
⎣ 0 0 0 σ r ⎦⎩ r
σ1 ≥ σ2 ≥ ... ≥ σr >0
la suma U S VT
A1
A = σ1 u1 v1T + …
Ar
+ ... + σr ur vrT
A=US V T
A= σ1 u1 v1T + σ2 u2 v2 T
+ ... + σr ur vrT
... y como Ai = σi ui viT es ...
A = A1 + A2 +... Ar
un ejemplo
σ1 σ2
⎡ 2 0 ⎤ ⎡ 0 1 0⎤ ⎡3 0 ⎤
⎢0 − 3⎥ = ⎢− 1 0 0⎥ ⋅ ⎢0 2⎥ ⋅ ⎡0 1⎤
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢1 0⎥
⎢⎣0 0 ⎥⎦ ⎢⎣ 0 0 1⎥⎦ ⎢⎣0 0⎥⎦ ⎣ ⎦
A = U S VT
A = σ 1 u 1 v1 T + σ 2 u 2 v2 T
⎡2 0 ⎤ ⎡0⎤ ⎡1⎤
⎢0 − 3⎥ = 3 ⎢− 1⎥ [0 1]+ 2 ⎢0⎥ [1 0]
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣0 0 ⎥⎦ ⎢⎣ 0 ⎥⎦ ⎢⎣0⎥⎦
A σ1 u1 v1T σ2 u2 v2T
A = A1 + A2
⎡2 0 ⎤ ⎡0 0 ⎤ ⎡ 2 0 ⎤
⎢0 − 3⎥ = ⎢0 − 3⎥ + ⎢0 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣0 0 ⎥⎦ ⎢⎣0 0 ⎥⎦ ⎢⎣0 0⎥⎦
A A1 A2
rg (A) = 2 ; rg(A1) = rg(A2) = 1
la aproximación Ak*
Ak* = A1 + A2 +... Ak
Ak*
Sk = gen { A1 , A2 , ..., Ak }
el ejemplo
⎛2 0 ⎞
⎜ ⎟
A= ⎜ 0 − 3⎟
⎜0 0 ⎟
⎝ ⎠
⎛0 0 ⎞
⎜ ⎟
A1*= ⎜ 0 − 3⎟
⎜0 0 ⎟
⎝ ⎠
el error
A
Ê=2
A1*
en imágenes
A=
A5*=
error-imagen
La matriz de error E = A – Ak* tiene
una imagen que es :
Ê=
A5*
las matrices
3 7 4 1 4 3 8 9 17 6 4
6 5 4 3 3 3 3 2 3 5 6
4 4 4 4 5 5 6 6 7 9 9
5 4 4 4 5 6 6 10 10 10 11
7 6 5 4 4 4 4 9 9 9 8
6 6 5 4 4 4 4 9 8 8 7
4 4 4 4 4 5 5 9 9 8 8
3 3 3 3 4 4 5 8 8 8 7
5 4 3 2 2 2 2 5 6 6 6
33 21 34 32 35 27 19 19 18 22 25
25 15 26 24 29 25 21 21 20 23 24
⎛ 47 47 47 47 47 48 48 48 48 48 48 ⎞
⎜ ⎟
⎜ 46 47 47 48 48 48 48 48 48 48 49 ⎟
⎜ 46 47 47 48 48 48 48 48 48 48 49 ⎟
⎜ ⎟
⎜ 47 47 47 48 48 48 48 48 48 48 49 ⎟
⎜ 47 47 48 48 48 48 48 48 48 48 49 ⎟⎟
⎜
⎜ 47 47 48 48 48 48 48 48 48 48 49 ⎟
⎜ ⎟
⎜ 47 48 48 48 49 48 48 48 48 48 49 ⎟
⎜ 47 48 48 49 49 48 48 48 48 48 49 ⎟
⎜ ⎟
⎜ 47 48 48 49 49 48 48 48 48 48 49 ⎟
⎜ 48 48 48 48 48 48 48 47 47 47 48 ⎟
⎜⎜ ⎟
⎝ 47 48 48 48 48 48 47 47 47 47 48 ⎟⎠
el fondo oscuro
σi %
128,6 71,1
25,8 14,3
9,6 5,3
7,6 4,2
3,9 2,2
1,9 1,1
1,5 0,8
1,1 0,6
0,5 0,3
0,2 0,1
0,1 0,1
el fondo oscuro
Los valores singulares σ1 y σ2
concentran
el 85 % de la
información
el fondo oscuro
Los valores sigulares σ1 a σ5
concentran
el 97 % de la
información
la falda blanca
si se considera sólo el primer valor
singular
se recogerá
el 99 %
de la
información
MT & LDi, k = 5
MT & LDi, k = 10
MT & LDi, k = 15
MT & LDi, k = 20
js & ep k=5
js & ep k = 10
js & ep k = 15
js & ep k = 20
los vengadores
John Steed
Emma Peel
error con k = 5
error con k = 10
el tamaño original
En total, (n + m+ 1 ) x k
la compresión
la relación de compresión
es r = (n+m+1) / nm
function compresor(p,k)
p=imread(p);p=double(p); image(p);
axis off;colormap(gray);
[u,s,v] = svd(p);
suma=u(:,1:k)*s(1:k,1:k)*v(:,1:k)‘;
image(suma)
?
compresor (‘germán.jpg’,1)
algunas mejoras
k2
No toda imagen requiere un
mismo k para ser satisfactoria
entonces se la divide en
bloques
con la mejora,
11 %
de la información original
rgb, hsv, ntsc
C m
A 3 m
3
grises → color
A partir de A se obtiene Ak* como antes y
retornando a 3D resulta Ck*, lo que completa la
compresión
Ck *
Ak *
jpeg
⎛1 0 0 ⎞ ⎛ 1 0 0 ⎞
D = ⎜⎜ ⎟⎟ D = ⎜⎜ ⎟⎟
⎝1 0 1 ⎠ ⎝ 0.5 0 0.5 ⎠
un ejemplo
Ante una consulta en la base de documentos tal
como ¿textos?, que el sistema traduce en el espacio
de términos como p = (1 0)T, la pertinencia está
dada (como es evidente) por :
R = DT p, esto es:
⎛1⎞ d1
⎛ 1 0 0 ⎞⎛1⎞ ⎜ ⎟
R = ⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟ = ⎜ 0 ⎟ d2
⎝ 0.5 0 0.5 ⎠ ⎝ 0 ⎠ ⎜ 0 ⎟
⎝ ⎠ d3
un ejemplo