Maldita Tecnología
05/11/2020

Cómo consiguen los filtros de Instagram o TikTok distinguir nuestro pelo o cambiar nuestros ojos

¿Preparados para convertiros en matemáticos e ingenieras durante un ratito? Esta pregunta no se resuelve sin meternos de lleno en el mundo técnico con el que funciona la inteligencia artificial, así que vamos allá. Lo primero que tenemos que saber es que en este proceso no actúa una sola aplicación tecnológica mágica. También, vamos a ver similitudes con cosas que ya os hemos explicado, como la tecnología de reconocimiento facial.

Imagen: Maroon5/Giphy.

Técnicas para conseguir que las máquinas vean

“Los filtros de Instagram (y de otras aplicaciones) se nutren de una gran variedad de técnicas desarrolladas dentro del campo de la visión por computador (computer vision). Este campo de la ciencia e ingeniería se centra en hacer que las máquinas vean o, dicho de otra forma, que sean capaces de extraer información útil a partir de imágenes”, nos explica nuestro maldito David Castillo, doctorando en el instituto de Sistemas Inteligentes y Aplicaciones Numéricas en Informática (SIANI) de la Universidad de Las Palmas de Gran Canaria.

Para que esas máquinas consigan ver, hay que entrenarlas con miles y miles de imágenes de lo que necesita detectar. Si son gatos, gatos. Sin son caras, caras. De modo que cuando al programa informático se le presente una cara nueva que no tenía registrada en su base de datos, pueda detectar que es una cara humana. En otra ocasión, os explicamos cómo funcionaba una aplicación que también tenía que detectar a personas en un vídeo y eliminarlas.

Castillo recuerda que cada filtro es distinto y probablemente cada uno utilice técnicas adaptadas a cómo tiene que ajustarse a nuestra cara, pero su funcionamiento se suele apoyar en cuatro tareas esenciales de reconocimiento facial: la detección de caras, la detección de ojos, nariz y/o boca, la detección de puntos de referencia (llamados landmarks) y una estimación de profundidad.

Imágenes cedidas por David Castillo.
68 puntos de referencia facial estándar y los 5 básicos para orientación facial y expresión de ojos.

José Luis Calvo, director de Inteligencia Artificial en Sngular, que también nos ayuda con esta explicación, define los landmarks como puntos concretos que se asocian a partes de nuestra cara y que dan más precisión al programa informático que está reconociéndolos. Por ejemplo, se pueden usar landmarks para filtros complejos que tienen que colocarnos algo en el lagrimal del ojo, no cubrirnos el ojo entero.

“El reconocimiento facial funciona así, te identifica esos puntos de la cara: no es lo mismo certificar que tu cara y la de que aparece en tu documento es la misma, que identificarte dónde estás en una base de datos, pero toda la base es la misma”, explica Calvo.

Redes neuronales convolucionales: la tecnología detrás de la detección de caras

Bien, ¿y qué clase de programa informático es capaz de hacer eso? Como os hemos dicho antes, es una tecnología basada en la inteligencia artificial. Es decir, que es un programa capaz de hacer tareas de forma automatizada y también de aprender nuevas si le damos más datos. No hay un solo tipo de inteligencia artificial, sino que es una rama que utiliza diferentes técnicas en función del problema que necesite resolver.

Una de ellas son las redes neuronales. Para esta labor, Calvo nos explica que se usan “redes neuronales convolucionales” y técnicas de “visión por computador”, que hemos explicado un poco más arriba. Este modelo computacional es el que se encarga en este caso de detectar con cada nueva cara dónde están la nariz, los ojos, si abrimos la boca, etc.

La cosa no termina ahí, porque Castillo nos explica que algunos filtros más avanzados, como los que nos maquillan o envejecen la cara, tienden a apoyarse en una reconstrucción 3D de ella: “Para ello, tienen que hacer un seguimiento constante de los puntos de referencia y calcular cuánto se desplazan de un fotograma a otro”.

Esto también tiene que ver con la profundidad: “Una regla sencilla es que los puntos que más se mueven estarán probablemente más cerca de la cámara, mientras que los que menos se mueven estarán más lejos”, añade.

Imagen cedida por David Castillo.

En realidad, todo esto que hemos explicado no es nada fácil de enseñar a una máquina. Castillo explica que las máquinas son muy eficaces “en el cómputo de tareas repetitivas y mecánicas”, pero para estas tareas de reconocimiento y detección facial entran en un campo que catalogan como tareas abstractas. Esas que las personas conseguimos hacer a base de experiencia y donde no hay unas reglas bien definidas.

“¿Sabes cuando ves a alguien de lejos y lo reconoces? ¿A que no sabrías explicar por qué lo reconoces? No es que camine muy rápido, o muy lento, o levantando mucho las piernas, o poco... pero tiene ‘algo’ que te hace saber que es esa persona”, incide Castillo.

La IA no es capaz de analizar datos como lo haría una persona

Esos puntos (que en realidad tú no usas tanto como referencia) son los que se llevan utilizando durante años para entrenar a las máquinas a identificar a las personas. O en su defecto, a predecir aspectos de su personalidad. Este vídeo es un ejemplo de cómo se enseña a un programa basado en IA a clasificar a personas según su estado de ánimo:

Víde subido originalmente por la revista Wired.

Son técnicas que se estudian como ‘inteligencia artificial emocional’, una disciplina que especialistas concluyen que no da buenos resultados de lo compleja que es y que puede causar discriminación en según qué situaciones.

Imagina, por ejemplo, un programa informático que te analizara la cara durante una entrevista de trabajo y te considerara apto/a o no en función de lo que sonríes, cómo te mueves, si giras mucho la cabeza, etc. Por eso hay que ser consciente de las limitaciones que a día de hoy tiene la inteligencia artificial y aplicarla sólo en los casos en los que su posible discriminación no sea un riesgo. 

Primera fecha de publicación de este artículo: 05/11/2020.

Otros artículos de Maldita.es