Cómo la Innovación en Herramientas Simplifica la Visión AI para Sistemas Embebidos
Integrar visión en productos cotidianos ofrece beneficios transformadores en todas las industrias, sin embargo, extraer datos de cámara, embeber modelos de machine learning y entregar insights accionables siguen siendo desafíos complejos.
La clave reside en seleccionar el software, herramientas, librerías y compiladores apropiados. Estos recursos son típicamente inaccesibles para no ingenieros, e incluso muchos desarrolladores embebidos carecen de la experiencia especializada requerida para diseño de sistemas de visión.
Uno de los mayores obstáculos es la falta de conciencia del software y herramientas que facilitan el desarrollo de visión embebida, como explicó Jeff Bier, fundador de Edge AI and Vision Alliance, en una sesión con EE Times antes del Embedded Vision Summit 2021. Aunque se ha invertido e investigado significativamente en algoritmos y silicio, las herramientas de software que median entre ellos —compiladores, librerías de funciones optimizadas, etc.— han sido algo descuidadas, señaló Bier.
Usar las herramientas de software, compiladores y librerías adecuadas puede producir una implementación muy eficiente de un algoritmo para un microcontrolador o procesador particular. Pero "en los últimos 30 años, las empresas de semiconductores han infra-invertido típicamente en herramientas de software", dijo Bier, veterano de la industria de sistemas embebidos y procesamiento de señales. "[El software] a menudo se ve como un mal necesario —es un centro de costes en un negocio muy sensible al coste— y se nota. Como desarrollador de software embebido, puedes mirar las herramientas disponibles comparadas con lo que tienen desarrolladores de PC o nube y sentirte como el hijastro no querido".
Llevando este argumento al siguiente nivel, añadió: "Puedes tener experiencia en sistemas embebidos, pero hay una posibilidad de que estos desarrolladores nunca hayan trabajado con datos de imagen o redes neuronales profundas".
Las habilidades son un gran desafío, dijo Bier. "Podemos haber hecho cálculos en hoja de cálculo y dicho: 'Sí, es posible ejecutar este tipo de red neuronal profunda a rendimiento suficiente en nuestra aplicación'. Pero, ¿sabemos cómo hacerlo? ¿Tenemos las habilidades? Para la mayoría de organizaciones la respuesta es no, porque no han tenido la oportunidad de usar esta tecnología en el pasado. Al ser una tecnología relativamente nueva en el mundo comercial, no tienen la experiencia. No tienen un departamento de machine learning ni de visión por computadora en su empresa".
En los últimos un par de años, esto se ha convertido en un verdadero cuello de botella para la aplicación comercial de visión por computadora y redes neuronales profundas —solo el saber hacer.
La tecnología se está volviendo más accesible, sin embargo, ya que las empresas han buscado abordar la brecha de habilidades en los últimos años. "La brecha de conocimiento y habilidades ha sido bastante grande pero se está reduciendo", dijo Bier, añadiendo que "un par de empresas", una grande y una pequeña, "han liderado la carga en esto". La grande es Intel; la pequeña es Edge Impulse.
"Intel a menudo me ha impresionado por ir contra la corriente y dispuesto a hacer grandes inversiones en herramientas de software de varias maneras", dijo Bier. "Tienen, por ejemplo, la cadena de herramientas OpenVINO para visión por computadora e inferencia en el edge, y DevCloud for the Edge. Edge Impulse también es un entorno basado en la nube. Para un desarrollador embebido, eso [el entorno en la nube] se siente raro. Todo para ellos está a menudo en su escritorio —la placa de desarrollo, la workstation, las herramientas— e incluso no necesitan conexión a internet. Todo es muy local. Así que se siente muy extraño decir: 'Pon tu código en la nube' y ejecutar las herramientas en la nube".
La tendencia aborda el tiempo de despliegue así como la brecha de habilidades. Una frustración frecuente para desarrolladores embebidos es conseguir acceso a placas y herramientas e instalarlas correctamente, dijo Bier. La línea de tiempo es "generalmente medida en semanas, a veces en meses, y eso es doloroso, especialmente si al final te das cuenta de que no era lo que necesitabas y necesitas repetir el proceso con otras placas". Por ejemplo, podrías descubrir al final que "necesitas la siguiente, con mayor rendimiento o un conjunto diferente de interfaces I/O".
Pero si el proveedor "tiene todas las placas de desarrollo en la nube conectadas a sus máquinas y [puede] acceder a ellas a voluntad, eso ofrece una tremenda conveniencia. Del mismo modo, tienen las últimas versiones de las herramientas de software, y han resuelto todas las dependencias entre ellas".
Acelerando el Despliegue de Visión AI
Entonces, ¿cómo acelerar el despliegue de visión embebida para habilitar funciones como detección y análisis de objetos, ya sea para ciudades inteligentes, fábricas, retail, o cualquier otra aplicación?
Al darse cuenta de los puntos de dolor descritos por Bier, las empresas los están abordando. Algunas ahora ofrecen herramientas como sistemas de desarrollo basados en la nube que permiten alimentar tu código o datos y obtener evaluaciones casi al instante. Otras proporcionan diseños de referencia que permiten simplemente conectar la salida de tu cámara y elegir entre librerías o apps que proporcionan algoritmos de inferencia para aplicaciones comunes.
En el primer grupo, Intel DevCloud for the Edge y Edge Impulse ofrecen plataformas basadas en la nube que eliminan la mayoría de los puntos de dolor con fácil acceso a las últimas herramientas y software. En el segundo, Xilinx y otros han comenzado a ofrecer sistemas completos en módulo con aplicaciones listas para producción que pueden desplegarse con herramientas a un nivel de abstracción más alto, eliminando la necesidad de algunas de las habilidades más especializadas.
Prototipa, Benchmark y Prueba Inferencia AI en la Nube
Intel DevCloud for the Edge permite a los usuarios desarrollar, prototipar, benchmark y probar aplicaciones de inferencia AI en una gama de hardware Intel, incluyendo CPUs, GPUs integradas, FPGAs y unidades de procesamiento de visión (VPUs). Con su interfaz Jupyter Notebook, la plataforma contiene tutoriales y ejemplos pre-cargados con todo lo necesario para empezar rápido. Esto incluye modelos pre-entrenados, datos de muestra y código ejecutable de la última versión del toolkit Intel Distribution of OpenVINO, así como otras herramientas para deep learning. Todos los dispositivos de soporte están configurados para rendimiento óptimo y listos para ejecución de inferencia.

El beneficio más significativo para el desarrollador es que la plataforma no requiere ninguna configuración de hardware en el lado del usuario. El entorno de desarrollo basado en navegador de Jupyter Notebook permite a los desarrolladores ejecutar código desde su navegador y visualizar resultados instantáneamente. Esto les permite prototipar soluciones de visión por computadora en el entorno cloud de Intel y ver su código ejecutarse en cualquier combinación de sus recursos de hardware disponibles.
Hay tres beneficios principales en esta oferta basada en la nube. Primero, aborda el problema de la parálisis de elección de hardware. Los desarrolladores pueden ejecutar aplicaciones AI remotamente en una amplia gama de hardware para determinar cuál es mejor para su solución basándose en factores como tiempo de ejecución de inferencia, consumo de energía y coste.
Segundo, ofrece acceso remoto inmediato al último hardware edge de Intel. En el lado del software, aborda el problema de tener que lidiar con software desactualizado, ya que proporciona acceso instantáneo a la última versión de Intel Distribution of OpenVINO toolkit y hardware edge compatible.
Y tercero, ofrece acceso a benchmarks de rendimiento específicos de aplicación en un formato fácil de comparar, lado a lado.
(Un tutorial sobre ejecución de modelos de detección de objetos usando Intel DevCloud for the Edge está disponible aquí.)
Construye un Modelo en la Nube, Ve lo que Pasa en Vivo
Otro enfoque es alimentar datos en una plataforma cloud para visualizar y crear modelos de entrenamiento y desplegarlos en dispositivos embebidos. Edge Impulse hace exactamente eso, ofreciendo un entorno de desarrollo basado en la nube que busca hacer simple añadir machine learning en dispositivos edge sin requerir un doctorado en machine learning, según la empresa.
Su plataforma permite a los usuarios importar datos de imagen recopilados del campo, construir rápidamente clasificadores para interpretar esos datos, y desplegar modelos de vuelta a dispositivos de producción de bajo consumo. Una clave de la plataforma web Edge Impulse es la capacidad de ver y etiquetar todos los datos adquiridos, crear bloques de pre-procesamiento para aumentar y transformar datos, visualizar el dataset de imágenes, y clasificar y validar modelos en datos de entrenamiento directamente desde la interfaz de usuario.
Dado que puede ser bastante difícil construir un modelo de visión por computadora desde cero, Edge Impulse usa un proceso de transfer learning para hacerlo más fácil y rápido de entrenar modelos. Esto implica aprovechar un modelo bien entrenado y reentrenar solo las capas superiores de una red neuronal, llevando a modelos mucho más fiables que entrenan en una fracción del tiempo y funcionan con datasets sustancialmente más pequeños. Con el modelo diseñado, entrenado y verificado, es posible desplegar este modelo de vuelta al dispositivo. El modelo puede entonces ejecutarse en el dispositivo sin conexión a internet, con todos sus beneficios inherentes, como minimizar latencia, y funciona con consumo mínimo de energía. El modelo completo se empaqueta con pasos de pre-procesamiento, pesos de red neuronal y código de clasificación en una sola librería C++ que puede incluirse en el software embebido.

Subiendo a un Nivel Superior de Abstracción
Otro enfoque que ofrecen los proveedores es reducir el tiempo de desarrollo ofreciendo sistemas basados en módulos y permitiendo diseño a un nivel de abstracción más alto. Xilinx dijo que su nuevo enfoque de sistemas en módulo (SOMs) puede recortar hasta nueve meses el tiempo de desarrollo para sistemas de visión, abordando la creciente complejidad en visión AI así como desafíos para implementar AI en el edge.
Xilinx anunció recientemente el primer producto en su nueva cartera de SOMs: el Kria K26 SOM, dirigido específicamente a aplicaciones de visión AI en ciudades inteligentes y fábricas inteligentes, junto con un kit de desarrollo de bajo costo listo para usar, el Kria KV260 AI vision starter kit.
Chetan Khona, director de industrial, visión y salud en Xilinx, dijo en la rueda de prensa de lanzamiento de la nueva familia de módulos: "Los sistemas listos para producción son importantes para el despliegue rápido [de visión AI embebida]. Los clientes pueden ahorrar hasta nueve meses en tiempo de desarrollo usando un diseño basado en módulo en lugar de uno basado en dispositivo". Añadió que con el starter kit, los usuarios pueden empezar en una hora, "sin experiencia en FPGA necesaria". Los usuarios conectan la cámara, cables y monitor, insertan la tarjeta microSD programada y encienden la placa, y luego pueden seleccionar y ejecutar una aplicación acelerada de su elección.
La cartera Kria SOM acopla la plataforma hardware y software con aplicaciones aceleradas de visión listas para producción. Estas aplicaciones llave en mano eliminan todo el trabajo de diseño de hardware FPGA; los desarrolladores de software solo necesitan integrar sus modelos AI personalizados y código de aplicación, y opcionalmente modificar el pipeline de visión —usando entornos de diseño familiares como TensorFlow, PyTorch, o frameworks Café, así como lenguajes de programación C, C++, OpenCL y Python.

Los Kria SOMs también permiten personalización y optimización para desarrolladores embebidos con soporte para PetaLinux basado en Yocto estándar. Xilinx dijo que una colaboración con Canonical también está en progreso para proporcionar soporte Ubuntu Linux, la popular distribución Linux usada por desarrolladores de AI. Esto ofrece familiaridad generalizada con desarrolladores de AI e interoperabilidad con aplicaciones existentes. Los clientes pueden desarrollar en cualquiera de los dos entornos y llevar cualquiera a producción. Ambos entornos vendrán pre-construidos con una infraestructura de software y utilidades útiles.
Hemos destacado tres de los enfoques que los proveedores están tomando para abordar la brecha de habilidades y conocimiento, así como el tiempo de despliegue, para desarrollo de sistemas de visión embebida. Los enfoques basados en la nube ofrecen herramientas que "democratizan" la capacidad de crear y entrenar modelos y evaluar hardware para despliegue extremadamente rápido en dispositivos embebidos. Y el enfoque que ofrece un módulo, o diseño de referencia, con una librería de apps permite a desarrolladores AI crear sistemas de visión embebida rápidamente. Todos nos están moviendo a una forma diferente de ver placas de desarrollo y herramientas. Eliminan el misterio de la visión embebida subiendo en la cadena de valor, dejando el trabajo de nivel fundacional a las herramientas y módulos de los proveedores.
Contenido Relacionado:
- Visión Embebida en el Punto de Inflexión
- Cinco Tendencias a Observar en Visión Embebida y Edge AI
- ¿Las Máquinas Entenderán Algún Día Plenamente lo que Ven?
- Xilinx SOM apunta a adopción más amplia de edge AI y visión embebida
- Embedded Vision Summit: Percepción ML en FPGAs diminutos
- GWM adopta SoC AI visión Ambarella para nuevo SUV
- AImotive muestra 98% eficiencia visión edge en Nextchip Apache5
- Placa AI visión bajo consumo dura 'años' con una sola batería
- OmniVision reduce sensor imagen médica para endoscopia más profunda
Incrustado
- Cómo construir una lista de equipos fiable para el éxito del mantenimiento basado en condición
- Drew Troyer: Dominando la confiabilidad en la cadena de valor de equipos — Parte 3
- Drew Troyer explora la cadena de valor de equipos: Insights de confiabilidad — Parte 2
- Drew Troyer: La cadena de valor de equipos — Parte 1
- Revolucionando las Cadenas de Suministro Sanitarias: Desbloqueando el Pleno Potencial de la IA
- Transformando Cadenas de Suministro: Desbloqueando Valor a Través del Cumplimiento e Innovación Digital
- Inspección por visión artificial: herramientas esenciales y tecnologías emergentes
- Cómo la IA está transformando las cadenas de suministro globales
- ¿Cumplirá 5G la visión 2020? Insights del Laboratorio Nacional de Física
- Desbloquear el valor de los datos IoT: Estrategias seguras y basadas en insights
- Por qué las mediciones analógicas impulsan el rendimiento de la planta