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