Vous êtes sur la page 1sur 14

Identificacin de personas mediante audios de voz, utilizando

Redes Neuronales Artificiales

Curso: Tpicos Especiales en PDSI 1 (EEE-22)


Profesor: Dr. Gustavo Huamn
Alumno: Bernick L. Salvador Rosas

Estado del arte:


Existen diversos trabajos a nivel mundial acerca del procesamiento de audio y en
especfico de la voz, en Latinoamrica hay trabajos importantes que utilizan Redes
Neuronales Artificiales (RNA) para el reconocimiento automtico de la voz (Torres et
al, 2005; Cruz & Acevedo, 2008), en el Per tambin se han realizado trabajos
importantes acerca del anlisis de la voz humana y reconocimiento de palabras (Peralta
& Cotrina, 2006).
El reconocimiento de voz utilizando redes neuronales tiene muchas aplicaciones
prcticas, entre las que se encuentran: (1) tocar 5 notas musicales en un piano estndar
mediante un robot que distinga las 5 palabras monoslabas correspondientes a dichas
notas musicales (Padilla, 2003), (2) identificar la correspondiente especie de ave
mediante la grabacin de su canto en ambientes naturales (Jcome et al, 2012), y (3)
desarrollar un interfaz mquina-usuario para delimitar el acceso a ciertos locutores
identificados y habilitados (Manuel, 2015).
Existen muchas herramientas en la actualidad que sirven para analizar y reconocer
seales de audio en general pero stas, no ofrecen mayor informacin acerca de los
algoritmos y tcnicas que utilizan o emplean en su software o hardware (Reig, 2014).

Trabajos relacionados:
Los diversos trabajos analizados similares al nuestro utilizan diferentes tipos de
parametrizacin para obtener valores caractersticos de la voz (Bancos de filtros y
Transformada de Fourier, Mel-Frequency Cepstrum Coefficients - MFCC, Linear
Predictive Coeficientes - LPC), y tambin diferentes tipos de estructuras de RNA
(Perceptron Multicapa Backpropagation, Recurrentes), pero la mayora coincide en el
diagrama del bloques, el cual describe la correcta secuencia para una adecuada
adquisicin, pre-procesamiento, procesamiento y reconocimiento de la voz humana,
esto se resumen y sintetiza en la Figura 1. La mayora de los trabajos revisados tienen
como objetivo reconocer palabras sin diferenciar al hablante, por lo que extraccin de
caractersticas de la voz es una tcnica fundamental, pero se analizar si todos los
mtodos utilizados para la extraccin de la voz tambin funcionan correctamente para la
diferenciacin entre voces humanas.

Figura 1. Diagrama de bloques de un sistema de identificacin de personas mediante la voz


[Diagrama elaborado en Lucidchart, disponible en www.lucidchart.com]

1. Adquisicin de la seal de voz:


En gran parte de los trabajos que realizan el paso de adquisicin de las seales
de voz utilizan un micrfono y posteriormente la digitalizacin por medio de
una tarjeta de sonido de un computador, la diferencia existe en la frecuencia de
muestreo y la resolucin que emplean, por ejemplo: Padilla (2003) utiliza un
micrfono con una frecuencia de muestreo de 8KHz, Torres et al. (2005)
similarmente utilizaron un micrfono y una tarjeta de sonido para adquirir la
seal de voz a una frecuencia de muestreo de 8KHz, De Luna et al. (2006)
capturaron la voz en una computadora aplicando el software Simulink de
Matlalb con una duracin de 3 a 4 segundos y una resolucin de 8 bits, Peralta &
Cotrina (2006) utilizaron un micrfono dinmico, una tarjeta de sonido Sound
Blaster, una tasa de muestreo de 11KHz y una resolucin de 8 bits, Cruz &
Acevedo (2008) utilizaron el software Mercury instalado en una PC para la
grabacin de la palabra hablado, un canal de tipo monofsico con una velocidad
de muestreo de 11KHz y una resolucin de 16 bits, Jcome et al. (2012) utiliza
una base de datos de cantos de aves disponible en internet, Mendoza et al.
(2013) adquirieron las seales con electrodos superficiales dispuestos en la
superficie de la garganta con una frecuencia de 50KHz y una duracin de 2
segundos, finalmente, Manuel (2015) utiliza un transductor del tipo Electret, que
es continua en tiempo y amplitud, en el sistema de adquisicin con una
frecuencia de muestreo de 11.025KHz, 16 bits de resolucin y una duracin de 2
segundos.

2. Pre-procesamiento (acondicionamiento):
En esta etapa de pre-procesamiento de la seal de audio, en varios casos llamada
tambin etapa de acondicionamiento, se utilizan diferentes mtodos y tcnicas
que ayudan a que el procesamiento sea eficaz y ms eficiente, entre los
utilizados por los autores de los trabajos revisados se pueden mencionar:

Padilla (2003) emplea una funcin ventana (Hamming o Hanning) para evitar el
problema de la distorsin que se produce cuando se procesan las muestras de
voz con el FFT.
La ventana Hamming se define como:
2
() = 0.54 0.46cos( )
1
La ventana Hanning se define como:

2
() = 0.5 0.5cos( )
1
Al final, slo utiliza la ventana Hamming para intervalos de 30 ms o 240
muestras, realizando un solape de 80 muestras.

Torres et al. (2005) utilizan un banco de filtros para separar las seales unas de
otras, el primer filtro utilizado fue el filtro de traslado de promedios (moving
average) en el dominio del tiempo que sirve para reducir el ruido aleatorio
mientras impide los cambios abruptos de la respuesta impulsional (Smith, 1999).
Este filtro se describe matemticamente como:
>1
1
[] = [ + ]

=0

Donde es la seal de entrada, es la seal de salida y es el nmero de


puntos que se van a promediar. Despus del filtrado, normalizan la seal en el
rango de [-1,1] de modo que a cada muestra de la seal corresponda una
potencia similar.

De Luna et al. (2006) quitaron la parte del silencio de la entrada de todos los
archivos mediante la comparacin entre los puntos del vector de sonido e
identificando un cambio dramtico de valor.

Peralta & Cotrina (2006) aplicaron la deteccin automtica de extremos cuyo


funcionamiento se basa en el anlisis de la evolucin en el tiempo del parmetro
COPER (Peralta & Cotrina, 2002), que es un algoritmo que fue desarrollado por
los mismos autores y cuya frmula matemtica es:

= |[]|[]| [ 1]|[ 1]||


=0

La deteccin del comienzo y final de la pronunciacin de una palabra depende


de si el valor del parmetro COPER es mayor o menor de un umbral dado un
periodo de tiempo, respectivamente.

Cruz & Acevedo (2008) utilizaron un acotamiento de la seal para eliminar los
silencios, luego un filtrado con Wavelets recomendando el uso de la wavelet
Daubechies, finalmente una normalizacin entre [-1,1] cuyo procedimiento es:
a) Clculo de la media () y la desviacin estndar () de la seal de entrada.
b) Normalizacin de los datos mediante la relacin:
[]
[] =

c) Divisin entre el mayor valor absoluto entre el mnimo y mximo de []
Mendoza et al. (2013) utilizan el anlisis de la energa de seal mediante
ventanas de 400us de duracin para ubicar la zona activa, esto se define como:

= ((1)+ )2
=1

Donde es el vector de energa, es la seal y es el tamao de la ventana.


Luego establecen un umbral que indica el inicio de la actividad subvocal, el cual
se define como:
= (0.15)
Donde es el umbral y es el pico mximo del vector energa de la seal.
Seguidamente, aplicaron una ventana de 0.8s de longitud a partir del inicio de la
zona activa. Luego de la ubicacin de la zona activa procedieron a filtrar la seal
usando la Transformada Wavelet Discreta (TWD) (Marcos et al., 2005).

Reig (2014), basado en los trabajos de Peralta & Cotrina, utiliza un Detector
Automtico de Extremos, el cual se basa en la evolucin del parmetro COPER
en las tramas para hallar el inicio y fin de la pronunciacin de una palabra.

Manuel (2015) realiza en primer lugar un filtrado de la seal con el objetivo de


eliminar el mayor ruido posible utilizando un filtro Wavelet, tcnica llamada
tambin Denoising. Despus del filtrado se realiza una normalizacin con el
objetivo de lograr que la media de los valores sea cero y la amplitud est en un
rango de [-1,1], para esto se utiliza la ecuacin:
[]
[] =
max([[]])
Luego se realiza un acotamiento de la seal utilizando la energa promedio, el
proceso consta de dividir la seal en ventanas de un determinado nmero de
muestras, calcular la energa de ese trozo y determinar, por medio de un umbral
de decisin, si la ventana es eliminada o no. La energa promedio est dada por:

1
= ([])2

=1

Despus del acotamiento, se usa un filtro de pre-nfasis que vienen a ser un


filtro digital de primer orden cuya funcin de transferencia es la siguiente:
() = 1 1
Donde se encuentra entre 0.9 y 1. El filtro de pre-nfasis tiene como objetivo
aumentar la energa de alta frecuencia para compensar la prdida durante el
habla humana.

3. Procesamiento (extraccin de caractersticas fundamentales):


Las tcnicas y mtodos de extraccin de caractersticas o parmetros
fundamentales de la voz tambin son diversos, entre los trabajos previos
analizados se pueden mencionar los mtodos y tcnicas ms utilizadas y que han
dado un resultado ptimo:

Padilla (2003) utiliza los parmetros LPC, pues stos pueden proporcionar una
indicacin de los polos (y de los formantes) de la funcin de transferencia del
tracto vocal, el inconveniente que menciona es acerca de que la extraccin de
parmetros LPC, que funciona bien en sonidos sonoros pero no es demasiado
fiable en sonidos sordos, aun as utiliza entre 5 y 10 polos para aproximar a la
envolvente de la FFT.

Torres et al. (2005) usan la herramienta FFT, que es una versin ms eficiente de
la DFT, para extraer caractersticas particulares de cada seal de voz, es decir
discriminan as las frecuencias que poseen dichas seales. Posteriormente
normalizan el espectro de la seal de voz y realizan una ponderacin de las
muestras tal que los datos ms caractersticos estn incluidos en un vector de
tamao reducido.

De Luna et al. (2006) usan la Codificacin de Prediccin Lineal (LPC) para


obtener coeficientes que servirn el entrenamiento de la red neuronal.

Peralta & Cotrina (2006) utilizan tramas de 10 a 20 ms para analizar la


envolvente espectral de la voz y mencionan que ste es el tiempo donde se sita
la informacin diferencial de los distintos tipos de sonidos, luego realizan la
multiplicacin de cada trama por una ventana de Hamming, seguido de un
filtrado de prenfasis, un anlisis del espectro mediante FFT, un clculo de la
energa en cada una de las bandas en que la escala mel divide el espectro y
finalmente hallan los coeficientes cepstrum.
Cruz & Acevedo (2008) utilizaron coeficientes LPC los cuales mencionan que
son capaces de modelar con gran aproximacin la informacin lingstica y la
zona vocal humana, probaron con diferentes nmeros de coeficientes LPC (de 2
a 15).

Jcome et al. (2012) utilizaron una plataforma de procesamiento especializada


en audio en tiempo real y con mucha versatilidad llamada Max MSP, el cual
realiza un proceso de anlisis espectral con dos parmetros bsicos: frecuencia y
amplitud. Para familiarizarse con el lenguaje de programacin del software
mencionado se recomienda revisar un tutorial (Jean-Francois, 2008).

Mendoza et al. (2013) realizaron la extraccin de caractersticas relevantes


mediante la Transformada Wavelet Packet (TWP), ya que mencionan que esto
permitir un anlisis multiresolucional de las seales. Finalmente aplicaron
Anlisis de Componentes Principales (PCA) para la reduccin de la
dimensionalidad de los datos.

Reig (2014), basado en los trabajos de Peralta & Cotrina, utiliza el mtodo de
Coeficientes Cepstrales en Escala de Mel (MFCC), el cual es muy eficiente para
la extraccin de caractersticas. La secuencia para el clculo de los coeficienes
MFFC es: tramas, enventanado, pre-nfasis, FFT, energa en cada banda,
cepstro, coeficientes mel Cepstrum.

Manuel (2015) hace una evaluacin de las diferentes tcnicas de parametrizacin


entre las que se encuentran el LPC (Linear Predictive Coefficients), LPCC
(Linear Predictive Cepstrum Coefficients) y el MFCC (Mel-Frequency
Cepstrum Coefficients), pero se decide por utilizar los coeficientes ceptrales
debido a que stos son parmetros invariantes sin importar las distorsiones
introducidas por el micrfono o cualquier sistema de transmisin. La secuencia
para la obtencin de los MFCC es la siguiente: FFT, valor absoluto, logaritmo,
IFFT, coeficientes Cepstum.

4. Reconocimiento con RNA:


Las estructuras de las redes neuronales que se utilizan en los diferentes trabajos
previos tambin fueron distintas, pues no solamente fueron diferentes tipos de
RNA sino diferan en el nmero entradas, en el nmero de neuronas en la capa
oculta y en el nmero de salidas. Se mencionan algunas:

Padilla (2003) implement una red recurrente (RNN) formada por 20 entradas, 5
neuronas en la capa oculta y una salida en el rango [0,1]. La RNN se entren
usando el algoritmo backpropagation.

Torres et al. (2005) entrenaron una red perceptron multicapa con retro
propagacin de error, con 80 entradas correspondiente a las 80 muestras del
espectro normalizado y promediado, 5 neuronas en la capa oculta y 3 salidas.

De Luna et al. (2006) usaron el tipo de red auto organizada (SOFM) o llamada
tambin mapas de Kohonen con 30 entradas, que son redes neuronales que
tienen la peculiaridad de tener un mapa organizado de sus pesos, mediante el
algoritmo de entrenamiento. Asimismo utilizan otros algoritmos de
reconocimiento que son el Alineamiento Dinmico del Tiempo (DTW) y
Modelos Ocultos de Markov (HMM), y finalmente un Modelo de Mayora que
realiza una decisin de mayora.

Peralta & Cotrina (2006) utilizaron una RNA tipo Perceptron Multicapa (MLP)
con aprendizaje supervisado Backpropagation, con 100 entradas, 32 neuronas en
la capa oculta y 10 salidas.

Cruz & Acevedo (2008) utilizan tambin una arquitectura Backpropagation pero
con 25 entradas, 21 neuronas en la capa oculta y 5 salidas.

Mendoza et al. (2013), al igual que los dos anteriores autores, realizan la
clasificacin con una red neuronal perceptron multicapa con aprendizaje
supervisado por retropropagacin que consta de 6 entradas, 25 neuronas en la
capa oculta y 1 salida. Un entrenamiento de la red con el 70% de la base de
datos y el 30% para el test de efectividad.
Manuel (2015) utiliza una RNA con topologa perceptron multicapa con
aprendizaje supervisado del tipo Backpropagation (Levenberg-Marquardt en el
toolbox de Matlab). El nmero de entradas est definido por el vector
caracterstico.

Metodologa:
El objetivo de este trabajo es implementar una RNA que pueda identificar a una persona
(en especfico a m) entre un grupo de personas mediante grabaciones de audio de voz,
para ello se generar una pequea base de datos de audio de voz, luego se extraern
parmetros de cada audio utilizando los diferentes mtodos vistos en los trabajos
relacionados para hacer una comparacin entre cul de ellos se obtiene un menor error
de reconocimiento. Asimismo, se probarn diferentes estructuras de redes neuronales
para obtener la prediccin ms ptima.

1. Base de datos y adquisicin de las seales de voz:


Se ha generado una base de datos de audios con la voz de 9 personas diferentes
(incluyndome) mediante la grabacin en un mvil con una app y en formato
.wav, cada audio tiene una duracin entre 1 y 2 segundos y corresponde a la
palabra hola. La base de datos se ha dividido en dos grupos: un grupo para el
entrenamiento de la red neuronal que consiste de 45 audios (5 audios distintos
por cada persona), y un grupo para el test de la red neuronal que consiste de 15
audios (5 audios de mi voz y los otros 10 audios de las dems personas).

2. Pre-procesamiento de las seales:

Deteccin automtica de extremos, evolucin en el tiempo del parmetro


COPER

Filtrado Wavelet (Daubechies), Transformada Wavelet Discreta

Normalizacin (-1,1)
Media y desviacin estndar

Filtro de pre-nfasis
3. Procesamiento, extraccin de caractersticas fundamentales:

3.1.Codificacin de Prediccin Lineal (LPC):


El algoritmo LPC intenta predecir el valor de cualquier punto en un sistema
lineal variante en el tiempo, basado en los valores de las P muestras anteriores
(Padilla, 2003). La representacin, solamente de polos de la funcin de
transferencia del tracto vocal (), el cual se puede representar por la siguiente
ecuacin:

() =
1 =1 ()
Los valores de () se denominan coeficientes de prediccin, mientras que G
representa la ganancia, que est asociada con la excitacin del tracto vocal.

El modelo LPC:
Para la seal de voz (), la muestra de voz predicha () es una funcin de
() y de las anteriores muestras (Furui, 1989):

() = ()( )
=1

El anlisis LPC pretende obtener los trminos () de acuerdo al criterio del


mnimo error cuadrtico. El error se define como:

() = () () = () ()( )
=1

Se toma la derivada del error cuadrtico medio con respecto a los coeficientes
() e igualndolo a 0 resulta:
2

[() ()( )] = 0
()
=1

[() ()( )] ( ) = 0
=1

Para 1
Por tanto:

()( ) = ()( ) ( )
=1

Para 1
Hay varios mtodos para resolver la ecuacin de coeficientes de prediccin,
entre ellos se encuentra el mtodo de autocorrelacin con el algoritmo de
Levinson-Durbin.
Mtodo de Autocorrelacin (Levinson-Durbin):
El mtodo supone que la seal es estacionaria dentro de la ventana de anlisis.
Esta suposicin se puede satisfacer con una funcin ventana ()(0
1) donde N corresponde a un nmero discreto de puntos en un intervalo de
tiempo fijo. La solucin de la autocorrelacin a la ltima ecuacin anterior se
expresa como:

() = ()(| |)
=1

Para 1
Donde () es una funcin par (() = ()) y se calcula as:
1

() = ()( + )
=0

Para 0
Una vez que el trmino de la autocorrelacin () ha sido calculado, se utiliza
un algoritmo recursivo, denominado recursin de Durbin para determinar el
valor de (). El estado inicial de la recursin comienza con un trmino de
energa.
0 = (0) 2 = 0
Para calcular los siguientes estados se realizan las siguientes ecuaciones:
1

() = (() 1 ()( ))/ 1


=1

Para 1
() = ()
() = 1 () ()1 ( )
Para 1 1
= (1 ()2 ) 1
La solucin final de () es dada por () para 1

3.2.Coeficientes Cepstrales en Frecuencia en Escala de Mel (MFCC):


Son una representacin definida como el cepstrum de una seal ventaneada en el
tiempo que ha sido derivada de la aplicacin de una Transformada Rpida de
Fourier, pero en una escala de frecuencias no lineal, las cuales se aproximan al
comportamiento del sistema auditivo humano (Reig, 2014). A diferencia de los
LPC que se basan en la produccin del habla, su principal caracterstica es que
las bandas de frecuencia estn situadas logartmicamente (segn la escala Mel),
que modela la respuesta auditiva humana ms apropiadamente (Manuel, 2015).

Reig (2014)

Manuel (2015)
En la Figura 3, se muestra el esquema para la
obtencin de los MFCC.

4. Reconocimiento mediante RNA:

Resultados:
Los resultados obtenidos en el test de la red neuronal diseada se muestran en la Tabla
1.

Se utiliza la tasa de reconocimiento (LDE) que mide la eficiencia del sistema planteado
en este trabajo y el cual se expresa as:

% = 100

Para comparar si nuestros resultados han sido ptimos, se har una comparacin con los
resultados que obtuvieron en los trabajos previos que se mencionaron anteriormente y
los cuales son descritos a continuacin: Padilla (2003) logr un reconocimiento de voz
en torno al 95% de acierto, Torres et al. (2005) lograron en promedio un porcentaje de
acierto del 91%, Peralta & Cotrina (2006) obtuvieron una tasa de acierto de 91.65%
cuando probaron en ambientes con ruido de fondo de baja amplitud y en entornos
ruidosos con ruido de hasta 15dB alcanzaron una tasa de acierto de 87.4%, Cruz &
Acevedo (2008) obtuvieron una efectividad del 96% cuando los archivos de voz no
pasan por la etapa de pre procesamiento, Mendoza et al. (2013) tuvieron en promedio
una efectividad del 75% en un entorno de prueba expuesto a 70dB de ruido acstico, por
ltimo, Manuel (2015) obtiene un porcentaje de acierto de 64.58% en el test de
validacin de la RNA que utiliz.

Conclusiones:

Bibliografa:
[1] Manuel, M. (2015). Sistema automtico de reconocimiento de voz para control de
acceso, XIII Congreso Argentino de Acstica - VII Jornadas de Acstica,
Electroacstica y reas Vinculadas, CADAE 2015, Buenos Aires, Argentina.
[2] Reig, D. (2014). Implementacin de algoritmos para la extraccin de patrones
caractersticos en sistemas de reconocimiento de voz en Matlab (Trabajo final de
carrera). Universidad Politcnica de Valencia, Ganda, Espaa.
[3] Mendoza, L. E., Pea, J., Muoz, L. A., Velandia, H. J. (2013). Procesamiento de
seales provenientes del habla subvocal usando Wavelet Packet y Redes
Neuronales. Tecno Lgicas, Edicin Especial, pp. 655-667.
[4] Jcome, H., Lucio, J.F., Jurado, G. & Enrquez, A.D. (2012). Identificacin de
seales de audio va redes neuronales artificiales, SONAC Revista de Sonido y
Acstica, Nm. 3, pp. 53-61.
[5] Camarena, J. A. (2011). Sntesis y Reconocimiento de Voz [diapositiva].
Universidad Michoacana de San Nicols de Hidalgo, Facultad de Ingeniera
Elctrica, 214 diapositivas.
[6] Cruz, L. & Acevedo, M. (2008). Reconocimiento de voz usando Redes
Neuronales Artificiales Backpropagation y Coeficientes LPC, 6to Congreso
Internacional de Cmputo en Optimizacin y Software (CiCos), pp. 89-99.
[7] Jean-Francois, Ch. (2008). A Tutorial on Spectral Sound Processing Using
Max/MSP and Jitter. Computer Music Journal, 32:3, pp. 87-102.
[8] Peralta, F. & Cotrina, A. (2006). Reconocedor y Analizador de voz, IBERCHIP,
San Jos, Costa Rica.
[9] De Luna, C., Martnez, J. C., Mora, M. (2006). Reconocimiento de Voz con
Redes Neuronales, DTW y Modelos Ocultos de Markov. Conciencia Tecnolgica,
nmero 32.
[10] Torres, C., Mattos, L., Perpian, G., Castro, J., & Pardo, J. (2005).
Reconocimiento automtico del habla utilizando la Transformada de Fourier y
Redes Neuronales. Revista Colombiana de Tecnologa de Avanzada, volumen 2.
[11] Padilla, V. (2003). Reconocimiento de voz por redes neuronales aplicado a un
robot LEGO, Trabajo conjunto de los cursos de doctorado de Redes neuronales y
Robtica autnoma, UNED.
[12] Peralta, F., Cotrina, A. (2002). Algoritmo COPER para la deteccin de actividad
de voz. Revista Semestral Electrnica UNMSM, nmero 8, pp. 3-12.
[13] Smith, S. W. (1999). The Scientist and Engineers Guide to Digital Signal
Processing, 2nd Edition. California Technical Publishing. San Diego, California.
[14] Normas APA 2016 Edicin 6. Disponible en: www. normasapa.net/normas-apa-
2016/

Vous aimerez peut-être aussi