Applicazioni della trasformata Wavelet 03/12/2008

Transcript

Applicazioni della trasformata Wavelet 03/12/2008
Outline
•
•
•
•
La trasformata wavelet e alcune
sue applicazioni
Trasformata di Haar
Trasformata di Fibonacci-Haar
Fibonacci Haar
Trasformata TSH
Applicazioni:
–
–
–
–
Compressione
Sicurezza
Edge detection
Image denoising
Ing. Federica Battisti
2
Trasformata di Haar
Decomposizione wavelet
h0((m))
h0(n)
2↓
a(m,n)
h1(n)
2↓
dV(m,n)
h0(n)
2↓
dH(m,n)
h1(n)
2↓
• La trasformata di Haar e’ basata su funzioni base
molto semplici da implementare e di veloce
applicazione
2↓
• La trasformata di Haar e’ separabile e simmetrica e
puo’ essere espressa
p
p
in forma matriciale come
x(m,n)
h1(m)
T=HFHT
dove:
2↓
3
– F e’ la matrice da trasformare di dimensione NxN
– H e’ la matrice di trasformazione
dD(m,n)
(
)
3
4
4
Funzioni base
h0 ( z ) =
Caratteristiche
1
, z ∈ [ 0,1]
N
• Elevata ridondanza
• Molti valori sono nulli o prossimi allo zero ->buoni
>buoni
risultati nel caso di compressione
• E
E’ possibile ricostruire il segnale originale a diversi
livelli di risoluzione
• Le caratteristiche locali sono costanti
⎧ 2p q − 1
q − 0.5
≤z<
⎪2
p
2
2p
⎪
1 ⎪ 2p q − 0.5
q
≤z< p
hk ( z ) = hpq ( z ) =
⎨ −2
p
2
2
N⎪
⎪ 0 altrimenti, z ∈ [ 0,1]
⎪
⎩
Le funzioni base hk ( z ) sono definite nell’intervallo z ∈ [ 0,1]
chiuso,, per
p k=0,1,2,
, , , …,N-1
,
. Per g
generare H
definiamo un intero k tale che k = 2 p + q − 1, dove
p
0 ≤ p ≤ n − 1, q = 0 o 1 per p=0 e 1 ≤ q ≤ 2 , p ≠ 0
5
5
6
Outline
•
•
•
•
Fibonacci
1,1,2,3,5,8,13,21,34,55,89,144,233,377,...
Trasformata di Haar
Trasformata di Fibonacci-Haar
Fibonacci Haar
Trasformata TSH
Applicazioni:
–
–
–
–
6
trasformata.m
0
if n < 0
⎧
⎪
f (n) = ⎨
1
if n = 0
⎪ f ( n − 1) + f ( n − 2 ) if n > 0
⎩
Compressione
Sicurezza
Edge detection
Image denoising
Sequenze-p generalizzate di Fibonacci :
⎧
0
if n < 0
⎪
f p (n) = ⎨
1
if n = 0
⎪ f ( n − 1) + f ( n − p − 1) if n > 0
p
⎩ p
7
7
p = 0 → 1,2,4,8,16,32,64,128,256,512,...
Leonardo da Pisa
(ca.1170 - ca.1250)
8
8
Sequenze-p generalizzate
Numeri di Fibonacci in natura
Al variare di p cambiano i valori delle sequenze:
1
2
3
4
5
6
7
8
9
0
1
2
4
8
16
32
64
128
256
1
1
1
2
3
5
8
13
21
34
2
1
1
1
2
3
4
6
9
13
3
1
1
1
1
2
3
4
5
7
4
1
1
1
1
1
2
3
4
5
n
p
P indica il passo della sequenza scelta e n il numero
di bit utilizzati per la rappresentazione
9
9
Numeri di Fibonacci in natura
Il numero di spirali
p
delle p
pigne
g
sia in
verso orario che antiorario è un numero
di Fibonacci
10
10
Numeri di Fibonacci in natura
Ogni parte del nostro dito indice, dalla punta alla base del
polso, è proporzionale ai numeri di Fibonacci 2, 3, 5 e 8.
Il numero di spirali nei semi dei girasoli sia in verso orario che antiorario
è un numero di Fibonacci
11
11
12
12
Rappresentazione binaria
Decomposizione di Haar tradizionale
Decomposizione wavelet
Haar
8
4
2
1
4
Fibonacci-Haar
2
1
13
13
14
Decomposizione di Fibonacci-Haar
14
Trasformata di Fibonacci-Haar
◦ Le funzioni di Haar si ottengono tramite una
divisione diadica dell’intervallo temporale.
◦ La trasformata di Fibonacci-Haar attua una
divisione temporale non uniforme che dipende
dall’albero di Fibonacci.
◦ Data un’immagine di dimensione N x N, dove N =
Fn è un numero della sequenza-p di Fibonacci:
144
p=1, n=13
p=3, n=20
p=5, n=27
233*233 pixel
250*250 pixel
322*322 pixel
–
–
–
–
La trasformata è dipendente dalla chiave
15
15
233
LL, Fn-1x Fn - 1 pixel;
LH, Fn-1 x Fn - 2 pixel;
HL Fn-2 x Fn - 1 pixel;
HL,
HH, Fn - 2 x Fn -2 pixel.
dove Fn - 1 è il numero precedente
d
d t nella
ll sequenza-p considerata
id
t
e Fn - 2 è il numero che precede di due posti Fn
16
16
trasformata.m
Outline
•
•
•
•
Riuscite a trovare il problema
p
nella trasformata di
Fibonacci-Haar?
b
17
Trasformata di Haar
Trasformata di Fibonacci-Haar
Fibonacci Haar
Trasformata TSH
Applicazioni:
–
–
–
–
Compressione
Sicurezza
Edge detection
Image denoising
17
18
DPV
Tree-Structured Haar
La decomposizione dipende da un parametro segreto,
segreto il
Discontinuity Point Vector (DPV)
8
8
8
2
Discontinuity Point Vector: [100, 23]
8
Dimensione
i
i
dell’immagine
256
6
5
3
3
5
6
2
100
1
3
5
3
2
1
2
2
3
1
156
2
2
1
1
18
2
1
19
4
1 2
23
2
19
77
100
56
La conoscenza del DPV e’ cruciale per antitrasformare
20
20
Funzioni base TSH
Esempi di decomposizioni TSH
Albero binario con i corrispondenti intervalli temporali
Funzioni TSH
•
•
•
21
21
22
Tree-Structured Haar
Decomposizioni TSH
[1, 10, 143]
Trasformata di
Haar
Trasformata
TSH
23
22
[18, 4]
[18, 190, 210]
Il DPV definisce la dimensione delle sottobande
23
24
24
Outline
•
•
•
•
Compressione
Trasformata di Haar
Trasformata di Fibonacci-Haar
Fibonacci Haar
Trasformata TSH
Applicazioni:
–
–
–
–
• Nella sottobanda di
interesse si estraggono
i contorni. Vengono
posti a zero tutti i
coefficienti che non ne
fanno parte.
• La scelta di mantenere
inalterati i contorni è
dovuta alla struttura
del
sistema
visivo
umano.
Compressione
Sicurezza
Edge detection
Image denoising
25
25
Modifica sottobande I livello
26
26
Modifica sottobande III livello
HL
LH
HH
Valori di PSNR(dB) e WPSNR(dB)
Modifica della
LH
Modifica
della HL
Valori di PSNR(dB) e WPSNR(dB)
Modifica
della LLLH
Modifica della
Modifica
HH
delle LH
LH,HL
HL e
HH
27
27
Modifica
della LLHL
Modifica
della LLHH
Modifica delle
LLLH LLHL e
LLLH,LLHL
LLHH
28
28
Confronto Haar-TSH
Confronto Haar-TSH
Haar
Haar
HL
LH
HH
TSH
Modifica
della LH
Modifica
della LLHL
TSH
Modifica
della HH
Modifica
delle29LH,HL e
HH
29
Modifica
della LLLH
Modifica
della HL
Test
Modifica
della LLHH
Modifica delle
30
LLLH,LLHL
e
LLHH
30
Modifica progressiva
Haar
Modifica dettagli di
1°livello
dB
dB
Modifica dettagli di
1°e 2°livello
Modifica dettagli di
1°, 2°
2 e 3°livello
3 l ll
TSH
256x256
511x511
31
31
Modifica dettagli di
1°livello
Modifica dettagli di
1°e 2°livello
Modifica dettagli di
1°,2°e 3°livello
32
32
Modifica progressiva
Confronto tra i metodi
dB
Originale
bit
dB
TSH edge
edgedetector
33
33
Haar edgeedge
detector
TSH - intera
Haar - intera
sottobanda a zero sottobanda a zero
Original image
Embedding
Watermarked
image
Channel
Test
image
•
•
•
•
watermark
Detector
D
t t /
Decoder
yes/no
watermark
Key
Spatial
Spatial.
DCT/ Fourier
Wavelet
…..
Attacks / manipulations
Original
image
Key
Watermark
Watermark
01001110101
35
Costo computazionale
Resistenza alle modifiche
Efficienza
…
Robustezza
C
Capacità
ià
01001110101
35
34
Caratteristiche
Schema di marchiatura
Original
watermark
34
Impercettibilità
ibili à
36
36
Metodo proposto
Protezione di dati digitali
• Per disegnare un sistema di marchiatura e cifratura in cui le
due procedure siano commutative, si utilizzano:
• Crittografia:
– la protezione sparisce dopo la decifratura.
– una funzione fW per nascondere il marchio W
nell’immagine
nell
immagine X
• Marchiatura:
M
hi t
– nasconde un messaggio nel supporto;
– il marchio può essere distrutto, rimosso o modificato.
XW = fW (X,W)
– una funzione fC per cifrare i dati
• Unione di marchiatura e cifratura:
XE = fC (X, ξ) ξ è la chiave di cifratura.
– Approcci
pp
non commutativi
• Il marchio non può essere estratto nel dominio cifrato;
fW e fC sono disegnate in modo tale che l’immagine cifrata e
marchiata XW,E soddisfa la proprietà commutativa:
– Approcci commutativi
• La
L marchiatura
hi
e la
l cifratura
if
non interfersiscono;
i
f
i
• Il marchio è rilevato/estratto anche dal contenuto cifrato.
XW,E = fW (fC (X, ξ), W)= fC (fW (X,W), ξ)
37
37
Schema di marchiatura
• Per aumentare la sicurezza è utilizzato un dominio38trasformato
dipendente da chiave: la trasformata Tree Structured Haar.
38
Immagine marchiata e cifrata
MSB
3rd order TSH
Bit planes
transform
decomposition
E b ddi
Embedding
Encryption
• Marchiatura: Quantization Index Modulation su 8 piani bit.
c 'i , j = ci , j + α ⋅ q
⎧
⎛W
⎞⎫ ⎛
⎛W
⎞⎞
q = QΔ ⎨ci , j − Δ ⋅ ⎜ i , j + ki , j ⎟ ⎬ − ⎜ ci , j − Δ ⋅ ⎜ i , j + ki , j ⎟ ⎟
⎝ D
⎠⎭ ⎝
⎝ D
⎠⎠
⎩
Immagine marchiata
PSNR = 40 dB
• Cifratura: AES con chiave da 128-bit
128 bit su 3 bit-plane.
bit plane
39
Immagine marchiata e cifrata
WPSNR = 45 dB
39
40
40
Performance
C o rrel atio n valu e
Chiave segreta
1
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
Attack
Embedded watermark
Second highest peak
Gaussian
Sharpening
Motion
Blurring
0.20
0.22
0.36
0 25
0.25
0.0059
0.0054
0.0064
0 0064
0.0064
Gaussian: aggiunta a XW,E
, di rumore gaussiano bianco di media 0
e varianza=0.005.
0
50
100
150
200
250
300
350
400
450
p
g p
processing
g con filtro di enhancement di dimensioni
Sharpening:
3x3.
500
Random DPVs
Motion: appromazione del movimento lineare di una telecamera
tramite un filtro 2D.
Estrazione del marchio e decifratura sono possibili se
e solo se il DPV è noto.
noto
41
Blurring: tramite filtro mediano circolare di raggio=5.
raggio=5
41
Performance
42
Marchiatura di immagini a colori
1
Embedded
0.9
Second highest
Correlation valu
ue
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
10
20
30
40
50
60
70
80
90
100
Quality factor
Compressione
JPEG
dell’immagine
marchiata e
cifrata
1. Viene realizzata la trasformata di Fibonacci-Haar del primo ordine scegliendo una
sequenza-p segreta.
0.8
Embedded
0.7
S
Second
d highest
hi h t
Correla
ation value
0.6
2. La sottobanda LL è cifrata tramite l’algoritmo AES. Nei test realizzati la chiave ha
lunghezza 128 bit.
0.5
0.4
0.3
0.2
0.1
0
50x50
100x100
200x200
300x300
Cropped area (pxl)
400x400
500x500
Ritaglio
dell’immagine
marchiata e
cifrata
43
43
3. Per aumentare la capacità di marchiatura, le sottobande LH, HL e HH sono suddivise in
blocchi.
4. Ogni blocco è decomposto con la Decomposizione a Valori Singolari (SVD) e il marchio
è inserito nella componente S.
44
44
Componenti RGB risultanti
R
G
Risultati sperimentali
B
Immagine originale
Immagine marchiata e
cifrata
Immagine marchiata e
decifrata
PSNR= 46 dB
45
•
pR = 45 Æ 23 blocchi; sono modificati i valori dal 2ndo al17mo
•
pG = 24 Æ 23 blocchi; sono modificati i valori dal 2ndo al 17mo
•
pB = 0 Æ 3 blocchi; sono modificati i valori dal 10mo al 105mo
45
46
Qualità percepita
46
Robustezza
• Invisibilità:
– Componente del rosso
– Componente del verde
– Componente del blu
PSNR=47dB
PSNR=46dB
PSNR=57dB
WPSNR=42dB;
WPSNR=35dB;
WPSNR=58dB
WPSNR=58dB.
• L’immagine è non intellegibile per utenti non autorizzati
che q
quindi non p
posseggono
gg
la chiave segreta
g
pc utilizzata
per generare la sequenza-p di partenza. Se si prova ad
estrarre il marchio con un pc diverso da quello usato in
trasmissione (per esmpio: pR = 24,
24 pG = 0,
0 e pB = 45),
45) il
valore di corellazione decresce da 0.998 (se viene usato
il corretto pc) a 0.009.
47
47
Attack
Parameter
ρ
Motion
linear motion of a camera by 10 pixels
0.71
Gaussian
mean=0 and standard deviation
mean=0,
=0.005
0 75
0.75
Blurring
using a circular averaging filter within
the square matrix of size=5
0.73
Sharpening
3-by-3 contrast enhancement filter
0.75
48
48
Edge detection
Image Denoising
• Si calcola la trasformata wavelet dell’immagine
• Si effettua una sogliatura dei coefficienti wavelet.
wavelet La
soglia può essere uninca o diversa per le diverse
sottobande
• Si effettua la trasformata inversa per ottenere una
versione in cui il rumore è attenuato
49
49
Matlab
help dwt2
%legge l’immagine
I=imread('lena512
I=imread(
lena512.bmp
bmp');
);
%decomposizione wavelet di Haar bidimensionale di primo
livello
[CA CH CV CD] = DWT2(I,
[CA,CH,CV,CD]
DWT2(I 'haar');
haar );
tr=zeros(512,512);
tr(1:256,1:256)=CA;
imshow(CA,[])
imshow(tr,[])
tr(1:256,257:512)=CH;
( ,[])
imshow(tr,[])
tr(257:512,1:256)=CV;
imshow(tr,[])
(
,
)
;
tr(257:512,257:512)=CD;
%trasformata di I
imshow(tr,[])
51
51
50
50