Upload
vandung
View
224
Download
0
Embed Size (px)
Citation preview
La trasformata wavelet e alcune sue applicazionisue applicazioni
Ing. Federica Battisti
Outline
• Trasformata di Haar• Trasformata di Fibonacci Haar• Trasformata di Fibonacci-Haar• Trasformata TSH• Applicazioni:• Applicazioni:
– Compressione– SicurezzaSicurezza– Edge detection– Image denoising
2
Decomposizione wavelet
h0(m) 2 ↓
h0(n) 2 ↓ a(m,n)
0( ) ↓
h1(n) 2 ↓ dV(m,n)
x(m,n)
h0(n) 2 ↓ dH(m,n)
h1(m)
h0(n) 2 ↓
dD( )
d (m,n)
2 ↓
h1(n) 2 ↓ dD(m,n)
3 3
Trasformata di Haar
• La trasformata di Haar e’ basata su funzioni base molto semplici da implementare e di velocemolto semplici da implementare e di veloceapplicazione
• La trasformata di Haar e’ separabile e simmetrica e puo’ essere espressa in forma matriciale comep p
T=HFHT
dove:– F e’ la matrice da trasformare di dimensione NxN– H e’ la matrice di trasformazione
4 4
Funzioni base
( ) [ ]01 , 0,1h z zN
= ∈
2 1 0.522 2
p
p p
q qz⎧ − −
≤ <⎪⎪
( ) ( ) 2
2 21 0.52
2 2
p p
p
k pq p p
q qh z h z zN
⎪⎪ −
= = − ≤ <⎨⎪
[ ]0 , 0,1altrimenti z⎪
∈⎪⎪⎩
Le funzioni base sono definite nell’intervallo chiuso, per k=0,1,2, …,N-1 . Per generare H
( )kh z [ ]0,1z∈, p , , , , g
definiamo un intero k tale che , doveo 1 per p=0 e
2 1pk q= + −0 1, 0p n q≤ ≤ − = 1 2 , 0pq p≤ ≤ ≠
5 5
Caratteristiche
• Elevata ridondanza• Molti valori sono nulli o prossimi allo zero >buoni• Molti valori sono nulli o prossimi allo zero ->buoni
risultati nel caso di compressione• E’ possibile ricostruire il segnale originale a diversi• E possibile ricostruire il segnale originale a diversi
livelli di risoluzione• Le caratteristiche locali sono costantiLe caratteristiche locali sono costanti
trasformata.m6 6
Outline
• Trasformata di Haar• Trasformata di Fibonacci Haar• Trasformata di Fibonacci-Haar• Trasformata TSH• Applicazioni:• Applicazioni:
– Compressione– SicurezzaSicurezza– Edge detection– Image denoising
7 7
Fibonacci
1,1,2,3,5,8,13,21,34,55,89,144,233,377,...
( )0 01 0
if nf n if n
<⎧⎪= =⎨⎪ ( ) ( )1 2 0f n f n if n⎪ − + − >⎩
Sequenze-p generalizzate di Fibonacci :
Leonardo da Pisa ( )0 01 0p
if nf n if n
⎧ <⎪= =⎨
(ca.1170 - ca.1250)( )
( ) ( )1 0
1 1 0p
p p
f n if nf n f n p if n
⎨⎪ − + − − >⎩
0 1,2,4,8,16,32,64,128,256,512,...p = → 8 8
Sequenze-p generalizzateAl 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
p n
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 132 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
P indica il passo della sequenza scelta e n il numero di bit utilizzati per la rappresentazionedi bit utilizzati per la rappresentazione
9 9
Numeri di Fibonacci in natura
Il numero di spirali delle pigne sia in p p gverso orario che antiorario è un numero di Fibonacci 10 10
Numeri di Fibonacci in natura
Il numero di spirali nei semi dei girasoli sia in verso orario che antiorario è un numero di Fibonacci 11 11
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.
12 12
Rappresentazione binaria
Decomposizione di Haar tradizionale
8
4 4
2 2
1 11 1
13 13
Decomposizione wavelet
Haar
Fibonacci-Haar
14 14
Decomposizione di Fibonacci-Haar
p=1, n=13
233*233 pixel
p=3, n=20
250*250 pixel
p=5, n=27
322*322 pixel
La trasformata è dipendente dalla chiaveLa trasformata è dipendente dalla chiave
15 15
Trasformata di Fibonacci-Haar
◦ Le funzioni di Haar si ottengono tramite unadivisione diadica dell’intervallo temporale.
◦ La trasformata di Fibonacci-Haar attua una divisione temporale non uniforme che dipende 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 233
– LL, Fn-1x Fn - 1 pixel;– LH, Fn-1 x Fn - 2 pixel;
HL F x F pixel;– HL, Fn-2 x Fn - 1 pixel;– HH, Fn - 2 x Fn -2 pixel.
d F è il d t ll id t dove Fn - 1 è il numero precedente nella sequenza-p considerata e Fn - 2 è il numero che precede di due posti Fn
trasformata.m16 16
Riuscite a trovare il problema pnella trasformata di
bFibonacci-Haar?
17 17
Outline
• Trasformata di Haar• Trasformata di Fibonacci Haar• Trasformata di Fibonacci-Haar• Trasformata TSH• Applicazioni:• Applicazioni:
– Compressione– SicurezzaSicurezza– Edge detection– Image denoising
18 18
DPVLa decomposizione dipende da un parametro segreto ilLa decomposizione dipende da un parametro segreto, ilDiscontinuity Point Vector (DPV)
88 8 8 8
22
6 5 3 3 56
2 2 21 15 3 32
54
2 22 2
11 1
3
1 119 19
Tree-Structured Haar
Discontinuity Point Vector: [100, 23]
i iDimensione dell’immagine
256
100 156
23 77 100 56
La conoscenza del DPV e’ cruciale per antitrasformare
20 20
Funzioni base TSHAlbero binario con i corrispondenti intervalli temporali
Funzioni TSH
•
•
•
21 21
Esempi di decomposizioni TSH
22 22
Tree-Structured Haar
Trasformata diHaar
TrasformataTSH
23 23
Decomposizioni TSH
[1, 10, 143] [18, 4] [18, 190, 210]
Il DPV definisce la dimensione delle sottobande
24 24
Outline
• Trasformata di Haar• Trasformata di Fibonacci Haar• Trasformata di Fibonacci-Haar• Trasformata TSH• Applicazioni:• Applicazioni:
– Compressione– SicurezzaSicurezza– Edge detection– Image denoising
25 25
Compressione
• Nella sottobanda diinteresse si estraggonointeresse si estraggonoi contorni. Vengonoposti a zero tutti icoefficienti che non necoefficienti che non nefanno parte.
• La scelta di mantenereinalterati i contorni èdovuta alla strutturadel sistema visivoumano.
26 26
Modifica sottobande I livello
HL
LH HH
Valori di PSNR(dB) e WPSNR(dB)
Modifica della LH
Modifica della HL
Modifica della HH
Modifica delle LH HL e LH della HL HH delle LH,HL e
HH27 27
Modifica sottobande III livello
Valori di PSNR(dB) e WPSNR(dB)
Modifica della LLLH
Modifica della LLHL
Modifica della LLHH
Modifica delle LLLH LLHL e della LLLH della LLHL della LLHH LLLH,LLHL e
LLHH28 28
Confronto Haar-TSH
Haar
HL
LH HHTSH
Modifica della LH
Modifica della HH
Modifica delle LH,HL e
HH
Modifica della LLHL 29 29
Confronto Haar-TSH
HHaar
TSHTSH
Modifica delle LLLH,LLHL e
LLHH
Modifica della LLHH
Modifica della LLLH
Modifica della HL 30 30
Test
dB
dB
256x256 511x511256x256 511x511
31 31
Modifica progressivaHaar
Modifica dettagli di 2 3 l ll
Modifica dettagli di Modifica dettagli di 1°, 2° e 3°livello1°e 2°livello1°livello
TSH
Modifica dettagli di 1°livello
Modifica dettagli di 1°e 2°livello
Modifica dettagli di 1°,2°e 3°livello 32 32
dB
Modifica progressiva dB
bit
33 33
Confronto tra i metodi
Originale
dB
TSH edge- Haar edge-TSH edgedetector
Haar edgedetector
TSH - intera sottobanda a zero
Haar - intera sottobanda a zero 34 34
Schema di marchiatura
Original image Watermarkedimage
Test image D t t / watermark
Originalwatermark
Embedding
watermark
imageChannel
Attacks / manipulations
image Detector / Decoder yes/no
OriginalKey Attacks / manipulations KeyOriginalimage
Spatial01001110101
Watermark
Watermark
01001110101
Spatial.DCT/ FourierWavelet
Watermark 01001110101…..
35 35
Caratteristiche
• Costo computazionale• Resistenza alle modifiche• Resistenza alle modifiche• Efficienza•• … Robustezza
C i à ibili àCapacità Impercettibilità
36 36
Protezione di dati digitali
• Crittografia:• Crittografia:– la protezione sparisce dopo la decifratura.
M hi t• Marchiatura:– nasconde un messaggio nel supporto;– il marchio può essere distrutto, rimosso o modificato.il marchio può essere distrutto, rimosso o modificato.
• Unione di marchiatura e cifratura:– Approcci non commutativipp
• Il marchio non può essere estratto nel dominio cifrato;
– Approcci commutativiL hi l if i f i• La marchiatura e la cifratura non interfersiscono;
• Il marchio è rilevato/estratto anche dal contenuto cifrato.
37 37
Metodo proposto
• Per disegnare un sistema di marchiatura e cifratura in cui le due procedure siano commutative, si utilizzano:due procedure siano commutative, si utilizzano:
– una funzione fW per nascondere il marchio W nell’immagine Xnell immagine X
XW = fW (X,W)
– una funzione fC per cifrare i dati
XE = fC (X, ξ) ξ è la chiave di cifratura.
fW e fC sono disegnate in modo tale che l’immagine cifrata e marchiata XW,E soddisfa la proprietà commutativa:
XW,E = fW (fC (X, ξ), W)= fC (fW (X,W), ξ)
• Per aumentare la sicurezza è utilizzato un dominio trasformatodipendente da chiave: la trasformata Tree Structured Haar.
38 38
Schema di marchiatura
3rd order TSH
transform
Bit planes
decomposition
MSB
E b dditransform decomposition
Encryption
Embedding
• Marchiatura: Quantization Index Modulation su 8 piani bit.
, ,'i j i jc c qα= + ⋅
i j i jW W⎧ ⎫ ⎛ ⎞⎛ ⎞ ⎛ ⎞
• Cifratura: AES con chiave da 128 bit su 3 bit plane
, ,, , , ,
i j i ji j i j i j i j
W Wq Q c k c k
D DΔ
⎧ ⎫ ⎛ ⎞⎛ ⎞ ⎛ ⎞= − Δ ⋅ + − − Δ ⋅ +⎨ ⎬ ⎜ ⎟⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠⎩ ⎭ ⎝ ⎠
• Cifratura: AES con chiave da 128-bit su 3 bit-plane.
39 39
Immagine marchiata e cifrata
Immagine marchiata
PSNR = 40 dB
Immagine marchiata e cifrata
WPSNR = 45 dB40 40
Chiave segreta
0,91
0,40,50,60,70,8
ati
on
va
lue
00,10,20,3
0 50 100 150 200 250 300 350 400 450 500
Co
rre
l
0 50 100 150 200 250 300 350 400 450 500
Random DPVs
Estrazione del marchio e decifratura sono possibili se e solo se il DPV è notoe solo se il DPV è noto.
41 41
PerformanceAttack Embedded watermark Second highest peak
Gaussian 0.20 0.0059GaussianSharpening
MotionBlurring
0.200.220.360 25
0.00590.00540.00640 0064Blurring 0.25 0.0064
Gaussian: aggiunta a XW,E di rumore gaussiano bianco di media 0,e varianza=0.005.
Sharpening: processing con filtro di enhancement di dimensionip g p g3x3.
Motion: appromazione del movimento lineare di una telecameraMotion: appromazione del movimento lineare di una telecameratramite un filtro 2D.
Blurring: tramite filtro mediano circolare di raggio=5Blurring: tramite filtro mediano circolare di raggio=5.
42
Performance
0.7
0.8
0.9
1
ue
Embedded
Second highest
0.3
0.4
0.5
0.6
Corr
ela
tion v
alu
CompressioneJPEG
0
0.1
0.2
10 20 30 40 50 60 70 80 90 100
JPEG dell’immaginemarchiata e
cifrataQuality factor
0.7
0.8
Embedded
S d hi h t
cifrata
0.4
0.5
0.6
ati
on
va
lue
Second highest
0.1
0.2
0.3
Co
rre
la
Ritagliodell’immaginemarchiata e
050x50 100x100 200x200 300x300 400x400 500x500
Cropped area (pxl)
marchiata e cifrata
43 43
Marchiatura di immagini a colori
1. Viene realizzata la trasformata di Fibonacci-Haar del primo ordine scegliendo unasequenza-p segreta.
2. La sottobanda LL è cifrata tramite l’algoritmo AES. Nei test realizzati la chiave halunghezza 128 bit.
3. Per aumentare la capacità di marchiatura, le sottobande LH, HL e HH sono suddivise inblocchi.
4. Ogni blocco è decomposto con la Decomposizione a Valori Singolari (SVD) e il marchio4. Ogni blocco è decomposto con la Decomposizione a Valori Singolari (SVD) e il marchioè inserito nella componente S.
44 44
Componenti RGB risultantiR BG
45 45
Risultati sperimentali
Immagine originaleImmagine marchiata e
decifrataImmagine marchiata e
cifrata
PSNR= 46 dB
• pR = 45 23 blocchi; sono modificati i valori dal 2ndo al17mo
PSNR= 46 dB
• pG = 24 23 blocchi; sono modificati i valori dal 2ndo al 17mo
• pB = 0 3 blocchi; sono modificati i valori dal 10mo al 105moB
46 46
Qualità percepita
• Invisibilità:
– Componente del rosso PSNR=47dB WPSNR=42dB;– Componente del verde PSNR=46dB WPSNR=35dB;– Componente del blu PSNR=57dB WPSNR=58dB– Componente del blu PSNR=57dB WPSNR=58dB.
• L’immagine è non intellegibile per utenti non autorizzatiche quindi non posseggono la chiave segreta pc utilizzataq p gg g pcper generare la sequenza-p di partenza. Se si prova adestrarre il marchio con un pc diverso da quello usato intrasmissione (per esmpio: p 24 p 0 e p 45) iltrasmissione (per esmpio: pR = 24, pG = 0, e pB = 45), ilvalore di corellazione decresce da 0.998 (se viene usatoil corretto pc) a 0.009.pc)
47 47
Robustezza
Attack Parameter ρAttack Parameter ρ
Motion linear motion of a camera by 10 pixels 0.71
Gaussian mean=0 and standard deviation 0 75Gaussian mean=0, and standard deviation =0.005
0.75
Blurring using a circular averaging filter within 0.73Blurring 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
49 49
Image Denoising
• Si calcola la trasformata wavelet dell’immagine• Si effettua una sogliatura dei coefficienti wavelet La • Si effettua una sogliatura dei coefficienti wavelet. La
soglia può essere uninca o diversa per le diverse sottobande
• Si effettua la trasformata inversa per ottenere unaversione in cui il rumore è attenuato
50 50
Matlabhelp dwt2%legge l’immagineI=imread('lena512 bmp');I=imread( lena512.bmp );%decomposizione wavelet di Haar bidimensionale di primo livello[CA CH CV CD] = DWT2(I 'haar');[CA,CH,CV,CD] = DWT2(I, haar );tr=zeros(512,512);tr(1:256,1:256)=CA;imshow(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 Iimshow(tr,[])
51 51