Algoritmos que ven mejor que los humanos: así funciona el reconocimiento facial en BBVA
La rama de la inteligencia artificial dedicada a entrenar la ‘vista’ de las máquinas es cada vez más sofisticada. Supera la capacidad de los humanos para distinguir a una persona de otra. En BBVA ya se usa para verificar la identidad de los usuarios para pagar sus comidas en restaurantes. Pero, ¿cómo funciona?
La visión artificial (o ‘computer vision’) es la tecnología que permite que un programa informático interprete la información presente en una imagen, por ejemplo, para registrar los datos de una tarjeta de crédito o un DNI al escanearlo. Esta tecnología está detrás de la capacidad de Facebook para etiquetarte en fotos en las que cree que apareces o en la de Snapchat para determinar dónde está el rostro de las personas para situar un filtro de perrito. La visión artificial también es responsable de la habilidad de los coches autónomos para ‘ver’ lo que hay en la carretera y esquivar los obstáculos.
En definitiva, esta tecnología permite crear aplicaciones que usan los datos de los píxeles de una cámara para identificar objetos e interpretar espacios. Las aplicaciones son interminables y las más sencillas llevan aplicándose desde hace décadas. Pero gracias a los avances en aprendizaje automático (o ‘machine learning’) en los últimos años se han popularizado otro tipo de aplicaciones más complejas y cuya fiabilidad supera ya a la de los humanos. Un ejemplo es el sistema biométrico que se utiliza desde junio de 2018 para facilitar el pago a los usuarios que comen en el restaurante Central en Ciudad BBVA, la sede del banco en Madrid. Para pagar con este sistema, los usuarios tan solo tienen que situarse con su bandeja frente a un dispositivo equipado con cámaras junto a las cajas registradoras. El sistema basado en inteligencia artificial identifica el rostro del cliente —previamente registrado en el sistema—, verifica que el usuario lleva un menú en su bandeja y realiza automáticamente el cargo en su tarjeta.
El sistema lleva operativo en Ciudad BBVA desde junio de 2018 y forma parte de la estrategia de BBVA de liderar el desarrollo de 'pagos invisibles'.
Pero, ¿cómo sabe el sistema si la persona es quien dice ser? “Cuando hablamos inteligencia artificial nos referimos a cómo trasladamos la inteligencia que tenemos los seres humanos a medios automatizados, a máquinas que sean capaces de tomar decisiones o inferir resultados a partir de la realidad que capta de la misma forma que hacemos nosotros”, explica Mikel Sánchez, CTO de Veridas, la firma responsable del desarrollo de la tecnología que facilita esta aplicación. BBVA creó la ‘startup’ Veridas junto con la compañía pamplonesa Das-Nano en 2017 para mejorar el desarrollo de sistemas de identificación y autenticación de clientes más seguros y fáciles de usar.
En este caso, lo que hace la máquina es llevar a cabo una comparación automática entre la persona que va a pagar y todas las personas que “pueden pagar”, es decir, que están registradas en el sistema previamente. Si el sistema “reconoce” al usuario, y verifica que tiene un menú completo, le permitirá pagar mediante la tarjeta que tiene registrada en la aplicación. El proceso entero se completa en cuestión de segundos.
De algoritmos a redes neuronales
Este tipo de sistemas han dado un salto cualitativo en los últimos años hasta llegar a este nivel de fiabilidad gracias al uso de redes neuronales artificiales. Antes, se empleaban algoritmos basados en complejas fórmulas matemáticas que determinaban la “teoría” de cómo es un rostro, y qué parámetros tenía que analizar el sistema para reconocer uno. Ahora, aprenden con la práctica. “Con el desarrollo de las redes neuronales, el poder para resolver los problemas no está tanto en los algoritmos como en los datos”, explica Carlos Arana, CTO de Das-Nano, la empresa responsable del desarrollo del reconocimiento de las bandejas de comida en el sistema de BBVA.
"Es la propia red neuronal la que deduce en qué debe fijarse para distinguir un rostro de otro”
Lo que hacen las redes neuronales es trasladar el aprendizaje que los seres humanos hacen en la vida real a un sistema que recibe miles o millones de datos de distintas caras de forma automática y se entrena hasta aprender a distinguirlas. “Se le dice: estas dos caras pertenecen a la misma persona, de forma repetida hasta que sabe diferenciarlas entre el resto de la base de datos”, añade Sánchez. No obstante, no hay una serie de rasgos específicos que el sistema busque, sino que es el “conjunto” de características de cada cara el que el sistema aprende a reconocer como único. “La persona no se identifica en concreto por la nariz, o por los ojos, sino por todo el conjunto de sus rasgos”, añade. De la misma forma que los humanos identifican a una persona por la suma de todas sus características, y no por una serie determinada de ellos.
El sistema reduce hasta cinco minutos el tiempo que tardan los usuarios en pagar su comida en el restaurante Central, que cada día acoge a una media de 2.000 personas en un periodo de tan solo dos horas.
Al fin y al cabo, lo que el sistema “lee” son datos, unos y ceros, que representan los píxeles que componen la imagen. Al sistema no le “interesa” si se trata de una boca o una oreja. “Cuando se entrena una red neuronal para el reconocimiento de caras, no se le indica un número de puntos o unas características en las que debe fijarse. Al igual que a un niño no se le enseña a distinguir a personas con puntos de referencia. Es la propia red la que deduce en qué debe fijarse para distinguir un rostro de otro”, explica Sánchez. Lo que busca, por tanto, son coincidencias entre los diferentes conjuntos de datos de cada cara que le indiquen que se trata de la misma disposición de píxeles y, por tanto, de rasgos en cada rostro.
Dada la capacidad de cómputo de los actuales sistemas y la gran cantidad de datos disponibles que ahora pueden analizar para “entrenarse” en esta tarea, estos sistemas han aumentado su fiabilidad de forma exponencial en los últimos años y han batido en poco tiempo al resto de tecnologías del mercado. De hecho, los sistemas de reconocimiento facial que analizan la similaridad de dos caras para determinar si se trata de la misma persona o no ya son mejores haciendo esto que los seres humanos.
Ya sea al realizar reconocimiento facial, de voz, de alimentos, documentos o cualquier otra imagen, el poder fundamental de las redes neuronales reside en disponer de series de datos apropiados que puedan clasificarse y usarse para entrenar a los modelos correctamente “para que sean capaces de inferir las respuesta que daría un ser humano”, explica Sánchez.
Un sistema pionero
El sistema de BBVA cuenta, por un lado, con una cámara que reconoce la identidad de los usuarios y, por otro, una segunda cámara que identifica que el cliente lleva un menú en su bandeja para poder hacer efectivo su pago. Mientras que las caras de las personas responden a un patrón similar, los alimentos dispuestos en la bandeja varían enormemente: el comedor de BBVA ofrece más de 15 menús distintos, y además cada persona tiene libertad para distribuir los elementos como quiera.
Por este motivo, el desarrollo del sistema supuso “todo un reto” a nivel tecnológico que los expertos resolvieron a base de ingenio y una gran cantidad de datos. A las imágenes que recopilaron de las bandejas del comedor, sumaron más de dos millones de imágenes de bandejas “sintéticas” para entrenar al sistema creadas por ellos mismos partiendo de la disposición y orientación que tenían las originales. “Las compusimos aleatoriamente en un pequeño estudio cinematográfico combinando todo tipo de variaciones de colores y elementos para generar más ejemplos con los que entrenar y robustecer el sistema”.
“El trabajo nos ha permitido empujar un poco el límite de lo que se está haciendo en reconocimiento de imágenes de este tipo”, señala Arana, quien explica que el desarrollo del sistema supuso un gran aprendizaje para los distintos equipos ya que implicaba enfrentarse a un caso de uso muy complejo, en el que se lo pusieron “lo más difícil posible al sistema” manteniendo intacta la experiencia de usuario de los clientes.
Para robustecer el sistema, los responsables del proyecto crearon bandejas artificiales para entrenar al sistema a reconocer el máximo posible de combinaciones.
Ya se han pagado casi 10.000 comidas gracias a este sistema, con el que cientos de empleados comen cada día cómodamente y sin hacer cola en el restaurante de BBVA, empleando hasta cinco minutos menos que antes para pagar su comida, ya que el sistema elimina la necesidad de de realizar el cobro manualmente y de liberar las manos para encontrar la tarjeta o efectivo.
Pero además, de cara al comercio, estas nuevas soluciones permiten ofrecer promociones directas a los clientes —siempre con su consentimiento— a través de la ‘app’, como la obtención de un café gratis con la comida, o de descuentos al alcanzar un determinado número de pedidos (compra nueve, ¡llévate el décimo gratis!). Comer por la cara nunca ha sido tan fácil.
Para 'pagar por la cara' los usuarios tan solo tienen que situarse unos segundos frente a las cámaras para que el sistema reconozca su rostro.