In this document we present the design and implementation of a Convolutional Neural Network (CNN) used for 2 distinct image classification tasks: individual recognition and facial expression recognition. Individual recognition consists in being able to identify a person visually. Facial expression recognition has the objective of determining the emotions of a person from the expressions on their face. Several distinct architectures were used to test the performance of the CNN in both tasks. The number of convolutional layers and fully-connected layers was varied in order to assess the impact that they each have on the model regarding classification efficiency. The obtained results are presented graphically to ease their analysis. These results are considered adequate, if surely behind the current state-of-the-art, because they fulfill this project's objective of analyzing the behavior and performance of a CNN in 2 computer-vision complex tasks. The results reaffirm the importance that training data, task at hand and network architecture all have on the performance of the model.
En el presente documento se expone el diseño y la implementación de una Red Neuronal Convolucional (CNN) utilizada para realizar 2 tareas de clasificación de imágenes: el reconocimiento de individuos y el reconocimiento de expresiones faciales. El reconocimiento de individuos consiste en poder identificar a un individuo de manera visual. El reconocimiento de expresiones faciales tiene como objetivo determinar el estado de ánimo de una persona a partir de los gestos de su rostro. Se utilizaron distintas arquitecturas para probar el desempeño de la CNN en ambas tareas. Se varía el número de capas de convolución y el número de capas completamente conectadas para conocer el impacto que tiene cada una de ellas en el modelo en cuanto la eficiencia de la clasificación. Los resultados obtenidos son presentados gráficamente para mayor facilidad de su análisis. Éstos se encontraron adecuados, sí bien por debajo del estado del arte, pues cumplen con el objetivo de este trabajo de analizar el comportamiento y desempeño de una CNN en dos tareas complejas de visión computacional. Los resultados reafirman la importancia que tienen de los datos de entrenamiento, la tarea a realizar y la arquitectura de la red en el desempeño de la misma.