La visione artificiale
Transcript
La visione artificiale
La compressione video Analis i in multiris oluzione Wavelet La compres s ione di immag ini C ompres s ione JPEG S tandard MPEG Trasformata di Fourier • Analisi in frequenza delle immagini Visione artificiale 08/09 Multirisoluzione 2 Trasformata di Fourier • Analisi in frequenza delle immagini Visione artificiale 08/09 Multirisoluzione 4 Filtraggio in frequenza Trasformata di Fourier Filtro H(u, v) F(u,v) Trasformata inversa H(u,v)F(u,v) Preprocessing Postprocessing f(x,y) Input image g(x,y) Output image Visione artificiale 08/09 Multirisoluzione 5 Piramide • • • • • Una piramide (image pyramid) è un insieme di immagini a risoluzione decrescente Normalmente l’immagine originale (base) è una immagine quadrata di dimensione potenza di 2 I vari livelli della piramide (approssimazioni successive) sono versioni di dimensione (lineare) dimezzata, il numero di livelli dipende dalla potenza di 2 Il livello superiore della piramide (apice) è di dimensione 20 (ma spesso la piramide è troncata prima) La memoria necessaria per memorizzare una piramide differisce 1 1 1 di poco rispetto alla immagine di N 2 1 + + + ... + partenza (4)1 (4) 2 ( 4) k Visione artificiale 08/09 Multirisoluzione 4 2 < N 3 6 Piramide gaussiana • I livelli sono ottenuti attraverso un sottocampionameto (viene mantenuto un pixel ogni due) normalmente preceduto da un filtro passa-basso (filtro gaussiano) – In questo caso si parla di piramide gaussiana – Normalmente i filtri utilizzati hanno le proprietà: • sono scomponibili (si esegue prima un filtraggio monodimensionale per righe e poi per colonne) • la somma dei pesi pari è uguale a quella dei pesi dispari (uguale a ½) • la dimensione è dispari – Esempi [¼, ½, ¼] [ 1/20, 5/20, 8/20, 5/20, 1/20] = [1/20, 1/4, 2/5, 1/4, 1/20] [1/16, 4/16, 6/16, 4/16, 1/16] filtri di dimensione maggiore sono onerosi come tempo di calcolo Visione artificiale 08/09 Multirisoluzione 7 Piramide laplaciana • • • È l’insieme di immagini che contengono informazioni relative a bande di frequenza decrescenti (e l’apice di una immagine gaussiana) Ogni livello è ottenuto dalla differenza fra l’immagine di livello j di una piramide gaussiana e la sua approssimazione ottenuta dal livello j+1 In linea teorica è possibile la ricostruzione dell’immagine originale (non memorizzata) sottocampionamento Filtro di approssimazione Immagine j+1 2↓ 2↑ sovracampionamento Filtro di interpolazione - Immagine j Visione artificiale 08/09 Multirisoluzione + Laplaciano j 8 Piramide laplaciana Visione artificiale 08/09 Multirisoluzione = - = + 9 La trasformata wavelet • • • • La trasformata wavelet è capace di offrire elevata efficienza di compressione e, allo stesso tempo, capacità di localizzazione spaziale e di analisi a risoluzione variabile impossibili con le trasformate tradizionali L’approccio tradizionale alla analisi di un segnale 1-D f(t) ne prevede la rappresentazione mediante una somma pesata di funzioni di base: f(t) = Σi ciψi(t) Le funzioni di base sono fissate, una volta per tutte, dal tipo di trasformazione adoperata, per cui tutta l’informazione sul segnale è contenuta nei pesi, che sono i coefficienti della trasformazione stessa Per esempio, le funzioni di base sono funzioni trigonometriche complesse nel caso della trasformata di Fourier, trigonometriche reali per la DCT, etc. Visione artificiale 08/09 Multirisoluzione 10 La trasformata wavelet y0(n) h0(n) 2↓ 2↑ Sintesi Analisi x(n) h1(n) g0(n) 2↓ 2↑ y1(n) g1(n) + ^ x(n) h0 passa basso h1 passa alto |H1(ω)| |H0(ω)| ω 0 Visione artificiale 08/09 π/2 π Multirisoluzione 11 La trasformata wavelet Visione artificiale 08/09 Multirisoluzione 14 La trasformata wavelet Visione artificiale 08/09 Multirisoluzione 15 Esempio: rilevamento di contorni Visione artificiale 08/09 Multirisoluzione 16 Trasformata di Haar a b A B A=(a+b)/2 (è una media, un filtro passa basso) B=(b-a)/2 (è un filtro differenziale, un filtro passa alto) Ricostruzione a=A-B Ho riottenuto esattamente i valori di partenza b=A+B Visione artificiale 08/09 Multirisoluzione 17 Trasformata di Haar Trasformata Ricostruzione Il numero di operazioni è proporzionale al numero di campioni Non è necessaria memoria oltre a quella iniziale (numero di campioni) Visione artificiale 08/09 Multirisoluzione 18 Trasformata di Haar Primo livello Secondo livello Terzo livello N N N + + + ... + 2 < 2 N 2 4 In due dimensione il numero di operazioni raddoppia Quarto livello Visione artificiale 08/09 Multirisoluzione 19 Trasformata di Haar Visione artificiale 08/09 Multirisoluzione 20 Compressione Visione artificiale 08/09 Codifica senza perdite (lossless) Decodifica Codifica con perdite (lossy) Decodifica Multirisoluzione 21 Codifica senza perdite Perché si può comprimere? I valori non hanno la stessa frequenza I valori sono correlati fra di loro Visione artificiale 08/09 Multirisoluzione 22 Codifica run-length • • Si sostituiscono valori ripetuti, con la loro moltiplicità 0000001100011111… 0 6 2 3 5 … Visione artificiale 08/09 Multirisoluzione 23 Codifica a lunghezza variabile Simboli Frequenza Codifica standard VL Bit necessari A 70% 00 0 0.7 B 20% 01 10 0.4 C 5% 10 110 0.15 D 5% 11 111 0.15 Totale Visione artificiale 08/09 1.4 Multirisoluzione 24 Codice di Huffman Sorgente Passi 1.00 Simbolo Prob. 1 2 3 4 B 0.35 0.35 0.35 0.35 0.65 F 0.30 0.30 0.30 0.35 0.35 A 0.10 0.15 0.20 0.30 D 0.10 0.10 0.15 C 0.08 0.10 E 0.07 L’algoritmo di Huffman permette di ricavare il codice VL ottimo, che minimizza il numero di bit necessari 00 000 0.65 0.10 Multirisoluzione 0.35 0.35 0.15 0.10 0.08 0001 D 0010 C 1B 01 F 0.30 0.20 0000 A Visione artificiale 08/09 0 001 0.07 0011 E 25 Algoritmo Lempel-Ziv-Welch • • • Non richiede la conoscenza a priori della distribuzione di probabilità dei simboli dell’alfabeto È alla base di gzip, pkzip, winzip, compress … È coperto da brevetto Visione artificiale 08/09 Multirisoluzione 39 39 126 126 39 39 126 126 39 39 126 126 39 39 126 126 Immagine di test 26 Codifica con perdite Perché si può comprimere? Il sistema visivo non riesce a percepire piccole differenze Discorso analogo per il segnale audio (codifica percettiva) MP3 Visione artificiale 08/09 Multirisoluzione 27 Il JPEG Standard La sequenza di operazioni del JPEG Preparazione del blocco Trasformata coseno discreta Quantizzazione differenziale Visione artificiale 08/09 Quantizazione Codifica Run-length Multirisoluzione Codifica statistica 28 JPEG– Preparazione dei blocchi 16x16 16x16 16x16 16x16 8x8 8x8 R G B Y Cb Cr YCbCr 4:2:0 Cr ∝ R – Y Cb ∝ B - Y Visione artificiale 08/09 Multirisoluzione 29 Trasformata coseno •Trasformata di Fourier • periodicità implicita • vi sono discontinuità ai bordi •Trasformata coseno • non vi sono discontinuità Visione artificiale 08/09 Multirisoluzione 30 JPEG – Trasformata coseno discreta (DTC) Riordino dei dati Visione artificiale 08/09 Multirisoluzione 31 JPEG 128x192 RGB 72.0 K qualità 80% 6.4 K qualità 40% 3.1 K Visione artificiale 08/09 qualità 20% 2.0 K Multirisoluzione qualità 60% 4.2 K qualità 5% 0.8 K 32 Compressione lossy Qualità percepita Visione artificiale 08/09 Spazio richiesto Multirisoluzione Potenza di calcolo richiesta 33 Prestazioni medie JPEG Immagini fotografiche a colori Compressione qualità percepita 64:1 da scarsa a buona 32:1 da buona a molto buona 24:1 da molto buona a eccellente 12:1 da eccellente a indistinguibile oltre 8:1 Visione artificiale 08/09 indistinguibile Multirisoluzione 34 Il futuro: JPEG2000 • • • • basato non su DCT, ma su WAVELET migliori prestazioni a forte compressione possibilità di definire regioni di interesse (ROI) visione multirisoluzione Visione artificiale 08/09 Multirisoluzione 35 Compressione video: solo JPEG Codifica JPEG compressione insufficiente: non viene sfruttata la ridondanza temporale: frame consecutivi sono spesso molto simili fra loro Visione artificiale 08/09 Multirisoluzione 36 Lo standard MPEG Sincronizzazione di audio e video in MPEG-1. Codifica audio Clock Multiplexer MPEG - 1 Codifica video Visione artificiale 08/09 Multirisoluzione 37 Tipi di frame • I-frame immagini complete (come se fossero JPEG) • P-frame ricavabili da frame precedenti opportunamente modificati • B-frame possono dipendere sia da frame precedenti, sia da frame successivi (predizione bidirezionale) • D-frame per l’avanzamento veloce (componente a frequenza 0) P B Visione artificiale 08/09 B I B B Multirisoluzione P B B I 38 Predizione temporale I-frame Visione artificiale 08/09 P-frame Multirisoluzione 39 Compressione video MPEG = Moving Picture Experts Group (www.mpeg.org) Evoluzione: MPEG-1 permettere video da CD-ROM (circa 1.2 Mbps) MPEG-2 video di grandi dimensioni per HDTV MPEG-4 trasmissione su mezzi a bassa banda (< 64Kbps) MPEG-7 descrizione ad alto livello dei contenuti MPEG-21 futuro Visione artificiale 08/09 Multirisoluzione 40 Livelli MPEG • • Low level: 352 x 288 – 4Mb/s Main level: 720 x 576 – 15Mb/s – • • Standard televisivo (HD Ready 1280 x 720) High 1440: 1440 x 1152 – 60Mb/s High level: 1920 x 1080: – 80Mb/s – Full HD Visione artificiale 08/09 Multirisoluzione 41