In the last years, there has been a considerable evolution in human-computer interaction, with large interest in voice-enabled technologies. Besides computers and smartphones, a wide range of embedded systems, from in-car entertainment to various home appliances, are developed today with a Voice User Interface (VUI), that exploits speech recognition techniques to acquire user requests. To develop such applications, information about the speech presence is useful to save transmission bandwidth and to avoid heavy processing of non-speech frames. Techniques employed to detect the presence or absence of human voice in an audio signal are called Voice Activity Detection (VAD) algorithms. Several methods have been proposed to perform this task, that include the ones exploited by telecommunication protocols to save transmission bandwidth and to perform speech enhancement evaluating noise statistics during non-speech frames. Recently, the most accurate results have been achieved with the use of Deep Learning techniques, due to their ability to efficiently map an input to its target category through multiple transformations. The main issues in the use of Deep Neural Networks are memory and computational complexities, that increase with the network depth and size. These are issues of great relevance when performing speech detection on embedded systems. The trade-off between accuracy and computational complexity has been a topic of great interest. Our aim is to propose an approach that optimizes both the phases involved in speech detection: the feature extraction and the classification performed by the deep neural network. The goal is to comply with requirements imposed by embedded systems, generally equipped with limited memory and processing power, also performing causal processing, efficiently extracting features that highly characterize the speech signal, while being flexible to various hardware setups. In this work, we implement two strategies: the former, named Merula, is a lighter solution that exploits manually-engineered features, which capture information about the short-time evolution of the signal, while the latter, named Corvus, exploits the neural network power to extract short-time patterns that are more relevant for the target classification. Both methods exploit a recurrent layer, that models the evolution of the signal over longer time periods, to capture phonemes and their succession. Both techniques exploit a representation of the input that is independent from the sampling rate, resulting suitable with all the rates generally employed in digital audio processing, from 8 kHz to 48 kHz and beyond. Both solutions perform causal processing to meet real-time requirements and are small enough to comply with memory requirements for most of the embedded applications. We test our solutions on various noise conditions comparing the results with some of the state-of-the-art methods. The achieved performances are promising, proving an effectiveness comparable or even greater than the one of state-of-the-art methods, even in highly noisy conditions, employing models that are considerably smaller and therefore characterized by a lower computational complexity.

Negli ultimi anni, vi è stata un'evoluzione significativa nell'interazione uomo-computer, in particolar modo per quanto riguarda le tecnologie di attivazione vocale. Oltre a computer e smartphone, un'ampia gamma di sistemi integrati, dai sistemi di in-car entertainment per le automobili a vari elettrodomestici, sono oggi sviluppati con una Voice User Interface (VUI), che utilizza le tecniche di riconoscimento vocale per acquisire le richieste degli utenti. Per sviluppare tali applicazioni, le informazioni sulla presenza del parlato sono utili per risparmiare banda in trasmissione ed evitare la pesante elaborazione di frame senza parlato. Le tecniche impiegate per rilevare la presenza o l'assenza di voce umana in un segnale audio sono gli algoritmi di c.d. Voice Activity Detection (VAD). Sono stati proposti diversi metodi per eseguire questo compito, tra cui quelli utilizzati dai protocolli delle telecomunicazioni per risparmiare larghezza di banda ed eseguire interventi di miglioramento del parlato valutando le statistiche sul rumore durante i frame senza voce. Recentemente, i risultati più accurati sono stati ottenuti tramite tecniche di Deep Learning, grazie alla capacità di queste di associare efficacemente un input alla sua categoria di destinazione tramite molteplici trasformazioni. Le principali criticità nell'uso di Deep Neural Networks sono le complessità di memoria e computazionali, che aumentano con la profondità e la dimensione della rete. Si tratta di questioni di grande rilevanza quando si esegue il rilevamento di segnale vocale su sistemi integrati. Il compromesso tra l'accuratezza e la complessità computazionale è un argomento di grande interesse. Il nostro obiettivo è proporre un approccio che ottimizzi entrambe le fasi coinvolte nel rilevamento del segnale vocale: l'estrazione delle caratteristiche dall'audio e la classificazione eseguita dalla rete neurale. Lo scopo è soddisfare i requisiti imposti dai sistemi integrati, generalmente dotati di memoria e potenza di elaborazione limitate, anche eseguendo l'elaborazione in modo causale, estraendo efficacemente ed efficientemente le proprietà che caratterizzano in particolar modo il segnale vocale, pur essendo flessibile a varie configurazioni hardware. In questo lavoro, applichiamo due strategie: la prima, denominata Merula, è una soluzione più leggera che utilizza caratteristiche progettate manualmente, le quali catturano informazioni sull'evoluzione del segnale nel breve periodo; la seconda, denominata Corvus, sfrutta la capacità della rete neurale di estrarre modelli che descrivano il segnale nel breve periodo nel modo più attinente alla classificazione. Entrambi i metodi utilizzano uno strato ricorsivo, che modella l'evoluzione del segnale su periodi di tempo più lunghi, per catturare i fonemi e la loro successione. Entrambe le tecniche si avvalgono di una rappresentazione dell'input indipendente dalla frequenza di campionamento, che risulta adatta a tutte le frequenze generalmente impiegate nell'elaborazione audio digitale, da 8 kHz a 48 kHz e oltre. Entrambe le soluzioni eseguono l'elaborazione in modo causale per poter processare in tempo reale e sono di dimensioni abbastanza ridotte da soddisfare i requisiti di memoria della maggior parte dei sistemi integrati. Testiamo le nostre soluzioni in varie condizioni di rumore, confrontandole con alcuni dei metodi di rilevamento vocale più avanzati. Le prestazioni raggiunte sono promettenti in quanto dimostrano un'efficacia paragonabile o addirittura superiore di quella dei metodi più all'avanguardia, anche in condizioni molto rumorose, utilizzando modelli notevolmente più piccoli e quindi contraddistinti da una minore complessità computazionale.

Voice activity detection using small-footprint deep learning

MENESCARDI, LUCA
2018/2019

Abstract

In the last years, there has been a considerable evolution in human-computer interaction, with large interest in voice-enabled technologies. Besides computers and smartphones, a wide range of embedded systems, from in-car entertainment to various home appliances, are developed today with a Voice User Interface (VUI), that exploits speech recognition techniques to acquire user requests. To develop such applications, information about the speech presence is useful to save transmission bandwidth and to avoid heavy processing of non-speech frames. Techniques employed to detect the presence or absence of human voice in an audio signal are called Voice Activity Detection (VAD) algorithms. Several methods have been proposed to perform this task, that include the ones exploited by telecommunication protocols to save transmission bandwidth and to perform speech enhancement evaluating noise statistics during non-speech frames. Recently, the most accurate results have been achieved with the use of Deep Learning techniques, due to their ability to efficiently map an input to its target category through multiple transformations. The main issues in the use of Deep Neural Networks are memory and computational complexities, that increase with the network depth and size. These are issues of great relevance when performing speech detection on embedded systems. The trade-off between accuracy and computational complexity has been a topic of great interest. Our aim is to propose an approach that optimizes both the phases involved in speech detection: the feature extraction and the classification performed by the deep neural network. The goal is to comply with requirements imposed by embedded systems, generally equipped with limited memory and processing power, also performing causal processing, efficiently extracting features that highly characterize the speech signal, while being flexible to various hardware setups. In this work, we implement two strategies: the former, named Merula, is a lighter solution that exploits manually-engineered features, which capture information about the short-time evolution of the signal, while the latter, named Corvus, exploits the neural network power to extract short-time patterns that are more relevant for the target classification. Both methods exploit a recurrent layer, that models the evolution of the signal over longer time periods, to capture phonemes and their succession. Both techniques exploit a representation of the input that is independent from the sampling rate, resulting suitable with all the rates generally employed in digital audio processing, from 8 kHz to 48 kHz and beyond. Both solutions perform causal processing to meet real-time requirements and are small enough to comply with memory requirements for most of the embedded applications. We test our solutions on various noise conditions comparing the results with some of the state-of-the-art methods. The achieved performances are promising, proving an effectiveness comparable or even greater than the one of state-of-the-art methods, even in highly noisy conditions, employing models that are considerably smaller and therefore characterized by a lower computational complexity.
BUCCOLI, MICHELE
ING - Scuola di Ingegneria Industriale e dell'Informazione
29-apr-2020
2018/2019
Negli ultimi anni, vi è stata un'evoluzione significativa nell'interazione uomo-computer, in particolar modo per quanto riguarda le tecnologie di attivazione vocale. Oltre a computer e smartphone, un'ampia gamma di sistemi integrati, dai sistemi di in-car entertainment per le automobili a vari elettrodomestici, sono oggi sviluppati con una Voice User Interface (VUI), che utilizza le tecniche di riconoscimento vocale per acquisire le richieste degli utenti. Per sviluppare tali applicazioni, le informazioni sulla presenza del parlato sono utili per risparmiare banda in trasmissione ed evitare la pesante elaborazione di frame senza parlato. Le tecniche impiegate per rilevare la presenza o l'assenza di voce umana in un segnale audio sono gli algoritmi di c.d. Voice Activity Detection (VAD). Sono stati proposti diversi metodi per eseguire questo compito, tra cui quelli utilizzati dai protocolli delle telecomunicazioni per risparmiare larghezza di banda ed eseguire interventi di miglioramento del parlato valutando le statistiche sul rumore durante i frame senza voce. Recentemente, i risultati più accurati sono stati ottenuti tramite tecniche di Deep Learning, grazie alla capacità di queste di associare efficacemente un input alla sua categoria di destinazione tramite molteplici trasformazioni. Le principali criticità nell'uso di Deep Neural Networks sono le complessità di memoria e computazionali, che aumentano con la profondità e la dimensione della rete. Si tratta di questioni di grande rilevanza quando si esegue il rilevamento di segnale vocale su sistemi integrati. Il compromesso tra l'accuratezza e la complessità computazionale è un argomento di grande interesse. Il nostro obiettivo è proporre un approccio che ottimizzi entrambe le fasi coinvolte nel rilevamento del segnale vocale: l'estrazione delle caratteristiche dall'audio e la classificazione eseguita dalla rete neurale. Lo scopo è soddisfare i requisiti imposti dai sistemi integrati, generalmente dotati di memoria e potenza di elaborazione limitate, anche eseguendo l'elaborazione in modo causale, estraendo efficacemente ed efficientemente le proprietà che caratterizzano in particolar modo il segnale vocale, pur essendo flessibile a varie configurazioni hardware. In questo lavoro, applichiamo due strategie: la prima, denominata Merula, è una soluzione più leggera che utilizza caratteristiche progettate manualmente, le quali catturano informazioni sull'evoluzione del segnale nel breve periodo; la seconda, denominata Corvus, sfrutta la capacità della rete neurale di estrarre modelli che descrivano il segnale nel breve periodo nel modo più attinente alla classificazione. Entrambi i metodi utilizzano uno strato ricorsivo, che modella l'evoluzione del segnale su periodi di tempo più lunghi, per catturare i fonemi e la loro successione. Entrambe le tecniche si avvalgono di una rappresentazione dell'input indipendente dalla frequenza di campionamento, che risulta adatta a tutte le frequenze generalmente impiegate nell'elaborazione audio digitale, da 8 kHz a 48 kHz e oltre. Entrambe le soluzioni eseguono l'elaborazione in modo causale per poter processare in tempo reale e sono di dimensioni abbastanza ridotte da soddisfare i requisiti di memoria della maggior parte dei sistemi integrati. Testiamo le nostre soluzioni in varie condizioni di rumore, confrontandole con alcuni dei metodi di rilevamento vocale più avanzati. Le prestazioni raggiunte sono promettenti in quanto dimostrano un'efficacia paragonabile o addirittura superiore di quella dei metodi più all'avanguardia, anche in condizioni molto rumorose, utilizzando modelli notevolmente più piccoli e quindi contraddistinti da una minore complessità computazionale.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
TESI_Menescardi_10489688.pdf

non accessibile

Descrizione: Testo della tesi
Dimensione 3.26 MB
Formato Adobe PDF
3.26 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/152919