Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Elaborato finale in Sistemi Multimediali Valutazione di un sistema per il riconoscimento di suoni anomali Anno accademico 2011/2012 Candidato: Giuseppe Natale matr. N46/000523 “Sapere sia di sapere una cosa, sia di non saperla: questa è conoscenza.” Confucio Prefazione Il presente documento costituisce il frutto di un intenso lavoro di documentazione e approfondimento sui sistemi di audio sorveglianza e sulle tecniche utilizzate per la rilevazione dei suoni anomali. Non vuole essere un documento esaustivo né ambisce a chiarificare in maniera completa struttura e caratteristiche di tali sistemi, in quanto la trattazione richiederebbe una quantità di dati enorme e sarebbe vastissima, oltre che materialmente fuori portata. L’obbiettivo è piuttosto inquadrare il problema utilizzando un approccio informatico e focalizzandosi sugli aspetti costitutivi della parte software di questi sistemi, evidenziandone la struttura generale e dettagliandone i componenti. In ultima battuta, verranno presentati i risultati sperimentali di alcuni progetti di realizzazione di sistemi di audio sorveglianza per poter effettuare un’analisi comparativa delle tecniche presentate. Indice 1 Introduzione 1.1 Tipi di sorveglianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 I sistemi di audio sorveglianza . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 3 2 Architettura del sistema 2.1 La sorgente: il suono . . 2.2 Il sensore: il microfono . 2.3 Il rilevamento . . . . . . 2.4 Il database . . . . . . . 2.5 Il processo di analisi . . 2.6 Valutazione dei risultati . . . . . . 5 6 6 7 8 8 9 . . . . . . . . . . . . . . . . . . 10 11 11 12 14 15 15 15 16 17 17 18 19 22 23 23 24 25 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Tecniche di Intelligenza Artificiale 3.1 Estrazione feature . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Attributi dell’audio . . . . . . . . . . . . . . . . . . . . 3.1.2 Caratteristiche e Tassonomia . . . . . . . . . . . . . . Pretrattamento del segnale . . . . . . . . . . . . . . . Principali tecniche di estrazione feature . . . . . . . . Short Time Energy (STE). . . . . . . . . . . . . Zero Crossing Rate (ZCR). . . . . . . . . . . . Discrete Wavelet Transform (DWT). . . . . . . Caratteristiche spettrali. . . . . . . . . . . . . . Altezza. . . . . . . . . . . . . . . . . . . . . . . Mel Frequency Ceptstral Coefficients (MFCCs). 3.1.3 Problemi nel processo di estrazione feature . . . . . . . 3.2 Classificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Principali classificatori . . . . . . . . . . . . . . . . . . k-Nearest Neighbour (k-NN) . . . . . . . . . . . . . . . Gaussian Mixture Model (GMM) . . . . . . . . . . . . Support Vector Machine (SVM) . . . . . . . . . . . . . Neural Networks (NN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Analisi comparativa di feature e classificatori 28 5 Conclusioni 35 6 Sviluppi futuri 37 I Capitolo 1 INTRODUZIONE Per sorveglianza si intende il monitoraggio del comportamento e delle attività delle persone con lo scopo principale di offrire protezione, ma anche di influenzare, gestire e direzionare le persone stesse. Questa pratica è decisamente da ritenersi ambigua, in quanto seppur concepita per scopi benefici, può ed è stata di fatto usata anche con effetti negativi. Si riferisce generalmente all’osservazione di individui o gruppi da parte delle organizzazioni governative, che in generale è l’ambito in cui la sorveglianza è maggiormente sviluppata. Generalmente, quando si parla di sorveglianza ci si riferisce all’osservazione a distanza grazie all’uso di mezzi elettronici di varia natura, o l’intercettazione dei flussi di natura elettronica che comportano uno scambio di messaggi tra individui (internet, telefono), ma nondimeno ci si può riferire anche a metodi in cui la tecnologia è limitata o del tutto assente, come ad esempio l’intercettazione postale. Le tecniche di sorveglianza sono particolarmente utili per governi e forze dell’ordine per mantenere il controllo sociale, per riconoscere, monitorare e prevenire le attività criminali. Tuttavia le implicazioni da un punto di vista dei diritti civili, della privacy ed in generale delle violazioni delle libertà personali sono notevoli, e causa di un acceso dibattito ancora in corso e che sta crescendo esponenzialmente, anche e soprattutto in funzione dell’enorme sviluppo raggiunto e della diffusione su scala mondiale dei sistemi di sorveglianza. 1.1 TIPI DI SORVEGLIANZA Attualmente i sistemi di sorveglianza stanno acquistando sempre maggior importanza sia negli ambienti privati che pubblici, e la loro diffusione, in tutte le forme e le soluzioni, cresce quotidianamente. Questo è causato in primis dalla sempre maggior accuratezza e sofisticatezza di questi sistemi, dovuta sia ai miglioramenti in ambito hardware, sia all’elaborazione di sempre più complessi e completi corredi software, che velocizzano e migliorano il processo di rilevazione ed elaborazione dei segnali. In secondo luogo è da considerare il costo, che segue inevitabilmente il trend di tutti gli apparati elettronici: l’industrializzazione di massa ha reso mainstream ciò che prima non lo era, e ciò che agli albori dell’informatica era privilegio per pochi, oggi ha un prezzo sempre più abbordabile anche per chi non possiede consistenti disponibilità monetarie. Tra la moltitudine di sistemi di sorveglianza attualmente in commercio, possiamo tentare di effettuare una classificazione, seppur di fatto alcuni sistemi potrebbero non rientrare in queste categorie o essere una combinazione di questi ultimi. Per dovere di cronaca si precisa che, dal momento che le soluzioni qui di seguito non sono argomento di questa trattazione, 1 Capitolo 1. Introduzione se ne parlerà solo in via generale, senza scendere in dettagli tecnici. Ad ogni modo, essi sono: • Videosorveglianza: Sono sistemi che sfruttano sensori che sono in grado di catturare immagini e video, le videocamere in primis, e senza dubbio la prima soluzione a cui si pensa quando si parla di sorveglianza. Per schema generale sono i sistemi che maggiormente somigliano a quelli di sorveglianza audio e il più delle volte sono affiancati a questi ultimi. Le attuali tecniche di analisi delle immagini hanno permesso di sviluppare strumenti di riconoscimento e di tracking di specifici oggetti o individui, consentendo di automatizzare il processo di estrazione delle informazioni dalla sorgente video e di rendere i sistemi a circuito chiuso indipendenti dall’intervento dell’operatore umano. Le potenzialità di questi moderni sistemi hanno accelerato incredibilmente la diffusione di questi ultimi, sia nei luoghi pubblici, che a difesa di privati, tanto da suscitare un accesissimo dibattito in merito alla privacy con ripercussioni sociali notevoli. Il numero di configurazioni e di tipi di soluzioni presenti sul mercato sono talmente vaste da non renderne possibile una panoramica completa, ed inoltre ciò esula dagli scopi della tesi. Va però precisato che nel caso specifico dei sistemi di videosorveglianza, le similitudini con i sistemi audio sono tali da rendere i futuri discorsi in un certo qual modo validi anche per questa categoria di sistemi, specialmente quando verrà analizzata l’architettura generale. • Sorveglianza telefonica: Questo genere di sistemi mirano ad intercettare le chiamate avvenute sulla linea telefonica ed in generale ricorrono a sistemi automatizzati di speech-to-text in cui non è necessaria la presenza di un operatore umano: un software crea un testo interpretabile dal calcolatore a partire da una fonte audio, il quale è poi analizzato con programmi di indicizzazione e ricerca che scorrono tutti i documenti creati mirando al ritrovamento di determinate parole che sono state catalogate come sinonimo di situazione potenzialmente pericolosa, e decidere se è necessario a tal proposito allertare un agente umano. Anche la rete mobile è soggetta a questo tipo di sorveglianza, anzi, la possibilità di localizzazione geografica in questo ambito è diventata estremamente semplice: si può tracciare la posizione di un terminale sfruttando una tecnica nota come multilaterazione, consistente nel calcolare il tempo impiegato da un segnale per viaggiare dal telefono cellulare ad una delle molte torri cellulari vicine ad esso. Ovviamente va precisato che per l’utilizzo di questo tipo di tecniche è necessario poter ottenere accordi con i fornitori dei servizi telefonici, e generalmente è una tipologia di sorveglianza accessibile solo alle forze dell’ordine ed a quelle governative. • Sorveglianza traffico internet: Esiste una quantità di dati in internet tale che un investigazione da parte dell’uomo tramite ricerca manuale è di fatto impossibile. Pertanto si è reso necessario creare sistemi automatizzati di sorveglianza che siano in grado, analizzando il traffico, di rilevare informazioni utili e di presentarle in automatico all’investigatore umano nel momento in cui siano riconosciute certe parole o frasi “trigger”, vengano visitati determinati siti oppure si comunichi via chat o email con gruppi o individui sospetti. Il traffico di internet può essere analizzato tramite le più disparate tecniche ed in generale è regolarmente compiuto sia da enti governative, sia da malintenzionati che le utilizzano per perseguire i propri fini. La sua diffusione è dovuta anche alla relativa facilità di creazione del sistema di sorveglianza: la banale installazione di un software, 2 Capitolo 1. Introduzione fisicamente o per via remota, può di fatto rendere il computer vittima un libro aperto, e uno strumento completamente controllabile in mano a chi ha installato suddetto software. • Antifurti: Sono sistemi che si avvalgono di svariati tipi di sensori, che possono spaziare dai rilevatori di movimento ai rilevatori di fumo, sono largamente usati per la protezione di interni dai più disparati motivi di pericolo (incendi, furti ecc...). Generalmente segnalano l’ allarme emettendo un forte segnale acustico distintamente udibile anche a grandi distanze, ma spesso presentano anche sofisticati sistemi di interconnessione con mezzi di comunicazione quale ad esempio la linea telefonica e possono ricorrere a questi per informare autorità e possessore dell’immediato pericolo. Sono generalmente sistemi molto complessi ed articolati, costituiti da una moltitudine di sottosistemi diversi, che concorrono insieme nel preservare la sicurezza di un luogo e che ricorrono a svariate tecniche di sorveglianza. Possiamo in tal senso evidenziare come alle volte gli stessi sistemi di sorveglianza video e audio vi siano collegati e ne siano parte integrante. • Localizzatori GPS: Sono sistemi che ricorrono a sofisticate tecniche di geolocalizzazione tramite satelliti per monitore con accurata precisione la posizione del bene da proteggere, possono essere usati per molti scopi ma generalmente quello in cui sono maggiormente diffusi è la protezione dei mezzi di trasporto, il cui furto comporta evidentemente che essi siano spostati, e quindi necessitano di meccanismi per poter individuare in maniera automatica dove sono locati. • Audio Sorveglianza: In ultimo introduciamo i sistemi di audio sorveglianza, che sono proprio i sistemi argomento di questa trattazione. Per il suddetto motivo, la panoramica generale di questi ultimi verrà approcciata di seguito in un paragrafo a sé stante. 1.2 I SISTEMI DI AUDIO SORVEGLIANZA I sistemi di audio sorveglianza costituiscono un’importante fetta dell’enorme parco soluzioni attualmente a disposizione per la sorveglianza. Possono essere utilizzati singolarmente o come supporto alle altre soluzioni (come quelle video), per integrarle e renderne più accurati i risultati, in quanto in alcune situazioni i sensori audio catturano informazioni più rilevanti di quanto il video non possa fare, come ad esempio nel caso di spari o urla. Altro punto di forza è che i costi di installazione e manutenzione sono relativamente più contenuti rispetto a molti altri tipi di sistemi, in quanto, ad esempio, la struttura elettronica che caratterizza una videocamera, uno scanner laser o una camera ad infrarossi è molto più sofisticata (e pertanto costosa) di un microfono, oltre al fatto che, nei casi sopracitati, il tipo di segnale su cui si deve lavorare è in termini di spettro molto più ampio e quindi computazionalmente più oneroso, nonché esoso da un punto di vista di necessità di spazio fisico in memoria. Il fine ultimo di questi sistemi è il riconoscimento di suoni “anomali”, suoni che cioè afferiscono alla categoria di “potenzialmente pericolosi” in quanto segnalano la possibilità di rischio per l’incolumità delle persone e della loro privacy ( spari, urla, esplosioni, rotture di vetri, passi di persone in luoghi non autorizzati ecc...). Il rilevamento e l’estrapolazione di questi suoni dall’ambiente non è affatto un problema semplice, ed è motivo di studio e sperimentazione 3 Capitolo 1. Introduzione per cui la formalizzazione del processo di analisi e rilevamento è causa di un dibattito in continua evoluzione, e che porta a sfornare continuamente soluzioni sempre più elaborate. L’aria di ricerca dell’audio sorveglianza è nella fattispecie una branca della Computational auditory scene analysis (CASA), che corrisponde allo studio dei meccanismi di analisi delle rilevazioni audio tramite mezzi computazionali. In pratica, i sistemi CASA sono di fatto sistemi elettronici il cui obiettivo è quello di essere in grado di scindere le diverse sorgenti acustiche e di rilevarle in maniera distinta l’una dall’altra come è in grado di fare l’orecchio umano. La difficoltà di questi sistemi sta quindi nel tradurre la struttura biologica del sistema auditivo in un modello fisico ben definito, e di replicare questo modello poi in termini di hardware, software o entrambi, a cui si aggiunge nel caso dei sistemi di sorveglianza il fatto che una situazione atipica non è una categoria ben definita, e sono molti i casi in cui situazione tipiche e atipiche sono separate da una linea sottilissima. I sistemi di sorveglianza tradizionali inoltre utilizzano uno o più microfoni collegati ad un unità centrale, disposti in specifiche regioni di monitoraggio al fine di collaborare nella rilevazione, locazione e classificazione di eventi acustici, determinando autonomamente la posizione approssimativa e il tipo di evento anomalo. Ciò comporta problemi di costi dovuti al cablaggio(qualora la soluzione proposta sia con filo), al posizionamento della struttura e alla intrinseca limitatezza che accompagna gli strumenti elettronici in quanto tali: un microfono troppo distante dalla sorgente audio potrebbe rilevare il suono distorto o affetto in generale da disturbi, e di conseguenza fornire un’analisi errata, con conseguenti rischi per privacy ed incolumità; possibili inefficienze o mancanze energetiche potrebbero causare il completo o parziale non funzionamento del sistema; deve essere garantita la concertazione dei meccanismi di rivelazione, ossia le varie parti del sistema devono agire in totale armonia e integrarsi perfettamente tra loro; la fase computazionale deve essere snella e in grado di estrapolare e rilevare i suoni anomali in tempi utili. Diverse sono gli approcci usati per la realizzazione di sistemi di questo tipo, ma in generale la struttura basilare li accomuna tutti, in quanto sono di fatto tutti semplicemente sistemi multimediali, sistemi che fanno ricorso a sofisticate tecniche di Intelligenza Artificiale (AI). 4 Capitolo 2 ARCHITETTURA DEL SISTEMA L’architettura del sistema, vista in modo generale, è quella osservabile nell’immagine seguente (figura 2.1). Figura 2.1: architettura del sistema Come lo schema evidenzia, il sistema è costituito da varie parti e di fatto è il risultato della concertazione di processi che hanno luogo sia in hardware che in software. Analizzando la struttura per come si presenta in figura, si può evidenziare facilmente come essa sia del tutto simile agli altri sistemi di sorveglianza, tutti accomunati(in via generale) dalla medesima ossatura: 1. Sensori, specifici per tipo di sistema 2. Unità elaborativa, dove avviene il processo di identificazione degli eventi rilevati 3. Valutazione del risultato, archiviazione e/o segnalazione dello stesso tramite i mezzi più disparati Passiamo ora in rassegna i vari componenti costitutivi di un sistema di audio sorveglianza. 5 Capitolo 2. Architettura del sistema 2.1 LA SORGENTE: IL SUONO Come è facilmente intuibile, nei sistemi audio l’elemento che è oggetto di analisi è il suono, nient’altro che un onda, alla stregua della luce, ma fenomeno di tipo macroscopico e che costituisce in pratica la sensazione data dalla vibrazione delle molecole dell’aria, compresse ed espanse sotto l’azione delle oscillazioni di un corpo (da cui la vibrazione si propaga). Per essere più precisi, le oscillazioni che producono il suono sono in pratica spostamenti delle particelle dalla loro posizione di riposo, lungo la direzione di propagazione dell’onda; suddette oscillazioni sono provocate da movimenti vibratori di un corpo, le cui particelle sono messe in oscillazione e che di conseguenza trasferiscono questo moto alle particelle adiacenti, provocando una variazione locale della pressione, e consentendo la propagazione meccanica della vibrazione, dando luogo ad una onda sonora. La natura di quest’onda è pertanto longitudinale, dal momento che le particelle messe in movimento, oscillano lungo la direzione di propagazione dell’onda [26]. Nel momento in cui il suono è catturato da mezzi di natura elettronica, come nel nostro caso appunto, si parla di audio, definito come l’informazione elettronica relativa al suono. Le proprietà dell’audio saranno meglio discusse nel paragrafo 3.1.1. 2.2 IL SENSORE: IL MICROFONO Introdotte le caratteristiche fisiche del suono, passiamo ora ad illustrare il componente che più di tutti, e per ovvi motivi, ne risulta intimamente connesso: il sensore, che nel caso dei sistemi di audio sorveglianza altro non è che il microfono. Esso costituisce l’entità “nodo”, collegato all’unità centrale di elaborazione e costituente la parte terminale del sistema stesso. In pratica, è un entità separata dall’unità centrale ed è posizionato nell’area che si intende monitorare. Compito del sensore è quello di rilevare le vibrazioni dell’aria prodotte dal suono e tramutarle in un segnale digitale, tramite un processo di digitalizzazione. Per adempiere a questo compito esistono diversi dispositivi che basano il proprio funzionamento su diverse tecnologie e metodi di conversione, ma in generale il risultato finale sarà la trasformazione di un’onda di tipo analogico, in uno stream di bit interpretabili da un calcolatore. La maggior parte dei microfoni attuali usano induzione elettromagnetica, generazione piezoelettrica, o modulazione della luce (ad esempio fibra ottica o laser) per produrre un segnale di voltaggio da una vibrazione meccanica. La struttura consta di un elemento trasduttore chiamato capsula, che capta le vibrazioni prodotte dall’onda sonora e le traduce in un segnale di natura elettrica, e in cui l’informazione è veicolata in una specifica componente del segnale, a seconda della tecnologia implementativa della capsula stessa. A questa si aggiunge un alloggiamento, e ormai spessissimo, se non sempre, un circuito elettronico per adattare l’output della capsula all’equipaggiamento fornito, ossia per convertire il segnale prodotto in un segnale adatto alle elaborazioni successive. Tipicamente si utilizzano per fini di sorveglianza microfoni di tipo omnidirezionale. La risposta di un microfono omnidirezionale è idealmente considerata come una sfera perfetta in tre dimensioni, ma nel caso reale non è così. Difatti, il copro del microfono non è infinitamente piccolo e, come conseguenza, tende a deformare le caratteristiche della risposta ideale proprio a causa della sua ingombranza. Ed ecco perché, si tende a realizzare microfoni omnidirezionali con il corpo più piccolo possibile, per ridurre al minimo le deformazioni. In generale il numero dei sensori è variabile e non definito, e può notevolmente cambiare a seconda del grado di copertura voluto, del budget, della grandezza del locale nonché di un’altra serie di parametri del tutto arbitrari e specifici per i vari casi di realizzazione. Questo punto accomu6 Capitolo 2. Architettura del sistema na tutti i sistemi di sorveglianza: il numero di sensori è potenzialmente illimitato. Detto ciò, viene da sé che l’unica reale difficoltà sta nell’elaborare un software che sia quindi altamente scalabile nonché in grado di coordinare l’azione dei componenti senza rallentamenti o perdita inaccettabile di informazione. 2.3 IL RILEVAMENTO La fase di rilevamento consiste nel segmentare eventi audio da uno stream continuo [17]. Questa operazione è compiuta analizzando il segnale prodotto dal sensore, ed in particolare l’energia, e confrontando continuamente il livello di potenza del segnale con uno specifico riferimento. Qualora il livello di energia di tale segnale dovesse superare una certa soglia, l’algoritmo di rilevamento intenderebbe questo evento come potenzialmente sospettoso, istruendo il sistema a registrare il segnale acustico fintanto che l’evento non sia ritenuto terminato, o più frequentemente, catturando una finestra temporale fissata a priori, definita manualmente o calcolata su base statistica. Il principale problema che in questa fase si deve fronteggiare, è la diversificazione dei suoni definiti “ambientali” dai suoni di interesse. Delle volte l’ambiente può essere caratterizzato da suoni anche più alti di quelli anomali, introducendo un forte rumore e rendendo il processo di rilevamento molto complesso. Per questo motivo è assolutamente necessario ricostruire un modello che rappresenti i suoni ambientali, come è ad esempio discusso in [13], al fine di poterli identificare e scartare. Per formalizzare il principio di rilevamento da un punto di vista matematico, chiamiamo fx (x) una funzione di decione, dove x è un generico “evento anomalo”. Sia allora λ la regola di decisione, ossia la soglia, avremo: Sefx (x) ≥ λ l’evento è anomalo Sefx (x) < λ l’evento NON è anomalo Come descritto in [1], una tecnica adatta per il rilevamento è la stima probabilistica che prende il nome di MAP (Maximum A Posteriori), la quale di fatto può essere intesa come una regolarizzazione della stima ML (Maximum Likelihood). Nel caso specifico di questi sistemi infatti, possediamo informazioni a priori sul processo fisico di cui vogliamo stimare i parametri. Queste informazioni provengono da un database preesistente popolato da risultati di natura empirica o da parametri preimpostati e scelti in fase progettuale, nonché dai risultati di processi di machine-learning a seguito di rilevamenti precedenti. Possiamo codificare queste informazioni in termini di PDF(funzione di probabilità) sui parametri da voler stimare, in questo caso indicati con x. Sia allora θ il valore che indica l’informazione pregressa. La probabilità P (θ) associata è chiamata probabilità a priori. Ci riferiamo pertanto al teorema di Bayes che ci mostra come incorporare l’informazione pregressa nel processo di stima: P (θ|x) = P (x|θ)P (θ) P (x) Il termine alla sinistra dell’equazione è chiamata probabilità a posteriori. Alla destra, il numeratore è il prodotto del termine di verosimiglianza con il termine a priori. Il denominatore serve come termine di normalizzazione. Pertanto, a partire da questo teorema si giunge a formulare l’equazione di stima MAP: arg maxθ P (θ|x) = arg max P (x|θ)P (θ) θ 7 Capitolo 2. Architettura del sistema Che è il principio su cui per l’appunto è basata la tecnica decisionale. Al termine di questa procedura, la traccia audio così ottenuta è pronta per l’analisi da parte dell’unità di elaborazione, che si occuperà di dare effettivamente un senso a ciò che il rilevatore ha semplicemente evidenziato come sospetto. 2.4 IL DATABASE Le tecniche utilizzate da questi sistemi rendono necessaria, come già accennato e facilmente intuibile, la presenza di un database, che svolga una duplice funzione: archiviazione e riferimento. Il database contiene difatti sia le istruzioni e i parametri necessari al sistema per poter operare correttamente, fornendo ad esempio le tabelle per i confronti della fase di rilevamento, i descrittori e i parametri necessari per l’estrazione feature, le informazioni sulle categorie per la classificazione e altro, ma è adibito anche alla memorizzazione dei risultati di ogni fase, a partire dal file audio sorgente. Costituisce un elemento imprescindibile per il corretto funzionamento dell’intero sistema e tutte le componenti ne fanno uso sia per ottenere informazioni in input, che per memorizzare l’output e renderlo disponibile per le fasi successive. Seppur nel presentare questo componente, per semplificarne la descrizione, abbiamo inteso il database come una entità singola, va precisato che in realtà ciò non è propriamente vero: per ogni componente del sistema può corrispondere uno specifico database, il quale può essere fisicamente o logicamente separato dagli altri. Detto ciò, non sono ritenute necessarie ulteriori considerazioni di tipo specifico e relativo alle singole parti. 2.5 IL PROCESSO DI ANALISI Il passo successivo è il punto nevralgico di tutto il sistema, il processo di Intelligenza Artificiale che prende forma all’interno dell’unità centrale e che si articola in due fasi distinte: 1. Estrazione Feature: Una feature è una proprietà di interesse che può aiutarci nell’indicizzazione di un oggetto. Le feature di interesse, variano dal tipo di media ed in generale variano anche in base alla natura e agli scopi del sistema che ne fa utilizzo. In questa fase tramite algoritmi specifici si tenta pertanto di ricavare le caratteristiche costitutive di un dato media al fine di fornire un consistente set di feature su cui il processo di classificazione può lavorare. Il processo di estrazione delle feature può essere molto complesso, specialmente quando la fonte è un media articolato come video o, come nel nostro caso, audio, ed in generale le soluzioni proposte sono molteplici e tutte seguono approcci differenti. Le feature sono estratte da tutti gli oggetti presenti nel database e conservate in un feature database. 2. Classificazione: Il risultato del processo di estrazione è pertanto la produzione di una serie di descrittori che caratterizzano le informazioni significative, per la specifica applicazione, di un determinato media. Il processo di classificazione utilizza proprio questi descrittori per operare, esso mira ad associare i media a conosciute categorie semanticamente significative. Un classificatore impara come riconoscere, da un determinato set di media preclassificati in un insieme di categorie, quali sono le caratteristiche di interesse di queste categorie e, basandosi su queste, associa i nuovi media alle suddette. Il risultato 8 Capitolo 2. Architettura del sistema di questo processo è pertanto la classificazione in categorie specifiche degli eventi audio che sono stati rilevati, pronti per essere utilizzati nella successiva fase decisionale. Va precisato che questa è solo una panoramica introduttiva di queste due fasi. Una trattazione approfondita verrà effettuata nel capitolo 3. 2.6 VALUTAZIONE DEI RISULTATI L’ultimo passo del sistema, è il processo decisionale e conseguentemente quello di presentazione dei risultati. Ottenuta una classificazione degli eventi audio, il sistema decide se essi sono effettivamente rilevanti e qualora sia così provvede a segnalarlo, nel modo previsto dal sistema stesso. Generalmente il sistema è istruito a priori sui tipi di eventi che, al termine della classificazione, risultino di interesse. Si opera un semplice confronto con ciò che è stato rilevato, e l’insieme degli eventi etichettati a priori come potenzialmente pericolosi. Qualora un dato evento al termine dell’elaborazione dovesse rientrare in una delle categorie evidenziate, il sistema provvederà pertanto a segnalarlo. Il processo decisionale non è altro quindi che un opera di confronto con un riferimento. In questo caso una tecnica decisionale particolarmente adatta e largamente utilizzata è la stima MAP, già descritta quando è stato trattato il rilevamento. La successiva (ed eventuale) segnalazione è assolutamente un passo la cui definizione è arbitraria, in quanto le tipologie possono essere le più disparate: allarmi di vario genere, segnalazione dei risultati ad un operatore tramite mezzi differenti, storage su disco di archiviazione di massa per una consultazione futura, e l’elenco potrebbe continuare, tuttavia sarebbe superfluo ai fini di questa tesi. 9 Capitolo 3 TECNICHE DI INTELLIGENZA ARTIFICIALE Il sistema di audio sorveglianza basa inevitabilmente il suo funzionamento su tecniche di intelligenza artificiale, in quanto lo scopo ultimo è quello di automatizzare completamente il processo di riconoscimento dei suoni anomali. Per Intelligenza Artificiale (AI) si intende l’intelligenza delle macchine e la branca della scienza informatica che punta a crearla. La definizione di AI è “lo studio e il design di agenti intelligenti”, dove un agente intelligente è un sistema che percepisce il proprio ambiente ed esegue azioni che massimizzano la sua possibilità di successo. John McCarthy, che ha coniato il termine nel 1955, definisce la stessa come “la scienza e l’ingegneria del creare macchine intelligenti”[27]. La ricerca sull’AI è altamente tecnica e specializzata, nonché profondamente divisa in campi di applicazione che spesso però si congiungono per comunicare l’un l’altro. Attualmente gli approcci più utilizzati sono i metodi statistici, intelligenza computazionale o AI simbolica tradizionale. Possiamo trovare una enorme quantità di tool che vengono usati in questo campo, incluso versioni di ricerca e ottimizzazione matematica, logica, metodi basati su economia e probabilità, e molti altri. Nello specifico, le più semplici applicazioni di AI possono essere divise in due tipi: classificatori e controllori. I controllori in ogni caso eseguono anche procedure di classificazione prima di agire, e quindi la classificazione costituisce una parte centrale di molti sistemi AI. Nel caso dei sistemi oggetto della trattazione, Il problema della classificazione può essere ricondotto ad una tupla {W, C, Y }[14], dove W è una collezione di k registrazioni di frame audio, C è un set di n caratteristiche audio, e Y è una matrice binaria. La matrice Y è di dimensione k × n, pertanto: ( 1 se cj ∈ C è presente nel frame audio wi ∈ W yij = 0 altrimenti Il problema essenziale, sta nel creare il classificatore per la caratteristica cj ∈ C, per il quale abbiamo prima di tutto necessità di una funzione di estrazione di feature φ. Per quanto detto, seppur l’estrazione feature non è propriamente una fase in cui vengono utilizzate tecniche di AI, risulta di fondamentale importanza alla classificazione in quanto fornisce i parametri e i descrittori che caratterizzano i media e permettono di definirli semanticamente. Per questo motivo in questa trattazione le due fasi sono state accorpate ed assieme costituiscono la sezione di intelligenza artificiale del sistema. Esse verranno analizzate in maniera consequenziale (estrazione feature in prima battuta, e dopo classificazione) nei due paragrafi successivi (3.1 e 3.2). 10 Capitolo 3. Tecniche di Intelligenza Artificiale 3.1 ESTRAZIONE FEATURE In questa sezione verranno analizzate le caratteristiche dell’audio ed introdotta una tassonomia delle feature basate sulle stesse, dettagliando quelle maggiormente utilizzate in ambito di sorveglianza e rilevazione di suoni anomali. Verrà effettuata anche una breve trattazione delle problematiche relative al processo di estrazione delle feature. 3.1.1 ATTRIBUTI DELL’AUDIO Dal momento che le feature sono una formalizzazione delle caratteristiche di interesse dell’audio, è opportuno prima di introdurle presentare l’audio nelle sue componenti per meglio comprendere come e su cosa opera il processo di estrazione. Innanzitutto, è necessario effettuare una prima distinzione tra “toni” e “rumore”. La differenza sostanziale tra queste due entità è che il tono presenta una forma d’onda che abbia una certa regolarità, mentre il rumore è un fenomeno le cui oscillazioni sono irregolari ed irripetibili. In pratica, l’andamento della pressione dei toni possiede proprietà di periodicità, si ripete nel tempo. Se indichiamo con p(t) la funzione della pressione e T il periodo, avremo che p(t) = p(t + T ). Il rumore, d’altro canto, non presenta questa caratteristica, e si può dire che è proprio questa la principale differenza [26]. Il rumore si può trovare in diverse forme ed in generale, esso può essere suddiviso in categorie a seconda delle sue proprietà temporali, come la stazionarietà o non stazionarietà, e spettrali, a seconda che sia di tipo passa banda o a banda larga. Per quanto riguarda i toni, essi si dividono in primis in puri e complessi. Un tono puro è una forma d’onda caratterizzata da una semplice sinusoide, mentre un tono complesso può essere costituito da una moltitudine di componenti sinusoidali a frequenze diverse [19]. In generale però, per qualsiasi tipo di audio le caratteristiche di interesse possono essere riassunte in: • Durata (duration): esprime l’intervallo di tempo in cui è definito l’audio, la cui estensione temporale può essere suddivisa in attacco, decadimento, mantenimento e rilascio in accordo con l’inviluppo del suono. Va precisato però che non tutti i suoni possiedono tutte le quattro fasi. • Intensità (loudness): è una sensazione uditiva collegata al livello di pressione del suono. Non va confusa con il livello di pressione stessa, che è una valutazione oggettiva, l’intensità è di fatto una misurazione di tipo soggettivo. Difatti, seppur esista un’unità di misura (sone [19]), essa non è riconosciuta dal Sistema Internazionale. • Altezza (pitch): è una caratteristica spettrale del suono, la frequenza fondamentale dell’onda sonora[26]. E’ la caratteristica che consente di distinguere, essendo definita in base ad una scala relativa alle frequenze, quanto un sono può risultare acuto o grave. In generale in letteratura l’altezza può riferirsi anche ad altre caratteristiche, in particolare nella psicoacustica si riferisce non solo alla frequenza del suono ma è strettamente collegata agli altri parametri e determinata dai loro contributi. • Timbro (timbre): è la caratteristica più complessa, poiché in termini fisici non è ben definibile, dal momento che è un tipo di caratteristica multidimensionale e quindi formata da diverse componenti. Di fatto il timbro nella sua assolutezza non può essere calcolato, ed in generale si tende a selezionare solo alcune componenti per effettuarne una stima. Da un punto di vista formale, è definito come l’attributo che ci permette di giudicare 11 Capitolo 3. Tecniche di Intelligenza Artificiale come differenti due suoni che abbiano la stessa intensità e altezza[26]. In parole povere, il timbro è quella percezione uditiva che ci consente di distinguere, ad esempio, due diversi strumenti che eseguono la stessa nota[19]. Queste sono le caratteristiche fondamentali su cui si basano tutte le tecniche di estrazione feature. Suddette tecniche, come vedremo, possono operare sui singoli attributi appena visti oppure su combinazione di più di essi. 3.1.2 CARATTERISTICHE E TASSONOMIA Da un punto di vista matematico, possiamo caratterizzare le tecniche di estrazione feature in base al tipo di operazioni in cui possono essere scomposte, ne troviamo principalmente tre: trasformazioni, filtri e aggregazioni. Le trasformazioni sono funzioni che effettuano una mappatura dei dati da un dominio ad un altro (di cui abbiamo parlato esponendo la tassonomia, come ad esempio la DFT, discrete fourier transform, che porta i dati dal dominio del tempo a quello della frequenza. Il finestraggio, ottenuto tramite filtro, è un operazione che implica semplicemente la moltiplicazione dei dati con una funzione che amplifica i valori all’interno di uno specifico intervallo di definizione e porta a zero i valori esterni a questo intervallo. Possiamo riconoscere filtri passa-basso, passa-alto e passa-banda. I principali filtri nel dominio dell’audio sono basati su scale Bark, ERB e Mel [19]. L’ultima operazione è quella di aggregazione, che consiste nel mappare una serie di valori in un singolo scalare, con lo scopo di ridurre la quantità di dati associati ad un media. Tipiche operazioni di aggregazione possono essere quelle statistiche: media, varianza, mediana, sommatoria, minimo e massimo. Proponiamo ora una tassonomia delle techiche di estrazione feature per l’audio retrieval, fornendo quindi una panoramica generale delle caratteristiche delle stesse. Nel paragrafo “principali tecniche di estrazione feature”, verranno descritti nel dettaglio alcuni tipi di techiche tra quelle maggiormente utilizzate nell’audio sorveglianza. Prima di introdurre l’effettiva tassonomia, presentiamo una serie di caratteristiche che potranno aiutare ad inquadrare meglio le feature: • Costanza o dinamicità, ossia qualora la feature rappresenti un valore estratto dal segnale ad un dato istante, o un parametro che si riferisca ad un modello che sintetizza l’andamento nel tempo del segnale. • Estensione temporale, possiamo a tal proposito distinguere le feature in due tipi: globali, se il descrittore è calcolato sull’intero segnale, o istantanee, se calcolate ogni volta per intervalli di tempo specifici e che suddividono il sengale in più sottosezioni. • astrattività, ovvero cosa rappresenta la feature. • processo di estrazione In questo documento è stato scelto di definire la tassonomia su diversi livelli, in una struttura che si potrebbe definire ad albero, in quanto la distribuzione degli algoritmi si ramifica a seconda delle caratteristiche, livello per livello, fino ad arrivare alle foglie alla base che sono proprio le diverse feature. Il principio su cui si fonda questo approccio è che una divisione di questo tipo permette di ispezionare l’insieme di feature ed individuare agevolmente quale è necessaria a seconda del tipo di risultato che si vuole ottenere. Il livello più alto è il dominio, che rivela il fondamento su cui sono rappresentati i dati, 12 Capitolo 3. Tecniche di Intelligenza Artificiale ed inoltre permette di stimare approssimativamente la complessità computazionale di una feature. Lo differenziamo in: • Dominio del Tempo: rappresenta il segnale per come si evolve nel tempo. Questo dominio è la base per molti algoritmi di estrazione feature, ma va notato come i segnali sono molto spesso trasformati in domini maggiormente adatti per l’analisi audio. • Dominio della Frequenza: rappresenta la distribuzione spettrale del segnale e permette di analizzare lo stesso in termini di struttura armonica, banda, tonalità. Le trasformazioni più popolari dal tempo alla frequenza sono Fourier, Coseno (DCT) e Wavelet. Rientrano in questo dominio anche le operazioni di correlazione ed, in particolare, quelle di autocorrelazione, che comportano la correlazione del segnale con una sua versione traslata nel tempo. Questa operazione rivela eventuali ripetizioni e proprietà di regolarità, attribuendo eventualmente una periodicità al segnale, il che permette di determinare, ad esempio, proprietà prettamente collegate come la frequenza fondamentale del segnale. • Dominio Cepstrale: questa rappresentazione è ottenuta tramite l’applicazione della trasformata di Fourier all’ampiezza dello spettro espressa in decibel. E’ una rappresentazione che consiste in un’approssimazione dell’inviluppo dello spettro. Il cepstrum (il cui nome deriva dall’inversione delle prime quattro lettere di “spectrum”) è pertando definito come l’antitrasformata di Fourier del logaritmo della trasformata di Fourier del segnale, ossia X{T } = F −1 {ln(F {s(t)})} • Spazio delle Fasi: Alcuni segnali audio presentano componenti non lineari che sono difficilmente rappresentate dai domini presentati fino ad ora. Questo dominio consente di ricostruire queste dinamiche non lineari con maggiore accuratezza. E’ un dominio multidimensionale con dimensione maggiore di 3, in cui ogni punto rappresenta uno specifico stato del sistema. Il livello successivo è fondato su principi semantici e computazionali. Per ogni dominio abbiamo una suddivisione specifica a seconda delle caratteristiche. Nel dominio del tempo, distinguiamo tre gruppi di feature, a seconda del tipo di proprietà fisica della forma d’onda: Ampiezza, Potenza e Zero-Crossing (attraversamento dello zero). Per il dominio della frequenza la differenziazione è di tipo semantico, ed in particolare distinguiamo due gruppi, fisico e percettivo. Il livello fisico descrive il segnale in termini di proprietà statistiche, matematiche e fisiche, e possiamo distinguere i gruppi in base al tipo di operazione su cui sono basati, che sono Autoregressione, Decomposizione Tempo-Frequenza (come ad esempio la trasformata Wavelet), e Short Term Fourier Transform (STFT). Il livello percettivo rappresenta l’informazione che ha un significato semantico per l’ascoltatore, pertanto possiamo riconoscere diversi aspetti in questo senso: Brillanza ,Croma, Armonia, Altezza, Picco e Tonalità. Per il dominio cepstrale, consideriamo il fatto che tutte le feature di questo dominio hanno in comune il fatto che approssimano l’inviluppo spettrale, ma con tecniche differenti. Pertanto la differenziazione è proposta proprio nei termini delle tenciche usate. Distinguiamo quindi tre categorie: Modelli Psicoacustici Avanzati,Filtri di Banda e Autoregressione. Il rimanente dominio (spazio delle fasi) non necessita di ulteriori suddivisioni, a causa della stessa natura, e pertanto è presentato così com’è. 13 Capitolo 3. Tecniche di Intelligenza Artificiale Figura 3.1: Tassonomia delle feature per l’audio retrieval PRETRATTAMENTO DEL SEGNALE Il processo di pretrattamento è necessario per portare il segnale nella rappresentazione adatta al tipo di funzione di estrazione feature, e può pertanto essere caratterizzato da tecniche differenti. Principalmente, come descritto in [18], possiamo trovare: • Stima dell’inviluppo dell’energia del segnale: è utilizzato per il calcolo dei descrittori di tipo temporale, è può essere trovato ad esempio utilizzando un semplice filtro passabasso oppure con il calcolo istantaneo del valore efficace del segnale, definito come s Z 1 T [x(t)]2 dt. xrms = T 0 • Calcolo della Short Term Fourier Transform (STFT): questo metodo è un metodo istantaneo, dal momento che il calcolo è eseguito per ogni frame, in pratica consiste nel determinare la frequenza e la fase relativa ad una porzione locale di segnale. Può essere ottenuta tramite l’algoritmo di FFT (Fast Fourier Transform) sul dato frame di segnale. • Stima delle componenti armoniche: tramite il calcolo della STFT sul singolo frame, è possibile trovare i picchi relativi ad ogni segmento di segnale. I picchi prossimi ai multipli della frequenza fondamentale sono scelti per determinare le componenti armoniche di frequenza e ampiezza del segnale sinusoidale • Tecniche che cercano di imitare il processo di ascolto umano: sono tecniche che pertanto si rifanno direttamente ai principi CASA (Computational Auditory Scene Analysis) in cui si cerca di modellizzare da un punto di vista informatico i meccanismi del sistema uditivo umano. Prima di poter effettuare l’analisi è necessario applicare un filtro basato sul funzionamento dell’orecchio medio la cui risposta è quella in figura 3.2, applicato sulla STFT di ogni frame. Successivamente è operato una conversione di banda di tipo logaritmico. 14 Capitolo 3. Tecniche di Intelligenza Artificiale Figura 3.2: Risposta del filtro basato sull’orecchio medio Al termine del processo di pretrattamento, a seconda del tipo di tecnica utilizzata, può essere necessario riscalare il segnale per renderne la rappresentazione idonea ai passaggi successivi. Può rendersi necessaria anche una normalizzazione [16, 10], oltre che un riscalamento, dal momento che i risultati possono essere rappresentati su range differenti. A tal proposito si rende necessario, per poter lavorare sui dati in maniera agevole ed ottenere risultati coerenti dai vari algoritmi di classificazione, normalizzare gli stessi affinché siano rappresentati in forma comune. PRINCIPALI TECNICHE DI ESTRAZIONE FEATURE Dettagliamo ora i principali algoritmi usati nell’ambito della sorveglianza audio inquadrandoli nelle specifiche categorie illustrate precedentemente con la tassonomia. Short Time Energy (STE). Questa feature appartiene al dominio del tempo, e si disloca nel ramo della potenza. Descrive l’inviluppo del segnale, ossia l’energia media per frame, che è di fatto una misura della potenza. Data la definizione stessa di potenza, va da sé che questa feature si colloca al limite tra dominio del tempo e della frequenza. E’ definita come Z ω0 2 φ = log |F (ω)| dω 0 Dove ω0 è la metà della frequenza di campionamento, F (ω) è la FFT (Fast Fourier Transform) e |F (ω)|2 è la definizione di potenza alla frequenza ω. E’ particolarmente importante perché permette di distinguere in maniera agevole il rumore ambientale. L’utilizzo di questa feature è stato discusso in [1, 5]. Zero Crossing Rate (ZCR). Si colloca, come suggerisce il nome stesso, nel dominio del tempo, nel ramo Zero Crossing. E’ una delle feature più economiche e semplici, definita come il numero di attraversamenti dello zero sull’asse delle ascisse nello spazio di tempo di un secondo. E’ proprio grazie alla sua semplicità che ne possiamo riscontrare una vasta diffusione in diversi ambiti dell’audio retrieval, tra cui è inclusa ovviamente la sorveglianza. Segnali periodici generalmente tendono ad avere un valore piccolo in termini di ZCR (figura 3.3), mentre suoni rumorosi generalmente si collocano all’esatto opposto (figura 3.4). 15 Capitolo 3. Tecniche di Intelligenza Artificiale Figura 3.3: ZCR per segnali periodici Figura 3.4: ZCR per segnali rumorosi Indica in maniera approssimativa la frequenza dominante nell’intervallo di tempo definito, ed è analiticamente definito come N 1 X |sgn{s(n)} − sgn{s(n − 1)}| φ(n) = N 2 n=1 dove s(n) rappresenta il segnale di lunghezza N . L’utilizzo di questa feature è stato discusso in [8, 10, 11]. Discrete Wavelet Transform (DWT). Questa trasformazione rientra, come il nome stesso indica, nel dominio della frequenza, nella categoria delle proprietà fisiche, livello delle decomposizioni tempo-frequenza. Differentemente dall’analisi basata su Fourier, la trasformata wavelet utilizza funzioni di base di breve durata per misurare il contenuto dei segnali ad alta frequenza e funzioni di base di lunga durata per il contenuto a bassa frequenza. Inoltre, la trasformata wavetel è localizzata sia nel tempo che nella frequenza, contrariamente alla trasformata di fourier (standard) che è localizzata solo in frequenza. Ha inoltre un costo computazionale minore. Formalmente, una trasformata wavelet è definica come Z +∞ 1 x−b φ= √ f (x)ψ dx a a −∞ dove f (x) ∈ L2 (R), L2 (R) spazio di Hilbert, è il segnale oggetto della trasformazione, e ψ(x) è la wavelet di analsi. Il coefficiente a(> 0) è il parametro di scala e b è il parametro di posizione. La trasformata possiede tre proprietà fondamentali: 1. è una trasformazione lineare, 2. è covariante1 sotto traslazione, 3. è covariante sotto dilatazione. In particolare, questa ultima proprietà rende questa trasformata particolarmente adatta per analizzare strutture gerarchiche. Esistono diversi tipi di Wavelet discrete, e la più diffusa è la trasformata di Daubechies, 1 la dipendenza funzionale dalle variabili non è alterata da una certa trasformazione 16 Capitolo 3. Tecniche di Intelligenza Artificiale basata sull’utilizzo di relazioni di ricorrenza 2 per generare dei campioni discreti sempre più fini di una funzione wavelet madre. L’utilizzo di questa feature è stato discusso in [10] Caratteristiche spettrali. Rientrano nel dominio della frequenza e in particolare nella categoria percettiva. Possiamo riconoscerne diverse, ma le più importanti sono: • Centroide Definito come il baricentro dello spettro. E’ calcolato considerando lo spettro come una distribuzione i cui valori sono le frequenze e le probabilità di osservarle sono le ampiezze normalizzate. Z µ = x · P (x) dx dove x corrisponde ai dati osservati, ossia le frequenze del sengale; e P (x) è la probabilità di osservare x. • Diffusione Defininita come la diffusione dello spettro attorno al valore di media, ossia la varianza della distribuzione stessa Z 2 σ = (x − µ)2 · P (x) dx • Roll-off Rappresenta la frequenza in cui è contenuta il N % dell’energia del segnale (in generale N varia tra l’85% e il 95%), la cui definizione analitica è: fc X 0 sr/2 N% X 2 a (f ) = a (f ) 100 2 0 dove fc è la frequenza di roll-off, e sr/2 rappresenta la frequenza di Nyquist. L’utilizzo di queste feature è stato discusso in [1, 10]. Altezza. Rientra nel dominio della frequenza, nel ramo percettivo. E’ una feature audio largamente usata, descritta precedentemente nel paragrafo 3.1.1. Per estrarre questa caratteristica dalla sorgente, viene usato il metodo di autocorrelazione. La funzione di autocorrelazione è definita come φ(τ ) = N −1 X x(n)x(n + τ ) n=0 Possiamo chiaramente vedere che φ(τ ) rappresenta la misura della correlazione tra il segnale x(n) , in cui la grandezza della finestra di osservazione è N, è una sua versione ritardata di τ . Dal momento che un segnale periodico sarà fortemente correlato con una sua versione traslata dal fatto che entrambe le versioni condividono lo stesso periodo, possiamo evidenziare le proprietà di perdiodicità del segnale e riconoscere proprio nel periodo il valore della frequenza centrale. A partire dalla determinazione di φ(τ ) è possibile definire un set di feature che caratterizzino l’altezza da un punto di vista statistico, in modo da avere degli stimatori dell’andamento del sistema: minimo, massimo media e deviazione standard di φ(τ ). Questa 2 Un’equazione che definisce una sequenza ricorsiva: ogni termine è definito come una funzione dei termini precedenti. 17 Capitolo 3. Tecniche di Intelligenza Artificiale scelta è fatta in funzione delle caratteristiche stesse del tipo di eventi che devono essere analizzati: segnali audio con caratteristiche simili al rumore come spari, rumore stradale, urla o rottura di vetri non hanno un’altezza costante ma un range di valori. Ecco perché ricorrere agli stimatori sopracitati è sicuramente una tecnica particolarmente adatta. L’utilizzo di questa feature è stato discusso in [2, 3, 5]. Mel Frequency Ceptstral Coefficients (MFCCs). Fa parte del dominio cepstrale, nel ramo dei filtri di banda. E’ una feature che ha avuto origine per il riconoscimento vocale ma si è diffusa in molti altri ambiti. Rappresenta informazioni timbrali (l’inviluppo spettrale) di un segnale. Il calcolo richiede la conversione in scala Mel dei coefficienti di Fourier. La scala mel, proposta nel 1937 in [25], è una scala percettiva. Il punto di riferimento tra questa scala e una misura di frequenza normale è definito eguagliando un tono di 1000 Hz, 40 dB sopra la soglia dell’ascoltatore, con un’altezza di 1000 mels. Sopra i 500 Hz, intervalli sempre più ampi sono giudicati dall’ascoltatore come produttori di uno stesso incremento dell’altezza. Il risultato è che per quattro ottave sulla scala hertz sopra i 500 Hz sono giudicate come due ottave sulla scala mel. Il nome deriva dalla parola melodia(melody) per indicare che la scala è basata su confronti di altezze. Questa trasformazione è analiticamente definita come f M el(f ) = 1000 log2 1 + 1000 Dopo la conversione, questi vettori sono ulteriormente convertiti nel dominio logaritmico, e decorrelati dalla DCT (Discrete Cosine Transform) al fine di rimuovere informazioni ridondanti. Il primo coefficiente rappresenta la potenza spettrale media, il secondo approssima l’ampiezza spettrale ed è collegata alla centroide spettrale. I coefficienti di più alto livello rappresentano proprietà spettrali più specifiche (come ad esempio la frequenza fondamentale). In pratica, solo i primi 8-13 coefficienti sono usati per rappresentare la forma dello spettro, in quanto sufficienti nella maggior parte dei casi. Lo schema riassuntivo è rappresentato in figura 3.5: Questo tipo di feature è usata per discriminare i suoni di tipo vocale da quelli non vocali in maniera corretta da sola, ma generalmente è accompagnata ad altri descrittori per integrarne i risultati. L’utilizzo di questa feature è stato discusso in [1, 3, 6, 7, 8, 9, 15] Figura 3.5: Processo di estrazione MFCCs 18 Capitolo 3. Tecniche di Intelligenza Artificiale 3.1.3 PROBLEMI NEL PROCESSO DI ESTRAZIONE FEATURE Il processo di estrazione feature porta con sé una serie di problematiche dovute sia a questioni di natura fisica, o per meglio dire ambientale, sia da un punto di vista tecnico. La presenza del rumore, o la ricerca della corretta dimensionalità delle feature sono due esempi classici. In generale sono molti i problemi da dover fronteggiare nella progettazione di un sistema di estrazione feature, e possiamo riassumerli in tre gruppi, alla stregua di quanto fatto in [19]: • Psicoacustici Quando parliamo di psicoacustica, intendiamo lo studio dei meccanismi di percezione del suono del cervello umano [26], pertanto è fortemente connessa al funzionamento fisico del sistema uditivo. In questa categoria rientrano problemi relativi a: la selettività della frequenza, dovuta essenzialmente ai limiti umani di percezione del suono; gli effetti di mascheramento, per cui un suono può risultare mascherato dagli effetti di un altro suono; i livelli di intensità che l’orecchio umano può sopportare. • Tecnici I limiti tecnici sono essenzialmente dovuti al fatto che un segnale non presenta, nella realtà, mai le caratteristiche ideali che vengono definite con la formalizzazione, la presenza di distorsioni e disturbi alterano il segnale e impongono un’attenta valutazione di queste problematiche. Possiamo riscontrare principalmente: la presenza di rumore, in forma di rumore di fondo o di distorsione del canale; variazioni indesiderate nel tempo e nel livello della pressione; componenti del segnale che sono superflue o comunque non utili ed il cui filtraggio è molto complesso; ed ovviamente i limiti di natura tecnologica, ossia delle risorse a disposizione. • Numerici I problemi di natura numerica sono ovviamente riferiti al risultato del processo di estrazione delle feature, al termine del quale infatti si ottiene un vettore di descrittori del dato segnale. Questo vettore deve rispettare alcune proprietà fondamentali, che sono: compattezza, riferita alla dimensionalità del vettore, e che è necessaria per ridurre la complessità computazionale; completezza, in quanto una feature dovrebbe coprire completamente il range di valori delle proprietà che descrive; ridondanza, che ne caratterizza la qualità, poiché di fatto è inutile avere feature simili, in quanto si aumenta inutilmente la dimensione del vettore senza aggiungere informazione utile; la sensibilità delle feature alle variazioni. Il processo di selezione delle feature, ad ogni modo, segue delle strategie ben definite per ricavare tra tutti i soli descrittori necessari e sufficienti a rappresentare nello specifico contesto applicativo un dato frame audio. Gli schemi di valutazione, come descritto in [20], possono essere divisi in due categorie: • Approccio wrapper : questo tipo di metodologia assegna la selezione delle feature al classificatore, in questo modo si costruisce il set di feature valutando la accuratezza prevista e quella risultante della classificazione e aggiustando i criteri in base a questi risultati. L’obbiettivo è ovviamente trovare il giusto set che massimizzi questo confronto. • Approccio filter : questa tecnica prevede che il set di feature sia ottenuto in modo indipendente dal classificatore. In pratica si cerca di trovare il giusto set di feature tramite analisi statistica, per poi inviare il vettore ottenuto al classificatore senza operare ulteriori fasi di selezione. 19 Capitolo 3. Tecniche di Intelligenza Artificiale La tecnica di tipo filter più semplice e più diffusa è l’algoritmo PCA, ossia Principal Component Analysis, definita nel 1901 da Karl Pearson, e particolarmente utilizzata per l’odierna analisi dei dati. Questa tecnica si basa sulla trasformata di Karhunen-Loeve (KLT), la quale: 1. Effettua una decorrelazione dei dati in ingresso, 2. Evidenzia i dati statisticamente più rilevanti, 3. Scarta i rimanenti, In particolare, siano F1 , F2 , . . . , Fn un set di N features, consideriamo allora una matrice Y in cui la posizione yij indica la covarianza cov(Fi , Fj ): qualora le feature Fi e Fj siano statisticamente indipendenti avranno covarianza nulla, poiché inoltre cov(Fi , Fi ) = σ 2 , allora la matrice così costruita è una matrice diagonale nel caso ideale, che implica l’impossibilità di ridurre ulteriormente la dimensionalità. In casi reali questa matrice non si presenterà in questa forma, ed ecco quindi che l’algoritmo PCA si rende particolarmente utile. Ad ogni modo, l’algoritmo segue i seguenti passi: 1. Si crea la matrice descritta in precedenza (la matrice di covarianza); 2. Se ne trovano autovalori ed autovettori; 3. Si selezionano come principal components gli autovalori e autovettori maggiori, in un numero scelto in base al grado di copertura che si vuole ottenere. Il vettore risultante costituisce pertanto il risultato della trasformazione e una conseguente riduzione della dimensione del vettore di partenza. Un altro possibile approccio è quello discusso in [8]. L’approccio è di tipo statistico, quindi, per quanto detto, si segue una strategia di tipo filter. La dimensionalità è determinata a partire da due termini di paragone, precisione e ratio di rilevazioni errate (utilizzati anche in [1]), definiti come: precisione = numero eventi correttamente rilevati numero eventi rilevati numero eventi non rilevati numero eventi da rilevare Il principio è che in un sistema di audio sorveglianza deve cercare di minimizzare il numero di eventi mancati, ed ecco il motivo della scelta di questi due parametri. E’ stato dimostrato (figure 3.6 e 3.7) come un numero di feature troppo elevato introduce solo informazioni superflue, senza andare ad influenzare in maniera sensibile l’efficienza della classificazione. Come le immagini mostrano, il numero di feature ideale è un numero compreso tra 13 e 15, un vettore di dimensione maggiore non apporterebbe miglioramenti prestazionali (introducendo piuttosto complessità computazionale, a causa dell’aumento di dimensionalità). Fail Ratio = 20 Capitolo 3. Tecniche di Intelligenza Artificiale Figura 3.6: Prestazioni della precisione all’incremento del vettore di feature Figura 3.7: Prestazioni del ratio di rilevazioni errate In generale, non è possibile comunque ottimizzare tutti gli aspetti, anzi, alcuni di essi sono diametralmente opposti e agire per migliorarne uno può portare a peggiorarne un altro, rendendo necessario un attento bilanciamento. Per questo motivo lo sviluppatore deve scegliere il corretto approccio, e quindi il giusto compromesso, in base alle specifiche che vuole e deve rispettare. 21 Capitolo 3. Tecniche di Intelligenza Artificiale 3.2 CLASSIFICAZIONE La classificazione è il processo grazie al quale viene assegnata un etichetta, un valore semantico, ad un dato segnale audio, e grazie al quale è possibile pertanto identificarlo in una specifica categoria. Un classificatore definisce delle regole decisionali nello spazio delle feature, che consente di riconoscere un dato segnale audio come appartenente ad una specifica classe. I classificatori possono essere distinti in primo luogo in real-time e non real-time, in base alle caratteristiche che possiedono. Un classificatore real-time è difatti in grado di aggiornare i risultati della classificazione in intervalli di tempo dell’ordine di millisecondi. Nell’audio sorveglianza, questo tipo di classificazione è fondamentale per le reali applicazioni, in quanto una identificazione tempestiva è l’unico parametro, ovviamente assumendo implicita l’accuratezza (la quale tuttavia non è il parametro fondamentale), che rende un classificatore realmente efficiente. Nel caso dei classificatori non real-time, l’analisi dei dati è effettuata per intervalli di segnale più ampi e pertanto il risultato è presentato in tempi più lenti. Di contro ai classificatori real-time, l’accuratezza in questo caso è il parametro fondamentale per stimare l’efficienza del classificatore. Analizzando le tecniche su cui si basano, possiamo distinguere ulteriormente i classificatori in tassonomici e di clustering. Nella fattispecie i classificatori tassonomici operano su tecniche decisionali che sono state definite a monte nella fase di implementazione. I classificatori di clustering si affidano ad algoritmi di separazione che raggruppano i segnali audio in base a caratteristiche simili che si evidenziano dalle feature con cui sono descritti. L’approccio clustering, tipico delle tecniche di classificazione per l’audio, soffre tuttavia del problema di overfitting, che consiste in un eccessivo adattamento del classificatore ai dati di addestramento. E’ assunto che il processo di addestramento raggiunga uno stato in cui sia capace di predire una classe in base agli esempi forniti. Il problema è che quando l’addestramento è compiuto troppo a lungo oppure i campioni di addestramento sono rari, il processo può focalizzarsi su feature specifiche dei campioni di esempio, che non hanno relazioni causali con la classe a cui i campioni stessi appartengono. Ciò comporta un aumento delle prestazioni per l’addestramento, e un crollo delle prestazioni in fase di effettiva classificazione, comportamento assolutamente non desiderato. Un ultima distinzione è basata sul tipo di approccio, che può essere di tipo lineare o gerarchico. Nell’approccio lineare i classificatori operano direttamente su tutto il set di feature in un singolo passo. Differentemente, l’approccio gerarchico prevede l’utilizzo di uno schema gerarchico, in base al quale la categorizzazione è effettuata per passi iterativi, effettuando un confronto di volta in volta con un set ridotto di feature che consentano di distinguere a quale sotto-classe della gerarchia il dato segnale appartiene. La principale differenza sta nella natura stessa dei due tipi di classificazione: l’approccio lineare prevede errore di classificazione minimo, mentre l’approccio gerarchico è più tollerante all’errore; d’altro canto aggiungere una nuova classe al classificatore lineare richiede un lavoro di ristrutturazione dell’algoritmo, mentre per quello gerarchico è necessaria solo l’aggiunta di un nuovo ramo posizionato ad uno specifico livello della struttura. 22 Capitolo 3. Tecniche di Intelligenza Artificiale 3.2.1 PRINCIPALI CLASSIFICATORI In questa sezione verranno analizzati i principali classificatori utilizzati per l’audio sorveglianza. k-NEAREST NEIGHBOUR (k-NN) La tecnica nearest neighbour consiste nell’assegnare al vettore di feature in ingresso un etichetta corrispondente al vettore di addestramento più vicino nello spazio delle feature. E’ spesso utile prendere in considerazione più di un vicino ed è per questo che la tecnica è definita k-Nearest Neighbour, dal momento in cui k vicini sono usati per determinare la classe. Per prima cosa, è necessario un set di addestramento T per utilizzare questo metodo. Nel momento in cui si opera la classificazione, si determina in primo luogo media e valori massimi di T , e allo stesso modo per il campione in ingresso ancora non classificato. Successivamente è applicata una misura di distanza nello spazio delle feature per determinare k elementi in T che sono i più vicini al campione. Se la maggior parte di questi k vicini possiede valori simili, allora il campione viene Figura 3.8: Classificazione k-NN classificato sulla base di questi valori. Sia T il dataset di addestramento, costituito da yi , i ∈ [1, |T |], campioni descritti da un set di feature F . Ogni campione di addestramento è stato etichettato con una classe cj ∈ C. Sia allora un campione sconosciuto x, di cui vogliamo effettuare la classificazione. Per ogni yi ∈ T viene calcolata la distanza con x: X d(x, yi ) = ωf δ(xf , yif ) f ∈F Utilizzando una metrica definita precedentemente. per attributi continui e discreti potrebbe essere: f 0 f δ(xf , yif ) = 1 |xf − yif | f Ne esistono diverse, ma una versione base discreta e xf = yif discreta e xf 6= yif continua A questo punto esistono numerose possibilità per assegnare la classe ad x, e la più semplice consiste nell’assegnare la classe maggioritaria tra quelle dei nearest neighbour, che prende il nome di regola di voto maggioritario. E’ generalmente utile assegnare peso maggiore ai più vicini per il rilevamento della classe. A tal fine una tecnica abbastanza diffusa utilizza una versione pesata del voto, tramite l’inverso della distanza tra il vicino e x: V ote(yj ) = k X c=1 1 1(yj , yc ) d(x, yi )n dove il voto assegnato alla classe cj dal vicino yc è 1 diviso la distanza da quel vicino, 1(yj , yc ) restituisce 1 se le etichette delle due classi corrispondono, 0 altrimenti. Generalmente n è pari a 1, ma qualora si voglia ridurre l’influenza dei vicini più distanti, può assumere anche valori maggiori. Per determinare le prestazioni di k-NN dobbiamo considerare due fattori. In primo luogo, la 23 Capitolo 3. Tecniche di Intelligenza Artificiale scelta di k, dal momento che per grandi valori di k si ridurranno gli effetti del rumore, ma ovviamente si aumenta esponenzialmente la complessità computazionale. In secondo luogo la scelta di una appropriata metrica di distanza che meglio si adatti allo specifico spazio delle feature. k-NN si comporta molto bene quando applicato a grandi data set. Per quanto riguarda invece la classificazione real-time, data la complessità nel calcolo delle distanze, k-NN non risponde bene in presenza di grandi quantità di dati di addestramento. Difatti, ogni volta che un nuovo campione x deve essere classificato, è necessario calcolare le distanze tra x e tutti i campioni del set di addestramento, il che risulta computazionalmente oneroso. Questo classificatore è stato trattato in [3, 9, 20, 23]. GAUSSIAN MIXTURE MODEL (GMM) Questa tecnica consiste in una somma pesata di funzioni di densità di probabilità (PDF) gaussiane, che sono definite come i componenti gaussiani del mixture model che descrive una classe. Il fondamento di questo metodo è che la distribuzione dei vettori di feature estratti da una classe possono essere modellati da un insieme di densità gaussiane. GMM modella ogni classe come una combinazione lineare di gaussiane, e pertanto ogni classe è rappresentata dalla funzione di densità multidimensionale p(x|λ) = M X ωi g(x|µi , Σi ) i=1 Dove x è un vettore di feature di dimensione D, ωi sono i pesi della mixture, M è il numero totale di densità e g(x|µi , Σi ) la funzione che le caratterizza. Ogni componente è una funzione gaussiana della forma 1 1 0 −1 g(x|µi , Σi ) = p exp − (x − µi ) Σi (x − µi ) 2 (2π)D |Σi | Con vettore P media µi e matrice di covarianza Σi . I pesi della mixture soddisfano il seguente requisito M i=1 ωi = 1. La motivazione per cui si utilizzano le densità gaussiane per la rappresentazione delle feature audio è il potenziale del GMM di rappresentare un set di classi acustiche con una sola componente gaussiana la cui forma spettrale è parametrizzata dal solo vettore media e dalla matrice di covarianza. Inoltre, il GMM consente di effettuare una approssimazione delle osservazioni in assenza di informazioni. Il GMM completo, come detto, è parametrizzato dai soli vettori media, matrici di covarianza e pesi della mixture, che possiamo racchiudere nella notazione λ = {ωi , µi , Σi } i = 1, . . . , M Dati i vettori di feature di addestramento e una configurazione GMM, è necessario stimare i parametri della GMM, λ, che si riferiscono nel modo migliore ai vettori di addestramento. Una tecnica particolarmente usata è la stima maximum likelihood (ML). Lo scopo di questa stima è di trovare un modello di parametri che massimizza la verosimiglianza del GMM forniti dei dati di addestramento. Per una sequenza di T vettori di addestramento X = {x1 , . . . , xT }, la verosimiglianza GMM, posta l’indipendenza tra i vettori, può essere scritta come T Y p(X|λ) = p(xt |λ) t=1 24 Capitolo 3. Tecniche di Intelligenza Artificiale Un’altra tecnica è la stima MAP, direttamente derivata da ML, e di cui è già stato discusso nel paragrafo 2.3. Questo classificatore è stato trattato in [5, 11, 21, 23, 24]. SUPPORT VECTOR MACHINE (SVM) La tecnica SVM, è una tecnica di machine learning applicata con successo in molte sezioni della pattern recognition. E’ un algoritmo in grado di imparare un iperpiano di separazione ottimale da un dato set di esempi positivi e negativi. Minimizza il rischio strutturale, ossia la probabilità di una classificazione errata per una fissata ma sconosciuta distribuzione dei dati. Questo è in contrasto con le classiche tecniche di pattern recognition che puntano a minimizzare il rischio empirico, che ottimizza le prestazioni sui dati di addestramento. Un SVM può essere sia lineare, che non lineare. La classificazione è compiuta a partire da un insieme di dati di addestramento T , un set di n punti della forma T = {(xi , yi ) | xi ∈ Rp , yi ∈ {−1, 1}}ni=1 dove yi puo essere 1 o −1, indicando la classe a cui il punto xi appartiene. Ogni xi è un vettore di dimensione p. L’obbiettivo è ricercare l’iperpiano a massimi margini che divide i punti per cui yi = 1 e quelli per cui yi = −1. Qualunque iperpiano può essere descritto come un set di punti che soddisfa w·x−b=0 b dove w denota il vettore normale all’iperpiano. Il parametro kwk determina lo spiazzamento dell’iperpiano dall’origine lungo il vettore normale w. Se i dati sono separabili linearmente, possiamo selezionare due iperpiani in modo che separino i dati e che non ci siano punti tra loro, e poi cercare di massimizzare la distanza. La regione creata è chiamata margine. Questi iperpiani possono essere scritti dalle equazioni w·x−b=1 w · x − b = −1 2 Si trova che la distanza tra i due iperpiani vale kwk , per cui l’obbiettivo è massimizzare kwk. E’ inoltre necessario impedire che i punti ricadano nel margine, e ciò equivale a scrivere w · x − b ≥ 1 per xi della prima classe w · x − b ≤ −1 per xi della seconda classe Se i dati sono inseparabili linearmente ma separabili non linearmente, si ricorre al classificatore a vettori di supporto non lineare. L’idea alla base è quella di trasformare i vettori in input in uno spazio di feature ad elevata dimensione usando una trasformazione non lineare, e poi effettuare una separazione lineare nello spazio delle feature. Per costruire un classificatore a vettori di supporto non lineare, il prodotto interno (x, y) è rimpiazzato da una funzione kernel K(x, y): ! l X f (x) = sgn αi yi K(xi , x) + b i=1 25 Capitolo 3. Tecniche di Intelligenza Artificiale Figura 3.9: Classificatore SVM SVM ha due livelli. Durante il processo di addestramento, il primo livello sceglie le basi K(xi , x), i = 1, 2, . . . , N , dal dato set di basi definito dal kernel; il secondo livello costruisce una funzione lineare in questo spazio. L’algoritmo SVM può costruire una varietà di learing machine utilizzando differenti funzioni kernel. In generale sono utilizzate tre tipi di funzioni, che sono: • Kernel polinomiale di grado d: K(X, Y ) = (hX, Y i + 1)d • Funzione di base radiale con kernel gaussiano di ampiezza c > 0: −|X − Y |2 K(X, Y ) = exp c • Reti neurali con funzione di attivazione tanh: K(X, Y ) = tanh(KhX, |Y i + µ) dove i parametri K e µ sono il guadagno e la fase. Questo classificatore è stato trattato in [2, 3, 5, 22]. 26 Capitolo 3. Tecniche di Intelligenza Artificiale NEURAL NETWORKS (NN) Una rete neurale, è in grado di apprendere dall’esperienza ed elaborare risposte nuove anche di fronte a nuove situazioni. Essa riesce ad adattarsi all’ambiente circostante e a modellare la realtà, imparando le leggi che la governano, anche laddove noi non ne conosciamo una formula matematica che li spieghi: semplicemente analizzando le cause e gli effetti una rete riesce autonomamente a riprodurre il legame che condiziona un evento. Figura 3.10: Rete Neurale Una rete neurale artificiale può essere definita come un modello dinamico avente la topologia di un grafo orientato, i cui nodi rappresentano i neuroni artificiali e gli archi i pesi sinaptici. In altre parole, essa non è altro che un insieme ordinato di neuroni, detti nodi, collegati opportunamente tramite elementi detti pesi. I nodi si distribuiscono in strati: il primo è quello di input, poi ci sono gli strati intermedi, gli emphhidden layers, e infine lo strato di output. I pesi collegano tutti i nodi di ogni strato con ogni nodo dello strato successivo, ma non con quelli dello stesso strato. Inoltre, in tutti gli strati, tranne quello di input, ogni nodo è collegato tramite un peso speciale, detto soglia, ad un nodo che, per convenzione, si considera di valore costante. Possiamo allora mostrare la forma della funzione d’attivazione, associata ad ogni nodo tranne quelli di input: X y = f (w0 + wi x i ) i Dove w0 è il valore di soglia, xi sono i valori dei neuroni dello strato precedente e wi i pesi che collegano quest’ultimi al nodo in esame. L’apprendimento di una rete neurale è la fase in cui vengono presentati alla rete una serie di input ed i corrispondenti valori di output. Misurando di quanto gli output che essa genera differiscono da quelli esatti, la rete modifica i suoi parametri per adattarsi alla realtà ed imparare da questa. L’apprendimento può essere ottenuto con diversi algoritmi, la cui scelta deve essere conseguente all’obiettivo che si vuole raggiungere. In altre parole, in base al metodo con cui viene effettuato il training si ottengono diversi tipi di rete. Questo classificatore è stato trattato in [3, 21]. 27 Capitolo 4 ANALISI COMPARATIVA DI FEATURE E CLASSIFICATORI Nel capitolo precedente abbiamo discusso e formalizzato le tecniche di estrazione feature e i classificatori comunemente usati per l’audio sorveglianza. In questo capitolo è proposta pertanto un’analisi comparativa, sulla base dei lavori oggetto di studio, che permetta di determinare quale combinazione di feature e classificatori risulta maggiormente adatta per gli scopi di audio sorveglianza. In [9] è stata operata una valutazione dell’algoritmo di classificazione k-NN e della tecnica gerarchica SVM multiclasse, in combinazione della tecnica di estrazione feature MFCC. Il set di eventi scelto per il testing è un mix di suoni che sono stati suddivisi in suoni normali, nella fattispecie discorsi e passi, ed anomali, quali urla umane e rotture vetro (tabella 4.1). TIPO NUMERO FILE DURATA Parlato 7 147 s Grida 44 98 s Passi 35 96 s Rotture Vetro 47 145 s Tabella 4.1: Dataset di suoni raccolti Il sistema consta di 4 nodi sensore adibiti alla rilevazione dell’audio, posizionati nei pressi del laboratorio, con i quali è stato registrato un primo set di suoni. Dal momento che il database non era completo, è stato arricchito con una serie di suoni prelevati da database online o da altre risorse come film o video. Il sistema è mostrato in figura 4.1 Figura 4.1: Implementazione del sistema 28 Capitolo 4. Analisi comparativa E’ stata effettuata in primo luogo una valutazione dell’efficienza del metodo di estrazione feature (tabella 4.2). La valutazione è stata compiuta al variare della grandezza della frame MFCC ed in base alla percentuale di accuratezza della classificazione, riscontrando un picco prestazionale con frame comprese tra i 50, i 70 ms e i 200ms per le urla, mentre il picco prestazionale per il rilevamento della rottura vetro si colloca ai 30ms. Va notato come il tempo di estrazione feature decresce linearmente all’aumentare della grandezza della frame, mentre rimane pressoché invariato per la classificazione. MFCC Frame Size (ms) 30 50 70 100 150 200 250 Accuratezza Classificazione (%) Parlato / Urla Passi / Rotture Vetro 97.94 76.88 98.94 74.92 98.94 70.94 98.92 70.93 97.84 70.89 98.94 76.84 96.88 65.81 Tempo Impiegato (ms) Estrazione Feature Classificazione 21.99 3.17 17.17 3.33 14.34 3.27 16.95 3.39 11.96 3.33 10.32 3.17 9.68 3.22 Tabella 4.2: Precisione estrazione feature Successivamente, è stato valutato l’approccio gerarchico SVM multiclasse con kernel a funzione di base radiale (RBF) (tabella 4.3), Mostrando una precisione media del 74,44%. H-SVMs Parlato(%) 72.16 Urla(%) 87.50 Passi(%) 73.91 Rottura Vetro(%) 64.21 Tabella 4.3: Valutazione H-SMVs In ultima analisi è stato valutato l’algoritmo k-NN con funzione di decisione a voto maggioritario (tabella 4.4), mostrando una precisione media del 72.13%. k-NN Parlato(%) 67.01 Urla(%) 83.33 Passi(%) 76.09 Rottura Vetro(%) 62.11 Tabella 4.4: Valutazione k-NN I risultati evidenziano come per frame compresi tra i 30 e i 250 ms, MFCC in associazione a H-SVMs sia più performante in media di 2 punti percentuali. In [11] troviamo una valutazione qualitativa della classificazione GMM con approccio gerarchico in relazione ad alcuni tipi di feature tra cui l’algoritmo Zero Crossing Rate. Sono state considerati quattro diverse attività: parlato, urla, considerati eventi vocali, botte e passi, considerati non vocali. Ogni evento è stato modellato in uno stream di circa 10 minuti, per un totale di 2 ore di registrato. Ogni file audio è stato poi diviso in frame da 50 ms. La valutazione dell’estrazine feature (tabella 4.5) è stata effettuata al variare del numero di GMM, e come i risultati mostrano il picco prestazionale è stato evidenziato a partire dalle 3 GMM (81.65%), e rimane pressoché invariato (con uno scarto al più dello 0.01%) anche se aumentiamo il numero di GMM fino a 10. 29 Capitolo 4. Analisi comparativa Numero di GMM 1 2 3 4 5 6 7 8 9 10 ZCR Vocali,Non Vocali (%) 72.58 78.66 81.66 81.65 81.65 81.65 81.66 81.66 81.66 81.66 Tabella 4.5: Precisione estrazione feature La valutazione dei classificatori è stata compiuta considerando sia un approccio lineare che gerarchico (tabella 4.6), mostrando che l’approccio gerarchico è in media più efficiente dell’approccio lineare. Numero di GMM 1 2 3 4 5 6 7 8 9 10 Approccio Gerarchico (%) Parlato Urla Botte Passi 59 84 90 62 41 100 75 71 53 84 75 69 53 84 75 71 53 89 75 71 53 89 75 71 53 89 75 71 53 89 75 74 53 89 75 71 53 89 75 71 Approccio Lineare (%) Parlato Urla Botte Passi 23 80 25 60 10 98 45 67 11 80 42 65 12 83 44 65 11 87 42 60 10 90 46 65 15 84 42 65 23 90 42 64 22 89 32 65 12 87 25 62 Tabella 4.6: Precisione classificazione I risultati mostrano, valutando l’approccio gerarchico, che ancora una volta a partire dal numero di 3 GMM le prestazioni si assestano raggiungendo tuttavia un picco in corrispondenza delle 8 GMM con una precisione media del 72.75%. In [10] viene effettuato un confronto tra le due tecniche di classificazione rispettivamente di tipo GMM e SVM con approccio a classe unica, sulla base di un set di feature caratterizzato in una prima analisi da feature singole quali MFCC e trasformata Wavelet, e poi dalla combinazione di queste due con caratteristiche spettrali come Spectral Centroid e Roll-off, oltre che ZCR. La maggior parte dei suoni è stata reperita da database online, cercando di ottenerne una rappresentazione uniforme: tutti i suoni sono campionati a 44100 Hz, garantendo una banda di frequenza ampia, necessaria per una corretta valutazione (tabella 4.7). 30 Capitolo 4. Analisi comparativa Classi Urla Umane Spari Rottura Vetri Esplosioni Porte Sbattute Abbaiare di Cani Squillo telefono Voci Bambini Macchine Totale Addestramento 48 150 58 41 209 36 34 58 40 674 Test 25 75 30 21 105 19 17 29 20 341 Numero Totale 73 225 88 62 314 55 51 87 60 1015 Durata (s) 189 352 143 180 386 97 107 140 184 1778 Tabella 4.7: Dataset reperito E’ stato scelto di inserire nel database una serie di classi che possono essere facilmente confuse l’una con l’altra, come ad esempio la coppia esplosioni e spari, al fine di valutare esaustivamente gli algoritmi utilizzati, dal momento che questi sistemi devono essere in grado di classificare correttamente i suoni per abbassare il numero di falsi positivi. Come detto, una prima valutazione è stata compiuta considerando singolarmente MFCC e DWT (tabella 4.8), evidenziando come MFCC si comporti meglio con percentuali di riconoscimento prossime al 90% sia con tecniche GMM che SVM contro il circa 70% della DWT. Feature MFCC DWT Percentuale di Riconoscimento (%) 1-SVM GMM M-SVM 92.80 91.69 91.15 82.22 73.50 Tabella 4.8: Valutazione con feature singole In secondo luogo è stata eseguita una valutazione di diverse combinazioni di feature (tabella 4.9), evidenziando come MFCC abbia prestazioni del tutto simili in combinazione con spectral roll-off e centroid, mentre per la DWT si rileva un drastico aumento prestazionale, toccando un picco dell’ 87,40% con SVM multiclasse quando viene combinando con ZCR, spectral centroid e roll-off. Le migliori prestazioni sono state invece ottenute da una combinazione di tutte le feature sopracitate, con una percentuale di rilevamento del 96.89% con SVM ad una classe. Feature MFCC + SRF + SC DWT + SRF + SC MFCC + DWT + SRF + SC + ZCR Numero coefficienti (per frame) 14 115 117 Percentuale di Riconoscimento (%) 1-SVM GMM M-SVM 92.89 91.22 90.23 86.80 87.48 96.89 93.22 Tabella 4.9: Valutazione con feature combinate SRF : Spectral Roll-off. SC : Spectral Centroid 31 Capitolo 4. Analisi comparativa In [2] è stata effettuata una valutazione della combinazione della feature derivata dall’autocorrelazione, ossia l’altezza, valutata in termini di descrittori statistici quali media, varianza, massimo e minimo, con tecniche di classificazione di tipo SVM. In particolare, nota funzione di autocorrelazione, sono state generate due tipologie di feature, definite come feature1 = max{φ(τ )} min{φ(τ )} feature2 = σ(φ(τ ) µ(φ(τ )) Dove σ e µ sono rispettivamente deviazione standard e media di φ(τ ), mentre φ(τ ) è stata definita nel paragrafo 3.1.2 trattando la feature altezza. La valutazione è stata effettuata su un database ottenuto da database online, in particolare il Freesound Project (tabella 4.10). Tipo Abbaiare di cani Spari Rottura Vetri Totale Totale 60 51 44 155 Addestramento 10 8 5 23 Test 50 43 39 132 Tabella 4.10: Dataset reperito Per calcolare l’altezza, ogni suono è stato processato con una finestra di 15 ms. La valutazione delle due feature precedentemente definite in associazione ad SVM è stata presentata tramite delle matrici di confusione. La matrice di confusione è una particolare tecnica di valutazioni delle performance per l’intelligenza artificiale, dove i dati sulle righe rappresentano le classi reali, mentre nelle colonne sono rappresentate le classi rilevate. La consultazione è molto semplice ed intuitiva ed è dovuta alla sua immediata leggibilità che questa tecnica di rappresentazione delle performance è particolarmente diffusa. Ad ogni modo, è stato valutato SVM sia con kernel polinomiale che RBF (tabella 4.11), ed i risultati evidenziano come le prestazioni della coppia Altezza-SVM offra un range di riconoscimento che varia dal 79% al 92%, con risultati in media migliori per kernel polinomiale. Abbaiare di cani Spari Rottura Vetri Abbaiare di cani Spari Rottura Vetri Abbaiare di cani 92 13.5 0 Abbaiare di cani 92 14 0 Spari 6.4 79 17.6 Spari 6 76.7 23 Rottura Vetri 1.6 6.5 82.4 Rottura Vetri 2 9.3 77 Tabella 4.11: Matrici di confusione (%). Tabella 1 : kernel polinomiale. Tabella 2 : kernel RBF. In [3] è stata effettuata una valutazione delle feature altezza, derivata dalla autocorrelazione, e MFCC, in associazione a tecniche di classificazione di tipo SVM con kernel gaussiano e 32 Capitolo 4. Analisi comparativa lineare, k-NN e NN (Neural Network). In questo studio è stato usato un set di 258 eventi audio (tabella 4.12), utilizzandone una parte per la parte di trainign e una parte per la valutazione dei classificatori. Tipo Abbaiare di cani Spari Rottura Vetri Urla Motori Pioggia Ristoranti Totale 60 51 27 25 19 52 25 Tabella 4.12: Dataset reperito Va evidenziato come il tipo di feature ricavate dall’altezza sono del tutto simili a quelle riscontrate dallo studio [2], illustrato precedentemente. Le valutazioni delle tre tecniche di classificazione (tabelle 4.13, 4.14 e 4.15) sono state compiute sulla base di tre tipi di feature: altezza e MFCC singolarmente e in ultimo una combinazione di entrambe. Classi Spari Rottura Vetri Abbaiare di Cani Urla Motori Pioggia Ristorante Precisione Totale SVM con kernel lineare Altezza MFCC Altezza + MFCC 58.8 64.7 86.2 77.7 37.0 81.4 81.6 76.6 78.3 50.0 41.6 75.0 42.1 63.1 63.1 80.7 80.7 98.0 55.5 85.1 88.8 68.6 68.2 84.4 SVM con kernel gaussiano Altezza MFCC Altezza + MFCC 64.7 90.1 94.1 85.1 59.2 88.8 80.0 86.6 88.3 62.5 70.8 83.3 42.1 68.4 68.4 88.4 94.2 96.1 55.5 91.4 81.4 72.8 83.3 89.1 Tabella 4.13: Valutazione SVM con i differenti kernel (%) Classi Spari Rottura Vetri Abbaiare di Cani Urla Motori Pioggia Ristorante Precisione Totale Altezza 49.02 37.04 61.67 58.33 52.63 59.62 60.00 55.04 Neural Network MFCC Altezza + MFCC 78.43 84.31 44.44 48.15 86.67 91.67 66.67 79.17 57.89 63.16 59.62 94.23 76.00 80.00 70.15 81.78 Tabella 4.14: Valutazione Neural Network (%) 33 Capitolo 4. Analisi comparativa Classi Spari Rottura Vetri Abbaiare di Cani Urla Motori Pioggia Ristorante Precisione Totale Altezza 66.6 62.9 75.0 58.3 52.6 82.6 51.8 68.6 k-Nearest Neigbour MFCC Altezza + MFCC 90.1 92.1 40.7 81.4 81.6 85.0 62.5 66.6 52.6 57.8 100.0 100.0 85.1 88.8 79.8 86.4 Tabella 4.15: Valutazione k-Nearest Neigbour (%) I test mostrano come i risultati medi migliori siano stati ottenuti da SVM con kernel gaussiano, con un range di rilevamento che varia dal 72.8% al 89.1%. La combinazione che da questi test risulta migliore è pertanto SVM con kernel gaussiano con combinazione di altezza e MFCC, con una precisione media pari ad 89.1%. 34 Capitolo 5 CONCLUSIONI Dall’analisi condotta nel precedente capitolo sono emersi i seguenti risultati: • La tecnica di estrazione feature più efficiente per il tipo di segnali caratteristici della audio sorveglianza è MFCC, ed è per questo che è la più utilizzata attualmente, come si evince dalle stesse implementazioni che sono state trattate. E’ stato tuttavia evidenziato come, un utilizzo combinato di questa tecnica con altre, abbia fornito risultati nettamente migliori. • Il metodo di classificazione più efficace è SVM, posizionandosi in testa a tutti gli altri metodi analizzati in quanto a precisione di rilevamento, in ogni sperimentazione. • La combinazione più efficace si è rivelata MFCC + ZCR + DWT + Spectral Centroid + Spectral Roll-off in associazione ad SVM fornendo una precisione media massima del 96.89% in configurazione single class, ma garantendo ottimi risultati anche in multiclass, con una percentuale del 93.22%. Tuttavia, è necessario valutare anche alcune problematiche che si sono evidenziate durante l’analisi dei sistemi presentati: • Rarità degli eventi anomali. La rarità che caratterizza queste situazioni influisce non solo introducendo una difficoltà intrinseca nel valutare, in casi realistici, l’efficienza di un sistema di audio sorveglianza nella sua interezza, ma anche per il fatto che un’altro suono che non sia di interesse possa causare dei falsi allarmi. Questo è dovuto alla elevata complessità nel creare modelli accurati che rappresentino questi suoni, proprio perché sono eventi di cui è difficile conoscere l’effettiva dinamica. In molti casi collezionare un database sufficientemente completo e realistico per poter testare le implementazioni in modo corretto è stato il passo più complesso, dimostrando come questo sia un importante requisito per avere risultati attendibili. • Selezione corretta delle frame. Questa problematica si ramifica in due differenti aspetti. In primo luogo, la corretta selezione delle frame per il rilevamento. Poiché questi eventi sono impredicibili, non correttamente modellabili ed eterogenei, il corretto finestraggio è un nodo importante e mai facile da sciogliere, in quanto appartengono alla categoria di suoni pericolosi tipi di suoni con caratteristiche differenti e diversa durata. Basti pensare a esplosioni o spari rispetto alle urla. In secondo luogo, la corretta selezione delle frame per l’estrazione feature è un altro punto nevralgico, dal momento che può influire in modo sostanziale sulle prestazioni, ed è necessario trovare il giusto equilibrio tra costo computazionale, spazio a disposizione e livello di precisione richiesto. 35 Capitolo 5. Conclusioni • Presenza di rumore, che peggiora notevolmente le prestazioni. In presenza di rumore, la possibilità di falsi allarmi aumenta esponenzialmente in base alla qualità dei frame audio analizzati. È stato dimostrato come più i frame abbiano un SNR 1 alto, più i risultati riscontrati siano buoni. Di contro, un segnale molto rumoroso con basso SNR amuenta nettamente la possibilità di errori di rilevamento. Questo, rende necessario un attento studio sul rumore in fase di progettazione, nonché la necessità di fornire un modello descrittivo completo del rumore di sottofondo, come già detto nel capitolo 2. 1 Signal to noise ratio: Una misura che compara il livello di un segnale rispetto al rumore di sottofondo. P SN R = Psegnale con P che indica potenza. rumore 36 Capitolo 6 SVILUPPI FUTURI Durante la stesura del documento si è evidenziato come esistano alcuni punti su cui sarebbe necessario effettuare studi ulteriori. Per prima cosa si rende necessaria una valutazione più ampia, che preveda di valutare più combinazioni di feature e classificatori al fine da avere un quadro di efficienza più completo per poter decidere. L’impossibilità di conoscere i risultati prestazionali di un numero sostanzioso di combinazioni influisce negativamente sulla veridicità delle considerazioni fatte, che non sono da considerarsi assolute ma riferite solo ai casi analizzati. E’ stato riscontrato inoltre che è necessario un test più accurato, su una base coerente per tutte le differenti implementazioni. In tutti i sistemi analizzati, il set di dati su cui si è lavorato è estremamente differente, cosa che si aggiunge alla già alta difficoltà nel costruire un database veramente efficace per una valutazione. Futuri lavori necessiteranno di una valutazione assolutamente sistematica: andranno effettuati test su database ampi e costanti per tutte le combinazioni, al fine di ottenere risultati più precisi. In ultimo, va evidenziato come la maggior parte dei test condotti per la valutazione degli algoritmi, sia fatta in condizioni non real time, che invece è una assoluta prerogativa per questo tipo di sistemi. La natura stessa degli eventi anomali rende necessario che il sistema sia in grado di rispondere istantaneamente alle sollecitazioni esterne. Una valutazione incentrata sulle tecniche real time è assolutamente necessaria. 37 Bibliografia [1] C. Clavel, T. Ehrette, G. Richard. “Events detection for an audio-based surveillance system”. 2005. [2] Burak Uzkent, Buket D. Barkana. “Pitch-Range Based Feature Extraction for Audio Surveillance Systems”. 2011. [3] Burak Uzkent, Buket D. Barkana, Hakan Cevikalp. “Non-speech Enviromental Sound Classification Using SVMS with a new set of Features”. 2012. [4] Christian Zieger, Alessio Brutti, Piergiorgio Svaizer. “Acoustic Based Surveillance System For Intrusion Detection”. 2009. [5] Li Lu, Fengpei Ge, Qingwei Zhao, Yonghong Yan. “A SVM-based Audio Event Detection System”. 2010. [6] Stavros Ntalampiras, Ilyas Potamitis, Nikos Fakotakis. “An Adaptive Framework for Acoustic Monitoring of Potential Hazards”. 2009. [7] Weimin Huang, Tuan Kiang Chiew, Haizhou Li, Tian Shiang Kok, Jit Biswas. “Scream Detection for Home Applications”. 2010. [8] G. Valenzise, L. Gerosa, M. Tagliasacchi, F. Antonacci, A. Sarti. “Scream and Gunshot Detection and Localization for Audio-Surveillance Systems”. 2007. [9] Dong Zhao, Huadong Ma, Liang Liu. “Event Classification for Living Environment Surveillance Using Audio Sensor Networks”. 2010. [10] Asma Rabauoi, Manuel Davy, Stéphane Rossignol, Noureddine Ellouze. “Using OneClass SVMs and Wavelets for Audio Surveillance”. 2008. [11] Pradeep K.Atrey, Namunu C. Maddage, Mohan S. Kankanhalli. “Audio Based Event Detection for Multimedia Surveillance”. 2006. [12] Aki Harma, Martin F. McKinney, Janto Skowronek. “Automatic Surveillance of the Acoustic Activity in our Living Environment”. 2005. [13] Marco Cristani, Manuele Bicego, Vittorio Murino. “On-line adaptive background modelling for audio surveillance”. 2004. [14] Charles Parker. “An Empirical Study of Feature Extraction Methods for Audio Classification”. 2010. [15] Michael Cowling, Renate Sitte. “Comparison of techniques for environmental sound recognition”. 2003. 38 Bibliografia [16] S. Casale, A. Russo, G. Scebba. “Speech Emotion Classification using Machine Learning Algorithms”. 2008. [17] Sampo Vesa. “The Effect of Features on Clustering in Audio Surveillance”. 2007. [18] Geoffroy Peeters. “A large set of audio features for sound description in the CUIDADO project”. 2004. [19] Dalibor Mitrovic, Matthias Zepplelzauer, Christian Brieteneder. “Features for ContentBased Audio Retrieval ”. 2010. [20] Padraig Cunningham, Sarah Jane Delany. “k-Nearest Neighbour Classifiers”. 2007. [21] P. Dhanalakshmi, S. Palanivel, V. Ramalingam. “Classification of audio signals using AANN and GMM ”. 2011. [22] P. Dhanalakshmi, S. Palanivel, V. Ramalingam. “Classification of audio signals using SVM and RBFNN ”. 2009. [23] Preeti Rao, Sumantra D. Roy. “Audio Signal Classification”. 2004. [24] Douglas Reynolds “Gaussian Mixture Models”. 2002. [25] Stanley Smith Stevens, John Volkman, and Edwin Newmann. “A scale for the measurement of the psychological magnitude of pitch”. 1937. [26] Carlo Drioli, Nicola Orio. “Elementi di Acustica e Psicoacustica”. Versione 2004, 1999. [27] John McCarthy. “What is Artificial Intelligence? ”. 2007. 39