Despliegue de soluciones de visión artificial en la periferia con Barbara

La Visión por Computador está experimentando un crecimiento sin precedentes en el borde, impulsada por la demanda de procesamiento de datos en tiempo real, la mejora de la privacidad y la eficiencia operativa. Este artículo profundiza en el despliegue de una solución integral de Visión por Computador utilizando Barbara Edge Platform, centrándose en la integración de Barbara Video Tools y la aplicación de vanguardia Ultralytics YOLOv8.

Tecnología
Escrito por:
Enrique Ramírez
Etiquetas:

Visión general

La convergencia de potentes dispositivos de borde, modelos avanzados de IA y sólidos orquestadores de borde está haciendo posible desplegar soluciones de Visión por Computador de forma eficiente y a escala, marcando una nueva era de informática inteligente y descentralizada. Las aplicaciones de Visión por Computador basadas en el borde requieren una orquestación sofisticada para garantizar un rendimiento, una escalabilidad y una eficiencia constantes.

Arquitectura de la solución

Exploraremos la arquitectura en detalle y te guiaremos a través de la integración del procesamiento de vídeo, la inferencia de IA y la visualización en tiempo real.

La arquitectura de despliegue incluye:

  • Captura una fuente de flujo de vídeo: Un flujo de cámara o un flujo de vídeo simulado.
  • Uso del Broker MQTT como eje central para gestionar el intercambio de datos de vídeo y telemetría.
  • Ultralytics YOLOv8: Un modelo avanzado de detección de objetos para analizar fotogramas de vídeo.
  • Reproductor de Vídeo: Esta aplicación forma parte de las Herramientas de Vídeo de Bárbara y muestra la salida de vídeo procesada en tiempo real.
  • Ingester + InfluxDB + Grafana: Utiliza estas populares aplicaciones disponibles en el Barbara Marketplace para almacenar datos de telemetría y visualizarlos con paneles dinámicos.

DiagramaDescripción generado automáticamente
Figura 1. Arquitectura de la solución

Acerca de Barbara Video Tools

Las Herramientas de Vídeo Bárbara son un conjunto de cinco aplicaciones diseñadas para simplificar el manejo del flujo de vídeo en los Nodos Edge, disponibles en el Mercado Bárbara e incluidas con la licencia.
  • Simulador de Vídeo: Esta herramienta genera flujos de vídeo a partir de archivos locales o vídeos de YouTube y los transmite en formato H.264 a través de MQTT.
  • Lector de Vídeo: Esta herramienta lee secuencias de vídeo y las emite en formato H.264 a través de MQTT para que otras aplicaciones las consuman.
  • Reproductor de Vídeo: Esta herramienta recupera los flujos de vídeo publicados a través de MQTT y los muestra en una interfaz web.
  • Codificador de vídeo: Esta herramienta procesa los flujos de vídeo recibidos en formato base64 a través de MQTT y los convierte en flujos de vídeo RTSP.
  • ‍Grabador de Vídeo: Esta herramienta captura los flujos de vídeo recibidos en formato base64 a través de MQTT y los almacena en una base de datos de vídeo.

Despliegue de la solución de visión computerizada en la periferia 

Desplegar el Broker MQTT

Para desplegar nuestra solución en el borde, empezaremos por establecer un eje central de comunicaciones: un Broker MQTT. Este broker facilitará el intercambio fluido de flujos de vídeo y datos telemétricos entre todas las aplicaciones implicadas.

El Broker MQTT puede desplegarse sin esfuerzo en un Nodo Edge con sólo unos clics, requiriendo una configuración mínima para la conexión, los puertos expuestos, etc.

Figura 2: Tarjeta del Broker MQTT ya instalada en el Nodo Edge

Procesamiento e Inferencia de Vídeo

A continuación, configuraremos el Lector de Vídeo, un componente clave de las Herramientas de Soluciones de Vídeo de Barbara. Esta herramienta ingiere eficazmente secuencias de vídeo de diversas fuentes, las procesa y transmite la salida en formato H264 a través de MQTT. A continuación, desplegaremos el Servidor de Inferencia Ultralytics YOLOv8 , una aplicación diseñada para suscribirse a temas MQTT y procesar los flujos de vídeo proporcionados por el Lector de Vídeo.

A continuación, realizará tareas avanzadas de IA como:

  • Detección de objetos
  • Identificación de poses
  • Segmentación de imágenes
  • Clasificación de imágenes
  • Detección de cajas delimitadoras orientadas (OBB)

El servidor viene preentrenado con modelos para conjuntos de datos comunes como COCO y OpenImage. Además, te permite cargar y ajustar modelos de detección personalizados mediante un navegador de archivos web. Para este caso de uso concreto, emplearemos el modelo "coco_yolov8n" para la detección de objetos.

Los fotogramas de vídeo procesados, junto con los datos de telemetría generados (tiempo de inferencia, recuento de objetos, etc.), se compartirán a través de MQTT.

Figura 3: Aplicación Ultralytics YOLOv8 en el Barbara Marketplace

Visualizar los resultados

Para visualizar la salida, desplegaremos una aplicación Reproductor de Vídeo del marketplace de Barbara. Esta aplicación mostrará el flujo de vídeo compuesto generado por la aplicación YOLOv8 de Ultralytics.

Figura 4: Tarjeta de aplicación Reproductor de Vídeo instalada en el nodo de borde

Una vez instalada la aplicación Reproductor de Vídeo, se puede acceder a la visualización de vídeo simplemente abriendo una nueva pestaña del navegador y navegando al puerto 5080 (también definido en la configuración).

Figura 5: Visualización de la salida de vídeo compuesto generada por la aplicación Ultralytics YOLOv8

Almacenamiento y visualización de datos telemétricos

Para almacenar y visualizar los datos telemétricos generados por la aplicación Ultralytics YOLOv8 , desplegaremos tres aplicaciones adicionales:

  • Ingesta MQTT- InfluxDB: Extrae datos del Broker MQTT y los envía a la base de datos InfluxDB.
  • InfluxDB:. Una base de datos de series temporales para almacenar y consultar grandes cantidades de datos con fecha y hora.
  • Grafana: Una potente herramienta de visualización para crear y compartir cuadros de mando interactivos.
Figura 6: Finalmente, todas las aplicaciones están instaladas en el Nodo Edge

Ahora, podemos acceder al panel de control de Grafana para visualizar los datos de telemetría en tiempo real. Basta con acceder al puerto 13000 (configurado durante la instalación) para ver el panel predefinido, que importamos mediante un archivo JSON durante la configuración de la app.

Figura 7: Visualización de los datos telemétricos de Ultralytics YOLOv8 en la aplicación Grafana

Desplegar la Solución en un Grupo de Nodos Edge

Para las empresas, desplegar una solución de Visión Artificial en una instalación rara vez es suficiente, necesitan replicarla en varias ubicaciones o integrarla en flujos de trabajo más amplios. Aunque este artículo se ha centrado en el despliegue de la solución en un único nodo de borde, el verdadero potencial de la plataforma Barbara reside en su capacidad para escalar a través de múltiples nodos de borde.

La funcionalidad de comandos por lotes de Barbara permite la instalación simultánea de conjuntos de aplicaciones idénticos en numerosos nodos de borde, cada uno con configuraciones a medida para adaptarse a los requisitos específicos de cada caso de uso. Esta potente función agiliza considerablemente los procesos de instalación y configuración, ahorrando mucho tiempo y esfuerzo.

Figura 8: Instalación de la aplicación Reproductor de Vídeo simultáneamente en cuatro nodos periféricos

Ventajas de utilizar la plataforma de Barbara para el despliegue del borde de visión por ordenador

Barbara, como plataforma de Gestión de Orquestación de Bordes , ofrece varias ventajas significativas a la hora de desplegar aplicaciones de visión computerizada en un conjunto de nodos de borde:

1. Despliegue y gestión simplificados

  • Gestión centralizada: Barbara proporciona una plataforma unificada para gestionar y supervisar múltiples nodos de borde, simplificando la implantación y la configuración.
  • Despliegue automatizado: Agiliza el proceso de despliegue automatizando la instalación y configuración de las aplicaciones y dependencias de visión computerizada.
  • Configuración remota: Configura y actualiza las aplicaciones a distancia, eliminando la necesidad de acceso físico a los dispositivos de borde.

2. Rendimiento y escalabilidad mejorados

  • Asignación optimizada de recursos: Asigna los recursos de forma eficiente para maximizar el rendimiento de las aplicaciones YOLO.
  • Escalabilidad: Escala fácilmente el despliegue para acomodar cargas de trabajo crecientes o nuevos nodos de borde.
  • Monitorización en tiempo real: Supervisa el rendimiento y la salud de los dispositivos y aplicaciones de borde en tiempo real.

3. Seguridad y fiabilidad mejoradas

  • Comunicación segura: Garantiza una comunicación segura entre los nodos periféricos y la nube central mediante protocolos de seguridad robustos.
  • Tolerancia a fallos: Implementa mecanismos tolerantes a fallos para minimizar el tiempo de inactividad y garantizar un funcionamiento continuo.
  • Solución remota de problemas: Diagnostica y soluciona problemas a distancia, reduciendo el tiempo de inactividad y los costes de mantenimiento.

4. Solución rentable

  • Reducción de los costes operativos: Disminuye los costes operativos automatizando las tareas y reduciendo la intervención manual.
  • Utilización optimizada de los recursos: Maximiza la utilización del hardware para minimizar el consumo de energía y los costes de hardware.

Conclusión

Desplegar, actualizar y supervisar los sistemas de Visión Artificial en numerosos dispositivos periféricos requiere una sólida plataforma de orquestación que orqueste a la perfección todo el ciclo de vida tanto de los modelos como de los dispositivos periféricos en los que funcionan, garantizando la eficacia, la fiabilidad y la escalabilidad.

Aprovechando Barbara, las organizaciones pueden acelerar el despliegue de aplicaciones de Visión Artificial en los nodos periféricos, mejorar el rendimiento y reducir los costes operativos.

¿Listo para llevar tus modelos de IA al límite? ¡Empieza a explorar Barbara con una prueba gratuita hoy mismo!