blank
27
Feb

Descubre las tecnologías más utilizadas para el análisis de las emociones faciales

Descubre las tecnologías más utilizadas para el análisis de las emociones faciales

Los sentimientos y las emociones son parte de la vida de cualquiera de nosotros. Podemos definir un sentimiento como el estado de ánimo provocado por una emoción relativa a una persona, animal, objeto o situación. Los sentimientos nos afectan profundamente, de hecho salvo en el idioma español en otros idiomas para referirnos a ellos se utiliza el verbo “ser”, en español tenemos el verbo “estar” para expresarlo, se convierten en parte de nuestra identidad.

Los sentimientos se alimentan con las emociones, estas son reacciones más primarias que se producen ante estímulos externos modulados por nuestra percepción de la realidad. Cuando procesamos estos sentimientos con nuestro lado racional construimos nuestros recuerdos, estos condicionan nuestra manera de ser y nuestras decisiones en el futuro.

Comprender las emociones y los sentimientos del otro, es decir, la empatía, es una de las herramientas más útiles que tenemos en las relaciones con los demás. ¿Y si consiguiéramos que una IA pudiese entenderlos? ¿Os imagináis la cantidad de usos prácticos que tendría esta tecnología?

¿Y si una IA pudiese entender los sentimientos humanos? 

No soy el primero que se ha planteado esta pregunta ni de lejos. Desde hace años se están realizando grandes avances para analizar los sentimientos contenidos en textos, las emociones en la voz y el objeto de este artículo, el análisis de emociones a través de las expresiones faciales.

La posibilidad de expresar emociones a través de nuestro rostro ha sido analizada desde hace siglos por todo tipo de pensadores, ya en el siglo IV a.C. Aristóteles se preocupó por analizarlas, a partir de él gran cantidad de estudiosos han intentado definir su número y naturaleza. Independientemente de las conclusiones, que ha ido variando con el avance de la investigación científica, lo que si que es mesurable al 100% es que tenemos más de 30 músculos en la cara que reflejan nuestro estado de ánimo. Estas combinaciones, plasmadas en los millones de caras diferentes que tiene la humanidad provocan, como era de esperar, que el trabajo de analizarlas y aprenderlas para una IA sea muy arduo, aunque poco a poco están consiguiendo hacerlo cada vez mejor.

Hace unos cuantos años este tipo de tecnología era materia de papers en las universidades, hoy en día estos ya se han plasmado en tecnologías muy accesibles que podemos probar cualquiera de nosotros con un par de clicks. A continuación vamos a hablar de algunos ejemplos de las mismas. Algunos de ellos nos permiten hacer pruebas online para comprobar si encajan con lo que necesitamos, aunque obviamente si queremos utilizarlas en nuestros proyectos tendremos que llevar a cabo un proceso de integración con nuestra tecnología. Suelen ser cajas negras con las que te comunicas a través de una API vía servicio web, por lo que son utilizables desde cualquier tipo de proyecto.

Paquetes de software para analizar emociones faciales

Imotions

Vamos a comenzar mencionando a Imotions, una empresa de origen danés pero que ya está establecida por todo el mundo. En su caso ponen el acento en el análisis del impacto emocional de un contenido, contenido o producto.

No disponen de demo online, pero puedes ponerte en contacto con ellos para que te hagan una prueba. A nivel de precios funcionan sobre una base de módulos, pagas por el “core” y luego por los módulos que le agregues (análisis de eye tracking, análisis de pulso, análisis de emociones, etc). Cada año renuevas estos pagando un precio más barato.

Si queréis saber más de ellos os pongo aquí el enlace de su web.

FaceX

El siguiente software del que vamos a hablar se llama FaceX, es una empresa de origen Indio que se ha orientado directamente a proveer de un SDK para integrar el análisis de emociones en cualquier web o aplicación móvil.

Disponen de demo online en su web. Sus precios son muy ajustados, compras paquetes por número de peticiones que van desde los 3 $ al día por 750 llamadas a los 25 dólares al mes por 75.000 llamadas al mes.

EnableX

A continuación vamos a hablar de EnableX y su FaceAI, su producto se enfoca en el análisis de emociones durante una videollamada, mide tanto los sentimientos como la atención puesta y también ya de paso realiza reconocimiento facial.

No permite prueba online, pero si que pone muy fácil solicitar un acceso de pruebas a su tecnología, en unos pocos minutos tienes acceso al SDK y a toda la documentación.

Su política de precios se basa en el tiempo de uso por análisis de imagen de videollamada, unos 0,004 $ por participante / minuto. Puedes obtener más información en su web.

Qué nos podemos encontrar en la nube

Las siguientes tecnologías de las que vamos a hablar son soluciones más genéricas que no tienen vocación de producto cerrado. Han sido creadas o bien por la comunidad Open Source o bien por grandes compañías tecnológicas de la nube.

Microsoft Azure Face Service

En primer lugar vamos a comentar la solución ofrecida por Microsoft Azure Face Service, disponen de servicios de reconocimiento facial, detección de caras y detección de emociones a través de Azure Cognitive Services.

No dispone de posibilidad de prueba online, pero permite realizar pruebas de manera gratuita y pone a la disposición de todos repositorios de código con ejemplos de uso, por ejemplo aquí y aquí.

El plan de precios es algo críptico, está orientado al consumo que realices de sus máquinas, al final siempre terminas pagando más de lo que habías previsto.

Amazon Rekognition

Además de Azure hay otras nubes que nos ofrecen servicios similares, por ejemplo Amazon con su Amazon Rekognition. Ofrece la posibilidad de además de analizar emociones detectar textos, etiquetar imágenes, identificar contenidos, detección de equipos de protección profesional y lo más curioso, detectar famosos.

No puedes realizar una prueba online, pero te permiten realizar de manera gratuita 1000 usos por mes tanto para reconocer 5.000 imágenes por mes. Funciona tanto para vídeo como para imágenes.

Le cobran una cantidad por imagen procesada, a más volumen de imágenes te cobran menos por cada imagen, pero a estos gastos hay que agregar el coste del resto de los servicios, que de nuevo -al igual que con Azure– siempre terminan siendo más elevados de lo previsto.

Google Visio

Si en la fiesta están Microsoft y Amazon es de esperar que también estén otras grandes como Google o IBM. En este caso Google nos ofrece Google Visio. Esta tecnología nos permite detectar rostros, realizar reconocimiento facial y analizar las emociones. Puedes probar de manera online su API de una manera bastante sencilla.

Los precios se cobran por uso con una pequeña capa gratuita, y como en todos los proveedores de la nube aparecen siempre costes ocultos que incrementan la factura final.

IBM Watson

IBM sigue la misma filosofía que las anteriores, a través de su famoso Watson ofrece la posibilidad de analizar las emociones humanas en imágenes siguiendo el espíritu de uso habitual de su nube. Dispone de una capa gratuita para pruebas y de facturación por uso. Podéis tener más información visitando su web.

Hablemos de Open Source

A nivel de Open Source la tecnología más utilizada -ya sea de manera integral o como base- es TensorFlowJS. Es una librería de software orientada al Machine Learning y al Deep Learning. En sus inicios fue creada por Google pero hace tiempo que fue liberada y está siendo desarrollada y mantenida con ayuda de la comunidad.

TensorFlow funciona en multitud de sistemas operativos y con gran cantidad de lenguajes por lo que su implantación es muy sencilla. Te permite generar modelos de aprendizaje con gran facilidad o lo que es mejor, utilizar modelos creados por terceros o por la comunidad.

Hay multitud de proyectos con el código disponible que utilizan TensorFlow en Github. El que más me gusta a mí es face-api.js. Podéis probar todas sus posibilidades online en esta web. Permite detectar caras, analizar emociones, análisis de vídeo, etc. En este caso el único coste es el servidor donde quieras hacerlo correr. El código fuente está abierto, así que puedes modificarlo lo que consideres necesario.

Y ahora, a probarlo…

Hemos podido repasar algunos de los actores principales de estas tecnologías, no están todos los que son, pero si son todos los que están. Este campo está en medio de una vertiginosa evolución, cada mes de avance aquí son años en otros sectores. Espero que os animéis a hacer pruebas y para cualquier duda en la que os pueda ayudar tenéis disponible la sección de comentarios.

Si quieres saber más sobre Inteligencia Artificial, únete a la próxima mesa redonda del 16 de marzo “La revolución de la Inteligencia Artificial” 

Más artículos de Gabriel Cuesta

Leave a Reply