27 research outputs found
Representation and Metric Learning Advances for Deep Neural Network Face and Speaker Biometric Systems
El aumento del uso de dispositivos tecnológicos y sistemas de reconocimiento biométrico en la vida cotidiana de las personas ha motivado un gran interés en la investigación y el desarrollo de sistemas eficaces y robustos. Sin embargo, todavía existen algunos retos que resolver en estos sistemas cuando se emplean redes neuronales profundas. Por esta razón, esta tesis propone diferentes enfoques para abordar estas cuestiones.En primer lugar, hemos analizado el efecto de introducir las arquitecturas de redes neuronales profundas más extendidas para desarrollar sistemas para tareas de verificación de caras y locutores dependientes del texto. En este análisis, hemos observado que las redes neuronales profundas del estado del arte establecidas para muchas tareas, incluyendo la verificación de caras, no funcionan de forma eficiente para la verificación de locutores dependientes del texto. Por lo tanto, hemos realizado un estudio para encontrar la causa de este pobre rendimiento y hemos notado que este problema se debe al uso de la capa de promediado global como mecanismo de agrupación en las arquitecturas de redes neuronales profundas. Dado que el orden de la información fonética es relevante en la tarea de verificación del locutor dependiente del texto, si se emplea una agrupación de promediado global, este orden se descuida y los resultados obtenidos para las métricas de rendimiento son demasiado altos. Por lo tanto, el primer enfoque propuesto en esta tesis es un mecanismo de alineamiento que se utiliza para reemplazar el uso del promediado global como mecanismo de agrupación. Este mecanismo de alineamiento permite mantener la estructura temporal y codificar la frase y la identidad del locutor en un supervector. Como mecanismo de alineamiento, se pueden utilizar diferentes tipos de planteamientos como los modelos ocultos de Markov o los modelos de mezcla de Gaussianas. Además, durante el desarrollo de este mecanismo, también observamos que la falta de bases de datos de entrenamiento más grandes es otro problema importante para crear estos sistemas. Por lo tanto, también hemos introducido una nueva filosofía de arquitectura basada en el enfoque de destilación de conocimiento. Esta arquitectura es conocida como arquitectura profesor-estudiante y proporciona robustez a los sistemas durante el proceso de entrenamiento y contra un posible sobreajuste debido a la falta de datos. En esta parte, se propone otro enfoque alternativo para centrarse en los instantes relevantes de la secuencia y mantener la información fonética, dicho enfoque consiste en la auto-atención multi-cabezal. La arquitectura propuesta para utilizar las capas de auto-atención multi-cabezal también introduce incrustaciones fonéticas y capas de memoria para mejorar la discriminación entre locutores y expresiones. Además, para completar la arquitectura con las técnicas anteriores, se ha incorporado otro enfoque en el que se han introducido dos vectores aprendibles que se denominan tokens de clase y de destilación. Utilizando estos tokens durante el entrenamiento, se mantiene la información temporal y se codifica en los tokens, de manera que al final se obtiene un descriptor global de los enunciados similar al supervector. Además de los enfoques anteriores para obtener representaciones robustas, la otra parte principal de esta tesis se ha centrado en la introducción de nuevas funciones de pérdida para entrenar arquitecturas de redes neuronales profundas. Las funciones de pérdida tradicionales han proporcionado resultados razonablemente buenos para muchas tareas, pero no suelen estar diseñadas para optimizar la tarea objetivo. Por esta razón, hemos propuesto varias funciones de pérdida nuevas como objetivo para entrenar arquitecturas de redes neuronales profundas que se basan en las métricas finales de verificación. El primer enfoque desarrollado para esta parte se inspira en el Área Bajo la Curva ROC. Así que hemos presentado una aproximación diferenciable de esta métrica denominada aAUC loss para entrenar con éxito una red neuronal de tripletes como back-end. Sin embargo, la selección de los datos de entrenamiento tiene que ser cuidadosamente realizada para llevar a cabo este back-end, por lo que esto supone un alto coste computacional. Por lo tanto, hemos desarrollado varios enfoques para aprovechar el entrenamiento con una función de pérdida orientada a la tarea objetivo pero manteniendo la eficiencia y velocidad del entrenamiento multiclase. Para implementar estos enfoques, se han empleado como objetivo de entrenamiento la aproximación diferenciable de las siguientes métricas de verificación, la función de coste de detección (aDCF) y el coste de la relación de log-verosimilitud (CLLR). Al optimizar las arquitecturas de redes neuronales profundas para minimizar estas funciones de pérdida, el sistema aprende a reducir los errores en las decisiones y las puntuaciones producidas. El uso de estos enfoques también ha demostrado una mejor capacidad para aprender representaciones más generales que el entrenamiento con otras funciones de pérdida tradicionales. Por último, también hemos propuesto un nuevo back-end sencillo que emplea la información aprendida por la matriz de la última capa de la arquitectura de redes neuronales profundas durante el entrenamiento con la aDCF loss. Utilizando la matriz de esta última capa, se entrena un modelo de inscripción con un vector aprendible para cada identidad de inscripción para realizar el proceso de verificación.<br /
Subspace Gaussian Mixture Models for Language Identification and Dysarthric Speech Intelligibility Assessment
En esta Tesis se ha investigado la aplicación de técnicas de modelado de subespacios de mezclas de Gaussianas en dos problemas relacionados con las tecnologías del habla, como son la identificación automática de idioma (LID, por sus siglas en inglés) y la evaluación automática de inteligibilidad en el habla de personas con disartria. Una de las técnicas más importantes estudiadas es el análisis factorial conjunto (JFA, por sus siglas en inglés). JFA es, en esencia, un modelo de mezclas de Gaussianas en el que la media de cada componente se expresa como una suma de factores de dimensión reducida, y donde cada factor representa una contribución diferente a la señal de audio. Esta factorización nos permite compensar nuestros modelos frente a contribuciones indeseadas presentes en la señal, como la información de canal. JFA se ha investigado como clasficador y como extractor de parámetros. En esta última aproximación se modela un solo factor que representa todas las contribuciones presentes en la señal. Los puntos en este subespacio se denominan i-Vectors. Así, un i-Vector es un vector de baja dimensión que representa una grabación de audio. Los i-Vectors han resultado ser muy útiles como vector de características para representar señales en diferentes problemas relacionados con el aprendizaje de máquinas. En relación al problema de LID, se han investigado dos sistemas diferentes de acuerdo al tipo de información extraída de la señal. En el primero, la señal se parametriza en vectores acústicos con información espectral a corto plazo. En este caso, observamos mejoras de hasta un 50% con el sistema basado en i-Vectors respecto al sistema que utilizaba JFA como clasificador. Se comprobó que el subespacio de canal del modelo JFA también contenía información del idioma, mientras que con los i-Vectors no se descarta ningún tipo de información, y además, son útiles para mitigar diferencias entre los datos de entrenamiento y de evaluación. En la fase de clasificación, los i-Vectors de cada idioma se modelaron con una distribución Gaussiana en la que la matriz de covarianza era común para todos. Este método es simple y rápido, y no requiere de ningún post-procesado de los i-Vectors. En el segundo sistema, se introdujo el uso de información prosódica y formántica en un sistema de LID basado en i-Vectors. La precisión de éste estaba por debajo de la del sistema acústico. Sin embargo, los dos sistemas son complementarios, y se obtuvo hasta un 20% de mejora con la fusión de los dos respecto al sistema acústico solo. Tras los buenos resultados obtenidos para LID, y dado que, teóricamente, los i-Vectors capturan toda la información presente en la señal, decidimos usarlos para la evaluar de manera automática la inteligibilidad en el habla de personas con disartria. Los logopedas están muy interesados en esta tecnología porque permitiría evaluar a sus pacientes de una manera objetiva y consistente. En este caso, los i-Vectors se obtuvieron a partir de información espectral a corto plazo de la señal, y la inteligibilidad se calculó a partir de los i-Vectors obtenidos para un conjunto de palabras dichas por el locutor evaluado. Comprobamos que los resultados eran mucho mejores si en el entrenamiento del sistema se incorporaban datos de la persona que iba a ser evaluada. No obstante, esta limitación podría aliviarse utilizando una mayor cantidad de datos para entrenar el sistema.In this Thesis, we investigated how to effciently apply subspace Gaussian mixture modeling techniques onto two speech technology problems, namely automatic spoken language identification (LID) and automatic intelligibility assessment of dysarthric speech. One of the most important of such techniques in this Thesis was joint factor analysis (JFA). JFA is essentially a Gaussian mixture model where the mean of the components is expressed as a sum of low-dimension factors that represent different contributions to the speech signal. This factorization makes it possible to compensate for undesired sources of variability, like the channel. JFA was investigated as final classiffer and as feature extractor. In the latter approach, a single subspace including all sources of variability is trained, and points in this subspace are known as i-Vectors. Thus, one i-Vector is defined as a low-dimension representation of a single utterance, and they are a very powerful feature for different machine learning problems. We have investigated two different LID systems according to the type of features extracted from speech. First, we extracted acoustic features representing short-time spectral information. In this case, we observed relative improvements with i-Vectors with respect to JFA of up to 50%. We realized that the channel subspace in a JFA model also contains language information whereas i-Vectors do not discard any language information, and moreover, they help to reduce mismatches between training and testing data. For classification, we modeled the i-Vectors of each language with a Gaussian distribution with covariance matrix shared among languages. This method is simple and fast, and it worked well without any post-processing. Second, we introduced the use of prosodic and formant information with the i-Vectors system. The performance was below the acoustic system but both were found to be complementary and we obtained up to a 20% relative improvement with the fusion with respect to the acoustic system alone. Given the success in LID and the fact that i-Vectors capture all the information that is present in the data, we decided to use i-Vectors for other tasks, specifically, the assessment of speech intelligibility in speakers with different types of dysarthria. Speech therapists are very interested in this technology because it would allow them to objectively and consistently rate the intelligibility of their patients. In this case, the input features were extracted from short-term spectral information, and the intelligibility was assessed from the i-Vectors calculated from a set of words uttered by the tested speaker. We found that the performance was clearly much better if we had available data for training of the person that would use the application. We think that this limitation could be relaxed if we had larger databases for training. However, the recording process is not easy for people with disabilities, and it is difficult to obtain large datasets of dysarthric speakers open to the research community. Finally, the same system architecture for intelligibility assessment based on i-Vectors was used for predicting the accuracy that an automatic speech recognizer (ASR) system would obtain with dysarthric speakers. The only difference between both was the ground truth label set used for training. Predicting the performance response of an ASR system would increase the confidence of speech therapists in these systems and would diminish health related costs. The results were not as satisfactory as in the previous case, probably because an ASR is a complex system whose accuracy can be very difficult to be predicted only with acoustic information. Nonetheless, we think that we opened a door to an interesting research direction for the two problems
Estudio implementación de algoritmos de compresión sin pérdidas para señales de audio utilizando técnicas de deep learning.
Este trabajo se basa en el estudio de diferentes técnicas relacionadas con el aprendizaje automático y la codificación, combinándolas posteriormente y consiguiendo desarrollar un sistema capaz de comprimir archivos de audio sin pérdidas.<br /
Sistema de detección de emociones a partir de secuencias de audio, vídeo y mapa de profundidad
En este proyecto se explican los pasos seguidos para crear un sistema de reconocimiento de emociones mediante secuencias de audio, vídeo y mapa de profundidad utilizando técnicas de Machine Learning o aprendizaje automático. También se da una información detallada de l
Paralelización del algoritmo de búsqueda de un reconocedor automático de voz
El proyecto plantea el estudio de la viabilidad de un reconocedor automático del habla (RAH) con funciones en paralelo mediante el desarrollo de un prototipo. Los objetivos principales son la paralelización de la búsqueda de la secuencia de estados (sonidos) más probable y el cálculo de las verosimilitudes de los datos de entrada (observaciones), explorando las posibilidades que este paralelismo ofrece y viendo el rendimiento que con él puede llegarse a obtener. El desarrollo se lleva a cabo en el lenguaje de programación C, mientras que las funciones paralelizadas se implementan en GPUs utilizando CUDA, un modelo de programación adaptado a esta arquitectura, y su extensión para C
Reconocimiento de secuencias gestuales adquiridas con Kinect utilizando HMMs
Kinect es el accesorio de las videoconsolas más modernas que permite jugar a videojuegos usando sólo el cuerpo, sin ningún tipo de control. Con su conjunto de sensores es posible jugar como en la vida real, pues las siluetas de los jugadores son capturadas por dichos sensores para posteriormente ser emparejadas con un modelo de esqueleto. En este proyecto, se implementa un reconocedor de secuencias gestuales utilizando el sensor Kinect. Con el kit de desarrollo de software liberado por Microsoft, grabamos diferentes movimientos en ficheros de texto creando una base de datos con la que trabajaremos durante el desarrollo del proyecto. En primer lugar, construimos el reconocedor en Matlab. Para ello, es necesario realizar el entrenamiento de los modelos ocultos de Markov (HMMs), obteniendo la secuencia óptima de estados con el algoritmo de Viterbi y reestimando los parámetros en cada una de las iteraciones (método de Baum-Welch). Una vez calculados los HMMs, implementamos la función de reconocimiento obteniendo el gesto que proporcione mayor verosimilitud. El siguiente paso, es implementar el sistema en lenguaje C++ que es el lenguaje de programación usado en el SDK de Kinect. Por último, se implementa una aplicación con distintos juegos de identificación de movimientos cuya base será el reconocedor construido. Se trata de una herramienta útil para los terapeutas que trabajan con niños con movilidad reducida y problemas de interacción. Dispone de varias opciones de configuración y un apartado de entrenamiento que permite crear HMMs de diferentes movimientos. La aplicación contiene 4 juegos diferentes: Gestos, Adivinanzas, Frases y Evocación que podrán ayudar a los niños a mejorar su capacidad motora y coordinación, así como su capacidad de razonamiento al relacionar las distintas imágenes con sus movimientos
Diseño de algoritmos de clusterización para la regularización de redes neuronales y aprendizaje de características relevantes
En este trabajo, exploramos técnicas novedosas de 'representation learning'. Analizamos la red de cápsulas recientemente introducida y sus métodos de regularización. Presentamos una técnica de visualización de información en redes neuronales convolucionales en la que superponemos a las activaciones espaciales sus correspondientes campos receptivos. Esta nos permite ver los factores en función de los cuales nuestra red separa la información. Proponemos un nuevo método de clusterizado para las activaciones de la última capa de redes clasificadoras basado en un coste por margen. Demostramos su utilidad como método para obtener medidas robustas de incertidumbre sobre las decisiones que toma el clasificador. Adoptamos un marco probabilístico Bayesiano, proponiendo un algoritmo de autoencoder variacional novedoso. Al condicionar algunas variables latentes con valores discretos, conseguimos captar características de los datos distribuidas multimodalmente. Mostramos cómo este algoritmo permite obtener representaciones más desentrelazadas y de mayor calidad que los propuestos en la literatura de autoencoders variacionales. Proponemos un método para comparar la fidelidad de modelos generativos, entrenando un clasificador con bases de datos aumentadas con muestras generadas. Validamos experimentalmente que nuestro modelo consigue generar muestras nuevas más informativas que los modelos comparables de la literatura
Estudio de técnicas de aprendizaje automático basado en redes neuronales para reconocimiento biométrico de personas
En este trabajo se plantea la elaboración de un sistema de reconocimiento biométrico de personas basado en redes neuronales profundas que utiliza como característica biométrica una imagen digital del rostro humano con la que se pueda realizar la tarea de identificación facial de dicha persona. El problema del reconocimiento facial se puede dividir en cuatro fases principales, la de detección del rostro dentro de las imágenes, el preprocesado de dichas imágenes, la extracción de la información más relevante de cada rostro y el reconocimiento de la identidad haciendo uso de dicha información relevante. Estas etapas se implementan a lo largo de este trabajo para poder crear un sistema completo de reconocimiento facial. El sistema de reconocimiento facial creado durante este trabajo permite experimentar de manera cómoda, debido a la modularidad que este sistema presenta, con diversas arquitecturas para los procesos de extracción y reconocimiento, lo que sirve para comprobar las prestaciones del sistema obtenidas con cada arquitectura. As ́ı como poder observar la influencia en los resultados de cambiar las bases de datos utilizadas para el entrenamiento de la etapa de extracción de características
Diseño de herramientas de asistencia a la logopedia en una plataforma distribuida
Las tecnologías del habla pueden suponer una herramienta muy poderosa a la hora de facilitar la vida cotidiana a aquellas personas que presentan alguna patología en su capacidad del habla. La utilización de estas tecnologías permite el desarrollo de herramientas que asistan a los profesionales de la logopedia en su labor de ayudar a personas con problemas de dicción. Sin embargo, el alto coste de las herramientas que existen en el mercado y además, la no existencia de herramientas en español, han impedido la utilización de estas tecnologías para este fin. El presente proyecto tiene como objetivo el diseño de una herramienta libre de asistencia a la logopedia, válida tanto para el español como para otros idiomas, y que pueda ser ejecutada en una plataforma distribuida, evitando problemas de incompatibilidad de sistemas operativos. La herramienta consiste en un editor de actividades que permita a los logopedas diseñar sus propias actividades sin necesidad de tener conocimientos técnicos. El editor es totalmente configurable con el fin de que pueda trabajar con el número máximo de patologías posible, adaptándolas a cada caso en particular. Se trabaja el procesado de la señal de voz mediante las técnicas tradicionales y se introducen técnicas que eliminan la influencia del pitch, la cual supone un problema cuando se trata voz de alta tonalidad como es el caso de la voz infantil. Se calcula la longitud del tracto vocal, la cual permite reducir la variabilidad de los formantes mediante su normalización. Se diseña un motor de simulación física, que transforma los parámetros de la señal de voz obtenidos en distintos tipos de movimiento de un objeto que el usuario final visualizará en la pantalla. Se introduce la posibilidad de añadir otras condiciones que influirán en el movimiento del objeto. De esta manera, los logopedas disponen de mayor flexibilidad en el diseño de las actividades y pueden variar el nivel de dificultad de las mismas. Por último, se diseña una interfaz gráfica que guíe a los logopedas en la configuración de actividades, proporcionándole numerosas opciones para configurar y variar. La configuración de las actividades se podrá guardar en un archivo XML para poder compartirla con otros profesionales o poder cargarla en el futuro
Desarrollo de un sistema de seguimiento de pitch y detección de caras en secuencias de vídeo de bajo coste computacional para su aplicación en herramientas de asistencia a la logopedia
Desarrollo de un sistema de seguimiento de pitch y detección de caras en secuencias de vídeo de bajo coste computacional para su aplicación en herramientas de asistencia a la logopedi