Cómo crear e implantar rápidamente aplicaciones adaptables de Edge Vision con una plataforma lista para la producción

Por Stephen Evanczuk

Colaboración de Editores de DigiKey de América del Norte

La aplicación de la inteligencia artificial (IA) en las cámaras inteligentes basadas en los bordes ha ganado rápidamente aceptación en una gama cada vez mayor de aplicaciones de visión integrada, como la visión artificial, la seguridad, el comercio minorista y la robótica. Aunque la rápida aparición de algoritmos de aprendizaje automático (ML) accesibles ha contribuido a despertar este interés por la IA, los desarrolladores siguen luchando por cumplir con los ajustados calendarios de los proyectos y, al mismo tiempo, ofrecer un alto rendimiento con un bajo consumo de energía para las aplicaciones basadas en el borde.

Para complicar aún más las cosas, incluso las soluciones recién implantadas pueden dejar de ser óptimas rápidamente debido a la rápida evolución de los requisitos de las aplicaciones y a las continuas mejoras de los algoritmos en evolución.

Este artículo presenta una solución flexible de sistema en módulo (SOM) de Xilinx que los desarrolladores pueden utilizar para implementar rápidamente soluciones de cámaras inteligentes para el despliegue de bordes. Muestra cómo pueden adaptar más fácilmente esas soluciones en respuesta a las necesidades cambiantes sin comprometer los requisitos clave de latencia y potencia.

Acelerar la ejecución de aplicaciones de visión

Al basarse en un sistema en chip (MPSoC) multiprocesador Zynq UltraScale+ fabricado a medida, el SOM Kria K26 de Xilinx ofrece un resistente sistema de procesamiento integrado que incluye una unidad de procesamiento de aplicaciones (APU) Arm Cortex-A53 de cuatro núcleos de 64 bits, una unidad de procesamiento en tiempo real (RPU) Arm® Cortex®-R5F de dos núcleos de 32 bits y una unidad de procesamiento gráfico (GPU) 3D Arm Mali-400MP2. El SOM combina el MPSoC con cuatro gigabytes de memoria de doble velocidad de datos 4 (DDR4) de 64 bits de ancho y el controlador de memoria asociado, así como varios dispositivos de memoria no volátil (NVM), entre los que se incluyen 512 megabits (Mbits) de memoria de interfaz periférica cuádruple en serie (QSPI), 16 gigabytes (Gbytes) de memoria de tarjeta multimedia integrada (eMMC) y 64 kilobits (Kbits) de memoria de solo lectura programable con borrado eléctrico (EEPROM) (Figura 1).

Diagrama del SOM Xilinx Kria K26 (haga clic para ampliar)Figura 1: El SOM Kria K26 de Xilinx combina las amplias capacidades de procesamiento de un MPSoC Zynq UltraScale+ fabricado a medida con un módulo de plataforma de confianza 2.0 (TPM2) y una memoria dinámica y no volátil. (Fuente de la imagen: Xilinx)

Xilinx complementa sus activos de procesamiento y memoria con un amplio sistema de lógica programable que comprende 256K células lógicas del sistema, 234K flip-flops de bloques lógicos configurables (CLB), 117K tablas de consulta (LUT) de CLB y un total de 26.6 megabits (Mbits) de memoria en varias configuraciones de memoria de acceso aleatorio (RAM) distribuida, RAM en bloque y bloques ultraRAM. Además, el sistema de lógica programable incluye 1.248 cortes de procesamiento de señales digitales (DSP), cuatro transceptores y un códec de vídeo para H.264 y H.265 capaz de soportar hasta 32 flujos de codificación/decodificación simultáneos, hasta un total de 3840 x 2160 píxeles a 60 imágenes por segundo (fps). Los dos conectores de 240 pines del SOM proporcionan un fácil acceso a los bloques funcionales y a los periféricos mediante entradas/salidas (E/S) configurables por el usuario.

Esta combinación de núcleos de procesamiento, memoria y lógica programable proporciona un nivel único de flexibilidad y rendimiento que supera los principales inconvenientes de las GPU utilizadas para la ejecución a alta velocidad de algoritmos de ML. A diferencia del flujo de datos fijo de las GPU, los desarrolladores pueden reconfigurar la ruta de datos del SOM K26 para optimizar el rendimiento y reducir la latencia. Además, la arquitectura del SOM K26 es especialmente adecuada para el tipo de redes dispersas que constituyen el núcleo de un número creciente de aplicaciones de ML.

La programabilidad del SOM K26 también resuelve los cuellos de botella de la memoria que aumentan el consumo de energía y limitan el rendimiento de las aplicaciones que hacen un uso intensivo de la memoria, como el ML construido con arquitecturas convencionales que utilizan GPU, procesadores multinúcleo o incluso SoC avanzados. En cualquier aplicación diseñada con estos dispositivos convencionales, la memoria externa suele representar alrededor del 40% del consumo de energía del sistema, mientras que los núcleos del procesador y la memoria interna suelen representar alrededor del 30% cada uno. En cambio, los desarrolladores pueden aprovechar los bloques de memoria interna y la reconfigurabilidad del SOM K26 para implementar diseños que requieren poco o ningún acceso a la memoria externa. El resultado es un mayor rendimiento y un menor consumo de energía que los dispositivos convencionales (Figura 2).

El diagrama de Xilinx Kria utiliza una tubería de visión eficiente (haga clic para ampliar)Figura 2: Mientras que los sistemas basados en CPU embebidas y SoC típicos requieren múltiples accesos a la memoria que consumen energía para ejecutar sus aplicaciones, los sistemas basados en el Xilinx Kria utilizan un pipeline de visión eficiente que puede ser diseñado para evitar cualquier acceso DDR. (Fuente de la imagen: Xilinx)

Junto con su alto rendimiento, bajo consumo de energía y amplia reconfigurabilidad, el SOM K26 ayuda a garantizar la seguridad en los diseños de cámaras inteligentes para aplicaciones sensibles. Junto con el dispositivo de seguridad TPM incorporado en el SOM, el MPSoC integra una unidad de seguridad de configuración (CSU) dedicada que admite el arranque seguro, la supervisión de manipulaciones, el almacenamiento seguro de claves y la aceleración de hardware criptográfico. Juntos, la CSU, la memoria interna en el chip (OCM) y el almacenamiento seguro de claves proporcionan la base segura para garantizar una raíz de confianza de hardware para implementar el arranque seguro y una plataforma de confianza para la ejecución de aplicaciones.

Las amplias capacidades disponibles con el SOM K26 proporcionan una poderosa base para implementar exigentes aplicaciones basadas en el borde. Sin embargo, cada aplicación aporta sus propios requisitos en cuanto a características y funcionalidades asociadas a un conjunto de periféricos y otros componentes específicos de la aplicación. Para simplificar la implementación de soluciones específicas para la aplicación, el SOM K26 está diseñado para conectarse a una tarjeta portadora que aloja los periféricos adicionales. Xilinx demuestra este enfoque con su kit de inicio KV260 Vision AI basado en Kria K26.

El kit de inicio simplifica el desarrollo de aplicaciones de visión

Compuesto por un SOM K26 conectado a una placa portadora centrada en la visión, el Xilinx KV260 Vision AI Starter Kit proporciona una plataforma lista para usar, diseñada específicamente para la evaluación inmediata y el rápido desarrollo de aplicaciones de visión inteligente. Mientras que el SOM del K26 proporciona las capacidades de procesamiento necesarias, la placa portadora del kit de inicio se encarga de la gestión de la energía, incluida la secuencia de encendido y reinicio, así como de las opciones de interfaz y los conectores para la cámara, la pantalla y la tarjeta microSD (Figura 3).

Diagrama del kit de inicio de KV260 Vision AI de XilinxFigura 3: El kit de inicio KV260 Vision AI de Xilinx proporciona una solución completa de visión inteligente utilizando el SOM K26 conectado a una placa portadora centrada en la visión. (Fuente de la imagen: Xilinx)

Además de sus múltiples interfaces, la placa portadora ofrece soporte multicámara a través de su conector Raspberry Pi y un par de conectores del sistema de acceso a la imagen (IAS), uno de los cuales se conecta con un procesador de sensor de imagen (ISP) onsemi AP1302 de 13 megapíxeles (MP) dedicado que es capaz de manejar todas las funciones de procesamiento de imágenes.

Para acelerar aún más la implementación de aplicaciones basadas en la visión, Xilinx respalda esta plataforma de hardware de visión predefinida con una serie de aplicaciones de visión acelerada preconfiguradas, junto con un amplio conjunto de herramientas y bibliotecas de software para el desarrollo personalizado.

Las aplicaciones aceleradas ofrecen soluciones inmediatas

Para la evaluación inmediata y el rápido desarrollo de aplicaciones de visión acelerada, Xilinx ofrece varias aplicaciones preconstruidas que demuestran la ejecución de varios casos de uso populares, como la detección de rostros con cámaras inteligentes utilizando su lógica programable, la identificación y el seguimiento de peatones, la detección de defectos y la localización de palabras clave emparejadas utilizando el sistema de procesamiento del MPSoC. Disponible en la Xilinx Kria App Store, cada aplicación ofrece una solución completa para su caso de uso específico con herramientas y recursos adjuntos. Por ejemplo, la aplicación de detección facial con cámara inteligente utiliza el sensor de imagen AR1335 integrado en la tarjeta portadora KV260 y el ISP AP1302 para adquirir imágenes, y la salida HDMI o DisplayPort (DP) de la tarjeta para representar el resultado. Para el procesamiento de la detección de rostros, la aplicación configura el SOM K26 para proporcionar un acelerador de tuberías de visión y un motor de inferencia de aprendizaje automático preconfigurado para la detección de rostros, el recuento de personas y otras aplicaciones de cámaras inteligentes (Figura 4).

Imagen de las aplicaciones aceleradas preconstruidas en la Xilinx Kria App Store (haga clic para ampliar)Figura 4: Disponibles para su descarga en la tienda de aplicaciones Xilinx Kria, las aplicaciones aceleradas preconstruidas están listas para ejecutarse inmediatamente en el kit de inicio KV260, proporcionando soluciones completas para modelos de uso de visión como la detección de rostros. (Fuente de la imagen: Xilinx)

Al proporcionar una implementación y un soporte completos, las aplicaciones aceleradas preconstruidas de la Xilinx App Store permiten a los desarrolladores poner en marcha sus diseños en menos de una hora, incluso si no tienen experiencia en FPGA. Mientras evalúan la aplicación, pueden utilizar la pila de software proporcionada para modificar la funcionalidad y explorar soluciones alternativas. Para un desarrollo personalizado más extenso, Xilinx proporciona un conjunto completo de herramientas y bibliotecas de desarrollo.

El entorno y las herramientas de desarrollo de la IA aceleran el desarrollo personalizado

Para el desarrollo personalizado de aplicaciones basadas en la IA, el entorno de desarrollo Vitis AI de Xilinx ofrece herramientas optimizadas, bibliotecas y modelos preentrenados que pueden servir de base para modelos personalizados más especializados. Para el entorno operativo en tiempo de ejecución, el kit de desarrollo de software (SDK) de Linux embebido PetaLinux de Xilinx, basado en Yocto, proporciona el conjunto completo de capacidades necesarias para construir, desarrollar, probar e implantar sistemas Linux embebidos.

Diseñado tanto para expertos como para desarrolladores sin experiencia en FPGA, el entorno Vitis AI abstrae los detalles del hardware de silicio subyacente, lo que permite a los desarrolladores centrarse en la creación de modelos ML más eficaces. De hecho, el entorno de Vitis AI está integrado con la pila de compiladores de aprendizaje profundo de código abierto Apache Tensor Virtual Machine (TVM), lo que permite a los desarrolladores compilar sus modelos de diferentes marcos a un procesador, GPU o acelerador. Al utilizar Vitis AI con TVM, los desarrolladores pueden mejorar sus diseños existentes con capacidades de visión acelerada, descargando las cargas de trabajo de visión intensiva como los modelos de aprendizaje profundo al SOM Kria. Para ayudar a los desarrolladores a optimizar aún más sus modelos de aprendizaje profundo, la herramienta de optimización de IA de Xilinx puede podar las redes neuronales para reducir la complejidad en términos de número de giga operaciones por segundo (Gops), aumentar los cuadros por segundo (fps) y reducir los modelos sobreparametrizados, comprimiéndolos hasta 50 veces con poco impacto en la precisión en términos de precisión media (mAP) (Figura 5).

Gráfico del estudio de caso de Xilinx Research (haga clic para ampliar)Figura 5: Un estudio de caso de Xilinx Research mostró cómo unas pocas iteraciones de poda utilizando la herramienta Xilinx AI Optimization pueden reducir rápidamente la complejidad de la red neuronal en términos de número de Gops, al tiempo que se incrementan los cuadros por segundo, todo ello con un escaso impacto en la precisión. (Fuente de la imagen: Xilinx)

Para la implementación de aplicaciones de visión personalizadas, las bibliotecas Vitis Vision de código abierto de Xilinx están optimizadas para un alto rendimiento y una baja utilización de recursos en las plataformas Xilinx, proporcionando una interfaz familiar basada en OpenCV. En cuanto a la analítica, el marco de aplicación Xilinx Video Analytics SDK ayuda a los desarrolladores a construir pipelines de visión y analítica de vídeo más eficaces sin necesidad de tener profundos conocimientos de FPGA. Basado en el ampliamente adoptado marco de trabajo de código abierto GStreamer, el SDK de análisis de vídeo permite a los desarrolladores crear rápidamente núcleos de aceleración personalizados como complementos de GStreamer para su integración en el marco de trabajo del SDK.

Con estas herramientas, un desarrollador típico de sistemas embebidos puede montar fácilmente canalizaciones de aceleración personalizadas con o sin núcleos de aceleración personalizados.

Conclusión:

Los algoritmos de ML intensivos en computación han permitido el uso de la tecnología de visión inteligente en múltiples aplicaciones que se ejecutan en el borde, pero los desarrolladores se enfrentan a múltiples desafíos para cumplir con los requisitos de alto rendimiento, bajo consumo y adaptabilidad de los sistemas de visión basados en el borde. La solución Kria K26 SOM de Xilinx proporciona la base de hardware para acelerar algoritmos avanzados sin superar los estrictos presupuestos de energía. Al usar un kit de inicio basado en Kria K26 con aplicaciones preconstruidas, los desarrolladores pueden empezar a evaluar inmediatamente las aplicaciones de visión inteligente y utilizar un entorno de desarrollo completo para crear soluciones de dispositivos de borde personalizadas.

DigiKey logo

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.

Información sobre el autor

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk tiene más de 20 años de experiencia escribiendo para y sobre la industria de electrónica en un amplio rango de temas, entre ellos hardware, software, sistemas y aplicaciones, que incluyen IoT. Se doctoróen neurociencias (redes neuronales) y trabajó en la industria aeroespacial en sistemas seguros con distribución masiva y métodos de aceleración de algoritmos. Actualmente, cuando no escribe artículos sobre tecnología e ingeniería, trabaja en aplicaciones de aprendizaje profundo sobre sistemas de reconocimiento y recomendaciones.

Información sobre la editorial

Editores de DigiKey de América del Norte