Saltar al contenido

Aprovechando las librerías de Reconocimiento Facial…

En el contexto de la pandemia COVID – 19 los negocios desde el retail, hasta restaurantes se han servido de la tecnología para transformar sus modelos de negocio y entrega de los servicios.

Ya aplicaciones como POP IDs están dándole la bienvenida a restaurantes en California para hacer uso del Reconocimiento Facial como nueva forma de pago conctact less, pese a las críticas en torno a sesgos raciales que pudieran establecerse.

Usar ésta aplicación parece bastante sencillo. El usuario se registra tomando una selfie, agregando dinero a la cuenta mediante tarjeta de crédito o cuenta corriente y luego ordenando en uno de los comercios elegidos. Cuando sea el momento de recoger el pedido, simplemente mirar en un quiosco PopID y un cajero aprueba la transacción entregando su pedido.

Como verán, día a día nos retamos (tecnológicamente hablando), y en ésta oportunidad gana protagonismo la implementación de librerías de reconocimiento facial en los desarrollos para cubrir la necesidad emergente de los negocios de ser “contact less”.

Python por ejemplo, posee librerías poderosas de reconocimiento facial. Al trabajar con Python las librerías necesarias a instalar son:

•OpenCV (opencv.org)

•Face_Recognition (pypy.org)

¿Cómo consigue OpenCV detectar rostros?

OpenCV hace uso del algoritmo de Viola & Jones para detectar rostros, que desde su publicación en 2001 es seguramente el algoritmo más utilizado para la implementación de reconocimiento facial. Este algoritmo fue diseñado para detectar objetos específicos.

Para poder detectar objetos se necesita un clasificador. Los clasificadores son una especie de “modelo” para detectar un tipo de objeto específico. Este clasificador es entrenado tomando como base con miles de imágenes de ejemplo del objeto que se quiere detectar.

El clasificador ubica características visuales en las imágenes de base. Las características utilizadas son las “Características de Tipo Haar” (en inglés, Haar-Like Features), y que tienen esta forma:

Durante el entrenamiento del clasificador, se combinan estas características en las imágenes de ejemplo y se seleccionan las destacadas, es decir las que guarden mayores coincidencias con las imágenes de ejemplo  para que formen parte del clasificador.

Durante la detección de objetos, el algoritmo aplica  clasificadores (una “cascada de clasificadores”) sobre una zona  de interés en la que considera que podría detectarse el objeto en cuestión. Si todos los clasificadores aciertan, el algoritmo considera que hay coincidencia y que halló el objeto de búsqueda, es decir, un rostro.

En términos generales así funciona la librería OpenCV. Les recomiendo buscar más información acerca de algoritmo Viola & Jones.

Conclusión

El reconocimiento facial aún tiene camino por recorrer y aunque, es una tecnología fascinante y con gran cantidad de aplicaciones, aún tiene detractores que se basan en vacíos de seguridad que pudieran existir para alimentar temores en relación a su uso. En este particular las pruebas juegan un papel importante en poder capitalizar terrenos de confianza entre sus detractores.

Python posee librerías poderosas para su implementación, basadas en el algoritmo Viola & Jones, sin embargo existe una gran cantidad de recursos disponibles para su implementación, tales como APIs (Recognition de Amazon, entre otros más), de los cuales seguramente les estaré platicando en otra entrega.

Exploremos éstas nuevas tecnologías, alimentemos nuestras curiosidades, y manos a la obra.

Con amor 💙

💻María Gabriela Tenreiro

¿Qué piensas?