Modelos profundos para estimación de puntos de interés en imágenes del rostro humano
Texto completo
(2)
(3) i. AGRADECIMIENTOS Agradezco a mi tutor Luis Baumela y a Roberto Valle por el trabajo conjunto realizado en este proyecto. Por supuesto a mi familia y amigos por estar donde deben estar en todo momento..
(4) ii.
(5) iii. Resumen Este trabajo propone resolver el problema de alineamiento facial mediante el uso de redes neuronales. Concretamente se ha construido un modelo que estima la localización de un conjunto de puntos de interés en el rostro. Para ello se propone una red neuronal convolucional construida a partir de la concatenación, en forma de cascada, de las predicciones de dos redes. En comparación con otros algoritmos similares, se proponen una serie de mejoras que, en conjunto, permiten una localización de los puntos de interés que iguala o mejora a los algoritmos más avanzados en el estado del arte. La mejora principal consiste en el desarrollo de un modelo de red neuronal que permita aprender la forma de la cara, para ello se propone un entrenamiento en dos fases donde en cada fase se entrena un modelo de red neuronal distinto. Como este tipo de redes no tienen información a priori de la cara, en la segunda fase se trata de mejorar la predicción de puntos a partir de la salida de la primera. A diferencia de la primera fase se fuerza a este segundo modelo a predecir todos los puntos cuando se le ocultan algunas salidas del primero. Con esto se consigue que entre ambas redes se obtengan tanto características de la presencia de cada punto, como el conocimiento de como la disposición relativa de los mismos en el espacio para que representen una cara. La segunda propuesta es el uso de una estrategia de aumento de datos agresiva que permita no repetir las muestra en ningún momento. Para ello se hace uso de un generador de imágenes y etiquetas que continuamente va aplicando transformaciones a las imágenes y por tanto genera nuevas muestras de entrenamiento para la red. Otra de las propuestas que se presentan es en la obtención del píxel donde se encuentra un punto en concreto. La salida de la red propuesta es una matriz por cada punto, donde cada píxel representa la probabilidad de presencia del punto. Se propone mejorar la estimación de la posición de los puntos de interés realizando un filtrado del mapa de probabilidad predicho por la red. Con esto se consigue una mayor robustez en la estimación. Por último se ha modificado la función de pérdidas de la red para que pueda ser entrenada en bases de datos con imágenes donde la etiqueta de algunos puntos no existe. Esto permite entrenar en bases de datos donde no existe la etiqueta de ciertos puntos sin que quede afectado el rendimiento general del sistema. Para la evaluación del modelo se han utilizado las bases de datos mas relevantes en la literatura para este problema. Esto permite la comparación con otros trabajos donde en casi todas las bases de datos obtenemos unos resultados que mejoran los obtenidos por las propuestas publicadas hasta ahora.
(6) iv.
(7) v. Summary In this work I propose to resolve the face alignment problem with convolutional neural network (CNN). The algorithm concatenates the outputs of two baseline CNNs and shows excellent results in landmark location. With respect to other solutions, with this algorithm I propose improvements that achieve results equal or better than the most advanced algorithms in the state of the art. The main proposal is to build a model that is able to learn the face shape. To achieve this, a two phases model is proposed. After a first neural network is completed, an equal second network tries to improve first prediction output. The improvement comes when some outputs of first stage are deleted and the second network has to predict with missing inputs. This forces the network to learn how landmarks have to be placed for formming a face. The second proposal is to use hard data augmentation that allows the network to use different images and labels. For this purpose a generator of images and labels with different transformations is used and new input data is generated. Another proposal is about obtaining the pixel location from output maps. This output is a matrix for each landmark and, each element, represents the probability that the landmark is there. I propose to improve landmark estimation by applying a gaussian filter to output maps. The last proposal is to adapt the loss function to handle missing labels in a database. With this improvement the algorithm can train in databases like AFLW where some images have missing landmarks. For model evaluation the most relevant databases in the literature for face aligment are used. These databases are commonly used and they allow the comparison between this model and other works proposals. We obtain better results than other works in almost all databases..
(8) vi.
(9) vii. Índice. Índice 1. 2. 3. 3.1. 3.2. 3.3. 4. 4.1. 4.2. 4.3. 4.4. 4.5. 5. 5.1.. 5.2. 5.3. 6. 6.1. 6.2. 6.3. 6.4. 7. 8.. Introducción . . . . . . . . Estado del arte . . . . . . Recombinator Networks . Redimensionado . . . . . . Función de pérdida . . . . Elección del modelo . . . . Bases de datos usadas . . 300W Pública . . . . . . . 300W Privada . . . . . . . Mempo . . . . . . . . . . . AFLW . . . . . . . . . . . COFW . . . . . . . . . . . Mejoras Propuestas . . . . Aumento de Datos . . . . 5.1.1. Volteo . . . . . . . 5.1.2. Rotaciones . . . . . 5.1.3. Escalados . . . . . 5.1.4. Conversión de color 5.1.5. Oclusiones . . . . . Filtrado Gaussiano . . . . Cascada RCN . . . . . . . Evaluación . . . . . . . . . 300W Pública . . . . . . . 300W Privada . . . . . . . COFW . . . . . . . . . . . AFLW . . . . . . . . . . . Conclusiones . . . . . . . . Líneas Futuras . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1 5 11 12 14 14 17 17 18 18 18 19 21 21 22 22 22 23 23 24 28 33 33 36 39 41 45 47.
(10) viii. Índice.
(11) Índice de figuras. ix. Índice de figuras 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.. 18.. 19. 20. 21. 22. 23. 24. 25. 26. 27.. Imágenes de ejemplo a predecir. . . . . . . . . . . . . . . . . . . . . . Esquema del modelo propuesto por [24] obtenido de su artículo. . . . Esquema del modelo propuesto por [14] obtenido de su artículo. . . . Esquema del modelo propuesto por [11] obtenido de su artículo. . . . Esquema del modelo propuesto por [19] obtenido de su artículo. . . . Esquema del modelo RCN. Ejemplo para imagen de entrada de tamaño (160x160) con 4 ramas y 5 puntos a predecir. . . . . . . . . . . Replicar filas y columnas para duplicar tamaño. . . . . . . . . . . . . Convolución transpuesta para duplicar tamaño. . . . . . . . . . . . . Ejemplo de imágenes generadas. . . . . . . . . . . . . . . . . . . . . . Ejemplo de mapa de probabilidad antes y después de un filtrado gaussiano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evolución de la puntuación al aumentar el tamaño de la ventana para la base de datos de 300W pública. . . . . . . . . . . . . . . . . . . . . Evolución de la puntuación al aumentar el tamaño de la ventana para la base de datos de 300W privada. . . . . . . . . . . . . . . . . . . . . Evolución de la puntuación al aumentar el tamaño de la ventana para la base de datos de COFW. . . . . . . . . . . . . . . . . . . . . . . . Evolución de la puntuación al aumentar el tamaño de la ventana para la base de datos de AFLW. . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de Dropout con 0.2 de probabilidad para 10 mapas de entrada. Diagrama de bloques de un modelo con 2 fases y 10 puntos a predecir. Primera comparación de predicción con un modelo de una etapa (izquierda) y de dos etapas (derecha). Los puntos rojos son las predicciones, los verdes la etiqueta y ambos se unen mediante líneas amarillas. Segunda comparación de predicción con un modelo de una etapa (izquierda) y de dos etapas (derecha). Los puntos rojos son las predicciones, los verdes la etiqueta y ambos se unen mediante líneas amarillas. Diagrama de bloques de un modelo con 3 fases y 10 puntos a predecir. Distribución del error acumulada para 300W pública. . . . . . . . . . Ejemplos de predicciones para 300W pública. . . . . . . . . . . . . . Distribución del error acumulada para 300W privada. . . . . . . . . . Ejemplos de predicciones para 300W privada. . . . . . . . . . . . . . Distribución del error acumulada para COFW. . . . . . . . . . . . . . Ejemplos de predicciones para COFW. . . . . . . . . . . . . . . . . . Distribución del error acumulada para AFLW. . . . . . . . . . . . . . Ejemplos de predicciones para AFLW. Los puntos azules indican que para esa predicción no hay etiqueta. . . . . . . . . . . . . . . . . . . .. 2 5 8 9 10 11 13 13 23 24 26 26 27 27 28 29. 30. 30 31 34 36 37 38 39 41 42 44.
(12) x. Índice de figuras.
(13) xi. Índice de tablas. Índice de tablas 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.. Tamaño de los mapas de características en cada rama. . . . . . . . Resultados de las distintas arquitecturas. . . . . . . . . . . . . . . . Tiempo por iteración para cada base de datos. . . . . . . . . . . . . Evolución de la puntuación al aumentar el tamaño de la ventana en el filtrado gaussiano. . . . . . . . . . . . . . . . . . . . . . . . . . . Resultados de las 3 ramas en 300W pública. . . . . . . . . . . . . . Comparación 300W pública con otros algoritmos. . . . . . . . . . . Comparación con modelo RCN original. . . . . . . . . . . . . . . . . Resultados de las 2 ramas en 300W privada . . . . . . . . . . . . . Comparación 300W privada con otros algoritmos . . . . . . . . . . Resultados de las 3 ramas en COFW. . . . . . . . . . . . . . . . . . Comparación COFW con otros algoritmos. . . . . . . . . . . . . . . Resultados de las 2 ramas en AFLW. . . . . . . . . . . . . . . . . . Comparación AFLW con otros algoritmos. . . . . . . . . . . . . . . Estimación de tiempo por iteración para cada base de datos con multiproceso y procesador de 8 núcleos. . . . . . . . . . . . . . . . . . .. . 12 . 15 . 22 . . . . . . . . . .. 25 33 35 35 37 38 39 40 42 43. . 47.
(14) 1. 1.. Introducción. Actualmente hay muchos dispositivos que tienen incorporados cámaras que permiten tomar imágenes sin ninguna dificultad. Debido a esto el correcto tratamiento de imágenes es muy importante ya que permite dar funcionalidades a estos dispositivos. Una de las posibilidades es interactuar con las personas, donde el reconocimiento facial tiene un gran abanico de posibilidades. Uno de los pasos del reconocimiento facial es el correcto alineamiento de la cara en la imagen. Sin este paso, las tareas de reconocimiento posteriores se dificultan pudiendo llegar a ser irrealizables. Para poder realizar el alineamiento, se sitúan en la imagen una serie de puntos que corresponden a determinadas zonas de la cara. Si estos puntos se colocan de forma precisa, se puede realizar una estimación precisa del alineamiento. En este trabajo el problema que se busca resolver es el de la localización de determinados puntos faciales en imágenes de caras. Para ello se propone un algoritmo basado en redes de neuronas. En los últimos años las redes neuronales han conseguido mejorar considerablemente los resultados en distintos desafíos de la visión artificial. Gracias a la tecnología actual y a la gran cantidad de datos existentes se están desarrollando distintos algoritmos y técnicas que usan redes de neuronas para conseguir resultados nunca vistos anteriormente. Estas técnicas, englobadas comúnmente en el término “deep learning”, permiten realizar distintas tareas dentro de la visión artificial como la clasificación de imágenes o la localización y segmentación de objetos en las mismas. Muchas de las soluciones propuestas para resolver un determinado tipo de problema, están basadas en las redes de neuronas y los cambios son a nivel de arquitectura o de forma de proceder en el entrenamiento. Los modelos de redes neuronales han ido evolucionando en estos últimos años. Una de las mejoras que ha permitido mejorar el rendimiento de estos sistemas es la mezcla de características de distinta profundidad, mediante la concatenación de capas de distintos niveles. Para ello se usan diferentes técnicas para equiparar los tamaños de las matrices, combinarlas y, finalmente, añadir más capas que, en el fondo, permiten que la propia red decida qué mezcla de características de distinto tipo le son útiles [6, 7, 9, 13, 16]. Pese a que es muy difícil observar lo que aprenden estos modelos, poco a poco se van obteniendo ideas que permiten ir cambiando los modelos e ir proponiendo este tipo de estructuras. En este trabajo se utiliza un algoritmo basado en redes neuronales convolucionales que realiza la búsqueda de puntos singulares en imágenes de caras con el objetivo de ser capaces de, dada una cara, situarla y alinearla correctamente. Este problema es una parte del proceso de reconocimiento facial que va desde la detección de una cara en una imagen, a la total identificación de la cara. Para la resolución de este problema en concreto hay que que suponer que se dispone de un detector de caras que entrega las imágenes necesarias para encontrar estos puntos singulares. En este trabajo se utilizan imágenes de caras con anotaciones que indican la localización de los puntos de distintas bases de datos muy utilizadas.
(15) 2. 1 Introducción. en este problema. Aunque a priori, en una cara frontal, los puntos característicos son relativamente sencillos de encontrar, el desafío aumenta cuando consideramos caras que están giradas, donde hay expresiones muy pronunciadas o se presentan oclusiones parciales. Los algoritmos que trabajan en este campo, tratan de ser inmunes en la medida de lo posible a todos estos desafíos. En la imagen 1 puede verse un ejemplo de caras a predecir. Nótese que las orientaciones, las oclusiones o incluso las distintas resoluciones de las imágenes pueden complicar la predicción.. Fig. 1: Imágenes de ejemplo a predecir. Para potenciar el desarrollo de nuevas técnicas que permitan avanzar en el campo del alineamiento facial, se han ido creando competiciones y elaborando bases de datos donde distintos participantes buscan superar a los demás. Es el caso por ejemplo de “300w faces in the wild challenge" que se presenta en el año 2013 y del que aún se siguen usando sus datos para evaluar distintas propuestas. Además de esta, hay varias bases de datos más como por ejemplo, Menpo, AFLW y COFW donde cada una de ellas presenta distintos retos y son las más usadas en la literatura para evaluar los algoritmos de análisis del rostro humano. En este trabajo se parte del modelo propuesto en [9] y, con el objetivo de mejorar sus resultados, se presentan varias propuestas de mejora en distintas fases del proceso y que, en conjunto, llevan a un nuevo algoritmo para resolver este problema. Para la comparación de resultados con este artículo, se van a utilizar las bases de datos de los concursos mencionados anteriormente. Mediante la base de datos de “300w faces in the wild challenge" podemos comparar directamente nuestra propuesta con el algoritmo original de [9]. Además de esta comparación, al evaluar en las bases de datos de AFLW y COFW podremos compararnos con otras propuestas existentes. En cuanto a la ordenación de este trabajo, primero se realizará una revisión del estado del arte que comenta los distintos trabajos publicados para resolver el problema del alineamiento facial. En el capítulo 3 se explican las Recombinator Networks que es el modelo base sobre el que se realizan los entrenamientos. Después en el capítulo 4 se hará un repaso de las bases de datos más utilizadas en la literatura.
(16) 3. y que se usan para evaluar nuestra propuesta. A continuación las mejoras que se proponen se explicarán en el capítulo 5 donde se cuenta en detalle las novedades introducidas. Por último, se presentan los resultados obtenidos en las distintas bases de datos y se comentan una serie de conclusiones así como líneas futuras..
(17) 4. 1 Introducción.
(18) 5. 2.. Estado del arte. Para la resolución del problema de alineamiento facial se han venido utilizando técnicas basadas en cascadas de regresores. Después del renacimiento de las redes neuronales convolucionales, donde han mejorado los resultados anteriores en muchos campos de la visión artificial, han aparecido propuestas que las utilizan para conseguir resultados mejores a los existentes. Por tanto en este apartado vamos a distinguir entre trabajos que utilizan redes neuronales convolucionales [14, 17, 23, 22, 5, 19, 9, 21, 11, 8] que por lo general han tenido mejores resultados y otros trabajos que utilizan otras técnicas [3, 20, 2, 15, 10, 18, 24, 12, 25, 4]. Dentro de estas dos categorías cabe destacar que los trabajos basados en redes neuronales convolucionales obtienen los mejores resultados actualmente. La solución que se propone en esta tesis fin de máster se clasificaría dentro de los trabajos que utilizan redes neuronales para resolver el problema de alineamiento facial. En cuanto a los trabajos que no utilizan redes neuronales por lo general tienen una complejidad de diseño mayor. Sin embargo, a diferencia de las redes neuronales donde es dificil saber que está ocurriendo, permiten realizar retoques para intentar que mejoren las predicciones. En la figura 2 puede observarse un esquema de una propuesta de este grupo donde se ve la complejidad de diseño.. Fig. 2: Esquema del modelo propuesto por [24] obtenido de su artículo. A continuación se va a realizar un repaso individual de los trabajos que pertenecen a este grupo. En [3] se realiza el aprendizaje de una función vectorial de regresión que trata de realizar inferencia en toda la cara. Para ello se realiza una cascada en el aprendizaje donde se va de lo más grande a lo más pequeño. Al realizar esto, consiguen introducir en el modelo las limitaciones de la forma de la cara por lo que evitan tener que usar una parametrización extra. Para realizar la regresión utilizan una mezcla de dos.
(19) 6. 2 Estado del arte. métodos, uno basado en la diferencia de niveles de intensidad entre píxeles, y otro basado en la correlación entre características y la etiqueta objetivo. En [20] proponen un método supervisado que trata de minimizar una función no lineal por mínimos cuadrados. Este entrenamiento supervisado trata de aprender una secuencia que consiga minimizar la media de las funciones de los distintos puntos. A la hora de predecir estos puntos, se utiliza esta secuencia de direcciones aprendidas para minimizar la función. Con ello consiguen evitar los problemas de calcular la Jacobiana o la Hessiana. En [2] incorporan al entrenamiento el aprendizaje de si el punto está o no ocluido para mejorar la predicción de puntos que están ocultos usando cascadas de regresores. Para ello utilizan un conjunto de regresores en pequeñas regiones de la imagen. El peso de estos regresores es inversamente proporcional a la cantidad de oclusión encontrada. Con ello consiguen dar menos valor a las características encontradas en las zonas ocluidas. En resumen esta propuesta es capaz de estimar los puntos y como de ocluidos están mejorando la predicción de imágenes con oclusiones. En [15] presentan un algoritmo que utiliza regresión para realizar el alineamiento facial. Su algoritmo se compone de dos partes. En la primera obtienen un conjunto de características locales binarias para cada punto facial a predecir. En una segunda parte, se utilizan esas características para entrenar un regresor que realizará la predicción. Una de las ventajas de este método es que puede llegar a altas tasas de imágenes por segundo al no ser muy costoso computacionalmente. En [10] utilizan una cascada de regresores que realiza la predicción a partir de un subconjunto de píxeles de la imagen. Para ello utilizan la diferencia de intensidad entre pares de píxeles junto con técnicas de selección de características. En este método además tienen en cuenta la posibilidad de falta de etiquetas al introducir una variable que es 0 si falta la etiqueta en la función objetivo anulando a ese punto. Esto les permite probar en bases de datos donde las etiquetas no son completas. En [18] proponen mejorar la cascada de regresores mediante la predicción de la posición y la oclusión de los puntos con el objetivo de mejorar la predicción de imágenes con grandes gestos y con oclusiones. Introducen un método de regresión supervisada para predecir la oclusión. Para la posición utilizan la oclusión, la apariencia local y la forma de la cara. En [24] proponen un método donde en vez de juntar una cascada de regresores, se realiza una estimación inicial que se va refinando iterativamente. Al realizar una única estimación a través de un espacio que contiene distintas formas de caras, tratan de evitar quedar atrapados en los mínimos locales que afectan a las cascadas de regresores mejorando los resultados de caras con poses extrañas. En [12] utilizan cascadas de arboles gaussianos de regresión. Las características utilizadas son las diferencias de respuestas de filtros de gaussianos en patrones locales. Con este tipo de enfoque consiguen mejorar propuestas anteriores. Con el objetivo de mejorar las cascadas de regresores para que sean invariantes a transformaciones de la cara en la imagen, en [25] realizan una partición del espacio de optimización y predicen la forma de la cara a partir de las estimaciones de múltiples regresores de múltiples dominios. Su solución además está pensada para funcionar.
(20) 7. eficientemente y consiguen alcanzar hasta 350 imágenes por segundo. En [4] proponen un método que consiste en usar una cascada de regresores. En una primera parte se estima la vista de la cara a partir de una primera cascada. Después utilizan descriptores HOG con múltiples escalas para incorporar características locales. Por último realizan un proceso que se basa en la forma de la cara para refinar las predicciones. Una vez realizado este repaso por este conjunto de trabajos, se va a pasar a hablar de los trabajos que actualmente tienen mejores resultados debido al uso de redes neuronales convolucionales. Este tipo de algoritmos está consiguiendo mejores resultados no solo en alineamiento facial si no en muchos de los campos de la visión artificial. Dentro de este grupo hay distintas ideas para conseguir mejores resultados. En este caso se va a realizar un subdivisión en métodos que aprenden una transformación de la imagen de entrada para facilitar la predicción, y métodos que predicen directamente sobre la imagen de entrada. En este caso no hay una clara evidencia de que tipo de algoritmos puede realizar un mejor desempeño. Los trabajos que realizan una transformación de la imagen de entrada son [14, 21, 8, 11, 22] mientras que los que realizan predicción directa sobre la imagen de entrada son [9, 17, 23, 5, 19]. Este trabajo estaría incluido en el segundo grupo ya que no se realiza una transformación de la imagen durante la predicción. En las figuras 3 y 4 pueden verse los esquemas de dos trabajos que involucran una transformación en la imagen de entrada. A continuación se va a realizar un análisis individual de este tipo de trabajos. En [14] tratan de mejorar el problema de inicialización en las arquitecturas de cascadas de regresiones. Para ello presentan un algoritmo que realiza una reinicialización en dos etapas. En la etapa global realizan la reinicializacion a partir de una red supervisada que transforma la predicción a la forma canónica de la cara. En la etapa local, distintas partes de la cara son separadas, reinicializadas a la forma canónica y mediante un última red de regresores se da la estimación final. En [21] realizan en un primer paso un entrenamiento para ser capaces de transformar las cara eliminando rotaciones o traslaciones con el objetivo de tener menor varianza en las imágenes de entrada. Posteriormente se utiliza una red neuronal convolucional con una arquitectura llamada red Hourglass para realizar la predicción. Los resultados que presentan están en el estado del arte aunque no realizan la evaluación en bases de datos tradicionales que utilizan otros trabajos. En [22] se utiliza una red neuronal convolucional para obtener características que serán aprovechadas por un algoritmo de dos etapas. En la primera etapa se implementa una red que combina las características encontradas con el conocimiento de la forma de una cara. En una segunda etapa se estima deformaciones locales para tratar de refinar la predicción. En [8] tratan de utilizar las etiquetas de atributos de las imágenes para mejorar la colocación de los puntos. Además proponen un método de aprendizaje no supervisado donde tratan de conseguir un modelo que prediga landmarks equivariantes ante transformaciones aplicadas a la imagen. Esto ultima ayuda en la generalización.
(21) 8. 2 Estado del arte. Fig. 3: Esquema del modelo propuesto por [14] obtenido de su artículo. y permite mejorar los resultados de la localización de los landmarks. En [11] proponen realizar una predicción mediante etapas de redes neuronales convolucionales. Estas etapas además de realizar una predicción, aprenden una transformación que convierte la cara a su forma canónica. Con esto se consigue que, en las siguientes etapas, se tenga una imagen de entrada sin las rotaciones o traslaciones de la imagen original. Después de la primera etapa, a la siguiente etapa se le alimenta con la imagen de entrada y las predicciones y características de la etapa anterior hasta que finalmente se tienen las predicciones..
(22) 9. Fig. 4: Esquema del modelo propuesto por [11] obtenido de su artículo. Por último en cuanto a los trabajos que realizan predicción directamente sobre la imagen de entrada se puede ver en la figura 5 y en la explicación de este trabajo, ejemplos de este tipo de métodos. A continuación se va a realizar un análisis individual de este tipo de trabajos. En [17] se propone combinar la cascada de regresores con una red neuronal convolucional recurrente. Para ello utilizan la red neuronal para extraer características de la imagen. Además realizan un proceso iterativo que va mejorando las predicciones de la etapa anterior. En [23] proponen realizar una predicción de determinados atributos como por ejemplo si una persona lleva o no gafas para que sirva como ayuda a la localización de los puntos. Al forzar al modelo a obtener información extra de la imagen, mejoran en la colocación de puntos ocluidos. Según avanza el entrenamiento la detección de determinados atributos es detenida al detectar que ya ha llegado a su máximo y por tanto no puede ayudar más a la localización. En [5] realizan la predicción de los puntos mediante el uso de redes neuronales convolucionales. Para ello proponen un método en cascada donde con una primera red hacen una primera predicción que les permite obtener la rotación y escala de la imagen. Una vez hecho esto, realizan un afinamiento de la predicción mediante el uso de parches locales donde se combina el resultado para obtener la predicción total. En [19] realizan una primera predicción mediante una red neuronal convolucional. Posteriormente utilizan una red LSTM (long short term memory) con atención para ir refinando las predicciones. Para ello se fija la atención en un único punto y se refinan los puntos cercanos. Con esto consiguen mejorar los puntos que son difíciles.
(23) 10. 2 Estado del arte. o están bajo oclusión. En las bases de datos de 300W, COFW y AFLW consigue resultados que, aunque ya han sido superados, siguen muy cerca del estado del arte.. Fig. 5: Esquema del modelo propuesto por [19] obtenido de su artículo. En [9] proponen realizar la localización de los puntos faciales mediante una arquitectura que destaca por ir concatenando características con distintos niveles de profundidad de convolución. Con ello, permiten que sea la propia red neuronal la que elija las características adecuadas para la predicción. Por último, también proponen realizar una segunda red que a partir de las predicciones de la primera realice una corrección de los puntos. Para ello corrompen algunos resultados en el entrenamiento con el objetivo de que la red neuronal aprenda la estructura facial en la imagen. En este apartado se ha recorrido los trabajos mas relevantes en el campo del alineamiento facial donde como podrá verse en el apartado 6, los algoritmos basados en redes neuronales consiguen mejores resultados..
(24) 11. 3.. Recombinator Networks. Este trabajo mejora la propuesta de [9] donde presentan un modelo de red neuronal llamado Recombinator Network (RCN) consiguiendo unos resultados en el estado del arte. Este modelo de red neuronal se caracteriza por concatenar mapas de características producidos por filtros que actúan sobre distintas escalas de la imagen original. Esto permite que sea la propia red la que elija de, entre todas las características, las más importantes para la detección de cada punto. En la figura 6 se puede observar un diagrama que representa esta arquitectura.. Fig. 6: Esquema del modelo RCN. Ejemplo para imagen de entrada de tamaño (160x160) con 4 ramas y 5 puntos a predecir. Como se puede ver en la figura 6, el modelo consta de distintas ramas, en este caso cuatro, y es un parámetro a decidir. A mayor número de ramas, el modelo se vuelve mas complejo. El comienzo de cada rama puede entenderse como la cantidad de capas de convolución y "max pooling" realizadas sobre la imagen original. Una vez realizadas estas primeras convoluciones, nótese que es en la rama más alta sobre la que sigue avanzando el proceso. A partir de ahí, al llegar al final de cada rama, se realiza un remuestreo para aumentar el tamaño de la matriz de salida e igualarlo a la matriz de la rama inferior para poder concatenarla a la rama inferior y proseguir con ella. Esto permite que sea la red la que decida con que tipo de características se queda ya que se concatena la salida de filtros con escalas distintas (filtros que actúan antes y después de una capa "max. pooling"). Esta idea se ha utilizado en varias arquitecturas y para diversos propósitos [6, 7, 9, 13, 16] y con ello se consigue que la red utilice para la detección, mapas de características de bajo y alto nivel a la vez..
(25) 12. 3 Recombinator Networks. Una vez se ha llegado a la rama inicial y después de la concatenación y sus respectivas convoluciones, se realizan dos convoluciones más con un tamaño de filtro igual a 1. Finalmente se realiza un Softmax para obtener por cada punto de interés un mapa que indica la probabilidad de que el punto esté en un píxel y sobre el que se calcula el error para ese punto. En este trabajo se va a utilizar un tamaño de imagen de entrada de 160x160 píxeles. Este tamaño es una solución de compromiso ya que, aunque es mejor una resolución mayor, los tiempos de entrenamiento se alargan. Además hay un límite de memoria que no permite que se puedan usar resoluciones mayores. Tab. 1: Tamaño de los mapas de características en cada rama. Rama 1 2 3 4 5 6 7 8. Tamaño de entrada 160x160 80x80 40x40 20x20 10x10 5x5 2x2 1. Con este tamaño de imagen de entrada se puede llegar a crear un modelo de 8 ramas de profundidad. En la tabla 1 se puede ver el tamaño de entrada para cada posible rama. Es necesario probar el número de ramas que mejor se adapta al problema porque, aunque se pueda llegar a tener hasta 8 ramas, puede que un modelo demasiado complejo funcione peor debido a las limitaciones de muestras de cada base de datos.. 3.1.. Redimensionado. La arquitectura RCN tiene una serie de concatenaciones de mapas de características que, como se ha ilustrado en la Tabla 1, tienen distinto tamaños entre ramas. Para poder realizar la concatenación de una rama, con la rama de un nivel de profundidad inferior, es necesario aumentar el tamaño del mapa. Para hacer esto, se considera la utilización de dos técnicas: La primera técnica consiste en replicar las filas y las columnas del mapa de características de menor tamaño. Con esto se consigue duplicar el tamaño de la matriz para conseguir equiparar tamaños. Sin embargo, esta solución supone un problema cuando, para equiparar tamaños, no se necesita duplicar el tamaño de la matriz. Esto ocurre en la concatenación de la rama 7 con la rama 6. Como puede verse en la Tabla 1 se necesita pasar de un tamaño de mapa (2,2) en la rama 7, a un tamaño (5,5) en la rama 6 y mediante la repetición de filas y columnas no se puede conseguir..
(26) 3.1 Redimensionado. 13. Debido a esto, no se puede crear un modelo de 8 ramas si se utiliza solo este método. El límite con esta técnica estaría en 7 ramas y, para ello, se ignoraría la rama 7 y se pasaría directamente de la rama 8 a la rama 6. Esto es posible ya que se puede utilizar el número obtenido en la rama 8 para crear una matriz de tamaño (5,5) con todos los valores iguales a ese valor.. Fig. 7: Replicar filas y columnas para duplicar tamaño. La segunda técnica es utilizar una convolución transpuesta. Esta operación es equivalente a realizar una convolución normal sobre la matriz de entrada pero rellenada con tantas filas y columnas de ceros como para que el resultado sea una matriz del tamaño esperado. La principal diferencia con la técnica anterior es que esta convolución transpuesta también tiene parámetros que serán aprendidos en el entrenamiento, por lo que puede ayudar a mejorar el modelo.. Fig. 8: Convolución transpuesta para duplicar tamaño. En este caso si es posible pasar de un tamaño 2x2 a un tamaño 5x5 ajustando los parámetros de esta operación. Por ello, se puede usar para construir un.
(27) 14. 3 Recombinator Networks. modelo de 8 ramas. Sin embargo, para pasar de la rama 8 a la rama 7, se ha seguido el método de repetir el valor resultante para construir una matriz de tamaño (2, 2).. 3.2.. Función de pérdida. La función utilizada para entrenar el modelo es la misma que la utilizada en [9]. En la última capa se tienen tantos mapas de probabilidad como puntos de interés que se van a predecir. A estos mapas se les ha aplicado una función softmax que hace que la suma de cada mapa individual sume 1 y, por tanto, cada píxel de este mapa representa la probabilidad de que el punto de interés esté situado ahí. Una vez hecho esto, se trata cada mapa como un problema de clasificación y la función de pérdidas usada es “categorical crossentropy” que se puede ver en la fórmula 1 donde t[i,j] representa la etiqueta del punto j, para la imagen i y será un mapa con un 1 en la posición del punto y 0 en las demás. Por otro lado, p[i,j] representa el mapa de probabilidad para el punto j resultado de la predicción de la imagen i. Por último, mask[i,j] representa la presencia de etiqueta o no para un determinado punto j de una imagen i, si ese punto no está presente, mask[i,j] valdrá 0 y si lo está valdrá 1. Gracias a esto se puede cancelar el efecto en la función de pérdida de los puntos sin etiqueta. L[i] = −. . mask[i, j] ∗ t[i, j] ∗ log(p[i, j]). (1). j. Con esto se consigue forzar al modelo a que otorgue probabilidades menores pero que están esparcidas en varios píxeles por lo que en el mapa se consigue tener bastante información de la zona donde debería situarse el punto de interés buscado. En este trabajo se introduce el concepto de máscara en la función de pérdidas. Al añadir mask en el sumatorio podemos controlar qué puntos afectan al entrenamiento y por tanto nos permite entrenar en bases de datos donde faltan etiquetas como por ejemplo AFLW. Tal y como se indica en [9] este método de entrenamiento da mejores resultados que usar como función de pérdidas la distancia euclidiana entre el punto real y la predicción.. 3.3.. Elección del modelo. Una vez se han explicado los mecanismos que forman la red RCN, hay que elegir que arquitectura se va a utilizar. Para ello hay que elegir el número de ramas, y si se va a utilizar la convolución transpuesta como operación para el remuestreo. Para realizar esta decisión, se va a utilizar la base de datos de COFW que, al tener menos muestras, es la más rápida para realizar un entrenamiento, evaluar y elegir la arquitectura que mejor haya funcionado. Aunque puede que para cada base de datos, haya una arquitectura óptima, se va a utilizar en todas las demás la arquitectura que mejor resultado de en este experimento..
(28) 15. 3.3 Elección del modelo. En esta base de datos se utiliza una métrica denominada "Normalized Mean Error" (NME) cuya formula se puede observar en la ecuación 2 donde N es el número total de imágenes, K el número total de puntos a predecir en una imagen, iod representa la forma de normalizar el error y en este caso es la distancia interocular, Ytrue es la etiqueta de un determinado punto e Ypred la predicción para ese punto en concreto. N K 1 1 100 N M E( %) = (Y true[n, k] − Y pred[n, k])) ( N n=1 K k=1 iod[n]. (2). El experimento se realiza mediante el entrenamiento de una arquitectura durante un número de iteraciones. Posteriormente se obtiene el mejor modelo en el conjunto de validación y se evalúa ese modelo en el conjunto de test. Los conjuntos de entrenamiento, validación y test del experimento son siempre los mismos. Las arquitecturas probadas son modelos de 5, 6 y 7 ramas con remuestreo por filas y columnas, un modelo de 7 ramas con remuestreo mediante convolución transpuesta y un modelo de 8 ramas con convolución transpuesta. De esta manera se puede comparar como afecta el aumento de ramas, así como el uso del remuestreo mediante convolución transpuesta. Tab. 2: Resultados de las distintas arquitecturas. Modelo RCN 5 RCN 6 RCN 7 Up RCN 7 TC RCN 8 TC. NME ( %) 6.12 6.14 6.11 6.01 5.98. En la tabla 2 se puede observar el resultado de los distintos entrenamientos sobre la base de datos de COFW. En este caso se mide un error por lo que a menor cantidad, mejor es el modelo. Como se puede observar en la tabla 2, el uso de la convolución transpuesta supone una mejora con respecto a no usarla. Además el modelo que mejor funciona es el de 8 ramas que tiene más complejidad. Por tanto se va a utilizar como modelo RCN la arquitectura con 8 ramas y remuestreo mediante uso de convolución transpuesta..
(29) 16. 3 Recombinator Networks.
(30) 17. 4.. Bases de datos usadas. Antes de presentar las mejoras que se proponen sobre este algoritmo se van a introducir las bases de datos utilizadas para el entrenamiento y evaluación del modelo propuesto. Como ya se ha dicho antes son las bases de datos más utilizadas en la literatura y permiten la comparación de las mejoras propuestas con otros resultados. Estas bases de datos difieren en el número de puntos etiquetados y para poder entrenar en todas ellas se ha realizado un modelo adaptable que solo tiene como parámetro el número máximo de puntos a detectar. Para poder lidiar con la ausencia de etiquetas o mezclar distintas bases de datos se ha implementado un sistema de máscaras para indicarle al modelo sobre que puntos tiene que entrenar por imagen. Para cada una de estas bases de datos se ha utilizado la métrica NME explicada antes, donde la forma de normalizar el error depende de cada base de datos. Todas las bases de datos incluyen una serie de imágenes donde puede haber una o varias caras, la localización de la cara en esa imagen o "bounding box" y las etiquetas de los puntos de interés. En la ecuación 3 se puede ver la fórmula usada para obtener la métrica que consiste en la media de las distancias euclídeas entre la predicción y la etiqueta correspondiente y que, como se ha dicho, está normalizada. Esta normalización se lleva a cabo porque las imágenes son de tamaños distintos y, por tanto, la distancia entre predicción y etiqueta sera mayor para imágenes de gran tamaño que para imágenes de menor resolución.. N M E( %) =. N K 1 1 100 (Y true[n, k] − Y pred[n, k])) ( N n=1 K k=1 iod[n]. (3). En la ecuación 3, N es el número total de imágenes, K el número total de puntos a predecir en una imagen, iod representa la forma de normalizar el error y que depende de cada base de datos, Ytrue es la etiqueta de un determinado punto e Ypred la predicción para ese punto en concreto.. 4.1.. 300W Pública. La primera base de datos con la que se ha comparado la propuesta de esta tesis es la utilizada en el concurso “Faces in the wild challenge”. Esta base de datos utiliza 68 puntos singulares en todas las caras, incluso si estos están ocluidos. Una de las peculiaridades de esta base de datos es que en el conjunto de test, se incluyen imágenes más difíciles que las de entrenamiento, dificultando por tanto la predicción. Por eso, al realizar la evaluación, se suele realizar la división de la puntuación en el subconjunto de imágenes difíciles (IBUG) y de las imágenes comunes. En total, la cantidad de muestras de entrenamiento es de 3148 imágenes y se evalúa en 689 imágenes de validación..
(31) 18. 4.2.. 4 Bases de datos usadas. 300W Privada. Esta base de datos es una actualización de la anterior donde hay nuevas muestras. La principal característica es que se utiliza toda la base de datos pública como conjunto de entrenamiento y se utiliza un nuevo conjunto de test. Cabe recordar que las imágenes de test, que eran especialmente difíciles y que pertenecen al conjunto de prueba de la base de datos pública, ahora están como imágenes de entrenamiento. Por ello es esperable que se consigan mejores puntuaciones. La métrica utilizada es exactamente la misma que en la base de datos pública. El conjunto de entrenamiento tiene un total de 3837 imágenes que es igual al número total de imágenes de la base de datos pública, y se añaden 600 imágenes como conjunto de test.. 4.3.. Mempo. Esta base de datos contiene imágenes de perfil además de imágenes de caras frontales. Sin embargo las etiquetas del conjunto de prueba no están disponibles, teniendo que enviar los resultados a los creadores para obtener una puntuación. En las imágenes de perfil aparecen, lógicamente, menos puntos que en las frontales, pero un entrenamiento conjunto podría servir como potenciación de ciertas zonas de la cara que van a aparecer mas veces y con diferentes poses. En el caso de entrenar solo con las imágenes frontales nos encontraríamos en un problema similar a 300W con todas las muestras de entrenamiento con 68 etiquetas. Sin embargo, si utilizamos toda la base de datos, tendremos imágenes con 68 etiquetas y con 39 etiquetas. Para poder entrenar en todas las imágenes de esta base de datos, es necesario utilizar la mejora propuesta en esta tesis fin de máster de introducir una máscara en la función de pérdidas. La cantidad de muestras de entrenamiento en el caso de utilizar solo las imágenes frontales es de 6679, mientras que en el caso de utilizar toda la base de datos tenemos 8979 imágenes de entrenamiento. La cantidad de imágenes de test es de 16259 muestras.. 4.4.. AFLW. Esta base de datos dispone de imágenes con hasta 21 puntos. Sin embargo, solo están presentes las anotaciones sí esos puntos son visibles. Por tanto es necesario usar la máscara para que los puntos faltantes no tengan impacto en la función de pérdidas ya que las imágenes de entrenamiento tendrán un número indeterminado de etiquetas. En este caso, para normalizar, no se puede usar la distancia interocular en la función de evaluación ya que puede no existir la etiqueta de algún ojo. La normalización se realiza usando la altura de la cara que viene dada por la altura del "bounding box". Esto hace que la puntuación obtenida no sea comparable con las demás bases de datos. Cabe destacar que debido a la posible falta de etiquetas, es.
(32) 4.5 COFW. 19. necesario utilizar la mejora propuesta en esta tesis fin de máster de introducir una máscara en la función de pérdidas. La cantidad de muestras del conjunto de entrenamiento es de 19312 imágenes mientras que la cantidad de muestras del conjunto de test es de 4828 imágenes.. 4.5.. COFW. Esta base de datos contiene imágenes con 29 etiquetas que están siempre presentes en la imagen. Por tanto es un problema similar al de las bases de datos de 300W y Menpo. En este caso la métrica utilizada para evaluar es similar a 300W pero teniendo en cuenta que hay 29 etiquetas en vez de 68. La cantidad de muestras del conjunto de entrenamiento es de 1345 imágenes mientras que el conjunto de test dispone de 507 imágenes..
(33) 20. 4 Bases de datos usadas.
(34) 21. 5.. Mejoras Propuestas. Una vez definida la arquitectura RCN, las bases de datos a evaluar y habiendo escogido el número de ramas y la forma de hacer el remuestreo, se van a plantear una serie de propuestas para mejorar el rendimiento del modelo. Estas mejoras se engloban en tres ámbitos: Proceso de entrenamiento. Arquitectura de la red. Postprocesado de los resultados.. 5.1.. Aumento de Datos. Debido a las limitaciones de muestras de las bases de datos se van a usar técnicas de aumento de datos en las muestras de entrenamiento con el fin de ayudar al modelo a generalizar mejor. Se ha planteado un sistema de aumento de datos en forma de generador. Esto significa que en el momento en que el entrenamiento requiere una imagen, se realizará sobre ella una serie de modificaciones de carácter aleatorio. Esto ayuda a generalizar porque no se repiten nunca las mismas muestras, sin embargo, tiene un claro impacto en el coste computacional al transformar continuamente las imágenes de entrenamiento. Las transformaciones que se llevan a cabo son: Volteo sobre el eje y. Rotaciones aleatorias en torno al centro en el rango (-30o , 30o ). Conversión de color a blanco y negro. Escalados tanto acercamiento como alejamiento. Oclusiones aleatorias en color y tamaño. Traslaciones en ambos ejes. Por cada imagen, se realizan estas operaciones. En la tabla 3 puede observarse el tiempo medio por iteración, es decir, el tiempo aproximado que se tarda en aplicar una transformación de cada tipo a todas las imágenes del conjunto de entrenamiento..
(35) 22. 5 Mejoras Propuestas. Tab. 3: Tiempo por iteración para cada base de datos. Base de Datos 300W Pública 300W Privada Menpo COFW AFLW. Tiempo por iteración 160 segundos 190 segundos 210 segundos 20 segundos 545 segundos. Las pruebas se han realizado en un ordenador con las siguientes características: R CPU E5-2630 v3 @ 2.40GHz x 16. Intel Xeon. Nvidia GeForce GTX 1080. 23,5 GB de RAM. A continuación se pasa a describir con algo más de profundidad estas transformaciones y cómo se han aplicado. 5.1.1.. Volteo. El volteo se realiza con carácter aleatorio. Cuando la red requiere una imagen, esta se devuelve con volteo o sin él con una probabilidad del 50 %. Hay que tener en cuenta que las etiquetas faciales tienen que ser modificadas, no solo en el valor (x,y) sino también, en la posición en el array de etiquetas porque, por ejemplo, en caso de realizar un volteo, el ojo izquierdo pasa a ser el ojo derecho. 5.1.2.. Rotaciones. Las rotaciones se realizan siempre en todas las imágenes cuando son requeridas por la red. En este caso la cantidad de rotación se elige aleatoriamente siguiendo una distribución uniforme entre -30 y 30 grados. Sin embargo, en caso de que la rotación provoque que alguna de las etiquetas quedase fuera del “bounding box” se desecha y en esa imagen no se realiza este tipo de aumento de datos. Esto se hace para evitar muestras extrañas que provocan que algún punto pueda verse afectado negativamente en el entrenamiento. 5.1.3.. Escalados. En todas las imágenes se realiza un aumento de la “bounding box” que permite que haya menos casos extraños en las rotaciones. Una vez hecho esto, se realiza un escalamiento mediante un factor que puede estar entre (0.85, 1.15) con probabilidad uniforme. Al igual que al realizar las rotaciones, si alguna de las etiquetas quedase fuera del “bounding box” una vez se ha realizado el escalamiento, este no se realizaría..
(36) 23. 5.1 Aumento de Datos. 5.1.4.. Conversión de color. Las bases de datos pueden contener imágenes de color o imágenes en blanco y negro. Se ha utilizado un aumento de datos basado en transformar una imagen de color a blanco y negro con una probabilidad del 30 %. Nótese que para respetar el número de canales de entrada a la red neuronal, las imágenes en blanco y negro siguen teniendo 3 canales. 5.1.5.. Oclusiones. Para mejorar el desempeño de la red neuronal en imágenes donde las etiquetas están ocluidas, se realiza una oclusión aleatoria en todas las imágenes. Esta oclusión consiste en un rectángulo donde las dimensiones de ancho y alto así como la posición, son escogidas aleatoriamente siguiendo una distribución uniforme. Estas dimensiones sin embargo están limitadas a un 40 % del tamaño de la imagen, es decir, la máxima oclusión puede tener un alto y ancho máximos del 40 % del tamaño de la imagen. En la Figura 9 se puede ver un ejemplo de las imágenes generadas para alimentar a la red neuronal.. Fig. 9: Ejemplo de imágenes generadas..
(37) 24. 5.2.. 5 Mejoras Propuestas. Filtrado Gaussiano. Una de las propuestas que se realiza es la aplicación de un filtrado gaussiano a los mapas de probabilidad que produce la red cuando se realiza la predicción. Por cada punto que se quiere predecir, hay un mapa de probabilidad que nos indica dónde puede estar situado. Una de las posibles técnicas para obtenerlo es coger la posición de probabilidad máxima. Sin embargo, esto puede provocar que, habiendo una nube de probabilidad repartida en torno al punto real, se elija un punto bastante alejado que tenga un único píxel con un valor algo más alto. Para evitarlo, se propone realizar un filtrado gaussiano. Gracias a este filtrado se trata de mitigar este efecto favoreciendo las zonas de alta probabilidad amplias y tratando de descartar píxeles solitarios que podrían hacer fallar la predicción.. Fig. 10: Ejemplo de mapa de probabilidad antes y después de un filtrado gaussiano.. En la figura 10 se puede ver como un único píxel en la parte superior izquierda con mayor valor que los píxeles contiguos de una zona en la parte inferior derecha, sería el escogido. Sin embargo al aplicar el filtrado gaussiano el mapa se transforma y ahora el valor máximo está en la zona más amplia. Al realizar un filtrado gaussiano hay que elegir el tamaño de la ventana que se va a utilizar. Se ha realizado un estudio sobre como evoluciona la puntuación para las distintas bases de datos al aplicar el filtrado gaussiano con diferentes tamaños de ventana. En la tabla 4 puede verse el efecto del filtrado gaussiano en la puntuación obtenida en las distintas bases de datos. Nótese que una ventana de tamaño 0 indica que no se aplica filtrado gaussiano y se elige directamente como localización de un punto, el píxel de valor máximo en el mapa de probabilidad..
(38) 25. 5.2 Filtrado Gaussiano. Tab. 4: Evolución de la puntuación al aumentar el tamaño de la ventana en el filtrado gaussiano. Tamaño Ventana 0 3 7 11 15 19 23 27 31 39 47 59 67 75 87 95. 300W Pública NME( %) 5.514 5.440 5.377 5.341 5.314 5.298 5.290 5.284 5.281 5.276 5.275 5.279 5.289 5.301 5.333 5.369. 300W Privada NME( %) 4.625 4.575 4.535 4.511 4.499 4.489 4.482 4.480 4.479 4.472 4.470 4.473 4.481 4.490 4.513 4.536. COFW NME( %) 6.661 6.590 6.564 6.513 6.484 6.474 6.456 6.434 6.428 6.416 6.396 6.393 6.391 6.386 6.388 6.390. AFLW NME( %) 2.379 2.360 2.352 2.348 2.349 2.350 2.351 2.353 2.354 2.357 2.357 2.359 2.359 2.360 2.366 2.375. Una de las conclusiones que sacamos de estos resultados es que la aplicación del filtrado gaussiano mejora la puntuación en todas las bases de datos. Por otro lado, puede observarse como según se aumenta el tamaño de la ventana, la puntuación va disminuyendo hasta que, llegado un determinado punto, esta empieza a empeorar. Sin embargo, para cada base de datos este punto de cambio es distinto. Este comportamiento se ilustra en las figuras 11, 12, 13 y 14. A tenor de estos resultados, se ha elegido usar un valor de tamaño de ventana de 31 que, aunque puede no ser el más óptimo, estará en una zona donde los cambios de puntuación son muy pequeños..
(39) 26. 5 Mejoras Propuestas. Fig. 11: Evolución de la puntuación al aumentar el tamaño de la ventana para la base de datos de 300W pública.. Fig. 12: Evolución de la puntuación al aumentar el tamaño de la ventana para la base de datos de 300W privada..
(40) 5.2 Filtrado Gaussiano. 27. Fig. 13: Evolución de la puntuación al aumentar el tamaño de la ventana para la base de datos de COFW.. Fig. 14: Evolución de la puntuación al aumentar el tamaño de la ventana para la base de datos de AFLW..
(41) 28. 5.3.. 5 Mejoras Propuestas. Cascada RCN. La principal propuesta que se realiza en este trabajo fin de máster es el uso de un segundo modelo RCN que trate de predecir los puntos a partir de la salida del primer modelo. Para ello es necesario realizar un entrenamiento en fases. En una primera fase, se entrena un modelo RCN tal y como se ha contado hasta ahora, donde la entrada es la imagen y la salida un mapa de probabilidad por punto a predecir. Después, en una segunda fase, se añade y entrena otro modelo RCN que tiene como entrada todos los mapas de probabilidad de la etapa anterior. Llegados a este punto la entrada y salida de los nuevos modelos RCN son mapas de probabilidad así que es fácil añadir nuevas etapas. Sin embargo cada nueva etapa conlleva un proceso de entrenamiento completo y puede resultar muy costoso computacionalmente. El objetivo de añadir una nueva etapa es corregir aquellos puntos que han podido ser mal colocados. Al no observar a la imagen directamente, a esta segunda red no se le pide detectar los puntos individualmente, si no que observe el conjunto de todos ellos, y corrija los que estén en una posición errónea. Por tanto el principal objetivo de esta segunda etapa es el de conseguir que todos los puntos estén colocados de forma que formen una cara. Un ejemplo claro de este tipo de corrección es si el punto del ojo derecho está situado a la izquierda del punto del ojo izquierdo, siendo algo imposible en una cara.. Fig. 15: Ejemplo de Dropout con 0.2 de probabilidad para 10 mapas de entrada..
(42) 5.3 Cascada RCN. 29. Para ayudar a esta segunda red a conseguir este objetivo, se aplica una capa de Dropout a los mapas de probabilidad de entrada, es decir, con una cierta probabilidad p, los mapas de entrada al segundo modelo son borrados. Esta probabilidad p se ha establecido a 0.2 ya que si se borran demasiados mapas de probabilidad, el modelo puede no tener información suficiente para situar la cara. En la figura 15 puede observarse un diagrama representando por tanto la idea propuesta. El modelo propuesto tiene por tanto dos partes, un primer modelo RCN que a partir de la imagen busca los puntos de interés y un segundo modelo que observando en torno al 80 % de los resultados de la primera etapa trata de volver a predecir todos los puntos y corrige aquellos puntos que hayan podido estar mal colocados con respecto a todos los demás. El esquema general del modelo se puede ver en la figura 16.. Fig. 16: Diagrama de bloques de un modelo con 2 fases y 10 puntos a predecir. Cabe destacar que los puntos donde más efecto tiene esta segunda fase son los del contorno de la cara. Estos puntos son los que menos características visuales tienen y, por tanto, en los que la red tiene menos certeza al analizarlos individualmente. Al obligar a la segunda red a predecir un punto sin conocer el anterior mapa de probabilidad, se fuerza a que consiga información de mapas vecinos y, por tanto, a que aprenda la posición relativa de los puntos en la cara..
(43) 30. 5 Mejoras Propuestas. Fig. 17: Primera comparación de predicción con un modelo de una etapa (izquierda) y de dos etapas (derecha). Los puntos rojos son las predicciones, los verdes la etiqueta y ambos se unen mediante líneas amarillas. En las figuras 17 y 18 puede observarse la corrección de los puntos en el contorno de la cara. Se puede ver como el segundo modelo obtiene una mejor localización de los puntos de contorno que forman la cara. Esta mejora en estos puntos se traduce en una bajada del error en las puntuaciones de los conjuntos de test.. Fig. 18: Segunda comparación de predicción con un modelo de una etapa (izquierda) y de dos etapas (derecha). Los puntos rojos son las predicciones, los verdes la etiqueta y ambos se unen mediante líneas amarillas. Una vez terminado el entrenamiento de la segunda cascada, se podría añadir otro fase de entrenamiento. Esta tercera fase también tendría una capa de Dropout que ocultaría algunos mapas de la fase anterior. Debido a esto, se espera que pueda ser una potenciación de la fase anterior o que no llegue a tener un efecto de mejora..
(44) 5.3 Cascada RCN. 31. En las pruebas realizadas solamente en el caso de COFW una tercera cascada ha mejorado los resultados obtenidos de la segunda fase. En la figura 19 se puede observar un diagrama de un modelo con tres fases.. Fig. 19: Diagrama de bloques de un modelo con 3 fases y 10 puntos a predecir. Debido al coste computacional que tiene realizar un entrenamiento completo, no se ha considerado usar más de 3 cascadas en la base de datos de AFLW. Por otro lado, en la base de datos de 300W privada no se ha realizado tampoco un entrenamiento en 3 fases ya que es una base de datos similar a 300W pública y en esta base de datos, los resultados no fueron mejores que con 2 fases..
(45) 32. 5 Mejoras Propuestas.
(46) 33. 6.. Evaluación. Se va a evaluar el modelo formado por dos etapas RCN con 8 ramas en las bases de datos de 300W pública y privada, Menpo, AFLW y COFW. Para ello se va a obtener la puntuación NME( %) explicada en la sección bases de datos. Además se va a obtener la gráfica que representa la distribución del error acumulada, es decir cuantas imágenes tienen menor error que un determinado umbral. Sobre esta gráfica se calculará el área bajo la curva y la tasa de fallos de diversos algoritmos de los que se dispone el código con el objetivo de realizar una comparación. Esta manera de evaluar el modelo es ampliamente utilizada en estas bases de datos. Se ha buscado proceder de forma similar para poder comparar el método expuesto en este trabajo con otras propuestas encontradas en la literatura.. 6.1.. 300W Pública. Se ha realizado un entrenamiento en esta base de datos con hasta 3 cascadas. En todas las fases el modelo escogido es el que tiene mejor puntuación en un conjunto de validación obtenido a partir de las muestras de entrenamiento y que es el mismo para todas las fases. Los resultados de las diferentes ramas se pueden observar en la tabla 5. Tab. 5: Resultados de las 3 ramas en 300W pública. Modelo 1 Cascada 2 Cascadas 3 Cascadas. Total NME( %) 5.09 4.84 4.85. Common NME ( %) 4.34 4.13 4.14. IBUG NME( %) 8.36 7.91 7.93. Se puede observar en la tabla 5 que el gran cambio sucede al introducir la segunda fase, donde el modelo aprende la forma que tiene que tener una cara. Entre la segunda y la tercera fase las diferencias son mínimas. En esta base de datos el total de las imágenes de test se suele dividir en dos subgrupos, por un lado Common que son imágenes similares a las imágenes de entrenamiento, y por otro lado IBUG que son imágenes especialmente difíciles y que no se encuentran en el conjunto de entrenamiento. Con el objetivo de comparar esta propuesta con otras encontradas en la literatura se muestra en la figura 20, la curva de distribución de error acumulada junto con los métodos de los que se dispone el código. Esta gráfica representa la cantidad de imágenes que tienen un error menor a un determinado NME. El primer número entre paréntesis indica el área bajo la curva en tanto por ciento (AUC). El segundo número entre paréntesis indica la tasa de fallos en tanto por ciento (FR), es decir, el porcentaje de imágenes con un error mayor al límite establecido por la gráfica que en este caso es un NME de 8. Como puede verse, aunque la propuesta de esta tesis fin de máster no es la mejor en las imágenes de menor error, tomando todo.
(47) 34. 6 Evaluación. Fig. 20: Distribución del error acumulada para 300W pública. el conjunto de los datos, se sitúa como la mejor solución teniendo el mayor AUC y menor FR para un NME de 8. Además en la tabla 6 puede verse una comparación con distintas propuestas en base al NME que se ha encontrado en los respectivos artículos. Esta comparación incluye más trabajos al no limitarnos a los trabajos de los que se dispone el código. Este trabajo parte del modelo RCN planteado por [9] así que para observar como nuestras propuestas afectan al rendimiento en esta base de datos, se presenta en la tabla 7 una comparación directa. Además, también se realiza la comparación con una propuesta posterior realizada por el mismo autor que usa de base un modelo RCN [8]. Los resultados obtenidos en esta base de datos superan los anteriores resultados vistos en los mencionados trabajos y de los que se dispone esta puntuación. En la comparación directa con el trabajo original del modelo RCN [9] puede observarse como este modelo con dos fases mejora por bastante su puntuación. Además, este método también mejora la propuesta de los mismos autores [8] que también usaba un modelo RCN como base..
(48) 35. 6.1 300W Pública. Tab. 6: Comparación 300W pública con otros algoritmos. Modelo RCPR [2] ESR [3] SDM [20] ERT [10] LBF [15] CFSS [24] cGPRT [12] DDN [22] TCDCN [23] RCN [9] RCN + DKM [9] RCN+ (L+T) [8] DAN [11] LV et al [14] RAR [19] Our Method. Total NME( %) 8.35 7.58 7.52 6.40 6.32 5.76 5.71 5.65 5.54 5.54 5.41 5.26 5.03 4.99 4.94 4.84. Common NME ( %) 6.18 5.28 5.60 4.95 4.73 4.80 4.70 4.67 4.24 4.42 4.36 4.12 4.13. IBUG NME( %) 17.26 17.00 15.40 11.98 9.98 8.60 9.00 8.44 8.20 7.57 7.56 8.35 7.91. Tab. 7: Comparación con modelo RCN original. Modelo RCN [9] RCN + DKM [9] RCN+ (L+T) [8] Our Method. Total NME( %) 5.54 5.41 5.26 4.84. Common NME ( %) 4.70 4.67 4.24 4.13. IBUG NME( %) 9.00 8.44 8.20 7.91. En la figura 21 pueden verse algunas de las predicciones realizadas por el modelo entrenado para esta base de datos..
(49) 36. 6 Evaluación. Fig. 21: Ejemplos de predicciones para 300W pública.. 6.2.. 300W Privada. Esta base de datos contiene como imágenes de entrenamiento todas las muestras de 300W pública añadiéndose un nuevo conjunto para evaluar. Para el entrenamiento también se ha creado un conjunto de validación a partir de las muestras de entrenamiento que es el mismo para todas las fases. El modelo escogido en cada fase es el de la iteración que ha obtenido mejor puntuación en validación. Al ser una base de datos muy similar a 300W pública, se va a escoger la misma estrategia de dos fases y no se va a realizar una tercera fase de entrenamiento que supone un gran coste computacional. En la tabla 8 puede verse la mejora al introducir una segunda rama..
(50) 37. 6.2 300W Privada. Tab. 8: Resultados de las 2 ramas en 300W privada Modelo 1 Rama 2 Ramas. Total NME( %) 4.45 4.27. Indoor NME ( %) 4.28. Outdoor NME( %) 4.25. En esta base de datos se suele distinguir entre un subconjunto Indoor y un subconjunto Outdoor. En la figura 22 se presenta la distribución de error acumulado comparándolo con otras propuestas de las que se dispone el código. El primer número entre paréntesis indica el área bajo la curva en tanto por ciento. El segundo número entre paréntesis indica la tasa de fallos en tanto por ciento, es decir, el porcentaje de imágenes con un error mayor al límite establecido por la gráfica que en este caso es un NME de 8. Como puede verse la propuesta realizada en esta tesis consigue mejorar a muchas propuestas anteriores y está a la par que la propuesta realizada por [11] donde se consigue un área bajo la curva mayor y un menor error.. Fig. 22: Distribución del error acumulada para 300W privada. Además se puede observar en la tabla 9, una comparación con los artículos que tienen evaluación en esta base de datos. Esta base de datos es más moderna y hay menos trabajos que hayan efectuada esta evaluación..
(51) 38. 6 Evaluación. Tab. 9: Comparación 300W privada con otros algoritmos Modelo MDM [17] DAN [11] Our Method SHN [21]. Total NME( %) 5.05 4.30 4.27 4.05. Indoor NME ( %) 4.28 4.10. Outdoor NME( %) 4.25 4.00. Los resultados obtenidos son excelentes superados solamente por [21]. En la figura 23 pueden verse algunas de las predicciones realizadas por el modelo entrenado para esta base de datos.. Fig. 23: Ejemplos de predicciones para 300W privada..
(52) 39. 6.3 COFW. 6.3.. COFW. Esta base de datos tiene etiquetados 29 puntos en todas las muestras. Esto quiere decir que al igual que en 300W y Menpo no hay que lidiar con falta de etiquetas. Para realizar el entrenamiento se ha obtenido un conjunto de entrenamiento y otro de validación que se repite en todos los experimentos. Se han realizado 3 etapas de entrenamiento donde el modelo escogido en cada una de ellas es el de la iteración que mejor se comporta en el conjunto de validación. Esta base de datos contiene un número pequeño de muestras por lo que es muy importante la estrategia de aumento de datos que se está usando en este trabajo. Al tener un menor número de muestras, el tiempo que lleva realizar los entrenamientos se reduce. En la tabla 10 pueden verse los resultados de utilizar distintas etapas de entrenamiento. Tab. 10: Resultados de las 3 ramas en COFW. Modelo 1 Rama 2 Ramas 3 Ramas. NME( %) 6.08 5.64 5.49. Como se puede observar en la tabla 10, el mejor resultado se obtiene al utilizar 3 etapas. Esto difiere de lo que sucedía en la base de datos de 300W. Por otro lado, en esta base de datos no se hace una diferenciación en subgrupos del conjunto de test por lo que solo se obtiene la puntuación del total de las imágenes.. Fig. 24: Distribución del error acumulada para COFW..
(53) 40. 6 Evaluación. En la figura 24 se muestra la distribución de error acumulada junto de nuestro modelo frente a otros métodos de los que se dispone el código y que están adaptados para usarse en esta base de datos. El primer número entre paréntesis indica el área bajo la curva en tanto por ciento. El segundo número entre paréntesis indica la tasa de fallos en tanto por ciento, es decir, el porcentaje de imágenes con un error mayor al límite establecido por la gráfica que en este caso es un NME de 8. Como puede verse, se obtiene un mejor resultados que los dos modelos con los que se realiza la comparación. Por otro lado en la tabla 11 puede observarse una comparación del NME con otros trabajos que han presentado puntuaciones en esta base de datos. Tab. 11: Comparación COFW con otros algoritmos. Modelo NME( %) ESR [3] 11.20 RCPR [2] 8.50 TCDCN [23] 8.05 RAR [19] 6.03 Wu et al. [18] 5.93 SHN [21] 5.60 Our Method 5.49 La propuesta con 3 etapas consigue mejorar los resultados de todos los demás algoritmos siendo una décima mejor que los resultados presentados por [21]. En la figura 25 pueden verse algunas de las predicciones realizadas por el modelo entrenado para esta base de datos. Nótese que en esta base de datos la resolución de las imágenes es bastante baja..
(54) 41. 6.4 AFLW. Fig. 25: Ejemplos de predicciones para COFW.. 6.4.. AFLW. Esta base de datos contiene 19312 imágenes de entrenamiento lo que la convierte en la base de datos más extensa utilizada en este trabajo. Las muestras contienen etiquetas de hasta 21 puntos faciales. Sin embargo, no todas las etiquetas están presentes ya que solo los puntos totalmente visibles se marcan. Para poder entrenar en esta base de datos ha sido necesario adaptar el modelo para que pueda usar imágenes a las que falta por etiquetar la posición de algunos puntos. El haber adaptado la función de pérdidas usando una máscara permite poder entrenar en esta base de datos (ver capítulo 3.2). Cabe destacar que debido a la posible ausencia de las etiquetas de los ojos, no se puede normalizar por la distancia interocular como en las demás bases de datos. En esta base de datos es común normalizar por la altura de la cara que viene dado por el bounding box. Por ello, la métrica resultante no es comparable con las demás bases de datos. Por ejemplo una diferencia de 2 décimas en esta base de datos significa una mejora mayor que 2 décimas en 300W. Debido al tiempo que tarda cada iteración en esta base de datos, solo se han realizado dos etapas de entrenamiento. En la tabla se presentan los resultados de.
Documento similar
En junio de 1980, el Departamento de Literatura Española de la Universi- dad de Sevilla, tras consultar con diversos estudiosos del poeta, decidió propo- ner al Claustro de la
Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre
(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,
Missing estimates for total domestic participant spend were estimated using a similar approach of that used to calculate missing international estimates, with average shares applied
The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,
La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de
Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de
Cuando el mensaje secreto es ocultado en un objeto contenedor a través de una técnica esteganográfica se obtiene un esteganograma que contendrá el mensaje oculto, este proceso