Valutazione di un sistema per il riconoscimento di suoni anomali

annuncio pubblicitario
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
Scarica