13
La trasformata wavelet e alcune sue applicazioni sue applicazioni Ing. Federica Battisti Outline Trasformata di Haar Trasformata di Fibonacci Haar Trasformata di Fibonacci-Haar Trasformata TSH Applicazioni: Applicazioni: – Compressione Sicurezza Sicurezza Edge detection Image denoising 2 Decomposizione wavelet h 0 (m) 2 h 0 (n) 2 a(m,n) 0 h 1 (n) 2 d V (m,n) x(m,n) h 0 (n) 2 d H (m,n) h 1 (m) h 0 (n) 2 d D ( ) d (m,n) 2 h 1 (n) 2 d D (m,n) 3 3 Trasformata di Haar La trasformata di Haar e’ basata su funzioni base molto semplici da implementare e di veloce molto semplici da implementare e di veloce applicazione La trasformata di Haar e’ separabile e simmetrica e puo’ essere espressa in forma matriciale come T=HFH T dove: – F e’ la matrice da trasformare di dimensione NxN – H e’ la matrice di trasformazione 4 4

Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

  • Upload
    vandung

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 2: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 3: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 4: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 5: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 6: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 7: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 8: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 9: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 10: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 11: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 12: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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

Page 13: Outline La trasformata wavelet e alcune sue applicazioni della trasformata Wavelet.pdf · – Edge detection – Image denoising 2 ... Marchiatura di immagini a colori 1. ... Sharpening

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