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