Control de asistencia a clases usando el reconocimiento facial de Google Photos

Hector Estigarribia FCyT UNCA
6 min readApr 9, 2018

--

Google fotos es, sino la más usada actualmente, una de las opciones más usadas para almacenar en la nube fotografías y videos de manera automática a través de sus aplicaciones para los distintos sistemas operativos.

Una de las opciones principales de este servicio es la de reconocimiento facial, tecnología aparentemente patentada por lo que no podemos saber mucho acerca de ella, aunque hay información sobre los algoritmos y técnicas usadas para poder reconocer entre otras cosas las caras en las fotografías y darnos la opción de ponerles nombre. Recientemente esta herramienta ha sido noticia por supuestamente usar algoritmos “racistas” (argumento en mi opinión más amarillista que científico), y resulta que la función en cuestión está prohibida en Europa.

De todas maneras el motivo de este artículo no es hablar de dicha tecnología sino más bien compartir una experiencia que tuve intentando usarla para un objetivo muy terrenal especialmente cuando uno se dedica a la docencia: el control de asistencia.

Una foto de un grupo de personas en Google Fotos, donde no todas las caras están identificadas

Como vemos, basta con subir una foto ya sea de forma manual o automática a través de las aplicaciones (en mi caso la de Android), tener activado el reconocimiento facial y, ojo con esto: luego de cierto tiempo aparecen las caras de quienes están en la foto y nos da la opción de identificar quien es quien, ya sea escribiendo su nombre o seleccionandolo de entre nuestros contactos, aparte de mostrarnos en que otras fotos y álbumes aparece dicha persona:

Identificando un rostro en Google fotos

El control de asistencia por reconocimiento facial es algo ya bastante común y existen varias soluciones comerciales para tal fin, estas obviamente podrían y son usadas en algunos casos para el control de asistencia en clases, pero se basan en fotos individuales que se toman a cada persona, lo cual produce una demora que se pretende evitar usando la opción de reconocer a todas las personas que aparecen en una foto, así idealmente por cada clase solo haría falta tomar una foto grupal en donde se distingan bien los rostros de los alumnos:

Luego simplemente copiando la lista de nombres reconocidos se puede pegar en excel como en el ejemplo, y ya se tendría un registro de las personas que asistieron a un evento o en nuestro caso, a una clase. Obviamente se puede inclusive crear una aplicación que automatice el proceso, por ejemplo usando los span class de los nombres reconocidos en la foto, que son todos iguales:

Sin embargo en mi experiencia luego de varias pruebas realizadas, he encontrado varios problemas para hacer viable esta técnica: para empezar es bastante engorroso hacer una foto grupal por cada clase en la que todas las caras se noten con claridad, imagínense si tenemos una clase de 40 alumnos, pedirles una foto grupal cada semana implicaría nuevamente una pérdida de tiempo que es lo que se quiere evitar, aparte de los problemas de ubicación de semejante cantidad de personas. Esto se podría solucionar tomando fotos de pequeños grupos separados, lo cual también acarrea el problema de tiempo y ubicación de los alumnos.

Probé entonces sacando fotos a los alumnos en sus lugares antes de que se retiren, con el inconveniente de que los que se sientan al fondo o no salen o salen mal en dichas fotos, lo cual ya dificulta de por si el proceso de un buen reconocimiento facial:

Fotos de alumnos en clase donde se notan los problemas con “los del fondo”

Aparte, he encontrado otros problemas en esta prueba inherentes a la función usada cuyas causas no las tengo muy claras, aunque puedo especular acerca de las mismas en base a información recabada :

  • No todas las caras son reconocidas instantáneamente, entiendo que debido al proceso que se hace en los servidores de Google usando redes neuronales artificiales por ejemplo, lo cual de por sí requiere de considerable potencia de cálculo. Esto hizo que al momento de revisar los rostros reconocidos en las fotos haya pensado que Google fotos “no le quiere” a ciertas personas, ya que extrañamente en todas las fotos en que aparecían su rostro no era reconocido rápidamente.
  • Algunos rostros son reconocidos ya bastante tiempo después, por ejemplo mirando las fotos que saqué el semestre pasado, encontré que había nuevos rostros reconocidos que no lo eran en dicho semestre, supongo que se debe a la misma evolución de la herramienta que cada cierto tiempo va mejorando.
foto en Google fotos con rostros que fueron reconocidos tiempo después de subida la imagen
  • Otro gran problema hallado fué que la herramienta confundía las caras de algunos alumnos con otros contactos míos que tengo identificados con quienes guardaban cierto parecido. Esto lo pude corregir creándome una cuenta exclusivamente para tener las fotos de dichos alumnos, pero considero que crear una cuenta para cada clase de cada semestre no es viable para considerar el uso de esta técnica. Este problema hace que por ahora se usen otras técnicas biométricas en lugar de implementar el reconocimiento facial para la mayoría de usos en el mundo real.

Al finalizar el semestre y mis experimentos, hice una pequeña tabla de manera a sacar algún tipo de dato estadístico como conclusión a la prueba. No tuve en cuenta que al momento de escribir estas líneas varios rostros si ya eran reconocidos correctamente, por lo cual los datos seguro que van a mejorar aún más:

% de reconocimiento facial correcto en las pruebas realizadas.

Si bien el porcentaje de aciertos es bastante alto, la cantidad de imágenes de prueba es pequeña para sacar conclusiones de calidad, habría que volver a repetir la prueba cada semestre para probar la mejoría en la herramienta, y no olvidemos que la misma se hizo con una cuenta exclusivamente creada para la clase de ese semestre.

En conclusión, y basado en la pequeña prueba que hice puedo decir que por ahora no creo que se pueda garantizar un funcionamiento 100% de esta técnica para controlar la asistencia a clases, debido a que hay varios factores relacionados a la misma que se deben ir mejorando: confusión de rostros parecidos, dificultad de tomar fotos en las que se vean bien todos los rostros en la menor cantidad de imágenes y la identificación no instantánea de los mismos serían los principales problemas para poder implementar ya como una solución esta herramienta para el fin buscado.

Repito que mi objetivo no era hacer un estudio en profundidad sino más bien probar una herramienta al alcance de cualquier usuario de Google para un objetivo específico en mente. Creo que usando infraestructura propia, algoritmos optimizados y que puedan ser monitorizados y modificados por el usuario se podría llegar a concretar el objetivo, aunque al momento de escribir esto no he encontrado ningún estudio ni producto comercial que se ofrezca como solución para el control de asistencia a clases con una sola fotografía, lo cual me ha motivado a publicar este breve artículo.

PD:

  1. es el primer artículo que escribo en Medium pero por la amigabilidad y facilidad que brinda al usuario puedo concluir que lo siguiente que escriba lo haré de nuevo acá. Así que adiós a WordPress para escribir blogs. Gracias a Fredy Gabriel Ramírez Villanueva por insistir en ponerla en la web de nuestra Facultad y espero que lo consiga. También gracias a Matías Insaurralde que es mi único seguidor sin que haya escrito aún nada hasta hoy.
  2. las imágenes usadas en este artículo fueron tomadas de mis cuentas de Google y contienen a personas conocidas mías, pero si algún lector/a no quiere que aparezca su foto en el mismo solo debe avisarme para que retire la misma.
  3. si alguien conoce o hizo un estudio que mejore o contradiga lo aquí expuesto, por favor que me lo haga saber, es un tema que me interesa mucho y creo que puede llegar a ser muy útil.

--

--