Mi última optativa de la carrera fue "Aprendizaje Profundo para Visión por Computadora", y aunque aprender sobre Redes Neuronales fue emocionante, la tarea/proyecto que más disfruté hacer fue Detección de emociones.
Este proyecto consistía en transformar un conjunto de imágenes de píxeles en vectores de componentes. Al final se contaba con un data frame de vectores y atributos o features. Este conjunto de datos iba a ser con los que se iba a entrenar una Máquina de Soporte Vectorial (SVM).
Otra solución
Las imágenes eran de pixeles, por lo que eran un total de 4096 features, es decir, muchas.
Con una búsqueda en Google Scholar encontré un par de artículos que hablaban del desempeño de Máquinas de Soporte Vectorial para la clasificación de imágenes pero al ser procesadas por un feature descriptor llamado Histograms of Oriented Gradients (HOG) y un algoritmo de aprendizaje no supervisado llamado Principal Component Analysis (PCA)
El artículo se llama Facial Expression Classification Based on SVM, KNN and MLP Classifiers
Repositorio del proyecto
La Jupyter Notebook donde desarrollo todo el proceso (y escribo un poco más) esta en español, así que pueden clonar el repositorio experimentar con diferentes valores:
isaacarroyov / fer_without_ann
Machine Learning Project where the approach to a Facial Expression Recognition (FER) problem is with Classical Machine Learning Algorithms
Facial Expression Recognition (FER) without Artificial Neural Networks
SVM, PCA and HOG join forces to solve a Computer Vision problem.
Content
In this repository you can find the notebook and scripts used in the Medium post "Facial Expression Recognition (FER) without Artificial Neural Networks"
Software requirements
If you want to replicate the code I recommend installing the following Python libraries:
Documentation of the code
Data manipulation
Data visualization
Image manipulation
Machine Learning
Discussion (0)