Cómo diseñar e implantar rápidamente sistemas de visión artificial inteligentes
Colaboración de Editores de DigiKey de América del Norte
2022-08-31
La necesidad de la visión artificial es cada vez mayor en toda una serie de aplicaciones, como la seguridad, las cámaras de tráfico y de ciudad, el análisis del comercio minorista, la inspección automatizada, el control de procesos y la robótica guiada por visión. La aplicación de la visión artificial es compleja y requiere la integración de diversas tecnologías y subsistemas, incluidos el hardware de alto rendimiento y el software avanzado de inteligencia artificial/aprendizaje automático (AI/ML). Comienza con la optimización de la tecnología de captura de video y la E/S de visión para cubrir las necesidades de la aplicación y se extiende a los múltiples canales de procesamiento de imágenes para una conectividad eficiente. En última instancia, depende de que el sistema de visión integrado pueda realizar análisis basados en la visión en tiempo real utilizando hardware de alto rendimiento, como matrices de puertas programables en campo (FPGA), sistemas en módulos (SOM), sistemas en chips (SoC) e incluso sistemas multiprocesadores en chips (MPSoC) para ejecutar el software de procesamiento y reconocimiento de imágenes de IA/ML necesario. Esto puede ser un proceso complejo y costoso que requiere mucho tiempo y puede estar expuesto a numerosas oportunidades de sobrecostos y retrasos en el calendario.
En lugar de empezar desde cero, los diseñadores pueden recurrir a una plataforma de desarrollo bien preparada y de alto rendimiento que acelera el tiempo de comercialización, controla los costos y reduce los riesgos de desarrollo. Además, admite altos grados de flexibilidad y rendimiento de las aplicaciones. Una plataforma de desarrollo basada en SOM puede proporcionar un entorno de hardware y software integrado, lo que permite a los desarrolladores centrarse en la personalización de las aplicaciones y ahorrar hasta nueve meses de tiempo de desarrollo. Además del entorno de desarrollo, la misma arquitectura SOM está disponible en configuraciones optimizadas para la producción en entornos comerciales e industriales, lo que mejora la fiabilidad y la calidad de las aplicaciones, reduce aún más los riesgos y acelera el tiempo de comercialización.
Este artículo comienza repasando los retos asociados al desarrollo de sistemas de visión artificial de alto rendimiento, después presenta el completo entorno de desarrollo que ofrece el kit de inicio de IA de visión Kria KV260 de AMD Xilinx, y finaliza con ejemplos de SOM listos para la producción basados en la plataforma Kira 26, diseñados para ser conectados a una tarjeta portadora con periféricos específicos de la solución.
Comienza con la optimización del tipo de datos.
Las necesidades de los algoritmos de aprendizaje profundo están evolucionando. No todas las aplicaciones necesitan cálculos de alta precisión. Se están utilizando tipos de datos de menor precisión, como INT8, o formatos de datos personalizados. Los sistemas basados en la GPU pueden enfrentarse al reto de intentar modificar las arquitecturas optimizadas para datos de alta precisión para acomodar formatos de datos de menor precisión de forma eficiente. El SOM del Kria K26 es reconfigurable, lo que le permite soportar una amplia gama de tipos de datos, desde FP32 hasta INT8 y otros. La reconfigurabilidad también da lugar a un menor consumo energético global. Por ejemplo, las operaciones optimizadas para INT8 consumen un orden de magnitud menos de energía en comparación con una operación FP32 (Figura 1).
Figura 1: Se necesita un orden de magnitud menos de energía para las operaciones INT8 (8b Add) en comparación con las operaciones FP32 (32b Add). (Fuente de la imagen: AMD Xilinx)
Arquitectura óptima para un consumo mínimo de energía
Los diseños implementados sobre la base de una arquitectura de GPU o CPU multinúcleo pueden consumir mucha energía según los patrones típicos de uso de la misma:
- 30% para los núcleos
- 30% para la memoria interna (L1, L2, L3)
- 40% para la memoria externa (como DDR)
Las GPU necesitan acceder con frecuencia a una memoria DDR poco eficiente para poder programar y pueden suponer un cuello de botella para las demandas de cálculo de gran ancho de banda. La arquitectura Zynq MPSoC utilizada en el SOM Kria K26 admite el desarrollo de aplicaciones con poco o ningún acceso a la memoria externa. Por ejemplo, en una aplicación típica de automoción, la comunicación entre la GPU y varios módulos requiere múltiples accesos a la memoria DDR externa, mientras que la solución basada en el Zynq MPSoC incorpora un proceso diseñado para evitar la mayoría de los accesos a la DDR (Figura 2).
Figura 2: En esta aplicación típica de automoción, la GPU requiere múltiples accesos a la DDR para la comunicación entre los distintos módulos (izquierda), mientras que la arquitectura de canalización del Zynq MPSoC (derecha) evita la mayoría de los accesos a la DDR. (Fuente de la imagen: AMD Xilinx)
El recorte aprovecha las ventajas
El rendimiento de las redes neuronales en el SOM K26 puede mejorarse utilizando una herramienta de optimización de IA que permite optimizar y recortar los datos. Es muy común que las redes neuronales estén sobreparametrizadas, lo que conduce a altos niveles de redundancia que pueden optimizarse utilizando el recorte de datos y la compresión de modelos. El uso del optimizador de IA de Xilinx puede dar lugar a una reducción de 50 veces en la complejidad del modelo, con un impacto nominal en la precisión del mismo. Por ejemplo, un detector de disparo único (SSD) más una arquitectura de red neuronal de convolución (CNN) VGG con 117 giga operaciones (Gops) se refinó a lo largo de 11 iteraciones de poda utilizando el optimizador de IA. Antes de la optimización, el modelo funcionaba a 18 cuadros por segundo (FPS) en un Zynq UltraScale+ MPSoC. Tras 11 iteraciones -laduodécima ejecución del modelo-, la complejidad se redujo de 117 Gops a 11.6 Gops (10X), el rendimiento aumentó de 18 a 103 FPS (5X), y la precisión se redujo de 61.55 de precisión media (mAP) para la detección de objetos a 60.4 mAP (solo un 1% menos) (Figura 3).
Figura 3: Tras un número relativamente reducido de iteraciones, el recorte puede reducir la complejidad del modelo (Gop) en 10 veces y mejorar el rendimiento (FPS) en 5 veces, con solo una reducción del 1% en la precisión (mAP). (Fuente de la imagen: AMD Xilinx)
Ejemplo de aplicación en el mundo real
Se ha desarrollado una aplicación de aprendizaje automático para la detección y el reconocimiento de matrículas de automóviles, también llamada reconocimiento de matrículas de automóviles (ANPR), basada en el software de análisis de visión de Uncanny Vision. El ANPR se utiliza en sistemas de peaje automatizados, control de autopistas, acceso seguro a puertas y aparcamientos, y otras aplicaciones. Esta aplicación ANPR incluye una canalización basada en la IA que descodifica el video y preprocesa la imagen, seguida de la detección ML y el reconocimiento de caracteres OCR (Figura 4).
Figura 4: Flujo típico de procesamiento de imágenes para una aplicación ANPR basada en IA. (Fuente de la imagen: AMD Xilinx)
La implementación de ANPR requiere uno o más feeds de protocolo de transmisión en tiempo real (RTSP) codificados en H.264 o H.265, decodificados o sin comprimir. Los fotogramas de video descodificados se escalan, recortan, convierten el espacio de color y se normalizan (preprocesamiento), y luego se envían al algoritmo de detección de ML. Las implementaciones de ANPR de alto rendimiento requieren una canalización de IA de varias etapas. La primera etapa detecta y localiza el vehículo en la imagen, creando la región de interés (ROI). Al mismo tiempo, otros algoritmos optimizan la calidad de la imagen para su posterior uso por el algoritmo de reconocimiento de caracteres OCR y rastrean el movimiento del vehículo a través de múltiples fotogramas. El ROI del vehículo se recorta además para generar el ROI de la matrícula procesado por el algoritmo OCR para determinar los caracteres de la matrícula. En comparación con otros SOM comerciales basados en GPU o CPU, la aplicación ANPR de Uncanny Vision se ejecutaba 2-3 veces más rápido en el SOM Kira KV260, con un costo inferior a 100 dólares por alimentación RTSP.
Entorno de desarrollo de visión inteligente
Los diseñadores de aplicaciones de visión inteligente, como cámaras de tráfico y de ciudad, análisis de comercios, seguridad, automatización industrial y robótica, pueden recurrir al entorno de desarrollo Kria K26 SOM AI Starter. Este entorno está construido con la arquitectura MPSoC Zynq® UltraScale+™ y cuenta con una creciente biblioteca de paquetes de software de aplicación curados (Figura 5). El AI Starter SOM incluye un procesador Arm Cortex-A53 de cuatro núcleos, más de 250 mil células lógicas y un códec de video H.264/265. El SOM también cuenta con 4 GB de memoria DDR4, 245 IO y 1.4 tera-ops de computación de IA para apoyar la creación de aplicaciones de IA de visión de alto rendimiento que ofrecen más de 3 veces más rendimiento con menor latencia y energía en comparación con otros enfoques de hardware. Las aplicaciones preconstruidas permiten realizar los diseños iniciales en menos de una hora.
Figura 5: El kit de inicio de IA de visión Kria KV260 es un completo entorno de desarrollo para aplicaciones de visión artificial. (Fuente de la imagen: AMD Xilinx)
Para ayudar a iniciar el proceso de desarrollo utilizando el SOM Kria K26, AMD Xilinx ofrece el kit de inicio de IA de visión KV260 que incluye un adaptador de corriente, un cable Ethernet, una tarjeta microSD, un cable USB, un cable HDMI y un módulo de cámara (Figura 6). Si no se necesita todo el kit de inicio, los desarrolladores pueden simplemente adquirir el adaptador de corriente opcional para empezar a utilizar el Kira K26 SOM.
Figura 6: El kit de inicio de la IA de visión KV260 incluye: (fila superior, de izquierda a derecha) fuente de alimentación, cable Ethernet, tarjeta microSD, y (fila inferior, de izquierda a derecha) cable USB, cable HDMI, módulo de cámara. (Imagen: AMD Xilinx)
Otro factor que acelera el desarrollo es el amplio abanico de funciones, que incluye abundantes entradas y salidas de 1.8 V, 3.3 V y diferenciales con cuatro transceptores de 6 Gb/s y cuatro de 12.5 Gb/s. Estas características permiten el desarrollo de aplicaciones con un mayor número de sensores de imagen por SOM y muchas variaciones de interfaces de sensores, como MIPI, LVDS, SLVS y SLVS-EC, que no siempre son compatibles con los productos estándar de aplicación (ASSP) o las GPU. Los desarrolladores también pueden implementar DisplayPort, HDMI, PCIe, USB2.0/3.0 y estándares definidos por el usuario con la lógica programable integrada.
Por último, el desarrollo de aplicaciones de IA se ha simplificado y hecho más accesible al acoplar las amplias capacidades de hardware y el entorno de software del SOM K26 con aplicaciones de visión listas para la producción. Estas aplicaciones de visión pueden implementarse sin necesidad de un diseño de hardware FPGA y permiten a los desarrolladores de software integrar rápidamente modelos de IA y código de aplicación personalizados e incluso modificar el proceso de visión. La plataforma de desarrollo de software unificado Vitis y las librerías de Xilinx son compatibles con los entornos de diseño habituales, como los marcos TensorFlow, Pytorch y Café, así como con múltiples lenguajes de programación, como C, C++, OpenCL™ y Python. También hay una tienda de aplicaciones integradas para aplicaciones de borde que utilizan los SOM Kria de Xilinx y sus socios del ecosistema. Las ofertas de Xilinx son gratuitas y de código abierto e incluyen el seguimiento de cámaras inteligentes y la detección de rostros, el procesamiento del lenguaje natural con visión inteligente, y mucho más.
Producción optimizada de Kira 26 SOM
Una vez completado el proceso de desarrollo, están disponibles versiones del SOM K26 listas para la producción, diseñadas para ser conectadas a una tarjeta portadora con periféricos específicos para la solución que pueden acelerar la transición a la fabricación (Figura 7). El SOM K26 básico es una unidad de grado comercial con un rango de temperatura de 0 °C a +85 °C de temperatura de unión, según lo medido por el sensor de temperatura interno. También está disponible una versión de grado industrial del SOM K26, que puede funcionar entre -40 °C y +100 °C.
El mercado industrial exige una larga vida útil en entornos difíciles. El Kria SOM, de calidad industrial, está diseñado para funcionar durante diez años a una temperatura de unión de 100 °C y una humedad relativa del 80%, y para soportar hasta 40 g de golpes y 5 g de vibración media cuadrática (RMS). También cuenta con una disponibilidad de producción mínima de diez años para respaldar los largos ciclos de vida de los productos.
Figura 7: Los SOM de Kira 26 optimizados para la producción en entornos industriales y comerciales están diseñados para conectarse a una tarjeta portadora con periféricos específicos para la solución. (Imagen: DigiKey)
Resumen
Los diseñadores de aplicaciones de visión artificial, como cámaras de seguridad, tráfico y ciudad, análisis de comercios, inspección automatizada, control de procesos y robótica guiada por visión, pueden recurrir al Kria K26 SOM AI Starter para acelerar el tiempo de comercialización, ayudar a controlar los costos y reducir los riesgos de desarrollo. Esta plataforma de desarrollo basada en SOM es un entorno integrado de hardware y software que permite a los desarrolladores centrarse en la personalización de las aplicaciones y ahorrar hasta nueve meses de tiempo de desarrollo. La misma arquitectura SOM está disponible en configuraciones optimizadas para la producción en entornos comerciales e industriales, lo que acelera aún más el tiempo de comercialización. La versión industrial tiene una disponibilidad de producción mínima de 10 años para respaldar los ciclos de vida largos de los productos.

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.