340 likes | 508 Views
Basi di dati multimediali. Basi di dati Multimediali. Introduzione. Introduzione. Nuove applicazioni richiedono la rappresentazione e la gestione di dati non tradizionali: testi arbitrari immagini audio video dati tradizionali (relazionali, orientati ad oggetti).
E N D
Basi di dati Multimediali Introduzione
Introduzione • Nuove applicazioni richiedono la rappresentazione e la gestione di dati non tradizionali: • testi arbitrari • immagini • audio • video • dati tradizionali (relazionali, orientati ad oggetti)
Basi di dati multimediali • Un sistema di gestione dati multimediali (MMDBMS) permette la rappresentazione e la gestione di diversi tipi di dati, potenzialmente rappresentati secondo diversi formati • Un MMDBMS deve permettere di: • rappresentare dati corrispondenti a diverse tipologie di media • interrogare dati rappresentati in formati diversi in modo uniforme • interrogare dati in formati diversi simultaneamente nel contesto della stessa query • recuperare gli oggetti dal supporto su cui risiedono, compatibilmente con il tipo di media che rappresentano
Un esempio per capire • Si consideri un’investigazione della polizia nel contesto di un’operazione anti-droga • questa investigazione può generare diverse tipologie di dati: • video, ottenuti da telecamere di sorveglianza poste in varie locazioni • audio, relativi ad intercettazioni telefoniche • immagini, corrispondenti a fotografie fatte dagli investigatori • documenti, relativi ai rapporti stilati dalla polizia • dati relazionali tradizionali, relativi ad informazioni di background sulle persone sospette
Query sulle immagini • Query 1 • il poliziotto John ha davanti a se una fotografia • vuole trovare l’identità della persona nella foto • Query: ritrova tutte le immagini nelle quali appare la persona che compare nella mia foto • Query 2: • il poliziotto John vuole esaminare le immagini di Denis Dopeman • Query: ritrova tutte le immagini in cui compare Denis Dopeman
Problematiche • Due tipi di query: • query image-based • query keyword-based • nella query 1, il poliziotto, fornisce un’immagine in imput e vuole come output un’insieme di immagini, possibilmente ordinate rispetto al loro grado di similarità con l’immagine nella foto • problemi • che cosa vuol dire similarità • che cosa vuol dire ordinare • come si può supportare la ricerca • nella query 2 il poliziotto fornisce una keyword come input (il nome, Denis Dopeman) e vuole come output le fotografie che contengono un’immagine di Denis Dopeman • problemi • necessità di associare attributi ad immagini • come si può supportare questa ricerca
Query sui documenti audio • Query 1: • il poliziotto John sta ascoltando il nastro relativo ad una intercettazione telefonica, contenente una conversazione tra le persone A e B • Query: determinare l’identità di B, sapendo che A è Denis Dopeman • Query 2: • il poliziotto John vuole riascoltare tutti i dialoghi a cui ha partecipato Denis Dopeman, in un certo periodo di tempo • Query: ritrova tutti i documenti audio in cui partecipa Denis Dopeman • si associano attributi agli audio oppure si riconosce la voce di Denis Dopeman
Query sui documenti testuali • Query 1: • il poliziotto John sta analizzando un archivio di documenti testuali, che contengono vecchie riviste, rapporti della polizia, etc. • Query: ritrova tutti i documenti relativi alle transazioni finanziarie illegali che coinvolgono ABC Corp.
Query sui documenti video • Query 1: • il poliziotto John sta esaminando un video di sorveglianza, che contiene le immagini di un agguato fatto ad una certa persona. La faccia dell’assaltatore non è però chiara e quindi eventuali ricerche basate sulle immagini, per determinare l’identità dell’assaltatore, non hanno dato buoni risultati • è possibile che la vittima conoscesse l’assaltatore • Query: trova tutti i segmenti di video in cui compare la vittima dell’agguato
Query eterogenee • Gli esempi precedenti si riferiscono a query che coinvolgono un singolo tipo di media (solo audio, solo testo, solo immagini, solo video) • query più complesse possono coinvolgere diversi tipi di media • Query 1: • determina gli individui che sono stati visti insieme a Jose Orojuelo e che sono stati condannati per tentato omicidio in Nord America e che hanno recentemente ricevuto bonifici bancari dalla ABC Corp • per risolvere la query è necessario: • determinare condannati per tentato omicidio in Nord America e che hanno recentemente ricevuto bonifici bancari dalla ABC Corp • query testuale su documenti, anche eterogenei • query su immagini per fotografie • query su video
MMDBMS: aspetti da considerare • Rappresentazione • i dati sono tipicamente non strutturati • si vuole analizzare il contenuto • come è possibile rappresentare il contenuto di un documento multimediale? • Come si fa a capire che un’immagine contiene una certa persona • Query • un linguaggio di query per MMDBMS deve avere caratteristiche particolari • query processing deve analizzare il contenuto degli oggetti
MMDBMS: aspetti da considerare • Memorizzazione: • quali supporti utilizzare? (dischi, CD-ROM, nastri) • che operazioni supportare: • non solo lettura/scrittura ma anche (video/audio) • playback • rewind • fast foward • pause • Indici: • come indicizzare gli oggetti multimediali? • Analizzeremo solo i primi due aspetti
Rappresentazione • Un oggetto multimediale in genere può essere composto da diversi sotto-oggetti, ciascuno relativo ad un particolare media • le relazioni tra oggetti e sotto-oggetti può essere modellata utilizzando un approccio orientato ad oggetti o relazionale ad oggetti • rimane il problema di come rappresentare il contenuto di un oggetto corrispondente ad un singolo media • ci occuperemo di questo aspetto
Rappresentazione • Gli oggetti sono non strutturati • dal punto di vista del DBMS sono possibili due tipi di rappresentazione • riferimento esterno: • il DB contiene riferimento ai file che contengono i dati multimediali • questi file non vengono gestiti dal DBMS • rappresentazione interna: • i dati multimediali vengono memorizzati nel DBMS in campi di tipo particolare, come BLOB (binary large object) o CLOB (character large object) • il DBMS gestisce questi dati, dal punto di vista dell’accesso, ripristino e autorizzazione DBMS Oggetto multimediale LOB Oggetto multimediale riferimento
Rappresentazione • In genere, non esiste una modalità standard per la rappresentazione di dati multimediali • Esempio: • Oracle supporta i seguenti tipi • LOB, CLOB, BLOB: oggetti non strutturati fino ad 4 GB • RAW, LONG RAW: dati completamente non interpretati • Sybase: • IMAGE • TEXT
Rappresentazione • In entrambi i casi gli oggetti sono completamente non strutturati • per poterli interrogare in modo ragionevole, è necessario sovraimporre a ciascun oggetto una rappresentazione concettuale • la rappresentazione concettuale è costituita da un insieme di dati strutturati che descrivono l’oggetto multimediale (surrogato) dal punto di vista: • della struttura • del contenuto semantico • ogni oggetto dello stesso tipo sarà descritto dallo stesso tipo di surrogato • il surrogato del documento non descrive pienamente il contenuto informativo del documento ma costituisce una sua sintesi • i surrogati rappresentano gli oggetti sui quali definire le tecniche di indice
Rappresentazione • Spesso il surrogato si ottiene associando a ciascun oggetto un insieme di attributi • due tipi di attributi: • descrittivi • associano informazioni descrittive (relazionali) a ciascun oggetto • vengono associati manualmente all’oggetto • content-based (anche chiamati features) • associano informazioni relative al contenuto • vengono estratti direttamente dal sistema • entrambi i tipi di attributi si possono interpretare come una sorta di metadati • i metadati associati ad un documento multimediale dipendono dal tipo di media considerato
Esempio Attributi descrittivi nome: Villa Medici località:Roma Features: forma:
Rappresentazione Generazione metadati (automatica + manuale) Oggetti multimediali Features + attributi I sistemi mettono a disposizione funzionalità per estrarre feature e per utilizzare tali feature nel contesto delle interrogazioni
Rappresentazione • Conseguenza • i documenti multimediali potranno essere confrontati solo rispetto agli attributi e alle feature • feature uguali non sempre si riferiscono ad oggetti uguali • Esempio si puo’ riferire sia ad una villa che ad un’industria
Query • Due aspetti • definizione caratteristiche linguaggio di interrogazione • query processing • è necessario stabilire: • approccio generale all’esecuzione delle query • aspetti che devono essere supportati
Generazione metadati 2 1 3 Meccanismo di interrogazione Idea di base query processing • La query viene eseguita sui metadati (attributi + features) • dai metadati si risale ai documenti originali • i documenti originali vengono restituiti all’utente Features + attributi Oggetti multimediali
Aspetti da supportare • Le query devono potere essere eseguite su diversi tipi di media contemporaneamente • aspetto già considerato • devono considerare attributi e features • devono supportare query per similitudine • devono associare un valore di rilevanza ad ogni oggetto restituito • devono supportare query spazio-temporali • devono poter essere pesate
Attributi e feature • Le query interrogano gli oggetti multimediali considerando gli attributi e le feature ad essi associati • Esempio: ritrova tutte le immagini di abitazioni importanti in Liguria • assumo di avere estratto le forme dalle immagini • assumo di avere associato informazione descrittiva (luogo, tipo abitazione)
Query per similitudine • Poiché il contenuto degli oggetti viene espresso attraverso features e poiché le feature non rappresentano pienamente il contenuto semantico di un oggetto, le condizioni di selezione sugli oggetti multimediali non sempre sono certe • ciò significa che le condizioni non sono in generale condizioni di uguaglianza ma di similitudine • le condizioni in genere sono verificate in una certa misura, data dalla similitudine tra ciò che stiamo cercando e ciò che abbiamo trovato • il linguaggio deve permettere di esprimere query di questo tipo • il query processing deve essere in grado di supportare tali tipi di query
Query per similitudine • Query: • determina tutte le immagini in cui appare una certa persona, presente in una specifica foto • difficilmente verranno restituite tutte le immagini che contengono questa persona • molto probabilmente verranno trovate anche immagini in cui compaiono persone che, per qualche motivo (dipende dalle feature considerate) assomigliano alla persona cercata
Ranking • Una conseguenza della necessità di eseguire query per similitudine è quello di decidere i criteri di rilevanza di un oggetto rispetto ad una interrogazione: ranking • Il ranking è un ordinamento degli oggetti restituiti da una interrogazione che riflette il grado di rilevanza dei documenti rispetto all’interrogazione • I criteri per effettuare il ranking dipendono dal media considerato • Esempio: ritrova le 5 immagini in cui più probabilmente appare una certa persona, presente in una specifica foto • in questo modo, si aumenta la certezza del risultato
Query spazio-temporali • Necessità di interrogare relazioni spazio-temporali esistente tra gi oggetti • relazioni spaziali: associano le feature associate ad un oggetto da un punto di vista spaziale • importante per immagini, testo • Esempi: • in un’immagine, relaziono le forme che compaiono rispetto alla loro posizione (vicino, lontano, a destra, a sinistra) • in un testo, relaziono il contenuto (prima, dopo) • relazioni temporali: associano le feature associate ad un oggetto da un punto di vista temporale • importante per audio, video • Esempi: • sequenze audio/video: prima, dopo, subito prima, subito dopo, contemporaneamente
Query spazio-temporali • Query 1: • determina tutti i video in cui Denis Dopeman discute con una persona e poi la paga • vincolo temporale • Query 2: • determina tutte le immagini in cui Denis Dopeman incontra una persona • l’immagine deve contenere due persone, ragionevolmente vicine • vincolo spaziale
Query pesate • In alcuni casi può essere utile pesare le varie condizioni nel contesto di una query • questo permette di associare un livello di importanza alla condizione nel determinare la similarità degli oggetti • Esempio: determina: • gli individui che sono stati visti insieme a Jose Orojuelo (1) • sono stati condannati per tentato omicidio in Nord America (0.8) • hanno recentemente ricevuto bonifici bancari dalla ABC Corp (0.5) • la similarità viene pesata
Due approcci alla specifica delle query • Si definisce un linguaggio di query • ad esempio, si estende SQL con condizioni specifiche da applicare ad oggetti multimediali • tipico DBMS estesi alla gestione di dati multimediali • query by example: • si fornisce un oggetto di esempio e si vogliono determinare tutti gli oggetti simili • esempio: si fornisce la fotografia del viso di una persona e si vogliono ritrovare tutti i visi simili • tipico di sistemi dedicati alla gestione di un solo tipo di media
I sistemi • Tutti i principali DBMS sono stati estesi in modo da supportare la gestione di informazione multimediale • esistono sistemi specifici ottimizzati rispetto alla gestione di particolari tipi di media • QBIC: immagini • QBE: query by example su immagini • MULTOS: testo • PICQUERY
Nel seguito ... • Considereremo due media: • testo • immagini • per ciascuno illustreremo • rappresentazione del contenuto • query in alcuni sistemi