appunti del corso di sistemi multimediali smu 2012.pdf · anche luomo fa parte del si sistema: ......

172
Appunti del corso di Sistemi Multimediali (2011/2012) A cura di Fabio Canigliula

Upload: doliem

Post on 18-Feb-2019

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

Appunti del corso di Sistemi Multimediali

(2011/2012)

A cura di Fabio Canigliula

Page 2: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

1

INDICE DEI CONTENUTI

1. INTRODUZIONE ................................................................................................ 4

1.1. Definizioni sulla Multimedialità ................................................................................... 4

1.2. Processi Comunicativi ................................................................................................. 5

2. WEB SEMANTICO ............................................................................................. 8

2.1. Evoluzione del WEB .................................................................................................... 8

2.2. Accesso alle Informazioni WEB ................................................................................... 9

2.3. WEB Semantico ......................................................................................................... 10

2.4. Ontologia Testuale .................................................................................................... 12

3. IMAGE DATA .................................................................................................. 14

3.1. Immagini ................................................................................................................... 14

3.2. Formati Immagini ...................................................................................................... 15

4. COLORS .......................................................................................................... 26

4.1. Human Vision ............................................................................................................ 26

4.2. Caratteristiche Percettiva del Colore ........................................................................ 28

4.3. Standardizzazione della Cromacità .......................................................................... 30

5. IMAGE PROCESSING ....................................................................................... 39

5.1. Fondamenti di Image Processing .............................................................................. 39

5.2. Metodi di Elaborazione nel Dominio Spaziale .......................................................... 40

5.3. Elaborazione Punto-Punto (Point-Processing) .......................................................... 40

5.4. Histogram Processing ................................................................................................ 48

5.5. Spatial Filtering .......................................................................................................... 49

5.6. Smoothing Spatial Filters ........................................................................................... 51

5.7. Utilizzi dello Smoothing ............................................................................................. 53

5.8. Sharpening Spatial Filters .......................................................................................... 55

Page 3: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

2

6. MULTIMEDIA FEATURES ................................................................................. 59

6.1. Features and Metrics ................................................................................................. 59

6.2. Features Selection ...................................................................................................... 63

6.3. Principal Component Analysis (PCA) ......................................................................... 66

6.4. Fattorizzazione SVD ................................................................................................... 68

6.5. Algoritmo PCA ............................................................................................................ 69

6.6. Compattezza di un Database .................................................................................... 72

7. VISUAL INFORMATION RETRIEVAL ................................................................. 73

7.1. Visual Information Retrieval (VIR) ............................................................................. 73

7.2. Query Remastered .................................................................................................... 75

7.3. Features Extraction ................................................................................................... 77

7.4. Difference of Gaussian Filters (DoG) ......................................................................... 78

7.5. Wavelet Transform .................................................................................................... 79

7.6. Image Features ........................................................................................................... 82

7.7. Scale Invariant Feature Transform (SIFS) .................................................................. 85

7.8. Precision and Recall ................................................................................................... 88

8. COMPRESSIONE ............................................................................................. 89

8.1. Video Basics .............................................................................................................. 89

8.2. Audio Basics ............................................................................................................... 91

8.3. Multimedia Data Compression .................................................................................. 93

8.4. Lossless Compression ................................................................................................. 97

8.5. Lossy Compression ..................................................................................................... 97

8.6. Image Compression ................................................................................................. 100

8.7. Video Compression ................................................................................................. 103

9. INDICI ............................................................................................................ 109

9.1. Database Multimediali (Cenni Introduttivi) ............................................................ 109

9.2. Indici Multimediali .................................................................................................. 110

9.3. K-D Tree ................................................................................................................... 112

Page 4: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

3

9.4. Point-Quad Tree (PQT) ............................................................................................ 117

9.5. R-Tree ...................................................................................................................... 125

10. DATABASE MULTIMEDIALI ........................................................................... 130

10.1. Multimedia Database .............................................................................................. 130

10.2. Oracle Intermedia .................................................................................................... 133

11. INTRODUZIONE A XML ................................................................................ 139

11.1. Introduzione a XML ................................................................................................. 139

11.2. SMIL ......................................................................................................................... 142

12. VIDEOSORVEGLIANZA .................................................................................. 150

12.1. Sistemi di Videosorveglianza ................................................................................... 150

12.2. Image Processing System (IPS) ................................................................................ 152

12.3. Finding Unexplained Activities ................................................................................ 154

13. COMPUTER GRAPHICS .................................................................................. 158

13.1. Introduzione alla Computer Graphics ..................................................................... 158

13.2. Paradigmi per la Sintesi di Immagini 3D .................................................................. 159

14. GESTIONE DEL TESTO .................................................................................... 162

14.1. Trattamento Automatico del Testo ......................................................................... 162

14.2. Formalizzazione del Dominio .................................................................................. 164

14.3. Natural Language Processing (NLP) .......................................................................... 168

Page 5: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

4

CAPITOLO I - INTRODUZIONE

1. DEFINIZIONI SULLA MULTIMEDIALITA’

In ambito informatico il termine multimedia indica la collaborazione ed interazione tra multiple

sorgenti eterogenee (testo, immagini, suoni, video, grafica, etc.) al fine di perseguire il

completamento/adempimento di un task comune.

Un sistema multimediale è un insieme di applicazioni integrate (tra loro in comunicazione) che

risolvono un task tramite la loro stretta collaborazione ed interazione. Anche l’uomo fa parte del si

sistema: si configura come un elemento attivo capace di generare utili feedback (human in the

loop). L’interattività è quindi un aspetto cruciale per un sistema multimediale, il quale,

configurandosi come un firmware, va a rappresentare una descrizione di un aspetto della nostra

vita. Un semplice PC sarà quindi solo un accessorio multimediale, ma da solo non può

rappresentare un sistema multimediale.

Il multimedia computing, ossia lo sviluppo di sistemi multimediali, è un processo multidisciplinare

che abbraccia più settori dell’informatica e della tecnologia:

- Computer Networks and Operating Sistems.

- Computer Graphics (inverso della computer vision, si creano grafiche dal digitale

direttamente).

- Image, audio and image processing.

- Data compression.

- Computer Vision (simulazione caratteristiche visive umane. Ex: videosorveglianza.)

- HCI (human/computer interface, per l’interazione uomo macchina).

I principali problemi riguardo il trattamento di materiale multimediale, riguardano soprattutto le

dimensioni che un file multimediale presenta: siccome queste sono molto elevate, si devono

ottimizzare tutti quelli che sono i processi di analisi, visualizzazione, trasmissione e quindi

compressione di materiale multimediale.

Nella piramide di sviluppo di un sistema multimediale, la figura dell’ingegnere è essenziale siccome

po’ ottimizzare quelli che sono aspetti tecnici importantissimi:

- Struttura del sistema: la trasmissione deve avvenire in modo che non venga intasata la

banda e che non vi sia perdita di informazione a causa di una cattiva gestione dei flussi di

trasmissione.

- Sincronizzazione delle applicazioni: tramite script specifici devono essere sincronizzati tuti

gli aspetti di un sistema multimediale. Se si vuole ad esempio eseguire una presentazione

che alterna audio, video ed immagini si deve far in modo che quando parti il video, l’audio

Page 6: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

5

sia sincrono allo sviluppo del contenuto e che non vi siano immagini estranee che

blocchino il tutto.

- Recupero e protezione delle informazioni.

Per information retrieval si intende la capacità di riconoscere quindi trovare informazioni da un

contenuto. Una ricerca può essere fatta per trovare testo, immagini, video ma anche cose più

astratte come azioni sospette, posture, e linee di pensiero. Basti pensare ad un sistema di

videosorveglianza che monitora attivamente un luogo chiuso nel caso siano presenti dei ladri in

azione: Il riconoscimento degli oggetti indicherà al sistema che sono presenti degli umani nel

campo visivo ed in analisi della videocamera. Il riconoscimento delle azioni potrà analizzare le

azioni che questi figuri stanno compiendo: sarà plausibile considerare sospetto l’azione di frugare

in armadi e nelle camere ad un certo orario nella notte. Il sistema quindi, riconoscerà l’azione e la

postura sospetta dei malfattori e si metterà in azione per avvertire chi di dovere: polizia con una

segnalazione tramite mail o messaggistica non istantanea, e il proprietario del bene tramite un

messaggio sul cellulare. Un altro esempio può essere fornito dai motori di ricerca che, in base alla

parola inserita per la ricerca, possono fornire in risposta non solo altro testo, siti o riferimenti, ma

anche immagini, video e altri sistemi multimediali. Una ricerca più accurata, come il colore di un

immagine o il suono ad una certa frequenza in un file audio possono essere effettuate per il

riconoscimento di azioni belliche, sanitarie o anche economiche. Insomma, la possibilità di

reperire informazioni da contenuti di ogni tipo è certamente un carattere critico di un sistema

multimediale.

2. PROCESSI COMUNICATIVI

Un processo comunicativo è una situazione in cui un mittente si accorda con un destinatario per lo

scambio di un messaggio, tramite un protocollo prestabilito:

SENDER ENCODING CHANNEL (noise) RECEIVER DECODING FEEDBACK

La comunicazione può avvenire in maniera fisica o virtuale, in maniera sincrona o asincrona. Il

messaggio dovrà essere compreso sia dal mittente che dal ricevente. Per averne una corretta

interpretazione, questi dovranno avere lo stesso punto di vista, interpretazione e linguaggio. Un

messaggio sarà composto da uno o più segni. Un segno veicola un significato: è qualcosa che

significa qualcos’altro per qualcuno. Tramite l’interpretazione, si possono assegnare più significati

diversi ad un segno: un mazzo di fiori può rappresentare un dono e non semplicemente un mazzo

di fiori. Il segno va a quindi a stimolare l’idea con cui esso viene associato, idea comprensibile solo

se presente in un contesto di conoscenza collettiva.

La semiotica è la scienza dello studio dei segni e dei loro significati. Un segno nella semiotica è

rappresentato da una coppia di entità tra loro inscindibili:

Page 7: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

6

- Significante: è il modo con cui esprimo il segno (testo, figura, video).

- Significato: è il concetto che esprime.

Un segno può essere anche considerato come un’entità astratta, luogo di incontro tra elementi

mutuamente indipendenti. I segni si configurano quindi come elementi provvisori di regole di

codifica, rappresentando delle correlazioni transitorie tra significante e significato. In un sistema

multimediale la semiotica e l’utilizzo dei segni è essenziale per far pervenire messaggi e significati

all’utente. Il collante che mantiene salde le relazioni tra un qualsiasi sistema multimediale e la

nostra realtà è proprio l’utilizzo dei segni. Basti pensare a sistemi commerciali, pubblicitari o di

informazione: i segni vanno a racchiudere dei significati, spesso anche complessi, semplicemente

attraverso immagini, descrizioni e video. L’importanza del segno è enfatizzata in quelli che sono il

Web 2.0 e Web 3.0, dove la connessione e la comunicazione rivestono un ruolo essenziale. Qui i

segni posso essere intesi come connessioni tra la singola persona ed il sistema, ma anche tra più

persone tramite lo stesso sistema, tutto grazie all’utilizzo dei segni e del loro carico significativo.

La semantica è la scienza dello studio dei significati e si trova ad un livello subito superiore alla

semiotica.

Semiotica → Semantica

Semantica → Oggetti Fisici

Oggetti Fisici → Semiotica

(con a, b, c Messaggi)

Il media è il mezzo con cui il messaggio viene

trasmesso. Un media può essere statico (scolpiti,

irremovibili) o dinamico (siti web, social networks, in

costante cambiamento); interattivo (human in the loop) o non interattivo.

Con lo sviluppo delle applicazioni multimediali, è stato necessario introdurre il concetto di

Hypertesto: è possibile navigare attraverso più contenuti testuali (chunks) attraverso quelli che

sono dei collegamenti (hotspots) i quali permettono di accedere a contenuti diversi in maniera

concatenata, fornendo così una vera e propria funzionalità di browsing dei contenuti. L’accesso

alle informazioni diventa quindi dinamico, e, nel caso di applicazioni tipo Wikipedia, anche

interattivo. L’Hypermedia segue lo stesso principio, ma i contenuti non sono solo testuali: audio,

video, grafica, etc. Un esempio lampante di hypermedia è fornito dal Wold Wide Web:

standardizzato dal W3C (WWW Consorzio) , esso deve fornire e assicurare:

- Accesso universale alle risorse web da tutti ovunque.

- Capacità di navigazione attraverso tutti i contenuti.

- Uso responsabile dei contenuti.

Il Browser è stato il primo interprete nelle reti. L’interprete è una macchina virtuale che esegue

codice sorgente come se fosse il suo linguaggio macchina. Il compilatore è colui che genera codice

Page 8: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

7

sorgente, traducendolo in linguaggio macchina. I linguaggi presenti nel WWW hanno seguito una

precisa evoluzione durante la loro storia:

SGML HTML XML SMIL

Dallo Standard Generalized Markup Language, si è passati al HyperText Markup Language, il quale

utilizza marcatori per descrivere come viene rappresentato il testo e hotspots (come fossero links)

per poter offrire una navigazione nei contenuti. L’Exensible Markup Language permette di definire

linguaggi di markup, spesso si utilizzano DTD (Document Type Definition) già composti per poerne

seguire le regole di generazione del codice XML. Da esso deriva lo Synchronized Multimedia

Integration Language, che offre la possibilità di effettuare presentazioni multimediali attraverso

un linguaggio con marcatori.

L’interattività fornita dall’hypertesto, hypermedia e da tutti gli strumenti che da essi derivano

(linguaggi xml etc.) è essenziale ed importantissima al fine dei sistemi multimediali. L’interattività

coinvolge quella che è la figura dell’uomo all’interno del sistema (man in the loop) come entità il

cui feedback è essenziale per il corretto funzionamento ed arricchimento del sistema. Inoltre è

ovvio che molti sistemi nascono proprio per essere interattivi, quindi indirizzati a ricevere inputs

ed elargire outputs a seconda delle necessità che si incontrano. Un sistema multimediale può

anche non essere interattivo.

Page 9: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

8

CAPITOLO II – WEB SEMANTICO

1. EVOLUZIONE DEL WEB

Web 1.0

È il web della digitalizzazione delle informazioni: iniziano ad essere portate staticamente le

informazioni sul web, attraverso siti di giornalismo, musica e film. I siti web cominciano ad essere

multimediali: si inizia ad usare l’hypermedialità e a sviluppare delle applicazioni web. Nacquero in

questo periodo infatti le prime applicazioni commerciali, andando così a rivoluzionare quello che

era il mondo del marketing.

Il cardine di questo web sono i contenuti, i quali vengono condivisi con facilità e scalabilità.

Web 2.0

Con lo sviluppo dei linguaggi di Markup e delle applicazioni, si è raggiunto un nuovo livello di web.

HTML è stato il punto di partenza per lo sviluppo delle applicazioni web recenti, ed il suo

successore XML ha permesso che i contenuti fossero gestiti come veri e propri dati.

La parola chiave del web 2.0 è Cooperazione (linking people): nasce il social networking. Ogni

utente può partecipare attivamente e interattivamente alla creazione di nuovi contenuti

multimediali (Youtube, Facebook, Myspace, Wikipedia, etc.). Tali contenuti non saranno più statici

come nella precedente versione del web, bensì dinamici e soggetti a continui aggiornamenti,

apportati anche dalla stessa comunità di utenza (social community). Il web moderno è quindi

creato proprio da noi stessi.

Nel web 2.0 nasce un nuovo modo di progettare sistemi informativi: tramite i SOA (Service-

Oriented Architecture) è possibile intrecciare più servizi eterogenei sotto un unico sistema, allo

scopo di fornire più funzionalità e più integrazione per uno scopo comune. I SOA non definiscono

delle API, e strutturano la loro interfaccia in termini di protocolli e funzionalità. Un altro modo per

integrare più applicazioni sono i Mashup: si integrano diversi siti ed i rispettivi servizi (e dati)

tramite delle API (fornite dalle case produttrici dei servizi che voglio integrare), garantendo così la

comunicabilità e le funzionalità cross site (ex: inserimento di google map in siti web).

Page 10: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

9

Web 3.0

Rappresenta l’evoluzione del concetto di condivisione: si integrano strettamente tutti i dati di

internet, immaginando il web sempre più come un enorme ed unico database. Per poter integrare

questa moltitudine di dati si devono comunque seguire delle regole precise di comunicazione e

condivisione. Le fonti dei vari contenuti saranno comunque eterogenee ed apparterranno a diversi

proprietari: anche se si raggiungesse la situazione in cui vi sia un unico database generale non si

avrà comunque la figura di un solo proprietario.

Nel web 3.0 la connessione alla rete e all’eventuale database generale, non è limitata più ai soli

computers ma si estende ad oggetti di uso comune, come auto, pullman, lavatrici, telefonini, etc.

Si è introdotto il concetto di Smartcity, ossia di una città completamente informatizzata ed

intelligente, dove ogni cellula è connessa ad un'unica rete: basti pensare ad un pullman che arriva

alla fermata che si vuole prendere con cui è possibile comunicare tramite mail o sms e che avvisa

quanto manco prima che passi. Anche la Domotica si è ampiamente sviluppata verso il web 3.0: le

case più moderne e tecnologiche presentano dei sistemi di controllo e di gestione delle

funzionalità domestiche completamente gestite da applicazioni, addirittura connessi in rete. Si

pensi ad un antifurto intelligente, che, qual ora dovesse attivarsi, manderebbe dei messaggi sia

alla polizia che al proprietario della casa in tempo reale., oppure allo stesso proprietario che può

attivare o disattivare l’antifurto tramite il suo cellulare o tramite internet. Inoltre si deve tener

conto del costante sviluppo dei sistemi GIS (Geographic Information Systems) che permettono la

condivisione in tempo reale di informazioni relative al territorio.

Per le caratteristiche intrinseche di queste applicazioni intelligenti, il Cloud Computing sarà il

futuro per la gestione di questi enormi database e per la connettività di massa.

2. ACCESSO ALLE INFORMAZIONI WEB

La ricerca di contenuti sul web è oggi incentrata su quelli che sono i motori di ricerca. Tali motori

presentano limitazioni legate agli algoritmi che sono utilizzati per effettuare il matching del

contento ricercato e quelli trovati. Si tratta di information retrieval, che si differenzia da una query

per il fatto che il risultato della ricerca può non essere esatto.

La Ricerca Puramente Sintattica consiste nel digitare una parola chiave e ricevere come risultati

tutti i match nei titoli e nei contenuti dei file che il motore ha trovato sul web. Tale ricerca è di per

sé ambigua, siccome può ritornare contenuti che spaziano tra svariate semantiche, quindi fuori dal

tema di ricerca. Negli ultimi anni, Google si è affidato al Page Ranking: vengono proposti come

risultati quei siti dove vi è il più alto tasso di popolazione e dove è stato effettuato più di un

riscontro. Così si può offrire una certezza ‘virtuale’ sulla correttezza del contenuto presentato in

risposta.

Page 11: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

10

La Ricerca Semantica consiste invece nella ricerca di contenuti per semantica e quindi per un

significato più generale e non strettamente legato a quello sintattico della parola. Se si esegue una

ricerca su Google facendo precedere alla parola da cercare una ‘tilde’, si chiede di effettuare una

ricerca semantica e non sintattica: si vogliono quindi tutti quei siti dove si parla di della parola che

si è cercata, indipendentemente dalla lingua del sito, dal contesto sintattico e dai match non

corretti. Una ricerca del genere può essere molto importante per circostanze di spionaggio

(intelligence) o di studio della popolazione: tramite le OSA (Open Source Analysis), ossia delle

analisi su siti di dominio pubblico (social networks, blogs, etc.), è possibile raccogliere informazioni

semantiche su di un topic particolare, facendo ricerche tramite metafore o giochi di parole, per

individuare linee di pensiero piuttosto che semplici riscontri tra parole. Tale ricerca può essere

effettuata anche per immagini, suoni e video, andando ad analizzare quelli che sono gli oggetti

rappresentati, il contesto in cui sono presentati e eventuali modifiche.

3. WEB SEMANTICO

Wikipedia fornisce una prima definizione di web semantico: “Con il termine web semantico si

intende la trasformazione del web: è possibile pubblicare non più solo documenti ma anche

informazioni relativi ai documenti stessi (metadati).” Un Metadato è un dato che serve per

descrivere un altro dato: il suo valore è il descrittore di un altro dato. Si può quindi pensare ad una

rappresentazione del web che sia riconoscibile dalle macchine: è possibile una comunicazione

tramite protocolli tra più macchine le quali discutono sui contenuti che condividono. Una

macchina legge il metadato di un contenuto condiviso da un’altra macchina e ne comprende e

elabora il contesto. Tale meccanismo è estendibile anche a contenuti di tipologia multimediale.

L’insieme di tutte le regole di comunicazione e di elaborazione dei contenuti si muove verso il

raggiungimento di uno standard che però non è ancora stato raggiunto.

Il W3C offre un’altra definizione per web semantico: ”the semantic web is a web of data. There is

lots of data we all use every day, and it’s not part of the web”. Il dato quindi è considerato come

qualcosa che può anche non trovarsi sul web. Il web semantico deve allora configurarsi come:

- Un Formato Comune per combinare ed integrare i dati (protocollo/standard).

- Un linguaggio per registrare come un dato di rifà agli oggetti del mondo reale.

L’evoluzione del web dipende anche dai contenuti che esso offre: nell’ambiente web si

configurano due tipologie di utente. Il Produttore è colui che vede al web come un contenitore di

informazioni che può essere riempito, mentre il Consumatore lo vede come un insieme di

contenuti che possono essere estrapolati. Il web vive sull’equilibrio di queste due figure, e tutte le

applicazioni moderne sono strutturate in modo che queste due entità siano in equilibrio tra loro.

Nell’ambito dei dati e della costruzione di database, sarebbe impensabile riscrivere a mano tutti

quelli che sono i contenuti del web attuale in formato del web semantico. È quindi necessario un

Page 12: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

11

qualche meccanismo di elaborazione automatizzato dei dati. Per ottenere tale risultato sono

necessari:

- Identificatori non ambigui che permettano una associazione tra dati ed oggetti reali [URI:

Unique Resource Identificator]. Tali identificatori saranno riferiti anche a cosa fisiche,

semantiche e concetti (forma, colori, idee, etc. un po’ come un IP).

- Un modello comune per i dati, in modo da accedere, connettere e descrivere tali oggetti.

[RDF: resource description framework].

- Un linguaggio per accedere a tali modelli dei dati [SPARQL: Simple Protocol And RDF Query

Language].

- Un vocabolario comune [OWL: Onthology Web Language].

- Una logica per il ragionamento, in grado di dedurre dei dati da altri presenti nel database

[OWL, RULES].

Lo sviluppo del web semantico procede a livelli, così che possa ottenere consenso a piccoli passi.

UNICODE: serve per determinare e gestire le URI.

XML: basato su URI e Unicode. Un documento XML è autodescrittivo ed utilizza un vocabolario

definito dall’utente.

RDF: è il modello base per i dati che si traduce in un linguaggio a se stante. È basato su XML.

RDF Schema: mette a disposizione primitive per la gestione di dati, descritti in RDF, in gerarchie.

Page 13: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

12

OWL: livello delle ontologie. Sono descrizioni di conoscenze condivise. L’ontologia è la descrizione

di una conoscenza che permette la condivisione del contenuto. Sostituiscono il metadato classico,

in maniera più precisa e completa, al fine di descrivere l’oggetto.

LOGICA: stato di programmazione avanzato che permette di effettuare il reasoning, ossia dedurre

informazioni da altre informazioni. Un esempio ne è l’intelligenza artificiale.

PROVA: permette di realizzare dei processi deduttivi e di realizzare dimostrazioni di prova dei

livelli sottostanti.

FIDUCIA: permette di certificare la conoscenza, attraverso meccanismi come la firma digitale.

Non si confonda il web semantico con la ricerca semantica: sono entrambi complementari ma

agenti in sfere diverse. La ricerca semantica viene posta nell’ambito dell’information retrieval,

mentre il web semantico è un’astrazione di un’entità globale, quale quella del web strettamente

integrato.

4. ONTOLOGIA TESTUALE

XML struttura i dati in maniera gerarchica (padre e figlio), mentre RDF struttura i dati in maniera

semantica (soggetto, predicato, oggetto) più potente e salda di quella del xml. Entrambi questi

linguaggi utilizzano i Metadati, essenziali per la descrizione semantica dei dati. Esiste un

meccanismo di descrizione dei dati più efficiente e system-oriented, che è quello delle ontologie.

Partendo dalla definizione: L’ontologia è una specifica esplicita e formale (con i giusti mezzi) di

una concettualizzazione condivisa (metadati). [JT Gruber]. L’ontologia si preoccupa quindi solo

della descrizione delle cose ed il suo scopo non è quello di spiegare dei significati agli uomini, bensì

di descrivere concetti semantici alle macchine, tramite il linguaggio formale (e standard) OWL. Così

sarà possibile avere due apparecchi in comunicazione tra Italia e il Giappone, senza che vi siano

incongruenze sulla comprensione dell’argomento (ad esempio un discorso sulla pizza). Un punto

critico del OWL è l’autoapprendimento automatizzato delle macchine. L’ontologia oltre a dire “is

a” e “is part of”, definisce anche una regola logica per il dato (statement) e ne descrive le sue

relazioni gerarchiche. L’ontologia risulta essere autodescrittiva e può essere letta anche in senso

inverso a quello della sua istanza.

Esempio di ontologia:

( ) → ( ) ( ) → ( ) ( )

‘Mazzeo’ è un’istanza dell’ontologia che assegna a ‘Mazzeo’ delle caratteristiche di appartenenza

sia al gruppo “faculty” sia a quello “staff”.

Il modello entità-relazione avanzato è a tutti gli effetti un’ontologia.

Page 14: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

13

La costruzione di ontologie a livello di multimedialità presenta molti ostacoli. Primo tra tutti è

l’eventuale definizione di un criterio di classificazione di ontologie riguardanti un dato

multimediale. Per la complessità del dato, possono esservi associati molti concetti e quindi molte

associazioni possibili. Per poter ottenerne una corretta gestione si dovrebbe quindi standardizzare

tale descrizione. I linguaggi “orientati alle associazioni” come OWL, premono sulle relazioni più che

sulle entità tra oggetti, questo in direzione delle caratteristiche principali del web semantico il

quale sembra più concentrato sulla interpretazione e sulle relazioni tra oggetti che sugli oggetti

stessi. W3C sta cercando di arrivare ad un punto di stabilità riguardo tale argomento, ma vi sono

così tante possibilità e difficoltà che il processo richiederà un lavoro enorme da parte di tutti, noi

compresi.

Una comparazione tra oggetti multimediali in chiave di ontologie, può essere pensata come un

confronto statistico sui metadati che sono associati all’informazione considerata: associare

interpretazioni ad una immagine, ne può arricchire la descrizione in base a quelli che possono

essere più feedback, trattati in chiave statistica, pervenuti dagli stessi utenti. In base a tali dati

statistici raccolti, può essere possibile andare poi a stimare una chiave di lettura (tipo page

ranking) che guidi l’associazione che una macchina può effettuare sul dato in questione.

Page 15: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

14

CAPITOLO III – IMAGE DATA

I formati su cui si lavora con dati multimediali sono tantissimi.

File Import File Export Native

IMAGE PALETTE SOUND VIDEO ANIMATION Image Video .DIR .DXR .EXE

.BMP .DIB

.GIF .JPG

.PICT .PNG

.PNT .PSD

.TGA .TIFF

.WMF

.PAL

.ACT .AIFF .AU .MP3 .WAV

.AVI

.MOV .DIR .FLA .FLC .GIF .PPT

.BMP .AVI .MOV

1. IMMAGINI

L’immagine è rappresentata da una funzione di due variabili:

( ) intensity

Dove e sono le coordinate del Pixel (Picture x ELement) e dove l’intensità è il livello di intensità

dell’immagine in quel pixel. L’intensità coincide con il livello di grigio, ossia una delle possibili

sfumature che vanno dal bianco al nero.

La funzione può restituire più valori, a seconda delle caratteristiche che si considerano relative

all’immagine. Per esempio i colori, in base al Modello dei Colori utilizzato:

( ) ( ) Modello RGB (Red, Green, Blue)

Un’immagine analogica è rappresentata da una funzione di due variabili continua: le vecchie

fotografie venivano stampate con funzioni continue.

Quando una funzione analogica viene discretizzata con

campionamento e quantizzazione, si avrà che ogni elemento

della serie discreta risultante in realtà corrisponde a delle

piccole regioni. Tali regioni rappresentano i pixel. Più sarà

efficiente il campionamento e più piccola sarà la regione del

pixel e quindi migliore sarà la risoluzione. Per un

campionamento teoricamente perfetto, si avrà che un pixel

sarà riconducibile ad un punto.

Page 16: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

15

Il valore dei pixel sono proporzionali all’energia/onda elettromagnetica irradiata dalla sorgente.

Quando una sorgente luminosa colpisce con un fascio di luce un oggetto, si genererà una

riflessione. Potrò quindi descrivere una nuova funzione in due variabili in funzione degli effetti di

tale riflessione:

( ) ( ) ( )

Dove ( ) , - è la funzione di illuminazione e ( ) , - è la funzione di

Riflessione. Dove è ilcodominio e è la cardinalità dei grigi.

Il sistema di imaging, trasforma il raggio riflesso direttamente in un formato digitale, quindi

quantizzato e campionato. La forma digitalizzata viene detta pixelizzazione dell’immagine. Se si

utilizza una digitalizzazione binaria (format per i bit), i livelli di grigio sono nient’altro che potenze

di due. Avrò quindi la corrispondenza tra pixel e bit: se K=0, avrò solo due colori associabili ad ogni

pixel. K di solito è un byte corrispondente a 256 livelli di grigio. Nelle applicazioni biomediche, si

arriva a 12 bit per pixel, ossia a 4096 livelli di grigio.

L’immagine digitalizzata è quindi una Matrice di Pixel: sull’asse orizzontale si effettua il

campionamento, mentre sull’asse verticale si effettua una quantizzazione. Tali procedure devono

essere effettuate in modo che siano compatibili e che non vi sia aliasing.

Con una buona digitalizzazione è possibile ottenere immagini con una altrettanta buona

risoluzione. La risoluzione è la capacità descrittiva di un pixel, che può essere intesa in due modi

differenti. La Risoluzione Spaziale è il numero di punti per pixel che si va a rappresentare, ossia

quanti pixel sono presenti nell’immagine a parità di dimensioni (DPI = dot per inch). Più punti per

inch si hanno, migliore è la risoluzione. La Risoluzione d’Intensità è il più piccolo cambio di livello

di intensità percepibile. Simile al concetto di sensibilità, viene utilizzato come metro di confronto

in situazioni in cui il numero di livelli per pixel è molto grande (elaborazione biomediche).

2. FORMATI IMMAGINI

Un file immagine presenta un campo di intestazione (header) come presentazione del contenuto,

in cui sono descritte tutte le caratteristiche dell’immagine: indicando a che punto del file inizia la

sequenza di bit rappresentanti l’immagine e come la matrice è disposta (successioni di righe o

successioni di colonne). Si possono quindi creare formati diversi a seconda delle modifiche in

questi campi di descrizione e di forma del file. Un formato è uno standard di caratteristiche per

una tipologia di file.

Page 17: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

16

Immagine disposta per successione di righe

1 Bit/Pixel Black and White Image.

Tali immagini sono rappresentate con un bit per pixel e quindi possono conferire al pixel solo due

livelli di grigio: Bianco o Nero. Per tale motivo sono anche dette immagini monocromatiche. Le

immagini monocromatiche sono spesso il risultato di un processo di una elaborazione: le mappe di

targetting dei missili, nell’individuazione del bersaglio, posizionano tanti 1 sulle coordinate

dell’obiettivo e tutti 0 sulle aree non interessate circostanti (detection), così da avere una idea

chiara del territorio necessario al raggiungimento del bersaglio, sfruttando anche il fatto che

un’immagine ad 1 Bit è molto leggera. Tali immagini possono essere affiancate ai file “.tiff”

(scanner files) per rappresentare dei file a seguito di una scansione.

8 Bit/Pixel Gray-Level Image.

Sono le classiche “immagini in bianco e nero”. In realtà queste immagini sono rappresentate con

ben 256 livelli di grigio che vanno dallo 0 (nero) al 255 (bianco) e tutte le possibili sfumature nel

mezzo (shadows). Siccome avrò che K=8, ogni pixel è rappresentato con un single byte. Ogni

shadow è rappresentabile con l’aggiunta o la

sottrazione di luminosità dai livelli limite. Le

immagini gray-level sono rappresentate da una

BITMAP (mappa dei bit), i cui valori sono i livelli di

grigio dei pixel (che possono andare da 0 a 255).

Una gray-image di dimensione 640x480, richiederà 300 kb di memoria:

bytes.

Con l’aumento dei livelli di grigio, si introduco delle problematiche relative alla omogeneizzazione

dell’immagine e al rumore.

Il rumore può essere riconosciuto nelle immagini quando vi sono delle incongruenze con la

rappresentazione. Nel caso dell’effetto “salt and pepper” si ha che, a causa del rumore, vi saranno

dei puntini neri sparsi in maniera random all’interno dell’immagine, andando così a conferirne una

Page 18: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

17

caratteristica maculata decisamente innaturale (anche durante delle scansioni si possono vedere

tali impurità).

L’omogeneizzazione riguarda il trattamento dei livelli di grigio di un’immagine, a seconda delle

caratteristiche, legate alla dimensione e alla risoluzione della stessa, che sono necessarie in un

dato contesto. La Segmentazione dell’immagine consiste nel dividere l’immagine in regioni

omogenee: se si hanno dei grigi molto vicini tra loro si portano tutti ad un livello comune. Tale

procedura da come risultato un’immagine più uniforme e quindi più affine ad una eventuale

compressione. La tessitura, invece, è la trama dell’immagine: la forma con cui il colore è disposto.

In questo caso i livelli di grigi sono essenziali e non posso quindi andare ad omogeneizzarli siccome

perderei informazione.

Se diminuisco i livelli di grigio rappresentabili, le immagini si rovinano, siccome viene stressata la

segmentazione dell’immagine: uniformando troppo i grigi si perdono i dettagli. Tali dettagli

possono essere essenziali per il detecting dei sistemi, come quelli biomedicali o di sicurezza

intelligente.

Importante è anche la visualizzazione delle immagini. Monitor comuni lavorano con 8 bit/pixel. In

immagini di tipo biomedicali in cui K=12+, nel processo di elaborazione, si andrebbero a diminuire i

livelli di grigio per poterli portare a risoluzioni minori, compatibili con quelle dell’apparato di

visualizzazione. Esistono tuttavia meccanismi per elaborare con 12 bit/pixel, per poi trasformare in

8 bit/pixel solo in fase di rappresentazione. Per migliorare le prestazioni di visualizzazione nel caso

di processi di enormi dimensioni (le visualizzazioni delle immagini biomedicali sono addirittura in

4D, dove la quarta dimensione è rappresentata dalla trasparenza dell’immagine, e quindi da una

sua evoluzione temporale) è bene utilizzare dell’hardware dedicato: un processore dedicato al

rendering e alla pura gestione dei contenuti di visualizzazione, migliorerebbe le prestazioni di un

sistema di questo genere.

La scheda video riveste un ruolo essenziale nel processo di visualizzazione. Il Frame Buffer è la

memoria buffer della scheda video, nella quale è memorizzata la BITMAP del file da visualizzare o

elaborare insieme a tutte le informazioni relative alla luminosità dei pixel e alla profondità dei

grigi. Se la memoria della scheda video è insufficiente per contenere tutte le informazioni ed i dati

relativi alla singola immagine o alle tante che si stanno visualizzando, allora si utilizzerà parte della

RAM come supporto. Un processore dedicato va a prendere le bitmap direttamente dal frame

buffer. Il Frame Grubber sono apparecchi che permettono di acquisire immagini in formato

digitale e trasportarle nel frame buffer.

le Bit Planes sono delle rappresentazioni di un’immagine a lastre sovrapposte di immagini a 1

bit/pixel. Nella visualizzazione, queste sono create in base alla cardinalità di grigi presenti

nell’immagine: in questo caso, si ha che ad una 8 bit/pixel gray-image corrisponderanno 8

immagini da 1 bit/pixel. Tali immagini sono create prendendo i bit dal più significativo al meno

significativo, e, seguendone l’ordine, avranno peso diverso nella approssimazione della figura. Ad

esempio, considerando un’immagine il cui valore in 8 bit è ( ) ( ) ,il 1° bit

Page 19: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

18

peserà 128, il 5° peserà 8 e il 7° solo 2. Tutti gli altri avranno contributi nulli. Ad ogni bit alto,

corrisponderà una rappresentazione ad 1 bit/pixel.

24 Bit/Pixel Color Image.

Utilizzando il modello RGB ogni pixel è rappresentato da 3 byte (uno per ogni canale): risultano

256x256x256 livelli di grigio (in questo caso colori). Molte immagini a 24 bit a colori sono

memorizzate in immagini da 32 bit, dove l’extra byte (alpha value) rappresenta informazioni di

effetti speciali, come la trasparenza dei pixel. Il formato Windows per tali immagini è “.bmp” ossia

BITMAP.

Una color image di dimensione 640x480, richiederà 921.6 kb di memoria:

bytes.

Page 20: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

19

I tre canali RGB possiedono caratteristiche diverse: il B scurisce l’immagine, R e G vi consegnano

chiarezza e dettagli. Tali canali possono essere molto importanti per il riconoscimento delle

ontologie e per la differenziazione dei dettagli. Per caratterizzare sinteticamente un’immagine di

questa fattura sono utilizzati in primo luogo gli Istogrammi.

L’istogramma traccia quante volte un

livello di grigio appare nell’immagine. Due

immagini simili hanno istogrammi simili,

ma non è detto che due istogrammi simili

siano corrispondenti a due immagini simili:

infatti si ha che anche due immagini

diverse possono avere istogrammi simili.

Per immagini a 24 bit/pixel, avrò 3

istogrammi, uno per ogni colore base.

8 Bit/Pixel Color Image.

Per la computer graphic (creazione di immagini dal calcolatore) o per immagini web-sized a bassa

risoluzione, sono utilizzabili delle immagini a colori rappresentate in 8 bit/pixel piuttosto che in 24

bit/pixel. La conversione dei avviene semplicemente usando un sottoinsieme finito di colori,

in questo caso proprio . I colori del sottoinsieme sono scelti in base alla loro importanza

nell’immagine, e sono quelli che riescono a descriverla con migliore qualità. Da queste

considerazioni di sottoinsieme nasce la Lookup Table (LUT): la bitmap (raw data) dell’immagine

non conterrà più i livelli di grigio dei colori, bensì degli indici. L’ indice di una cella della bitmap sarà

usato per accedere alla LUT (in questo caso avrà 256 indici). La LUT, una volta acceduta, farà

corrispondere all’indice un codice binario di 3 byte (caso modello RGB: ad ogni canale di colore è

associato un byte) , che identificherà l’intensità dei colori per il Pixel corrispondente alla posizione

della cella di partenza.

Page 21: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

20

Data un’immagine, cambiandone LUT, cambia totalmente la gamma dei colori. La tecnica della

LUT permette di comprimere l’immagine senza perdita. La perdita infatti non è nella fase di

trasformazione, bensì nella fase di creazione dell’immagine, già a bassa risoluzione (generate dal

calcolatore). La LUT è conservata con il file, associata all’immagine di cui è interprete.

È possibile ottenere un’immagine a 24 bit/pixel in un formato fedele a soli 8 bit/pixel? Esistono

due tecniche di conversione:

1) Scaling: si determinano degli intervalli per gli indici dei valori di intensità dei canali RGB per

diminuire la cardinalità di rappresentazione dei colori del pixel (shrinking). Nel caso

semplice di Scaling Uniforme, per conservare più dettagli, è possibile costruire delle

mappature orientate verso i canali RG, che consegnano chiarezza e dettaglio all’immagine,

piuttosto che B, che consegna solo gli scuri all’immagine. Si utilizzano pertanto degli

intervalli a 3 bit , - per i canali RG e solo di 2 bit , - per il canale B, per un totale di 8

bit. Per ridimensionare i canali, si dividono i range di R e G per 32 (=256/8) in modo da

ottenere 8 intervalli, in cui sono stati scalati 32 livelli di grigio. Per il canale B si dividerà il

range per 64 (=256/4) in modo da ottenere 4 intervalli in cui sono stati scalati 64 livelli di

grigio. In questo modo, potrò sostituire ai valori della bitmap gli indici della LUT

corrispondente, ottenendo così il ridimensionamento. Tale procedimento sebbene sia

semplice non è il migliore, siccome introduce della segmentazione che fonde colori vicini

creando effetti non piacevoli. In figura, si è considerato una LUT che viene riferita all’indice

25, considerando gli intervalli dei tre canali tra . Nella LUT, i canali RGB saranno

grandi 1 byte l’uno, ed i loro valori dipenderanno dal dispositivo che si utilizza.

E’ possibile utilizzare anche lo scaling sugli istogrammi, considerando proporzioni degli

intervalli più accurati, in base alla colorazione dell’immagine e alle necessità di

rappresentazione.

Page 22: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

21

2) Median-cut algorithm: Si considera l’insieme dei valori del canale R del pixel , - e ne

si stila l’istogramma. Di tale istogramma si considera la versione ordinata crescente dei

valori e si prende quello al centro dell’asse delle ascisse come valore di mediana. Ottenuta

la mediana, la si individua nell’istogramma (quello non ordinato) e la si considera come una

soglia: si farà corrispondere un bit posto a 0 a tutti i valori più piccoli della soglia, e un bit

posto a 1 a tutti i valori più grandi della soglia. Successivamente si trovano le mediane (con

lo stesso metodo utilizzato

per R) degli istogrammi dei

canali G corrispondenti agli

intervalli R-DX e R-SX e si fa

corrispondere un bit posto

a 0 ai valori sulla SX ed un

bit posto a 1 ai valori sulla

DX. Si ripete lo stesso

procedimento anche per il

canale B, ottenendo così

uno schema a 3 bit.

Ripetendo il procedimento

nuovamente per R,G e B ed

una terza volta per i soli R e

G, si ottiene uno schema a 8 bit, che tramite la LUT stabilirà una corrispondenza con la

rispettiva immagine a 24 bit/pixel. Con questo meccanismo, sebbene più pesante e

complesso del precedente, si sceglie in base all’importanza dei colori, ossia si concentrano i

bit li dove la popolazione di colori (si evince dagli istogrammi) avrà dei valori poco variabili

e dove quindi sarà necessaria una maggiore differenziazione per non perdere informazione

nel processo di trasformazione. Ogni immagine ha un suo meccanismo di mediana diverso

da un'altra.

GIF (Graphics Interchange Format)

È uno standard limitato alle sole 8 bit color images, per questo è

molto usato per la grafica, il disegno ed il web. Un file GIF, oltre a

supportare le LUT, può essere composto da più immagini (rasters:

immagini a scacchiera), legate tra loro dal formato e da semplici

caratteristiche di animazione. Esistono due formati di GIF: GIF87a,

il primo ad essere standardizzato, e GIF89a che supporta semplici

animazioni e controlli sulla trasparenza delle immagini. Il formato

(che fornisce descrizioni complete sulla composizione del file) del

GIF87, si presenta con una Signature di 6 byte, la quale ha il

compito di introdurre la tipologia del file: “questo è un file GIF”.

Page 23: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

22

Lo Sceen Descriptor è un insieme di 7 byte di flags,

comuni a tutte le immagini presenti nella GIF, che

vanno a descrivere le modalità di visualizzazione a

schermo. Screen Width e Screen Height

rappresentano gli indicatori di forma a video della

mia immagine. Il bit “m” è alto se è presente una

mappa dei colori globale, nullo altrimenti. I 3 bit

“cr” (Color Resolution) indicano all’hardware una

determinata risoluzione di colori. I 3 bit del campo

“Pixel” indica il numero di bit associati ad ogni pixel

nel file immagine in generale. Il byte di Background

indica il colore dello sfondo dell’immagine (tutto

ciò che non è immagine); se non specificato, il

background sarà assegnato dalla mappa dei colori

globale, altrimenti da quella di default.

La Global Color Map viene definita per essere la mappa

dei colori utilizzabile da ogni immagine, qualora queste

non possiedano una Local Color Map, relativa invece alla

singola immagine. Una Color Map indica i diversi colori

che si presentano all’interno della mappa dei valori

dell’immagine. La lunghezza della mappa è uguale a

come descritto nello Screen Descriptor.

Nel caso di animazioni, la GIF può

essere composta da più immagini.

Ogni immagine possiederà un

Descrittore di Immagine, che

indicherà le caratteristiche

principali di ogni immagine e anche

i relativi fps (frames per second). Le

Bitmap (raw data) di ogni

immagine saranno conservate

nelle Raster Area (compresse con

l’algoritmo LZW). Ogni immagine

possiederà quindi il proprio

descrittore, la propria raster area

e, se definita, la propria local color

map.

Page 24: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

23

JPEG (Joint Photographic Experts Group)

È lo standard attualmente più famoso per la compressione di immagini. Il suo punto di forza è che

sfrutta le proprietà di autocorrezione delle distorsioni della vista umana ed i suoi limiti. La

compressione può essere vista come una funzione di trasformata che data un’immagine ne

restituisce un’altra. Detta Y l’immagine e C la funzione di compressione:

( ) ( )

( )

Se anti trasformando l’immagine compressa non ottengo l’immagine di partenza, ho avuto della

perdita di informazione (lossy): questo è il caso di JPEG. Il JPEG fornisce la possibilità all’utente di

definire il rapporto di compressione (Q): maggiore è la compressione, peggiore sarà la qualità

dell’immagine. Q sarà scelto in base alle necessità e al futuro impiego dell’immagine. Per default

. La compressione di JPEG è molto semplice: tutti i valori di intensità dei pixel, sono

divisi per un numero intero grande, così che i valori piccoli sono portati a 0. Successivamente, si

applica uno schema che raccoglie tutte le file di zeri adiacenti e li rappresenta con pochi bit. Data

un’immagine Y compressa per il valore di Q default, avrò che la dimensione di Y’ sarà il 5.6% di Y.

La stessa immagine usata con GIF la ridurrebbe al 23%.

PNG (Portable Network Graphics)

Usato per il web, è in qualche modo un’estensione di GIF: supporta ben 48 bit di color information,

contro gli 8 del GIF. Può contenere altre informazioni riguardo le correzioni di gamma e la

trasparenza dell’alpha channel.

TIFF (Tagged Image File Format)

Formato classico delle scansioni, è un file immagine alla quale è associato un insieme di tags.

Siccome tali file sono generati da hardware, per conservare una buona flessibilità di

interpretazione del formato, si utilizzano tutti questi tags, tra cui il più importante è il format

signifier, che fornisce informazioni sul formato del file. Il TIFF può rappresentare molti tipi di

immagini (1-bit, 8-bit gray, 8-bit color, 24-bit RGB etc.) e, sebbene prima utilizzasse una tecnica di

compressione lossless, ora adopera un algoritmo Jpeg ottimale. Nel caso in cui la tipologia di

compressione sia differente, i tags forniranno informazioni sulla tecnica utilizzata.

EXIF (Exchange Image Files)

Formato immagine per le fotocamere digitali. Utilizza una tecnica di compressione JPEG baseline.

Gestisce una varietà di tags molto maggiore di TIFF, siccome l’acquisizione e la stampa

Page 25: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

24

dell’immagine è molto più complessa, siccome si deve tener conto dell’enviroment e di tutti gli

effetti d’ombra. Addizionalmente, EXIF gestisce anche tags audio, associati ad eventuali video.

PS (PostScript) and PDF (Portable Document Format)

Tutti i formati di immagini finora trattati seguivano una rappresentazione grafica Raster: le

immagini, rappresentate da pixels, si presentano come una grande matrice riempita di valori di

intensità o di indici associati ad una LUT. Esiste anche un’altra tipologia di rappresentazione: la

grafica Vector: le figure sono rappresentate da una serie di funzioni geometriche, che ne

modellano gli oggetti rappresentati mediante approssimazioni di tipo vettoriale. Ogni sezione

dell’immagine verrà riferita con una funzione, nella quale saranno espresse coordinate x e y,

colore e la forma geometrica da disegnare. L’immagine non si presenterà quindi come una bitmap,

bensì come una serie di istruzioni che, configurandosi come delle funzioni geometriche, vanno a

rappresentare il modo con cui l’immagine deve essere costruita (tipo AUTOCAD). La grafica Vector

diminuisce le dimensioni dei file, siccome con meno informazioni descrive tutte le componenti

che devono essere disegnate nell’immagine al fine di ricostruirla. La grafica Raster, invece, indica

uno ad uno tutti i punti con tutte le informazioni. La grafica Vector è un ambiente interpretato:

un esecutore deve leggere il file e disegnare l’immagine. Una grafica del genere è ottimale per

immagini di tipo geometrico e animazioni, siccome per le sue proprietà movimenti e squadrature

sono più semplici ed immediate da rappresentare (la risoluzione delle immagini non è delle

migliori: omogeneizzate). Per rappresentazioni ad alta risoluzione e precisione nel dettaglio, la

grafica Vettoriale risulta essere molto più onerosa, siccome il numero di funzioni che servono a

modellare in maniera perfetta tali immagini è spropositato, tanto che queste funzioni possono

essere approssimate ad una rappresentazione per punti. Risulta chiaro che, in una situazione del

genere, è preferibile di gran lunga la grafica Raster che evita la memorizzazione di tutte quelle

funzioni. Infine, la grafica Vector permette uno scalamento senza perdita delle immagini, a

differenza della pixelizzazione della grafica Raster.

Page 26: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

25

Il formato PS utilizza una grafica di rappresentazione Vector per i documenti: anche il testo viene

considerato come un agglomerato di vettori. Viene utilizzato soprattutto nell’ambito di stampe e

di fatti fornisce un metodo di stampa del file, piuttosto che una sua descrizione punto per punto.

La versione EPS (Encapsulated PostScript) è utilizzata per fornire ulteriori informazioni nel caso si

debba integrare un file PS in un altro documento. Il formato PS non definisce alcun tipo di

compressione e poteva essere poco performante nell’eventualità di rappresentazioni molto

complesse o di grandi dimensioni, per questo motivo l’Adobe Systems creò un nuovo standard

derivante dal PS: il PDF, il quale forniva ben due tecniche di compressione: la JPEG per le immagini

e la LZW per tutto ciò che non è immagine. Sia PDF che PS sono linguaggi di descrizione di

documenti, quindi i file da essi derivanti non possono(dovrebbero) essere modificati.

Page 27: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

26

CAPITOLO IV - COLORS

1. HUMAN VISION

La luce è un’onda elettromagnetica: a seconda della sua lunghezza d’onda si ha una tipologia

diversa di luce ed un colore. L’essere umano può percepire luci solo all’interno del campo delle

lunghezze d’onda visibili. La potenza di ogni frequenza delle onde visibili, viene rappresentata dalla

SPD (Spectral Power Distribution), indicata con ( ), in presenza della sola luce solare.

La visione umana funziona come una telecamera: la retina è il ricettore che permette di percepire

la luce ed i colori attraverso due celle specializzate: i coni (cones) e i bastoncelli (rods). Le rods

giocano un ruolo fondamentale per le immagini a livello di grigio, ossia quando la luminosità è

molto bassa. I cones si occupano invece della ricezione dei colori, ossia quando vi è sufficiente

luminosità: ogni cono produce un segnale che viene poi interpretato dal cervello, tale segnale è

molto sensibile alla luce rossa, verde e blu. È molto probabile che il cervello utilizzi solo delle

combinazioni (differenze) tra i tre colori, andandone così a generare degli altri: questi saranno

utilizzati per riconoscere gli oggetti. La rappresentazione dei colori sui calcolatori è quindi diversa

da come l’occhio umano li percepisce in realtà. Si può quindi utilizzare la conoscenza della

visualizzazione umana per creare metodologie di compressione sempre più furbe (JPEG) e di

trasmissione adeguate.

L’occhio è sensibile alla luce che si stanzia a metà dello spettro del visibile. La sensibilità dei

ricettori umani è in funzione della ricezione d’onda, ossia di come l’occhio è colpito e reagisce alle

luci che percepisce: una luce forte cattura l’attenzione a livello pre-attentivo. Il canale acromatico

prodotto dai cones è proporzionale a:

Tale relazione evidenzia la disparità di peso che ogni canale di colore ha nella percezione visiva:

l’occhio umano risulta essere maggiormente suscettibile ai canali R e G piuttosto che al B. Per

quanto concerne le rods, il loro modello di percezione è rappresentato sulla curva di efficienza

luminosa ( ), che indica la luminosità percepita (centrata più sulle frequenze del rosso).

Page 28: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

27

Rispetto ad ogni canale di colore, la risposta dell’occhio è proporzionale al numero di neuroni che

si accendono in base al segnale di stimolo che si riceve. È possibile quindi scrivere i colori percepiti

(spectral sensibility functions) come integrali tra la SPD per canale sul loro contributo del canale

acromatico:

∫ ( ) ( )

∫ ( ) ( )

∫ ( ) ( )

Dove ( ) ( ) ( ) componenti della funzione vettoriale ( ) , ( ) ( ) ( )- che

è la funzione di percezione dei coni.

La Formazione di un’Immagine quindi è data da: una sorgente luminosa con relativa SPD ( ), un

oggetto con proprietà riflessive ( )(funzione di riflettenza) e la funzione di filtraggio dei coni

oculari ( ). Il prodotto tra riflessione e SPD ( ) ( ) ( ) viene detto Segnale di Colore.

Posso quindi riscrivere le funzioni di sensibilità spettrale in funzione dell’oggetto riflettente:

∫ ( ) ( ) ( )

∫ ( ) ( ) ( )

∫ ( ) ( ) ( )

Il colore è una percezione soggettiva: ogni essere umano ha un contesto interpretativo che da un

valore diverso al colore che recepisce. Di fatti non esistono colori uniformi: a partire dallo stimolo

luminoso, si arriva a consegnare un valore semiotico al segnale ricevuto.

Luce (stimolo fisico)Sensazione PercezioneConcezione

Page 29: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

28

La non uniformità del colore può rappresentare un problema: a causa di ombre, eccessiva

luminosità o altri agenti di distorsione della forma d’onda, il colore può essere interpretato in

maniera ambigua. Tuttavia, grazie al fenomeno della costanza del colore, il cervello umano

interpreta ciò che vede attraverso ciò che conosce, associando i colori ad un concetto familiare,

come se fosse un’etichetta: un pallone rosso posto in penombra, che appare con un colore diverso

dal rosso puro, può essere riconosciuto come rosso anche se si percepisce una lunghezza d’onda

differente.

2. CARATTERISTICHE PERCETTIVE DEL COLORE

Gli attributi dei colori sono essenziali per offrirne una caratterizzazione quanto più univoca

possibile: nell’effettuare una query su un contenuto multimediale, non si può soltanto indirizzare

la richiesta con del testo, ma è necessario complicarla con delle informazioni relative a proprietà

comparabili delle immagini. Oltre a motivi di caratterizzazione, lo studio dei colori e delle loro

proprietà visive, può indicare metodologie di rappresentazioni delle immagini molto più efficaci:

riuscire ad ottenere immagini che catturano l’attenzione, visibili da tutti in modo chiaro, può

esaltare molte delle caratteristiche di un sistema multimediale.

La Tinta (Hue) rappresenta il colore puro, ossia il primo attributo del colore. La tinta identifica una

lunghezza d’onda dominante sulla parte visibile dello spettro elettromagnetico in cui è

concentrata energia luminosa (viola, verde, rosso, giallo, etc.), differentemente dai colori

Acromatici, che sono i colori dove non è concentrata la luce (bianco, nero e grigi). L’occhio umano

distingue 250 tinte diverse.

La Saturazione (Saturation) indica quanto è puro il colore. Il colore è saturo quando è puro. Tale

concetto è legato alla presenza di radiazioni di lunghezza d’onda diverse da quelle del colore puro,

dovute a colori secondari e/o a presenze di bianchi (rosso/rosa, blu/azzurro).

La Lunimosità (Lightness), o chiarezza, esprime la luminosità che il colore riesce ad irradiare

rispetto allo sfondo o altri oggetti. È una caratteristica relativa, da non confondere con la brillanza.

Page 30: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

29

La percezione della chiarezza dipende dalla posizione dei colori nel background: le tinte possono

apparire più luminose se lo sfondo è nero oppure più scure se lo sfondo è bianco. Quindi la

variazione del Contrasto, genera una differente percezione della tinta dei colori. L’occhio umano è

maggiormente sensibile ad un contrasto elevato.

La Brillanza (Brightness) esprime una proprietà assoluta di un colore: mentre la luminosità deriva

dalla riflessione in ambito relativo, la brillanza indica la quantità di luce che il colore sembra

emettere ed è una proprietà intrinseca all’oggetto riflettente.

Il Croma (Chroma) esprime la quantità relativa della componente cromatica di un’area rispetto a

quella bianca (pienezza), in rapporto alla brillantezza di un oggetto ugualmente illuminato che

appare bianco. La saturazione, invece, esprime la quantità relativa della componente cromatica di

un’area rispetto a quella bianca, in rapporto alla brillantezza del colore dell’area stessa.

Il Gamma rappresenta il rapporto tra luminosità e tensione che si ha nei dispositivi di displaying: i

monitor moderni hanno tutti un gamma prefissato, che ne determina la luminosità totale della

rappresentazione, senza cambiare nulla per i valori RGB dei pixel. Bisogna tener conto del gamma

quando si vanno a rappresentare immagini su piattaforme diverse: creare un’immagine su una

piattaforma con gamma di default 2.0 e visualizzarla su di una con una graduazione di 1.5, risulta

in una visualizzazione sbiadita e poco accurata. Per tale motivo si ricorre alla Gamma Correction,

che permette di codificare e decodificare la luminosità nelle immagini (e anche video):

Tale relazione rappresenta la legge in potenza della correzione di gamma. Nel caso comune, si ha

che A=1. Pertanto, la relazione tra la tensione in uscita (quella visualizzata) e quella di ingresso

(quella ricevuta) sarà modellata esclusivamente dall’esponente.

La gamma è essenziale per l’occhio umano, siccome può cambiare drasticamente quelle che sono

le caratteristiche percettive dell’immagine. Per gamma di basso valore, si hanno immagini molto

chiare, per gamma di alto valore, si hanno immagini molto scure.

La Color Wheel è una comune rappresentazione di quelle che possono essere tutte le

combinazioni di colori possibili. La circonferenza del disco rappresenta tutti quelli che sono i colori

puri. Se si traccia una corda, i punti congiunti da questa corrisponderanno a quei colori puri le

quali combinazioni cromatiche sono tutte rappresentate dai colori sulla retta tracciata. Per

ottenere i colori si può adoperare il Modello Sottrattivo (anche usato dagli umani) o il Modello

Additivo, rispettivamente metodi con i quali i colori si ottengono per differenze cromatiche o

sovrapposizioni.

Page 31: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

30

3. STANDARDIZZAZIONE DELLA CROMATICITA’

Partendo dalle teorie sulla sensibilità oculare, che hanno portato alla stesura delle spectral

sensitivity functions, studi ed esperimenti psicologici hanno dimostrato come il cervello umano

compone i colori: preso un colore qualsiasi come campione, tramite il Colorimetro si riusciva

sempre a tarare le quantità di colori RGB per formare un colore che risultasse simile al campione.

Per questo motivo i colori RGB sono anche detti Colori Primari. Tali colori sono stati individuati

sullo spettro visibile e ne sono state formalizzate delle espressioni. Le Color-Matching Curves sono

le rappresentazioni delle curve sullo spettro, centrate dove i colori sono puri.

I colori rappresentati dal lobo di valori negativi del diagramma sono dipendenti in maniera non

lineare dalla combinazione dei colori primari. Per questo motivo il CIE (Commission Internationel

de l’Eclairage) ha emanato delle versioni standardizzate delle Color-Matching Curves,

Page 32: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

31

assicurandosi che tutte siano formate solo da valori positivi e che quindi tutti i colori siano

rappresentabili da una loro combinazione lineare.

Le funzioni standardizzate si ricavano da quelle normali tramite una relazione di tipo matriciale

3x3, che assicura inoltre che la funzione ( ) sia uguale alla curva di efficienza luminosa ( ). Con

queste considerazioni, è possibile scrivere quelle che sono le spectral sensibility functions per i

nuovi tre canali:

∫ ( ) ( )

∫ ( ) ( )

∫ ( ) ( )

Dove la Y rappresenta la luminosità. Tali informazioni, a causa della trasformazione, sono su tre

dimensioni, per questo motivo devo normalizzarle, per fare in modo che una sia combinazione

lineare delle altre:

{

Con queste considerazioni si può quindi rappresentare il Color Space Chromaticity Diagram:

Page 33: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

32

Tale diagramma della

cromaticità rappresenta con

precisione tutti quelli che sono

i colori rappresentabili. Il

colore Blu è ottenuto come

combinazione di R e G in

maniera sottrattiva, ossia dalla

loro quantità di luce. Di tutti

questi colori se ne possono

definire dei sottoinsiemi

(Gamut) che si configurano

come la cromaticità totale di

eventuali applicazioni e non

solo monitors (Adobe RGB,

sRGB, etc.).

Modello RGB (Red, Green, Blue).

È il modello a colori additivi specifico per monitor e sistemi di visualizzazione semplici. Il suo Color

Space è rappresentato da un cubo, il cui lato è uguale alla cardinalità di uno dei tre canali che

utilizza. Nel caso di rappresentazioni a 8 bit/pixel, si avrà un lato di 256 livelli. Le coordinate sono

di tipo cartesiane, posso quindi posizionare il punto di Nero (0,0,0) e Bianco (1,1,1). Se si traccia la

diagonale congiungente questi due punti si ottengono tutte le graduazioni di grigi. Agli angoli avrò

due terne di colori: RGB e CMY (Cyan, Magenta and Yellow).

Per trasformare RGB in XYZ, utilizzo una trasformata matriciale 3x3. Dati XYZ i valori da ottenere,

Page 34: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

33

[ ] [

]

Per lo standard SMPTE (Society of Motion Picture and Television Engineers):

[

] → ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

Modello HSI (Hue, Saturation, Intensity).

È un modello a colori additivi non percettivo, ossia non comprensibile a pieno dalla vista umana,

differentemente dal RGB. Utilizza tre misure per descrivere i colori:

Hue: colore puro.

Saturation: indica quanto un colore è diluito con la luce bianca. Dato un colore, più è prossimo al

bianco, maggiore sarà’ la sua saturazione. Se invece è più prossimo al nero, allora maggiore sarà la

sua purezza. Il bianco è la presenza di tutti i colori, il nero è l’assenza di tutti i colori, quindi anche

aggiungendolo ad un colore, non ne intacca la tinta.

Intensity: nozione legata ad una caratteristica non cromatica: si considera la luminosità

dell’immagine stessa, come per le immagini di soli grigi. Non si utilizza la Brightness siccome può

risultare ambigua.

il Color Space è rappresentato da un poligono tridimensionale. Dato punto di rappresentazione

di un generico colore:

- L’intensità è letta a seconda dell’altezza di .

- La tinta è letta dall’angolo che forma con il punto di riferimento sulla circonferenza

(tipicamente il rosso) rispetto al centro (tutti i punti sono complanari).

- La saturazione è la distanza tra e il centro (i due punti sono complanari).

Le basi possono essere di vare tipologie, ma per comodità di rappresentazione, è utilizzata una

rappresentazione conica.

Page 35: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

34

Per trasformare dal modello RGB al HSI, dato un colore espresso in termini di RGB (eventualmente

anche normalizzato in rgb), tramite coordinate polari, si avrà che:

,

(

,( ) ( )-

,( ) ( )( )-

)

, ( )-

( )

Analogamente, dato un colore espresso in termini di HSI, il corrispondente in RGB sarà

caratterizzato da:

( ) →

{

[ ( )

( )]

( ) ( )

( ) →

{

( )

[ ( )

( )]

( )

Page 36: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

35

( ) →

{

( )

( )

[ ( )

( )]

Siccome il modello HSI non è percettivo, la rappresentazione dei colori viene vista dall’essere

umana come soli livelli di grigio. Tuttavia tale

rappresentazione è legata in maniera molto

stretta alla forma ed alla composizione

cromatica dell’oggetto: la caratteristica

principale è l’intensità siccome H ed S non

sono molto popolate (l’intensità è molto più

complessa, quindi più dettagliata). Tale

modello è molto utilizzato per riconoscere

caratteristiche delle immagini e per offrirne

quante più informazioni possibili.

Per comprendere la struttura di un’immagine, si cerca sempre di individuare tre elementi

fondamentali:

- Il Colore

- La Forma (Shape), che identifica univocamente un oggetto.

- La Tessitura (Texture), ossia la trama dei colori.

Su tali caratteristiche verteranno quindi le query. Il modello HSI offre ottime rappresentazioni di

tutti e tre questi parametri, inoltre offre una rappresentazione molto più compatta del RGB

siccome due dei tre canali sono poco popolati. Per tali motivi molto spesso si adopera la

trasformazione in HSI e poi l’anti trasformazione.

RGB HSI e manipolazione RGB

Page 37: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

36

Modello L*a*b (CIELAB).

È un modello a colori additivi che si basa sul concetto di contrasto. La Legge di Weber dice: le

differenze e variazioni sono percepite dall’uomo in proporzione alla quantità. Ad esempio, se

mentre si mantiene un vassoio viene posto su di questo un recipiente pieno di acqua, si avrà una

percezione molto grande della differenza di peso tra gli oggetti. Nel caso duale, se mentre si

mantiene il recipiente pieno d’acqua viene posto su di questo il vassoio, si percepirà una

differenza di peso minore. Analogamente accade per i colori: l’occhio umano è molto sensibile ai

contrasti di colori e per la legge di Weber, questi si trovano dove le intensità di colore sono basse,

quindi per colori scuri. Un esperimento per dimostrare tale comportamento è quello dell’Hi-track:

due telecamere montate su di un caschetto, riprendono gli occhi durante l’osservazione di un

oggetto, monitorando il movimento delle pupille. Si sono riscontrati movimenti della pupilla verso

zone dove l’oggetto presentava maggior contrasto (reazione pre-attentiva).

il Color Space è rappresentato da una sezione di cilindro. I parametri caratterizzanti questo

modello sono L, relativa alla luminosità e relativi alle combinazioni di colori:

Per trasformare dal modello XYZ al L*a*b, si utilizzano coordinate cilindriche:

.

/

, *.

/

.

/

+ , *.

/

.

/

+

Dove sono i valori del modello XYZ nel punto bianco puro. Posso definire inoltre:

√( ) ( ) ( )

√( ) ( )

(

)

Page 38: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

37

Modello CMY (Cyan, Magenta, Yellow).

È un modello a colori sottrattivi, dove i colori primari non sono più intesi come R,G e B, ma

come – – Guardando al Color Space del Modello RGB, si riconoscono quindi come

colori primari gli antipodi di RGB, ossia CMY.

Tale modello è quello utilizzato per le stampanti. Queste generano colore mediante la

sottrazione di colore dalle immagini: il Y, ad esempio, sottrae la componente B

dall’illuminazione del bianco puro e riflette il R e G, ottenendo quindi proprio Y. Nel modello

CMY il colore nero rappresenta la sottrazione totale dei colori (opposto del RGB), e quindi

corrisponde alla stampa di tutti. Per evitare tale spreco di colori, le nuove stampanti utilizzano

il modello CMYK, dove K sta per il colore nero da solo: se si deve stampare il colore nero,

piuttosto che usare tre volte la quantità di inchiostro di tutti i colori, si utilizza direttamente il

nero.

Per trasformare dal modello RGB a CMY, basta semplicemente usare una trasformata

complementare:

[ ] [

] [

]

Analogamente per trasformare da CMY a RGB:

[ ] [

] [

]

Infine nel caso di una trasformazione tra RGB e CMYK, basta sostituire i parametri di CMYK a

quelli di CMY:

[ ] [

] * +

Page 39: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

38

CAPITOLO V – IMAGE PROCESSING

1. FONDAMENTI DI IMAGE PROCESSING

Come detto in precedenza, un’immagine può essere considerata come una funzione del tipo:

( ) ( ) →

Realisticamente tale funzione viene limitata in uno spazio finito, definito dall’immagine di

dimensione rettangolare:

, - , - → , -

Un’immagine a colori, invece, può essere vista come una funzione vettoriale, dove ogni canale

cromatico è rappresentato da una funzione relativa alla propria intensità:

( ) *

( ) ( ) ( )

+

Nell’ambito dell’Image Processing, l’immagine è considerata una struttura dati (mappa di valori)

alla quale è possibile accedere e sulla quale è possibile effettuare elaborazioni: a seconda dello

scopo e dell’uso dell’immagine, si pongono in risalto degli aspetti piuttosto che degli altri, andando

ad evidenziare quelle che sono delle caratteristiche proprie dell’immagine.

L’Image Enhancement (miglioramento) è una tecnica o una serie di tecniche che permettono

l’elaborazione dell’immagine al fine di migliorarla per una specifica applicazione. Le tecniche di

enhancement sono di fatti Problem-Oriented e si differenziano in due categorie:

- Metodi di elaborazione nel Dominio Spaziale, dove si effettuano manipolazioni dai pixel ad

altri pixel, quindi rimanendo nello stesso dominio dell’immagine.

- Metodi di elaborazione nel Dominio Frequenziale, dove si utilizzano trasformate per

manipolare le caratteristiche dell’immagine (come in TdS).

Migliorare un’immagine significa renderla più vicina possibile a quelle che sono le richieste e/o

necessità in chiave del suo utilizzo. Se un’immagine è processata per un’interpretazione visuale,

sarà proprio l’uomo il giudice del miglioramento effettivo dell’immagine, e si cercherà di

effettuare elaborazioni che possano rendere quanto più piacevole e comprensibile possibile

l’immagine all’occhio umano. Il concetto di “buono” è legato all’interpretazione visiva che si ha di

un’immagine, quindi una concezione fortemente soggettiva. Nel caso in cui l’immagine debba

essere utilizzata da applicazioni che non richiedono la presenza umana, la bontà dell’immagine

sarà pesata a seconda dell’utilizzo che tali applicazioni ne faranno.

Page 40: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

39

Data un’immagine di rappresentazione scadente ma dal buon contenuto informativo, tramite delle

elaborazioni (di seguito trattate) è possibile riuscire a rappresentare con chiarezza l’immagine

senza perderne il contenuto.

2. METODI DI ELABORAZIONE NEL DOMINIO SPAZIALE

Tali metodi agiscono direttamente sui pixels, tramite delle trasformazioni del tipo:

( ) , ( )-

Dove ( ) è l’immagine di Input, ( ) è quella processata e , - è un operatore che agisce

sul vicinato(neighborhood) di ( ). Il vicinato di un pixel è rappresentato da un quadrato che ha

come centro il pixel e che comprende tutti quelli vicini a

seconda delle sue dimensioni. Nel momento in cui si fissa

un punto ( ) e lo si processa con l’operatore, il

risultato in ( ) sarà relazionato ai valori presenti nello

stesso punto ( ) e a quelli del suo vicinato. Il processo

utilizza solo i valori al più compresi nel vicinato e non

altri. Le elaborazioni possono quindi utilizzare il singolo

punto o anche il suo vicinato. Si parlerà rispettivamente

di Point Processing e Neighborhood Processing (con

filtri). Quest’ultimo è molto efficace contro il rumore

puntiforme come ad esempio l’effetto Salt and Pepper: di

fatti il Point Processing tenderebbe a migliorare anche l’errore (i puntini neri) mentre l’utilizzo del

vicinato andrebbe in qualche modo a livellarlo o addirittura eliminarlo, siccome questo si

presenterebbe come un punto nero(punto (x,y)) al centro di punti bianchi (vicini).

3. ELABORAZIONE PUNTO-PUNTO (POINT PROCESSING)

Si tratta del caso in cui il neighborhood è di dimensione 1x1: ( ) dipende solo dal valore di ( ) in

( ) e , - diventa una funzione di trasformazione dei grigi, ossia una funzione che dato un

livello di grigio in ingresso, ne restituisce un altro di diversa intensità:

, - , -

Con livello di grigio di ( ) e livello di grigio di ( ), entrambe in ( ). A seconda della

forma di , -, si ottengono risultati di processing differenti.

Page 41: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

40

Trasformazioni Base

Il Negativo è una trasformazione che dato un certo livello di grigio, ne si fa corrispondere

l’opposto. L’immagine processata si ottiene tramite la relazione:

Dove si ricorda che ( ) sono i livelli di grigio totali.

Con un’immagine del genere si possono evidenziare

delle caratteristiche particolari: in ambito biomedicale

viene utilizzata per evidenziare dei particolari elementi

all’interno di radiografie (come ad esempio una

mammografia).

La Logaritmica processa le immagini secondo la

relazione:

( )

Tale trasformazione è detta di espansione

degli scuri, siccome data la sua forma di

, - tende a comprimere i chiari (prossimi

ad L-1) e ad espandere, offrendo un range

di rappresentazione più grande, quelli che

sono i grigi scuri (prossimi a 0).

Page 42: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

41

La Power-Law (legge di Potenza) segue la relazione:

A seconda del valore di gamma si ottengono delle curve di rappresentazione di , - diverse. Tale

funzione di trasformazione è utilizzata per il gamma correction.

Increase Brightness

Considerando l’immagine di partenza ( ) e quella processata ( ), si ha:

( ) { ( )

( )

( ) con

* +

Tale trasformazione ha il compito di incrementare la luminosità dell’immagine. La funzione di

trasformazione in questo caso si presenta come una retta rialzata di un valore “g” che andrà a

consegnare dei valori di intensità più chiari a grigi scuri, con un esatto salto di “g” livelli. Ad un

certo punto (esattamente livelli) si ha un tratto costante, detto di saturazione, dove ad

ogni grigio chiaro dell’immagine di partenza si fa corrispondere la massima luminosità. Se

l’immagine è a colori, si effettua la stessa operazione per ogni canale. Con l’aggiunta della costante

“g” ai livelli gli istogrammi cambiano: dato che il grigio più scuro sarà proprio rappresentato dal

valore “g”, nell’istogramma si avrà che prima di tale valore non vi saranno occorrenze, mentre per

il valore 255 risulterà un picco per effetto della saturazione.

Page 43: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

42

Decrease Brightness

E’ il procedimento duale a quello precedente: si va a sottrarre “g” dai valori di grigi dell’immagine

( ) così da ottenerne una più scura.

( ) {

( ) ( )

( ) con

* +

L’istogramma avrà il picco sempre in corrispondenza della saturazione, questa volta posizionata

sul valore 0.

Page 44: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

43

Increase Contrast

Il contrasto è il rapporto tra la luminosità dell’oggetto e quello del background .

/. Il suo

aumento corrisponde a risaltare l’oggetto rispetto il background. Il massimo contrasto è quello che

si riscontra tra il nero ed il bianco, dove la distanza in termini di livelli di grigio è massima.

Migliorare il contrasto significa evidenziare i dettagli. Dato:

( ) , ( ) -

Allora risulta:

( ) {

( )

( )

( )

( )

con * +

Per migliorare il contrasto dell’immagine si è ristretto il campo di variazione dei livelli attraverso

due zone di saturazione. Tale procedura permette di migliorare il rapporto di contrasto: Il

coefficiente “ ” è legato alla pendenza della retta; I valori minori a 127, gli scuri, sono resi ancora

più scuri, mentre i valori superiori a 127, i chiari, sono resi ancora più chiari. L’aumento di

contrasto è un’elaborazione non biunivoca, siccome a causa delle due zone di saturazione, è

possibile che compiano delle omogeneizzazioni dei colori e quindi una perdita dei dettagli. Per

evitare eventuali omogeneizzazioni globali e involontarie, si possono riconoscere gli oggetti dallo

sfondo in maniera locale e riuscire, applicando localmente questa elaborazione, ad ottenere buoni

miglioramenti di contrasto senza perdite. Per quanto riguarda gli istogrammi, si hanno picchi in

corrispondenza dei valori 0 e 255, in corrispondenza delle zone di saturazione.

Page 45: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

44

Decrease Contrast

Caso duale al precedente: qui si cerca di minimizzare il rapporto di contrasto, utilizzando

un’attenuazione della pendenza della retta della funzione di trasformazione:

( ) , ( ) - con

* +

Data l’assenza di zone di saturazione, negli istogrammi non vi saranno picchi. Tuttavia, a causa

della forma della funzione, vi sono dei valori limite prima o dopo dei quali non vi saranno

occorrenze. Tale trasformazione, a differenza della precedente è biunivoca.

Contrast Stretching

Per evitare i problemi dovuti alle zone di saturazione nelle funzioni di

contrasto, si possono utilizzare delle forme più affusolate, che

riescono a trattare anche i valori altrimenti omogeneizzati,

mantenendo comunque l’efficacia del contrasto buona.

Queste tipologie di forme della funzione di elaborazione sono spesso

utilizzate in applicazioni General Purpose, ossia senza particolari

domini applicativi.

Come precedentemente si è detto, restringendo il range dei valori si migliora il contrasto (Contrast

Stretching). Se non si conoscono a priori i livelli di saturazione, è possibile ricavarli

automaticamente tramite:

Page 46: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

45

, ( )- , ( )-

, ( )- , ( )-

E quindi la funzione di elaborazione è:

( ) ( ) ( )

E’ evidente che con tali considerazioni, si migliora tantissimo l’efficacia del contrasto: l’istogramma

evidenzia l’assenza di picchi nei valori estremi (non c’è saturazione) e l’assenza di zone ad

occorrenza nulla (sono coperti tutti i valori del codominio). Con un meccanismo di tipo adattativo

si è riuscito ad evitare la perdita del miglioramento di contrasto dei dettagli.

In ogni caso, con la modifica del contrasto di un’immagine, il tentativo di riportarla allo stato

normale implica sempre qualche perdita di dettagli e di contenuti informativi.

Page 47: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

46

Increased/Decreased Gamma

Le trasformazioni sul gamma seguono semplicemente una forma di tipo esponenziale:

( ) * ( )

+

A seconda del valore di gamma, si avrà una diminuzione o un aumento della tonalità

dell’immagine.

Page 48: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

47

4. HISTOGRAM PROCESSING

Sono tecniche più sofisticate delle elaborazioni punto-punto che migliorano le immagini in base al

loro istogramma. Il risultato di un’elaborazione di istogramma è un’immagine con un nuovo

istogramma simile a quello dell’immagine di partenza. L’istogramma di un’immagine digitale con

una scala di grigi di , - è data da:

, -

Con k-simo livello di grigio e è il numero di pixels nell’immagine con valore di intensità .

Siccome l’istogramma fornisce un’informazione probabilistica, è pratica comune andare a

normalizzarlo tra 0 e 1, dividendo ogni valore per il numero di pixels nell’immagine :

, -

Quindi , - fornisce una stima della probabilita’ di occorrenza del livello di grigio . Ovviamente la

somma di tutti i k-simi valori sarà uguale ad 1. Considerando ad esempio una scala di 16 grigi,

tramite l’elaborazione dell’istogramma si ottengono 16 diverse “lastre” dell’immagine popolate

dalle occorrenze relative ad un singolo livello di grigio, che possono quindi evidenziare dei

particolari altrimenti non chiari, andando a caratterizzare più dettagliatamente l’immagine.

Per quanto concerne le immagini a colori, oltre ai tre canali RGB, è possibile considerare altri due

istogrammi relativi alla Luminosità ( ) e al Valore ( ) dell’immagine.

( )

, ( ) ( ) ( )-

( ) ( ) ( ) ( )

Page 49: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

48

L’equalizzazione dell’Istogramma è un processo che porta ad una estensione delle differenze

cromatiche di un istogramma: nel caso in cui vi è una forte concentrazione di occorrenze in uno

stretto intervallo di livelli, tramite l’equalizzazione si va ad estendere quell’intervallo, rendendone

più chiara la lettura. Un effetto legato a tale estensione è la diminuzione di contrasto e quindi ad

una eventuale perdita di dettagli dovuta alla fusione di alcuni oggetti con lo sfondo.

L’analisi degli istogrammi delle immagini è fondamentale per il Forensic, ossia lo studio delle

immagini per scopo legale. Di fatti lo studio degli istogrammi decreta se l’immagine è stata

contraffatta o meno (a seconda che vi siano picchi o sezioni si valori ad occorrenza 0) ed evidenzia

dettagli altrimenti nascosti di un’immagine.

5. SPATIAL FILTERING

La Computer Vision è molto vicina alla videosorveglianza: macchine che interpretano

automaticamente degli atteggiamenti umani con criterio umano. Il riconoscimento delle azioni

significa elaborare le immagini: le ricerche (detection) delle immagini sono fatte a basso livello

(database) mentre la logica di riscontro (analysis) è fatta ad alto livello. Per riconoscere a pieno

determinati oggetti all’interno di un’immagine, occorrono elaborazioni più complesse di quelle

finora trattate che rendono necessario l’utilizzo di filtri. In particolare, il filtraggio spaziale è un

filtraggio che viene applicato direttamente nel dominio dei pixels al fine di ottenere nuovi pixels.

Si definisce il concetto di Maschera, ossia la struttura del filtro vero e proprio che viene applicato

lungo tutta l’immagine. La trasformazione avviene seguendo tutte le risposte di ogni pixel

dell’immagine sul quale viene applicato il filtro. La maschera è composta da valori numerici che

evidenziano componenti ad una determinata frequenza dell’immagine. Il filtro quindi, tiene conto

non solo del punto su cui è applicata ma anche dei suoi vicini (neighborhood processing). A

seconda dei valori dei coefficienti ( ) della maschera, è possibile ottenere dei filtraggi differenti:

si può far pesare di più un elemento del vicinato rispetto ad un altro, giocando sulla

caratterizzazione dell’immagine così filtrata.

Page 50: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

49

Nel mondo delle immagini le frequenze sono di tipo spaziale, siccome sono relative al modo in cui

i pixel sono dislocati nello spazio:

Alta Frequenza Spaziale: si tratta di punti dove è presente una maggiore discontinuità

(dettagli dell’immagine).

Bassa Frequenza Spaziale: si tratta di punti dove l’immagine è più omogenea, ossia dove

non vi sono discontinuità.

Il filtraggio consiste nella convoluzione tra la maschera e i pixel dell’immagine. Supponendo una

maschera 3x3, si ha che ogni pixel viene rappresentato come la convoluzione tra il suo 3x3

neighborhood e i coefficienti della maschera. Indicando con ( ) i coefficienti della maschera e

con ( ) i valori (livelli di grigio) dei pixels, si ha che per un generico pixel ( ) vale:

( ) ( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

Ossia la somma dei prodotti tra i valori dei vicini del pixel (sul quale si è effettuato il filtraggio)

compresi nella maschera e i coefficienti della maschera stessa.

Utilizzando una forma generale, l’azione di filtraggio di una generica maschera di dimensioni x

è espressa da

( ) ∑ ∑ ( ) ( )

A seconda che valga o meno la sovrapposizione degli effetti, i filtri si dividono in Filtri Lineari e Non

Lineari.

Un discorso a parte meritano i pixel di bordo(edge pixels) immagine. Per questi pixel il vicinato

non è del tutto popolato e per questo motivo esistono degli approcci per la loro trattazione:

Page 51: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

50

- Omissione dei Pixel Mancanti: funziona solo per

alcuni filtri e può aggiungere del codice che

rallenta inevitabilmente il processo.

- Riempire i Pixel Mancanti: tipicamente vi si

assegnano valori di Nero o Bianco.

- Replicazione dei pixel di Bordo: si considera

un’altra serie di pixel adiacente e identica a

quella del bordo considerato.

- Troncare l’immagine: gli edge pixels sono

considerati non filtrabili. Viene spesso utilizzata

per alleggerire il processo senza perdite,

siccome è raro trovare un’immagine con

contenuto informativo utile proprio sui bordi.

- Pensare alla matrice come un toro circolare: considerando che un bordo sia connesso a

quello suo opposto nell’immagine (come nelle mappe di Karnaugh).

6. SMOOTHING SPATIAL FILTERS

Effettuano un addolcimento dell’immagine: il Blurring consiste nel rimuovere dettagli

dall’immagine nella fase di pre-processing, una sorta di omogeneizzazione che porta alla riduzione

degli effetti del rumore sull’immagine (quindi di tipo passa-basso). Quando ad esempio si ha una

Texture (tessitura) molto complessa con dettagli inutili, il blurring li elimina spalmandoli

sull’immagine. Esistono due tipi di filtri di smoothing:

1) Smoothing Linear Filters (Filtri Medi)

2) Order-Statistics Filters (Filtri Mediani)

L’operazione di convoluzione in ambo i casi è sempre mirata ad essere più rapida possibile. I filtri

lineari sono più rapidi di quelli statistici siccome sono richiesti meno calcoli, ma sono meno precisi

e lavorano peggio. Un metodo per velocizzare le capacità di calcolo degli elaboratori è lo SIMD

(Single Instruction per Multiple Data): si adoperano N processori con N maschere uguali che

filtrano l’immagine divisa in N parti. Parallelismo che rende istantanea l’elaborazione.

Filtro Medio (Averaging Filter)

E’ un filtro lineare non statistico e general purpose. L’idea è quella di trasformare ogni pixel in

modo da assegnargli un valore pari alla media della sua convoluzione con la maschera.

Considerando una maschera di dimensioni x , si ha che:

Page 52: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

51

( ) ∑ ∑ ( ) ( )

∑ ∑ ( )

L’operazione quindi dipende dai valori che sono assegnati ai coefficienti della maschera. Una

Standard Average consiste nell’assegnare il valore 1 a tutti i coefficienti della maschera:

procedimento semplice ma poco

dettagliato. Una Weighted Average,

invece, consiste nello assegnare valori

differenti ai coefficienti, andandone a

stimare un peso differente sui contributi

della convoluzione: questa procedura

risulta essere più precisa e dettagliata. In

ambo i casi, non possono esservi pixel a

valore nullo.

Il Bluring dipende dalla dimensione della maschera: più la maschera è grande, maggiore sarà lo

smoothing dell’immagine. Una maschera 3x3 conferirà un bluring più dettagliato di una 7x7.

La media sulla convoluzione va a ridurre l’effetto del rumore sull’immagine: nel caso di errore “Salt

and Pepper”, si ha che i valori ad altissimo livello di grigio (causato dal rumore) sono attenuati

dagli altri valori dei pixels non affetti da rumore.

Filtro Mediano (Median Filter)

E’ un filtro non lineare statistico. L’idea è quella di considerare tutti i valori dei pixel coperti dalla

maschera, ordinarli e considerare la loro mediana come valore nuovo da assegnare al pixel filtrato.

Questa tecnica è molto efficace contro

gli effetti dovuti al rumore. L’effetto

“Salt and Pepper” può essere quasi

completamente rimosso (il filtro

Medio, invece, lo spalmava

Page 53: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

52

sull’immagine) grazie allo sfruttamento della mediana: i valori fuori range (spikes) dei vicini

corrotti da rumore, non sono considerati come contributi del nuovo valore da assegnare al pixel

filtrato. Il filtro Mediano applica uno smoothering dell’immagine che conserva i dettagli utili ed

elimina quelli dovuti al rumore, differentemente dal filtro Medio che appiattisce tutto in maniera

molto più aggressiva. Un difetto del filtro consiste nella complessità delle operazioni di

ordinamento, che per immagini molto grandi risultano essere molto onerose e pesanti.

Nell’esempio in figura, il filtro è stato utilizzato per il pixel a valore 27. Supponendo una struttura

standard dei valori del filtro (tutti con coefficienti unitari), secondo la tecnica della mediana, il

nuovo valore sarà’ 21. Da notare è il valore 500 del vicino corrotto da rumore: questo non viene

considerato nell’assegnazione del 21. Nel caso di filtro Medio, invece, utilizzando la stessa

maschera standard, la considerazione del 500 avrebbe fatto scegliere 72 come nuovo valore del

pixel (molto meno accurato):

( )

( )

( )

Il filtro Mediano risulta quindi essere migliore ma più pesante del filtro Medio. Il filtro Medio

tende a creare nuovi livelli di grigio prima non esistenti e va ad attenuare non solo il rumore, ma

anche tutte le alte frequenze spaziali, causando così sfocatura, perdita di dettaglio utile e

smussatura dei fronti di salita (intesi come differenze tra i livelli di grigi) nelle transazioni

chiaro/scuro. Il filtro Mediano, invece, non deteriora i fronti di salita, ma elimina i picchi con base

sufficientemente piccola rispetto l’ampiezza della maschera.

7. UTILIZZI DELLO SMOOTHING

Il cervello umano applica un’azione di media ad ogni immagine che viene osservata, facendo

concentrare l’essere umano su quelli che sono gli aspetti più corposi e densi dell’immagine (se si

prova a guardare la figura successiva con gli occhi socchiusi, si nota come almeno cinque delle sei

Page 54: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

53

immagini risultino simili se non uguali). Lo smoothing

procede nella stessa direzione, andando a addolcire o

eliminare i dettagli più evidenti e lasciando le zone più

omogenee e dense. Un filtraggio in serie di un’immagine

procede allo stesso modo, andando via via a diminuire la

risoluzione dell’immagine. Si parla infatti di Multi-

Resolution, ossia di un’immagine disponibile in versioni

di diverse risoluzioni. A valle di tale filtraggio si ottiene

una cosiddetta “macchia” (Blob), che consiste nella

versione dell’immagine a minima risoluzione che

evidenzia le zone con il contenuto informativo più denso

e omogeneo. Nonostante la sua forma, tale versione a

minima risoluzione dell’immagine può essere adoperata

per una buona caratterizzazione della stessa. Di fatti

esistono analisi di immagini a multi risoluzione, che

prevedono l’utilizzo della Trasformata Wavelet (sulla

quale si basa JPEG2000). Su queste analisi si basa la

Trasmissione Multi risoluzione Progressiva: si effettua

una trasmissione sequenziale dell’immagine. Partendo

dalla versione a minima risoluzione, che è per le sue

caratteristiche di omogeneità la più adatta ad una forte compressione, verranno successivamente

inviati sempre più dettagli, aumentando così anche la risoluzione, fino ad ottenere l’immagina di

partenza. Questa tecnica permette non solo di ottimizzare i tempi di trasmissione di immagini di

enormi dimensioni, ma anche di limitare il traffico qualora sia sufficiente una versione a minore

risoluzione di un’immagine.

Si è visto che lo smoothering lascia solo il contenuto più denso e omogeneo di un’immagine. Per

evidenziarne l’aspetto e delimitarne in maniera precisa gli oggetti rimanenti è possibile applicare

la tecnica del Theresholding(soglia): stabilita la mediana della smoothed image si assegna a tutti i

valori ad essa inferiori il colore Nero, mentre a quelli superiori il colore Bianco. Il procedimento è

utile per implementare una primitiva Detection

sull’immagine. Il theresholding è il più

semplice meccanismo di image segmentation,

che trasforma un’immagine qualsiasi in

un’immagine binaria.

Un meccanismo più complesso per la decisione della soglia

consiste nell’utilizzo dell’Istogramma Bimodale dell’immagine. Per

ottenere un istogramma bimodale, devono essere presenti due

valori di picco con popolazione molto alta, ed una valle tra di essi.

Il punto più basso della valle, rappresenterà il valore di soglia.

Page 55: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

54

8. SHARPENING SPATIAL FILTERS

Sono filtri di sharpening che evidenziano i dettagli: sono utilizzati per incrementare la nitidezza

delle immagini aumentandone il contrasto locale curandone l’effetto blurred. I dettagli in

un’immagine sono rappresentati da salti di discontinuità tra i livelli dei grigi dei pixels. Un salto di

discontinuità tra grigi (compreso il rumore) è anche chiamato Edge che rappresenta una

particolarità dell’immagine: il bordo di un oggetto è anch’esso un edge, ma un edge non è sempre

un contorno. I filtri utilizzati per l’edge detection sono i filtri derivativi (quindi di tipo passa-alto),

che agiscono sulla differenza spaziale tra i pixel. L’ampiezza della risposta di un operatore

differenziale è proporzionale al grado di discontinuità dell’immagine nel punto in cui l’operatore è

applicato, per tale motivo risulta necessaria un’approssimazione del concetto di derivata discreta

di primo e secondo ordine.

La derivata prima è definita come:

- Nulla per tratti costanti (per X se ( ) ( ), per Y se ( ) ( )).

- Non nulla per inizio e fine di una rampa o gradino.

- Non nulla lungo una rampa.

La derivata seconda è invece:

- Nulla per aree costanti. (per X se ( ) ( ) ( ), per Y se (

) ( ) ( )).

Page 56: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

55

- Non nulla per inizio e fine di una rampo o un gradino.

- Nulla lungo rampe a coefficiente angolare costante.

Nella figura qui di seguito si è analizzata un’immagine a 3-Bit di soli grigi e si mette in evidenza

quelle che sono le caratteristiche delle derivate discrete rispetto il solo asse X.

Filtro Laplaciano (Derivativo 2° Ordine)

E’ il più importante nell’ambito dell’image processing. Il filtro Laplaciano è isotropico ossia

mantiene lo stesso comportamento indipendentemente dagli ingressi (quindi la sua risposta è

indipendente alla direzione della discontinuità dell’immagine) , e ovviamente anche derivativo.

Nella sua versione bidimensionale, il Laplaciano si presenta come una combinazione lineare degli

elementi delle derivate.

Definito come:

( ) ( ) ( ) ( ) ( )

In questa forma il filtro riesce a pesare solo

parte del suo vicinato. Per ottenere un

Laplaciano completo su tutte le direzioni, è

necessario considerare un secondo filtro,

agente sui vicini in diagonale (quelli non

compresi dal primo). La loro somma sarà’ il

filtro completo.

Page 57: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

56

I coefficienti negativi della maschera, dovuti all’utilizzo delle derivate discrete che implementano

una differenza, indicano che si tratta di un filtro Laplaciano e non uno di Smoothing. In quanto

operatore derivativo, il filtro garantisce l’effetto di sharpening (affilamento) dell’immagine,

andandone ad enfatizzare gli edge e a de-enfatizzare le zone omogenee. Per ottenere il

miglioramento dell’immagine è necessario combinare l’immagine originale con il laplaciano:

( ) { ( ) ( )

( ) ( )

Con ( ) l’immagine sharpened, ( ) l’immagine di partenza e ( ) l’immagine filtrata

con la maschera Laplaciana.

Se si invertono i segni della somma dei laplaciani, si ottiene l’effetto contrario (smoothing).

Un’ulteriore tecnica di sharpening delle immagini è l’unsharp masking: ad un’immagine si sottrae

la propria versione blurred.

( ) ( ) ( )

( ) è l’immagine sharpened, mentre ( ) è la versione blurred dell’immagine ( ).

Page 58: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

57

Filtro Gradiente (Derivativo 1° Ordine)

Rappresenta la derivata di una immagine ( ) nella direzione di massima variazione. Definito

come:

[ ]

[

]

Il gradiente in questa forma presenta le derivate parziali non isotropiche, e per questo motivo è

necessario considerarne il modulo (magnitudine), anche se l’operatore risultante non è lineare:

( ) √ | | | |

Siccome la valutazione del modulo del gradiente comporta

un’elevata complessità computazionale, per ridurne l’entità si

approssima il modulo con la somma dei valori assoluti delle

componenti, anche se, questa operazione, comporta la perdita

nuovamente dell’isotropia dell’operatore.

Il Metodo di Robert consiste nell’utilizzare approssimazioni delle derivate prima su direzioni

diagonali. Questo metodo è stato uno dei primi ad essere mai utilizzato per l’image processing.

Page 59: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

58

Il Metodo di Sobel consiste nell’utilizzare maschere più grandi, di dimensioni 3x3, in cui è più

chiaramente definito il punto al quale l’operatore è applicato. La maschera è calcolata sull’asse X

tramite la differenza tra la prima e terza riga e sull’asse Y tramite la differenza tra prima e terza

colonna.

Sia l’operatore gradiente che laplaciano sono molto importanti per il trattamento e l’analisi degli

edge. Questi sono sempre i punti di partenza di ogni elaborazione sulle immagini.

Page 60: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

59

CAPITOLO VI – MULTIMEDIA FEATURES

1. FEATURES AND METRICS

Per rappresentare in maniera sintetica un’immagine si ricorre all’utilizzo delle features, ossia dei

particolari, dei tratti, che la contraddistinguono. Le features possono essere proprietà specifiche

dell’immagine, chiamate a mostrarsi in chiave delle applicazioni che le richiedono. Gli edge sono

delle features molto valide, utilizzati per confrontare gli oggetti presenti nelle immagini. Le

features possono essere rappresentate in svariati modi, a patto che queste siano relative ad un

contesto di confronto comune (se si sta analizzando il canale rosso delle immagini, non importa se

all’interno di una immagine vi è un cane). La più comune forma di rappresentazione delle features

è quella degli Spazi Vettoriali. Rappresentare i contenuti multimediali come punti in uno spazio è

essenziale, siccome offre strumenti di gestione matematici, basati su concetti di geometrie e

metriche automatizzabili. Per questo motivo i database multimediali adoperano queste tipologie

di rappresentazione.

Si consideri un’immagine di un solo pixel, per rappresentarla in maniera sintetica si può

considerare come feature il pixel stesso e rappresentarla su di una retta (spazio di 1D) come un

vettore, che parte dall’origine e arriva fino al punto identificato dal valore del pixel. Aumentando

le dimensioni di rappresentazioni e mantenendo come feature i pixel, risulta ovvio che per

un’immagine a migliaia di pixel si avrebbero migliaia di dimensioni. Adoperare i pixel come feature

quindi non è conveniente, siccome la loro gestione risulterebbe ostica e onerosa.

Le features devono essere invarianti alle operazioni geometriche (zooming, rotazione,

scalamento) e alle modifiche di luminosità dell’immagine.

Fissata una forma di rappresentazione per i contenuti multimediali, è poi necessario stabilire una

metrica per il loro confronto e per le loro disposizioni. La metrica dipende dal tipo del vettore che

si vuol rappresentare: se, ad esempio, si rappresentano pixels come features, allora si progetterà

una metrica per i pixels. Qualsiasi sia la metrica, esistono degli assiomi che ne validano la

correttezza e che devono essere assolutamente rispettati:

Page 61: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

60

1) Non Negatività della distanza: ( ) ( ) ( )

2) Simmetria: ( ) ( )

3) Disuguaglianza Triangolare: ( ) ( ) ( )

La metrica offre strumenti per consentire query sui contenuti rappresentati nello spazio vettoriale.

Fare una query significa mettere in piedi funzioni di somiglianza o differenza tra punti nello spazio,

e quindi tra i contenuti multimediali del database. Una query molto comune consiste nel trovare le

due immagini più simili ad una data immagine A. in questo caso si effettuerà una ricerca nei pressi

del punto A nello spazio e si procederà con un ranking dei candidati, dove ad ogni immagine sarà

assegnata una rank. Un’ulteriore tipologia di query consiste nel trovare le immagini che

differiscono di da A. in questo caso si effettua un Range Search, ossia una ricerca circolare di

raggio .

Metrica Euclidea

Si basa sul concetto di distanza euclidea. Date due immagini A e B rappresentate in uno spazio

vettoriale di dimensione N=3, si avrà che:

( ) √( ) ( ) ( )

Se due immagini si trovano sulla stessa retta, significa che su N componenti soltanto una è

differente. Con la metrica euclidea questo aspetto viene enfatizzato indipendentemente dalla

dimensionalità dello spazio. Supponendo N=30, sebbene le due immagini abbiano 29 componenti

uguali (e quindi siano molto simili), la diversità tra queste è legata all’entità della distanza

sull’unica dimensione che varia, che può farle interpretare come molto differenti.

La proprietà transitiva non vale per le immagini. Date tre immagini A,B e C, se non

è vero che .

Page 62: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

61

Metrica Radiale (Cosine Similarity)

Una metrica basata sugli angoli: invece di considerare la distanza due contenuti multimediali, si

considera l’angolo che essi formano con l’origine. Questa tipologia di metrica è molto utilizzata per

il testo (Oracle è stata la prima ad utilizzarla), dove la composizione generale delle features è più

importante del contributo della singola. L’angolo è misurato in funzione del suo coseno

normalizzato, che implica una distanza di somiglianza (mentre il seno di differenza).

Dati ( ) e ( ) vettori delle componenti di due punti, si ha che il loro

prodotto risulta:

Da cui si ottiene il coseno normalizzato:

( )

| | | |

Considerando i punti in figura, F risulta essere più

simile ad A che di E siccome:

( ) ( )

I punti E ed A risultano uguali, siccome si trovano

sulla stessa retta (coseno nullo).

Metriche di Minkowski

Sono una famiglia di distanze metriche, note anche come -metrics a seconda della loro

dimensionalità (definiscono quindi n spazi diversi).

La più conosciuta è la Manhattan Distance: una metrica L1 che consiste nel considerare la

distanza tra due punti come somma delle distanze percorse lungo le direzioni degli assi. Il

funzionamento è analogo a quello delle strade americane di Manhattan, dove la pianta urbana è

suddivisa in Avenues e Streets (tipo cardini e decumani). Considerando anche la presenza di

palazzi, per raggiungere da A, un posto B, si devono percorrere necessariamente le strade

seguendo la loro direzione siccome risulterebbe impossibile percorrere la distanza in linea retta.

Tale metrica è usata per certi tipi di valutazioni delle similitudini tra immagini, come quelle tra i

colori. Da risultati provenienti dalla Computer Vision e dal Pattern Recognition, si è evinto che la

Page 63: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

62

Manhattan Distance cattura meglio il giudizio umano sulle similitudini tra immagini rispetto alla

distanza Euclidea.

-metric ( )

La metrica Euclidean Distance è quindi una di tipo L2 e corrisponde alla distanza in linea retta tra i

due punti.

-metric ( )

E’ possibile quindi continuare fino a raggiungere una cardinalità infinita:

-metric ( )

-metric * +

La distanza della -metric, conosciuta anche come Chebyshev Distance, risulta infine essere

uguale al semplice massimo tra le proiezioni su X e Y. Questa metrica è la stessa applicata negli

scacchi per il pezzo del re: applicando la Chebyshev Distance, è possibile quantificare la distanza

del re da ogni altra casella della scacchiera.

In definitiva, la scelta di un modello metrico dipende sempre dalla natura delle features che si

considerano. Attraverso le metriche è possibile definire gli alberi di accesso alle informazioni e

vedere tutti gli elementi come vettori di features (quindi con la possibilità di gestirli

analiticamente).

Page 64: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

63

2. FEATURES SELECTION

Prima di poter applicare dei meccanismi di selezione e ottimizzazione del numero di features,

occorre comprendere come queste possono essere riconosciute e rappresentate.

Nel caso di un semplice dato strutturato, un record, la feature che meglio lo identifica e che meglio

lo differenzia da un altro oggetto dello stesso tipo è certamente l’ID (quindi una chiave).

Per le immagini il discorso e più complesso, siccome vi sono svariate interpretazioni sulle features

che meglio possono rappresentare i contenuti di un’immagine. Esistono tuttavia delle features

cardini che possono essere un buon punto di inizio:

- Istogramma dei colori: è una caratterizzazione del primo ordine di tipo statistico delle

immagini. Si possono definire delle metriche per verificare se due o più istogrammi simili

(in termini di distanza). Purtroppo le sole informazione relative agli istogrammi risultano

insufficienti per una completa caratterizzazione di un’immagine: da istogrammi simili si

evince solo che il contenuto cromatico è simile, mentre gli oggetti rappresentati

nell’immagine possono essere completamente diversi.

- Texture: un’analisi della texture comporta uno studio in frequenza di quelli che sono gli

oggetti e le loro ripetizioni all’interno di una immagine. Un’altra metodologia consiste

nell’utilizzo della Trasformata Wavelet.

- Edge: sono le discontinuità che rappresentano dei dettagli dell’immagine.

- Shapes (forme): elastic matching.

- Oggetti: ossia le rappresentazioni all’interno dell’immagine.

- Semantica di Scena: il significato semantico degli oggetti o dell’immagine stessa.

Per rappresentare queste features bisognerebbe avere una metrica per ogn’una di esse oppure

una sola per tutte.

L’Image Analysis (l’analisi di un’immagine) delle immagini di un database multimediale consiste

nell’estrapolazione delle loro features e delle altre caratteristiche descrittive. Solitamente questa

operazione risulta di complessità molto elevata, siccome all’arrivo di una query, vengono

effettuate delle “operazioni al volo” che ricavano per ogni immagine le sue caratteristiche

descrittive (features comprese). Per tal motivo sono richieste tecniche di “alleggerimento” che

riducono il numero di operazioni al volo (quelle successive ad una query): nel progettare un MIS

(Multimedia Informative System), al fine di alleggerire la complessità dell’Image Analysis e quindi

di ridurre il numero di operazioni al volo, si effettuano dei processi di:

1) Pre-Processing/Pre-Analysis: sono analisi effettuate al momento dell’inserimento di

un’immagine nel database. Il comando INSERT oltre al descrittore, gestisce anche quelle

che sono le informazioni riguardo le features dell’immagine, andandole già ad estrapolare

e a memorizzare insieme ai dati di descrizione. Di conseguenza anche la DELETE agirà su

tali campi. La query agirà non più sul dato ma sulla metrica.

2) Indexing/Clustering.

Page 65: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

64

3) Semantic Optimization: ottimizzazioni delle funzioni logiche.

Con questi procedimenti si sta pensando ad un database multimediale (che tiene conto anche

delle features di tipo astratto) e multidimensionale: Per prima cosa si decidono le features da

utilizzare, ottimizzarle, e su di queste costruire una metrica. Query, istruzioni e features cambiano

significato ed aspetto. Un esempio è Oracle Multimedia, che rappresenta una estensione Object

Relational di un database, dove è possibile trattare dati multimediali come fossero oggetti,

ogn’uno dei quali con i propri metodi di accesso e di gestione. Immagini, audio e video sono visti

come BLOB (Binary Large Object), ossia semplici agglomerati di bits a cui sono associati descrizioni

e Signatures (che nel caso di immagini sono combinazioni tra croma e texture).

Il problema rimane nel caso del Dimensionality Curse, ossia della presenza di un numero

elevatissimo (maggiore di 15) di features, che definiscono uno spazio di altrettante dimensioni. Il

vettore delle features affetto dal Dimensionality Curse è inutilizzabile per rappresentare del

contenuto multimediale, per questo motivo si cerca di ridurne la dimensionalità.

Il Feature Selection è una risposta a questa necessità, e consiste nello scegliere in maniera

intelligente un sottoinsieme del vettore delle features che sia in grado di descrivere in maniera

ottima lo spazio con una cardinalità inferiore a quello di partenza. Una buona feature, nel caso

delle immagini, possiede delle caratteristiche chiave:

1) Applicazioni Semantiche.

2) Impatto Percettivo: la feature deve essere quanto più percepibile possibile all’utente, così

da poterne ottenere del feedback.

3) Potere Discriminativo: capacità di distinguere un’immagine da un’altra.

4) Potere Descrittivo: capacità di descrivere e caratterizzare quanto più possibile

un’immagine da un’altra.

5) Diminuzione del Carico di lavoro della Query.

Come è possibile ridurre le dimensioni di un feature vector al fine di portarlo alla stessa cardinalità

delle good features? Si deve trovare un meccanismo che evidenzi le features più importanti. Data

un’immagine A ed una B, possedendo le features di entrambe, si definisce una distanza tra A e B in

uno spazio di cardinalità N. Si vuole quindi trovare un metodo di Trasformazione Spaziale che

riduca la cardinalità dello spazio e che lasci invariata (o quasi) la distanza tra i due punti.

Considero uno spazio di cardinalità N=3. In questa rappresentazione si ha una nube di punti

disposti lungo tutte le direzioni. Applicando una rototraslazione rigida, si posizionano i punti in

modo da rendere una direzione ininfluente rispetto le altre, mantenendo intatte le relazioni degli

angoli e delle distanze tra i punti della nube. Nell’esempio in figura l’asse inferiore (rosso) è quello

che non da contributo differenziale ai punti ed è quindi eliminabile tramite una proiezione dei

punti sui restanti due assi.

Page 66: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

65

Si è quindi ridotto di uno la cardinalità

dello spazio di partenza, ma le distanze e

gli angoli a seguito della proiezione sono

cambiate. Le Range Query sono sballate,

siccome si avranno dei False Hit (punti

che prima non erano nel range e che ora

sono al suo interno) e dei False Miss

(punti che prima erano nel range e che

ora sono al suo esterno). Questi ultimi

sono i più insidiosi, siccome non possono

essere eliminati con un Post-Processing.

Un ulteriore esempio: scegliendo come features i pixels e considerando un immagine a risoluzione

628x1024 di soli pixel neri, si ottiene un vettore delle features di 643072 elementi (quindi di

altrettante dimensioni dello spazio). E’ evidente che è necessaria una riduzione di tale vettore,

possibile tramite algoritmi di trasformazione degli spazi.

Le features risultanti da queste trasformazioni (quindi dal vettore risultante delle features) sono

dette Componenti Principali del Features Vector. Queste corrispondono a delle good features, e

come tali devono presentare tutte le caratteristiche sopra elencate, in particolare devono essere

anche Significanti: portano informazione. In generale, un evento è più significante se porta più

informazione. Ragionando in frequenza nel caso delle immagini, un evento con una grande

occorrenza porta meno informazione siccome con sé trasporta i dettagli dell’immagine, mentre un

evento con bassa frequenza porta molta più informazione siccome trasporta aree omogenee di

grandi dimensioni.

Page 67: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

66

La caratterizzazione del contenuto informativo per una feature è espresso dal calcolo

dell’Entropia:

( ) ∑ ( ) (

( ))

Dove ( ) indica la probabilità. L’entropia è legata anche all’incertezza del sistema: più il sistema è

disordinato maggiore è l’entropia. Considerando la massima incertezza dovuta al massimo

disordine nel sistema, si ottiene la massima entropia che porta quindi al massimo contenuto

informativo trasportato dalla feature. Viceversa, se il sistema è ordinato e non vi è alcuna

incertezza, si è in una situazione dove l’entropia è minima e quindi il contenuto informativo

trasportato dalla feature è minimo. [Vedi par 8.3].

Considerando l’esempio in figura: F1,F2 e F3

sono tre features. Quale di queste features ha

maggior potere discriminatorio? F3 è

chiaramente molto stretta, quindi non permette

una chiara distinzione degli oggetti. F2 è ancora

più compressa, siccome i punti sono situati su di

un piano ad esso perpendicolare. F1 è allora

quella che permette di discriminare meglio

siccome fornisce una migliore distinzione. F2 ed

F3 possono essere eleminate.

3. PRINCIPAL COMPONENT ANALYSIS (PCA)

L’individuazione delle Componenti Principali di un Features Vector può avvenire tramite una

procedura matematica detta Principal Component Analysis (PCA): tramite una trasformazione

ortogonale si converte un set di variabili possibilmente correlate tra loro in un altro set di variabili

linearmente incorrelate, chiamate appunto Componenti Principali. L’ortogonalità assicura che le

componenti così trovate siano le massime rappresentative di ogni direzione e che quindi il

contenuto rappresentato dallo spazio ridotto sia complessivamente prossimo a quello dello spazio

di partenza. Questa tecnica si basa sulla Karhunen-Loeve Transform (KLT) che rappresenta una de-

correlazione dei dati: scartando le features che contribuiscono poco alla differenziazione tra le

immagini e risaltando quelle che invece contribuiscono molto si definisce una base ridotta di

features. Questa selezione avviene anche nel motore di ricerca di Google: il page ranking fornisce

una graduatoria dove al top si trovano i siti con più connessioni.

L’algoritmo PCA agisce con operatori statistici sulle features. In generale, si ha che data una coppia

di features ( ), si definisce la matrice ( ) come:

Page 68: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

67

( ) ( )

( )

→ {

( )

( )

Ricordando che:

( ) ,( , -)( , -)-

∑( )( )

( ) ( )

Considerando N features componenti un Features Vector, ne viene calcolata la matrice di

covarianza, la quale indica la correlazione tra le features. Per ottenere una buona e semplice

valutazione del peso di una feature, è necessario ricondurre la matrice di covarianza ad una

matrice diagonale, quindi considerando tutte le features indipendenti.

( )

[

] → ( )

[

]

A questo punto si normalizzano i valori sulla diagonale (formata dalle varianze delle features)

effettuando poi la Feature Selection: verranno selezionate le features con una varianza con valore

prossimo all’uno, mentre quelle con un valore di varianza prossimo allo zero saranno scartate. Se

la matrice di covarianza non è di per se’ diagonale, la si deve triangolarizzare tramite l’utilizzo di

autovalori ( ) ed autovettori ( ) [Vedi SVD]. Si deve ricondurre S alla forma:

Si vuole quindi trovare la matrice S, tramite una matrice C triangolare di autovalori e una matrice P

di autovettori. Basta ricordare che:

( )

[

] , -

Scritta in questa forma, è possibile

risalire al peso delle features

direttamente dalla matrice C degli

autovalori: si scelgono le features

con autovalori maggiori, mentre

quelle con valori degli autovalori

prossimi allo zero si scartano.

Page 69: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

68

Nel caso di uno spazio 2D, si possono riconoscere due vettori di principal features, che

rappresentano le direzioni lungo le quali è concentrato il massimo contenuto informativo.

4. FATTORIZZAZIONE SVD

La tecnica di fattorizzazione nota come Singular Value Decomposition (SVD), è un metodo

algebrico che permette di decomporre una generica matrice A di dimensioni x in funzione di

una matrice diagonale di dimensione x . L’SVD viene utilizzato dall’algoritmo PCA per riuscire a

portare in forma diagonale la matrice di Covarianza. Esso si basa sul concetto espresso dal

Teorema Press+92: una qualsiasi matrice può essere decomposta come:

, - , - , -( , -)

Dove , - è una qualsiasi matrice di qualsiasi forma, che nel caso del PCA è rappresentata dalla

matrice di Covarianza non triangolarizzata. Le matrici , - e ( , -)

sono matrici le cui

colonne (vettori di singolarità di A rispettivamente SX e DX) sono ortonormali, ossia ortogonali

l’uno con l’altra. Per questa caratteristica le matrici U e V formano, moltiplicate le loro trasposte,

delle matrici di identità (il quartetto siffatto compone una base):

Infine la matrice , - è quella di più interesse siccome rappresenta la versione quadrata e

diagonale di A. Nel caso del PCA questa matrice rappresenta la matrice di covarianza

triangolarizzata. La particolarità principale di questa matrice è che i valori sulla diagonale, detti

valori di singolarità, sono tutti positivi e disposti in ordine decrescente: i primi valori sulla

diagonale rappresentano quelle features che possiedono un maggiore potere rappresentativo di

informazione rispetto agli altri. Con questo indice di peso è possibile effettuare poi il feature

selection e la riduzione dimensionale dello spazio. Il PCA con queste trasformazioni è come se

effettuasse una rototraslazione dello spazio, evidenziando le features più importanti.

Page 70: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

69

Precisamente, si può affermare che:

- I vettori di singolarità SX sono gli autovettori di

- I vettori di singolarità’ DX sono gli autovettori di

- I valori di singolarità non nulli e positivi di A (situati sulla diagonale di ) sono le radici

quadrate degli autovalori non nulli sia di e di

5. ALGORITMO PCA

Una descrizione più precisa della procedura può essere fatta tramite lo studio di un algoritmo che

come effetto ha proprio la PCA in ambito dell’image processing: lo scopo è quello di trasformare

una matrice formata dalla successione di vettori riga, formati dai Features Vectors delle

Immagini rappresentate nello spazio di cardinalità (quindi M dimensioni), in una matrice che

rappresenterà le stesse immagini ma in uno spazio di dimensione minore di quello di partenza,

dove sono considerate solo le features più importanti (appunto, solo ). Si vuole trovare quindi la

trasformata Karhunen-Loeve della matrice .

* +

Organizzazione della Matrice

Si suppongano N immagini all’interno di uno spazio di cardinalità M, rappresentate quindi come

vettori di M features. Chiamando con i vettori riga di features rappresentanti le

immagini:

1) Scrivere i vettori come vettori colonna, ogn’uno dei quali composto da M

righe.

2) Piazzare i vettori colonna in una singola matrice di dimensioni x .

Calcolo della Media Sperimentale

3) Calcolare la media lungo ogni dimensione .

4) Creare un vettore riga (dimensione x ) delle medie sperimentali trovate:

, -

∑ , -

Page 71: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

70

Calcolo delle deviazione dalla Media

La sottrazione della media è una parte fondamentale al fine di trovare una componente principale

che minimizzi l’errore quadratico medio dell’approssimazione della data.

5) Sottrarre il vettore delle medie sperimentali , - ad ogni colonna della matrice .

6) Salvare i risultati della sottrazione nella matrice B di dimensioni x :

Dove e’ un vettore riga di soli uno:

, -

Trovare la Matrice di Covarianza

7) Trovare la matrice empirica di covarianza C di dimensioni x dall’outer product di con

se stessa:

, - , -

Se i coefficienti di non sono tutti reali, la trasposta deve essere fatta come Trasposta

coniugata.

Trovare Autovalori ed Autovettori della Matrice di Covarianza

8) Determinare (tramite software) la matrice di dimensioni x di autovettori che

diagonalizza la matrice di covarianza :

Dove è la matrice diagonale degli autovalori di e di dimensioni x :

, -

, -

Gli autovalori e gli autovettori sono pari ed accoppiati: al -simo autovalore corrisponde il

-simo autovettore.

Valutazione del Contenuto Informativo di ogni Autovettore

Gli autovalori rappresentano la distribuzione di informazione lungo ogni autovettore, dove gli

autovettori sono una base per la famiglia di immagini.

9) Il contenuto informativo totale , - dell’ -simo autovettore è la somma dei contributi di

informazione lungo tutti gli autovalori:

, - ∑ , -

Page 72: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

71

Feature Selection

A questo punto si devono scegliere quelli che saranno gli autovettori che costituiranno la nuova

base dello spazio ridotto.

10) Salvare le prime colonne di come una nuova matrice di dimensioni x :

, - , -

11) Usare il vettore , - come guida per trovare una limitazione adeguata. L’obiettivo è di

trovare il più piccolo valore possibile di mantenendo un valore informativo di , - alto

(lossless compression). Supponendo che si voglia preservare il del contenuto

informativo durante la riduzione dello spazio, allora il più piccolo valore di dovrà

rispettare:

, -

∑ , -

Conversione delle immagini in Z-Score Matrix

12) Creare un vettore della deviazione standard sperimentale di dimensione x dalla radice

quadrata delle varianze sulla diagonale della matrice di covarianza :

* , -+ {√ , -}

13) Calcolare la Z-Score Matrix, ossia la matrice dei valori delle immagini privati della loro

media e normalizzati alla varianza:

Proiezione della Z-Score Matrix sulla Nuova Base

14) I vettori Proiettati, che rappresentano le Immagini di partenza proiettate sul nuovo spazio

ridotto e con solo le features principali, sono le colonne della matrice :

* +

Dove è questa volta la trasposta coniugata della matrice di autovettori. Le colonne

della matrice rappresentano la KLT dei vettori di features rappresentanti le colonne della

matrice si partenza.

Page 73: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

72

6. COMPATTEZZA DI UN DATABASE

Una volta selezionate le features principali per la rappresentazione di uno spazio di oggetti

multimediali che poi andrà a costituire un database, è possibile verificare la validità di tale

features, ossia il loro effettivo peso sulla rappresentazione del database rispetto le altre, tramite il

calcolo e lo studio di un fattore di qualità: la compattezza.

( ) ∑ (

)

La compattezza di un database ( ) non è altro che la somma delle similarità esistenti tra gli oggetti

multimediali ( e ). L’ottimizzazione di tale parametro è data dalla sua

minimizzazione, in quanto è preferibile avere un database non compatto

dove i vari oggetti sono facilmente distinguibili (scarsa similarità) , piuttosto

che uno compatto dove gli oggetti sono troppo simili e difficilmente

distinguibili (alta similarità’). Si può quindi dire che la qualità di una feature

è legata al suo effetto sulla compattezza del sistema:

- Una feature è buona se, quando questa è rimossa dallo spazio di

rappresentazione, si ha un aumento della compattezza del sistema.

- Una feature è cattiva se, quando questa è rimossa dallo spazio di

rappresentazione, si ha una diminuzione della compattezza del

sistema.

Page 74: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

73

CAPITOLO VII – VIR

1. VISUAL INFORMATION RETRIEVAL (VIR)

Una semplice query agisce su di oggetti dei quali si conoscono strutture e metodi (tabelle): si

muove all’interno di un “mondo chiuso” che è rappresentato dal database sul quale viene lanciata.

L’information retrieval (IR), invece, spazia su contenuti di tutti i tipi (testo, immagini, video suoni)

e di tutti i contesti (significati semantici, lessicali, logici) che devono essere portati all’utente. L’IR si

basa sul concetto di “mondo aperto” siccome non sono certe le dimensioni degli spazi sui quali si

dovranno effettuare ricerche e nemmeno i criteri con i quali affrontarli a priori (basti pensare alle

differenti features che possono essere utilizzate per rappresentare contenuti di vario tipo). L’IR è

quindi multidisciplinare, siccome basato su ingegneria, matematica, psicologia cognitiva,

linguistica, statistica e legge. I sistemi di IR automatizzati sono adoperati per ridurre l’information

overload, ossia la presenza di troppe informazioni che possono confondere l’utente in fase di

ricerca.

Una delle estensioni più interessanti dell’IR è quella legata al mondo della percezione visiva: Il

Visual Information Retrieval (VIR). Il suo scopo è di trovare in un database multimediale

immagini, o sequenze di immagini che sono di importanza per una query. Le immagini sono gli

oggetti più utilizzati su internet, questo perché sono un mezzo di comunicazione più potente del

solo testo e possono suscitare significati diversi a seconda dell’utente oppure comunicare più di un

messaggio con gli oggetti raffigurati. Per tale motivo i problemi principali relativi al VIR sono la

metodologia di rappresentazione dei dati presenti in una immagine (una sua descrizione) e

dell’indicizzazione del sistema (per snellirne l’accesso).

Nel mondo del VIR vi è una serie di informazioni legate all’utilizzo delle metadata che devono

poter essere manipolate e prese in considerazione:

- Content-Indipendent Metadata: sono metadati indipendenti dal contenuto dell’immagine

(formato, nome, data, location, ownership, etc …).

- Content-Dependent Metadata: metadati legati alla percezione dell’immagine (colore,

texture, movimento [per i video]).

- Content-Descriptive Metadata: sono metadati legati alla semantica del dato. Uno di questi

può essere l’annotation, ossia uno spazio dedicato ad una descrizione manuale di una nota

sull’oggetto. E’ uno strumento molto soggettivo che può svincolare facilmente da criteri

standard di classificazione delle informazioni. Per questo motivo esistono dei meccanismi

che descrivono formalmente i significati della data, tramite dei metadati standard

(utilizzabili anche dall’utente, ma predisposti dal sistema).

Di per se i metadati sono dei valori molto soggettivi, che quindi possono essere anche fraintesi nei

criteri di ricerca. Per questo motivo da soli non offrono una completa descrizione dell’oggetto.

Page 75: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

74

La Prima Generazione di sistemi VIR, permette di accedere agli oggetti multimediali tramite

stringhe di attributi. Le content-dependent metadata sono espresse dalle keywords, ossia delle

parole chiavi preimpostate e messe a disposizione dal sistema che permettono una descrizione

oggettiva dei contenuti e quindi una loro classificazione. Le content-descriptive metadata sono

espresse da delle annotazioni, spesso scritte da esperti (nel campo biomedico le annotazioni

hanno più importanza del database stesso). L’utilizzo di annotazioni è caratteristica dei Database

Annotati. Questi sistemi si basano sul text search engine (motori di ricerca sintattici) che cercano

la parola anche se immersa negli oggetti. Oracle Text utilizza la ricerca su testo tramite un indice

basato sulle inverted lists. E’ uno strumento molto potente siccome velocizza parecchio le

operazioni di ricerca. Queste tipologie di sistemi presentano dei problemi (numerati in ordine di

importanza):

1) Non si avrà mai una notazione che risponda a tutte le query testuali che si possono

ricevere.

2) La notazione consegna un ruolo di eccessiva responsabilità’ all’end user.

3) La soggettività della percezione visiva di un’immagine

4) Il problema della lingua, legato alle svariate lingue che si possono trovare e su cui si devono

eseguire query (il codice è sempre in inglese).

5) L’enorme quantità dei dati e metadati da gestire.

Per questi problemi, la sola notazione non è sufficiente a descrivere un oggetto multimediale.

La Nuova Generazione di sistemi VIR, deve quindi trovare un metodo puramente oggettivo che

riesca a descrivere con efficacia il contenuto multimediale di un database. L’oggetto può

descriversi da solo tramite le sue features, andando ad escludere quindi l’intervento umano e

l’ambiguità del contenuto visivo. Nelle tabelle di un database che utilizza il precalcolo delle

features principali, vi sono dei campi descrittivi aggiunti che servono proprio per la popolazione

delle features. Con queste nuove strutture cambia quindi anche il concetto di query, che in un tale

sistema si può sia esprimere con semplice testo (correlato al contenuto visivo degli oggetti)

oppure tramite un passaggio di un esempio al sistema (Query by Example) che risponderà con

oggetti con un alto valore di similarità’ a quello passato. In questi sistemi, è enfatizzato il

Page 76: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

75

Relevance Feedback: si effettuano query più precise, con più vincoli, su risultati di una query

precedente. Google Images effettua una ricerca su metadati ed annotazioni.

La grossa novità consiste nel fatto che il motore di ricerca è basato non solo sul testo, ma anche su

quelle che sono le features del dato multimediale che si sta cercando. Per questo è necessario

ampliare il concetto di query.

2. QUERY REMASTERED

Si è visto che nei sistemi VIR di prima generazione sono utilizzate parole chiavi e annotazioni (con

database annotati). Il loro maggior problema è legato alla soggettività di tali contenuti lasciati

all’utente. Nel tentativo di portare al massimo il grado di oggettività si è reso necessario

l’introduzione di altri criteri di specificazione dei contenuti multimediali di un database. Con

l’introduzione di altri criteri di ricerca (features, colori, etc.) si è quindi dovuto riscoprire il

significato di query, estendendola a versioni più complesse.

Query by Content

La Query by Content è la chiave dei nuovi sistemi VIR. Sono query utilizzate per individuare un

insieme di immagini che hanno uno specifico contenuto. Le normali Query SQL che agiscono su

database relazionali forniscono risultati certi e uguali, siccome agiscono nell’ipotesi di un mondo

finito limitato al database. Le Query by Content, invece, forniscono risultati non certi siccome

agiscono nell’ipotesi di un mondo aperto: data un’immagine, se si effettua una ricerca per

immagini simili (in funzione

delle features) in un database

multimediale, si dovrà tener

conto di una tolleranza nel

selezionare i riscontri.

Un’immagine sarà simile ad

un'altra quando queste

saranno simili con una certa

probabilità e non solo se sono

perfettamente uguali

(probabilità binaria). Una

Query by Content rappresenta

quindi diverse tipologia di

Query, che possono essere

anche lanciate in parallelo:

Page 77: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

76

- By Text: sono query di tipo testuali, riferite ad un contenuto multimediale. Il loro problema

risiede nel significato, siccome per essere efficaci, devono in qualche modo correlarsi alle

immagini (anche video, suoni, etc.) a cui si riferiscono.

- By Color: sono query di tipo grafico. Tramite la paletta dei colori, si può indirizzare la

ricerca su immagini con una colorazione simile a quella che si è indicata.

- By Shape: sono query di tipo grafico. Si cercano immagini simili ad una forma

(eventualmente fatta a mano: sketch).

- By Texture: query di tipo grafico. Si cercano immagini con una trama simile a quella

indicata.

- By Spazial Relationship: Si cercano immagini con una disposizione degli oggetti simile a

quella indicata da una relazione spaziale. Questa può essere eseguita tramite testo: ad

esempio “trova tutte le immagini con una casa con due alberi sulla destra”. Queste query si

dividono in due sottocategorie:

o Topological Queries: che tengono conto delle posizioni fisiche degli oggetti (a

destra di, sopra a, vicino a, etc.).

o Metric Queries: che tengono conto delle metriche delle immagini (angoli, distanze,

etc.).

Il search engine quindi deve gestire tutte le features ad hoc che sono implicitamente necessarie

alle query.

Query by Example

Mentre il testo deve essere interpretato e correlato a contenuti multimediali, l’utilizzo di esempi

(quindi immagini) all’interno della query, diminuisce la complessità delle operazioni. L’utente può

fornire un prototipo che viene utilizzato come immagine di riferimento dal sistema e dal quale

vengono estrapolate tutte le informazioni necessarie alla query. Anche qui il sistema risponderà

con una certa tolleranza, fornendo un insieme di riscontri. E’ un meccanismo molto potente

siccome permette il relevance feedback, e per questo molto utilizzato nei database. Si possono

fornire oggetti piuttosto che intere immagini: la ricerca sarà fatta concentrandosi sugli oggetti

presenti nelle altre immagini.

Query by Iconing

Sono query basate su concetti. Ogni oggetto viene rappresentato da un’icona. Data un’icona, è

possibile effettuare una query per cercare tutte le immagini con icone simili a quella di partenza.

Con più icone è possibile anche esprimere concetti spaziali: si può ricostruire la query della casa e

degli alberi attraverso l’utilizzo delle icone di una casa e di un albero ed indicandone con operatori

booleani delle relazioni spaziali. Questo meccanismo di query richiede delle interfacce

uomo/macchina molto complesse.

Page 78: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

77

3. FEATURES EXTRACTION

Tra la moltitudine di features a disposizione di uno spazio, quelle da considerare sono

indubbiamente le più importanti. A secondo della loro estrazione possono diversi in due categorie:

- Low Level Features: sono quelle di tipo percettivo e derivano direttamente dalla Raw Data

(bitmap) dell’immagine, siccome sono estrapolate dalle tabelle dei grigi. Queste sono

Distanza, Similitudine, Colore, Texture, Forma, Struttura e Movimento (per video).

- High Level Features: sono derivate direttamente da quelle di basso livello. Legate

principalmente a concetti e a semantica.

Esistono diversi approcci verso queste features: si possono scoprire prima quelle di basse livello e

poi quelle di alto, oppure viceversa, tramite degli algoritmi di image understanding. La

caratteristica principale che deve possedere una feature estratta da un’immagine è che deve

essere invariante a trasformazioni rigide come variazioni di luminosità, contrasto, scaling, punti di

vista, rotazione, etc.

Canny Edge Detection: è un algoritmo famoso e molto usato (presente anche nella libreria grafica

della intel). Permette un’individuazione degli edge molto precisa tramite metodologie di

differenze.

Page 79: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

78

4. DoG (Difference of Gaussian) FILTERS

Approssimano la laplaciana con delle gaussiane che individuano zone salienti (edges) all’interno di

un’immagine e sono pertanto filtri di secondo ordine. Il filtro gaussiano è un passabasso. Se si

processa l’immagine con due gaussiani differenti si ottengono due versioni filtrate della stessa

immagine. Sottraendole si esaltano gli edges di quella di partenza.

I filtri DoG sono utilizzati per individuare la Piramide Gaussiana, ossia una modo di descrivere

l’immagine in multirisoluzione. Data un’immagine, ne divido per due gli assi X e Y per poi passarvi

un filtro Gaussiano passabasso. Il risultato è una immagine più piccola che offre, se portata alle

dimensioni dell’immagine di partenza, una risoluzione più bassa che evidenzia solo le regioni

dell’immagine più importanti. Andando avanti per questa maniera, si ottiene una scala di immagini

che vanno poi a formare la piramide. Burt e Andelson sono due studiosi che hanno pensato a molti

algoritmi applicativi su tale piramide. Di fatti lavorare a diverse risoluzioni della stessa immagine

può essere vantaggioso in termini di accesso all’informazione e di velocità computazionale: se si

deve individuare la semplice posizione di un oggetto in un’immagine, non si ha necessità di

analizzarne la versione a massima risoluzione, ma è sufficiente quella a risoluzione minima. La

piramide è inoltre utile per la trasmissione progressiva di immagini, e in fase di ricerca per un

primo riscontro.

Page 80: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

79

5. TRASFORMATA WAVELET

Si basa sul concetto di mulirisoluzione ma utilizza meccanismi computazionali differenti alla

gaussiana: sfrutta filtri che sotto certe condizioni processano l’immagine in un determinato modo.

Viene utilizzata nei formati MPEG e JPEG2000.

Una funzione ( ) è una wavelet ortonormale se può essere usata per definire una base di

Hilbert che è costruita come la famiglia di funzioni di:

( ) ( )

Una trasformata Wavelet Monodimensionale è data da:

[ ]( )

√ ∫ (

) ( )

Sulle immagini si deve utilizzare la forma bidimensionale. Sotto opportune ipotesi, la trasformata

wavelet si ottiene con due filtri monodimensionali, uno applicato sulle X ed uno sulle Y. Data

un’immagine la trasformazione avviene:

Page 81: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

80

La convoluzione sottintende l’utilizzo di una maschera. Questo filtro, se scelto opportunamente,

può fornire una ricostruzione perfetta dell’immagine trasformata. L’antitrasformata è invece:

Da una sola immagine tramite una trasformazione se ne possono generare 4, ogn’una delle quali

con caratteristiche diverse. La risultante dal doppio filtro passabasso risulta essere la stessa

immagine di partenza priva degli edge. I filtri che invece hanno utilizzato dei passa alti,

evidenzieranno dei contributi particolari dovuti agli edge dell’immagine. Si evidenziano le

componenti discontinue.

Page 82: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

81

La trasformata è iterabile, quindi riapplicabile sull’immagine LL. Questa trasformazione presenta

l’immagine in un formato simile a quello piramidale gaussiano, e permette di individuare dei

contenuti e delle particolarità a frequenze diverse. Per le sue caratteristiche, la wavelet trasform è

utilizzata per la compressione della data siccome è loosy con perdite molto piccole. La

trasformazione corrisponde ad una compressione e la antitrasformazione ad una decompressione.

È molto importante conoscere anche la base della wavelet. La base di Haar è la più semplice di

tutte, ed è quella che effettua nient’altro che un thresholding. Le basi di Daubechi sono molto

utilizzate nell’image enhancement in maniera locale (si migliorano solo alcune zone delle immagini

con wavelet apposite).

Page 83: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

82

6. IMAGE FEATURES

Per le immagini, si parla di features di tipo:

- Globali: relative all’intera immagine.

- Locali: relative a parte di un’immagine, specificatamente ad oggetti.

Quelle finora descritte sono di tipo globale e, una volta estrapolate, vengono poste negli appositi

descrittori di ogni immagine. Le features principali per un’immagine riguardano i Colori, la

Texture, la Shape e lo spazio.

Colore

E’ una feature di tipo globale. Per trovare il descrittore del colore di un’immagine si deve definire

in primis uno Spazio (RGB, HSI, CMY, etc.) dal quale si possono estrapolare le features.

Considerando lo spazio RGB, si deve passare alla caratterizzazione dei colori. Una delle tecniche

più comuni è quella di utilizzare l’Istogramma dei Colori: si costruisce andando prima a

discretizzare l’immagine, a differenziarne i colori e a contarne poi le occorrenze per ogni pixel così

da ottenere una popolazione dei colori. Da tale istogramma (eventualmente normalizzato) si

possono estrapolare i colori principali, formando così un vettore delle features, di cardinalità

minore rispetto ai colori totali dell’immagine, che contiene elementi di tutti i canali cromatici (R,G

e B). Si è ridotta quindi la cardinalità di colori su ogni canale, ed il vettore formatosi è

discriminante e compatto. Definito l’istogramma dei colori, si procede ora con stabilire una

metrica e quindi a definire il concetto di distanza e di similitudine. Date due immagini e , con

relativi istogrammi dei colori e si definisce:

Questa è una funzione che dati due istogrammi e restituisce un numero, che ne indica il

grado di similarità’. Chiamando con un generico colore e con ( ) il numero di pixels di colore

nell’immagine , si possono definire le funzioni di distanza di tipo e :

( ) ∑| ( ) ( )|

( ) √∑( ( ) ( ))

Un’altra distanza famosa degli anni 90 tutt’ora utilizzata è quella di Swan and Ballard: si da una

definizione alternativa di distanza specificatamente per gli istogrammi. Per ogni conteggio, si

prende il minimo tra i due punti e lo si normalizza. Più che distanza, è una funzione di somiglianza

Page 84: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

83

basata su sovrapposizione (Overlapping Function), che indica come i due istogrammi delle

immagini si sovrappongono. Se l’immagine è calcola con se stessa, viene 1.

( )

∑ ( ( ) ( ))

∑ ( )

Nonostante la definizione di queste metriche del tutto valide, l’istogramma resta una

caratterizzazione del primo ordine, quindi non univoca: due istogrammi simili non corrispondono

con certezza a due immagini simili. Viceversa, due istogrammi differenti sono sicuramente

corrispondenti a due immagini diverse. L’utilizzo degli istogrammi è quindi adoperato più per

scartare immagini ad una prima e sommaria ricerca piuttosto che per considerarle. Esistono

comunque distanze definite da metriche più complesse e più funzionali. Una tra queste è la

metrica descritta nell’articolo IEEE di Pass and Zabih “Histogram refinement for content-based

image retrieval (1996)”, che viene incontro al problema della distribuzione dei colori nello spazio

degli istogrammi: considerando ad esempio due macchie su di un’immagine, una di colore rosso

ed una di colore verde, se si scambiano di posto e si ricalcola l’istogramma, questo risulta identico

nonostante l’immagine sia completamente diversa da quella di partenza. Viene definito il Color

Autocorrelogram, che mette in relazione le proprietà cromatiche di un’immagine con il suo spazio:

dati due pixels e a distanza l’uno dall’altro, si definisce il coefficiente:

( ) (| | )

Che rappresenta la probabilità con cui i due pixels si trovino a distanza (limitata superiormente

dalla dimensione massima dell’immagine) e che il pixel sia dello stesso colore di . Questo

coefficiente lega quindi informazioni cromatica ad informazioni spaziali ed è utilizzato per definire

una metrica, e quindi una distanza:

| | ∑ ( )( )

( )( )

( )( )

( )( )

il denominatore normalizza la distanza. Questa metrica indica se, data una distanza e

un’immagine , nell’altra immagine vi è una distribuzione di colori simile.

Texture

Viene utilizzata come feature specialmente per la caratterizzazione di una full-image o di immagini

particolari. La tessitura è molto difficile da schematizzare: non esistono parole adatte per poterla

descrivere in maniera univoca e completa, perciò la si esprime in formalismi matematici quindi con

valori numerici. La texture può essere Periodica o Random a seconda che si ripeta o meno.

L’elemento di distintivo di una texture rispetto un’altra è la sua frequenza e quindi il suo livello di

dettaglio. Tuttavia le Tamura Features sono le caratteristiche più utilizzate per descrivere le

texture:

Page 85: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

84

. /

∑ ( )

(| | )

{

| |

( )

Forma

È la più complessa delle features principali: per individuarla si

usano diversi approcci, da quelli numerici a quelli spaziali. Un

esempio di approccio spaziale è il Matching Elastico.

Si inserisce l’oggetto B nell’oggetto A e ne si calcola la distanza

tra i punti corrispondenti dei perimetri. Le figure saranno più

simili quanto minore sarà tale distanza.

Pixels Features

Sono le features legate ai pixels ( ) dell’immagine:

∑ ( )

( ) ( ( ))

∑( )

( )

∑ ( )

| |

Page 86: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

85

7. SCALE INVARIANT FEATURE TRANSFORM (SIFT)

Tutti i sistemi di IR moderni utilizzano il

SIFT. Le features di tipo SIFT sono Locali:

si riconoscono gli oggetti a maggiore

contrasto nelle immagini così da creare

degli elementi di comparazione con delle

altre: nell’immagine del camioncino, sono

riconosciuti salienti determinati tratti del

modello dell’oggetto, i quali sono poi

ritrovati nella seconda immagine.

La SIFT è molto utilizzata siccome le features che tratta risultano essere Invarianti a:

- Image Scaling: per tal motivo la SIFT è adoperata a livello commerciale.

- Traslazione e Rotazione.

Sono invece parzialmente invarianti a:

- Cambi di illuminazione.

- Punti di Vista.

Il funzionamento si divide in quattro parti. L’obiettivo è di trovare gli oggetti salienti

dell’immagine, attorno ai quali si creano descrittori e distanze.

1) Scale-Space Extrema Detection

Si tratta dell’individuazione degli estremi, ossia i punti con maggior impatto visivo nell’immagine.

Gli estremi vengono cercati su più scale di risoluzione della stessa immagine (multiscaling). Le

scale sono dimensionate attraverso l’utilizzo di un filtro (sia di Smoothing o di Sharpening). Si

utilizza il DoG che in particolare offre una rappresentazione piramidale dell’immagine, perfetta per

una analisi multiscala. Si ricorda che il suo funzionamento è legato alla differenza di due versioni

dell’immagine originaria convoluta con due filtri gaussiani con valori di differenti, che esalta i

dettagli.

( ) ( ) ( )

( ) ( ) ( )

Con ( ) è un prodotto di convoluzione. Tale prodotto genera tante versioni dell’immagine,

ognuna versione smoothed dell’originale (siccome si sono sottratti i dettagli). Questa serie di

immagini rappresenta lo spazio delle scale dell’immagine originaria, tutte con la stessa sua

risoluzione ma con scala diverse. Le immagini convolute sono raggruppate in ottave ed il valore

è scelto in modo che si ottenga un numero fissato di immagini convolute per ottava. Le immagini

Page 87: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

86

DoG sono quindi prese dalle immagini adiacenti (Gaussian-

blurred). Successivamente si vanno ad identificare gli estremi

scegliendoli come minimi o massimi tra le immagini DoG di tutte

le scale. Si confronta ogni pixel nelle immagini DoG con i suoi otto

vicini e con i nove del piano inferiore e superiore di ogni scala. Se

il pixel è il più piccolo o il più grande fra tutti, allora è considerato

come Candidato (estremo) per essere un Keypoint.

2) Key Point Localization

Siccome dal punto uno si ha un numero molto elevato di estremi, è necessaria una selezione

(filtraggio) dei punti che, tra gli estremi, sono i meno rappresentativi. Un primo criterio per la

selezione è quella relativa alla posizione geometrica degli estremi: se un punto scelto si trova

troppo distante da un edge, all’interno di una zona omogenea, è inutile portarlo avanti come

keypoint quindi come futura feature. Un secondo criterio di filtraggio può essere legato quindi a

quei punti che, più in generale, sono poveri di contrasto (più soggetti al rumore).

3) Orientation Assignment

In questo passo, ad ogni keypoint è assegnata una o più direzioni a seconda del gradiente delle

direzioni locale dell’immagine. Questo è indispensabile per garantire un’indipendenza alla

rotazione del keypoint. Data una immagine Gaussian-smoothed ( ) ne si fissa la scala cosi’

da ottenere una versione dell’immagine ( ) su cui si può lavorare col gradiente. Si definiscono

quindi la magnitudine ( ) e l’orientamento ( ) del gradiente dell’immagine come:

( ) √( ( ) ( )) ( ( ) ( ))

( ) ( ( ) ( )

( ) ( ))

Page 88: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

87

Questi fattori sono calcolati per ogni pixel in una regione di

vicinato intorno al keypoint nell’immagine ( ). Viene

formato un Gradient Orientation Histogram di 36 bins, ogn’uno

rappresentate . I picchi in questo istogramma sono gli

orientamenti dominanti. I picchi massimi e quelli al loro 80%

sono corrispondenti ai keypoints.

4) Key Point Desctiptor

I punti precedenti hanno prima riconosciuto i keypoints e poi hanno assegnato loro delle direzioni.

Resta ora solo l’individuazione dei descrittori che rappresentano la feature vera e propria. A

partire dalla rappresentazione dei gradienti dell’immagine si estrapolano i descrittori SIFT. Sono

messi in evidenza non il colore e neanche la tessitura, bensì la luminosità e il contrasto in relazione

ai vicini. Sono considerati i Gradient Orientation Histograms 4x4 dei vicini del keypoint,

estendendo così l’analisi ad un vicinato 16x16. Il descrittore diviene un vettore di tutti i valori di

questi istogrammi.

Con i punti estratti come features SIFT è possibile effettuare un Matching tra più immagini,

controllandone la similitudine. Con una semplice variazione di scala, le SIFT restano identiche

(corrispondenza 1:1). Nell’immagine 2 si vede che i punti dell’immagine a SX si ritrovano a DX. A è

contenuta completamente in B. Questi riconoscimenti sono indipendenti dalle rototraslazioni

(Grazie al Gradiente).

Page 89: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

88

8. PRECISION AND RECALL

Nell’ambito del IR, la Precision e il Recall sono due fattori di qualità per descrivere i risultati di una

ricerca. La Precision è legata alla frazione di documenti Rilevanti per la ricerca:

|* + * +|

|* +|

Il Recall è invece legato alla frazione di documenti che sono rilevanti alla query e che quindi sono

stati riportati come risposta:

|* + * +|

|* +|

Si prenda per esempio il caso in cui si utilizzi un sistema di IR che riconosca dei cani nelle immagini

e che data un’immagine con 9 cani il sistema risponda con 7 risultati rilevanti su 9. Se di queste 7

risposte, 4 sono veramente cani, quindi valide, e le altre 3 sono conigli, allora si avrà che la

precisione sarà ⁄ mentre il recall sarà ⁄ .

Page 90: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

89

CAPITOLO VIII – COMPRESSIONE

Buona parte delle tecniche utilizzate per la rappresentazione di immagini, sono usate anche per la

rappresentazione di audio e video.

1. VIDEO BASICS

Un segnale Video può caratterizzarsi a seconda della suo formato (Analogico or Digitale) e della

sua composizione (canali e segnali).

L’RGB-Video è uno dei segnali video più utilizzati nei comuni sistemi di visualizzazione per

computer: il segnale è diviso in tre canali (R, G e B, quindi tre cavetti) indipendenti (no Crosstalk),

che trasmettono con qualità’ di colore massima. Esistono tuttavia anche altri tipi di segnali video,

basati su concetti di trasmissione diversi.

Il Composite Video consiste nell’utilizzare un singolo segnale portante (un solo cavetto) formato

dall’unione di due segnali: il segnale di Chrominanza, che offre il contributo cromatico del segnale

CV, ed il segnale di Luminanza, che offre contributi relativi ai soli livelli di grigi del segnale CV. Il

segnale CV è quindi composto da un segnale a colori più uno in bianco e nero. L’unione in un unico

segnale fa si che vi siano delle interferenze tra i due canali.

L’S-Video utilizza due segnali separati (due cavetti) ed è un compromesso tra il CV e l’RGB. In

questo caso il segnale di Luminanza sarà indipendente dal segnale di Chrominanza, rendendo

quindi nulle le interferenze tra i due (no Crosstalk). Tuttavia il segnale di Chrominanza sarà

strutturato in maniera composta (formata a sua volta da due segnali). La ragione principale per

separare i due segnali riguarda l’importanza cruciale del contributo della Luminanza: questa infatti

trasporta informazioni relativi ai grigi del video. I grigi sono percepiti con più accuratezza

dall’occhio umano, che riesce con questi a percepire più dettagli e profondità’ rispetto ad una

palette fatta solo di colori. Per questo si preferisce mandare un segnale più corposo di Luminanza

associato ad uno meno complesso di Chrominanza.

Un segnale Analogico video è un segnale ( ) continuo nel

tempo al cui ogni occorrenza è associato un Frame

(immagine). In alcuni sistemi è utilizzato il sistema di scansione

video Interlaced (interlacciato): per diminuire il costo in banda

di trasmissione, ogni frame viene associato all’unione di due

componenti, una formata dalle righe pari e l’altra dalle righe

dispari del frame. Siccome l’acquisizione, la trasmissione e la

visualizzazione (effettuata utilizzando il deinterlacing) in

questo formato dipende dalla sincronizzazione di queste due

componenti, è possibile avere dei problemi relativi alla loro cattiva coordinazione. In figura è

Page 91: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

90

mostrato il caso in cui vi è un sistema di riproduzione con un cattivo deinterlacing dove le righe di

due frame diversi sono sovrapposti in un'unica immagine. L’interlacing offre un vincolo di libertà

sulla scelta del rapporto velocità (fps) e qualità del video: scegliere solo una delle due componenti

può risultare sufficiente per la visualizzazione video ad alta velocità ma bassa qualità, viceversa per

ottenere il massimo della qualità video si considerano contemporaneamente entrambe le

componenti.

I principali segnali TV analogici si differenziano a seconda del loro sistema di codifica. NTSC è usata

negli USA ed in Giappone, in Europa e in Cina vi è la PAL. L’FPS (frame per second) non deve essere

inferiore a 25, altrimenti il video viene percepito “a scatti”. Il canale Y rappresenta la Luminanza, le

altre le componenti della Chrominanza.

Segnali video Digitali sono più facili da trattare (video processing) e per questo più utilizzati degli

analogici. Questi nascono dalla digitalizzazione di video analogici (sottoposti a campionamento e

quantizzazione) oppure da una acquisizione diretta in formato digitale. Un altro vantaggio che il

formato digitale ha rispetto l’analogico consiste nella migliore tolleranza SNR (segnale su rumore)

che questo offre. Inoltre tutti i filtri adoperati per le immagini possono essere utilizzati anche per

video (siccome questi sono nient’altro che successioni di immagini). Uno dei maggiori standard per

video digitali è il CCIR-601, istituito dal CCIR (Consultative Committee for International Radio), il

quale utilizza l’interlacing scan.

Con l’avvento delle visualizzazione wide screen si è assistito alla nascita della TV ad alta definizione

(HDTV). L’idea non è quella di aumentare la risoluzione, bensì di offrire più pixel per la

rappresentazione di una sottoarea (si aumenta la dimensione delle colonne nella matrice dei

valori). Se il numero di pixel è maggiore a parità di area, si avranno più dettagli.

Page 92: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

91

Nella voce “Picture Rate”, la P sta per Progressive Scan (non interlaced), mentre la I sta per

Interlaced.

2. AUDIO BASICS

Dal punto di vista fisico il suono è un fenomeno di natura macroscopica che coinvolge le molecole

dell’aria. Con la loro compressione e la loro estensione sono create delle onde sonore, che

vengono trasmesse nell’aria per essere poi ricevute dall’orecchio umano. Ad esempio gli speaker

nei sistemi audio vibra, creando suoni che sono percepiti dall’orecchio umano. Il suono è di natura

puramente analogica, ma per poter essere processato deve essere necessariamente digitalizzato.

Il Campionamento rappresenta la discretizzazione del segnale analogico lungo l’asse temporale

con un certo periodo di sampling. A seconda di tale periodo si può constatare la fedeltà del

segnale digitalizzato rispetto quello analogico da cui deriva. Frequenze tipiche di campionamento

sono 8KHz (Segnali HD sono a 48KHz). Per ottenere un buon campionamento senza presenza di

Aliasing, deve essere rispettata la condizione di Nyquist:

Con frequenza di sampling e frequenza massima

del segnale campionato. Nei sistemi analogici è sempre

presente un contributo di rumore che si aggiunge al

segnale puro. Per poter ottenere un indice di

valutazione della veridicità di un segnale, si deve quindi

andar a pesare il rapporto in potenza del segnale

trasmesso con quello del solo rumore (SNR).

Tutti i livelli di suoni sono espressi in decibel in relazione alla loro potenza. A seconda della loro

intensità possono essere dannosi o meno per l’orecchio umano. La Quantizzazione è invece la

Page 93: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

92

discretizzazione del segnale lungo l’asse delle ampiezze (o del voltaggio). Più bit sono utilizzati per i

livelli con cui si è quantizzato, maggiore sarà la qualità del segnale (e, ovviamente, maggiore sarà il

Data Rate).

Il MIDI (Musical Instrument Digital Interface) è uno standard per suoni puramente digitali. I suoni

sono differenti dai normali segnali audio. Questi sono creati tramite degli script (in linguaggio

MIDI) esclusivamente per far parlare tra loro degli strumenti musicali con interfaccia midi connessi

ad un host intelligente (computer), indicando di ogni nota la tonalità, l’intensità e la durata. In ogni

scheda audio vi è l’interfaccia MIDI che permette di poter gestire e leggere gli script scritti con

questo standard. Lo standard prevede l’utilizzo di canali, ogn’uno dei quali corrispondente ad

un diverso strumento (CH1 = piano, CH10 = drums, etc.), che sono rappresentati dagli ultimi bits

di un messaggio MIDI. I messaggi midi sono costruiti con un formato logico ben definito (sequenze

di bits predefinite) e spediti in maniera seriale ai sintetizzatori, i quali leggendo tali messaggi,

andranno semplicemente a riprodurne il contenuto, qual ora il canale indicato nel messaggio sia

quello a cui il sintetizzatore è dedicato.

Il paragone tra MIDI e audio digitale è lo stesso tra immagine a grafica vettoriale e bitmap.

Per ulteriori approfondimenti riguardo l’argomento, si rimanda ai numerosissimi manuali in rete e

alle slide relative al corso 2011/2012.

Page 94: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

93

3. MULTIMEDIA DATA COMPRESSION

La compressione audio e video è molto più importante e delicata rispetto a quella delle sole

immagini: si deve infatti riuscire a ottimizzare il più possibile la dimensione di tali file riducendone i

bit di rappresentazione, siccome di norma risultano essere molto estesi. Attraverso dei Codec

(encoder/decoder scheme) si cercano compression ratio sempre vantaggiose.

Se la compressione comporta perdita di contenuto informativo, allora si dice Lossy. Se non

comporta alcuna perdita si dice Lossless. In generale la compressione è indicata da:

Dove è il numero di bits prima della compressione e dove sono il numero di bit dopo la

compressione. Normalmente si cerca di ottenere altrimenti non si avrebbe riduzione di

rappresentazione. La compressione quindi va a creare un nuovo alfabeto con meno simboli

rispetto quello di partenza. Per poter conoscere un riferimento per la cardinalità del nuovo

alfabeto, quindi per misurare la bontà della compressione, si utilizza l’Entropia. Essa rappresenta il

grado di disordine in un sistema: è una somma pesata relativa alle decisioni che si prendono nella

trasmissione di un set di dati. Le occorrenze più comuni saranno quelle rappresentabili con meno

bits. Sia un alfabeto * + l’entropia sarà quindi definita come:

( ) ∑

Dove è la probabilità dell’occorrenza di e dove

indica il contenuto informativo di

(detto anche self-information). L’entropia rappresenta il valore medio minimo di bit ( ) necessari

per rappresentare ogni simbolo dell’alfabeto compresso , ossia il limite inferiore al quale deve

tendere la dimensione media dei simboli prodotti da un encoder. L’entropia quindi mira a

evidenziare, in un alfabeto, i simboli le cui occorrenze sono più frequenti rendendoli ottimi

candidati per la compressione.

Ad esempio, si consideri un’immagine ad 8-bit di soli grigi distribuiti uniformemente (figura ‘a’): si

avranno 256 possibili elementi, tutti con la stessa occorrenza, che formano l’alfabeto . Si vuole

quindi trovare una dimensione di rappresentazione dei simboli per il nuovo alfabeto compresso :

Page 95: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

94

In questo caso si presenta un “worst case” siccome l’entropia corrisponde al numero di bits di

partenza. L’immagine non è comprimibile, siccome non vi è alcuna similitudine tra un pixel ed i

suoi vicini. Si consideri adesso una immagine a 1-bit di soli grigi dove ⁄ dei pixels sono scuri e

⁄ sono chiari (figura ‘b’). Si avrà che:

Si evince che l’entropia risulta essere minore del bit necessario per rappresentare questa

immagine, e quindi vi è una possibilità di compressione. Da notare che il peso sulla somma dei

pixels con maggiore occorrenza risulta minore di quello relativo ai pixels con minore occorrenza. In

generale l’entropia è maggiore quando la PDF è uniforme e minore quando non lo è.

Run-Lenght Coding (RLC)

E’ la più semplice tecnica di compressione utilizzabile: consiste nel comprimere sequenze di

occorrenze uguali o simili in una rappresentazione “a gruppi” formata da un valore

rappresentativo ed il conteggio delle occorrenze. Ad esempio, se in una immagine si hanno che i

valori dei pixels di un viso hanno simile graduazione di colore (gruppi continui di colori densi), è

possibile comprimerli in un unico pixel moltiplicato le direzioni in cui la macchia (intesa come

regione da comprimere in questo caso) si estende. Un altro esempio può essere ritrovato nella

semplice compressione lineare:

in ogni caso, lo RLC non è da applicare a sorgenti fortemente variabili, siccome in quei casi

andrebbe ad aumentare la dimensione di rappresentazione piuttosto che a diminuirla:

Page 96: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

95

Variable-Lenght Coding (VLC)

E’ una metodologia di codifica top-down, che utilizza l’algoritmo Shannon-Fano:

1) Ordina i simboli e ne conta le occorrenze.

2) Si divide il simbolo ricorsivamente in due parti con approssimativamente lo stesso numero

di conteggi.

Supponendo di voler applicare tale algoritmo sulla parola “HELLO” e di assegnare ai rami SX

dell’albero il valore logico 0, si avrà che:

Di tale codifica è possibile calcolarne l’entropia per misurarne la bontà:

I bit necessari per rappresentare un simbolo

del nuovo alfabeto compresso saranno

quindi in media:

Page 97: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

96

Huffman Coding

Differentemente dal VLC, è una tecnica di codifica bottom-up con un rendimento migliore

dell’algoritmo Shannon-Fano:

1) Stilare una lista di simboli e conteggiarne le occorrenze.

2) Ripetere finche’ non rimane un unico simbolo:

a) Considerare dalla lista i simboli con occorrenza minore e creare un sottoalbero che

abbia questi come foglie ed i restati simboli come padre.

b) Assegnare la somma delle occorrenze al padre e inserirla nella lista così che l’ordine

è invariato.

c) Cancellare i simboli foglia dalla lista.

3) Assegnare un codice ad ogni foglia a seconda della path che si compie per raggiungerla

dalla radice.

Alla ‘O’ corrisponderà il codice 111 e così via. I simboli che occorrono più frequentemente

finiscono per essere rappresentati con il minor numero di bits. La codifica di Huffman presenta

delle proprietà molto importanti:

- Prefisso Unico: nessun codice di Huffman è un prefisso di un altro più esteso, questo evita

ambiguità di rappresentazione.

- Ottimizzato: è una codifica a minima ridondanza.

- I due simboli meno frequenti hanno la stessa cardinalità e differiscono per un solo bit.

- Dati due simboli e se allora dove è il numero di bit nel codice di .

- La dimensione media dei simboli di risulta essere:

Page 98: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

97

4. LOSELESS IMAGE COMPRESSION

Si tratta si algoritmi di codifica che permettono una compressione senza perdita. Un semplice

approccio a questa categoria di coding è quello di utilizzare dei filtri differenziali. Si evidenzieranno

quelle che sono le differenze più grandi dell’immagine, così da poter capire quelle zone sono più

omogenee e quindi candidate per la compressione. Data un’immagine ( ) posso ottenere

un’immagine differenza (processata con un filtro differenziale) ( ) tramite l’utilizzo di un

semplice filtro di differenza:

( ) ( ) ( )

Oppure tramite l’utilizzo di un filtro Laplaciano 2D discreto:

( ) ( ) ( ) ( ) ( ) ( )

Le differenze tra le due immagini ottenute è evidente dal

cambiamento dell’istogramma. l’istogramma dell’immagine

iniziale ( ) è popolato in maniera approssimativamente più

lineare e quindi è indice di un’entropia più alta, mentre quello

dell’immagine processata ( ) risulta essere meno lineare,

con un evidente picco nelle occorrenze centrali, e quindi indice

di un’entropia più bassa.

5. LOSSY IMAGE COMPRESSION

Una delle maggiori pecche dei sistemi di compressione Lossless è che la ratio di compressione non

risulta essere mai troppo distante dall’unità. Per questo motivo si utilizzano le tecniche Lossy, che

offrono un tradeoff tra la ratio di compressione e contenuto informativo perso. La dipendenza che

intercorre tra ratio e perdita è alla base dei concetti di Lossy compression: a seconda dell’utilizzo

delle immagini è possibile scegliere ratio enormi a scapito della qualità dell’immagine (web

images), oppure ratio minori a guadagno della qualità dell’immagine (biomedical images). E’

necessario quindi introdurre degli indici per constatare la differenza tra un’immagine e la sua

versione compressa.

Se si è interessati a conoscere la differenza media tra i pixels si utilizza l’errore quadratico medio

(MSE: mean square error):

∑( )

Page 99: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

98

Dove rappresenta la sequenza di dati in ingresso, la sequenza di dati ricostruita e la

lunghezza della sequenza.

Se si e’ interessati alla dimensione dell’errore relativo al segnale, si può misurare il solito SNR:

Dove è la varianza della sequenza di data originale mentre

è il MSE.

Se si e’ infine interessati all’errore sul valore di picco, si utilizza il peak-signal-to-noise ratio

(PSNR):

Discrete Cosine Transform

Il ruolo della DCT è quello di decomporre il segnale sorgente in due componenti, una continua (DC)

in bassa frequenza ed una alternata (AC) in alta frequenza. La DCT formalizza la nozione di

frequenza spaziale (intesa come quante volte i valori dei pixel cambiano in una sottoarea

dell’immagine) con una misura di quanto i contenuti dell’immagine cambiano in corrispondenza

del numero di cicli di un coseno: lega la variazione del pixel spaziale ad una variazione angolare.

Una volta effettuata la DCT, si utilizza la IDCT per anti-trasformare.

In generale, data una funzione ( ) rappresentate una sottoarea di un’immagine, è possibile

applicare la DCT per ottenere una nuova immagine ( ) della stessa dimensionalità’ di ( ):

( ) ( ) ( )

√ ∑ ∑

( )

( )

( )

Dove ; ; e dove le costanti ( ) e ( ) sono determinate

da:

( ) ,√

Tale trasformazione risulta essere Lineare, siccome vale la relazione:

( ) ( ) ( )

Con e costanti e e funzioni, variabili o costanti. Si può concludere che quindi la DCT

trasforma un’immagine generica ( ) in un dominio spaziale, in un’altra ( ) in un dominio a

frequenza spaziale.

Page 100: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

99

Si analizzi il caso particolare della 2D-DCT, utilizzata per le immagini:

( ) ( ) ( )

∑∑

( )

( )

( )

La corrispondente 2D-IDCT:

( ) ∑∑ ( ) ( )

( )

( )

( )

Entrambe per .

Al fine di ottenere una migliore compressione, le basi, rappresentate dai contributi di ( ) nelle

espressioni devono essere ortonormali. Date le funzioni ( ) e ( ) esse sono ortonormali se

vale:

{

∑[ ( ) ( )]

∑[ ( ) ( )]

Di fatti, si può dimostrare che:

{

∑*

( )

( )

+

∑* ( )

( )

( )

( )

+

Page 101: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

100

6. IMAGE COMPRESSION

JPEG

E’ lo standard più utilizzato per la compressione di immagini immagini. Creato dalla “Joint

Photographic Experts Group”, utilizza una compressione Lossy dell’immagine utilizzando il metodo

della DCT.

L’encoding, come visto da figura, verte su cinque step fondamentali:

1) Trasformazione da RGB a YIQ o YUV. Siccome non si possono considerare avere tutti i colori

di RGB ne si considera un sottoinsieme (sottocampionamento colori). L’immagine è poi

suddivisa in blocchi 8x8.

2) Applicare la DCT sui blocchi così da ottenere i corrispondenti coefficienti:

( ) → ( )

Applicare la trasformazione sui blocchi di un’immagine comporta il disaccoppiamento di un

blocco dai suoi vicini. Questo provoca, con ratio di compressione molto alte, l’effetto

“blocky” dove l’immagine assume un aspetto simile all’effetto pixel.

3) Si effettua la quantizzazione dei blocchi di coefficienti ( ). Tale processo e la principale

causa di perdita di informazione nell’intero processo di compressione ed è anche quello

che determina il grado di compressione al processo.

( ) ( ( )

( ))

dove ( ) è una funzione di approssimazione. La bontà della compressione dipende

dal numero di quanti che si utilizzano nella quantizzazione: più ne sono, migliore è la

Page 102: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

101

qualità dell’immagine ma minore è il grado di compressione. La matrice ( ) è costruita

in modo da minimizzare

le perdite e massimizzare

la compressione. Essa

presenta valori maggiori

negli angoli inferiori

destri, proprio per

minimizzare le perdite in

alte frequenze.

4) La preparazione all’encoding avviene mediante l’ordinamento a “ZigZag” dei blocchi

quantizzati ( ): venendo scansionati in tale maniera aumenta la probabilità di trovare

numerose successioni di valori simili.

5) La DCT separa due componenti sul segnale, una DC ed una AC. La componente alternata

viene trattata con un RLC encoder, attuando quindi una compressione lossless. Sulla

componente DC viene applicato la Differential Pulse Code Modulation (DCPM), che,

sommariamente, prevede l’approssimazione di gruppi di bit simili ad un gruppo di

differenze calcolate tra coppie consecutive di bit del gruppo di partenza.

L’unico grado di libertà su cui si può agire per ottenere una compressione JPEG ad hoc, è il tasso di

quadrettatura, che delimita la dimensione dei blocchi in cui è divisa l’immagine e quindi un

consequenziale mutamento dell’effetto blocky. Esistono quattro tipologie diverse di utilizzo del

codificatore JPEG:

- Sequential Mode: è il modo di default. Esso effettua la codifica di un’immaginel in un

singolo SX-DX e TOP-BOT scan.

- Progressive Mode: consiste nell’effettuare più scansioni dell’immagine così da ottenere

diversi “strati” di quest’ultima. Ogni strato avrà un rapporto compressione/qualità

differente. Il progressive mode è molto utilizzato nelle applicazioni WEB siccome in

quest’ambito si è indirizzati alla velocità rispetto alla qualità e per questo si usa una

codifica “raw” fatta con una scansione veloce che restituisce un’immagine a bassa qualità

ma piccole dimensioni. Per ottenere immagini migliori si effettuano poi “passate”

incrementando la dimensione dell’immagine compressa.

- Hierarchical Mode: consiste nell’effettuare un encoding multistrato dell’immagine,

ottenendone più versioni a diverse risoluzioni. Simile al progressive Mode.

- Lossless Mode: utilizza filtri differenziali senza encoding. Poco utilizzato siccome la ratio è

prossima ad uno.

L’organizzazione del formato di una serie di immagini Jpeg è composto da degli indicatori di “start

of frame” e “end of frame”, con in mezzo il contenuto vero e proprio. Il frame è un’immagine. Uno

Scan e’ un sottoinsieme dell’immagine (ad esempio la componente rossa) ed e’ un’insieme di

segmenti. Un Segmento è un gruppo di blocchi. Un Blocco è un pezzo 8x8 dell’immagine. Gli

Header sono descrittivi per l’elemento a cui sono associati. Lo scan ha anche un insieme di

metadati utili per descrivere lo scan stesso.

Page 103: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

102

JPEG 2000

Rappresenta un’evoluzione del normale JPEG. Viene migliorato il compromesso tra compression

ratio e qualità dell’immagine utilizzando al posto della DCT la Trasformata Wavelet. Sfruttando la

sua analisi multiscala e multirisoluzione è possibile agire su diverse versioni della stessa immagine.

In particolare, si avrà che nella parte LL vi saranno tutti i contributi a bassa frequenza, mentre negli

altri restanti i dettagli. E’ quindi semplice indirizzare la compressione su queste aree dove le

variazioni (componenti frequenziali spaziali in bassa frequenza) sono concentrati, inoltre la

wavelet transform è reversibile, quindi applicabile senza problemi su qualsiasi immagine. In

generale vi saranno molti vantaggi rispetto al normale JPEG:

- Migliore rapporto

compression

ratio/qualità

immagine.

- Maggiore dimensione

massima delle

immagini su cui è

applicabile senza

problemi (fino a

).

- Reiettivo al rumore.

- Ottimizzato per

immagini native

digitali.

- Può gestire fino a 256

canali di informazioni

rispetto ai soli 3 dei

colori del JPEG.

Page 104: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

103

7. VIDEO COMPRESSION

Motion Compression (MC)

Un video è una successione di immagini (frames). Affinché’ il video risulti fluido e non “a scatti”

deve essere riprodotto almeno a 25fps. Ogni frame può essere compressa con le tecniche viste in

precedenza, così andando a conoscerne di ogn’una le bitmaps. Il vincolo principale del video è il

fattore tempo. Si necessita di meccanismi di compressioni rapidi ed efficaci al fine di poter

diminuire la dimensione di rappresentazione di ogni frame e quindi del video in generale.

Se una telecamera fissa è in registrazione, si avrà un’acquisizione con background fisso. La

differenza tra due frames e è minima, siccome in questa situazione poco più

effettivamente cambiare in ⁄ di secondo (bassa entropia). Conoscendo questa bassa variazione

è possibile, in fase di compressione, andare a codificare il frame e successivamente la sola

differenza con . Questo procedimento migliora il tasso di compressione del video e ne

diminuisce la dimensione.

Il Motion Compensation (MC) è un algoritmo che sfrutta questa proprietà per facilitare la

compressione video. Ogni immagine è suddivisa in macroblocchi della dimensione x . Di default

la dimensione per le immagini di luminanza è mentre per quelle di chrominanza è .

L’immagine corrente e detta Target Frame. L’MC lavora a livello di macroblocchi. Considerando

ad esempio un solo macroblocco, l’MC

cerca nell’immagine successiva (o

precedente) la posizione del macroblocco

più simile a quello considerato. Una volta

trovato, la differenza di posizione tra i due

corrisponderà al Motion Vector (MV).

Tramite l’MV di ogni macroblocco è

possibile predire quindi il cambiamento del

frame da quello . La ricerca del MV è

normalmente limitata all’analisi dei vicini

del macroblocco considerato.

L’Hierarchical Search è un metodo di ricerca del MV molto

buona, siccome sfrutta la minore risoluzione delle versioni

ridotte dell’immagine al fine di diminuire la dimensione della

Search Window e la complessità della ricerca (meno

variazioni). In figura, si parte da una immagine a livello 0 ad

alta risoluzione. Applicandone una riduzione multiscala si

arriva fino alla versione di livello due a bassa risoluzione e di

dimensioni inferiori. Qui ti stima il MV attraverso l’MC.

Page 105: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

104

Trovato il vettore lo si utilizza per trovare con semplicità quello di livello 1, ed infine quello di

livello 0.

H.261

Uno standard prima dell’MPEG, è il primo ad introdurre una compressione utilizzando l’algoritmo

MC. Fu disegnato per videoconferenze. La codifica video supportava un bit-rate di x kbps,

dove , - e richiedeva un ritardo di 50 ms per essere utilizzato per le videoconferenze real-

time bidirezionali.

In una tipica sequenza di frames H.261 sono definite due tipologie di frames:

- Intra-Frames (I-frames): sono considerate come immagini indipendenti sulle quali vengono

applicate a pieno le tecniche di compressione per immagini (ex: JPEG). Solitamente sono

immagini di background.

- Inter-Frames (P-frames): sono immagini non indipendenti che seguono e sono legate ad un

I-frame. Di una P-frame è calcolato il MV e codificata la differenza con la I-frame o la P-

frame che la precede. Il range minimo del MV è .

La codifica di un I-frame effettua una rimozione della

ridondanza spaziale, mentre la codifica di un P-frame effettua

una rimozione della ridondanza temporale. Il periodo che

intercorre tra due I-frames successive dipende dall’encoder.

Solitamente, per evitare la propagazione di errori di coding si

utilizzano due I-frames per secondo.

La codifica di un I-frame avviene a livello di macroblocchi e risulta essere simile, se non identica,

all’encoding di tipo JPEG. Per ogni frame, i macroblocchi hanno dimensione x e sono costituiti

da quattro blocchi Y della luminanza a cui sono associati due blocchi x relativi alla chrominanza.

La codifica di un P-frame avvien tramite l’utilizzo dell’algoritmo MC. Per ogni macroblocco del

target frame viene calcolato un MV a seconda del macroblocco più simile (best matching) del

frame precedente. Si effettua una differenza (foward prediction error), per poi andare ad

applicare su questa le procedure di encoding. Se la distanza tra il macroblocco analizzato ed il suo

corrispondente predetto è eccessiva (oltre la Search Window), allora si procede d un coding

normale del macroblocco e non della differenza. La differenza tra macroblocchi corrisponde alla

differenza dei loro MV:

Page 106: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

105

MPEG-1

MPEG è uno standard definito dalla “Moving Pictures Experts Group” nel 1988 per lo sviluppo di

video digitali. Encoder e decoder sono forniti completamente dalle case costruttrici, a seconda

della versione e della tipologia di MPEG.

MPEG-1 adopera un formato televisivo di tipo digitale: il CCIR601, anche conosciuto come SIF

(Source Input Format). Supporta solo video non-interlacciati e la sua risoluzione è normalmente:

- 352x240 per NTSC a 30fps

- 352x288 per PAL a 25fps

Utilizzando un sottocampionamento di chroma. Anche nell’MPEG-1 viene applicata la MC.

In questo caso, differentemente dal H.261, la ricerca del macroblocco più simile viene effettuata

bidirezionalmente: sia nel frame successivo che in quello precedente. Questo implica che la

sequenza di frames è differente dalla versione vista nel H.261:

- Bidirectional-Frames (B-frames): usato per la ricerca bidirezionale. Ogni macroblocco di

una B-frame avrà fino a due MV, uno per la foward prediction (rispetto al frame

precedente) ed uno per la backward prediction (rispetto al frame antecedente).

Se entrambi i MV sono validi (non oltre la RW), si considerano entrambi i macroblocchi

corrispondenti per ottenere un valore medio ( ) utile per la differenza da codificare. Se solo uno

dei due è valido, il procedimento risulta analogo al caso del H.261. Il B-frame offre quindi uno

strumento che permette di scegliere lungo quale direzione muoversi nella ricerca del best match.

Page 107: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

106

Il formato dell-MPEG-1 risulta essere molto complesso:

- Sequence layer: una sequenza video è considerata un agglomerato di GOP (Group of

Pictures). Inizia con un header nel quale sono contenute informazioni sulle immagini, come

la size, frame_rate, bit_rate, matrice di quantizzazione, etc. Headers opzionali tra i GOP

indicano il cambiamento di alcuni di questi parametri.

- GOP layer: un GOP contiene una o più immagini, una delle quali (di solito l’iniziale) deve

essere un I-frame. L’header contiene informazioni come time_code che indica l’esatto

istante al quale il frame deve comparire nella sequenza.

- Picture layer: ogni immagine è composta da più slices. Le immagini possono essere di tipo

I,P o B.

- Slice layer: sono necessarie per il bit rate control e per la sincronizzazione dopo la perdita o

per la corruzione di bits. Ogni slice può essere composta da un numero differente di

macroblocchi. La lunghezza e la posizione di ogni slice è descritta nell’header.

- Macroblock layer: ogni macroblocco consiste in quattro blocchi Y di luminanza e dei

blocchi e relativi alla chrominanza. Tutti i blocchi sono di dimensione x .

- Block layer: se i blocchi appartengono ad un I-frame, allora la componente DC viene

processata per prima con il DPCM, seguita dalla componente AC con il VLC.

Alternativamente si utilizza il VLC per entrambe.

Page 108: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

107

MPEG-2

Evoluzione del MPEG-1, offre una risoluzione più alta del video con un bit-rate di oltre 4Mbps.

Supporta i video interlacciati siccome è un requisito per il broadcasting digitale e per l’HDTV. Per i

video interlacciati, sono associate ad ogni frame due campi (fields) relativi alle righe pari e dispari.

Ogni campo forma una Field-frame (F-frame). Coppie di F-frames formano le normali frames di

tipo I,P o B. Questa volta la prediction effettuata con l’MC viene applicata sui singoli F-frames.

Page 109: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

108

MPEG-4

Ulteriore evoluzione dell’MPEG, oltre alla compressione, pone grande enfasi sulla interazione con

gli utenti. La codifica è basata sugli oggetti presenti nelle scene delle immagini. il bit-rate copre un

largo intervallo da 5kbps a 10Mbps.

MPEG-7

In questa evoluzione viene soddisfatta la necessita’ di video e audio retrieval. Questo standard

prova a standardizzare delle features, poi utilizzate per poter processare i contenuti video e audio.

Il dato deve essere velocemente reperibile siccome il formato per cui viene utilizzato MPEG-7 e’

principalmente digitale (quindi multimediale).

MPEG-7 definisce una serie di descrittori per il dato multimediale:

- Feature: caratteristiche dei dati.

- Description: un set di Ds e DSs che descrivono le informazioni strutturali e concettuali dei

contenuti, la conservazione e l’uso dei contenuti.

- Descriptors (D): definizione (sintattica e semantica) della feature.

- Description Schemes (DS): specifica la struttura e la relazione tra Ds e DDs.

- Description Definition Language (DDL): regole sintattiche per esprimere e combinare DSs e

Ds.

Lo scopo di MPEG-7 è proprio quello di standardizzare Ds, DSs e DDL. I meccanismi di object

detection e di comparazione sono molto utili per l’IR. Ogni oggetto è ricondotto ad una sua

corrispondente regione ed una shape (come in MPEG-4). Da tale shape è possibile riconoscere il

movimento di questo oggetto nella sequenza e offrire quindi buone informazioni per un IR.

Per ulteriori approfondimenti riguardo l’argomento, si rimanda ai numerosissimi manuali in rete e

alle slide relative al corso 2011/2012 del corso.

Page 110: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

109

CAPITOLO IX – INDICI

1. DATABASE MULTIMEDIALI (CENNI)

Un database a modello relazionale è di norma il database “base” per eccellenza. Gestito dal DBMS,

applicazione che gestisce tutte le procedure effettuate sul DB, esso può essere suddiviso in tre

livelli fondamentali: il livello esterno delle viste, il livello centrale logico concettuale e il livello

fisico interno. Tale divisione disaccoppia gli strati di un database, i quali sono da considerarsi come

veri e propri moduli. Il DBMS inoltre assicura l’ACID (Atomicità, Coerenza, Isolamento e Durabilità)

delle transazioni.

Per la gestione di dati multimediali il modello relazionale non è però ottimale. Per un MMDB si

devono ridefinire il modello dei dati e del DBMS. Siccome la maggior parte dei DB è ormai di tipo

relazionale (RDB), nel creare MMDB si sceglie di “estendere” i normali RDB al fine di non perderne

il contenuto. Il modello fisico di un MMDB può essere visto come un insieme di tanti depositi,

ogn’uno rappresentante di un tipo di dato multimediale differente. Per poter gestire questa

diversità di tipi di dato, il nuovo DBMS multimediale (MMDBMS) deve essere in grado di gestire in

maniera univoca le risorse in ogni deposito: è necessario quindi un metodo di gestione univoco e

non ambiguo che permetta la gestione indifferenziata di qualsiasi contenuto all’interno del

MMDB. La soluzione ricade sul ruolo degli indici: ogni deposito, quindi ogni tipologia di dato

multimediale, avrà degli indici ad hoc, che saranno poi gestiti dal MMDBMS come se si trovasse in

un normale RDB. Oltre a gestire il query processing, il query planning, etc. il MMDBMS deve essere

in grado di gestire anche le particolarità’ associate alle tipologie specifiche del dato multimediale:

query multimediali (by example, by content, etc.).

Un Object-Relational Database (ORDB), ed il rispettivo ORBDMS, consiste in un RDB con la

possibilità di avere, all’interno delle tabelle, degli oggetti o delle vere e proprie classi, mantendo le

caratteristiche relazionali dei RDB. E’ una via di mezzo tra un RDB ed un OODB (Object-Oriented

DB).

Page 111: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

110

2. INDICI MULTIMEDIALI

L’indice è un mezzo per ottenere un metodo veloce di accesso al valore di una quantità. Viene

solitamente presentato all’interno di una lista di indici ordinati, e fornisce una logica di accesso per

un dato. Siccome i DB in generale ospitano quantità enormi di dati, è necessario un metodo di

accesso rapido ed efficiente (l’opposto dell’accesso sequenziale) che permetta di avere buone

performance nonostante la dimensione. L’indice riesce in questo, configurandosi come uno

strumento potente che permette di accedere ai dati seguendo delle strutture ad albero.

Un albero è definito in modo ricorsivo asimmetrico ed è formato da due elementi principali: Livelli

e Nodi. Un nodo è un’entità connessa alla struttura: se un nodo non ha padri si configura come

Root (radice), se invece non ha figli si dice Leaf

(foglia). I livelli sono indici di profondità

dell’albero ed indicano quanto un nodo disti dalla

radice (distanza pesata contando i rami). Quanto

più un albero è profondo, tanto più aumenta il

tempo massimo di ricerca per una foglia. In

generale per un albero la complessità di ricerca è

dell’ordine di ( ) con numero dei nodi.

Un albero si dice bilanciato (B-tree) se tutte le sue foglie si trovano sullo stesso livello. Se un

albero è bilanciato e di livello 3, allora tutte le foglie saranno sul livello 3 e nessuna si troverà sui

livelli 1 e 2. In questa tipologia di albero, la complessità di ricerca di un nodo è dell’ordine di

( ) dove e’ il numero dei nodi e dove è il numero dei livelli. E’ evidente che questa

complessità ridotta rappresenta un utilizzo migliore degli indici e quindi un migliore query

planning. Nel caso in cui l’albero non sia bilanciato, si ritorna al caso sequenziale e quindi non

performante. Mantenere un albero

bilanciato non è facile, siccome le

operazioni di INSERT e DELETE vanno

a mutare in maniera netta l’aspetto

della struttura. Un metodo consiste

nell’applicare ad ogni modifica un

algoritmo che bilancia

automaticamente l’albero.

In un albero bilanciato ogni nodo

(tranne la Root e le Foglie) ha al più’

e almeno ⁄ figli.

Si ricordi che il B-tree è differente dall’albero Binario. L’albero Binario è un’albedo i cui nodi

possono avere al più due figli e non è detto che sia bilanciato (basti pensare alle codifiche VLC e di

Huffman).

Page 112: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

111

I dati multimediali sono rappresentati con serie di features. Alla complessità di questa serie

corrisponde la dimensionalità dello spazio di rappresentazione dei dati. l’indice, dovrà pertanto

essere compatibile con questa spazialità su tutte le dimensioni. Le query che possono arrivare

su un MMDB sono del tipo:

1. Exact Match: il risultato si trova nel set di punti ritornato come risposta alla query.

2. Nearest Neighbor: il risultato ritorna il punto più vicino a quello cercato.

3. Range Search: la risposta ritorna tutti i punti all’interno di una regione specificata.

A seconda di ogni query, avrò alberi di tipologia differente. Un approccio generale per la gestione

dei dati, è quello di dividere lo spazio in regioni ed assegnare ad ogni regione un dato. Nel caso in

cui la regione è piena, la si divide. L’information retrieval vede le regioni dello spazio e non

singolarmente i dati: si delimita la ricerca in base alle regioni e solo in quelle si cerca il dato,

scartando tutto il resto. Il problema risiede nella dimensionalità degli spazi: andare a gestire in

questo modo degli spazi a dimensioni può risultare complesso ed oneroso. Si cerca quindi di

ridurne la cardinalità, applicando dei sistemi di trasformazione che linearizzano gli spazi,

riducendoli ad una sola dimensione (che è facile da trattare). Durante questa trasformazione è

possibile perdere dell’informazione, ma con attenzione queste possono essere limitate. Essenziale

per una buona trasformazione è che la distanza tra due punti resti quanto più invariata possibile.

Nel caso delle immagini (2D space) ci si trova dinanzi una matrice di valori che, per essere portati

ad 1D, devono essere linearizzati. La linearizzazione, a seconda dell’ordine con cui si procede, può

portare a risultati differenti.

Il Row/Column Order è una logica di linearizzazione semplice e veloce: si linearizza mettendo una

dopo l’altra tutte le righe dall’alto verso il basso. Questo meccanismo presenta dei problemi

soprattutto sulla distanza tra i punti limiti, siccome i punti 7 e 8, dapprima lontani, ora si trovano

ad essere adiacenti (come anche 15 e 23), mentre i punti 0 e 8 dapprima vicini si troveranno ora

lontani.

Il Row/Coloum Prime è una soluzione poco più elaborata: arrivato alla fine della riga, si percorre la

successiva nel verso opposto andando così ad eliminare il problema tra i punti 7 e 8 ma lasciando

quello tra 0 e 15.

Il Cantor Diagonal Order è una trasformazione di tipo diagonale che riesce a diminuire i problemi

dei punti limite.

Lo Z-Order è invece quello matematicamente migliore, che in questo caso minimizza gli errori e le

perdite dovute alle distanze troppo distorte.

Page 113: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

112

Quindi, dato uno spazio N-dimensionale, ed M punti, si può definire una funzione di distanza che

verte sulle features di rappresentazione dello spazio e che risolve le query multimediali attraverso

gli indici.

3. -D TREE

A seconda del valore di l’albero gestirà

informazioni a diverse dimensioni. Si consideri il

caso di , e quindi del 2D-tree: ogni nodo

dovrà tener traccia del tipo di contenuto che

rappresenta, delle coordinate nello spazio e dei

link dei figli. Il tipo di dato del nodo è

strutturato ed al suo interno sono presenti

anche puntatori ad altri nodi.

Page 114: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

113

Per dividere in regioni lo spazio il 2D-tree segue un procedimento ben preciso in base ai livelli.

Dato nodi figli ed un nodo padre si avrà che, a seconda della sua posizione:

1. In un livello Dispari:

Nel sottoalbero Sinistro, per tutti gli M nodi:

Nel sottoalbero Destro, per tutti gli M nodi:

N divide la regione in due parti con una linea Orizzontale.

2. In un livello Pari:

Nel sottoalbero Sinistro, per tutti gli M nodi:

Nel sottoalbero Destro, per tutti gli M nodi:

N divide la regione in due parti con una linea Verticale.

INSERT

Come esempio si consideri una mappa geografica di un sistema GIS. Su di questa viene applicata

l’indicizzazione 2D-tree nell’evidenziare quattro città all’interno dello spazio.

Per costruire l’albero, si necessita di una INSERT iniziale per determinare la root. Si scelga

arbitrariamente Torino. Siccome l’albero è vuoto, Torino viene inserito al livello 0, pari.

Successivamente si sceglie di effettuare una INSERT di Biella. Il livello dell’inserzione è 1, dispari. A

Page 115: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

114

questo punto è necessario fare un controllo sui valori delle coordinate dei due punti, per scegliere

in quale sottoalbero di Torino andare a piazzare Biella. Siccome risulta:

Biella sarà connessa al sottoalbero destro (Rlink) di Torino.

Si voglia effettuare ora l’INSERT di Alessandria. Si deve prima confrontare Alessandria con Torino al

livello di inserzione 1:

Alessandria deve trovarsi quindi connessa al sottoalbero destro di Torino ma il suo puntatore Rlink

è già occupato da Biella. Si deve quindi passare a confrontare Alessandria con Biella per un

inserimento a livello 2, pari:

Quindi Alessandria sarà connessa al sottoalbero sinistro (Llink) di Biella.

Page 116: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

115

Infine, si voglia inserire Cuneo. Per un inserimento al livello 1, dispari, si confrontano le coordinate

di Cuneo e Torino:

Quindi Cuneo si troverà connesso al sottoalbero sinistro di Torino.

In conclusione, la struttura 2D-tree decompone la mappa in zone asimmetriche. Più saranno i nodi

e più fitta sarà la divisione della mappa. Siccome lo sviluppo di tale albero (quindi le INSERT)

dipende dalla scelta della root, questa è fatta con attenzione siccome si cerca sempre di rendere

quanto più bilanciato possibile un albero.

Page 117: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

116

DELETE

La cancellazione (DELETE) di un nodo è un’operazione molto complessa e operazionalmente

costosa. Essa dipende dalla struttura generale dell’albero e dal nodo che si intende cancellare. Se

ad essere cancellata è una foglia, l’operazione è semplice e veloce siccome basta rimuoverla

ponendo il puntatore del padre che la punta a zero (nel caso precedente foglie sono Alessandria e

Cuneo). Se invece ad essere cancellata è un nodo interno, quindi con almeno un figlio, bisogna

trovare un padre sostitutivo. Chiamando con il nodo interno da eliminare si deve trovare

almeno un candidato (solitamente si stima una lista di candidati) per essere sostituito ad . Il

candidato deve rispettare delle proprieta’:

1. Per ogni nodo M nel sottoalbero Sinistro:

Se il livello è Dispari:

SE il livello è Pari:

2. Per ogni nodo M nel sottoalbero Destro:

Se il livello è Dispari:

SE il livello è Pari:

Una volta identificato un candidato, si sostituisce ad N per poi cancellarsi dalla sua posizione

originaria. Se non era una foglia il processo si dovrà ripetere per non lasciare i vecchi figli di

orfani.

Se nell’esempio precedente si vuole cancellare con una DELETE Torino, questo deve essere

rimpiazzato da un candidato. Il candidato è Alessandria, siccome ha la coordinata Y più piccola di

tutti gli altri nodi nel sottoalbero destro, e quindi si sostituirà come root. E poi necessario

verificare nuovamente tutte le condizioni di disposizione dei nodi: Biella, trovandosi al livello 1 nel

sottoalbero destro, non può avere coordinata X maggiore di quella del padre. Occorre quindi

ricostruire interamente l’albero da capo.

E’ evidente che la cancellazione risulta essere molto delicata siccome, essendo ricorsiva, il

riarrangiamento può arrivare a ricostruire interamente un albero ad ogni nodo eliminato.

Page 118: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

117

4. POINT QUADTREE (PQT)

Questa struttura per indici che, come le altre, è mirata al velocizzare il query processing, è la più

utilizzata nei sistemi GIS e fu portata alla ribalta da Hanan Samet.

In questa struttura ogni nodo rappresenta implicitamente una regione rettangolare. Tale regione

viene suddivisa in quattro parti (quadranti) con una linea verticale ed una orizzontale, entrambe

passanti per il punto ( ),

contenuto dal rispettivo nodo.

Ogni nodo ha quindi quattro figli,

ogn’uno corrispondente ad un

quadrante. La root rappresenta

l’intera regione dello spazio (in

questo caso dell’immagine).

INSERT

La INSERT di un nuovo nodo del PQT è più semplice dei quella del 2D-tree. Si consideri root e

nodo da inserire. Inizialmente si controlla se l’albero è vuoto ( ) e che non coincida

proprio con . Si inizia quindi il ciclo di scansione dell’albero, per trovare il quadrante di

appartenenza del nodo rispetto ad . Una volta che si è trovato il quadrante , viene

assegnato ad il valore del figlio presente in (diverso ovviamente da ). Se il quadrante e’

privo di altri figli, nel ciclo successivo, risulterà . Quando ciò avviene, il ruolo del figlio di

nel quadrante selezionato sarà assegnato a P.

Page 119: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

118

Se un PQT ha nodi, il “worst case” per una INSERT è rappresentato quando l’albero ha livelli,

quindi un massimo di complessita’ di inserzione.

Riprendendo l’esempio usato per il 2D-tree, si scelga Torino come root facendo una INSERT con

l’albero vuoto. Fissate le coordinate e si divide lo spazio (rappresentato dall’intera immagine

siccome Torino è la root) in quattro regioni. Si voglia adesso effettuare la INSERT di Biella. Essa si

troverà nel quadrante NE di Torino, e quindi la si dovrà associare al rispettivo puntatore di Torino.

Biella divide quindi la regione NE di Torino in altre quattro regioni.

Si inseriscono poi Alessandria e Cuneo con la stessa logica.

Si voglia inserire una quinta città, Alba ( ). Questa si troverà in un quadrante di Alessandria e

sarà quindi associata al rispettivo suo puntatore. Alba dividerà la regione a cui è associata (ossia il

quadrante di Alessandria in cui si trova) in altri quattro quadranti.

Page 120: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

119

La forma della struttura segue quindi l’ordine di inserimento dei nodi e dipende dalla posizione

della root. Di norma si sceglie come root un punto approssimativamente al centro dello spazio,

così da avere più possibilità di bilanciare l’albero. Il PQT è quindi un albero semplice da strutturare

ed applicabile a qualsiasi spazio avente definita una funzione di distanza per i punti. E’ una

generalizzazione per le dimensioni dell’albero binario.

DELETE

Sull’altra manica, la DELETE risulta essere molto più complessa della INSERT. Si supponga root e

che si voglia eliminare un generico punto di coordinate ( ). Si deve innanzitutto effettuare

una ricerca (di complessità logaritmica) del nodo all’interno dell’albero. Se il nodo non è trovato,

la DELETE non viene effettuata. Se il nodo viene trovato ed è una foglia, la DELETE viene

effettuata ponendo all’interno del padre il puntatore corrispondente al quadrante in cui il figlio

si trova a NULL. Nel caso in cui D è interno, la DELETE diviene molto complessa. Si consideri

l’esempio in figura:

Page 121: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

120

In questo caso il nodo è la root, e gli altri sono i figli che vanno a popolare lo spazio. Si voglia

eliminare una delle foglie (C, F o E): la procedura risulta semplice siccome si tratta solo di porre i

puntatori dei padri con cui sono riferiti a zero. Si voglia ora eliminare un nodo con un solo figlio (D

o B): in questo caso la DELETE eliminerà il nodo scelto e connetterà il suo figlio con il rispettivo

padre sullo stesso quadrante.

La rimozione di un nodo più interno (A o R) comporta invece un ragionamento leggermente più

complesso. In questo caso sia R che A possiedono due figli quindi il loro meccanismo di

cancellazione risulterà identico. Si consideri la DELETE sul nodo A, Il candidato che lo rimpiazzerà

dovrà essere uno dei due figli. La scelta viene fatta guardando alle future operazioni di

bilanciamento. In questo caso, viene scelto il punto D come candidato, siccome richiede meno

operazioni per il riarrangiamento (ma nulla vieta di procedere anche con C). Scelto il candidato, si

cancella l’altro figlio con una DELETE. Eliminato C si ritorna alla situazione in cui A possiede un solo

figlio, quindi si assegna D al quadrante NE di R. Dopo l’assegnazione si effettua una nuova INSERT

di C, riportandolo nella posizione adeguata rispetto alla nuova sottoradice D. C sarà posizionato

nel quadrante NW di D. L’inserimento di C fa parte del processo di riarrangiamento dell’albero.

Nel caso in cui si voglia cancellare un nodo interno con più di due figli, si deve trovare per ogni

regione il nodo migliore che richieda minori INSERT durante il processo di riarrangiamento. Tra i

Page 122: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

121

quattro trovati, si sceglie il migliore con lo stesso criterio precedente. Scelto il candidato,

ricorsivamente si cancellano gli altri nodi per poi reinserirli in fase di riarrangiamento. E’ chiaro che

in questo caso le INSERT saranno molto più numerose.

Di seguito verrà illustrato parte dell’algoritmo di Samet per la risoluzione della DELETE nei PQT.

Si voglia cancellare il nodo rappresentato dal puntatore P dal PQT la cui radice è rappresentata dal

suo puntatore R. Ad ogni cancellazione di P, corrisponde un riarrangiamento di tutto il suo

sottoalbero e, ricorsivamente, del sottoalbero relativo al suo sostituto. Se P coincide con R, tutto

l’albero dovrà essere ricostruito da capo. Se P non ha figli oppure ha un solo figlio, il padre di P

riceverà il figlio di P al suo posto. Negli altri casi, in cui P ha più di un figlio, si deve ricercare il

miglior candidato che possa sostituirlo, all’interno della regione del nodo (ossia il quadrante del

padre in cui si trova), analizzando quindi i suoi quadranti. Il candidato si sceglie in base alla

disposizione del sottoalbero, cercando di limitare il futuro riarrangiamento. Fissato il nodo come

candidato si considera la rispettiva regione , ossia il quadrante di in cui si trova, per poter

iniziare a riarrangiare il sottoalbero. Per il quadrante adiacente sulla sinistra di si usa la funzione

( ) (clockwise direction), per quello adiacente sulla destra si usa invece la funzione

( ) (counterclockwise direction) ed infine per il quadrante opposto si usa ( ).

Infine si deve sistemare anche la stessa regione , tramite la funzione ( ).

La funzione di riarrangiamento ( ) è ricorsiva e differente in base al quadrante alla quale

si applica. Cerca sempre di riportarsi al caso semplice in cui un nodo possieda un solo figlio oppure

che sia una foglia. La funzione ( ) invece sceglie, nel quadrante in cui viene scelto il

candidato, la migliore disposizione per il sottoalbero, riarrangiandolo con il candidato come nuova

sottoRoot.

Page 123: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

122

K-Nearest Neighbor Search (K-NN Search)

Per query come nearest neighbor (NN) e range search (RS), il PQT è la struttura per eccellenza.

In particolare la query di tipo NN è la più importante per il PQT: data una query NN effettuata su

un punto , si avranno in risposta i punti (quindi definiti a priori) del PQT che sono più vicini a

(K-NN Search). Al concetto di vicinanza deve essere associato quindi una ben definita distanza ( )

che deve essere conforme al tipo di features scelte per rappresentare lo spazio (la distanza è

Euclidea se le features sono spaziali). Per semplicità di analisi si suppone , riducendo quindi

la ricerca al punto più vicino a . L’algoritmo K-NN si basa sull’utilizzo di due variabili:

- : contiene il valore della distanza tra il candidato e il punto .

- : contiene le coordinate del punto contenute nel nodo candidato.

Attraverso queste due variabili, si tiene traccia, nel caso di , del singolo nodo candidato ad

essere il più vicino. Le due variabili sono inizializzate a valori di default (infinito per e

NULL per ). La ricerca parte dalla Root, per poi scendere per l’albero. Di ogni nodo N

esaminato, viene verificata inizialmente l’intersezione tra la regione a cui è associato (ossia il

quadrante del padre in cui N è situato) ed il punto , tramite una distanza. Se questa risulta più

piccola del valore di allora il nodo può essere visitato. Se invece la distanza risulta più

grande, allora il nodo e tutto il suo sottoalbero sono potati (pruning). Verificata questa

condizione, si calcola la distanza tra il punto e e la si confronta con il valore di . Se

questa risulta minore, diviene il nuovo valore della variabile , si aggiorna col

valore del punto corrispondente ad e si procede con la ricerca. Altrimenti si continua

direttamente.

La potatura è molto efficace nel ridurre la complessità della ricerca sull’albero, ed è per tale

motivo che il K-NN è molto usato con i PQT.

Page 124: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

123

Si voglia cercare, ad esempio, in un albero come in figura il punto ( ).

Lo spazio in cui si effettua la ricerca è puramente spaziale (come la mappa vista in precedenza) e

quindi viene utilizzata una distanza Euclidea. Siano ( ) e ( ) due punti e una

regione generica:

( ) √( ) ( )

( ) * ( )| +

Quindi la distanza di un punto da una regione si riconduce alla distanza minima tra il punto

considerato ed il punto più vicino ad esso all’interno della regione. Quando tale distanza è nulla

( ( ) ), vuol dire che il punto . Inizialmente sono settati i valori =∞ e

e si inizia la ricerca dalla Root . Siccome la regione di è l’intera immagine,

sicuramente andrà ad intersecare il punto . Quindi:

( ) (( ) ( )) √( ) ( ) √

( )

Si procede con l’analizzare i figli di , partendo dalla sinistra ossia il nodo ( ) situato

nella regione NW.

( )

( ) (( ) ( )) √( ) ( )

La distanza con il nodo risulta essere minore del valore in e quindi si considera come

possibile candidato. Si devono comunque analizzare anche gli altri figli di . L’unico altro è

( ) nel quadrante SE:

( )

Siccome la condizione sulla regione non è soddisfatta, il nodo ed il suo sottoalbero saranno

destinati alla potatura. Per verificare:

( ) (( ) ( )) √( ) ( ) √

Page 125: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

124

E’ evidente che la distanza tra e e’ maggiore del valore in . Il nodo e il sottoalbero

ad esso corrispondente viene allora potato. è dunque il nuovo candidato:

( )

( )

Si procede quindi la ricerca per il sottoalbero di partendo dal figlio più a sinistra, ossia

( ), situato nella regione NW di :

( )

( ) (( ) ( )) √( ) ( ) √

Nonostante la condizione sulla regione fosse corretta, il valore della distanza ha costretto a

scartare come candidato. e tutto il suo sottoalbero vengono quindi potati. La ricerca termina,

siccome non vi sono più nodi da analizzare. Si è quindi trovato che il punto più vicino a quello della

query è ( ).

Il ragionamento è facilmente estendibile anche per valori di e quindi di piu’ vicini da

considerare al punto . Il meccanismo di analisi dell’albero è lo stesso, ma in questo caso non si

conserva una coppia di variabili e bensì un vettore di coppie di dimensione .

In questo vettore si avrà un valore che sarà la distanza più piccola da tra i vari

candidati del vettore. Tale valore sarà quello con cui confrontare le regioni e le distanze dei vari

nodi analizzati dell’albero. Nel caso se ne trovi una minore di allora si esclude

e si inserisce il valore nel vettore. Per quelle che risultano maggiori di si

effettua la potatura.

Range Search

E’ una query che come risposta ottiene tutti i punti all’interno di una regione definita intorno al

punto . Le regioni possono essere di svariate forme, ma per semplicità si supporrà’ una

circonferenza. Differentemente dalla K-NN Search, con la RS non si conosce a priori il numero di

punti ottenibili in risposta. Data quindi una distanza , si otterrà una circonferenza ( ) di

tale raggio intorno al punto , all’interno della quale vi saranno tutti i punti che dovranno essere

restituiti nella risposta della query. La selezione dei candidati è fatta per esclusione: se un nodo

che viene analizzato si trova in una regione (intesa il quadrante definito dal padre ed in cui si

trova) la quale non interseca la circonferenza ( ), allora viene potato con tutto il suo

sottoalbero.

Ricalcando l’esempio precedente, si consideri ( ) con . Si definisce la circonferenza

( ) e l’insieme dei candidati * +. Si inizia con l’analizzare la Root. Siccome la regione della

Root è l’intera immagine, sicuramente questa interseca la circonferenza ( ). Ne si calcola

quindi direttamente la distanza:

Page 126: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

125

( ) √

Quindi . Successivamente si analizzano i figli di , iniziando da . La regione in cui A si trova

è quella relativa al quadrante NW di . Si deve controllare quindi che tale regione intersechi la

circonferenza ( ). Analogamente per , situato nel quadrante SE di , si dovrà’ verificare la

condizione di intersezione:

( )

( )

Quindi, dai risultati si evince che la circonferenza ( ) interseca la regione NW, ma non la SE.

Quindi il punto viene potato con tutto il suo sottoalbero. Tornando alla regione NW, si va ora a

misurare la distanza tra il punto e :

( ) → * +

Quindi , e viene inserito come candidato nell’insieme delle risposte. Siccome la regione di A

è valida, si procede con l’analisi dei figli di . Si studia quindi , andando a ragionare con la sua

regione, ossia controllando se il quadrante NW di interseca la circonferenza ( ).

( )

Il quadrante , ossia la regione di , interseca la circonferenza ( ). Si deve quindi

analizzare la distanza con :

( ) √

Quindi e la ricerca è conclusa. la risposta alla query sarà rappresentata soltanto dal punto

Il problema dei PQT è l’algoritmo di DELETE che risulta essere molto lento e complesso. Inoltre,

per la sua natura, nonostante la scelta di una Root accurata l’albero cresce in maniera fortemente

non bilanciata, questo dovuto anche alla dimensione molto variabile delle regioni descritte dai

punti. Tutti questi fattori rallentano le esecuzioni delle query, siccome rendono i tempi di

esecuzione del K-NN e del RS impredicibili. Per questo motivo si cerca di effettuare al massimo il

pruning.

5. R-TREE

Sono utilizzati per indicizzare data in due dimensioni con l’utilizzo di rettangoli generalizzati.

Differentemente dalle strutture per indici precedenti che utilizzano dei punti, gli R-tree utilizzano

aree. Un rettangolo generalizzato può essere definito per qualsiasi dimensionalità: sia uno spazio

a dimensioni , un rettangolo generalizzato definito su questo spazio, corrisponde ad una serie

di disuguaglianze presa ogn’una su una dimensione differente:

Page 127: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

126

Un’immagine può quindi essere vista come una regione (rettangolo per l’appunto) in uno spazio -

dimensionale piuttosto che un punto. Questa visione può rendere più qualitativa la gestione dei

contenuti multimediali (in questo caso relativo alle sole immagini). la caratteristica attraente degli

R-tree è che sono delle generalizzazioni di B-tree, quindi sono bilanciati. Ogni nodo può

contenere fino ad rettangoli e non meno di ⁄ . Di solito . Come per un B-tree: tutte le

foglie sono allo stesso livello e la Root ha almeno due figli, sempre che non sia una foglia. Ogni

nodo rappresenta implicitamente una regione, e quindi la Root rappresenta l’intera immagine. La

regione di un generico nodo rappresenta la “scatola”(Bound Box) di rettangoli

associati a quel nodo. Diversamente dai PQT le regioni possono sovrapporsi (overlap). Per evitare

sovrapposizioni e per gestire le massime capacità dei nodi, al fine di tener bilanciato l’albero, si

effettuano degli split. Uno split può essere mirato a minimizzare l’area complessiva dei

sottoinsiemi dei rettangoli nello spazio, oppure per minimizzare l’overlap in un singolo rettangolo.

Lo split ha una complessità di tipo esponenziale, ma esistono altre metodologie più complesse che

lo riducono fino all’ordine quadratico.

Si consideri ad esempio la dimensione massima di un nodo , e la situazione in figura, dove,

con l’aggiunta di un quarto elemento si deve scegliere si splittare.

Se si sceglie di minimizzare l’area, occupando meno spazio e facilitando la potatura, si conservano

comunque gli overlap: se una query sceglie proprio un punto che è in overlap tra più rettangolini

(proprio sull’intersezione tra e o su e ), l’acceso dovrà essere fatto su tutti i nodi che lo

intersecano (in questo caso due). Se si sceglie invece di minimizzare l’overlap, si evita il problema

precedente ma si aumenta l’area complessiva occupata, rendendo così meno veloce la potatura.

Page 128: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

127

INSERT

Si consideri ad esempio uno spazio bidimensionale e si supponga N=4. La root avrà come

regione tutta l’immagine e, inizialmente, avrà i quattro spazi per i figli vuoti. Si inseriscono quattro

rettangoli associandoli come figli di e li si dispongono in modo che non si intersechino. Si vuole

inserire ora un quinto rettangolo nello spazio, lievemente in overlap con . Il nodo ha però

raggiunto la capacità massima di figli ed occorre quindi uno splitting. Si definiscono due nodi

ausiliari ( e ), vuoti, che verranno utilizzati per gestire i cinque elementi inseriti e

permettendo alla radice di mantenere il requisito di ⁄ figli. Questi rettangoli ausiliari sono

dimensionati in modo da minimizzare l’area degli elementi che andranno a contenere, lasciando

più spazio alla root. Siccome il rettangolo e’ situato in prossimità dei rettangoli e , al

rettangolo verranno associati questi tre vicini, mentre gli altri due saranno assegnati al

rettangolo .

Con la INSERT di ed si riempie anche il nodo . Si procede quindi ad uno splitting analogo a

quello precedente, definendo un terzo nodo ausiliario di dimensioni tali da minimizzare l’area

che racchiude e , e ridimensionando al fine di essere ottimale per l’area complessiva di

ed .

Page 129: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

128

In conclusione l’algoritmo va a creare dei livelli intermedi al crescere della complessità in generale

dell’albero, mantenendolo sempre bilanciato.

Nel caso in cui un elemento inserito si trovi in overlap tra due nodi, quindi sovrapposto a due

“scatole”(Bound Boxes) differenti e non con un altro rettangolo, si procede ad uno splitting dello

stesso rettangolo inserito, così da bilanciare l’albero e mantenere al minimo il grado di

overlapping. Ovviamente se uno dei due nodi (o anche entrambi) è pieno, si procede ad un

ulteriore splitting.

Le immagini splittate in questo modo si dicono frammentate, e l’effetto che hanno sullo spazio è

quello della segmentazione.

K-NN Search

Si analizzi il caso in cui con un R-tree si voglia rispondere ad una query di tipo K-NN. Si consideri al

solito il caso base per facilitare l’analisi dell’algoritmo. La metodologia è identica a quella

precedente, se non per il fatto che questa volta si ragiona con delle regioni e non con dei punti.

Mantenendo quindi intatti i ragionamenti precedenti, si cambia solo la metrica di distanza dello

spazio, che da puntuale, diventa piana. Siano due regioni e :

( )

( ) * ( )| +

Page 130: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

129

Dato quindi un rettangolo relativo alla query , si vuole trovare il rettangolo nello spazio più vicino

ad esso. Si inizializzano =∞ e .

Si analizza prima la root che, banalmente, interseca Si passa quindi ad analizzare le intersezioni

con le regioni descritte da e . Si sceglie di iniziare da che è in prossimità di . L’area

descritta da interseca quella di quindi si può procedere alla sua ispezione. Al suo interno si

studiano tutti i rettangoli presenti fino a trovare quello la cui regione interseca quella di e

stimandone la distanza per verificare se vince su . Nel caso in analisi:

( )

Andando poi ad esaminare i restanti nodi e , siccome non intersecano la regione di

saranno immediatamente potati.

Tutti i ragionamenti finora effettuati sono stati effettuati con l’ipotesi che tutte le immagini siano

riconducibili a rettangoli generalizzati. In realtà questo non è così semplice siccome richiede un

lavoro ed un accortezza non indifferente.

Page 131: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

130

CAPITOLO X – MULTIMEDIA DATABASE

1. DATABASE MULTIMEDIALI

Si è già introdotto in precedenza il concetto di MMDB e si è visto come, nell’ambito concettuale

della sua struttura, gli indici siano uno strumento essenziale per poter accedere efficientemente

ed efficacemente ai dati stipati nel database. Il modello strutturale di un MMDB non è unico e può

assumere diverse forme in base alla concettualizzazione e la gestione degli indici.

Un primo modello si basa sul Principio di Autonomia e consiste, come già visto in precedenza, nel

gestire un set di indici “ad hoc” per ogni tipologia di dati multimediale presenti nei vari depositi.

Questo è il modello più semplice realizzabile e prevede una gestione impeccabile della diversità

degli indici da parte del MMDBMS.

Un secondo modello si basa invece sul Principio di Uniformità. Diversamente dal modello

precedente, qui gli indici sono unificati in un'unica macro tipologia. Sarà compito del MMDBMS

riconoscere a quale tipo di dato questi indici sono associati.

Infine vi sono i Modelli Ibridi, nati dall’unione dei due precedenti. In questo modello gli indici sono

gestiti in parte in maniera autonoma ed in altra parte in modo uniforme.

Livello Fisico: Gestione dei Dati

Una prima idea di costruzione di un MMDB può essere quella di tenere tutti i file separati e di

costruire una tabella per ogni dato contenente le sue informazioni. Ovviamente questa logica

risulta essere troppo onerosa per un MMDB, ed è per questo che il modello dei dati deve essere

pensato per favorire la propria indicizzazione.

Page 132: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

131

Si è visto che gli MMDB, organizzano i dati ad oggetti (tipo strutturato o delle vere e proprie classi)

in un’ambiente Object Relational (ORDBMS). Questi oggetti hanno una dimensione variabile, che

cresce linearmente con la dimensione dei dati multimediali a cui sono associati. Siccome

normalmente nei DB sono stipati dati multimediali di grandi dimensioni, si parlerà di Large Object

(LOB). I LOB facilitano la memorizzazione di dati di grosse dimensioni (Mb e superiore) e si

suddividono in due categorie:

- BLOB (Binary LOB): l’oggetto multimediale è rappresentato in forma binaria.

- CLOB (Character LOB): rappresentano l’oggetto multimediale come una sequenza di

caratteri.

La caratteristica peculiare dei LOB è che sono memorizzati esternamente alle tabelle ma

internamente al DB. Per questo motivo il dato deve rispettare le caratteristiche ACID che ne

assicurano il comportamento

transazionale. Il MMDBMS

vedrà il dato come una tabella

all’interno della quale vi

saranno i reali riferimenti al

LOB e dovrà gestirli dal punto di

vista dell’accesso, ripristino e

autorizzazione.

MMDBMS Engine

Per gestire al meglio le diverse tipologie di dati presenti in relazione alla complessità dei depositi

dati che formano il MMDB, il MMDBMS riassume più moduli al suo interno, che si occupano della

gestione a basso livelli del MMDB:

- Storage Manager: si occupa di memorizzare i LOB dei dati multimediali nella MMBD.

- Transaction Manager: gestisce la concorrenza degli accessi di utenti ed applicazioni ai dati

multimediali. Come per i normali RDB, vuole che siano rispettate le ACID dei dati.

- Directory Manager: si occupa dell’archiviazione dei dati multimediali su memoria

secondaria, gestendone anche accesso e protezione.

- Object Manager: gestisce la creazione, inserimento, aggiornamento e cancellazione dei

LOB.

- Media Integrator: si occupa dell’integrazione tra i vari tipi di dati multimediali.

- Query Manager: si occupa della risoluzione delle query multimediali (by example, by

content, etc.) applicando tutti i metodi risolutivi visti nelle scorse lezioni.

L’interfaccia dei MMDBMS è grafica siccome deve predisporsi in maniera semplice ed efficace alla

gestione delle query multimediali, sia quando queste vengono formate ed inviate come richieste,

sia quando il sistema deve presentarne le risposte. Ovviamente l’interfaccia deve essere adeguata

Page 133: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

132

alla tipologia di piattaforma sulla quale viene posta; generalmente è utilizzata in relazione al web.

Il livello interfaccia è completamente disaccoppiato dal MMDB.

Al di sotto dell’interfaccia vi è il Livello Applicativo che contiene i moduli che permettono la

comunicazione (quindi vere e proprie interfacce) tra il livello interfaccia e quello fisico del MMDB.

Questi moduli (elencati sopra) devono garantire la trasformazione di una query multimediale in

una normale SQL comprendibile al livello più basso del MMDB.

Il Popolamento di un MMDB non può avvenire in maniera puramente manuale, ma deve servirsi di

meccanismi di alimentazione automatica: connettendosi a sistemi come i social networks

acquisiscono immagini, testo e quant’altro. Questi meccanismi sono possibili grazie al wrapping,

ossia alla possibilità di utilizzare degli oggetti non modificabili, siccome appartenenti ad altri

sistemi, tramite delle API messe a disposizione dai sistemi stessi. Un wrapper quindi è

un’informazione che precede o incornicia delle informazioni principali:

1) In internet, le stringhe http:// e ftp:// sono anche chiamati wrapper.

2) Nei linguaggi di programmazione, HTML e nei motori di ricerca, i wrapper sono i caratteri

utilizzati per incorniciare le informazioni importanti: <e> per HTML, {e} per LaTex.

3) Nei linguaggi object-oriented un wrapper è “un’oggetto che contiene altri oggetti”, ossia

un’oggetto che mette a disposizione librerie esterne all’applicazione in cui è istanziato.

4) Nella trasmissione dei dati, il wrapper è la sequenza di dati che sono inseriti all’inizio

(header) e alla fine (trailer) dei dai da trasmettere.

5) In un DB, un wrapper viene utilizzato per determinare chi ha accesso e che tipo di accesso

è possibile ai dati.

Un MMDB può quindi gestire anche quelle che sono immagini (Image DB) e video (Video DB). In

ambo i casi le risposte non saranno mai uniche e precise come nei RDB, siccome col concetto di

“similarità’” e di ricerca complessa, è inevitabile consegnare in risposta un set di soluzioni. I sistemi

Page 134: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

133

utilizzati dal Query Manager, modulo del MMDBMS, riconoscono le similitudini tra oggetti, e

anche del movimento nel caso dei video, per riuscire ad ottenere delle risposte esaurienti ed

attendibili alle query sottoposte. Sistemi analoghi sono utilizzati anche per Audio e Testo.

2. ORACLE INTERMEDIA

Estensione di Oracle, è un servizio di memorizzazione di dati multimediali: internamente come

BLOB e anche esternamente come URL. La differenza tra i due, dal punto di vista del DBMS è

puramente logica. Il DBMS è suddiviso in due livelli fondamentali: il livello inferiore Oracle

Database è il DBMS vero e proprio, mentre il livello superiore Oracle Application Server raggruppa

tutti i servizi di intermedia, ossia quelle applicazioni che permettono di utilizzare le funzioni del DB.

Page 135: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

134

Gestione dei Dati

Ogni oggetto multimediale in Oracle può essere memorizzato, manipolato ed interrogato

utilizzando un particolare tipo di dato. Tali tipi particolari sono tutti definiti nel package ORDSYS,

assieme ai relativi attributi, proprietà e metodi di accesso. Nel caso particolare delle immagini si ha

una classe definita come ORDImage costituita da:

- Attributi: che rappresentano il dato

sorgente, ossia l’immagine.

- Proprieta’ globali: come dimensioni,

tipo, larghezza, lunghezza,

compressione, etc.

- Metodi: che permettono di gestire il

dato, ossia l’immagine.

- Signature: definita dal campo

ORDImageSignature, che

rappresenta una combinazione di

features associate ad un’immagine.

Si supponga di voler creare una tabella contenente delle immagini relative a fotografie, una

possibile dichiarazione sarà del tipo:

Page 136: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

135

Il Costruttore inizializza gli attributi della classe relativa all’immagine, ma non la memorizza

all’interno del DB (ossia non carica l’immagine nel campo BLOB). La funzione ( ) inizializza

l’oggetto ponendo tutti i suoi attributi a , esclusi:

- ().

- (indica che l’immagine è caricata nel File System locale).

- .

Ad esempio, nell’effettuare una INSERT nella tabella prima creata:

Sono previsti metodi di Caricamento, nel caso in cui si voglia copiare l’immagine nel DBMS

successivamente alla sua inizializzazione. L’idea’ è quella di riempire con la funzione

( ) l’istanza dell’immagine creata nella tabella di partenza. Tale funzione rappresenta

quindi il metodo di caricamento offerto dalla classe immagine per legarsi al DBMS tramite

l’assegnazione ad un BLOB, e quindi entrare nella visione del DB. Particolare attenzione deve

essere posta sull’istruzione ‘ ’: questa infatti blocca la tupla risultante dalla SELECT,

ossia quella il cui . E sarà proprio questa ad essere poi riempita con il caricamento.

Page 137: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

136

E’ possibile usare anche riferimenti esterni tramite l’utilizzo degli URL.

Creata l’immagine, si avranno a disposizione ulteriori metodi di copia, processamento, settaggio

attributi e di accesso agli attributi (una per attributo). La più importante tra questi è di sicuro la

Signature. Essa rappresenta una combinazione di features (color, texture, shape, space location,

etc.) calcolate relativamente all’immagine ed è un attributo unico di tipo BLOB. Le features della

signature individuano un punto nello spazio multimediale in cui sono rappresentate le immagini. la

Page 138: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

137

somma dei valori delle features di signature è 100. La signature di un’immagine viene creata con la

funzione ( ).

Nella classe sono definiti anche degli Operatori, di cui due sono i principali:

- ( ): verifica la similitudine tra due immagini attraverso le loro signature.

L’operatore calcola la media pesata delle distanze di ogni feature considerata, pesandole

rispetto all’importanza che le si attribuisce. Stabilito un valor di threshold (soglia)

compreso tra 1 e 100, vi si comparerà la distanza e restituirà’ 1 se questa sarà minore della

soglia.

- ( ): restituisce il valore di similarità’ tra due signature.

Per poter essere invocata, deve essere applicata su oggetti che sono certamente simili,

ossia che sono risultati di una ( ). è un intero che

rappresenta l’identificatore di una chiamata a ( ).

Per esempio, si voglia no determinare tutte le fotografie simili ad una data foto in un database

contenente solo immagini. si devono determinare quindi i gradi di similitudine con le altre

immagini, seguendo quelli che sono dei pesi prestabiliti (Weighted) delle features. Sia consegnata

maggior importanza al colore:

Si fissi , si vuole restituire tutti gli identificatori delle fotografie che soddisfano tale

query, insieme al relativo score calcolato. Quindi, considerando la variabile di tipo

, si avrà la query:

Page 139: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

138

Si supponga ora un’immagine trovata, con le seguenti distanze dalle features della query:

Si calcola la distanza media pesata:

Che risulta maggiore della soglia. L’immagine non viene quindi considerata. Nel caso in cui tale

distanza fosse stata minore della soglia, allora l’immagine trovata sarebbe stata una delle

soluzioni della query.

Si supponga di voler determinare la fotografia più simile a . La query corrispondente sarà’:

Page 140: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

139

CAPITOLO XI – INTRODUZIONE A XML

1. INTRODUZIONE A XML

XML (eXtended Markup Language) è una evoluzione di HTML (HyperText Markup Language),

entrambi evoluzioni SGML (Standard Generalized Makrup Language). Il suo scopo è quello di

cercare di definire non un linguaggio, bensì una famiglia di linguaggi che possa definire in maniera

separata struttura e contenuto. XML definisce un modello di dati semistrutturati, siccome

composti sia da dati strutturati e testo. Di seguito è presentato un modello delle strutture dei dati

utilizzati in XML.

In questa struttura vi è sia la struttura del dato che i valori dei suoi attributi. Si presenta come un

insieme di TAG (in rosso) ai quali è possibile associare dei valori (in nero). I TAG sono predefiniti,

quindi fissi, in HTML, mentre XML offre all’utente l’opportunità di poterne definire dei propri (per

questo eXtended ML). I TAG sono gestiti in maniera gerarchica da XML, non potendosi relazionare

con altri record come nel modello relazionale. Per questa caratteristica, i database nativi in XML

sono fortemente gerarchici, facili da usare ma difficili da gestire a livello DB. Per tale motivo si

utilizzano modelli ibridi dove un RDB gestisce un’interfaccia XML così da unire i vantaggi di

entrambi i modelli.

Esiste comunque un set prefissato di TAG che possono essere utilizzati e condivisi da più

applicazioni. Per comprendere quali di questi sono utilizzabili e quali no, è necessaria una

descrizione dei dati coerente e globale. Uno dei metodi per poter definire questa descrizione è

l’utilizzo dei Namespace, ossia degli spazi dei nomi inclusi nel file XML. Un altro metodo consiste

nell’associare al file XML un DTD (Document Type Definition) il quale:

- Definisce gli elementi leciti all’interno del documento. Non si potranno usare quindi altri

elementi se non quelli definiti. Una specie di “vocabolario” per i file che lo useranno.

- Definisce la struttura di ogni elemento, indicando cosa può contenere, l’ordine, la quantità

di elementi e se sono opzionali o obbligatori. Una specie di “grammatica”.

- Dichiara una serie di attributi per ogni elemento e che valori possono o devono assumere.

- Fornisce la possibilità di dichiarare entità e di importare parti di altri DTD.

Page 141: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

140

- Utile ad un parser per controllare la correttezza lessicale e sintattica di un documento (well

formed). Il parser è una parte del compilatore (è quello che dice, ad esempio, che non si è

chiusa una parentesi in un file di programmazione).

Il DTD, come anche gli altri Schemas, è riferito solitamente all’inizio del file XML. Ogni DTD è

identificato da un Uniform Resource Identifier (URI) così da non avere ambiguità nella loro

definizione. Una URI è una stringa che identifica univocamente una risorsa generica che può

essere un indirizzo web, un documento, un'immagine, un file, un servizio, un indirizzo di posta

elettronica, etc. l’URI è una generalizzazione di URL. L’utilità di una URI la si evince quando due file

XML differenti, appartenenti a differenti applicazioni condividono lo stesso DTD. Con l’URI si è

sicuri che il DTD offrirà alle applicazioni lo stesso set di dati definiti, rendendoli compatibili.

Un’evoluzione del DTD è lo XSD (XML Schema Definition), un linguaggio di descrizione che risulta

più potente dal punto di vista semantico: aumenta la capacità di modellazione del dato del XML.

Un file più un XSD o un DTD riescono a formattare un documento. Siccome un file XML nient’altro

è che un agglomerato di testo, ad esso è associato una codifica di tipo UNICODE, la quale associa

ad ogni carattere usato per la stesura del testo un numero univoco, rendendolo così indipendente

dalla lingua con cui esso è composto, dalla piattaforma e dal programma. Per questi motivo XML è

lo standard per eccellenza dello scambio di data siccome può mettere in comunicazione delle

applicazioni diverse, create da persone diverse ma con la stessa semantica (DTD, Namespaces,

XSD). XML non si presenta mai da solo, ma con un insieme di tools:

- XSD, DTD, Namespaces.

- XPath: linguaggio che permette di accedere a parti di documento XML.

- XLink and XPointer: offrono un supporto a riferimenti incrociati tra documenti differenti e

anche tra parti diverse dello stesso documento.

- XSLT: linguaggio per trasformare documenti XML in altri documenti XML. Ad esempio in

HTML per poter visualizzare file XML.

- XQuery: linguaggio per effettuare query sul file XML.

Un file XML può quindi essere sia un semplice file di testo dove sono definite alcune strutture dati,

oppure quasi un database (come un elenco telefonico).

Sintassi XML

XML è formato da TAG (sempre in coppie di apertura e chiusura) e testo che devono essere

innestati in maniera corretta (come sottoblocchi). Il testo si configura come unico tipo base per

XML e viene indicato con PCDATA.

Page 142: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

141

Nel definire tipologie di dati, è possibile associare ad un TAG degli attributi, al solo fine di

velocizzarne la definizione.

E ‘ possibile utilizzare lo stesso TAG più volte all’interno di una struttura per indicarne due istanze

con significato differente. il segmento di codice XML che si trova tra un TAG di apertura ed uno di

chiusura viene chiamato elemento.

Un documento XML può quindi configurarsi come un albero, dove le foglie sono vuote o

contenenti PCDATA.

Un file XML, come sopra detto, deve essere sempre well formed. Questo accade se:

1) I TAG sono sintatticamente corretti.

2) Ogni TAG ha apertura e chiusura.

3) Esiste un TAG Radice (riflette la struttura gerarchica del XML).

4) Gli innesti dei TAG sono corretti.

Page 143: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

142

Per la sua natura gerarchica, la rappresentazione di un DB con XML è diversa dal modello RDB.

Nel modello RDB, la tabella definisce la relazione tra la tabella e quella .

Nel caso del modello XML DB, la tabella perde la caratteristica di relazionare e diventa un

altro semplice nodo nella struttura gerarchica XML.

Per ulteriori approfondimenti riguardo l’argomento, si rimanda ai numerosissimi manuali in rete e

alle slide relative al corso 2011/2012.

2. SMIL (Synchronized Multimedia Integration Language)

SMIL è una raccomandazione W3C che permette la creazione di presentazioni multimediali sul

web. Basato su XML, permette di miscelare diverse tipologie di media (suoni, testo, video,

immagini etc.) sincronizzandone l’esecuzione mediante una timeline. SMIL è utile sono in

presentazioni lineari (tipo slideshows) mentre per quelle non-lineari risulta inappropriato. Utilizza

un formato HTML con TAG appositi, che indicano l’elemento di tipo SMIL. SMIL è completamente

indipendente dell’architettura sul quale viene creato il file, l’unico vincolo è il player che deve

Page 144: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

143

essere adeguato (browser + plugin solitamente). SMIL non è molto utilizzato siccome le case

produttrici hanno scelto linguaggi che hanno già avevano in cantiere per lo stesso scopo.

Nell’intestazione HEAD si inseriscono le metainformazioni che descrivono le informazioni

contenute nel file. Il LAYOUT rappresenta la facciata di presentazione della presentazione sia

spaziale che temporale. Il BODY rappresenta la parte di codice che descrive i media e la loro

rappresentazione. La creazione di una presentazione SMIL verte su tre punti cardini:

- Creazione delle aree per i media.

- Riempimento delle aree con gli oggetti multimediali.

- Determinazione dell’ordine di esecuzione degli oggetti (Serie, Parallelo o Combinazione tra

i due).

SMIL è case-sensitive, ossia sensibile alle maiuscole. Per tale motivo bisogna ricordarsi che tutti i

TAG sono scritti con le minuscole. Quindi, in un elemento SMIL si devono specificare:

- Content: gli oggetti multimediali o parti di essi.

- Layouts: spaziali o temporali, per la rappresentazione dell’elemento.

- Links: sorgente e destinazione.

- Alternative Content: a seconda dell’utente o/e della connessione, si adopereranno

tecniche di riproduzione dell’elemento diverse al fine di ottimizzare la banda, risoluzione e

quant’altro. Si terrà conto quindi se a visualizzare la presentazione sarà un olandese con

fibra ottica in full HD, oppure un cinese con una connessione 56k in LD.

- Semantic Annotations: viene effettuata con dei metadati che sono essenziali per il

retreival.

Page 145: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

144

Il source (src) è un attributo che rappresenta una URI (URL in più dei casi) di un oggetto

multimediale e quindi la fonte dal quale attingere l’informazione. I nomi dati agli oggetti sono solo

per la leggibilità ma non sono usati per la loro determinazione.

Ref, text, textstream, img, audio, video e animation sono tutti elementi multimediali. Ogn’uno di

loro occuperà uno spazio differente all’interno del layout. Si consideri uno spazio formato dagli

assi , relativi a coordinate spaziali che rappresentano un’istante di un oggetto multimediale e

che rappresenta lo scorrere del tempo. In questo spazio si configura come una stringa

monodimensionale, come un’area, come una immagine in movimento (di profondità

su pari alla sua durata) e come una stringa in movimento.

and

Il tempo e lo spazio sono trattati in maniera differente nel layout. Il tempo è ristretto ad un'unica

dimensione , e quindi viene sempre associato come una durata ad ogni oggetto multimediale. Gli

attributi clipBegin e clipEnd offrono meccanismi per gestire l’istante esatto in cui gli oggetti

compaiono e scompaiono nella presentazione, ossia per gestire il Temporal Layout.

Page 146: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

145

Layout Element

Inteso come Layout Spaziale, quindi relativo agli assi e , fornisce gli strumenti per definire le

regioni dove poi saranno piazzati gli oggetti multimediali all’interno dello spazio di presentazione.

Questo attributo deve comparire nella sezione “head” dell’elemento SMIL. Ogni zona della

presentazione definita in questa sezione deve essere specificata in altezza, larghezza e con un

colore di sfondo. Inizialmente si definisce una root-layout che definirà la grandezza e le prime

caratteristiche della finestra di visualizzazione della presentazione. In questa, verranno poi a

definirsi le varie zone.

Viene definito un ID (XML identifier) per ogni regione, siccome questo verrà riferito nella

definizione di nuovi oggetti multimediali per posizionarli nello spazio. L’altezza e la larghezza sono

espresse in pixels. L’indice Z rappresenta lo stacking order, ossia l’ordine di sovrapposizione degli

oggetti (l’oggetto con l’indice più alto sarà al top della pila).

Page 147: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

146

Durata Elemento

La durata di un elemento viene espressa principalmente in relazione a dati di tipo audio e video. La

durata intrinseca di testo ed immagini è 0, mentre per audio e video è pari al proprio tempo di

esecuzione. Tuttavia, è possibile manipolare questa durata, tramite la specifica di alcuni attributi.

L’attributo definisce esplicitamente la durata dell’elemento. Questa può essere inferiore o

superiore alla durata intrinseca.

L’attributo fornisce uno strumento di ripetizione dell’elemento. Tramite il settaggio di un

intero, si indica quante volte l’oggetto viene ripetuto. Se viene specificato “indefinite”, allora si

ripeterà all’infinito. In combinazione con si può avere un limite esplicito alle ripetizioni.

Page 148: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

147

Riproduzione in Serie e in Parallelo

L’attributo permette di riprodurre in parallelo gruppi di elementi. Gli elementi del gruppo

iniziano allo stesso istante. Si può riferire anche ad una regione specifica, agendo solo su quella. La

durata del gruppo dipende dal figlio con durata maggiore.

L’attributo permette invece di riprodurre in sequenza un gruppo di elementi. L’ordine di

riproduzione è espresso dall’ordine con cui sono presentati nell’attributo gli elementi. Quando un

figlio finisce, il prossimo inizia.

Page 149: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

148

E’ possibile ovviamente innestare e per ottenere paralleli di serie oppure serie di paralleli.

Dall’immagine si evince che ci si trova nella situazione di una serie di paralleli. La serie vuole che il

secondo figlio inizia quando il primo termina. Il primo figlio, rappresentato dal primo gruppo ,

si conclude effettivamente quando l’elemento del suo gruppo più duraturo termina.

L’attributo risulta molto interessante siccome offre delle tecniche di delay nei paralleli. In

un gruppo di , e’ possibile infatti, grazie al , si puo’ configurare un elemento ad iniziare

non in concomitanza con l’inizio del , bensì ritardarlo oppure renderlo dipendente da un

trigger.

Page 150: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

149

In conclusione, con il layout (spaziale + temporale) si definisce quindi una vera e propria “algebra”

di esecuzione degli elementi.

Per ulteriori approfondimenti riguardo l’argomento, si rimanda ai numerosissimi manuali in rete e

alle slide relative al corso 2011/2012.

Page 151: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

150

CAPITOLO XII – VIDEOSORVEGLIANZA

1. SISTEMI DI VIDEOSORVEGLIANZA

Il bisogno di garantire la sicurezza delle persone è uno dei motivi principali per cui si utilizzano

sempre più frequentemente sistemi di videosorveglianza nelle città. L’obiettivo, non ancora

raggiunto, di tali sistemi è quello di riuscire a riconoscere automaticamente ed in tempo reale

quelle che possono essere azioni sospette o potenzialmente pericolose.

In generale, la struttura di un sistema di videosorveglianza è composta da più livelli:

Sensor Layer

Si tratta del livello più esterno del sistema che si occupa della raccolta delle informazioni

dell’ambiente osservato. I sensori sono di diversa tipologia e di differente sensibilità, ed in base al

loro numero, alla loro qualità di acquisizione e alla loro disposizione, offrono dei flussi di dati

differenti ai livelli successivi. E’ noto che i flussi di dati di tipo video sono di dimensioni molto

grandi. Per ridurre la quantità di frames “non utili” e risparmiare sulla memoria, le moderne

telecamere riescono a riconoscere quando nella scena di ripresa vi sono oggetti in movimento. Nel

caso di scene statiche, il ratio di acquisizione diminuisce (ad esempio, 1 frame ogni 5 secondi),

mentre se vi sono oggetti in movimento, si applica la normale ratio (ad esempio, 25 fps). La

Page 152: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

151

sequenza di frames dal momento in cui si accende la telecamera fino a quando la si spegne è detta

Shot. Una Scena, è l’unione di più shots. I dati raccolti dal sensor layer sono memorizzati

all’interno di un apposito database video (Video Repository) e forniti in ingresso al sistema IPS che

si occuperà poi del loro trattamento.

Image Processing Layer

L’obiettivo di questo livello è di estrapolare le informazioni di basso livello (riconoscimento degli

oggetti nella scena e relativi metadati) dai dati raccolti dai sensori, utilizzando tecniche di Image

Processing applicate dal modulo IPS. Particolare attenzione necessita il Tracking degli oggetti,

ossia la capacità di seguire un’oggetto riconosciuto all’interno della scena anche nel caso in cui

questo esca e rientri successivamente nella stessa scena. Successivamente all’elaborazione dei

dati, viene effettuata una conversione delle informazioni estrapolate in un formato che sia

utilizzabile dai livelli successivi. Le informazioni in questo nuovo formato sono memorizzate in

un’apposita sezione del database (Data Collection). L’image processing layer funge quindi da

tramite tra le informazioni di basso livello e le analisi di alto livello.

Composite Event Detection Layer

Il fulcro di questo livello è il modulo di post-elaborazione HSRC (High Semantics Reasoning

Center) che è la parte del sistema responsabile della rilevazione delle occorrenze degli eventi

strutturalmente complessi, quindi di alto livello, a partire dagli elementi di basso livello contenuti

nel Data Collection. Al suo interno si distinguono diversi componenti:

Event Repository: e’ la porzione del DB in cui sono memorizzate le definizioni dei predicati

ed i modelli degli eventi che si vuole riconoscere (scambio di pacchi, tentativi di rapina,

valigie lasciate incustodite, etc.).

Data Collection: è la porzione del DB che contiene l’output del modulo IPS.

Agent Based Processor (ABP): è il cuore dell’HSRC. Il suo compito è quello di controllare e

gestire tutti i processi che avvengono all’interno del modulo: preleva prima la definizione

dell’evento di interesse dall’Event Repository, poi l’osservazione, ossia la descrizione del

video in termini di predicati, dalla Data Collection ed infine verifica l’occorrenza

dell’evento all’interno dell’osservazione.

Subvideo Extractor: dopo la rilevazione di un evento questo modulo si occupa

dell’estrazione dal video della sequenza di frames di interesse e del suo salvataggio come

nuovo file all’interno del Video Repository, così da poterla rendere visibile sia off-line che

on-line.

Query Builder: gestisce quelli che sono i criteri di ricerca effettuabili dall’utente sul

sistema. A seconda delle richieste dell’utente, l’ABP agirà con modelli di eventi differenti

su altrettanto differenti predicati. La limitazione risiede negli algoritmi utilizzati nell’IPS,

Page 153: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

152

siccome non è possibile effettuare delle query (definire quindi nuovi predicati) su elementi

le cui occorrenze non possono essere riconosciute dagli algoritmi del modulo IPS.

User Layer

Questo livello è composto da interfacce user-friendly ed è rivolto a due categorie di utenza:

1) Servizi di Gestione: l’amministratore del sistema ha la possibilità di definire nuove tipologie

di eventi (nuovi modelli) e di estendere l’insieme degli algoritmi di riconoscimento del

modulo IPS.

2) Servizi Utente: l’utente finale può gestire la visualizzazione dei video e seguire lo sviluppo

dell’analisi. Purtroppo gli attuali algoritmi di analisi non riescono a fornire risposte a query

di alto livello, siccome non è possibile indicizzare i video analizzati: gli eventi da riconoscere

sono impredicibili, e quindi necessaria una prima analisi prima di una eventuale

annotazione dei contenuti relativi ai video analizzati.

2. IMAGE PROCESSING SYSTEM (IPS)

Si tratta del sistema responsabile del riconoscimento a basso livello delle informazioni dei video ed

e composto da due livelli tra loro dipendenti:

1) Object Segmentation: segmenta gli oggetti che cambiano nella scena. Le prestazioni di

questo livello influenzano ogni altra elaborazione successiva sul video.

2) Tracking: si occupa dell’analisi degli oggetti individuati da un punto di vista statico

(estrazione delle features e classificazione) e dinamico (analisi dei loro movimenti nella

scena).

Object Segmentation

La segmentazione degli oggetti presenti in una scena è il punto critico dei sistemi di

videosorveglianza. Consiste nel suddividere un frame in regioni significative, separando tutto ciò

che è sfondo da ciò che corrisponde ad un’oggetto o parte di un oggetto e corrisponde al primo

passo verso l’estrazione delle informazioni di una scena. Preso un frame come riferimento, che

rappresenta lo sfondo o background, il sistema di object segmentation deve essere in grado di

Page 154: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

153

riconoscere automaticamente eventuali cambiamenti presenti negli oggetti degli altri frame

rispetto quello di riferimento. L’immagine di riferimento non è unica e cambia periodicamente. Il

riconoscimento degli oggetti deve essere quindi fatto anche indipendentemente dallo sfondo (ad

esempio notte e giorno) con il quale si confrontano gli oggetti dei frames in analisi. l’output del

sistema di object segmentation è un’immagine binaria (BLOB). Gli algoritmi che sono utilizzati da

tale sistema sono suddivisibili in due categorie, in base agli approcci che seguono:

1) Algoritmi basati su frame difference: sono algoritmi che utilizzano le tecniche di Change

Detection basate sulla differenza tra frames. Sono evidenziati gli oggetti di interesse solo in

corrispondenza dei pixel che presentano delle differenze di intensità apprezzabili tra

frames successivi. Il problema principale di questi algoritmi è quando l’oggetto in analisi

non ha un movimento continuo: se l’oggetto si muove e improvvisamente si ferma per poi

ripartire, nel tempo in cui si è fermato l’oggetto sarà ignorato e riconosciuto come sfondo.

2) Algoritmi basati su Confronto con Background (Background Subtraction): l’individuazione

degli oggetti di interesse è basata sul confronto tra il frame o una sequenza si frame ed un

background di riferimento che contiene le informazioni della scena in assenza di

movimento. Il vantaggio di questi algoritmi è che sono indipendenti dalla velocità di

movimento degli oggetti, siccome anche se questi si fermano improvvisamente, saranno

comunque riconosciuti siccome saranno in posizioni differenti rispetto alla quella che

avevano nel frame di riferimento. Il problema è che risulta necessario un aggiornamento

continuo degli sfondi di riferimento.

Tracking

Il modulo di tracking a partire dai risultati del modulo di object segmentation, deve essere in grado

di accorgersi dell’apparizione di un’oggetto e di inseguirlo per tutta la durata della scena, ed

eventualmente di riconoscerlo qualora dovesse scomparire per poi riapparire (quando ad esempio

passa dietro ad un altro oggetto, oppure quando lascia la scena per poi tornarvi). Gli algoritmi di

tracking si suddividono in due categorie:

1) Algoritmi non basati su Modello Geometrico: non richiedono nessuna conoscenza a priori

della forma degli oggetti. Pertanto estraggono caratteristiche e proprietà degli oggetti in

modo da tracciarne delle traiettorie e gestirne le interazioni.

2) Algoritmi basati su Modelli Geometrici: sfruttano invece la conoscenza a priori del

modello degli oggetti che si trovano sulla scena. Sono i migliori per il tracking, siccome il

riconoscimento è certo e dettagliato, ma d’altra parte sono computazionalmente costosi a

causa dei numerosissimi modelli degli oggetti che potrebbero essere presenti nei frame.

Inoltre si è in grado di trattare solo gli oggetti i cui modelli sono presenti nel database,

mentre tutti quelli di cui non si trova un match sono ignorati.

Page 155: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

154

3. FINDING UNEXPLAINED ACTIVITIES

Il Reasoning è la capacità da parte di un sistema di ricavare informazioni e conclusioni dalla

conoscenza disponibile. Nei sistemi di videosorveglianza è un aspetto cruciale, siccome è

essenziale che siano riconosciuti quanti più eventi è possibile. Un approccio innovativo (ancora

sperimentale) al reasoning è offerto dal finding unexplained activities: trovare all’interno di un

video quelle che sono le sequenze di frames che non sono (totalmente o parzialmente) spiegate

dai modelli degli eventi noti, ossia nel riconoscere quei atteggiamenti degli oggetti nei frames che

non trovano spiegazione con i modelli di eventi a disposizione. In figura è rappresentata la

struttura di un sistema di FUA:

Image Processing Library

Come libreria di Image Processing è utilizzata il software RPT (Reading People Tracker), un

software per il tracciamento di persone ed oggetti per scopi di videosorveglianza. In input vuole un

video grezzo e restituisce in uscita un file formato XML con la descrizione di tutti gli oggetti trovati

con relativi metadati e coordinate.

Video Labeler

E’ stato realizzato in Java. Legge il file XML (basso livello) e ne riconosce gli eventi base,

identificando gli Action Symbol. Ad ogni Action Symbol è associata una regola che ne permette

l’identificazione. L’output è rappresentato dal labeling del video (contenente informazioni ad alto

livello).

Page 156: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

155

Activity Detection Engine (ADE)

Si occupa dell’identificazione delle occorrenze delle attività corrispondenti ad un modello noto. E’

realizzato appositamente in C. In input vuole il video grezzo, il labeling del video ed i modelli delle

attività (eventi) stocastiche note. In output il modulo presenterà le occorrenze degli eventi

riconosciuti e corrispondenti ai modelli disponibili.

Gli eventi noti sono modellati con attività stocastiche e rappresentati da diagrammi degli stati.

Ogni arco rappresenta delle informazioni probabilistiche e temporali delle relazioni che si hanno

tra gli oggetti. Si consideri l’evento di prelievo da un bancomat:

Per ogni coppia di valori ( ) assegnata agli archi, rappresenta il valore temporale che

trascorre prima che avvenga il cambiamento di stato, mentre rappresenta la probabilità con cui

l’arco può essere percorso. La somma delle probabilità degli archi di uscita di uno stato deve

essere sempre uguale ad 1. Si consideri ad esempio il caso in cui ci si trovi nello stato

e che l’unità’ temporale siano i secondi. Da questo stato, vi sarà’ il 40% di

probabilità di dover passare allo stato dopo 2 secondi, ed il 60% di probabilità di

dover passare allo stato dopo 1 secondo. Un’istanza di un evento è da considerare

come una path di percorrenza degli stati. La probabilità di percorrenza di una istanza è data dal

prodotto delle probabilità di ogni arco. Ad esempio, data un’istanza :

→ → →

( )

Il sistema ADE unirà le istanze degli eventi con le label provenienti dal Labeler e formerà quelle che

sono le occorrenze. Ogni occorrenza avrà quindi una probabilità, che corrisponde alla probabilità

( ) e una path di Action Symbols, ossia coppie formate da i frames di interesse e gli stati del

modello.

⟨( ) ( ) ( ) ( )⟩

Page 157: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

156

UAP Engine

Si occupa del ritrovamento delle sequenze video totalmente o parzialmente non spiegate. E’ stato

implementato in Java. In input vuole le occorrenze delle attività spiegate (ossia degli eventi

riconosciuti), ed in output presenta le occorrenze delle attività totalmente o parzialmente non

spiegate.

Si considerano le occorrenze degli eventi riconosciuti provenienti dall’ADE. Due occorrenze

( e ) si dicono in conflitto se hanno un’intersezione non nulla:

Ad esempio, data una sequenza di cinque frames relative al modello usato nella precedente

figura, se si considerano le occorrenze:

⟨( ) ( ) ( )⟩

⟨( ) ( ) ( )⟩

Risulta chiaramente che le sue occorrenze saranno in conflitto sul frame siccome l’evento

può essere rappresentato da una sola delle due occorrenze.

Considerando l’insieme di tutte le occorrenze riconosciute in un video, si definisce un mondo

possibile l’insieme di occorrenze privo di conflitti:

Le sequenze di frames Totalmente non Spiegate sono quelle sequenze i quali Action Symbol non

sono spiegate da nessuna occorrenza. Le sequenze di frames Parzialmente non Spiegate, sono

quelle sequenze i quali Action Symbol sono solo in parte spiegate da delle occorrenze.

Page 158: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

157

E’ possibile infine ottenere una stima di tutte le Totally Unexplained Activity (TUA) e le Partially

Unexplained Activity (PUA) tramite delle metodologie automatiche statistiche, applicate alle PDF di

tutti i mondi probabili all’interno di .

Per ulteriori approfondimenti riguardo l’argomento, si rimanda alle slide relative al corso

2011/2012.

Page 159: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

158

CAPITOLO XIII – COMPUTER GRAPHICS

1. INTRODUZIONE ALLA COMPUTER GRAPHICS

Spesso capita di confondersi tra imaging, computer graphics e computer vision. Per definizione:

- Imaging: conosciuto anche come Image Processing è lo studio delle immagini in 2D ed

include tutte le tecniche viste in precedenza per l’elaborazione di immagini digitali.

- Computer Graphics: è il processo di creazione di immagini a partire da dati elaborati dal

computer.

- Computer Vision: si occupa di analizzare le immagini per estrarvi dei significati. E’ una

scienza teorica informatica nata come branca dell’Intelligenza Artificiale, che cerca di

emulare gli aspetti e le caratteristiche della visione umana per i computer.

La Computer Grafica viene quindi creata dal computer ed analizzata dallo stesso. Essa genera

immagini creando un mondo di pixel tramite funzioni discrete, simulando quelli che sono le forme,

le fisicità e il movimento degli oggetti rappresentati. Alla base della descrizione 3D di un oggetto vi

è il Box(1,1,1) ossia l’unità base che è presente in ogni modello rappresentato in Computer

Graphics. Un’immagine di Computer Graphics è quindi il risultato della ricostruzione a video di un

modello 3D tramite delle trasformazioni e modellazioni delle unità di tipo Box(1,1,1).

Fare grafica 3D vuol dire quindi creare scene in un mondo virtuale composte da oggetti geometrici

con attributi pittorico ed uniti a immagini e testo. L’interazione è indispensabile, siccome si deve

essere in grado di interagire con gli oggetti all’interno del mondo creato. Tali oggetti devono poter

essere visitati tramite delle proprietà di navigazione offerte dai player, che permettono di

guardare le scene da diversi punti di vista e rappresentare l’immagine con l’oggetto visto in

Page 160: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

159

maniera differente. Con lo stesso criterio sono realizzate le animazioni, ossia il cambiamento delle

caratteristiche dei modelli degli oggetti.

Il realismo e la qualità della rappresentazione della grafica dipende dai player che si utilizzano per

la visualizzazione. La Computer Graphics necessita quindi di un linguaggio descrittivo molto

sofisticato al fine di poter rendere il meglio comprensibile e dettagliata possibile la

rappresentazione dell’oggetto al player. Le applicazioni della Computer Graphics spaziano in vari

settori: viene utilizzata per i videogiochi, per la creazione di film animati, e ultimamente anche in

ambito medicale. Durante delle sedute chirurgiche, è possibile condividere il corso e l’andamento

dell’operazione in remoto con altre equipe di tutto il mondo, grazie alle ricostruzioni in Computer

Graphics dell’intervento.

Per sostenere tutti i processi di modellistica, ricostruzione e rendering delle immagini in Computer

Graphics, è necessario mettere a disposizione un hardware dedicato al calcolo e alle elaborazioni

delle funzioni che sono utilizzate per la descrizione

geometrica degli oggetti da rappresentare. Si

devono poter effettuare le classiche

trasformazioni geometriche in tempo reale,

siccome i player permettono di navigare

all’interno dei modelli 3D tramite scalature e di

presentare immagini con particolari sempre

diversi dello stesso modello. Le schede grafiche si

configurano quindi come l’hardware dedicato per

questa tipologia di operazioni. La GPU (Graphic

Processing Unit) è il processore dedicato a questi

calcoli e può far uso delle memorie interne e a lui

dedicate presenti proprio sulla scheda (Frame

Buffer + Graphic Memory).

2. PARADIGMI PER LA SINTESI DI IMMAGINI 3D

Per poter riuscire a comprendere e realizzare un’immagine 3D, è necessario dapprima spiegare

quelle che sono le entità presenti al suo interno, per poi analizzare le tecniche di gestione del

mondo virtuale e degli oggetti ad esso relativi in funzione del visualizzatore (player).

Si distinguono due gruppi di entità principali:

- Oggetti (sintetici): rappresentazioni digitali di forme e caratteristiche di oggetti reali

tridimensionali tramite un modello 3D. Sono posizionati nello spazio 3D e generano scene

diverse a seconda della loro disposizione.

Page 161: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

160

- Osservatori (virtuali): permettono di osservare la scena da un certo punto di vista e

sfruttano quelle che sono le caratteristiche di navigazione dei players.

Il rendering è il processo grazie al quale l’osservatore genera un’immagine a partire da una scena.

Tale processo è completamente svolto dal processore dedicato. Per ridurre al minimo il lavoro sul

processore, si cerca di effettuare delle trasformazioni geometriche più semplici possibili:

- Per il posizionamento degli oggetti sulla scena, sono

necessarie traslazioni, rotazioni e scalature.

- Per rappresentare la scena da inquadrare, sono

necessarie trasformazioni rigide al fine di esprimere gli

oggetti nella scena nel sistema di riferimento del punto di

vista.

- Per rappresentare la scena da visualizzare si devono

effettuare proiezioni ortografiche e prospettiche.

Per consegnare realismo alle immagini 3D, bisogna considerare la luminosità e l’ombreggiatura

degli oggetti. Ogni punto dell’oggetto nella scena è illuminato in funzione di:

- Sorgenti di luce presenti sulla scena

- Posizione del punto

- Orientamento della superficie nel punto

- Proprietà riflettenti del materiale

- Emissione propria di luce

Il Lighting è il calcolo dell’equazione di illuminazione in uno o più punti da illuminare. Lo Shading è

il modo con cui il lightning viene utilizzato per simulare l’illuminazione durante il rendering. Il Flat

Shading consiste nell’applicare il modello di illuminazione sui piani costituenti la scena. Per ogni

piano viene effettuato di volta in volta il lighting. Il Gouraud Shading consiste nel valutare il

lighting per ogni vertice del poligono (e non per ogni piano), tramite un calcolo medio effettuato

tra le normali dei piani adiacenti al vertice.

Page 162: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

161

Il Texture Mapping è un processo il cui scopo è quello di modellare le superfici degli oggetti con

dei motivi e delle trame realistiche. La texture deve essere modellata con tecniche matematiche

che applicano la texture agli oggetti nella scena.

Tra i linguaggi moderni di programmazione 3D vi è l’eXensible 3D. Si tratta di una nuova

generazione di specifiche grafiche per la descrizione dei contenuti tridimensionali interattivi. E’ il

successore di VRML97, che era il linguaggio standard per la virtual reality. Tra le sue funzionalità vi

è la possibilità di effettuare dello Scripting orientato al networking. La struttura di un file di un

mondo 3D è di tipo gerarchico, e gli oggetti con le loro relazioni sono rappresentati da alberi.

Per ulteriori approfondimenti riguardo l’argomento, si rimanda ai numerosissimi manuali in rete e

alle slide relative al corso 2011/2012.

Page 163: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

162

CAPITOLO XIV – GESTIONE DEL TESTO

1. TRATTAMENTO AUTOMATICO DEL TESTO

Al giorno d’oggi per la comprensione del testo le interfacce utilizzano ancora le parole chiavi,

affidandosi ad una ricerca e ad un confronto lessicale (al più logico). Lo scopo che si rincorre da 50

anni a questa parte è quello di rendere l’interpretazione del testo automatica, ossia propria di un

sistema di elaborazione, che riesca a venire a capo di tutte le problematiche (linguaggi, ambiguità,

etc.) legate alla interpretazione semantica dei testi e dei loro contenuti. In un discorso reale, alle

parole si accompagnano gesti, espressioni, cambiamenti del tono di voce, tutte cose che non

possono essere espresse su un documento testuale. Nella scrittura, esistono tecniche di

descrizioni che cercano di rappresentare queste “aggiunte esterne” (ad esempio descrizioni di

paesaggi, stati d’animo, espressioni, etc.), al fine di rendere più reale possibile un testo e di offrire

quindi al lettore la capacità di poter interpretare soggettivamente le emozioni descritte,

decodificandole in maniera più sofisticata di quella che è realmente rappresentata sul testo.

Il trattamento automatico del testo si prefigge lo scopo di fornire al calcolatore le conoscenze

linguistiche necessarie al fine di comprendere la struttura ed il contenuto del testo, simulando il

comportamento di un lettore umano:

- Acquisire automaticamente conoscenza dai documenti.

- Velocizzare l’accesso alle informazioni.

- Utilizzare infrastrutture di gestione e sviluppo di risorse linguistiche di grandi dimensioni

(es: Web Semantico).

Ad esempio, se un medico vuole cercare una diagnosi vecchia di 10 anni e non si ricorda il nome

del paziente, può effettuare delle ricerche per contenuto indicando nella ricerca le poche parole

che si ricorda a riguardo della diagnosi, sia che siano contenute nel documento, sia che siano delle

approssimazioni del contenuto ma che non sono presenti nel documento vero e proprio. La ricerca

per contenuto implica l’estrazione e la formalizzazione delle informazioni di interesse al fine di

poter rendere “interrogabile” il documento e non ambigue le risposte.

La ricerca per parole chiave (lessicale) ha molti limiti. Se si cerca la parola “squadra” in un motore

di ricerca, i risultati saranno imprecisi, siccome la parola chiave è ambigua (può essere una

squadra di calcio, un verbo, strumento per disegno, etc.), inoltre se si cercano parole simili a quella

indicata, tutti i risultati saranno omessi (problema della Recall). La ricerca semantica invece va

oltre il puro significato lessicale della parola e riesce ad intendere i significati semantici del testo

da ricercare (tramite ontologie) restituendo risposte più appropriate e rilevanti.

Per ottenere i risultati preposti dalla ricerca semantica, occorre stabilire un meccanismo di

reasoning dei sistemi di ricerca e trattamento testuale, al fine di renderli automatici ed autonomi.

Page 164: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

163

Il modello di reasoning (sperimentale) in analisi, si struttura come in figura:

- Formalizzazione del Dominio: in questa prima fase si ottengono i nodi dell’ontologia. Il

documento diventa una lista e si cominciano ad accoppiare i nodi in base ai loro legami

semantici. Le risorse in questo frangente sono inserite dai linguisti, mentre gli ingegneri

hanno il compito di ottimizzarne la disposizione.

- Estrazione Informazioni: in questa seconda fase si ricavano le relazioni semantiche tra i

nodi dell’ontologia, e anche con nodi esterni al documento.

- Espansione Semantica della Query: in questo ultima fase si utilizzano i risultati ottenuti per

realizzare un motore di Ricerca Semantica. Si mappano le ontologie ed i documenti nelle

basi di dati.

Le fasi e sono ancora in fase di studio.

Page 165: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

164

2. FORMALIZZAZIONE DEL DOMINIO

Si analizza di seguito la prima delle tre fasi presentate in precedenza.

Fase 0: Scansione

I documenti non sono sempre in formato digitale. Per questo motivo è necessaria un’acquisizione.

L’input è sempre rumoroso, bisogna quindi stare attenti ad eventuali problemi che possono

provenire da una cattiva acquisizione.

Fase 1: Pretrattamento del Corpus

la prima operazione che viene eseguita in questa fase è il Parsing (o Tokenizzazione) ossia la

distinzione tra quelli che sono i caratteri dell’alfabeto e quelli che sono utilizzati come separatori.

Si consideri la successione di caratteri “50%” se si considera il ‘%’ come separatore, si avrà che i

caratteri utili saranno ‘50’. Si definiscono quindi le singole unità di analisi: i Token, ossia

successioni di caratteri dell’alfabeto compresi da separatori. L’output del Parsing è una lista di

Token.

La seconda operazione è quella della Normalizzazione che viene applicata sul risultato del Parsing.

La normalizzazione ha lo scopo di uniformare le differenti variazioni ortografiche di un token

(errore di battitura, errore di codifica, errore di formato, etc.), in modo che siano ricondotte ad

un’unica forma grafica. Questo avviene tramite il raggruppamento dei token in classi di

equivalenza. In questo processo si cerca di eliminare quante più ambiguità possibili nell’ortografia

del testo, come le lettere minuscole e maiuscole (“usa” come verbo e “USA” come stato), la

Page 166: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

165

trasformazione di apostrofi in accenti e l’eventuale viceversa, le lettere maiuscole dopo un punto,

etc. in generale le procedure di normalizzazione ricorrono a:

- Database appositi: si tratta di elenchi, glossari e repertori con cui è possibile riconoscere

ed uniformare la grafica di particolari espressioni (nomi di città, sigle, abbreviazioni, etc.) o

anche cristallizzare sequenze specifiche di parole (locuzioni grammaticali) e

standardizzarne la forma, riducendo quindi le ambiguità aiutando le classi di equivalenza.

- Sistema di Regole: stabiliscono quale dev’essere il comportamento della normalizzazione

in casi di ambiguità (es: quando intendere un punto come una fine di una frase o come

l’abbreviazione si un nome).

L’ultima operazione di questa fase consiste nella Correzione degli Errori di Codifica, che va a

correggere quelli che possono essere eventuali errori di codifica dovuti all’interpretazione

scorretta di caratteri speciali (non ASCII standard).

Fase 2: Annotazione Morfo-Sintattica

La prima operazione che si esegue in questa fase è l’Annotazione Grammaticale o Part of Speech

(POS) Tagging. Consiste nell’associare a ciascun token la corretta categoria grammaticale (o parte

del discorso) tramite dei linguaggi di markup. E’ in questa fase che avviene la disambiguazione

lessicale, come per il token “pesca” che può essere quindi specificato se è un verbo o un nome. Il

procedimento è riconducibile ad una analisi grammaticale, ed è essenziale per poter applicare poi

le regole di costruzione delle frasi. Nonostante questo trattamento, logicamente e sintatticamente

le frasi mantengono ancora delle ambiguità. Basti considerare la frase “la vecchia la porta la

sbarra” che e può avere multipli significati a seconda delle annotazioni lessicali che si consegnano

ad ogni token. Per aiutare la classificazione lessicale delle parole, occorre una distinsione in

categorie:

- Parole Piene: ossia parole che portano contenuto, come nomi, verbi, aggettivi ed avverbi.

- Parole Vuote: ossia parole che non portano contenuto, come articoli, preposizioni,

congiunzioni.

Con questa distinzione è possibile operare una annotazione più efficace, che riesce ad eliminare

delle ambiguità lessicali analizzando le parole che precedono o seguono i token. Il software

TreeTagger, utilizza degli alberi di decisione probabilistici, che analizzano ogni frase al cui interno

vi sono token ambigui. Tramite degli statements, si scorre l’albero fino ad arrivare ad un nodo che

classifichi il token ambiguo. Ad esempio “la parola prima del token è un articolo?” se è vero, allora

il token è un nome. Altrimenti si procede con un altro statement: “il token è seguito da un

avverbio?” e così via. Il processo di annotazione del TreeTagger può essere avviata solo su un set

di token precedentemente già annotati. Non tutti i termini ambigui possono essere risolti da

questo processo.

Page 167: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

166

Successivamente all’annotazione POS, vi è l’operazione di Lemmatizzazione. Gli elementi lessicali

non ambigui provenienti dalla fase di annotazione sono associati ad un Lemma relativo, ossia ad

un “descrittore” della categoria grammaticale di appartenenza. I termini possono quindi essere

raccolti in gruppi in quanto derivanti da uno stesso lemma:

- Per i nomi il lemma coincide con la forma singolare maschile:

⟨ ⟩ →

- Per i verbi il lemma coincide con la forma all’infinito.

⟨ ⟩ →

Un’altra tecnica di lemmatizzazione è lo Stemming, che riconduce le parole a radici comuni che

non variano con coniugazioni, flessioni, prefissi e suffissi.

⟨ ⟩ →

Fase 3: Analisi Lessico-Metrica

Questa fase si occupa di ritagliare un gruppo di parole utili dalla lista di token con label. Queste

parole sono scelte in base alla loro ridondanza nel documento e devono offrire un tasso di

copertura (legato alla perdita di informazioni) dei contenuti del documento quanto più alto

possibile. Devono considerarsi anche le parole uniche (HAPAX) che compaiono solo un volta in

tutto il documento o in un insieme di documenti, siccome sono le uniche portatrici di informazioni

legate al loro significato.

La prima operazione di questa fase è il calcolo delle misure lessico-metriche, ossia di indici

statistici sul vocabolario e sulle classi di frequenza, al fine di determinare il tasso di copertura del

lessico estratto dal testo:

- Lunghezza in Parole del Corpus ( ): definita dal numero totale di occorrenze dei token che

compongono il corpo del documento.

- Grandezza del Vocabolario ( ): definita dal numero totale di forme grafiche diverse.

Ricchezza Lessicale del Corpus ( ⁄ ): i valori di questo indice sono compresi tra 0 e 1. Se il

suo valore è vicino allo 0, significa che il vocabolario del testo non è molto grande e quindi

poco vario. Se il valore è prossimo all’1, vuol dire che la grandezza del vocabolario è quasi

pari a quella del testo, ossia che il testo è quasi completamente formato da HAPAX.

- Frequenza Assoluta ( ): indica quante volte un determinato token occorre all’interno del

testo.

- Frequenza Relativa ( ): indica il rapporto tra la frequenza assoluta ed il numero totale di

token nel testo:

- Frequenza Media Generale ( ): e’ uguale al rapporto tra la somma delle frequenze di

tutti i token del vocabolario (proprio ) e la grandezza del vocabolario:

Page 168: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

167

- Frequenza Cumulata ( ): fornisce tasso di copertura del testo, ossia la percentuale di

occorrenze che derivano dalle parole del vocabolario al di sopra di una soglia, sul totale di

tutte le occorrenze del corpus. La soglia di frequenza viene stabilita per garantire un

sottoinsieme del vocabolario da essere analizzato, siccome il vocabolario per intero

risulterebbe troppo oneroso. Ovviamente tale sottoinsieme deve garantire una

accettabile.

- TF-IDF: utilizzato per scopi di indicizzazione. Evidenzia quelle che sono le parole che

occorrono frequentemente in un documento ma raramente nella raccolta di documenti.

Esso è direttamente proporzionale alla frequenza di comparsa della parola all’interno del

documento e inversamente proporzionale alla distribuzione della parola all’interno della

raccolta di documenti. Le parole trovate con un indice TF-IDF molto alto, sono

approssimabili ad un HAPAX.

La seconda ed ultima operazione di questa fase è l’Individuazione dei Segmenti, ossia il calcolo di

ulteriori indici statistici relativi questa volta alle dipendenze dei token adiacenti. Se due token sono

sempre in successione, è possibile considerarli come una unica parola (quindi unico token).

- IS: rappresenta la dipendenza di insiemi di token in funzione delle loro frequenze di

occorrenza. Si calcola valutando la frequenza con cui due o più termini compaiono assieme,

confrontata con la frequenza delle occorrenze degli stessi termini separati che compaiono

nel testo.

Il risultato finale della fase 3 è un vocabolario fatto dei termini che hanno superato i processi di

segmentazione.

Fase 4: Estrazione dei Termini Peculiari

Si tratta di una fase di filtraggio, che raccoglie solo gli elementi lessicali rilevanti dal vocabolario

ottenuto. Si filtra in funzione di:

- Categoria grammaticale (ottenuta dalla Lemmatizzazione).

- Valori degli indici lessico-metrici.

Il filtro agisce quindi sugli elementi che non sono indispensabili (es: gli articoli sono scartati).

Successivamente si estraggono solo le parole più importanti. Si definisce quindi il “lessico

peculiare” ossia l’insieme degli elementi essenziali che riescono a rappresentare il contenuto

informativo del documento.

Page 169: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

168

Fase 5: Individuazione delle Relazioni Semantiche

In questa fase si cercano quelle che sono relazioni semantiche tra i termini estratti. Queste

relazioni sono necessarie per arricchire l’ontologia e sono stimate in base alle relazioni tra token,

in base al loro utilizzo o al contesto (se sono utilizzati con verbi simili, se sono sinonimi, etc). buone

tecniche di formalizzazione delle relazioni semantiche sono effettuate con l’ausilio di DB esterni, al

fine di poter avere più informazioni possibili con cui procedere.

Per valutare l’efficacia del sistema di ricerca semantica, si distinguono prima:

- Documenti Rilevanti: di effettivo interesse per l’utente.

- Documenti Recuperati: prodotti in output dal sistema come risposta di una query.

Si utilizzano poi gli indici di Precision (documenti ottenuti in output rilevanti) e Recall (documenti

rilevanti restituiti effettivamente in output).

3. NATURAL LANGUAGE PROCESSING (NLP)

Il NLP è la capacità da parte di sistemi automatizzati ed automatici di comprendere, elaborare e

rispondere il linguaggio di tipo naturale, utilizzato comunemente dall’uomo. Con tecniche di

reasoning e di analisi testuali è possibile quindi che una macchina riesca a interagire con l’uomo.

Un elemento importantissimo per questa interazione è ovviamente l’Information Retrieval, che si

configura anche in questo caso come uno dei punti cardini del rapporto uomo/macchina. Le

informazioni testuali che si devono analizzare sono racchiuse in raccolte di documenti, ogn’uno dei

quali può presentarsi con un tipo differente:

- Documento non Strutturato: documento privo di Tags (annotazioni) e senza divisione in

sezioni.

- Documento Parzialmente Strutturato: diviso in sezioni e formato dall’unione di più

documenti non strutturati. Ad esempio, in una cartella clinica a seconda della sezione in cui

si scrive (diagnosi, prescrizioni, sintomi) le parole assumeranno significati diversi

- Documento Completamente Strutturato: diviso in sezione e annotato nei suoi contenuti.

Questa tipologia di documenti sono i più facili da gestire.

E’ possibile inoltre gestire l’insieme di documenti attraverso:

Page 170: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

169

- Clustering: data una raccolta di documenti, li si divide in insiemi basandosi sui loro

contenuti.

- Classificazione: dato un insieme di argomenti, all’inserimento di un nuovo documento lo si

associa all’argomento a cui appartiene.

- Ranking: l’ordinamento in funzione di importanza dei documenti nella raccolta (usato per

ordinare risposte alle query).

Per favorire la catalogazione dei contenuti dei documenti e quindi favorirne la gestione in ambito

dell’IR, si deve indicizzare il testo.

Il primo meccanismo di indicizzazione dei documenti è l’Indice Booleano. Con delle query espresse

in algebra booleana, è possibile trovare delle risposte in base ai valori di questi indici assegnati ai

contenuti dei documenti, che ne indicano la presenza o meno. Ad esempio, si voglia cercare

all’interno di alcune opere di Shakespeare la presenza dei nomi “Brutus” e “Caesar” ma non

“Calpurnia”. Gli indici booleani assegnati a queste parole relativi ai vari documenti (in questo caso

le opere) indicano in maniera rapida la presenza o meno degli elementi da cercare.

Ad ogni termine è associato quindi un vettore di bits, che ne indicano la presenza nelle rispettive

opere. Per risolvere la query si considerano i vettori relativi a “Brutus”, “Caesar” e il

complementare di “Calpurnia” e si effettua una AND di tutti e tre:

Una problematica delle risposte alle query è il Ranked Retrieval: le risposte devono essere

ordinate in una lista a seconda della loro importanza rispetto al documento analizzato.

Nel modello classico di ricerca, l’utente vuole un set di risposte a lui soddisfacenti. La

trasformazione della richiesta fatta al sistema avanza con il proseguire dei livelli di comprensione

della macchina.

Page 171: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

170

Solitamente l’utente indica solo le parole chiave di quello che realmente vuol cercare. Arrivata al

blocco “Query” la macchina risponde alla richieste che le viene presentata dopo le trasformazioni

della richiesta (che la rendono più comprensibile al sistema). La bontà dei risultati sono misurati

con Precision e Recall.

Col crescere delle dimensioni delle raccolte dei documenti, diventa difficile e costoso andare a

memorizzare gli indici booleani relativi ad ogni documento, siccome questi sarebbero racchiusi in

tabelle enormi. Perciò si adopera un’altra tipologia di indicizzazione. Il metodo degli Inverted

Index fa corrispondere ad ogni documento un ID: ad ogni termine assegna una lista ordinata

contenente gli ID dei documenti in cui compare. Con questa tecnica si risparmia sulle dimensioni di

memorizzazione (non è richiesta una tabella, bensì delle liste linkate) e si rende semplice la

consultazione degli indici all’interno delle liste, siccome sono ordinate.

L’insieme dei termini viene chiamato Dizionario, mentre ogni ID contenuto nella lista è chiamato

Posting. Per costruire gli Inverted Index, si applicano le tecniche viste in precedenza per il

trattamento automatico del testo al fine di estrapolare un insieme di lessico peculiare da ogni

documento della raccolta. Successivamente, si fondono gli insiemi di lessico peculiare di ogni

documento, ottenendo informazioni sulla frequenza di occorrenza di ogni termine relativa

all’intera raccolta (in quanti documenti della raccolta compare il termine). A queste informazioni è

aggiunta la lista dei postings, che traccia gli ID dei documenti in cui compaiono i termini.

Page 172: Appunti del corso di Sistemi Multimediali SMU 2012.pdf · Anche luomo fa parte del si sistema: ... riguardano soprattutto le dimensioni che un file multimediale presenta: siccome

171

Costruito il dizionario e le postings lists, per effettuare una query si applicano operatori booleani

che agiscono questa volta sui postings. Si consideri ad esempio la query .

Cercando nel dizionario le parole e ne si trova la lista dei postings e si effettua

il merge. Il risultato sarà’ l’insieme dei postings comuni alle due liste.

Computazionalmente l’operatore di esclusione ( ) è molto più complesso del merging.

Spesso la sola ricerca delle parole chiavi non è sufficiente, siccome si vuole ricercare anche

informazioni relative al contesto e alla semantica. Per questo motivo sono possibili delle query di

prossimità testuali, che ricercano negli intorni della parola indicata, quelli che sono riscontri di

altre parole con significati affini al contesto da ricercare (es: sullo stesso rigo, o su righi adiacenti).