SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
UNIVERSITÀ DEGLI STUDI DI TRIESTE
FACOLTÀ DI INGEGNERIA
CORSO DI LAUREA SPECIALISTICA IN
INGEGNERIA INFORMATICA
TESI DI LAUREA IN PROGRAMMAZIONE DEI
CALCOLATORI
SVILUPPO DI METODI PER LA
SORVEGLIANZA ACUSTICA IN AMBIENTI
URBANI
Laureando: Relatore:
Babic David Chiar.mo Prof. Massimiliano Nolich
ANNO ACCADEMICO 2012-2013
Sommario
Il presente documento costituisce un lavoro di documentazione su metodi e algoritmi di
riconoscimento e classificazione di segnale acustici. Vista la vastità dell’argomento, ci si concentrerà
soprattutto su segnali acustici che possono essere considerati di pericolo, e quindi adatti al campo
della videosorveglianza.
Viene inoltre presentato il risultato sperimentale di un sistema di riconoscimento di segnali. Tale
sistema è in grado di distinguere rumori che appartengono a diverse categorie. Il sistema utilizza
l’algoritmo Gaussian Mixture Model (GMM) e alcune distribuzioni statistiche, come quella di
Weibull e la Normale, per effettuare l’operazione di riconoscimento.
Indice
Introduzione.................................................................................................. 1
1 Analisi della scena acustica.................................................................. 3
2 Lo stato dell’arte ..................................................................................... 5
2.1 Database esistenti ........................................................................ 6
2.2 Algoritmi esistenti ....................................................................... 9
2.3 Programmi e prodotti esistenti................................................ 31
2.4 Distribuzione normale e di Weibull........................................ 36
3 Sviluppo dell’applicazione............................................................ 40
3.1 GMM ........................................................................................... 40
3.2 Weibull........................................................................................ 42
4 Risultati.................................................................................................. 48
4.1 GMM ........................................................................................... 48
4.2 Distribuzione di Weibull .......................................................... 50
Conclusione e sviluppi futuri.................................................................. 61
Bibliografia.................................................................................................. 62
Ringraziamenti ........................................................................................ 65
1
Introduzione
Con questo lavoro di tesi si cercherà di sviluppare un sistema di audio-
sorveglianza che sia utilizzabile in un ambiente urbano. Le finalità di questo
progetto possono essere svariate: dalla sorveglianza di edifici per prevenire
intrusioni al monitoraggio di incroci pericolosi fino a passare per il
rilevamento di spari di pistola in ambienti urbani.
Si cercherà di fornire una documentazione non esaustiva sui metodi di
elaborazione dei segnali acustici, estrazione di coefficienti, metodi e algoritmi
di classificazione. Questo sarà fondamentale per la scelta dell’algoritmo da
utilizzare per la classificazione. Si cercherà inoltre di proporre e valutare dei
nuovi metodi per classificare segnali acustici.
Per illustrare il lavoro fatto si è deciso di suddividere questa tesi nei
seguenti capitoli:
• il primo capitolo introduce alla storia dell’arte dell’argomento trattato
in questa tesi, fornendo numerosi esempi di lavori e ricerche già svolte
che saranno prese come spunto per la scelta dell’algoritmo utilizzato;
• il secondo capitolo tratta dello sviluppo dell’applicazione mostrando le
tecniche utilizzate;
2
• il terzo capitolo fornisce tutti i risultati ottenuti al variare dei parametri
utilizzati
• l’ultimo capitolo trae le dovute conclusioni del lavoro svolto e indica
una strada per lo sviluppo futuro dell’applicazione.
CAPITOLO 1 Analisi della scena acustica 3
1 Analisi della scena
acustica
La classificazione di eventi acustici mira a separare e riconoscere varie
categorie di suoni.
La ricerca sulla classificazione di eventi acustici è stata fino a dopo
tempo fa solitamente effettuata per un numero limitato di classi, come per il
parlato/musica, musica/parlato/altro, dove per "altro" si intende qualsiasi tipo
di suoni ambientali. Negli ultimi anni, tuttavia, l'interesse nell’area dei
Acoustic Event Detection and Classification (Classificazione e Rilevamento di
eventi acustici, AED/C) è stata notevolmente aumentata. L'area di AED/C può
essere strutturata da diversi livelli semantici. Può riguardare la classificazione
di eventi specifici di un certo ambiente, la classificazione di suoni specifici ad
una data attività, la generica classificazione del suono, ecc. In tutti i casi, sono
presenti un gran numero di suoni ed è necessario limitare il numero di classi
considerate.
Per questo motivo si cerca di fornire una tassonomia del suono. Un
esempio di una tassonomia del suono generale è stata presentata in [26] e può
essere vista in Figura 1.1. Si divide i suoni prima cosa in suoni udibili e non
udibili. Poi, la parte udibile è ulteriormente suddivisa in rumore, suoni
naturale, suoni artificiali, parlato e musica. Esistono altre tassonomie di suoni
4
meno generali di quella presentata a titolo di esempio, che differiscono le une
dalle altre in base al contesto nel quel sono utilizzate.
Per il contesto di questa tesi potremmo definire una tassonomia
dividendo le nostre categorie in suoni impulsivi (spari di pistola, vetri rotti) e
non impulsivi (grida, frenate).
Figura 1.1: Esempio di tassonomia del suono generale
CAPITOLO 2 Lo stato dell’arte 5
2 Lo stato dell’arte
Questo primo capitolo espone le scelte preliminari che devono essere
fatte prima di poter sviluppare il progetto come, ad esempio, la scelta della
base dati per gli effetti sonori e la scelta dell’algoritmo da utilizzare per la
classificazione.
È anche molto importante venir a conoscenza di tutto il lavoro di ricerca
che è già stato fatto su questo argomento. Queste ricerche ci danno modo di
valutare i risultati ottenuti con vari algoritmi fornendo preziose informazioni
sulla strada da percorrere. Infine è interessante vedere se esistono prodotti
commerciali su questo argomento anche se poco utile in fase di sviluppo, in
quanto non vengono fornite informazioni su algoritmi e metodi utilizzati.
Nel primo paragrafo vengono analizzati vari database di effetti sonori
presenti in Internet. Per ognuno di essi viene fornita una breve descrizione e
vengono elencati pregi e difetti.
Nel secondo paragrafo vengono descritti i vari algoritmi esistenti usati
per la classificazione di effetti sonori. Per ognuno di questi algoritmi vengono
illustrate anche alcune ricerche svolte da università o enti di ricerca e vengono
forniti i risultati ottenuti.
Nel terzo paragrafo viene fatta una panoramica dei prodotti o
programmi esistenti sul mercato o in attesa di una futura immissione. La
descrizione e le prestazioni sono, in questo caso, fornite dal produttore oppure
recuperate da riviste specializzate.
CAPITOLO 2 Lo stato dell’arte 6
2.1 Database esistenti
La prima cosa da fare è procurarsi un buon database di effetti sonori.
Questi effetti sonori devono essere omogenei il più possibile, ovvero avere
durata simile, frequenza di campionamento e formato identici. Inoltre, devono
essere in un numero tale da poter addestrare l’algoritmo in modo corretto e
permettere il riconoscimento. Per ottenere questo database si può pensare di
registrare il fenomeno in laboratorio oppure di recuperare i rumori da dei
database esistenti. Data la difficoltà di ottenere alcuni rumori (registrare spari
di pistola in laboratorio sarebbe irrealizzabile), è preferibile affidarsi alla
seconda ipotesi. Su Internet esistono numerosi siti che offrono risorse audio
scaricabili gratuitamente da utilizzare a piacimento. Tra questi ci sono:
• The Freesound Project1 è un database collaborativo di suoni, effetti
sonori e file audio (ma non canzoni intere) rilasciati sotto licenza
Creative Commons, quindi gratuiti e riutilizzabili a piacere. E' possibile
accedere alle risorse navigando gli elenchi del materiale fornito dagli
utenti, oppure attraverso ricerca grazie al motore interno. Per accedere
ai file non è richiesta la registrazione, mentre gli utenti registrati
possono contribuire segnalando o pubblicando propri file audio da
condividere con altri utenti, commentando, votando e scaricando le
risorse.
• Un altro sito molto ricco di risorse è “Soundsnap”2. Soundsnap è una
piattaforma per la condivisione di file audio ed effetti sonori per tutti i
gusti. Soundsnap mette a disposizione dei navigatori un'enorme
raccolta di materiale organizzato in categorie tematiche fornendo la
possibilità di ascoltare in anteprima le risorse e concedendo il loro
1
sito web: http://www.freesound.org/
2
sito web: http://www.soundsnap.com/
CAPITOLO 2 Lo stato dell’arte 7
download nei formati .mp3, .wav e talvolta .aiff. Purtroppo è un
servizio a pagamento.
• FindSound3 è il motore di ricerca per suoni e rumori: dai versi degli
animali ai rombi dei motori agli oggetti che s’infrangono. Permette di
cercare in una smisurata lista di tipologie di suoni e di scaricarli una
volta trovati in diversi formati.
• SoundBible4 è una risorsa online dalla quale è possibile ascoltare e
scaricare effetti e clip sonori. Il sito è sviluppato con una grafica
semplice e accattivante allo stesso tempo, sarà possibile eseguire la
ricerca di effetti sonori mediante il motore di ricerca posizionato a
destra nella barra laterale oppure sfogliare le liste attraverso le categorie
“Free Sound Effects” e “Royalty Free Sounds“. Quest’ultima categoria,
Royalty Free Sound, contiene una selezione di effetti sonori liberamente
scaricabili ed utilizzabili anche a livello commerciale in quanto rilasciati
sotto licenze che ne autorizzano l’uso anche in tal senso. I clip sonori
possono essere ascoltati direttamente da browser e successivamente
scaricati nei formati WAV e MP3.
Tutti questi siti sono dei database collaborativi nei quali qualsiasi utente
registrato può contribuire (a parte Findsound che è un motore di ricerca).
Sarebbe preferibile avere a disposizione dei database più “professionali”
realizzati da qualche università o da enti specializzati in materia. Uno di questi
è sicuramente:
• Il database DESRA5 comprende un gran numero di suoni prodotti da
diverse fonti sonore, con un background completo per ogni file. In
3
sito web: http://www.findsounds.com/
4
sito web: http://soundbible.com/
5
sito web: http://www.desra.org/
CAPITOLO 2 Lo stato dell’arte 8
questo modo DESRA può contenere una vasta gamma di informazioni
acustiche, contestuali, semantiche e comportamentali relative a un
singolo suono. È accessibile su Internet ed è utile a ricercatori,
ingegneri, sound designer, e musicisti. Il database può essere consultato
liberamente con la possibilità di scaricare i file di interesse (non
necessita di registrazione).
• Sounddogs.com6 è una libreria commerciale online di effetti sonori.
Attiva già a partire dal 1997, oggi dispone di oltre 500.000 tra effetti
sonori e brani musicali che sono disponibili per il download immediato
o sul disco rigido o CD. Offre una vasta gamma di categorie tra cui
scegliere l’effetto sonoro desiderato, scaricabile in diversi formati come
AIFF, WAV, e MP3. Essendo una libreria commerciale, gli effetti sonori
sono a pagamento. Tuttavia, si possono scaricare gratuitamente delle
anteprime a minor risoluzione che però vanno più che bene per i nostri
scopi.
• Altri database sono NTT-AT Ambient Noise Database7 e Sound Ideas8.
In particolare Sound Ideas è un archivio contenente una delle più
grandi librerie di effetti sonori disponibili in commercio. Ha
accumulato gli effetti sonori, che rilascia in raccolte su CD e su disco
rigido, attraverso l'acquisizione, accordo esclusivo con studi
cinematografici, e la produzione interna. Possono essere acquistate solo
collezioni intere con prezzi che variano da 295$ fino a svariate migliaia
di dollari.
6
sito web: sounddogs.com
7
sito web: www.ntt-at.com
8
sito web: www.sound-ideas.com
CAPITOLO 2 Lo stato dell’arte 9
Il database scelto per questa tesi è il database Sounddogs. Tutti i file
audio sono in formato WAV PCM con frequenza di campionamento a
11kHz.
2.2 Algoritmi esistenti
I primi studi in questo campo erano concentrati quasi esclusivamente
sul riconoscimento (e sintesi) vocale. Queste tecnologie, sviluppatesi a partire
dagli anni ’50, per consentire il riconoscimento vocale si sono evolute nel corso
degli anni e, grazie anche all’accresciuta capacità di elaborazione dei
computer, trovano oggi sempre più ampia applicazione. Per quanto riguarda
invece il riconoscimento di altri suoni che non siano voce, le ricerche e i relativi
software sono molto meno numerosi e soprattutto molto meno commerciali.
Al momento esistono molti lavori nell’area musicale, tra cui la trascrizione
musicale, monitoraggio trasmissione brani e rilevazione di plagio, e nel campo
della sicurezza, come per esempio l’analisi audio per sistemi di sorveglianza.
La maggior parte dei problemi di riconoscimento e di classificazione
sono realizzati tramite un processo a tre stadi.
1. Pre-elaborazione dei dati
2. Estrazione delle Feature
3. Classificazione
La sequenza di queste tre fasi è mostrata in Figura 1.
Pre-elaborazione Estrazione delle Classificazione dei
feature dati
Figura 2.1: Sequenza tradizionale per la classificazione
CAPITOLO 2 Lo stato dell’arte 10
La pre-elaborazione dei dati è il primo passo nel processo di
classificazione. Consiste nell'assunzione di un suono da ambiente e il
caricamento in un computer. In genere, questo è realizzato con un microfono.
In aggiunta, un computer rappresenta i suoni in un formato digitale; il segnale
analogico prodotto da un microfono deve quindi essere convertito in un
formato digitale tramite campionamento e tecniche di quantizzazione.
L’estrazione delle feature viene eseguita per ridurre l'enorme set di dati
ottenuti nel passaggio precedente. L’estrazione di feature comporta la
selezione di pezzi di dati di input che caratterizzano in modo univoco le
informazioni. La scelta delle feature è un punto molto importante e varia a
seconda della tipologia di suoni che si vuole caratterizzare.
La classificazione è il terzo passo nel processo di riconoscimento. La
classificazione consiste nel prendere le feature generate nel passaggio
precedente e che collegare ciascuna feature ad una particolare classificazione.
Questo può essere fatto in molti modi. Per il riconoscimento del suono, si
possono utilizzare diverse tecniche, tra cui Hidden Markov Models, Gaussian
Mixture Models e Reti Neurali. Tutte queste tecniche necessitano di una fase
di training e di test. Il training dà al sistema una serie di esempi di un
particolare elemento, in modo che possa imparare le caratteristiche generali di
tale elemento. Poi, quando viene eseguito il test, si può identificare la classe
dell'elemento sotto esame.
In questo paragrafo si andranno ad elencare le principali feature che si
possono estrarre da un file audio ed a descrivere gli algoritmi principali usati
nella classificazione audio. Infine si andrà ad elencare una lista di programmi e
strumenti che operano in questo campo.
CAPITOLO 2 Lo stato dell’arte 11
2.2.1 Estrazione di feature audio per la classificazione
I dati utilizzati in ingresso ai sistemi per la classificazione audio hanno
solitamente una dimensione troppo elevata per poter essere elaborati. Questo
problema viene risolto con l’estrazione di particolari feature che sono d’aiuto
per la classificazione.
Seguono alcune definizioni di features valutate per essere utilizzate con
i classificatori da realizzare.
Zero-Crossing Rate
Lo zero-crossing rate (ZCR) è una feature fisica temporale che indica la
frequenza di cambiamento di segno di un segnale. Questa feature ricorre
spesso nelle applicazioni di speech recognition e di information retrieval in
ambito musicale. Può essere definita come:
con s segnale di lunghezza T e 𝕝 {𝐴} una mappa che vale 1 se
l’argomento A è una proposizione vera, altrimenti vale 0 [18].
Crest Factor
Il Crest Factor, denominato anche peak-to-average ratio (PAR) o ancora
peak-to-average power ratio (PAPR), è una feature fisica per la misura del
rapporto di potenza tra i picchi e la media RMS del segnale, ovvero:
CAPITOLO 2 Lo stato dell’arte 12
È quindi una quantità adimensionale. Mentre questo quoziente è più
semplicemente espresso da un numero razionale positivo, in prodotti
commerciali è anche comunemente indicato come il rapporto tra due numeri
interi, ad esempio, 2:1. Nelle applicazioni di elaborazione del segnale è spesso
espresso in decibel (dB).
Spectral Centroid
Lo spectral centroid è una misura che ha lo scopo di caratterizzare un
determinato spettro audio. Indica il “centro di massa” dello spettro. La feature
viene calcolata come media pesata delle frequenze di cui si compone un
segnale, utilizzando le ampiezze come pesi:
dove x(n) rappresenta il valore ponderato in frequenza, o la grandezza,
del numero binario n, e f(n) rappresenta la frequenza centrale di quel numero
binario [3].
Mel-frequency cepstral coefficients (MFCCs)
Nella elaborazione del suono, il mel-frequency cepstrum9 (MFC) è una
rappresentazione dello spettro di potenza a breve termine di un suono, basata
9
In teoria dei segnali, il cepstrum è il risultato della trasformata di Fourier applicata allo spettro in
decibel di un segnale. Il suo nome deriva dal capovolgimento delle prime quattro lettere della parola
"spectrum". Verbalmente il cepstrum di un segnale è la trasformata di Fourier del logaritmo della
trasformata di Fourier del segnale. A volte viene chiamato lo spettro dello spettro. Algoritmicamente:
segnale → trasformata di Fourier (FT)→ logaritmo → fase istantanea → trasformata di Fourier →
cepstrum.
CAPITOLO 2 Lo stato dell’arte 13
su una trasformazione lineare di uno spettro di potenza logaritmica su una
scala di mel-frequency non lineare.
I Mel-frequency cepstral coefficients (MFCCs) sono coefficienti che
collettivamente costituiscono un MFC. Essi sono derivati da un tipo di
rappresentazione cepstrale del clip audio (uno "spettro-di-un-spettro" non
lineare). La differenza tra il cepstrum e il mel-frequency cepstrum è che in
MFC, le bande di frequenza sono equidistanti sulla scala mel10, che approssima
meglio la risposta del sistema uditivo umano rispetto alle bande di frequenza
linearmente distribuite utilizzate nel cepstrum normale. Questa deformazione
in frequenza può permettere una migliore rappresentazione del suono come,
per esempio, n compressione audio.
I MFCCs sono comunemente utilizzati nei sistemi di riconoscimento
vocale, come i sistemi in grado di riconoscere automaticamente i numeri
parlati in un telefono. Essi sono comuni anche nel riconoscimento dello
speaker. I MFCCs hanno trovato un utilizzo sempre maggiore in applicazioni
di recupero delle informazioni musicali quali la classificazione del genere,
misure per il confronto audio, ecc [19].
Nel documento [24] viene evidenziato il problema dei MFCC nel rilevare e
classificare correttamente diversi tipi di suoni in presenza di rumore. Viene
proposta una soluzione che si basa su di una verifica del segnale a doppio
livello di energia (Double-level Energy Detection, DED); viene verificata la
presenza di un rumore, all’ interno di una sequenza più lunga, prima nel
dominio del tempo e, solo in caso di esito positivo, nel dominio della
frequenza. Nel caso di doppio esito positivo, vengono estratti i coefficienti
MFCC del frame dove è stato rilevato il suono e classificati con l’algoritmo
Support Vector Machines (SVM). Il sistema è stato utilizzato per classificare 12
10
La scala mel è una scala di percezione dell'altezza (pitch) di un suono. È una scala che ha una
spaziatura lineare sotto 1KHz e spaziatura logaritmica sopra 1KHz.
CAPITOLO 2 Lo stato dell’arte 14
varietà di uccelli. Sono stati registrati 20 campioni per ogni specie di uccello,
ai quali è stato aggiunto del rumore con differente rapporto Segnale-Rumore
(SNR). Sono stati messi a confronto i risultati ottenuti grazie all’estrazione dei
coefficienti MFCC considerando il dominio del tempo (TED_MFCC), il
dominio in frequenza (FED_MFCC) e la loro combinazione (DED_MFCC). I
risultati della classificazione corrispondenti al differente SNR sono riportati in
tabella [1].
feature Signal Noise Ratio (SNR)
60 dB 50 dB 40 dB 30 dB 20 dB 10 dB
MFCC 100.00 90.83 68.33 45.83 37.50 24.17
TED_MFCC 100.00 100.00 91.67 78.33 67.50 43.33
FED_MFCC 100.00 100.00 91.67 85.83 71.67 61.67
DED_MFCC 100.00 100.00 91.67 85.83 71.67 61.67
Tabella 2.1: Percentuale di successo in base alle differenti tecniche di estrazione dei coefficienti ed al variare del
SNR
I risultati degli esperimenti mostrano che, nel caso di SNR 50 dB e oltre, le
quattro modalità di estrazione dei coefficienti non hanno una grande
differenza. Ma con l'aumento del rumore, il MFCC ha un forte calo del tasso
di riconoscimento. Rispetto al MFCC, TED_MFCC ha un miglioramento fino a
circa il 25%, mentre FED_MFCC e DED_MFCC fino a circa 35%. Pertanto, si
può vedere dagli esperimenti che FED_MFCC e DED_ MFCC mostrano una
robustezza migliore in presenza di un ambiente rumoroso.
2.2.2 Algoritmi classificazione audio
I metodi che seguono sono quelli più comunemente usati nella
classificazione audio. Per ogni metodo viene fornita solo una breve
introduzione, vengono presi in considerazione studi fatti con tali tecniche e
vengono fornite le fonti per gli approfondimenti.
CAPITOLO 2 Lo stato dell’arte 15
Gaussian mixture model (GMM)
Un GMM è un modello probabilistico formato da una combinazione
lineare di funzioni di distribuzione gaussiana, chiamate componenti della
mistura. I parametri caratterizzanti sono:
• La dimensione del problema
• Il numero di componenti miste
• I momenti 𝜇, 𝐽 vettori di dimensione
• Le covarianze 𝐾, 𝐽 matrici di dimensione 𝑛2
• Il vettore dei pesi di dimensione
Solitamente un’istanza di parametri viene indicata con la notazione 𝜃 =
{⟨𝑤1, 𝜇1, 𝐾1⟩, … , ⟨𝑤 𝑛, 𝜇 𝑛, 𝐾 𝑛⟩}. La probabilità di osservare il campione 𝑋𝑖, dato il
modello è
𝐽
𝑃(𝑋𝑖|𝜃) = ∑ 𝑤𝑗 𝑃𝑗(𝑋𝑖|𝜃𝑗)
𝑗=1
Con 𝑤𝑗 = 𝑃(𝑋𝑖 ∈ 𝑗|𝜃𝑗) probabilità, nota a priori, che ogni campione 𝑋𝑖 sia
un membro della sola componente [3, 6].
CAPITOLO 2 Lo stato dell’arte 16
Figura 2.2: Esempio di output dell’algoritmo usando 15 componenti di mistura.
Per classificare i dati, il GMM ha bisogno di un algoritmo di training ed
il più usato è l’Expectation Maximization (EM). Tale algoritmo permette
l’apprendimento con set di dati incompleti.
Nel documento [9] viene affrontato il problema del riconoscimento di
suoni impulsivi, come vetri rotti, grida, spari ed esplosioni. Per questo
progetto è stato utilizzato un database con più di 800 suoni divisi in sei
categorie. Questi suoni provengono da diverse librerie (BBC, Warner, Noisex-
92), mentre alcuni sono stati riprodotti il laboratorio. Sono state messe a
confronto due tecniche per il riconoscimento di suoni, Hidden Markov
Model (HMM) e Gaussian Mixture Model
(GMM).
L’implementazione di queste due tecniche è stata fatta in un linguaggio di
programmazione mista C/Matlab utilizzando lo strumento h2m [10]. I risultati
ottenuti da questo sistema sono visibili in Tabella 2.2.
CAPITOLO 2 Lo stato dell’arte 17
SNR
(dB)
Baddetected
Signals (%)
GMM Rec.
Rate (%)
HMM
Rec.
Rate (%)
70 0 97.32 98.54
60 0 94.88 96.10
50 0 91.71 95.37
40 0 90.93 96.32
30 0 90.89 94.53
20 0 86.54 91.54
10 0 77.02 85.09
0 0,26 63.57 68.30
-10 18,24 44.06 49.15
Tabella 2.2: Prestazione del sistema complessivo di riconoscimento suoni
Questo lavoro ha dimostrato che si possono raggiungere buone
percentuali di riconoscimento (98% a 70dB, e quasi il 70% a 0dB), anche in
condizioni di rumore.
L’esperimento [22] ha come obiettivo la classificazione di cinque classi
di audio: urla, esplosioni, spari, linguaggio umano di sesso femminile e
linguaggio umano di sesso maschile. I dati provengono da fonti diverse in vari
formati e in generale non sono privi di rumore. Le fonti includono varie librerie
audio, audio proveniente da video in streaming su Internet, ma
principalmente i file audio provengono dal database TIMIT11.
L’algoritmo usato contiene tre processi: l'estrazione delle feature, la
classificazione e il feedback. Il processo di estrazione delle feature include il
campionamento dei segnali audio e la trasformazione dei dati in vettori di
feature (nel dominio delle frequenze) comprimendoli poi in feature di
11
Sito web: http://www.ldc.upenn.edu/
CAPITOLO 2 Lo stato dell’arte 18
dimensioni inferiori. Il processo di classificazione usato è il Gaussian Mixture
Model (GMM).
I risultati ottenuti sono visibili in Tabella 2.3.
Scream Explosion Gunshot Male Female Success
Scream 22 0 1 0 0 95.65%
Explosion 2 37 6 0 0 82.22%
Gunshot 5 7 13 0 0 52.00%
Male 2 1 0 52 0 94.54%
Female 2 0 1 0 52 94.54%
Tabella 2.3: Risultati della classificazione
I risultati per i colpi di pistola e le esplosioni non sono molto
incoraggianti. Queste due classi sono molto simili nelle loro feature.
Utilizzando il modello di feedback è stata modificata la tabella riunendo le due
classi in una nuova classe chiamata “blast”. In questo modo si ottiene una
percentuale di corretta decisione confrontabile con le altre classi.
Lo studio prosegue confrontando i risultati che si ottengono utilizzando
feature e metodi diversi. Questa probabilmente è la parte più interessante
poiché, avendo a che fare con classi praticamente identiche, ci darà un
indicazione su feature e metodi che forniscono prestazioni maggiori.
Il primo esperimento riguarda il metodo di costruzione dei vettori di
feature. Si ottiene che l’uso di una scala logaritmica invece che lineare nella
costruzione dei vettori di feature porta a risultati migliori.
Il secondo esperimento riguarda l’uso dei MFCC invece che di feature
basate sullo spettro. I MFCC sono usati frequentemente nel campo del
riconoscimento vocale e musicale. L'uso di MFCC ha portato a risultati
CAPITOLO 2 Lo stato dell’arte 19
leggermente migliori per il linguaggio umano privo di rumore, offrendo però
tassi di classificazione peggiori per le altre classi. Quando abbiamo aggiunto i
campioni, i risultati sono peggiorati, come si può vedere dalla Tabella 2.4.
Scream Explosion Gunshot Male Female Success
Scream 20 1 1 0 1 86.96%
Explosion 9 30 5 1 0 66.67%
Gunshot 2 14 9 0 0 36.00%
Male 0 2 1 51 1 92.72%
Female 0 0 1 2 52 94.54%
Tabella 2.4: Risultati ottenuti con MFCC
Questo test è stato effettuato su 203 campioni; ha usato 791 campioni
per il training ottenendo una probabilità di corretta decisione vicina al 90%.
In conclusione, i risultati migliori si ottengono usando la scala
logaritmica per le feature. Si possono usare i MFCC, ma i risultati migliori si
ottengono con le feature basate sullo spettro.
Hidden Markov Model (HMM)
Un Hidden Markov Model è un modello temporale probabilistico in cui
lo stato del processo è decritto da una singola variabile casuale discreta, i cui
possibili valori corrispondono agli stati possibili del mondo [5].
I modelli di Markov si definiscono come automi a stati finiti descritti
dalle probabilità di transizione degli stati; godono inoltre della proprietà di
causalità, infatti, uno stato dipende solo dallo stato precedente.
Tradizionalmente gli stati sono visibili in quanto è sempre noto lo stato del
sistema. Nelle HMM, invece, l’esatta sequenza di transizione degli stati in un
CAPITOLO 2 Lo stato dell’arte 20
sistema non è nota; viene quindi definita una funzione probabilistica che la
rappresenti [3].
Figura 2.3: Esempio di HMM applicato al riconoscimento vocale
Strumento dominante nel riconoscimento vocale, il HMM è utilizzato
anche in applicazioni di classificazione audio. Il HMM descrive un processo
stocastico con variabili nascoste che produce i dati osservabili. Per il problema
del riconoscimento vocale, il presupposto fondamentale del HMM è che il
segnale vocale può essere ben modellato come un processo parametrico
casuale, e i parametri corrispondenti possono essere stimati in maniera ben
definita.
Una HMM è definita dai seguenti elementi:
• Il numero di stati ;
• Il numero di elementi osservati (può essere anche infinito nel caso di
valori continui);
• le probabilità di transizione degli stati 𝑎𝑖𝑗 (𝑐𝑜𝑛 𝑖, 𝑗 ∈ {1, … , 𝑁} 𝑒 𝑖 ≠ 𝑗);
• Una distribuzione di probabilità associata ad ogni stato 𝑈(𝑘) (𝑐𝑜𝑛 𝑗 ∈
{1, … , 𝑁} 𝑒 𝑘 ∈ {1, … , 𝑀});
CAPITOLO 2 Lo stato dell’arte 21
Dati questi elementi, la probabilità di osservare un vettore 𝑜𝑡 viene
calcolata con la seguente formula
Per una spiegazione approfondita dei HMM consultare il documento
[8].
Nel documento [11], viene sviluppato un sistema per il riconoscimento
di rumori ambientali basato sul algoritmo HMM. Le prestazioni di questo
sistema sono state testate cercando di classificare cinque tipi di rumore
prodotti da auto, camion, ciclomotore, aereo e treno. Le registrazioni di questi
rumori, usate per addestrare l’algoritmo HMM, sono state prese dal database
MADRAS [13]. L’implementazione pratica dell’algoritmo HMM non è stata
fatta da zero, ma si basa sul software STRUT [12]. STRUT è uno strumento
software per il riconoscimento vocale formato da molte parti indipendenti di
codice che implementano uno specifico step del processo. Sono stati fatti vari
test variando i parametri dell’algoritmo, e si è arrivati ad un riscontro positivo
nel 95,3% dei casi. Per mostrare la bontà dei risultati ottenuti, si è deciso di
ripetere il test con un ascoltatore umano che ha riconosciuto solo il 91,8% dei
rumori. Bisogna però sottolineare il fatto che questi test sono stati fatti con un
numero molto limitato di campioni (43 in tutto) anche a causa delle ridotte
dimensioni del database.
Anche nel lavoro [14] viene proposto un classificatore basato
sull’algoritmo HMM. In questo caso ci si pone il problema di riconoscere il
contesto nel quale ci si trova, piuttosto che il singolo evento sonoro,
analizzando i rumori ambientali di sottofondo. L’audio è stato registrato in
diversi ambienti, diviso in molte parti di poca durata e usato per addestrare e
testare l’applicazione. L’applicazione ha un’architettura client-server ed è
scritta prevalentemente in Java. I risultati ottenuti parlano di un’accuratezza
CAPITOLO 2 Lo stato dell’arte 22
complessiva del 92,27%, mentre per le scene singole si va dal 75% al 100% (i
dati sono consultabili in Tabella 2.5).
Result and Confusion matrix for 11 scenes
Accuracy %
Bus 95 0 5 0 0 0 0 0 0 0 0
Office 0 100 0 0 0 0 0 0 0 0 0
Football Match 0 0 100 0 0 0 0 0 0 0 0
Bar 15 0 0 85 0 0 0 0 0 0 0
Beach 0 0 0 0 100 0 0 0 0 0 0
Car 0 0 0 0 10 85 0 0 5 0 0
Laundrette 0 0 0 0 0 0 100 0 0 0 0
Rail Station 0 0 0 0 0 0 0 90 10 0 0
Street 0 0 0 0 0 0 10 15 75 0 0
Lecture 0 0 0 0 0 0 0 0 15 85 0
Silence 0 0 0 0 0 0 0 0 0 0 100
Overall accuracy: 92.27%
Tabella 2.5: Risultati del classificatore
Support Vector Machines (SVM)
Le Support Vector Machines sono un insieme di metodi di
apprendimento supervisionato per la regressione e la classificazione di
pattern, sviluppati negli anni '90 da Vladimir Vapnik ed il suo team presso i
laboratori Bell AT&T. Appartengono alla famiglia dei classificatori lineari
generalizzati e sono anche note come classificatori a massimo margine, poiché
allo stesso tempo minimizzano l'errore empirico di classificazione e
CAPITOLO 2 Lo stato dell’arte 23
massimizzano il margine geometrico. Possono essere considerate un caso
speciale di regolarizzazione di Tikhonov [1].
Nelle SVM, si fa corrispondere ad ogni vettore degli ingressi un punto;
per classificarli è necessario definire un iperpiano che separi tali punti
trasportando tutto il set degli ingressi tramite una determinata funzione
matematica in una ‘dimensione superiore’ in cui la separazione è molto più
facile [2].
Figura 2.4: Esempio di separazione; aumentando la dimensione può essere più facile.
Vengono costruiti due iperpiani paralleli, uno per ciascuno dei lati
dell’iperpiano che separa i dati: questi delimitano una porzione di spazio in
cui non sono presenti punti; l’iperpiano di separazione `e quello che
massimizza la distanza tra questi due iperpiani paralleli. I vettori che
appartengono agli iperpiani paralleli vengono detti “vettori di supporto”, da
cui appunto il nome del metodo, poiché rappresentano dei punti di sostegno
vincolanti. La generalizzazione del metodo consiste nel prevedere che gli
esempi possano “valicare” gli iperpiani limite, ma si introduce una
penalizzazione ai vincoli del problema di ottimizzazione [3].
Approfondimenti sull’argomento possono essere trovati in [4].
CAPITOLO 2 Lo stato dell’arte 24
Nel documento [15] viene proposto un classificatore audio che
implementa l’algoritmo Support Vector Machine (SVM). Le prestazioni
dell’algoritmo SVM sono confrontate con l’algoritmo Radial basis function
neural network (RBFNN). È stato usato un database generico diviso in cinque
categorie, con file audio ricavati da clip musicali, cartoni animati, film, eventi
sportivi e notiziari. Lo schema proposto ha portato ad un livello di accuratezza
del 92% per l’algoritmo SVM, mentre per l’algoritmo RBFNN la percentuale è
salita al 93%.
Reti neurali
Tradizionalmente il termine rete neurale (o rete neuronale) viene
utilizzato come riferimento ad una rete o ad un circuito di neuroni biologici,
tuttavia ne è affermato l'uso anche in matematica applicata con riferimento alle
reti neurali artificiali, modelli matematici composti di "neuroni" artificiali [17].
Le reti neurali artificiali sono una famiglia di sistemi che tentano di
utilizzare le conoscenze di cui disponiamo sul funzionamento del cervello
umano per risolvere problematiche in settori diversi, quali pattern recognition,
previsione, analisi di dati, ricerca, apprendimento (si addicono a problemi
complessi e non facilmente risolvibili con algoritmi standard). Si basano su
implementazioni che prevedono l’utilizzo di un grande numero di unità
elementari (PE – processing element) molto semplici e interconnessi tra di loro.
Queste unità elementari sono provviste di capacità di elaborazione che può
essere caratterizzata da una funzione, tipicamente non lineare, detta funzione
di attivazione.
In una rete neurale artificiale ogni interconnessione è caratterizzata da
un peso 𝑤 ∈ [−1. .1]. Il peso rappresenta l’influsso che un neurone porta al
CAPITOLO 2 Lo stato dell’arte 25
neurone destinatario della connessione. L’insieme dei pesi rappresenta la
“conoscenza” detenuta dalla rete.
Nei problemi di classificazione l’ingresso è costituito dal vettore delle
caratteristiche dell’oggetto o del fenomeno da classificare e l’uscita è una
variabile a valori discreti che esprime l’appartenenza ad una delle classi
prefissate. Il legame ingresso-uscita realizzato dalla rete dipende
essenzialmente:
- dal tipo di unità elementari (PE), che possono avere struttura interna
più o meno complessa ed avere funzioni di attivazione caratterizzate da
differenti tipi di nonlinearità;
- dall’architettura della rete, ossia dal numero di nodi, dalla struttura e
dall’orientamento delle connessioni;
- dai valori dei parametri interni associati alle unità elementari e alle
connessioni, che devono essere determinati attraverso tecniche di
apprendimento.
Le reti neurali sono addestrabili a implementare un determinato
compito; sono quindi adatte al problema della classificazione.
Figura 2.5: Esempio di rete neurale organizzata in livelli; livello di input, livelli nascosti, livello di output
CAPITOLO 2 Lo stato dell’arte 26
Nel documento [25] viene proposto un sistema di riconoscimento dei
rumori ambientali basato su reti neurali che viene utilizzato per assistere la
guida di mezzi robotizzati con passeggero. Il sistema è progettato per
classificare le seguenti scenari:
- Prossimità di persone: Nessuna persona, persone vicine, persone
lontane dal veicolo.
- Numero di persone: Nessuna persona, poche persone, molte persone.
- Prossimità di automobili: niente auto, auto nelle vicinanze, auto lontane
dal veicolo.
Sono state addestrate tre reti neurali per identificare la presenza di
persone e automobili procedendo con un estrazione dei coefficienti (MFCC,
FFT, …) nel dominio della frequenza e del tempo da campioni sonori
provenienti dell'ambiente. L’esperimento ha dimostrato un tasso di precisione
del 93% nel caso di prossimità di autoveicoli; un 89,7% nel caso di prossimità
di persone, ed un 84,3% per il caso della quantità delle persone nelle vicinanze
del veicolo. Per ottenere i risultati citati, sono state usate 669 registrazioni
sonore di 5 secondi ciascuna, da posizioni differenti all'interno del campus.
2.2.3 Algoritmi di localizzazione
I tradizionali algoritmi per la localizzazione di sorgente sonora
effettuano una stima su dati acquisiti da un array di sensori (nel caso acustico
sono microfoni) in ogni istante temporale, senza tener conto dello stato del
sistema in istanti di tempo precedenti a quello attuale. I metodi che
descriveremo in questa sezione, essenzialmente, sono quelli elencate
precedentemente e cioè i metodi TDE (Time Delay Estimation) e i metodi
diretti.
CAPITOLO 2 Lo stato dell’arte 27
Metodo TDE (indiretto)
L’obiettivo è effettuare una stima del tempo di ritardo (Time delay
estimate – TDE) per ogni coppia di microfoni (TDOA). Questi TDEs si possono
ottenere tramite varie tecniche, tra le quali AEDA (Decomposizione adattativa
agli autovalori) e GCC (Generalized Cross Correlation). Tali tecniche attuano
una trasformazione della raw data in modo da ottenre una funzione tramite la
quale sia possibile stimare i ritardi.
Per un dato tempo di ritardo τ vi sono P misure (dove P è il numero di
coppie microfoniche):
𝑦𝑡(𝜏) = 𝑓 𝑇(𝜏, 𝑋𝑡)
Dove 𝑓 𝑇(∙) è una funzione (dipendente dall’algoritmo scelto) che
trasforma la raw data in una funzione di localizzazione.
Consideriamo ad esempio la stima tramite metodo TDE con tecnica
GCC.
Sia 𝑥 𝑝,𝑖(𝑡) il segnale ricevuto al frame t dal sensore i‐esimo appartenente
alla p‐esima coppia microfonica, sia 𝑋 𝑝,𝑖(𝜔) = 𝐹{𝑥 𝑝,𝑖(𝑡)} la trasformata di
Fourier di 𝑥 𝑝,𝑖(𝑡) e si denoti con [𝑎] 𝑝 il p‐esimo elemento del vettore a. Il p‐
esimo elemento della funzione di localizzazione TDE tramite tecnica GCC sarà
dato da:
in cui 𝐺 𝑝(𝜔) ∈ ℜ+ è un termine di pesatura. Una scelta comune per il
termine di pesatura è la seguente:
chiamata trasformazione PHAT (PHase Align Transform).
CAPITOLO 2 Lo stato dell’arte 28
Per la p‐esima coppia microfonica, il TDE viene stimato nel seguente
modo:
Stimare i TDEs per tutte le coppie microfoniche richiede P ricerche del
massimo in uno spazio monodimensionale rappresentante l’insieme dei
possibili tempi di ritardo.
Per ogni coppia di sensori e per ogni TDE, il luogo geometrico dei punti
in cui si potrebbe trovare la sorgente sonora è una linea in uno spazio
bidimensionale, mentre per uno spazio tridimensionale si tratta di un
iperboloide; in letteratura tecnica vi son vari metodi che trattano le tecniche
per stimare la posizione della sorgente, una di queste ad esempio è la Linear
Intersection (LI) in cui la superficie iperbolica di punti che sono possibili
sorgenti del suono viene approssimata tramite un cono con vertice nel centro
della coppia di microfoni ed usando una quadrupla microfonica (2 coppie
disposte ortogonalmente e con punto medio in comune) si genera idealmente
una retta originata dall’intersezione dei due coni corrispondenti alle coppie.
Rette generate da più quadruple sono, in generale, sghembe (anche in
ambiente anecoico poiché, a causa della finita precisione numerica di calcolo,
il TDOA stimato non coincide esattamente con quello reale); vengono quindi
calcolati i punti a minima distanza tra ogni coppia di rette sghembe e ad ogni
punto gli si da un peso, ogni punto è pesato nella seguente maniera:
Si costruisce una pdf gaussiana per ogni coppia di microfoni P(x,m,s):
o x è la v.a. nel dominio dei tempi di
ritardo o m, valor medio, è il TDOA stimato dalla
coppia
CAPITOLO 2 Lo stato dell’arte 29
o s, varianza, è pari alla varianza dello
stimatore di TDOA (nel caso in esame della GCC‐Phat)
Ogni punto ha un peso W pari alla somma dei valori che il ritardo
geometrico rispetto ad una coppia assume sulla pdf relativa alla stessa coppia
e la stima è ottenuta come somma pesata di tutti i punti a minima distanza e
successiva normalizzazione sulla somma di tutti i pesi dei punti:
in cui 𝑝𝑗,𝑖 è il punto a minima distanza generato dalle rette j e k, ed N è
il numero di quadruple (rette) [16].
Metodo Steered Beamformer (diretto)
Nel caso in cui si utilizzi il metodo diretto la stima viene effettuata
direttamente sulla funzione di localizzazione senza stimare i tempi di ritardo
(TDEs). In tal caso:
𝑓𝑡(𝑙) = 𝑓 𝐷(𝑙, 𝑋𝑡)
in cui l è il vettore posizione, e 𝑓 𝐷(∙) è la funzione di localizzazione
diretta. Notare che in questo caso l’argomento della funzione è un vettore e la
funzione è scalare, al contrario di quanto accadeva per il metodo indiretto in
cui l’argomento della funzione era uno scalare e il valore di ritorno della
funzione era un vettore.
Un esempio di funzione di localizzazione diretta è data dalla SBF
(Frequency averaged output power of a steered beamformer).
CAPITOLO 2 Lo stato dell’arte 30
Sia 𝑋 𝑚(𝜔) = 𝐹{𝑥 𝑚(𝑡)} la trasformata di Fourier dei dati ricevuti dall’m‐
esimo sensore durante il frame temporale t; la funzione di localizzazione
diretta per un dato vettore posizione l è data da:
in cui l’operazione di integrazione viene effettuata nel range delle
frequenze di interesse; 𝑊(𝜔) ∈ ℜ+ è un termine di pesatura, e
𝐻 𝑚(𝑙, 𝜔) = 𝑎 𝑚 𝑒𝑗𝜔𝑐−1(|𝑙−𝑙 𝑚−𝑑 𝑟𝑒𝑓|)
è una funzione di pesatura complessa per l’m‐esimo sensore in cui 𝑎 𝑚 ∈
ℜ è il guadagno del segnale proveniente dal sensore m‐esimo, 𝑙 𝑚 la posizione
dell’m‐esimo sensore e 𝑑 𝑟𝑒𝑓 la distanza da un punto di riferimento (tipicamente
viene scelto il centro dell’array di sensori).
La stima della posizione della sorgente viene effettuata nel seguente
modo:
𝑙 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑦𝑡(𝑙)
Stimare la posizione sorgente richiede una ricerca multidimensionale
nello spazio rappresentante le possibili posizioni della sorgente sonora e
quindi un maggior costo computazionale rispetto al metodo indiretto; il
metodo diretto però non richiede il passo intermedio di stima dei tempi di
ritardo [16].
CAPITOLO 2 Lo stato dell’arte 31
2.3 Programmi e prodotti esistenti
I seguenti programmi sono in grado di riconoscere delle particolari
risorse audio. La maggior parte di questi programmi sono specializzati solo
nel riconoscimento di poche categorie di suoni o, addirittura di una sola.
Audio Analytic12 : è un’azienda che si occupa di sicurezza e opera
principalmente in ambito ospedaliero e carcerario. Il prodotto principale è il
software Audio Analytic CoreLogger al quale si possono aggiungere diversi
moduli. Sul sito del produttore questo prodotto viene descritto come: “Audio
Analytics CoreLogger fornisce un insieme di funzionalità per la classificazione del
suono. Il framework può essere utilizzato: per rilevare una varietà di suoni in
condizioni di rumore a seconda dei pacchetti che vengono installati. I nostri Sound
Pack sono progettati dai nostri tecnici esperti per essere estremamente leggeri, in
genere sulle poche decine di Kilobyte, per assicurarsi che possano essere inseriti anche
in progetti hardware con specifiche molto basse. Nonostante le basse dimensioni i
Sound Pack hanno tassi molto bassi di falsi positivi e sono resistenti al rumore di
fondo.”
Per il momento i moduli disponibili sono: Aggression, Car Alarm, Glass
Breakage (beta) e Key Words (beta).
Questi prodotti non sono vendibili in licenze individuali, per il
momento collaborano con vari partner per portare questi prodotti sul mercato
in futuro.
Signalogic13: esegue il riconoscimento automatico dei contenuti audio
da fonti analogiche o file digitali. Come esempio di applicazioni si può citare
il riconoscimento musicale, il rilevamento e la violazione del copyright. I
contenuti possono essere fonti analogiche, per esempio gli ingressi radio o la
12
sito web: http://www.audioanalytic.com/
13
sito web: http://www.signalogic.com/
CAPITOLO 2 Lo stato dell’arte 32
televisione, digitale, per esempio di rete (Ethernet), telefonia, connessioni ad
alta velocità, o file nei formati WAV, MP3, ecc.
ShotSpotter14: ShotSpotter è il leader mondiale nei sistemi di rilevazione
e localizzazione di spari di arma da fuoco per polizia/forze dell'ordine, la
sicurezza e la difesa. In pratica, grazie a una rete di microfoni e alle
triangolazioni realizzate mediante il sistema GPS, il computer della polizia
viene avvisato quando da questo particolare “orecchio elettronico” viene udito
un suono riconosciuto come uno sparo. Il sistema individua il luogo con buona
precisione ed avvisa gli agenti più vicini, che riescono a intervenire sul posto
e catturare un criminale spesso ancora in flagranza di reato. Funzionamento
[7]:
- Un colpo è stato sparato da qualche parte in città. Il sensore 1 raccoglie
il suono dello sparo. Dal momento che ogni sensore acustico ha un
raggio di circa 2 miglia, tutto quello che sappiamo al momento è che il
colpo è stato sparato in un raggio di due miglia dal sensore 1.
Figura 2.6: Il sensore 1 rileva uno sparo
- Un secondo dopo, un secondo sensore raccoglie le onde sonore di un
colpo di pistola. Se il suono in questa città viaggia a circa 0,21 miglia al
secondo, ora sappiamo che il colpo è stato sparato circa un quinto di
miglio più lontano dal sensore 2 che dal sensore 1. Siamo in grado di
disegnare un cerchio che rappresenta il raggio di percezione del sensore
14
sito web: http://www.shotspotter.com/
CAPITOLO 2 Lo stato dell’arte 33
2 che si sovrappone al raggio percezione del sensore 1 - dal momento
che entrambi i sensori raccolgono l’onda sonora, il colpo deve essere
stato sparato nell’area, dove i raggi si sovrappongono. Abbiamo due
possibili sedi lo sparo, ovvero dove i due cerchi si intersecano.
Figura 2.7: Il secondo sensore limita l'area
- Per scoprire quale di questi due punti è la posizione da cui è stato
sparato il colpo, abbiamo bisogno di trovare un terzo sensore, che
raccoglie il rumore dello sparo. Un terzo sensore, che si trova a sud dei
sensori 1 e 2, raccoglie le onde sonore mezzo secondo dopo che il
sensore 2 le ha rilevate. Questo metterebbe l'origine del suono circa un
decimo di un miglio più lontano dal sensore 3 che dal sensore 2.
Figura 2.8: Con un terzo sensore si trova la posizione esatta
- Ora abbiamo la nostra posizione, almeno in termini di distanza dai
sensori. Il sistema usa poi un ricevitore GPS integrato per convertire il
punto in latitudine e longitudine, e passa le informazioni alla stazione
più vicina che le inoltra a sua volta alla stazione di polizia più vicina
(che è in grado di convertire le coordinate in un indirizzo).
CAPITOLO 2 Lo stato dell’arte 34
Di questa tecnologia ha parlato la rivista Wired (nel numero di aprile
2007); molti dipartimenti di polizia, dove la situazione è divenuta insostenibile
(Oakland: omicidi in aumento dl 68%, in totale 148 in un solo anno), hanno
deciso di affidarsi a questa tecnologia. In particolare il dipartimento di
Oakland ha speso 350,000$ per 84 sensori ShotSpotter da installare sui tetti,
pali della luce e altri luoghi poco appariscenti. Da allora, arrivano al
dipartimento circa una dozzina di avvisi automatici al giorno. Le uniche
statistiche legate direttamente al dispositivo riguardano la cittadina di
Redwood, nella quale sono stati eseguiti i test. Questa città era conosciuta per
la brutta abitudine di festeggiare il 4 luglio e l’anno nuovo sparando in aria;
dopo l’installazione dei sensori, i colpi di pistola sono diminuiti del 75%15.
Una versione portatile del sistema, intanto, è stata utilizzata anche dai
militari americani per difendersi dai cecchini in zona di guerra.
Resta un unico problema: la privacy. ShotSpotter Inc. assicura che la
privacy dei cittadini è garantita; l’”orecchio elettronico” ascolta solo i colpi
d’arma da fuoco, non si attiva per altri suoni e rumori e quindi per la semplice
voce umana. Inoltre, se anche catturasse del parlato, questo sarebbe
inintelliggibile, perché il sistema è tarato per rendere solo il suono dello sparo
e scartare il resto. Ultima precisazione, i microfoni sono normalmente piazzati
in cima a tetti, pali, cabine telefoniche: in posti dove possono captare l’arma da
fuoco ma non certo i passanti che parlano.
SENTRI16: Il sistema SENTRI sviluppato da Theodore Berger, direttore
della University Southern California, è stato addestrato a riconoscere
istantaneamente il suono di un colpo di pistola all'interno di un raggio di due
15
Per approfondimenti consultare l’articolo sul sito http://www.wired.com/
16
sito web: SENTRI System
CAPITOLO 2 Lo stato dell’arte 35
isolati con elevata accuratezza. Il sistema SENTRI può individuare da dove è
stato sparato il colpo, zoomare e fotografare il tiratore e anche effettuare una
chiamata al 911. I quattro microfoni del sistema sono in grado di distinguere i
colpi di pistola da altri rumori come il traffico misurando il livello di decibel
di un proiettile che viene sparato da una pistola, e confrontandolo con dei
campioni presenti nella sua libreria. L’aggiunta del SENTRI ad una telecamera
di sorveglianza esistente non è a buon mercato. I costi del sistema oscillano tra
i $ 4.000 e $ 10.000 per unità.
Figura 2.9: Esempio di sistema SENTRI installato sulle strade di Los Angeles
A.I.Tech 17 : Event detection through Audio Recognition (EAR) è
un'applicazione che attraverso l’elaborazione del segnale audio acquisito
tramite uno o più microfoni installati nell'ambiente consente di riconoscere e
segnalare l'occorrenza di eventi di interesse quali ad esempio "sparo", "urla",
"vetri infranti", "voce", ecc. Il sistema può essere adattato alle diverse esigenze
applicative mediante la selezione tra un insieme ampio di eventi di interesse
pre-configurati. Il sistema consente all'utente di poter espandere l'insieme dei
17
sito web: http://www.aitech-solutions.eu/
CAPITOLO 2 Lo stato dell’arte 36
suoni riconoscibili attraverso una procedura guidata di addestramento e di
poter definire nuovi eventi per composizione di eventi semplici. Inoltre,
installando più microfoni nell'ambiente il sistema è in grado di garantire
migliori prestazioni facendo cooperare i diversi sensori, nonché di fornire una
stima della posizione della sorgente sonora che ha generato l'evento
nell'ambiente sorvegliato. Questa tecnologia può essere utilizzata, tra gli altri,
per i seguenti scopi di sorveglianza automatica:
o Segnalazione di situazioni di pericolo in diversi contesti come ad
esempio:
 luoghi pubblici quali stazioni, uffici, centri commerciali,
parcheggi mediante riconoscimento di eventi come spari,
rottura di vetri, urla, clacson, stridio pneumatici, ...
 ambienti privati quali abitazioni mediante
riconoscimento di eventi come urla, pianti, animali,
rottura di vetri, ...
o In combinazione con sistemi di videosorveglianza per aumentarne
l'affidabilità.
2.4 Distribuzione normale e di Weibull
Queste due distribuzioni meritano un paragrafo a parte poiché
verranno usate per tentare di classificare il tipo di pistola che ha sparato.
CAPITOLO 2 Lo stato dell’arte 37
Distribuzione di Weibull
La distribuzione di Weibull è una distribuzione di probabilità continua
definita sui numeri reali positivi e descritta da due parametri 𝜆 > 0, 𝑘 > 0. Il
parametro è detto parametro di scala, mentre è detto parametro di forma.
La sua densità di probabilità è scritta nella forma
La distribuzione di Weibull è molto usata in ambito ingegneristico per
la sua flessibilità:
- per k = 1, è una esponenziale negativa
- per k = 2, corrisponde alla distrib. di Rayleigh di parametro 2𝜆2.
- per 3.5 < k < 4, è simile ad una gaussiana
Figura 2.10: La figura illustra le varie forme della funzione densità di probabilità al variare dei parametri ,k.
CAPITOLO 2 Lo stato dell’arte 38
Come la distribuzione esponenziale descrive la "durata di vita" di un
fenomeno privo di memoria, così la distribuzione di Weibull può descrivere la
durata di vita per un fenomeno la cui "probabilità di morire" può variare nel
tempo, in funzione di k.
La distribuzione di Weibull viene utilizzata in molti ambiti che trattano
appunto i guasti, coma l'analisi dei guasti, l'analisi di sopravvivenza,
l'ingegneria dell'affidabilità e il controllo della qualità. Viene utilizzata anche
nelle previsioni meteorologiche, come generalizzazione della distribuzione di
Rayleigh [23].
Distribuzione normale
La distribuzione normale è considerata il caso base delle distribuzioni
di probabilità continue a causa del suo ruolo nel teorema del limite centrale.
Più specificamente, assumendo certe condizioni, la somma di n variabili
casuali con media e varianza finite tende a una distribuzione normale al
tendere di n all'infinito. Grazie a questo teorema, la distribuzione normale si
incontra spesso nelle applicazioni pratiche, venendo usata in statistica e nelle
scienze naturali e sociali[1] come un semplice modello per fenomeni
complessi.
La distribuzione normale dipende da due parametri, la media e la
varianza σ2, ed è indicata tradizionalmente con:
𝑁(𝜇; 𝜎2)
La distribuzione normale è caratterizzata dalla seguente funzione di
densità di probabilità, cui spesso si fa riferimento con la dizione curva di Gauss
o gaussiana:
Dove è il valore atteso e σ2 la varianza.
CAPITOLO 2 Lo stato dell’arte 39
Figura 2.11: La figura illustra le varie forme della funzione densità di probabilità al variare dei parametri µ e σ
CAPITOLO 3 Sviluppo dell’applicazione 40
3 Sviluppo
dell’applicazione
Questo secondo capitolo riporta una descrizione
dettagliata dell’applicazione sviluppata. In particolare vengono descritte tutte
le fasi che compongono il programma e le tecniche utilizzate.
Il capitolo, come del resto anche il programma, si divide in due parti; la
prima descrive la parte del programma che usa il GMM come algoritmo di
classificazione, mentre la seconda descrive la parte del programma che usa la
distribuzione di Weibull.
3.1 GMM
L’algoritmo che si andrà a sviluppare è in grado di classificare suoni
appartenenti a sei diverse categorie. Le categorie sono le seguenti:
- Grida di persone
- Spari di pistola
- Vetri che si rompono
- Frenate
- Clacson delle macchine
- Abbaiare dei cani
CAPITOLO 3 Sviluppo dell’applicazione 41
Si è scelto di utilizzare la classificazione GMM perché è già stata testata
con successo in numerosi altri esperimenti di questo tipo, sia per rumori di
tipo impulsivo (spari di pistola, grida), sia per rumori più durevoli nel tempo.
Il programma si divide nelle seguenti fasi principali:
- Estrazione delle feature
- Training
- Confronti
3.1.1 Estrazione delle feature
I file audio messi a disposizione sono divisi tra quelli che servono per il
training dell’algoritmo e quelli che servono per i test.
In questa fase vengono estratte le feature necessarie dai file audio di
training.
I file audio si trovano in diverse cartelle divise per categoria. Il
programma legge un file alla volta e per ognuno fa le seguenti operazioni:
- Legge il file e ricava la FFT (Fast Fourier Transorm) -
Ricava gli MFCC e altre feature specificate in partenza.
- Salva le feature su file, uno per categoria.
3.1.2 Training
Nella fase di training vengono caricate le feature estratte in precedenza
ed eseguito il training dell’algoritmo GMM tramite una funzione messa a
disposizione sul sito di Matlab.
CAPITOLO 3 Sviluppo dell’applicazione 42
3.1.3 Contronto
La fase di confronto consiste nel caricare un file di prova nel quale sono
stati inseriti in maniera casuale i rumori appartenenti a diverse categorie.
L’algoritmo ricava le feature dal file di prova e le confronta con le feature
ottenute dal training tramite la funzione di densità di probabilità. A questo
punto il valore ottenuto passa attraverso una funzione di soglia: se il valore è
sopra la soglia allora viene considerato rilevato, altrimenti viene scartato.
Figura 3.1: Screenshot del programma
3.2 Weibull
Il programma ha il compito di individuare il rumore di spari e di
classificarli secondo il modello di pistola che ha sparato. I modelli presi in
considerazioni sono in tutto sette e sono tra i modelli di pistole più usati in
CAPITOLO 3 Sviluppo dell’applicazione 43
circolazione poiché molti di questi sono in dotazione alle forze dell’ordine. In
particolare i modelli di pistola sono:
- Colt 1911: (detta anche Colt .45 per via del tipo di munizionamento) è
una pistola semi-automatica ad azione singola calibro .45 ACP (calibro
11,43 mm con munizione da 11,43 x 22 mm)
- Beretta 92: è una pistola semi-automatica a chiusura geometrica con
blocco oscillante progettata e costruita dalla Fabbrica d'armi Beretta. Il
calibro è di 9 mm con proiettili da 9 x 19 mm.
- Smith & Wesson 686: La 686 è un revolver calibro .357 Magnum (calibro
9 mm con proiettili da 9 x 33 mm), presenta un telaio resistentissimo,
meccanica è semplice e impeccabile.
- Ruger 44: è un revolver vecchio stile calibro .44 (10,9 mm) molto noto
tra collezionisti.
- MAC 50: è una pistola semi-automatica calibro 9mm con proiettili
9x19mm (come quelli della Beretta 92)
- Jericho 941: è una tipica arma a doppia azione e breve rinculo calibro 9
mm con proiettili .41AE (9 x 22 mm)
- Glock 17: è una pistola semiautomatica prodotta dall'azienda austriaca
Glock calibro 9 mm con proiettili da 9 x 19 mm.
Il programma utilizza la distribuzione di Weibull perché racchiude in
essa diverse distribuzioni ottenibili al variare dei due parametri di scala e di
forma e k. Verranno tuttavia valutate anche altre distribuzioni per poter
effettuare un valido confronto. La scelta di utilizzare le distribuzioni come
metodo di classificazione è dovuta principalmente al tempo di calcolo.
Essendo la densità di probabilità della distribuzione di Weibull ottenibile dalla
conoscenza di due parametri, questi possono essere utilizzati per la
CAPITOLO 3 Sviluppo dell’applicazione 44
classificazione con risultati praticamente istantanei. Inoltre, il risultato può
essere rappresentato su un grafico, cosa che semplifica parecchio la lettura.
Il programma si divide in due fasi principali, la fase di training e il
confronto:
- Training o Training
o Ottimizzazione del training o
Visualizzazione su grafico
- Confronto (con uno sparo registrato da microfono)
3.2.1 Training
Nella fase di training vengono estratti i parametri da un certo numero
di file audio. Questi parametri vengono poi raggruppati secondo un metodo
di clustering. Siccome la fase di training è una fase molto delicata, è possibile
ottimizzarla andando ad escludere quei parametri che la influenzano in modo
negativo.
Training
In questa fase si stima il valore dei due parametri di scala e di forma e
k.
I file audio contenenti gli spari di pistola si trovano in diverse cartelle
divisi per categoria. Il programma legge un file alla volta e per ognuno fa le
seguenti operazioni:
- Legge le ampiezze del file audio
- Trova il picco che corrisponde al momento dello sparo. Per l’analisi
successiva va a considerare solo un determinato numero x di valori
CAPITOLO 3 Sviluppo dell’applicazione 45
dopo il picco e di y valori prima del picco (con x e y specificati
dall’utente). Questo viene fatto per garantire una certa omogeneità
degli spari; infatti non c’è modo di eguagliare la durata di ogni file
audio, il silenzio prima dello sparo, il rimbombo alla fine.
- Considera la sequenza ottenuta come una distribuzione di Weibull e
ottiene i due parametri e k.
- Per ogni coppia di parametri appartenenti alla stessa categoria si calcola
il punto medio. I punti ottenuti (uno per ciascuna categoria) saranno
usati più in la nel programma per valutare l’appartenenza di
un punto ad una categoria. Questo rappresenta il più semplice metodo
di data clustering; si possono usare metodi più raffinati in questa fase.
- Salva due parametri e k in un file di testo diverso per ogni categoria.
La stima dei due parametri e k viene fatta tramite WAFO che è un
toolbox di Matlab per l’analisi statistica.
Ottimizzazione del training
In questa fase si vanno ad individuare tutti quegli spari i cui parametri
sono troppo diversi dal resto del gruppo, causando errori di valutazione.
Questi parametri verranno poi elaborati in maniera diversa o non considerati
affatto nella fase di training.
In questa fase si procede nel modo seguente:
- Per ogni categoria si calcola la distanza media di tutti i punti (la coppia
di parametri)
- Per ogni punto, si calcola la distanza da tutti gli altri punti appartenenti
alla stessa categoria
CAPITOLO 3 Sviluppo dell’applicazione 46
- Se un punto è più distante dalla distanza media della maggior parte dei
punti della categoria, quel punto non viene più considerato.
- A questo punto viene calcolata nuovamente la media per ogni categoria,
e vengono salvati su file tutti i punti rimasti.
Visualizzazione su grafico
I risultati ottenuti vengono visualizzati su grafico oppure valutati con la
matrice di confusione. In questo modo si può valutare la bontà del training. I
risultati del training, come quelli del confronto, verranno valutati nel capitolo
successivo.
Figura 3.2 Screenshot del programma
CAPITOLO 3 Sviluppo dell’applicazione 47
3.2.2 Confronto
Il file audio che si vuole classificare viene caricato dal programma per
poter estrarre i due parametri. La modalità di estrazione è la stessa che avviene
durante la fase di training.
La classificazione avviene confrontando le distanze dai punti medi
ottenuti durante la fase di training; lo sparo viene considerato appartenente
alla categoria di pistole il cui punto medio si trova a minor distanza.
CAPITOLO 4 Risultati 48
4 Risultati
Questo capitolo fornisce tutti i risultati ottenuti dal programma di
classificazione. In particolare, vengono visualizzati i risultati ottenuti al variare
di alcuni parametri interni al programma come, per esempio, l’uso della
trasformata di Fourier. I risultati sono poi commentati specificando pro e
contro.
4.1 GMM
Per testare il sistema di classificazione è stato creato un file audio della
durata di circa 15s e al suo interno sono stati inseriti diversi suoni (2 o 3) in
maniera casuale.
I coefficienti estratti dal file audio, usati per la classificazione sono i
coefficienti MFCC, Zero Crossing Rate, Spectral Centroid.
I risultati ottenuti sono visibili in Tabella [4.1] e [4.2]. Le due tabelle sono
presentate in forma di matrici di confusione.
CAPITOLO 4 Risultati 49
Scream Gun Glass Tire Bark Clacson
Scream 46 0 0 4 0 0
Gun 0 49 0 0 1 0
Glass 0 2 46 0 1 1
Tire 3 0 0 47 0 0
Bark 2 1 0 3 44 0
Clacson 2 0 4 3 0 41
Tabella 4.1: Matrice di confusione della classificazione GMM
Nella prima tabella i risultati sono visualizzati specificando il numero
di file analizzati, mentre nella seconda tabella i risultati sono mostrati
sottoforma di percentuale di successo.
Scream Gun Glass Tire Bark Clacson
Scream 92% 0% 0% 8% 0% 0%
Gun 0% 98% 0% 0% 2% 0%
Glass 0% 4% 92% 0% 2% 2%
Tire 6% 0% 0% 94% 0% 0%
Bark 4% 1% 0% 6% 88% 0%
Clacson 4% 0% 8% 6% 0% 82%
Tabella 4.2: Matrice di confusione della classificazione GMM - valori percentuali
CAPITOLO 4 Risultati 50
I risultati che si ottengono hanno una percentuale media di successo del
91%, che è in linea con quanto ottenuto in ricerche simili.
4.2 Distribuzione di Weibull
La prima parte del paragrafo illustra i risultati del training. Le
percentuali ottenute in questa fase non devono essere considerate nella
valutazione dell’algoritmo poiché questi risultati sono ottenuti da dati noti a
priori. Sono tuttavia molto importanti perché servono a valutare la
configurazione migliore per la fase di training, fase che andrà ad influenzare
tutto quello che segue.
La seconda parte del paragrafo illustra i risultati ottenuti dal confronto.
Questi risultati servono per dare una valutazione sulla bontà dell’algoritmo di
classificazione.
4.2.1 Risultati del training
La stima dei parametri può essere fatta sia nel dominio del tempo sia nel
dominio della frequenza. I risultati seguenti valutano entrambi i casi.
Dominio del tempo
I risultati in questo caso sono ottenuti senza ottimizzazione e sono
illustrati in Tabella 4.3. Anche variando i limiti del training (il numero di
elementi, in questo caso ampiezze, prima e dopo il picco) il risultato non
cambia di molto. In tutti i casi, almeno una categoria non viene rilevata mentre
il massimo è appena al 68%.
CAPITOLO 4 Risultati 51
Visto cosi, il risultato non è dei più incoraggianti, anzi si potrebbe
benissimo dichiarare fallimentare. Ma se si tiene presente che nel calcolo sono
presenti alcuni punti (a volte ne basta uno) che rovinano la media, allora i
risultati possono essere giustificabili.
Risultati del training con vari input
0/2000 500/5000 500/2000 200/2000 200/5000 0/5000
Beretta 67% 67% 67% 67% 67% 67%
Colt 0% 14% 0% 0% 14% 7%
SW 16% 53% 68% 68% 58% 21%
Ruger 24% 0% 5% 19% 0% 0%
MAC 60% 40% 60% 60% 40% 40%
Jericho 47% 40% 33% 47% 53% 40%
Glock 58% 68% 42% 21% 68% 74%
Tabella 4.3: Risultati nel dominio del tempo senza ottimizzazione
Infatti eliminando questi punti dal calcolo, i risultati sono molto più
incoraggianti, come si può chiaramente vedere dai dati in Tabella 4.4. I risultati
migliori si ottengono considerando 5000 elementi dopo il picco per la stima dei
parametri e k (ultima colonna in tabella).
Risultati del training con vari input
0/2000 500/5000 500/2000 200/2000 200/5000 0/5000
Beretta 75% 100% 88% 89% 100% 86%
Colt 80% 23% 17% 27% 31% 83%
SW 40% 77% 93% 79% 75% 77%
CAPITOLO 4 Risultati 52
Ruger 5% 33% 13% 0% 50% 56%
MAC 50% 50% 75% 75% 50% 75%
Jericho 80% 73% 73% 89% 73% 80%
Glock 57% 73% 88% 64% 69% 71%
Tabella 4.4: Risultati nel dominio del tempo con ottimizzazione
Effettuando l’ottimizzazione un’altra volta si ottengono i risultati in
Tabella 4.5. Questi risultati sono chiaramente i migliori con molte categorie che
raggiungono il 100%. In particolare considerando 5000 elementi dopo il picco
si ottengono ottimi risultati dove nessuna categoria è al di sotto del 90%. Da
questa tabella si può notare anche un altro comportamento molto interessante;
i risultati sono peggiori quando si considerano anche elementi prima del picco.
Risultati del training con vari input
0/2000 500/5000 500/2000 200/2000 200/5000 0/5000
Beretta 100% 100% 100% 100% 100% 100%
Colt 88% 80% 70% 78% 91% 90%
SW 90% 73% 50% 82% 100% 90%
Ruger 92% 82% 77% 77% 82% 90%
MAC 100% 0% 67% 100% 0% 100%
Jericho 100% 100% 100% 100% 100% 100%
Glock 67% 89% 100% 89% 90% 100%
Tabella 4.5: Risultati nel dominio del tempo con doppia ottimizzazione
CAPITOLO 4 Risultati 53
L’ultima colonna della Tabella 4.5 viene riproposta sottoforma di
matrice di confusione in Tabella 4.6, con la percentuale di corretta decisione e
il numero di file interessati.
Beretta Colt SW Ruger MAC Jericho Glock
Beretta 100% (6) 0% 0% 0% 0% 0% 0%
Colt 0% 90% (9) 10% (1) 0% 0% 0% 0%
SW 0% 10% (1) 90% (9) 0% 0% 0% 0%
Ruger 0% 10% (1) 0% 90% (9) 0% 0% 0%
MAC 0% 0% 0% 0% 100% (3) 0% 0%
Jericho 0% 0% 0% 0% 0% 100% (7) 0%
Glock 0% 0% 0% 0% 0% 0% 100% (9)
Tabella 4.6: Matrice di confusione del risultato migliore di training
In Figura 4.1 viene proposto per completezza anche il grafico. Le X
rappresentano le medie delle varie categorie, mentre i punti rappresentano i
vari file.
CAPITOLO 4 Risultati 54
Figura 4.1: Grafico del risultato migliore di training ottenuto nel dominio del tempo
Dominio della frequenza
Nel dominio della frequenza i risultati sono abbastanza simili a quelli
nel dominio del tempo. I risultati ottenuti senza ottimizzazione (Tabella 4.7)
sono improponibili non tanto per le percentuali in se (alcune categorie
arrivano al 100%), ma per il fatto che ben due categorie non vengono
riconosciute affatto.
CAPITOLO 4 Risultati 55
Risultati del training con vari input
0/2000 500/5000 500/2000 200/2000 200/5000 0/5000
Beretta 100% 100% 100% 100% 100% 100%
Colt 71% 86% 86% 71% 79% 71%
SW 0% 0% 0% 0% 0% 0%
Ruger 0% 0% 0% 0% 0% 0%
MAC 60% 60% 60% 60% 60% 60%
Jericho 33% 0% 60% 60% 33% 33%
Glock 37% 37% 21% 32% 47% 16%
Tabella 4.7: Risultati nel dominio della frequenza senza ottimizzazione
Con l’ottimizzazione i risultati migliorano di parecchio, con molte
categorie che raggiungono il 100% (Tabella 4.8). Anche nel dominio della
frequenza si può notare che, considerando gli elementi prima del picco, i
risultati sono peggiori.
Risultati del training con vari input
0/2000 500/5000 500/2000 200/2000 200/5000 0/5000
Beretta 100% 100% 100% 100% 100% 100%
Colt 55% 83% 67% 42% 75% 67%
SW 90% 90% 82% 82% 90% 100%
Ruger 100% 100% 20% 79% 92% 100%
MAC 100% 100% 60% 100% 60% 60%
Jericho 83% 75% 55% 100% 69% 62%
CAPITOLO 4 Risultati 56
Glock 57% 27% 40% 20% 36% 40%
Tabella 4.8: Risultati nel dominio della frequenza con ottimizzazione
Con un ulteriore ottimizzazione, i risultati sono lievemente migliori. In
particolare, considerando 2000 elementi dopo il picco, si ottengono i migliori
risultati.
Risultati del training con vari input
0/2000 500/5000 500/2000 200/2000 200/5000 0/5000
Beretta 100% 100% 100% 100% 100% 100%
Colt 70% 100% 100% 86% 100% 100%
SW 86% 100% 90% 90% 100% 100%
Ruger 100% 100% 75% 92% 100% 100%
MAC 100% 100% 60% 100% 60% 60%
Jericho 100% 89% 88% 100% 75% 78%
Glock 100% 36% 9% 42% 50% 64%
Tabella 4.9: Risultati nel dominio della frequenza con doppia ottimizzazione
Come nel caso del dominio del tempo, viene proposta la matrice di
confusione (Tabella 4.10) e il grafico (Figura 4.2) nel caso migliore.
Beretta Colt SW Ruger MAC Jericho Glock
Beretta 100% (9) 0% 0% 0% 0% 0% 0%
Colt 0% 70% (7) 30% (3) 0% 0% 0% 0%
CAPITOLO 4 Risultati 57
SW 0% 14% (1) 86% (6) 0% 0% 0% 0%
Ruger 0% 0% 0% 100% (8) 0% 0% 0%
MAC 0% 0% 0% 0% 100% (2) 0% 0%
Jericho 0% 0% 0% 0% 0% 100% (9) 0%
Glock 0% 0% 0% 0% 0% 0% 100% (9)
Tabella 4.10: Matrice di confusione nel caso migliore di training
Figura 4.2 Grafico del caso migliore di training
CAPITOLO 4 Risultati 58
Per verificare che Weibull sia effettivamente la scelta migliore, la
Tabella 4.11 mette a confronto i risultati migliori con quelli ottenuti tramite la
distribuzione normale. Dai dati in tabella si comprende che, con la
distribuzione di Weibull si ottengono risultati migliori.
frequenza tempo
Normall Weibull Normal Weibull
500/5000 0/2000 0/2000 0/5000
Beretta 100% 100% 100% 100%
Colt 75% 70% 88% 90%
SW 100% 86% 80% 90%
Ruger 100% 100% 64% 91%
MAC 100% 100% 100% 100%
Jericho 75% 100% 100% 100%
Glock 73% 100% 83% 100%
Tabella 4.11: Confronto tra i risultati migliori ottenuti con la distribuzione di Weibull e la
distribuzione normale
CAPITOLO 4 Risultati 59
4.2.2 Risultati della classificazione
Il toolbox Wafo mette a disposizione anche uno script per la creazione
del grafico. Prima di analizzare i risultati ottenuti con il programma descritto
sopra, si andrà a verificare questo sistema è utile al nostro scopo.
Il primo caso riguarda il confronto di due spari provenienti dallo stesso
tipo di pistola (Beretta 92). Le due linee blu sono le distribuzioni di Weibull
calcolate dalle risposte in frequenza (fft) dei due spari. Le linee rosse
rappresentano l’andamento in media (linea continua) del primo sparo, usato
per il confronto, e le relative incertezze (linee tratteggiate).
Figura 4.3 Confronto tra due spari con lo stesso tipo di pistola
Per capire se il risultato è soddisfacente, occorre provare con pistole diverse.
Il confronto tra una Beretta e una Colt produce il seguente risultato:
CAPITOLO 4 Risultati 60
Figura 4.4 Confronto tra due spari con pistole diverse
Il risultato è soddisfacente, ma solo se si considera il confronto tra due
spari di pistola. In questo caso si può affermare che i due spari provengono
dallo stesso tipo di pistola o meno, ma non si po’ affermare quali siano le
pistole in questione.
61
CONCLUSIONI
Conclusione e sviluppi futuri
I risultati ottenuti con la classificazione GMM sono molto incoraggianti.
La percentuale media di successo è stata del 91%, che è comparabile con i
risultati di lavori fatti in un ambito simile.
Con la classificazione mediante la distribuzione di Weibull i risultati
sono stati un po’ più deludenti in quanto molti tipi di pistola venivano confusi
con altri non corretti. Come parziale giustificazione si può ricordare che i file
audio sono stati presi da un database in rete, vista la difficoltà nel riprodurre
il fenomeno, e quindi potrebbero esserci delle incongruenze nella registrazione
del rumore.
I lavoro presentato non è da ritenersi concluso ma può essere preso
come spunto per futuri lavori. Un possibile sviluppo futuro potrebbe essere
quello di valutare il degrado delle prestazioni dell’algoritmo al variare del
rumore. Si potrebbe inoltre cercare di far funzionare il sistema di
classificazione con audio proveniente direttamente da microfono in modalità
real-time.
BIBLIOGRAFIA 62
Bibliografia
[1] Wikipedia: “Macchine a vettori di supporto”
[2] Stijn Van Looy, Thierry Verplancke, Dominique Benoit, Eric Hoste,
Georges Van Maele, Filip De Turck and Johan Decruyenaere: “A novel
approach for prediction of tacrolimus blood concentration in liver transplantation
patients in the intensive care unit through support vector regression”, Ghent
University, 2007
[3] Alessio Bazzica: “Classificazione di elementi audio nei video sportivi”,
pp.3041, 2008
[4] Sciandrone: “ Support Vector Machines – Lezioni”, Dipartimento di Sistemi
e Informatica Università di Firenze, 2006
[5] Stuart J. Russell, Peter Norvig: “Intelligenza artificiale: un approccio
moderno”, pp.188-191, Pearson, 2005
[6] Wei Chu: “Auditory-Based Noise-Robust Audio Classification Algorithms”,
Department of Electrical & Computer Engineering McGill University, pp.2836,
2008
[7] Julia Layton: “How can acoustics technology help police locate gunshots?”,
HowStuffWorks.com
[8] Rabiner, Juang: “An introduction to hidden Markov models”, IEEE ASSP
Magazine, 1986
[9] Dufaux, Besacier, Ansorge, Pellandini: “Automatic sound detection and
recognition for noisy environment”, Institute of Microtechnology, University
of Neuchâtel
BIBLIOGRAFIA 63
[10] O. Cappe: “h2m : A set of MATLAB functions for the EM estimation of hidden
Markov models with Gaussian state-conditional distributions”, ENST/Paris
[11] Gaunard, Mubikangiey, Couvreur, Fontaine: “Automatic Classification of
Environmental Noise Events by Hidden Markov Models”, Faculte
Polytechnique de Mons
[12] TCTS-Multitel, Faculté Polytechnique de Mons, Mons, Belgium: “Step by
Step Guide to Using the Speech Training and Recognition Tool (STRUT)-Users
Guide”, Aug. 1996
[13] D. Dufoumet and P. Jouenne: “MADRAS, an intelligent assistant for noise
recognition”, in Proc. INTER NOISE ’97, Budapest, Hungary, Aug. 1997.
[14] Ma, Smith, Milner: “Environmental Noise Classification for Context-Aware
Applications, School of Computing Sciences”, University of East Anglia Norwich
[15] Kumon, Ito, Nakashima, Shimoda, Ishitobi: “Sound Source Classification
using Support Vector Machine”, Department of Intelligent Mechanical Systems,
Kumamoto University
[16] Dario Soffiati: “Algoritmi Di Localizzazione Di Sorgenti Audio In Presenza
Di Riverbero: Confronto E Implementazione In Tempo Reale” Università “La
Sapienza” Roma, 2008
[17] Wikipedia: “Rete neurale”
[18] Wikipedia: “Zero-Crossing Rate”
[19] Wikipedia: “Mel-frequency cepstrum”
[20] Clavel, Ehrette, and Richard: “Events Detection for an Audio-Based
Surveillance System”, Multimedia and Expo, 2005, IEEE International
Conference
[21] Gerosa, Valenzise, Tagliasacchi, Antonacci, Sarti: “Scream And Gunshot
Detection In Noisy Environments”, Dipartimento di Elettronica e Informazione,
Politecnico di Milano
[22] Yang Cai: “Computing with instinct - Rediscovering artificial intellicence”,
BIBLIOGRAFIA 64
Springer, pp.16-34, 2011
[23] Wikipedia: “Distribuzione di Weibull”
[24] Xiaoxia Zhang, Ying Li: “Environmental Sound Recognition Using
DoubleLevel Energy Detection” College of Mathematics and Computer Science,
Fuzhou University, Fuzhou, China, April 2013
[25] Eduardo Gonzalez Vidal, Ernesto Fredes Zarricueta, Pablo Prieto
Alberto de Souza, Teodiano Bastos-Filho, Edilson de Aguiar, Fernando A.
Auat Cheein: “Sound-based Environment Recognition for Constraining Assistive
Robotic Navigation using Artifcial Neural Networks” Proceedings of Australasian
Conference on Robotics and Automation, 2-4 Dec 2013, University of New
South Wales, Sydney Australia
[26] D. Gerhard, “Audio Signal Classification: History and Current
Techniques”, Technical Report TR-CS 2003-07, 2003.
65
Ringraziamenti
Dedico questa tesi ai miei genitori ed a mio fratello per il sostegno che mi hanno
dato in questi anni.
Ringrazio anche tutti i miei compagni di studio per i loro consigli ed aiuto.
Ringrazio tutti i miei amici che nei momenti più impegnativi hanno sempre
saputo regalarmi parole di incoraggiamento.
Un ringraziamento speciale al mio relatore Massimiliano Nolich, per avermi
dato la possibilità di poter svolgere questo lavoro e per la disponibilità e le pronte
risposte che ho sempre ricevuto da parte sua.

Mais conteúdo relacionado

Semelhante a Sviluppo di metodi per la sorveglianza acustica in ambienti urbani

Ldb Digital Heritage_Barela 02
Ldb Digital Heritage_Barela 02Ldb Digital Heritage_Barela 02
Ldb Digital Heritage_Barela 02laboratoridalbasso
 
Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Valerio Eletti
 
Progettazione e implementazione di un algoritmo per la speaker recognition in...
Progettazione e implementazione di un algoritmo per la speaker recognition in...Progettazione e implementazione di un algoritmo per la speaker recognition in...
Progettazione e implementazione di un algoritmo per la speaker recognition in...Bruno Interlandi
 
BAGGI SensEvolution tailgas uv + nir
BAGGI SensEvolution  tailgas uv + nirBAGGI SensEvolution  tailgas uv + nir
BAGGI SensEvolution tailgas uv + nirUgo Baggi
 
Fonometro - Rumore
Fonometro - RumoreFonometro - Rumore
Fonometro - RumoreDario
 

Semelhante a Sviluppo di metodi per la sorveglianza acustica in ambienti urbani (9)

Ldb Digital Heritage_Barela 02
Ldb Digital Heritage_Barela 02Ldb Digital Heritage_Barela 02
Ldb Digital Heritage_Barela 02
 
Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)
 
Uni ts-11844 cerniglia-2022-02
Uni ts-11844 cerniglia-2022-02Uni ts-11844 cerniglia-2022-02
Uni ts-11844 cerniglia-2022-02
 
Progettazione e implementazione di un algoritmo per la speaker recognition in...
Progettazione e implementazione di un algoritmo per la speaker recognition in...Progettazione e implementazione di un algoritmo per la speaker recognition in...
Progettazione e implementazione di un algoritmo per la speaker recognition in...
 
Tesi
TesiTesi
Tesi
 
TESI 1
TESI 1TESI 1
TESI 1
 
BAGGI SensEvolution tailgas uv + nir
BAGGI SensEvolution  tailgas uv + nirBAGGI SensEvolution  tailgas uv + nir
BAGGI SensEvolution tailgas uv + nir
 
3 manuale operativo-riduzione_rumore_lavoro
3   manuale operativo-riduzione_rumore_lavoro3   manuale operativo-riduzione_rumore_lavoro
3 manuale operativo-riduzione_rumore_lavoro
 
Fonometro - Rumore
Fonometro - RumoreFonometro - Rumore
Fonometro - Rumore
 

Sviluppo di metodi per la sorveglianza acustica in ambienti urbani

  • 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA TESI DI LAUREA IN PROGRAMMAZIONE DEI CALCOLATORI SVILUPPO DI METODI PER LA SORVEGLIANZA ACUSTICA IN AMBIENTI URBANI Laureando: Relatore: Babic David Chiar.mo Prof. Massimiliano Nolich ANNO ACCADEMICO 2012-2013
  • 2.
  • 3. Sommario Il presente documento costituisce un lavoro di documentazione su metodi e algoritmi di riconoscimento e classificazione di segnale acustici. Vista la vastità dell’argomento, ci si concentrerà soprattutto su segnali acustici che possono essere considerati di pericolo, e quindi adatti al campo della videosorveglianza. Viene inoltre presentato il risultato sperimentale di un sistema di riconoscimento di segnali. Tale sistema è in grado di distinguere rumori che appartengono a diverse categorie. Il sistema utilizza l’algoritmo Gaussian Mixture Model (GMM) e alcune distribuzioni statistiche, come quella di Weibull e la Normale, per effettuare l’operazione di riconoscimento.
  • 4.
  • 5. Indice Introduzione.................................................................................................. 1 1 Analisi della scena acustica.................................................................. 3 2 Lo stato dell’arte ..................................................................................... 5 2.1 Database esistenti ........................................................................ 6 2.2 Algoritmi esistenti ....................................................................... 9 2.3 Programmi e prodotti esistenti................................................ 31 2.4 Distribuzione normale e di Weibull........................................ 36 3 Sviluppo dell’applicazione............................................................ 40 3.1 GMM ........................................................................................... 40 3.2 Weibull........................................................................................ 42 4 Risultati.................................................................................................. 48 4.1 GMM ........................................................................................... 48 4.2 Distribuzione di Weibull .......................................................... 50 Conclusione e sviluppi futuri.................................................................. 61 Bibliografia.................................................................................................. 62 Ringraziamenti ........................................................................................ 65
  • 6.
  • 7. 1 Introduzione Con questo lavoro di tesi si cercherà di sviluppare un sistema di audio- sorveglianza che sia utilizzabile in un ambiente urbano. Le finalità di questo progetto possono essere svariate: dalla sorveglianza di edifici per prevenire intrusioni al monitoraggio di incroci pericolosi fino a passare per il rilevamento di spari di pistola in ambienti urbani. Si cercherà di fornire una documentazione non esaustiva sui metodi di elaborazione dei segnali acustici, estrazione di coefficienti, metodi e algoritmi di classificazione. Questo sarà fondamentale per la scelta dell’algoritmo da utilizzare per la classificazione. Si cercherà inoltre di proporre e valutare dei nuovi metodi per classificare segnali acustici. Per illustrare il lavoro fatto si è deciso di suddividere questa tesi nei seguenti capitoli: • il primo capitolo introduce alla storia dell’arte dell’argomento trattato in questa tesi, fornendo numerosi esempi di lavori e ricerche già svolte che saranno prese come spunto per la scelta dell’algoritmo utilizzato; • il secondo capitolo tratta dello sviluppo dell’applicazione mostrando le tecniche utilizzate;
  • 8. 2 • il terzo capitolo fornisce tutti i risultati ottenuti al variare dei parametri utilizzati • l’ultimo capitolo trae le dovute conclusioni del lavoro svolto e indica una strada per lo sviluppo futuro dell’applicazione.
  • 9. CAPITOLO 1 Analisi della scena acustica 3 1 Analisi della scena acustica La classificazione di eventi acustici mira a separare e riconoscere varie categorie di suoni. La ricerca sulla classificazione di eventi acustici è stata fino a dopo tempo fa solitamente effettuata per un numero limitato di classi, come per il parlato/musica, musica/parlato/altro, dove per "altro" si intende qualsiasi tipo di suoni ambientali. Negli ultimi anni, tuttavia, l'interesse nell’area dei Acoustic Event Detection and Classification (Classificazione e Rilevamento di eventi acustici, AED/C) è stata notevolmente aumentata. L'area di AED/C può essere strutturata da diversi livelli semantici. Può riguardare la classificazione di eventi specifici di un certo ambiente, la classificazione di suoni specifici ad una data attività, la generica classificazione del suono, ecc. In tutti i casi, sono presenti un gran numero di suoni ed è necessario limitare il numero di classi considerate. Per questo motivo si cerca di fornire una tassonomia del suono. Un esempio di una tassonomia del suono generale è stata presentata in [26] e può essere vista in Figura 1.1. Si divide i suoni prima cosa in suoni udibili e non udibili. Poi, la parte udibile è ulteriormente suddivisa in rumore, suoni naturale, suoni artificiali, parlato e musica. Esistono altre tassonomie di suoni
  • 10. 4 meno generali di quella presentata a titolo di esempio, che differiscono le une dalle altre in base al contesto nel quel sono utilizzate. Per il contesto di questa tesi potremmo definire una tassonomia dividendo le nostre categorie in suoni impulsivi (spari di pistola, vetri rotti) e non impulsivi (grida, frenate). Figura 1.1: Esempio di tassonomia del suono generale
  • 11. CAPITOLO 2 Lo stato dell’arte 5 2 Lo stato dell’arte Questo primo capitolo espone le scelte preliminari che devono essere fatte prima di poter sviluppare il progetto come, ad esempio, la scelta della base dati per gli effetti sonori e la scelta dell’algoritmo da utilizzare per la classificazione. È anche molto importante venir a conoscenza di tutto il lavoro di ricerca che è già stato fatto su questo argomento. Queste ricerche ci danno modo di valutare i risultati ottenuti con vari algoritmi fornendo preziose informazioni sulla strada da percorrere. Infine è interessante vedere se esistono prodotti commerciali su questo argomento anche se poco utile in fase di sviluppo, in quanto non vengono fornite informazioni su algoritmi e metodi utilizzati. Nel primo paragrafo vengono analizzati vari database di effetti sonori presenti in Internet. Per ognuno di essi viene fornita una breve descrizione e vengono elencati pregi e difetti. Nel secondo paragrafo vengono descritti i vari algoritmi esistenti usati per la classificazione di effetti sonori. Per ognuno di questi algoritmi vengono illustrate anche alcune ricerche svolte da università o enti di ricerca e vengono forniti i risultati ottenuti. Nel terzo paragrafo viene fatta una panoramica dei prodotti o programmi esistenti sul mercato o in attesa di una futura immissione. La descrizione e le prestazioni sono, in questo caso, fornite dal produttore oppure recuperate da riviste specializzate.
  • 12. CAPITOLO 2 Lo stato dell’arte 6 2.1 Database esistenti La prima cosa da fare è procurarsi un buon database di effetti sonori. Questi effetti sonori devono essere omogenei il più possibile, ovvero avere durata simile, frequenza di campionamento e formato identici. Inoltre, devono essere in un numero tale da poter addestrare l’algoritmo in modo corretto e permettere il riconoscimento. Per ottenere questo database si può pensare di registrare il fenomeno in laboratorio oppure di recuperare i rumori da dei database esistenti. Data la difficoltà di ottenere alcuni rumori (registrare spari di pistola in laboratorio sarebbe irrealizzabile), è preferibile affidarsi alla seconda ipotesi. Su Internet esistono numerosi siti che offrono risorse audio scaricabili gratuitamente da utilizzare a piacimento. Tra questi ci sono: • The Freesound Project1 è un database collaborativo di suoni, effetti sonori e file audio (ma non canzoni intere) rilasciati sotto licenza Creative Commons, quindi gratuiti e riutilizzabili a piacere. E' possibile accedere alle risorse navigando gli elenchi del materiale fornito dagli utenti, oppure attraverso ricerca grazie al motore interno. Per accedere ai file non è richiesta la registrazione, mentre gli utenti registrati possono contribuire segnalando o pubblicando propri file audio da condividere con altri utenti, commentando, votando e scaricando le risorse. • Un altro sito molto ricco di risorse è “Soundsnap”2. Soundsnap è una piattaforma per la condivisione di file audio ed effetti sonori per tutti i gusti. Soundsnap mette a disposizione dei navigatori un'enorme raccolta di materiale organizzato in categorie tematiche fornendo la possibilità di ascoltare in anteprima le risorse e concedendo il loro 1 sito web: http://www.freesound.org/ 2 sito web: http://www.soundsnap.com/
  • 13. CAPITOLO 2 Lo stato dell’arte 7 download nei formati .mp3, .wav e talvolta .aiff. Purtroppo è un servizio a pagamento. • FindSound3 è il motore di ricerca per suoni e rumori: dai versi degli animali ai rombi dei motori agli oggetti che s’infrangono. Permette di cercare in una smisurata lista di tipologie di suoni e di scaricarli una volta trovati in diversi formati. • SoundBible4 è una risorsa online dalla quale è possibile ascoltare e scaricare effetti e clip sonori. Il sito è sviluppato con una grafica semplice e accattivante allo stesso tempo, sarà possibile eseguire la ricerca di effetti sonori mediante il motore di ricerca posizionato a destra nella barra laterale oppure sfogliare le liste attraverso le categorie “Free Sound Effects” e “Royalty Free Sounds“. Quest’ultima categoria, Royalty Free Sound, contiene una selezione di effetti sonori liberamente scaricabili ed utilizzabili anche a livello commerciale in quanto rilasciati sotto licenze che ne autorizzano l’uso anche in tal senso. I clip sonori possono essere ascoltati direttamente da browser e successivamente scaricati nei formati WAV e MP3. Tutti questi siti sono dei database collaborativi nei quali qualsiasi utente registrato può contribuire (a parte Findsound che è un motore di ricerca). Sarebbe preferibile avere a disposizione dei database più “professionali” realizzati da qualche università o da enti specializzati in materia. Uno di questi è sicuramente: • Il database DESRA5 comprende un gran numero di suoni prodotti da diverse fonti sonore, con un background completo per ogni file. In 3 sito web: http://www.findsounds.com/ 4 sito web: http://soundbible.com/ 5 sito web: http://www.desra.org/
  • 14. CAPITOLO 2 Lo stato dell’arte 8 questo modo DESRA può contenere una vasta gamma di informazioni acustiche, contestuali, semantiche e comportamentali relative a un singolo suono. È accessibile su Internet ed è utile a ricercatori, ingegneri, sound designer, e musicisti. Il database può essere consultato liberamente con la possibilità di scaricare i file di interesse (non necessita di registrazione). • Sounddogs.com6 è una libreria commerciale online di effetti sonori. Attiva già a partire dal 1997, oggi dispone di oltre 500.000 tra effetti sonori e brani musicali che sono disponibili per il download immediato o sul disco rigido o CD. Offre una vasta gamma di categorie tra cui scegliere l’effetto sonoro desiderato, scaricabile in diversi formati come AIFF, WAV, e MP3. Essendo una libreria commerciale, gli effetti sonori sono a pagamento. Tuttavia, si possono scaricare gratuitamente delle anteprime a minor risoluzione che però vanno più che bene per i nostri scopi. • Altri database sono NTT-AT Ambient Noise Database7 e Sound Ideas8. In particolare Sound Ideas è un archivio contenente una delle più grandi librerie di effetti sonori disponibili in commercio. Ha accumulato gli effetti sonori, che rilascia in raccolte su CD e su disco rigido, attraverso l'acquisizione, accordo esclusivo con studi cinematografici, e la produzione interna. Possono essere acquistate solo collezioni intere con prezzi che variano da 295$ fino a svariate migliaia di dollari. 6 sito web: sounddogs.com 7 sito web: www.ntt-at.com 8 sito web: www.sound-ideas.com
  • 15. CAPITOLO 2 Lo stato dell’arte 9 Il database scelto per questa tesi è il database Sounddogs. Tutti i file audio sono in formato WAV PCM con frequenza di campionamento a 11kHz. 2.2 Algoritmi esistenti I primi studi in questo campo erano concentrati quasi esclusivamente sul riconoscimento (e sintesi) vocale. Queste tecnologie, sviluppatesi a partire dagli anni ’50, per consentire il riconoscimento vocale si sono evolute nel corso degli anni e, grazie anche all’accresciuta capacità di elaborazione dei computer, trovano oggi sempre più ampia applicazione. Per quanto riguarda invece il riconoscimento di altri suoni che non siano voce, le ricerche e i relativi software sono molto meno numerosi e soprattutto molto meno commerciali. Al momento esistono molti lavori nell’area musicale, tra cui la trascrizione musicale, monitoraggio trasmissione brani e rilevazione di plagio, e nel campo della sicurezza, come per esempio l’analisi audio per sistemi di sorveglianza. La maggior parte dei problemi di riconoscimento e di classificazione sono realizzati tramite un processo a tre stadi. 1. Pre-elaborazione dei dati 2. Estrazione delle Feature 3. Classificazione La sequenza di queste tre fasi è mostrata in Figura 1. Pre-elaborazione Estrazione delle Classificazione dei feature dati Figura 2.1: Sequenza tradizionale per la classificazione
  • 16. CAPITOLO 2 Lo stato dell’arte 10 La pre-elaborazione dei dati è il primo passo nel processo di classificazione. Consiste nell'assunzione di un suono da ambiente e il caricamento in un computer. In genere, questo è realizzato con un microfono. In aggiunta, un computer rappresenta i suoni in un formato digitale; il segnale analogico prodotto da un microfono deve quindi essere convertito in un formato digitale tramite campionamento e tecniche di quantizzazione. L’estrazione delle feature viene eseguita per ridurre l'enorme set di dati ottenuti nel passaggio precedente. L’estrazione di feature comporta la selezione di pezzi di dati di input che caratterizzano in modo univoco le informazioni. La scelta delle feature è un punto molto importante e varia a seconda della tipologia di suoni che si vuole caratterizzare. La classificazione è il terzo passo nel processo di riconoscimento. La classificazione consiste nel prendere le feature generate nel passaggio precedente e che collegare ciascuna feature ad una particolare classificazione. Questo può essere fatto in molti modi. Per il riconoscimento del suono, si possono utilizzare diverse tecniche, tra cui Hidden Markov Models, Gaussian Mixture Models e Reti Neurali. Tutte queste tecniche necessitano di una fase di training e di test. Il training dà al sistema una serie di esempi di un particolare elemento, in modo che possa imparare le caratteristiche generali di tale elemento. Poi, quando viene eseguito il test, si può identificare la classe dell'elemento sotto esame. In questo paragrafo si andranno ad elencare le principali feature che si possono estrarre da un file audio ed a descrivere gli algoritmi principali usati nella classificazione audio. Infine si andrà ad elencare una lista di programmi e strumenti che operano in questo campo.
  • 17. CAPITOLO 2 Lo stato dell’arte 11 2.2.1 Estrazione di feature audio per la classificazione I dati utilizzati in ingresso ai sistemi per la classificazione audio hanno solitamente una dimensione troppo elevata per poter essere elaborati. Questo problema viene risolto con l’estrazione di particolari feature che sono d’aiuto per la classificazione. Seguono alcune definizioni di features valutate per essere utilizzate con i classificatori da realizzare. Zero-Crossing Rate Lo zero-crossing rate (ZCR) è una feature fisica temporale che indica la frequenza di cambiamento di segno di un segnale. Questa feature ricorre spesso nelle applicazioni di speech recognition e di information retrieval in ambito musicale. Può essere definita come: con s segnale di lunghezza T e 𝕝 {𝐴} una mappa che vale 1 se l’argomento A è una proposizione vera, altrimenti vale 0 [18]. Crest Factor Il Crest Factor, denominato anche peak-to-average ratio (PAR) o ancora peak-to-average power ratio (PAPR), è una feature fisica per la misura del rapporto di potenza tra i picchi e la media RMS del segnale, ovvero:
  • 18. CAPITOLO 2 Lo stato dell’arte 12 È quindi una quantità adimensionale. Mentre questo quoziente è più semplicemente espresso da un numero razionale positivo, in prodotti commerciali è anche comunemente indicato come il rapporto tra due numeri interi, ad esempio, 2:1. Nelle applicazioni di elaborazione del segnale è spesso espresso in decibel (dB). Spectral Centroid Lo spectral centroid è una misura che ha lo scopo di caratterizzare un determinato spettro audio. Indica il “centro di massa” dello spettro. La feature viene calcolata come media pesata delle frequenze di cui si compone un segnale, utilizzando le ampiezze come pesi: dove x(n) rappresenta il valore ponderato in frequenza, o la grandezza, del numero binario n, e f(n) rappresenta la frequenza centrale di quel numero binario [3]. Mel-frequency cepstral coefficients (MFCCs) Nella elaborazione del suono, il mel-frequency cepstrum9 (MFC) è una rappresentazione dello spettro di potenza a breve termine di un suono, basata 9 In teoria dei segnali, il cepstrum è il risultato della trasformata di Fourier applicata allo spettro in decibel di un segnale. Il suo nome deriva dal capovolgimento delle prime quattro lettere della parola "spectrum". Verbalmente il cepstrum di un segnale è la trasformata di Fourier del logaritmo della trasformata di Fourier del segnale. A volte viene chiamato lo spettro dello spettro. Algoritmicamente: segnale → trasformata di Fourier (FT)→ logaritmo → fase istantanea → trasformata di Fourier → cepstrum.
  • 19. CAPITOLO 2 Lo stato dell’arte 13 su una trasformazione lineare di uno spettro di potenza logaritmica su una scala di mel-frequency non lineare. I Mel-frequency cepstral coefficients (MFCCs) sono coefficienti che collettivamente costituiscono un MFC. Essi sono derivati da un tipo di rappresentazione cepstrale del clip audio (uno "spettro-di-un-spettro" non lineare). La differenza tra il cepstrum e il mel-frequency cepstrum è che in MFC, le bande di frequenza sono equidistanti sulla scala mel10, che approssima meglio la risposta del sistema uditivo umano rispetto alle bande di frequenza linearmente distribuite utilizzate nel cepstrum normale. Questa deformazione in frequenza può permettere una migliore rappresentazione del suono come, per esempio, n compressione audio. I MFCCs sono comunemente utilizzati nei sistemi di riconoscimento vocale, come i sistemi in grado di riconoscere automaticamente i numeri parlati in un telefono. Essi sono comuni anche nel riconoscimento dello speaker. I MFCCs hanno trovato un utilizzo sempre maggiore in applicazioni di recupero delle informazioni musicali quali la classificazione del genere, misure per il confronto audio, ecc [19]. Nel documento [24] viene evidenziato il problema dei MFCC nel rilevare e classificare correttamente diversi tipi di suoni in presenza di rumore. Viene proposta una soluzione che si basa su di una verifica del segnale a doppio livello di energia (Double-level Energy Detection, DED); viene verificata la presenza di un rumore, all’ interno di una sequenza più lunga, prima nel dominio del tempo e, solo in caso di esito positivo, nel dominio della frequenza. Nel caso di doppio esito positivo, vengono estratti i coefficienti MFCC del frame dove è stato rilevato il suono e classificati con l’algoritmo Support Vector Machines (SVM). Il sistema è stato utilizzato per classificare 12 10 La scala mel è una scala di percezione dell'altezza (pitch) di un suono. È una scala che ha una spaziatura lineare sotto 1KHz e spaziatura logaritmica sopra 1KHz.
  • 20. CAPITOLO 2 Lo stato dell’arte 14 varietà di uccelli. Sono stati registrati 20 campioni per ogni specie di uccello, ai quali è stato aggiunto del rumore con differente rapporto Segnale-Rumore (SNR). Sono stati messi a confronto i risultati ottenuti grazie all’estrazione dei coefficienti MFCC considerando il dominio del tempo (TED_MFCC), il dominio in frequenza (FED_MFCC) e la loro combinazione (DED_MFCC). I risultati della classificazione corrispondenti al differente SNR sono riportati in tabella [1]. feature Signal Noise Ratio (SNR) 60 dB 50 dB 40 dB 30 dB 20 dB 10 dB MFCC 100.00 90.83 68.33 45.83 37.50 24.17 TED_MFCC 100.00 100.00 91.67 78.33 67.50 43.33 FED_MFCC 100.00 100.00 91.67 85.83 71.67 61.67 DED_MFCC 100.00 100.00 91.67 85.83 71.67 61.67 Tabella 2.1: Percentuale di successo in base alle differenti tecniche di estrazione dei coefficienti ed al variare del SNR I risultati degli esperimenti mostrano che, nel caso di SNR 50 dB e oltre, le quattro modalità di estrazione dei coefficienti non hanno una grande differenza. Ma con l'aumento del rumore, il MFCC ha un forte calo del tasso di riconoscimento. Rispetto al MFCC, TED_MFCC ha un miglioramento fino a circa il 25%, mentre FED_MFCC e DED_MFCC fino a circa 35%. Pertanto, si può vedere dagli esperimenti che FED_MFCC e DED_ MFCC mostrano una robustezza migliore in presenza di un ambiente rumoroso. 2.2.2 Algoritmi classificazione audio I metodi che seguono sono quelli più comunemente usati nella classificazione audio. Per ogni metodo viene fornita solo una breve introduzione, vengono presi in considerazione studi fatti con tali tecniche e vengono fornite le fonti per gli approfondimenti.
  • 21. CAPITOLO 2 Lo stato dell’arte 15 Gaussian mixture model (GMM) Un GMM è un modello probabilistico formato da una combinazione lineare di funzioni di distribuzione gaussiana, chiamate componenti della mistura. I parametri caratterizzanti sono: • La dimensione del problema • Il numero di componenti miste • I momenti 𝜇, 𝐽 vettori di dimensione • Le covarianze 𝐾, 𝐽 matrici di dimensione 𝑛2 • Il vettore dei pesi di dimensione Solitamente un’istanza di parametri viene indicata con la notazione 𝜃 = {⟨𝑤1, 𝜇1, 𝐾1⟩, … , ⟨𝑤 𝑛, 𝜇 𝑛, 𝐾 𝑛⟩}. La probabilità di osservare il campione 𝑋𝑖, dato il modello è 𝐽 𝑃(𝑋𝑖|𝜃) = ∑ 𝑤𝑗 𝑃𝑗(𝑋𝑖|𝜃𝑗) 𝑗=1 Con 𝑤𝑗 = 𝑃(𝑋𝑖 ∈ 𝑗|𝜃𝑗) probabilità, nota a priori, che ogni campione 𝑋𝑖 sia un membro della sola componente [3, 6].
  • 22. CAPITOLO 2 Lo stato dell’arte 16 Figura 2.2: Esempio di output dell’algoritmo usando 15 componenti di mistura. Per classificare i dati, il GMM ha bisogno di un algoritmo di training ed il più usato è l’Expectation Maximization (EM). Tale algoritmo permette l’apprendimento con set di dati incompleti. Nel documento [9] viene affrontato il problema del riconoscimento di suoni impulsivi, come vetri rotti, grida, spari ed esplosioni. Per questo progetto è stato utilizzato un database con più di 800 suoni divisi in sei categorie. Questi suoni provengono da diverse librerie (BBC, Warner, Noisex- 92), mentre alcuni sono stati riprodotti il laboratorio. Sono state messe a confronto due tecniche per il riconoscimento di suoni, Hidden Markov Model (HMM) e Gaussian Mixture Model (GMM). L’implementazione di queste due tecniche è stata fatta in un linguaggio di programmazione mista C/Matlab utilizzando lo strumento h2m [10]. I risultati ottenuti da questo sistema sono visibili in Tabella 2.2.
  • 23. CAPITOLO 2 Lo stato dell’arte 17 SNR (dB) Baddetected Signals (%) GMM Rec. Rate (%) HMM Rec. Rate (%) 70 0 97.32 98.54 60 0 94.88 96.10 50 0 91.71 95.37 40 0 90.93 96.32 30 0 90.89 94.53 20 0 86.54 91.54 10 0 77.02 85.09 0 0,26 63.57 68.30 -10 18,24 44.06 49.15 Tabella 2.2: Prestazione del sistema complessivo di riconoscimento suoni Questo lavoro ha dimostrato che si possono raggiungere buone percentuali di riconoscimento (98% a 70dB, e quasi il 70% a 0dB), anche in condizioni di rumore. L’esperimento [22] ha come obiettivo la classificazione di cinque classi di audio: urla, esplosioni, spari, linguaggio umano di sesso femminile e linguaggio umano di sesso maschile. I dati provengono da fonti diverse in vari formati e in generale non sono privi di rumore. Le fonti includono varie librerie audio, audio proveniente da video in streaming su Internet, ma principalmente i file audio provengono dal database TIMIT11. L’algoritmo usato contiene tre processi: l'estrazione delle feature, la classificazione e il feedback. Il processo di estrazione delle feature include il campionamento dei segnali audio e la trasformazione dei dati in vettori di feature (nel dominio delle frequenze) comprimendoli poi in feature di 11 Sito web: http://www.ldc.upenn.edu/
  • 24. CAPITOLO 2 Lo stato dell’arte 18 dimensioni inferiori. Il processo di classificazione usato è il Gaussian Mixture Model (GMM). I risultati ottenuti sono visibili in Tabella 2.3. Scream Explosion Gunshot Male Female Success Scream 22 0 1 0 0 95.65% Explosion 2 37 6 0 0 82.22% Gunshot 5 7 13 0 0 52.00% Male 2 1 0 52 0 94.54% Female 2 0 1 0 52 94.54% Tabella 2.3: Risultati della classificazione I risultati per i colpi di pistola e le esplosioni non sono molto incoraggianti. Queste due classi sono molto simili nelle loro feature. Utilizzando il modello di feedback è stata modificata la tabella riunendo le due classi in una nuova classe chiamata “blast”. In questo modo si ottiene una percentuale di corretta decisione confrontabile con le altre classi. Lo studio prosegue confrontando i risultati che si ottengono utilizzando feature e metodi diversi. Questa probabilmente è la parte più interessante poiché, avendo a che fare con classi praticamente identiche, ci darà un indicazione su feature e metodi che forniscono prestazioni maggiori. Il primo esperimento riguarda il metodo di costruzione dei vettori di feature. Si ottiene che l’uso di una scala logaritmica invece che lineare nella costruzione dei vettori di feature porta a risultati migliori. Il secondo esperimento riguarda l’uso dei MFCC invece che di feature basate sullo spettro. I MFCC sono usati frequentemente nel campo del riconoscimento vocale e musicale. L'uso di MFCC ha portato a risultati
  • 25. CAPITOLO 2 Lo stato dell’arte 19 leggermente migliori per il linguaggio umano privo di rumore, offrendo però tassi di classificazione peggiori per le altre classi. Quando abbiamo aggiunto i campioni, i risultati sono peggiorati, come si può vedere dalla Tabella 2.4. Scream Explosion Gunshot Male Female Success Scream 20 1 1 0 1 86.96% Explosion 9 30 5 1 0 66.67% Gunshot 2 14 9 0 0 36.00% Male 0 2 1 51 1 92.72% Female 0 0 1 2 52 94.54% Tabella 2.4: Risultati ottenuti con MFCC Questo test è stato effettuato su 203 campioni; ha usato 791 campioni per il training ottenendo una probabilità di corretta decisione vicina al 90%. In conclusione, i risultati migliori si ottengono usando la scala logaritmica per le feature. Si possono usare i MFCC, ma i risultati migliori si ottengono con le feature basate sullo spettro. Hidden Markov Model (HMM) Un Hidden Markov Model è un modello temporale probabilistico in cui lo stato del processo è decritto da una singola variabile casuale discreta, i cui possibili valori corrispondono agli stati possibili del mondo [5]. I modelli di Markov si definiscono come automi a stati finiti descritti dalle probabilità di transizione degli stati; godono inoltre della proprietà di causalità, infatti, uno stato dipende solo dallo stato precedente. Tradizionalmente gli stati sono visibili in quanto è sempre noto lo stato del sistema. Nelle HMM, invece, l’esatta sequenza di transizione degli stati in un
  • 26. CAPITOLO 2 Lo stato dell’arte 20 sistema non è nota; viene quindi definita una funzione probabilistica che la rappresenti [3]. Figura 2.3: Esempio di HMM applicato al riconoscimento vocale Strumento dominante nel riconoscimento vocale, il HMM è utilizzato anche in applicazioni di classificazione audio. Il HMM descrive un processo stocastico con variabili nascoste che produce i dati osservabili. Per il problema del riconoscimento vocale, il presupposto fondamentale del HMM è che il segnale vocale può essere ben modellato come un processo parametrico casuale, e i parametri corrispondenti possono essere stimati in maniera ben definita. Una HMM è definita dai seguenti elementi: • Il numero di stati ; • Il numero di elementi osservati (può essere anche infinito nel caso di valori continui); • le probabilità di transizione degli stati 𝑎𝑖𝑗 (𝑐𝑜𝑛 𝑖, 𝑗 ∈ {1, … , 𝑁} 𝑒 𝑖 ≠ 𝑗); • Una distribuzione di probabilità associata ad ogni stato 𝑈(𝑘) (𝑐𝑜𝑛 𝑗 ∈ {1, … , 𝑁} 𝑒 𝑘 ∈ {1, … , 𝑀});
  • 27. CAPITOLO 2 Lo stato dell’arte 21 Dati questi elementi, la probabilità di osservare un vettore 𝑜𝑡 viene calcolata con la seguente formula Per una spiegazione approfondita dei HMM consultare il documento [8]. Nel documento [11], viene sviluppato un sistema per il riconoscimento di rumori ambientali basato sul algoritmo HMM. Le prestazioni di questo sistema sono state testate cercando di classificare cinque tipi di rumore prodotti da auto, camion, ciclomotore, aereo e treno. Le registrazioni di questi rumori, usate per addestrare l’algoritmo HMM, sono state prese dal database MADRAS [13]. L’implementazione pratica dell’algoritmo HMM non è stata fatta da zero, ma si basa sul software STRUT [12]. STRUT è uno strumento software per il riconoscimento vocale formato da molte parti indipendenti di codice che implementano uno specifico step del processo. Sono stati fatti vari test variando i parametri dell’algoritmo, e si è arrivati ad un riscontro positivo nel 95,3% dei casi. Per mostrare la bontà dei risultati ottenuti, si è deciso di ripetere il test con un ascoltatore umano che ha riconosciuto solo il 91,8% dei rumori. Bisogna però sottolineare il fatto che questi test sono stati fatti con un numero molto limitato di campioni (43 in tutto) anche a causa delle ridotte dimensioni del database. Anche nel lavoro [14] viene proposto un classificatore basato sull’algoritmo HMM. In questo caso ci si pone il problema di riconoscere il contesto nel quale ci si trova, piuttosto che il singolo evento sonoro, analizzando i rumori ambientali di sottofondo. L’audio è stato registrato in diversi ambienti, diviso in molte parti di poca durata e usato per addestrare e testare l’applicazione. L’applicazione ha un’architettura client-server ed è scritta prevalentemente in Java. I risultati ottenuti parlano di un’accuratezza
  • 28. CAPITOLO 2 Lo stato dell’arte 22 complessiva del 92,27%, mentre per le scene singole si va dal 75% al 100% (i dati sono consultabili in Tabella 2.5). Result and Confusion matrix for 11 scenes Accuracy % Bus 95 0 5 0 0 0 0 0 0 0 0 Office 0 100 0 0 0 0 0 0 0 0 0 Football Match 0 0 100 0 0 0 0 0 0 0 0 Bar 15 0 0 85 0 0 0 0 0 0 0 Beach 0 0 0 0 100 0 0 0 0 0 0 Car 0 0 0 0 10 85 0 0 5 0 0 Laundrette 0 0 0 0 0 0 100 0 0 0 0 Rail Station 0 0 0 0 0 0 0 90 10 0 0 Street 0 0 0 0 0 0 10 15 75 0 0 Lecture 0 0 0 0 0 0 0 0 15 85 0 Silence 0 0 0 0 0 0 0 0 0 0 100 Overall accuracy: 92.27% Tabella 2.5: Risultati del classificatore Support Vector Machines (SVM) Le Support Vector Machines sono un insieme di metodi di apprendimento supervisionato per la regressione e la classificazione di pattern, sviluppati negli anni '90 da Vladimir Vapnik ed il suo team presso i laboratori Bell AT&T. Appartengono alla famiglia dei classificatori lineari generalizzati e sono anche note come classificatori a massimo margine, poiché allo stesso tempo minimizzano l'errore empirico di classificazione e
  • 29. CAPITOLO 2 Lo stato dell’arte 23 massimizzano il margine geometrico. Possono essere considerate un caso speciale di regolarizzazione di Tikhonov [1]. Nelle SVM, si fa corrispondere ad ogni vettore degli ingressi un punto; per classificarli è necessario definire un iperpiano che separi tali punti trasportando tutto il set degli ingressi tramite una determinata funzione matematica in una ‘dimensione superiore’ in cui la separazione è molto più facile [2]. Figura 2.4: Esempio di separazione; aumentando la dimensione può essere più facile. Vengono costruiti due iperpiani paralleli, uno per ciascuno dei lati dell’iperpiano che separa i dati: questi delimitano una porzione di spazio in cui non sono presenti punti; l’iperpiano di separazione `e quello che massimizza la distanza tra questi due iperpiani paralleli. I vettori che appartengono agli iperpiani paralleli vengono detti “vettori di supporto”, da cui appunto il nome del metodo, poiché rappresentano dei punti di sostegno vincolanti. La generalizzazione del metodo consiste nel prevedere che gli esempi possano “valicare” gli iperpiani limite, ma si introduce una penalizzazione ai vincoli del problema di ottimizzazione [3]. Approfondimenti sull’argomento possono essere trovati in [4].
  • 30. CAPITOLO 2 Lo stato dell’arte 24 Nel documento [15] viene proposto un classificatore audio che implementa l’algoritmo Support Vector Machine (SVM). Le prestazioni dell’algoritmo SVM sono confrontate con l’algoritmo Radial basis function neural network (RBFNN). È stato usato un database generico diviso in cinque categorie, con file audio ricavati da clip musicali, cartoni animati, film, eventi sportivi e notiziari. Lo schema proposto ha portato ad un livello di accuratezza del 92% per l’algoritmo SVM, mentre per l’algoritmo RBFNN la percentuale è salita al 93%. Reti neurali Tradizionalmente il termine rete neurale (o rete neuronale) viene utilizzato come riferimento ad una rete o ad un circuito di neuroni biologici, tuttavia ne è affermato l'uso anche in matematica applicata con riferimento alle reti neurali artificiali, modelli matematici composti di "neuroni" artificiali [17]. Le reti neurali artificiali sono una famiglia di sistemi che tentano di utilizzare le conoscenze di cui disponiamo sul funzionamento del cervello umano per risolvere problematiche in settori diversi, quali pattern recognition, previsione, analisi di dati, ricerca, apprendimento (si addicono a problemi complessi e non facilmente risolvibili con algoritmi standard). Si basano su implementazioni che prevedono l’utilizzo di un grande numero di unità elementari (PE – processing element) molto semplici e interconnessi tra di loro. Queste unità elementari sono provviste di capacità di elaborazione che può essere caratterizzata da una funzione, tipicamente non lineare, detta funzione di attivazione. In una rete neurale artificiale ogni interconnessione è caratterizzata da un peso 𝑤 ∈ [−1. .1]. Il peso rappresenta l’influsso che un neurone porta al
  • 31. CAPITOLO 2 Lo stato dell’arte 25 neurone destinatario della connessione. L’insieme dei pesi rappresenta la “conoscenza” detenuta dalla rete. Nei problemi di classificazione l’ingresso è costituito dal vettore delle caratteristiche dell’oggetto o del fenomeno da classificare e l’uscita è una variabile a valori discreti che esprime l’appartenenza ad una delle classi prefissate. Il legame ingresso-uscita realizzato dalla rete dipende essenzialmente: - dal tipo di unità elementari (PE), che possono avere struttura interna più o meno complessa ed avere funzioni di attivazione caratterizzate da differenti tipi di nonlinearità; - dall’architettura della rete, ossia dal numero di nodi, dalla struttura e dall’orientamento delle connessioni; - dai valori dei parametri interni associati alle unità elementari e alle connessioni, che devono essere determinati attraverso tecniche di apprendimento. Le reti neurali sono addestrabili a implementare un determinato compito; sono quindi adatte al problema della classificazione. Figura 2.5: Esempio di rete neurale organizzata in livelli; livello di input, livelli nascosti, livello di output
  • 32. CAPITOLO 2 Lo stato dell’arte 26 Nel documento [25] viene proposto un sistema di riconoscimento dei rumori ambientali basato su reti neurali che viene utilizzato per assistere la guida di mezzi robotizzati con passeggero. Il sistema è progettato per classificare le seguenti scenari: - Prossimità di persone: Nessuna persona, persone vicine, persone lontane dal veicolo. - Numero di persone: Nessuna persona, poche persone, molte persone. - Prossimità di automobili: niente auto, auto nelle vicinanze, auto lontane dal veicolo. Sono state addestrate tre reti neurali per identificare la presenza di persone e automobili procedendo con un estrazione dei coefficienti (MFCC, FFT, …) nel dominio della frequenza e del tempo da campioni sonori provenienti dell'ambiente. L’esperimento ha dimostrato un tasso di precisione del 93% nel caso di prossimità di autoveicoli; un 89,7% nel caso di prossimità di persone, ed un 84,3% per il caso della quantità delle persone nelle vicinanze del veicolo. Per ottenere i risultati citati, sono state usate 669 registrazioni sonore di 5 secondi ciascuna, da posizioni differenti all'interno del campus. 2.2.3 Algoritmi di localizzazione I tradizionali algoritmi per la localizzazione di sorgente sonora effettuano una stima su dati acquisiti da un array di sensori (nel caso acustico sono microfoni) in ogni istante temporale, senza tener conto dello stato del sistema in istanti di tempo precedenti a quello attuale. I metodi che descriveremo in questa sezione, essenzialmente, sono quelli elencate precedentemente e cioè i metodi TDE (Time Delay Estimation) e i metodi diretti.
  • 33. CAPITOLO 2 Lo stato dell’arte 27 Metodo TDE (indiretto) L’obiettivo è effettuare una stima del tempo di ritardo (Time delay estimate – TDE) per ogni coppia di microfoni (TDOA). Questi TDEs si possono ottenere tramite varie tecniche, tra le quali AEDA (Decomposizione adattativa agli autovalori) e GCC (Generalized Cross Correlation). Tali tecniche attuano una trasformazione della raw data in modo da ottenre una funzione tramite la quale sia possibile stimare i ritardi. Per un dato tempo di ritardo τ vi sono P misure (dove P è il numero di coppie microfoniche): 𝑦𝑡(𝜏) = 𝑓 𝑇(𝜏, 𝑋𝑡) Dove 𝑓 𝑇(∙) è una funzione (dipendente dall’algoritmo scelto) che trasforma la raw data in una funzione di localizzazione. Consideriamo ad esempio la stima tramite metodo TDE con tecnica GCC. Sia 𝑥 𝑝,𝑖(𝑡) il segnale ricevuto al frame t dal sensore i‐esimo appartenente alla p‐esima coppia microfonica, sia 𝑋 𝑝,𝑖(𝜔) = 𝐹{𝑥 𝑝,𝑖(𝑡)} la trasformata di Fourier di 𝑥 𝑝,𝑖(𝑡) e si denoti con [𝑎] 𝑝 il p‐esimo elemento del vettore a. Il p‐ esimo elemento della funzione di localizzazione TDE tramite tecnica GCC sarà dato da: in cui 𝐺 𝑝(𝜔) ∈ ℜ+ è un termine di pesatura. Una scelta comune per il termine di pesatura è la seguente: chiamata trasformazione PHAT (PHase Align Transform).
  • 34. CAPITOLO 2 Lo stato dell’arte 28 Per la p‐esima coppia microfonica, il TDE viene stimato nel seguente modo: Stimare i TDEs per tutte le coppie microfoniche richiede P ricerche del massimo in uno spazio monodimensionale rappresentante l’insieme dei possibili tempi di ritardo. Per ogni coppia di sensori e per ogni TDE, il luogo geometrico dei punti in cui si potrebbe trovare la sorgente sonora è una linea in uno spazio bidimensionale, mentre per uno spazio tridimensionale si tratta di un iperboloide; in letteratura tecnica vi son vari metodi che trattano le tecniche per stimare la posizione della sorgente, una di queste ad esempio è la Linear Intersection (LI) in cui la superficie iperbolica di punti che sono possibili sorgenti del suono viene approssimata tramite un cono con vertice nel centro della coppia di microfoni ed usando una quadrupla microfonica (2 coppie disposte ortogonalmente e con punto medio in comune) si genera idealmente una retta originata dall’intersezione dei due coni corrispondenti alle coppie. Rette generate da più quadruple sono, in generale, sghembe (anche in ambiente anecoico poiché, a causa della finita precisione numerica di calcolo, il TDOA stimato non coincide esattamente con quello reale); vengono quindi calcolati i punti a minima distanza tra ogni coppia di rette sghembe e ad ogni punto gli si da un peso, ogni punto è pesato nella seguente maniera: Si costruisce una pdf gaussiana per ogni coppia di microfoni P(x,m,s): o x è la v.a. nel dominio dei tempi di ritardo o m, valor medio, è il TDOA stimato dalla coppia
  • 35. CAPITOLO 2 Lo stato dell’arte 29 o s, varianza, è pari alla varianza dello stimatore di TDOA (nel caso in esame della GCC‐Phat) Ogni punto ha un peso W pari alla somma dei valori che il ritardo geometrico rispetto ad una coppia assume sulla pdf relativa alla stessa coppia e la stima è ottenuta come somma pesata di tutti i punti a minima distanza e successiva normalizzazione sulla somma di tutti i pesi dei punti: in cui 𝑝𝑗,𝑖 è il punto a minima distanza generato dalle rette j e k, ed N è il numero di quadruple (rette) [16]. Metodo Steered Beamformer (diretto) Nel caso in cui si utilizzi il metodo diretto la stima viene effettuata direttamente sulla funzione di localizzazione senza stimare i tempi di ritardo (TDEs). In tal caso: 𝑓𝑡(𝑙) = 𝑓 𝐷(𝑙, 𝑋𝑡) in cui l è il vettore posizione, e 𝑓 𝐷(∙) è la funzione di localizzazione diretta. Notare che in questo caso l’argomento della funzione è un vettore e la funzione è scalare, al contrario di quanto accadeva per il metodo indiretto in cui l’argomento della funzione era uno scalare e il valore di ritorno della funzione era un vettore. Un esempio di funzione di localizzazione diretta è data dalla SBF (Frequency averaged output power of a steered beamformer).
  • 36. CAPITOLO 2 Lo stato dell’arte 30 Sia 𝑋 𝑚(𝜔) = 𝐹{𝑥 𝑚(𝑡)} la trasformata di Fourier dei dati ricevuti dall’m‐ esimo sensore durante il frame temporale t; la funzione di localizzazione diretta per un dato vettore posizione l è data da: in cui l’operazione di integrazione viene effettuata nel range delle frequenze di interesse; 𝑊(𝜔) ∈ ℜ+ è un termine di pesatura, e 𝐻 𝑚(𝑙, 𝜔) = 𝑎 𝑚 𝑒𝑗𝜔𝑐−1(|𝑙−𝑙 𝑚−𝑑 𝑟𝑒𝑓|) è una funzione di pesatura complessa per l’m‐esimo sensore in cui 𝑎 𝑚 ∈ ℜ è il guadagno del segnale proveniente dal sensore m‐esimo, 𝑙 𝑚 la posizione dell’m‐esimo sensore e 𝑑 𝑟𝑒𝑓 la distanza da un punto di riferimento (tipicamente viene scelto il centro dell’array di sensori). La stima della posizione della sorgente viene effettuata nel seguente modo: 𝑙 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑦𝑡(𝑙) Stimare la posizione sorgente richiede una ricerca multidimensionale nello spazio rappresentante le possibili posizioni della sorgente sonora e quindi un maggior costo computazionale rispetto al metodo indiretto; il metodo diretto però non richiede il passo intermedio di stima dei tempi di ritardo [16].
  • 37. CAPITOLO 2 Lo stato dell’arte 31 2.3 Programmi e prodotti esistenti I seguenti programmi sono in grado di riconoscere delle particolari risorse audio. La maggior parte di questi programmi sono specializzati solo nel riconoscimento di poche categorie di suoni o, addirittura di una sola. Audio Analytic12 : è un’azienda che si occupa di sicurezza e opera principalmente in ambito ospedaliero e carcerario. Il prodotto principale è il software Audio Analytic CoreLogger al quale si possono aggiungere diversi moduli. Sul sito del produttore questo prodotto viene descritto come: “Audio Analytics CoreLogger fornisce un insieme di funzionalità per la classificazione del suono. Il framework può essere utilizzato: per rilevare una varietà di suoni in condizioni di rumore a seconda dei pacchetti che vengono installati. I nostri Sound Pack sono progettati dai nostri tecnici esperti per essere estremamente leggeri, in genere sulle poche decine di Kilobyte, per assicurarsi che possano essere inseriti anche in progetti hardware con specifiche molto basse. Nonostante le basse dimensioni i Sound Pack hanno tassi molto bassi di falsi positivi e sono resistenti al rumore di fondo.” Per il momento i moduli disponibili sono: Aggression, Car Alarm, Glass Breakage (beta) e Key Words (beta). Questi prodotti non sono vendibili in licenze individuali, per il momento collaborano con vari partner per portare questi prodotti sul mercato in futuro. Signalogic13: esegue il riconoscimento automatico dei contenuti audio da fonti analogiche o file digitali. Come esempio di applicazioni si può citare il riconoscimento musicale, il rilevamento e la violazione del copyright. I contenuti possono essere fonti analogiche, per esempio gli ingressi radio o la 12 sito web: http://www.audioanalytic.com/ 13 sito web: http://www.signalogic.com/
  • 38. CAPITOLO 2 Lo stato dell’arte 32 televisione, digitale, per esempio di rete (Ethernet), telefonia, connessioni ad alta velocità, o file nei formati WAV, MP3, ecc. ShotSpotter14: ShotSpotter è il leader mondiale nei sistemi di rilevazione e localizzazione di spari di arma da fuoco per polizia/forze dell'ordine, la sicurezza e la difesa. In pratica, grazie a una rete di microfoni e alle triangolazioni realizzate mediante il sistema GPS, il computer della polizia viene avvisato quando da questo particolare “orecchio elettronico” viene udito un suono riconosciuto come uno sparo. Il sistema individua il luogo con buona precisione ed avvisa gli agenti più vicini, che riescono a intervenire sul posto e catturare un criminale spesso ancora in flagranza di reato. Funzionamento [7]: - Un colpo è stato sparato da qualche parte in città. Il sensore 1 raccoglie il suono dello sparo. Dal momento che ogni sensore acustico ha un raggio di circa 2 miglia, tutto quello che sappiamo al momento è che il colpo è stato sparato in un raggio di due miglia dal sensore 1. Figura 2.6: Il sensore 1 rileva uno sparo - Un secondo dopo, un secondo sensore raccoglie le onde sonore di un colpo di pistola. Se il suono in questa città viaggia a circa 0,21 miglia al secondo, ora sappiamo che il colpo è stato sparato circa un quinto di miglio più lontano dal sensore 2 che dal sensore 1. Siamo in grado di disegnare un cerchio che rappresenta il raggio di percezione del sensore 14 sito web: http://www.shotspotter.com/
  • 39. CAPITOLO 2 Lo stato dell’arte 33 2 che si sovrappone al raggio percezione del sensore 1 - dal momento che entrambi i sensori raccolgono l’onda sonora, il colpo deve essere stato sparato nell’area, dove i raggi si sovrappongono. Abbiamo due possibili sedi lo sparo, ovvero dove i due cerchi si intersecano. Figura 2.7: Il secondo sensore limita l'area - Per scoprire quale di questi due punti è la posizione da cui è stato sparato il colpo, abbiamo bisogno di trovare un terzo sensore, che raccoglie il rumore dello sparo. Un terzo sensore, che si trova a sud dei sensori 1 e 2, raccoglie le onde sonore mezzo secondo dopo che il sensore 2 le ha rilevate. Questo metterebbe l'origine del suono circa un decimo di un miglio più lontano dal sensore 3 che dal sensore 2. Figura 2.8: Con un terzo sensore si trova la posizione esatta - Ora abbiamo la nostra posizione, almeno in termini di distanza dai sensori. Il sistema usa poi un ricevitore GPS integrato per convertire il punto in latitudine e longitudine, e passa le informazioni alla stazione più vicina che le inoltra a sua volta alla stazione di polizia più vicina (che è in grado di convertire le coordinate in un indirizzo).
  • 40. CAPITOLO 2 Lo stato dell’arte 34 Di questa tecnologia ha parlato la rivista Wired (nel numero di aprile 2007); molti dipartimenti di polizia, dove la situazione è divenuta insostenibile (Oakland: omicidi in aumento dl 68%, in totale 148 in un solo anno), hanno deciso di affidarsi a questa tecnologia. In particolare il dipartimento di Oakland ha speso 350,000$ per 84 sensori ShotSpotter da installare sui tetti, pali della luce e altri luoghi poco appariscenti. Da allora, arrivano al dipartimento circa una dozzina di avvisi automatici al giorno. Le uniche statistiche legate direttamente al dispositivo riguardano la cittadina di Redwood, nella quale sono stati eseguiti i test. Questa città era conosciuta per la brutta abitudine di festeggiare il 4 luglio e l’anno nuovo sparando in aria; dopo l’installazione dei sensori, i colpi di pistola sono diminuiti del 75%15. Una versione portatile del sistema, intanto, è stata utilizzata anche dai militari americani per difendersi dai cecchini in zona di guerra. Resta un unico problema: la privacy. ShotSpotter Inc. assicura che la privacy dei cittadini è garantita; l’”orecchio elettronico” ascolta solo i colpi d’arma da fuoco, non si attiva per altri suoni e rumori e quindi per la semplice voce umana. Inoltre, se anche catturasse del parlato, questo sarebbe inintelliggibile, perché il sistema è tarato per rendere solo il suono dello sparo e scartare il resto. Ultima precisazione, i microfoni sono normalmente piazzati in cima a tetti, pali, cabine telefoniche: in posti dove possono captare l’arma da fuoco ma non certo i passanti che parlano. SENTRI16: Il sistema SENTRI sviluppato da Theodore Berger, direttore della University Southern California, è stato addestrato a riconoscere istantaneamente il suono di un colpo di pistola all'interno di un raggio di due 15 Per approfondimenti consultare l’articolo sul sito http://www.wired.com/ 16 sito web: SENTRI System
  • 41. CAPITOLO 2 Lo stato dell’arte 35 isolati con elevata accuratezza. Il sistema SENTRI può individuare da dove è stato sparato il colpo, zoomare e fotografare il tiratore e anche effettuare una chiamata al 911. I quattro microfoni del sistema sono in grado di distinguere i colpi di pistola da altri rumori come il traffico misurando il livello di decibel di un proiettile che viene sparato da una pistola, e confrontandolo con dei campioni presenti nella sua libreria. L’aggiunta del SENTRI ad una telecamera di sorveglianza esistente non è a buon mercato. I costi del sistema oscillano tra i $ 4.000 e $ 10.000 per unità. Figura 2.9: Esempio di sistema SENTRI installato sulle strade di Los Angeles A.I.Tech 17 : Event detection through Audio Recognition (EAR) è un'applicazione che attraverso l’elaborazione del segnale audio acquisito tramite uno o più microfoni installati nell'ambiente consente di riconoscere e segnalare l'occorrenza di eventi di interesse quali ad esempio "sparo", "urla", "vetri infranti", "voce", ecc. Il sistema può essere adattato alle diverse esigenze applicative mediante la selezione tra un insieme ampio di eventi di interesse pre-configurati. Il sistema consente all'utente di poter espandere l'insieme dei 17 sito web: http://www.aitech-solutions.eu/
  • 42. CAPITOLO 2 Lo stato dell’arte 36 suoni riconoscibili attraverso una procedura guidata di addestramento e di poter definire nuovi eventi per composizione di eventi semplici. Inoltre, installando più microfoni nell'ambiente il sistema è in grado di garantire migliori prestazioni facendo cooperare i diversi sensori, nonché di fornire una stima della posizione della sorgente sonora che ha generato l'evento nell'ambiente sorvegliato. Questa tecnologia può essere utilizzata, tra gli altri, per i seguenti scopi di sorveglianza automatica: o Segnalazione di situazioni di pericolo in diversi contesti come ad esempio:  luoghi pubblici quali stazioni, uffici, centri commerciali, parcheggi mediante riconoscimento di eventi come spari, rottura di vetri, urla, clacson, stridio pneumatici, ...  ambienti privati quali abitazioni mediante riconoscimento di eventi come urla, pianti, animali, rottura di vetri, ... o In combinazione con sistemi di videosorveglianza per aumentarne l'affidabilità. 2.4 Distribuzione normale e di Weibull Queste due distribuzioni meritano un paragrafo a parte poiché verranno usate per tentare di classificare il tipo di pistola che ha sparato.
  • 43. CAPITOLO 2 Lo stato dell’arte 37 Distribuzione di Weibull La distribuzione di Weibull è una distribuzione di probabilità continua definita sui numeri reali positivi e descritta da due parametri 𝜆 > 0, 𝑘 > 0. Il parametro è detto parametro di scala, mentre è detto parametro di forma. La sua densità di probabilità è scritta nella forma La distribuzione di Weibull è molto usata in ambito ingegneristico per la sua flessibilità: - per k = 1, è una esponenziale negativa - per k = 2, corrisponde alla distrib. di Rayleigh di parametro 2𝜆2. - per 3.5 < k < 4, è simile ad una gaussiana Figura 2.10: La figura illustra le varie forme della funzione densità di probabilità al variare dei parametri ,k.
  • 44. CAPITOLO 2 Lo stato dell’arte 38 Come la distribuzione esponenziale descrive la "durata di vita" di un fenomeno privo di memoria, così la distribuzione di Weibull può descrivere la durata di vita per un fenomeno la cui "probabilità di morire" può variare nel tempo, in funzione di k. La distribuzione di Weibull viene utilizzata in molti ambiti che trattano appunto i guasti, coma l'analisi dei guasti, l'analisi di sopravvivenza, l'ingegneria dell'affidabilità e il controllo della qualità. Viene utilizzata anche nelle previsioni meteorologiche, come generalizzazione della distribuzione di Rayleigh [23]. Distribuzione normale La distribuzione normale è considerata il caso base delle distribuzioni di probabilità continue a causa del suo ruolo nel teorema del limite centrale. Più specificamente, assumendo certe condizioni, la somma di n variabili casuali con media e varianza finite tende a una distribuzione normale al tendere di n all'infinito. Grazie a questo teorema, la distribuzione normale si incontra spesso nelle applicazioni pratiche, venendo usata in statistica e nelle scienze naturali e sociali[1] come un semplice modello per fenomeni complessi. La distribuzione normale dipende da due parametri, la media e la varianza σ2, ed è indicata tradizionalmente con: 𝑁(𝜇; 𝜎2) La distribuzione normale è caratterizzata dalla seguente funzione di densità di probabilità, cui spesso si fa riferimento con la dizione curva di Gauss o gaussiana: Dove è il valore atteso e σ2 la varianza.
  • 45. CAPITOLO 2 Lo stato dell’arte 39 Figura 2.11: La figura illustra le varie forme della funzione densità di probabilità al variare dei parametri µ e σ
  • 46. CAPITOLO 3 Sviluppo dell’applicazione 40 3 Sviluppo dell’applicazione Questo secondo capitolo riporta una descrizione dettagliata dell’applicazione sviluppata. In particolare vengono descritte tutte le fasi che compongono il programma e le tecniche utilizzate. Il capitolo, come del resto anche il programma, si divide in due parti; la prima descrive la parte del programma che usa il GMM come algoritmo di classificazione, mentre la seconda descrive la parte del programma che usa la distribuzione di Weibull. 3.1 GMM L’algoritmo che si andrà a sviluppare è in grado di classificare suoni appartenenti a sei diverse categorie. Le categorie sono le seguenti: - Grida di persone - Spari di pistola - Vetri che si rompono - Frenate - Clacson delle macchine - Abbaiare dei cani
  • 47. CAPITOLO 3 Sviluppo dell’applicazione 41 Si è scelto di utilizzare la classificazione GMM perché è già stata testata con successo in numerosi altri esperimenti di questo tipo, sia per rumori di tipo impulsivo (spari di pistola, grida), sia per rumori più durevoli nel tempo. Il programma si divide nelle seguenti fasi principali: - Estrazione delle feature - Training - Confronti 3.1.1 Estrazione delle feature I file audio messi a disposizione sono divisi tra quelli che servono per il training dell’algoritmo e quelli che servono per i test. In questa fase vengono estratte le feature necessarie dai file audio di training. I file audio si trovano in diverse cartelle divise per categoria. Il programma legge un file alla volta e per ognuno fa le seguenti operazioni: - Legge il file e ricava la FFT (Fast Fourier Transorm) - Ricava gli MFCC e altre feature specificate in partenza. - Salva le feature su file, uno per categoria. 3.1.2 Training Nella fase di training vengono caricate le feature estratte in precedenza ed eseguito il training dell’algoritmo GMM tramite una funzione messa a disposizione sul sito di Matlab.
  • 48. CAPITOLO 3 Sviluppo dell’applicazione 42 3.1.3 Contronto La fase di confronto consiste nel caricare un file di prova nel quale sono stati inseriti in maniera casuale i rumori appartenenti a diverse categorie. L’algoritmo ricava le feature dal file di prova e le confronta con le feature ottenute dal training tramite la funzione di densità di probabilità. A questo punto il valore ottenuto passa attraverso una funzione di soglia: se il valore è sopra la soglia allora viene considerato rilevato, altrimenti viene scartato. Figura 3.1: Screenshot del programma 3.2 Weibull Il programma ha il compito di individuare il rumore di spari e di classificarli secondo il modello di pistola che ha sparato. I modelli presi in considerazioni sono in tutto sette e sono tra i modelli di pistole più usati in
  • 49. CAPITOLO 3 Sviluppo dell’applicazione 43 circolazione poiché molti di questi sono in dotazione alle forze dell’ordine. In particolare i modelli di pistola sono: - Colt 1911: (detta anche Colt .45 per via del tipo di munizionamento) è una pistola semi-automatica ad azione singola calibro .45 ACP (calibro 11,43 mm con munizione da 11,43 x 22 mm) - Beretta 92: è una pistola semi-automatica a chiusura geometrica con blocco oscillante progettata e costruita dalla Fabbrica d'armi Beretta. Il calibro è di 9 mm con proiettili da 9 x 19 mm. - Smith & Wesson 686: La 686 è un revolver calibro .357 Magnum (calibro 9 mm con proiettili da 9 x 33 mm), presenta un telaio resistentissimo, meccanica è semplice e impeccabile. - Ruger 44: è un revolver vecchio stile calibro .44 (10,9 mm) molto noto tra collezionisti. - MAC 50: è una pistola semi-automatica calibro 9mm con proiettili 9x19mm (come quelli della Beretta 92) - Jericho 941: è una tipica arma a doppia azione e breve rinculo calibro 9 mm con proiettili .41AE (9 x 22 mm) - Glock 17: è una pistola semiautomatica prodotta dall'azienda austriaca Glock calibro 9 mm con proiettili da 9 x 19 mm. Il programma utilizza la distribuzione di Weibull perché racchiude in essa diverse distribuzioni ottenibili al variare dei due parametri di scala e di forma e k. Verranno tuttavia valutate anche altre distribuzioni per poter effettuare un valido confronto. La scelta di utilizzare le distribuzioni come metodo di classificazione è dovuta principalmente al tempo di calcolo. Essendo la densità di probabilità della distribuzione di Weibull ottenibile dalla conoscenza di due parametri, questi possono essere utilizzati per la
  • 50. CAPITOLO 3 Sviluppo dell’applicazione 44 classificazione con risultati praticamente istantanei. Inoltre, il risultato può essere rappresentato su un grafico, cosa che semplifica parecchio la lettura. Il programma si divide in due fasi principali, la fase di training e il confronto: - Training o Training o Ottimizzazione del training o Visualizzazione su grafico - Confronto (con uno sparo registrato da microfono) 3.2.1 Training Nella fase di training vengono estratti i parametri da un certo numero di file audio. Questi parametri vengono poi raggruppati secondo un metodo di clustering. Siccome la fase di training è una fase molto delicata, è possibile ottimizzarla andando ad escludere quei parametri che la influenzano in modo negativo. Training In questa fase si stima il valore dei due parametri di scala e di forma e k. I file audio contenenti gli spari di pistola si trovano in diverse cartelle divisi per categoria. Il programma legge un file alla volta e per ognuno fa le seguenti operazioni: - Legge le ampiezze del file audio - Trova il picco che corrisponde al momento dello sparo. Per l’analisi successiva va a considerare solo un determinato numero x di valori
  • 51. CAPITOLO 3 Sviluppo dell’applicazione 45 dopo il picco e di y valori prima del picco (con x e y specificati dall’utente). Questo viene fatto per garantire una certa omogeneità degli spari; infatti non c’è modo di eguagliare la durata di ogni file audio, il silenzio prima dello sparo, il rimbombo alla fine. - Considera la sequenza ottenuta come una distribuzione di Weibull e ottiene i due parametri e k. - Per ogni coppia di parametri appartenenti alla stessa categoria si calcola il punto medio. I punti ottenuti (uno per ciascuna categoria) saranno usati più in la nel programma per valutare l’appartenenza di un punto ad una categoria. Questo rappresenta il più semplice metodo di data clustering; si possono usare metodi più raffinati in questa fase. - Salva due parametri e k in un file di testo diverso per ogni categoria. La stima dei due parametri e k viene fatta tramite WAFO che è un toolbox di Matlab per l’analisi statistica. Ottimizzazione del training In questa fase si vanno ad individuare tutti quegli spari i cui parametri sono troppo diversi dal resto del gruppo, causando errori di valutazione. Questi parametri verranno poi elaborati in maniera diversa o non considerati affatto nella fase di training. In questa fase si procede nel modo seguente: - Per ogni categoria si calcola la distanza media di tutti i punti (la coppia di parametri) - Per ogni punto, si calcola la distanza da tutti gli altri punti appartenenti alla stessa categoria
  • 52. CAPITOLO 3 Sviluppo dell’applicazione 46 - Se un punto è più distante dalla distanza media della maggior parte dei punti della categoria, quel punto non viene più considerato. - A questo punto viene calcolata nuovamente la media per ogni categoria, e vengono salvati su file tutti i punti rimasti. Visualizzazione su grafico I risultati ottenuti vengono visualizzati su grafico oppure valutati con la matrice di confusione. In questo modo si può valutare la bontà del training. I risultati del training, come quelli del confronto, verranno valutati nel capitolo successivo. Figura 3.2 Screenshot del programma
  • 53. CAPITOLO 3 Sviluppo dell’applicazione 47 3.2.2 Confronto Il file audio che si vuole classificare viene caricato dal programma per poter estrarre i due parametri. La modalità di estrazione è la stessa che avviene durante la fase di training. La classificazione avviene confrontando le distanze dai punti medi ottenuti durante la fase di training; lo sparo viene considerato appartenente alla categoria di pistole il cui punto medio si trova a minor distanza.
  • 54. CAPITOLO 4 Risultati 48 4 Risultati Questo capitolo fornisce tutti i risultati ottenuti dal programma di classificazione. In particolare, vengono visualizzati i risultati ottenuti al variare di alcuni parametri interni al programma come, per esempio, l’uso della trasformata di Fourier. I risultati sono poi commentati specificando pro e contro. 4.1 GMM Per testare il sistema di classificazione è stato creato un file audio della durata di circa 15s e al suo interno sono stati inseriti diversi suoni (2 o 3) in maniera casuale. I coefficienti estratti dal file audio, usati per la classificazione sono i coefficienti MFCC, Zero Crossing Rate, Spectral Centroid. I risultati ottenuti sono visibili in Tabella [4.1] e [4.2]. Le due tabelle sono presentate in forma di matrici di confusione.
  • 55. CAPITOLO 4 Risultati 49 Scream Gun Glass Tire Bark Clacson Scream 46 0 0 4 0 0 Gun 0 49 0 0 1 0 Glass 0 2 46 0 1 1 Tire 3 0 0 47 0 0 Bark 2 1 0 3 44 0 Clacson 2 0 4 3 0 41 Tabella 4.1: Matrice di confusione della classificazione GMM Nella prima tabella i risultati sono visualizzati specificando il numero di file analizzati, mentre nella seconda tabella i risultati sono mostrati sottoforma di percentuale di successo. Scream Gun Glass Tire Bark Clacson Scream 92% 0% 0% 8% 0% 0% Gun 0% 98% 0% 0% 2% 0% Glass 0% 4% 92% 0% 2% 2% Tire 6% 0% 0% 94% 0% 0% Bark 4% 1% 0% 6% 88% 0% Clacson 4% 0% 8% 6% 0% 82% Tabella 4.2: Matrice di confusione della classificazione GMM - valori percentuali
  • 56. CAPITOLO 4 Risultati 50 I risultati che si ottengono hanno una percentuale media di successo del 91%, che è in linea con quanto ottenuto in ricerche simili. 4.2 Distribuzione di Weibull La prima parte del paragrafo illustra i risultati del training. Le percentuali ottenute in questa fase non devono essere considerate nella valutazione dell’algoritmo poiché questi risultati sono ottenuti da dati noti a priori. Sono tuttavia molto importanti perché servono a valutare la configurazione migliore per la fase di training, fase che andrà ad influenzare tutto quello che segue. La seconda parte del paragrafo illustra i risultati ottenuti dal confronto. Questi risultati servono per dare una valutazione sulla bontà dell’algoritmo di classificazione. 4.2.1 Risultati del training La stima dei parametri può essere fatta sia nel dominio del tempo sia nel dominio della frequenza. I risultati seguenti valutano entrambi i casi. Dominio del tempo I risultati in questo caso sono ottenuti senza ottimizzazione e sono illustrati in Tabella 4.3. Anche variando i limiti del training (il numero di elementi, in questo caso ampiezze, prima e dopo il picco) il risultato non cambia di molto. In tutti i casi, almeno una categoria non viene rilevata mentre il massimo è appena al 68%.
  • 57. CAPITOLO 4 Risultati 51 Visto cosi, il risultato non è dei più incoraggianti, anzi si potrebbe benissimo dichiarare fallimentare. Ma se si tiene presente che nel calcolo sono presenti alcuni punti (a volte ne basta uno) che rovinano la media, allora i risultati possono essere giustificabili. Risultati del training con vari input 0/2000 500/5000 500/2000 200/2000 200/5000 0/5000 Beretta 67% 67% 67% 67% 67% 67% Colt 0% 14% 0% 0% 14% 7% SW 16% 53% 68% 68% 58% 21% Ruger 24% 0% 5% 19% 0% 0% MAC 60% 40% 60% 60% 40% 40% Jericho 47% 40% 33% 47% 53% 40% Glock 58% 68% 42% 21% 68% 74% Tabella 4.3: Risultati nel dominio del tempo senza ottimizzazione Infatti eliminando questi punti dal calcolo, i risultati sono molto più incoraggianti, come si può chiaramente vedere dai dati in Tabella 4.4. I risultati migliori si ottengono considerando 5000 elementi dopo il picco per la stima dei parametri e k (ultima colonna in tabella). Risultati del training con vari input 0/2000 500/5000 500/2000 200/2000 200/5000 0/5000 Beretta 75% 100% 88% 89% 100% 86% Colt 80% 23% 17% 27% 31% 83% SW 40% 77% 93% 79% 75% 77%
  • 58. CAPITOLO 4 Risultati 52 Ruger 5% 33% 13% 0% 50% 56% MAC 50% 50% 75% 75% 50% 75% Jericho 80% 73% 73% 89% 73% 80% Glock 57% 73% 88% 64% 69% 71% Tabella 4.4: Risultati nel dominio del tempo con ottimizzazione Effettuando l’ottimizzazione un’altra volta si ottengono i risultati in Tabella 4.5. Questi risultati sono chiaramente i migliori con molte categorie che raggiungono il 100%. In particolare considerando 5000 elementi dopo il picco si ottengono ottimi risultati dove nessuna categoria è al di sotto del 90%. Da questa tabella si può notare anche un altro comportamento molto interessante; i risultati sono peggiori quando si considerano anche elementi prima del picco. Risultati del training con vari input 0/2000 500/5000 500/2000 200/2000 200/5000 0/5000 Beretta 100% 100% 100% 100% 100% 100% Colt 88% 80% 70% 78% 91% 90% SW 90% 73% 50% 82% 100% 90% Ruger 92% 82% 77% 77% 82% 90% MAC 100% 0% 67% 100% 0% 100% Jericho 100% 100% 100% 100% 100% 100% Glock 67% 89% 100% 89% 90% 100% Tabella 4.5: Risultati nel dominio del tempo con doppia ottimizzazione
  • 59. CAPITOLO 4 Risultati 53 L’ultima colonna della Tabella 4.5 viene riproposta sottoforma di matrice di confusione in Tabella 4.6, con la percentuale di corretta decisione e il numero di file interessati. Beretta Colt SW Ruger MAC Jericho Glock Beretta 100% (6) 0% 0% 0% 0% 0% 0% Colt 0% 90% (9) 10% (1) 0% 0% 0% 0% SW 0% 10% (1) 90% (9) 0% 0% 0% 0% Ruger 0% 10% (1) 0% 90% (9) 0% 0% 0% MAC 0% 0% 0% 0% 100% (3) 0% 0% Jericho 0% 0% 0% 0% 0% 100% (7) 0% Glock 0% 0% 0% 0% 0% 0% 100% (9) Tabella 4.6: Matrice di confusione del risultato migliore di training In Figura 4.1 viene proposto per completezza anche il grafico. Le X rappresentano le medie delle varie categorie, mentre i punti rappresentano i vari file.
  • 60. CAPITOLO 4 Risultati 54 Figura 4.1: Grafico del risultato migliore di training ottenuto nel dominio del tempo Dominio della frequenza Nel dominio della frequenza i risultati sono abbastanza simili a quelli nel dominio del tempo. I risultati ottenuti senza ottimizzazione (Tabella 4.7) sono improponibili non tanto per le percentuali in se (alcune categorie arrivano al 100%), ma per il fatto che ben due categorie non vengono riconosciute affatto.
  • 61. CAPITOLO 4 Risultati 55 Risultati del training con vari input 0/2000 500/5000 500/2000 200/2000 200/5000 0/5000 Beretta 100% 100% 100% 100% 100% 100% Colt 71% 86% 86% 71% 79% 71% SW 0% 0% 0% 0% 0% 0% Ruger 0% 0% 0% 0% 0% 0% MAC 60% 60% 60% 60% 60% 60% Jericho 33% 0% 60% 60% 33% 33% Glock 37% 37% 21% 32% 47% 16% Tabella 4.7: Risultati nel dominio della frequenza senza ottimizzazione Con l’ottimizzazione i risultati migliorano di parecchio, con molte categorie che raggiungono il 100% (Tabella 4.8). Anche nel dominio della frequenza si può notare che, considerando gli elementi prima del picco, i risultati sono peggiori. Risultati del training con vari input 0/2000 500/5000 500/2000 200/2000 200/5000 0/5000 Beretta 100% 100% 100% 100% 100% 100% Colt 55% 83% 67% 42% 75% 67% SW 90% 90% 82% 82% 90% 100% Ruger 100% 100% 20% 79% 92% 100% MAC 100% 100% 60% 100% 60% 60% Jericho 83% 75% 55% 100% 69% 62%
  • 62. CAPITOLO 4 Risultati 56 Glock 57% 27% 40% 20% 36% 40% Tabella 4.8: Risultati nel dominio della frequenza con ottimizzazione Con un ulteriore ottimizzazione, i risultati sono lievemente migliori. In particolare, considerando 2000 elementi dopo il picco, si ottengono i migliori risultati. Risultati del training con vari input 0/2000 500/5000 500/2000 200/2000 200/5000 0/5000 Beretta 100% 100% 100% 100% 100% 100% Colt 70% 100% 100% 86% 100% 100% SW 86% 100% 90% 90% 100% 100% Ruger 100% 100% 75% 92% 100% 100% MAC 100% 100% 60% 100% 60% 60% Jericho 100% 89% 88% 100% 75% 78% Glock 100% 36% 9% 42% 50% 64% Tabella 4.9: Risultati nel dominio della frequenza con doppia ottimizzazione Come nel caso del dominio del tempo, viene proposta la matrice di confusione (Tabella 4.10) e il grafico (Figura 4.2) nel caso migliore. Beretta Colt SW Ruger MAC Jericho Glock Beretta 100% (9) 0% 0% 0% 0% 0% 0% Colt 0% 70% (7) 30% (3) 0% 0% 0% 0%
  • 63. CAPITOLO 4 Risultati 57 SW 0% 14% (1) 86% (6) 0% 0% 0% 0% Ruger 0% 0% 0% 100% (8) 0% 0% 0% MAC 0% 0% 0% 0% 100% (2) 0% 0% Jericho 0% 0% 0% 0% 0% 100% (9) 0% Glock 0% 0% 0% 0% 0% 0% 100% (9) Tabella 4.10: Matrice di confusione nel caso migliore di training Figura 4.2 Grafico del caso migliore di training
  • 64. CAPITOLO 4 Risultati 58 Per verificare che Weibull sia effettivamente la scelta migliore, la Tabella 4.11 mette a confronto i risultati migliori con quelli ottenuti tramite la distribuzione normale. Dai dati in tabella si comprende che, con la distribuzione di Weibull si ottengono risultati migliori. frequenza tempo Normall Weibull Normal Weibull 500/5000 0/2000 0/2000 0/5000 Beretta 100% 100% 100% 100% Colt 75% 70% 88% 90% SW 100% 86% 80% 90% Ruger 100% 100% 64% 91% MAC 100% 100% 100% 100% Jericho 75% 100% 100% 100% Glock 73% 100% 83% 100% Tabella 4.11: Confronto tra i risultati migliori ottenuti con la distribuzione di Weibull e la distribuzione normale
  • 65. CAPITOLO 4 Risultati 59 4.2.2 Risultati della classificazione Il toolbox Wafo mette a disposizione anche uno script per la creazione del grafico. Prima di analizzare i risultati ottenuti con il programma descritto sopra, si andrà a verificare questo sistema è utile al nostro scopo. Il primo caso riguarda il confronto di due spari provenienti dallo stesso tipo di pistola (Beretta 92). Le due linee blu sono le distribuzioni di Weibull calcolate dalle risposte in frequenza (fft) dei due spari. Le linee rosse rappresentano l’andamento in media (linea continua) del primo sparo, usato per il confronto, e le relative incertezze (linee tratteggiate). Figura 4.3 Confronto tra due spari con lo stesso tipo di pistola Per capire se il risultato è soddisfacente, occorre provare con pistole diverse. Il confronto tra una Beretta e una Colt produce il seguente risultato:
  • 66. CAPITOLO 4 Risultati 60 Figura 4.4 Confronto tra due spari con pistole diverse Il risultato è soddisfacente, ma solo se si considera il confronto tra due spari di pistola. In questo caso si può affermare che i due spari provengono dallo stesso tipo di pistola o meno, ma non si po’ affermare quali siano le pistole in questione.
  • 67. 61 CONCLUSIONI Conclusione e sviluppi futuri I risultati ottenuti con la classificazione GMM sono molto incoraggianti. La percentuale media di successo è stata del 91%, che è comparabile con i risultati di lavori fatti in un ambito simile. Con la classificazione mediante la distribuzione di Weibull i risultati sono stati un po’ più deludenti in quanto molti tipi di pistola venivano confusi con altri non corretti. Come parziale giustificazione si può ricordare che i file audio sono stati presi da un database in rete, vista la difficoltà nel riprodurre il fenomeno, e quindi potrebbero esserci delle incongruenze nella registrazione del rumore. I lavoro presentato non è da ritenersi concluso ma può essere preso come spunto per futuri lavori. Un possibile sviluppo futuro potrebbe essere quello di valutare il degrado delle prestazioni dell’algoritmo al variare del rumore. Si potrebbe inoltre cercare di far funzionare il sistema di classificazione con audio proveniente direttamente da microfono in modalità real-time.
  • 68. BIBLIOGRAFIA 62 Bibliografia [1] Wikipedia: “Macchine a vettori di supporto” [2] Stijn Van Looy, Thierry Verplancke, Dominique Benoit, Eric Hoste, Georges Van Maele, Filip De Turck and Johan Decruyenaere: “A novel approach for prediction of tacrolimus blood concentration in liver transplantation patients in the intensive care unit through support vector regression”, Ghent University, 2007 [3] Alessio Bazzica: “Classificazione di elementi audio nei video sportivi”, pp.3041, 2008 [4] Sciandrone: “ Support Vector Machines – Lezioni”, Dipartimento di Sistemi e Informatica Università di Firenze, 2006 [5] Stuart J. Russell, Peter Norvig: “Intelligenza artificiale: un approccio moderno”, pp.188-191, Pearson, 2005 [6] Wei Chu: “Auditory-Based Noise-Robust Audio Classification Algorithms”, Department of Electrical & Computer Engineering McGill University, pp.2836, 2008 [7] Julia Layton: “How can acoustics technology help police locate gunshots?”, HowStuffWorks.com [8] Rabiner, Juang: “An introduction to hidden Markov models”, IEEE ASSP Magazine, 1986 [9] Dufaux, Besacier, Ansorge, Pellandini: “Automatic sound detection and recognition for noisy environment”, Institute of Microtechnology, University of Neuchâtel
  • 69. BIBLIOGRAFIA 63 [10] O. Cappe: “h2m : A set of MATLAB functions for the EM estimation of hidden Markov models with Gaussian state-conditional distributions”, ENST/Paris [11] Gaunard, Mubikangiey, Couvreur, Fontaine: “Automatic Classification of Environmental Noise Events by Hidden Markov Models”, Faculte Polytechnique de Mons [12] TCTS-Multitel, Faculté Polytechnique de Mons, Mons, Belgium: “Step by Step Guide to Using the Speech Training and Recognition Tool (STRUT)-Users Guide”, Aug. 1996 [13] D. Dufoumet and P. Jouenne: “MADRAS, an intelligent assistant for noise recognition”, in Proc. INTER NOISE ’97, Budapest, Hungary, Aug. 1997. [14] Ma, Smith, Milner: “Environmental Noise Classification for Context-Aware Applications, School of Computing Sciences”, University of East Anglia Norwich [15] Kumon, Ito, Nakashima, Shimoda, Ishitobi: “Sound Source Classification using Support Vector Machine”, Department of Intelligent Mechanical Systems, Kumamoto University [16] Dario Soffiati: “Algoritmi Di Localizzazione Di Sorgenti Audio In Presenza Di Riverbero: Confronto E Implementazione In Tempo Reale” Università “La Sapienza” Roma, 2008 [17] Wikipedia: “Rete neurale” [18] Wikipedia: “Zero-Crossing Rate” [19] Wikipedia: “Mel-frequency cepstrum” [20] Clavel, Ehrette, and Richard: “Events Detection for an Audio-Based Surveillance System”, Multimedia and Expo, 2005, IEEE International Conference [21] Gerosa, Valenzise, Tagliasacchi, Antonacci, Sarti: “Scream And Gunshot Detection In Noisy Environments”, Dipartimento di Elettronica e Informazione, Politecnico di Milano [22] Yang Cai: “Computing with instinct - Rediscovering artificial intellicence”,
  • 70. BIBLIOGRAFIA 64 Springer, pp.16-34, 2011 [23] Wikipedia: “Distribuzione di Weibull” [24] Xiaoxia Zhang, Ying Li: “Environmental Sound Recognition Using DoubleLevel Energy Detection” College of Mathematics and Computer Science, Fuzhou University, Fuzhou, China, April 2013 [25] Eduardo Gonzalez Vidal, Ernesto Fredes Zarricueta, Pablo Prieto Alberto de Souza, Teodiano Bastos-Filho, Edilson de Aguiar, Fernando A. Auat Cheein: “Sound-based Environment Recognition for Constraining Assistive Robotic Navigation using Artifcial Neural Networks” Proceedings of Australasian Conference on Robotics and Automation, 2-4 Dec 2013, University of New South Wales, Sydney Australia [26] D. Gerhard, “Audio Signal Classification: History and Current Techniques”, Technical Report TR-CS 2003-07, 2003.
  • 71. 65 Ringraziamenti Dedico questa tesi ai miei genitori ed a mio fratello per il sostegno che mi hanno dato in questi anni. Ringrazio anche tutti i miei compagni di studio per i loro consigli ed aiuto. Ringrazio tutti i miei amici che nei momenti più impegnativi hanno sempre saputo regalarmi parole di incoraggiamento. Un ringraziamento speciale al mio relatore Massimiliano Nolich, per avermi dato la possibilità di poter svolgere questo lavoro e per la disponibilità e le pronte risposte che ho sempre ricevuto da parte sua.