Nunca tuve claro qué estudiar. Siempre me había apasionado la tecnología, la música y el cine. En U-tad encontré el Grado en Ingeniería del Software, una carrera que, a pesar de tratarse una ingeniería, contaba con asignaturas transversales de otras áreas de conocimiento. Esto, junto al entorno de la universidad en las que en la misma facultad he convivido con estudiantes de diseño, animación y diseño de videojuegos, han conseguido proporcionarme a mí y a mis compañeros una perspectiva de la industria cuando menos interesante.
Entré a la carrera sin conocimiento alguno de programación. Por suerte, conté con todo el apoyo de mis profesores, amigos y compañeros y tras muchas tardes de estudio en la universidad he conseguido no solo terminarla, sino también hacerme valer como profesional.
Un punto de inflexión en mi trayectoria en U-tad fue llegar a tercero, donde encontré asignaturas mucho más específicas que me descubrieron todo un mundo que me moría por conocer: la inteligencia artificial. Aun así, el año que más he disfrutado de la universidad ha sido el último. Por un lado, ha sido gracias a haber cursado la asignatura de prácticas donde por fin comprendí que estoy mucho más preparada de lo que pensaba y que, aunque el mundo laboral asuste, estoy más que capacitada para enfrentarme a él.
Por otro lado, el Trabajo de Fin de Grado, a pesar de haberme traído tantos quebraderos de cabeza, me ha permitido juntar bajo el mismo proyecto la inteligencia artificial con la música. Y es que, de forma paralela, durante estos cuatro años he estado dedicando mi tiempo libre a la música, mi gran pasión. Cualquier proyecto de la universidad que fuese de temática libre lo he intentado orientar de una manera u otra hacia la música, y el Trabajo Fin de Grado no iba a ser menos.
Hasta diciembre no tuve clara mi temática del trabajo. Quería que, de alguna forma, estuviera presente la música, pero no sabía cómo justificar un proyecto que combinase la música con la inteligencia artificial. Gracias a mi tutor, Dr. Eduardo Fernández, quien me estuvo guiando y aconsejando, acabé decantándome por desarrollar un sistema de recomendación musical basado en el reconocimiento facial de expresiones.
El proyecto se trata de una primera aproximación que pretende cambiar la forma que tenemos de interactuar con los sistemas de recomendación. Los sistemas de recomendación buscan ofrecer al usuario ítems de su catálogo personalizados. Normalmente, este tipo de sistemas utilizan métodos intrusivos para llegar a conocer al usuario, como puede ser rellenar encuestas o pedir puntuaciones. Con mi sistema lo que buscaba era una forma de interactuar con el usuario para saber qué es lo que busca sin recurrir a métodos intrusivos.
Es aquí donde entra la inteligencia artificial. A través de un proceso de detección facial y reconocimiento de expresiones faciales, el sistema es capaz de detectar el estado anímico del usuario. El sistema recurre a este proceso para estudiar cómo reacciona el usuario frente a una pequeña muestra de canciones y, finalmente, es capaz de recomendarlas. Para que el proyecto fuera abordable dentro de la signatura, la recomendación la realiza en base a los géneros a los que pertenecen las canciones. No obstante, mi idea es seguir trabajando sobre el sistema para que llegue a ser capaz de recomendar en base al estado anímico que transmita la canción.
Para poder llevar a cabo el proyecto he tenido que desarrollar una red neuronal que sea capaz de distinguir emociones en caras humanas. En este caso, se distingue entre tres emociones principales: felicidad, tristeza y neutral. La siguientes imágenes muestran la precisión con la que el sistema detecta las emociones que expreso con la cara:
Para que funcione el sistema, la webcam del ordenador comienza a grabar y paralelamente se van reproduciendo las canciones. Para cada cara que detecte en un frame, le pasa dicho frame a la red neuronal y esta determina la emoción dominante. Al final de cada muestra de la canción se escoge la emoción que más veces haya sido detectada.
Una vez que se han escuchado todas las canciones de la muestra, se transforman a puntuación, de manera que luego se extrapola dicha puntuación a los géneros que componen la canción. Así podemos saber qué combinaciones de géneros son las que le han gustado más al usuario y, por tanto, recomendarles canciones que contengan al menos uno de estos géneros.
Por el momento, el sistema cuenta con 100 canciones de 10 géneros diferentes y es capaz de reconocer 3 emociones distintas. La idea es poder seguir trabajando en el proyecto ampliando su base de datos y precisión.
(Resultados de la demostración)
Recuerda que puedes estudiar en U-tad el Grado Oficial Universitario en Ingeniería del Software. Pincha aquí para más información.