Los retos modernos del reconocimiento de imágenes y facial, y cómo la IA está facilitando soluciones diminutas y competitivas basadas en la periferia

Aunque el reconocimiento de imágenes puede ser una poderosa herramienta para mejorar la seguridad y la productividad, los diseñadores de sistemas se enfrentan constantemente al reto de ofrecer una clasificación más rápida y matizada a partir de dispositivos más pequeños y de menor consumo. La tendencia es responder con algoritmos de reconocimiento basados en la IA que se ejecutan en microcontroladores diminutos situados en la periferia del IoT.

Este artículo examina cómo avanza el procesamiento de imágenes, las tecnologías disponibles y algunas posibilidades de implementación práctica basadas en el hardware y los ecosistemas de diversos fabricantes de semiconductores.

El reconocimiento de imágenes y su principal subconjunto (el reconocimiento facial) se han venido usando ampliamente en aplicaciones industriales y de seguridad desde hace muchos años. Sin embargo, pese a que los usuarios empezaron a usar las cámaras para el reconocimiento de imágenes debido a que la tecnología se los permitía, los resultados eran a menudo desacertados. Los esfuerzos para clasificar las imágenes pueden estar plagados de problemas, como variaciones en la escala o la perspectiva, interferencias visuales en el fondo de la imagen o la iluminación.

Por lo tanto, siempre existe presión para mejorar el rendimiento de estos sistemas, de modo que puedan ofrecer capacidades de reconocimiento y clasificación más matizadas junto con resultados más sólidos y precisos. Además, con la disponibilidad de mejores tecnologías, se crean nuevas oportunidades para mejorar la productividad o la seguridad.

Un gran ejemplo es el reconocimiento facial en 3D; los sistemas en 2D fueron en su momento suficientes en aplicaciones como el control de acceso hasta que la gente aprendió a engañarlos usando técnicas de suplantación como las fotografías de rostros, por lo que se hizo necesario el reconocimiento en 3D para superar este problema. También resuelve inconvenientes como reconocer a las personas cuando se han dejado crecer la barba, o si llevan gafas o una mascarilla COVID.

La sofisticada tecnología de reconocimiento de imágenes también está marcando la diferencia en ámbitos distintos al de la seguridad. En el sector industrial, se puede usar para mejorar la calidad de los productos con respecto a su forma, tamaño y coloración, mientras que en la automoción se aplica a la detección de bordes de carreteras, detección de carriles o detección de animales, personas u objetos en carriles en uso. También puede mapear la presencia humana, por ejemplo en el transporte público.

Un hardware más potente y un software de IA cada vez más avanzado también están haciendo posibles sistemas de reconocimiento de imágenes capaces de detectar el estado de ánimo. Por ejemplo, los fabricantes de automoción pueden usar la tecnología de detección de expresiones faciales en los coches inteligentes para alertar al conductor cuando esté somnoliento.

Sin embargo, quienes construyen sistemas que buscan ofrecer soluciones más potentes y de baja latencia deben hacerlo consumiendo menos energía, espacio y costes. Deben mantener su competitividad técnica con soluciones por demás ecológicas.

La respuesta de manera creciente es trasladar a la periferia los sistemas que antes se ejecutaban en grandes servidores en la nube. Esto significa que los algoritmos de IA se ejecutan ahora en microcontroladores diminutos que deben mapear las imágenes entrantes de forma muy rápida y precisa. Aunque no es tan importante en el sector industrial, donde los robots disponen de más espacio y potencia, en otras aplicaciones esta tecnología puede llevar potentes soluciones de reconocimiento de imágenes a los teléfonos y relojes de pulsera de los usuarios.

Ejecutar los sistemas de reconocimiento facial localmente en la periferia, sin enviar los datos a la nube, también resuelve las preocupaciones sobre la privacidad.

Capturas de pantalla de una aplicación de reconocimiento facial usando el microcontrolador MAX78000 de Analog Devices
Figura 1: Capturas de pantalla de una aplicación de reconocimiento facial usando el microcontrolador MAX78000 de Analog Devices

Conceptos tecnológicos y enfoques prácticos para construir sistemas de reconocimiento de imágenes en la periferia

Desde la perspectiva de un desarrollador de sistemas, un sistema de reconocimiento de imágenes con IA, como cualquier otro producto electrónico, consta de una serie de componentes de hardware y software que deben integrarse en una plataforma básica que puede desarrollarse posteriormente en una solución específica para cada aplicación. Estos componentes fundamentales incluyen:

Cámara u otro dispositivo de entrada: Las cámaras vienen con diferentes tecnologías; la elección de la tecnología de la cámara afectará fundamentalmente el diseño de la totalidad del sistema.

Dispositivos de salida: Podrían incluir una puerta de seguridad que permita que un sistema de reconocimiento facial controle el acceso a una zona segura; también podría haber una pantalla que muestre los resultados del análisis de la IA. Además, habrá una conexión de red si el sistema de reconocimiento de imágenes forma parte de una infraestructura de mayor tamaño.

Hardware de microinformática: Es posible que solo incluya un procesador central, pero lo más probable es que también tenga un acelerador del motor de IA para mejorar el rendimiento.

Algoritmo de IA: Muchas aplicaciones de reconocimiento de imágenes podrían usar el mismo hardware, pero se pueden ejecutar diferentes algoritmos de IA para satisfacer distintas aplicaciones.

Con el fin de integrar estos componentes en un sistema de reconocimiento de imágenes para una aplicación específica necesitamos

  • Elegir una tecnología como el reconocimiento facial 3D o el tiempo de vuelo 3D para recoger datos de imágenes de alta calidad.
  • Elegir un algoritmo de IA como las redes neuronales convolucionales (ConvNet/CNN) para extraer información significativa y procesable de los datos brutos de la imagen.
  • Encontrar un fabricante de semiconductores que ofrezca el hardware y el entorno de desarrollo que mejor se adapte al enfoque de recogida y procesamiento de imágenes que desea adoptar.

Recogida de datos de imágenes de alta calidad

El reconocimiento facial en 3D y el tiempo de vuelo en 3D son enfoques populares:

Reconocimiento facial en 3D

El método de reconocimiento facial en 3D consiste en usar sensores para captar la forma del rostro con mayor precisión. A diferencia de los métodos tradicionales de reconocimiento facial, la precisión del reconocimiento facial en 3D no se ve afectada por la iluminación, y es posible escanear incluso en la oscuridad. Otra ventaja del reconocimiento facial en 3D es que puede reconocer a un objetivo desde múltiples ángulos, en lugar de solo desde un perfil en frente. A diferencia del reconocimiento facial en 2D, no se puede engañar usando fotografías para entrar sin autorización a una zona segura.

El iPhone X (y las versiones posteriores) vienen con la tecnología Face ID, que se basa en el reconocimiento facial en 3D para identificar a su propietario.

El proceso de reconocimiento facial en 3D está dividido en seis pasos principales: Detección, alineación, medición, representación, cotejamiento y verificación o identificación

Tiempo de vuelo en 3D

El tiempo de vuelo en 3D (ToF) es un tipo de LIDAR (detección y alcance de la luz) sin escáner que usa pulsos ópticos de alta potencia en duraciones de nanosegundos para capturar información de profundidad (normalmente en distancias cortas) de un lugar de interés.

Una cámara ToF mide la distancia iluminando activamente un objeto con una fuente de luz modulada, como un láser, y un sensor sensible a la longitud de onda del láser para captar la luz reflejada. El sensor mide el tiempo de retardo ∆ entre el momento en que se emite la luz y el momento en que la cámara recibe la luz reflejada. El tiempo de retardo es proporcional al doble de la distancia entre la cámara y el objeto (ida y vuelta), por lo que la distancia puede estimarse como profundidad = cΔ/2, donde c es la velocidad de la luz.

Existen diferentes métodos para medir la ∆T, de los cuales dos se han convertido en los más prevalentes: el método de onda continua (CW) y el método basado en pulsos. Se debe tener en cuenta que la gran mayoría de los sistemas ToF de onda continua que se han implementado y que están actualmente en el mercado usan sensores CMOS, mientras que los sistemas ToF pulsados usan sensores no CMOS (sobre todo los dispositivos de carga acoplada o CCD).

Diagrama simple de la medición del tiempo de vuelo
Figura 2: Diagrama simple de la medición del tiempo de vuelo

Extraer información significativa y procesable de los datos brutos de las imágenes

Tras usar cualquiera de las tecnologías anteriores para capturar datos de imágenes, necesitamos un algoritmo de IA que se ejecute en el hardware seleccionado a fin de analizar los datos y ofrecer resultados significativos y procesables.

Un enfoque consiste en usar redes neuronales convolucionales (ConvNet/CNN): algoritmos de aprendizaje profundo que pueden tomar una imagen de entrada, asignar importancia (ponderaciones y sesgos aprendibles) a varios aspectos/objetos de la imagen y luego diferenciar los unos de los otros.

Una CNN requiere un preprocesamiento mucho menor que otros algoritmos de clasificación. Mientras que en los métodos primitivos los filtros se diseñan a mano, con suficiente entrenamiento las CNN tienen la capacidad de aprender estos filtros o estas características.

La arquitectura de una CNN es análoga a aquella del patrón de conectividad de las neuronas del cerebro humano y se inspira en la organización de la corteza visual.

Una CNN es capaz de captar con éxito las dependencias espaciales y temporales de una imagen mediante la aplicación de los filtros pertinentes. La arquitectura se ajusta mejor al conjunto de datos de las imágenes gracias a la reducción del número de parámetros involucrados y a la reutilización de las ponderaciones. En otras palabras, la red puede entrenarse para comprender mejor la complejidad de la imagen.

Sin embargo, otros algoritmos de aprendizaje profundo también están evolucionando rápidamente con tipos de datos de menor precisión, como INT8, binarios, ternarios y datos personalizados.

Hardware y ecosistemas de los fabricantes de semiconductores

Cualquiera que sea el algoritmo de IA elegido, para ser eficaz debe ejecutarse en el hardware adecuado, capaz de ofrecer la potencia de procesamiento necesaria sin exigencias excesivas de potencia eléctrica, espacio, peso o coste.

Cuando se trata de implementaciones prácticas del hardware, los fabricantes de semiconductores tienden a ofrecer sus propios ecosistemas basados en el hardware que han desarrollado, junto con el software y las herramientas de desarrollo adecuadas. Al decidir con qué fabricante de semiconductores trabajar, los desarrolladores deben ser conscientes del compromiso que adquieren con el ecosistema de desarrollo del fabricante y su hardware de procesamiento de imágenes.

A continuación, analizamos las soluciones de reconocimiento de imágenes de tres líderes del sector del hardware de IA: Analog Devices, Xilinx y NXP Semiconductors.

La solución de Analog Devices se basa en la gama MAX78000 que incluye el MAX78002, un motor de inferencia de red neuronal convolucional (CNN) de consumo muy bajo. La avanzada arquitectura del sistema en chip del MAX78002 incorpora una CPU Arm® Cortex®-M4 con FPU y un acelerador de redes neuronales profundas de consumo muy bajo. (Ver el cuadro de texto: "El papel de los aceleradores de redes neuronales")

El núcleo RISC-V integrado puede ejecutar códigos de aplicación y de control además de controlar el acelerador CNN.

El papel de los aceleradores de redes neuronales

El aprendizaje profundo es actualmente uno de los enfoques de aprendizaje automático más destacados para resolver tareas complejas que antes solo los humanos podían resolver. En aplicaciones como la visión por ordenador o el reconocimiento de voz, las redes neuronales profundas (DNN) logran una gran precisión en comparación con los algoritmos sin aprendizaje y, en algunos casos, incluso superior a la de los expertos humanos. La mayor precisión de las DNN en comparación con los algoritmos sin aprendizaje se debe a la capacidad de extraer características de alto nivel de los datos tras usar el aprendizaje estadístico sobre un gran número de datos de entrenamiento.

El aprendizaje estadístico lleva a una representación eficaz de las entradas y a una generalización correcta. Sin embargo, esta capacidad requiere un gran esfuerzo computacional; aun así, aumentando el número de parámetros, se puede incrementar la precisión de una red. En consecuencia, la tendencia evidente en las DNN es el crecimiento exponencial del tamaño de la red. Esto lleva a un aumento exponencial del esfuerzo computacional y del tamaño de la memoria necesaria.

Por lo tanto, las unidades centrales de procesamiento (CPU) por sí solas son inadecuadas para manejar la carga computacional. Por consiguiente, se usan aceleradores de hardware estructuralmente optimizados para aumentar el rendimiento de inferencia de las redes neuronales. La eficiencia energética es un factor importante que hay que tener en cuenta además del rendimiento para la inferencia de una red neuronal que se ejecuta en dispositivos periféricos.

Como sucesor del MAX78000, el MAX78002 tiene potencia de cálculo y memoria adicionales, y es parte de la nueva generación de microcontroladores de inteligencia artificial (IA) creados para permitir la ejecución de redes neuronales con consumo muy bajo, alojadas en la periferia del Internet de las cosas (IoT).

Este producto combina el procesamiento de IA de mayor eficiencia energética con los microcontroladores de consumo muy bajo comprobados de Analog Devices. El acelerador de redes neuronales convolucionales (CNN) basado en hardware permite a las aplicaciones alimentadas por batería ejecutar inferencias de IA usando solo microjulios de energía.

Arquitectura del microcontrolador MAX78002 de Analog Devices
Figura 3: Arquitectura del microcontrolador MAX78002 de Analog Devices

Puede trabajar con el microcontrolador usando el kit de evaluación MAX78002 (kit EV), que ofrece una plataforma para aprovechar las capacidades del dispositivo para construir nuevas generaciones de productos de IA. El kit incorpora hardware como un micrófono digital, puertos serie, puerto de vídeo digital (DVP) y soporte para el módulo de cámara de interfaz serie (CSI), así como una pantalla táctil a color de transistor de película fina (TFT) de 3,5 pulgadas.

El kit también incluye los circuitos para controlar y visualizar el nivel de potencia en la pantalla TFT secundaria. El MAX34417 monitoriza la tensión y la corriente del MAX78002 e informa de la potencia acumulada al MAX32625, que se usa como procesador de datos de potencia que también controla la pantalla de potencia.

Desarrollo de un modelo de identificación facial: Los diseñadores pueden construir modelos de identificación facial usando el flujo de desarrollo de Maxim en PyTorch, entrenado con diferentes conjuntos de datos abiertos e incluido en la placa de evaluación MAX78000. La Fig. 4 muestra el flujo de desarrollo.

Flujo de desarrollo del MAX78000
Figura 4: Flujo de desarrollo del MAX78000

El proceso de desarrollo resuelve el problema de la identificación facial en tres pasos principales:

  • Extracción facial: Detección de los rostros en la imagen para extraer una subimagen rectangular con un solo rostro.
  • Alineación facial: Determinación de los ángulos de rotación (en 3D) del rostro en la subimagen para compensar su efecto mediante la transformación afín.
  • Identificación facial: Identificación de la persona usando la subimagen extraída y alineada.

Xilinx usa un enfoque de hardware diferente, basado en su SOM (sistema en módulo) Kria K26. El SOM se ha creado para que los desarrolladores puedan implementar sus aplicaciones de visión inteligente en su entorno de diseño preferido más rápidamente con un kit de desarrollo listo para usar y de bajo coste.

El SOM K26 se adapta muy bien a aplicaciones periféricas, ya que su arquitectura Zynq MPSoC subyacente ofrece una alta relación rendimiento/vatio y bajo coste de propiedad. Los SOM Kria son configurables por hardware, lo que los hace escalables y de futuro asegurado.

El diseño del dispositivo ofrece otras ventajas de rendimiento:

Potencia computacional bruta: El K26 puede configurarse con varios ajustes de unidades de procesamiento de aprendizaje profundo (DPU) y la configuración más aplicable según los requisitos de rendimiento puede integrarse en el diseño. Como ejemplo, la DPU B3136 a 300 MHz tiene un rendimiento máximo de 0,94 TOPS.

Soporte de tipos de datos de menor precisión: Con la rápida evolución de los algoritmos de aprendizaje profundo, se empiezan a usar tipos de datos de menor precisión como INT8, binarios, ternarios y datos a medida. A los proveedores de GPU les queda difícil satisfacer las necesidades actuales del mercado, porque deben modificar/ajustar su arquitectura para dar soporte a tipos de datos a medida o de menor precisión. El SOM Kria K26 admite una gama completa de precisiones de tipos de datos, como FP32, INT8, binario y otros tipos de datos a medida, y se ha demostrado que las operaciones con tipos de datos de menor precisión consumen mucha menos energía.

Baja latencia y potencia: La reconfigurabilidad de la arquitectura Zynq MPSoC permite a los desarrolladores diseñar su aplicación con acceso reducido o nulo a la memoria externa, lo que no solo ayuda a reducir el consumo energético general de la aplicación, sino que también aumenta la capacidad de respuesta con latencias más bajas de extremo a extremo.

Flexibilidad: A diferencia de las GPU, en las que el flujo de datos es fijo, el hardware de Xilinx ofrece flexibilidad para reconfigurar de forma única la ruta de datos con el fin de lograr el máximo rendimiento y menores latencias. Además, la ruta de datos programable reduce la necesidad de procesamiento por lotes, que es uno de los principales inconvenientes de las GPU y termina siendo una concesión entre menor latencia o mayor rendimiento.

Para la evaluación y el desarrollo, Xilinx ofrece su kit de inicio KV260 que incluye un SOM Kria K26 acoplado a una tarjeta portadora centrada en la visión. La combinación de esta plataforma de hardware de visión predefinida, y una pila de software robusta y completa construida en Yocto o Ubuntu, junto con aplicaciones aceleradas preconstruidas habilitadas para visión, ofrece una solución sin precedentes para que los desarrolladores aprovechen las tecnologías Xilinx para construir sistemas.

Tras completar el desarrollo, la personalización de los despliegues de producción es sencilla. El SOM Kria se acopla a una sencilla tarjeta portadora diseñada por el usuario final que incorpora la conectividad y los componentes adicionales específicos de su propio sistema de destino.

Kit de inicio KV260 para visión IA de Xilinx
Figura 5: kit de inicio KV260 para visión IA de Xilinx

Ejemplo de aplicación: Xilinx se ha asociado con Uncanny Vision, líder del sector en soluciones de análisis de vídeo para ciudades inteligentes, a fin de ofrecer al mercado una solución de reconocimiento de matrículas de coches (ANPR) de primera clase. La aplicación se está adoptando ampliamente en muchas ciudades del mundo como parte de la construcción de ciudades inteligentes.

La aplicación ANPR es un proceso basado en IA que incluye decodificación de vídeo, preprocesamiento de imágenes, aprendizaje automático (detección) y reconocimiento de caracteres OCR. La Fig. 6 muestra los elementos fundamentales de la aplicación.

Elementos fundamentales de la aplicación ANPR
Figura 6: Elementos fundamentales de la aplicación ANPR

NXP Semiconductors ha ampliado su cartera NXP EdgeReady, añadiendo una solución para el reconocimiento facial seguro que aprovecha una cámara 3D de módulo de luz estructurada (SLM) de alto rendimiento combinada con el microcontrolador crossover i.MX RT117F. Se trata de la primera solución que combina una cámara 3D SLM con un microcontrolador para ofrecer el rendimiento y la seguridad del reconocimiento facial 3D en la periferia, eliminando así la necesidad de usar una implementación de Linux costosa y que consume mucha energía en un microprocesador, como lo requieren tradicionalmente las cámaras 3D de alto rendimiento.

La nueva solución EdgeReady permite a los desarrolladores de cerraduras inteligentes y otros sistemas de control de acceso incorporar de forma rápida y simple el reconocimiento facial seguro basado en el aprendizaje automático a los productos para viviendas y edificios inteligentes. La solución ofrece reconocimiento facial en 3D fiable en aplicaciones de interior y exterior, en condiciones de iluminación variadas, como luz solar intensa, luz nocturna tenue u otras condiciones de iluminación difíciles que suponen un reto para los sistemas tradicionales de reconocimiento facial.

El uso de una cámara 3D SLM hace posible la detección avanzada de la vitalidad, lo que ayuda a distinguir a una persona real de las técnicas de suplantación (como una fotografía, una máscara de imitación o un modelo 3D) para impedir el acceso no autorizado.

El i.MX RT117F usa un avanzado modelo de aprendizaje automático como parte del software de aprendizaje automático eIQ de NXP que se ejecuta en el núcleo de la CPU de alto rendimiento y que hace posible un reconocimiento facial más rápido y preciso para mejorar tanto la experiencia del usuario como la eficiencia energética.

Al igual que la solución NXP EdgeReady basada en el microcontrolador i.MX RT106F para el reconocimiento facial seguro, la detección avanzada de la vitalidad y el reconocimiento facial se realizan localmente en la periferia, lo que permite que los datos biométricos personales permanezcan en el dispositivo. Esto ayuda a resolver las inquietudes de los consumidores con respecto a la privacidad, mientras elimina la latencia asociada a las soluciones basadas en la nube.

Conclusión

Este artículo ha analizado las tecnologías disponibles para desarrollar sistemas mejorados de reconocimiento de imágenes y ha presentado ejemplos de plataformas de hardware de distintos fabricantes de semiconductores y de ecosistemas de desarrollo disponibles para implementar dichas tecnologías.

Esto evidencia grandes diferencias en el enfoque de cada fabricante en cuanto a las implementaciones de hardware y los componentes disponibles. Otros fabricantes, que no están incluidos en este artículo, también ofrecen sus propias soluciones.

Por lo tanto, tiene sentido consultar a un proveedor como Farnell, que tiene acceso a una amplia gama de fabricantes y soluciones. Contamos con expertos con quienes puede hablar sobre los factores que debe tener en cuenta a la hora de elegir la arquitectura de hardware y el entorno de desarrollo adecuados, y después al pasar a producción.

CompartirPublicarPublicar

Stay informed


Keep up to date on the latest information and exclusive offers!

Subscribe now

Data Protection & Privacy Policy

Thanks for subscribing

Well done! You are now part of an elite group who receive the latest info on products, technologies and applications straight to your inbox.