Sviluppo di metodi per la sorveglianza acustica in ambienti urbani

  • 44 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
44
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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.
  • 3. 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
  • 4. 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;
  • 5. 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.
  • 6. 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
  • 7. 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
  • 8. 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.
  • 9. 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/
  • 10. 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/
  • 11. 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
  • 12. 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
  • 13. 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.
  • 14. 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:
  • 15. 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.
  • 16. 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.
  • 17. 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.
  • 18. 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].
  • 19. 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.
  • 20. 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/
  • 21. 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
  • 22. 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
  • 23. 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, … , 𝑀});
  • 24. 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
  • 25. 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
  • 26. 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].
  • 27. 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
  • 28. 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
  • 29. 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.
  • 30. 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).
  • 31. 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
  • 32. 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).
  • 33. 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].
  • 34. 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/
  • 35. 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/
  • 36. 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).
  • 37. 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
  • 38. 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/
  • 39. 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.
  • 40. 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.
  • 41. 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.
  • 42. 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 σ
  • 43. 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
  • 44. 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.
  • 45. 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
  • 46. 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
  • 47. 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
  • 48. 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
  • 49. 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
  • 50. 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.
  • 51. 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.
  • 52. 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
  • 53. 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%.
  • 54. 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%
  • 55. 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
  • 56. 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.
  • 57. 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.
  • 58. 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%
  • 59. 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%
  • 60. 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
  • 61. 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
  • 62. 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:
  • 63. 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.
  • 64. 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.
  • 65. 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
  • 66. 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”,
  • 67. 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.
  • 68. 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.