Asesoría Agenda una llamada de descubrimiento técnico hoy mismo »

· Eduardo Vieira · Vision AI  · 6 min de lectura

Edge AI industrial con YOLO11 y Hailo: flujo de banco reproducible

Un flujo reproducible y acotado por versiones para exportar YOLO11 a Hailo, reproducir entradas grabadas y validar detecciones sin controlar equipos de planta.

Un flujo reproducible y acotado por versiones para exportar YOLO11 a Hailo, reproducir entradas grabadas y validar detecciones sin controlar equipos de planta.

Esta implementación es un experimento de banco autorizado, no un sistema productivo. Reproduce una entrada grabada con Ultralytics YOLO11 y Hailo acotados por versiones, aplica reglas explícitas y escribe solo en un destino PLC sintético. No abre cámaras, se conecta a PLC ni acciona equipos; tampoco afirma seguridad funcional, preparación productiva, FPS o latencia de planta.

1. Congelar el experimento antes de exportar

Registre versiones exactas de Ultralytics, Hailo Dataflow Compiler, HailoRT y firmware, además de dispositivo, checksum del modelo, clases y dimensiones. Este artículo especifica YOLO11, no “el YOLO más reciente”: otros exportadores pueden cambiar el grafo. Reconstruya el artefacto cuando cambie un límite; no suponga compatible un HEF anterior con runtime o firmware nuevos.

Seleccione un checkpoint, por ejemplo yolo11n.pt, y una forma fija como 1x3x640x640. Es un parámetro, no una promesa de rendimiento. La forma fija evita ambigüedades y vuelve repetible el preprocesamiento. Conserve el checksum de la grabación y los resultados esperados para reproducir los mismos bytes tras una actualización.

2. Separar preprocesamiento, exportación, compilación y runtime

Hay cuatro límites importantes:

  1. Preprocesamiento: lee cada cuadro grabado y aplica la política elegida de redimensionamiento o letterbox, orden de canales, escala numérica y disposición del tensor.
  2. Exportación de Ultralytics: convierte el checkpoint YOLO11 fijado al artefacto de intercambio aceptado por la cadena Hailo seleccionada. Se exporta con forma fija y se conserva el registro del exportador.
  3. Hailo Dataflow Compiler: analiza, optimiza, cuantiza y compila ese artefacto para el objetivo Hailo exacto, generando el HEF desplegable. Es una etapa de construcción fuera de línea.
  4. HailoRT: carga el HEF en el host, transfiere tensores, ejecuta inferencia en el acelerador y devuelve salidas. No reentrena ni compila el modelo.

No oculte las etapas tras un comando opaco. Almacene cada checksum y haga fallar el arranque si no coinciden manifiesto, HEF, etiquetas, runtime, firmware o forma. Un contenedor fija paquetes de usuario, pero no corrige incompatibilidades del controlador o firmware.

3. Calibrar con datos representativos

La calibración de cuantización necesita entradas representativas: materiales, iluminación, fondos, orientaciones, piezas limpias, defectos conocidos y negativos difíciles. Estima rangos de activación; no valida ni prueba exactitud. Separe calibración, entrenamiento y evaluación final para evitar resultados optimistas.

Aplique el preprocesamiento declarado. Intercambiar BGR/RGB, cambiar estiramiento por letterbox, normalización o disposición puede degradar resultados válidos en apariencia. Registre revisión, selección, cantidad y checksum. Para privacidad, minimice el campo visual, oculte identificadores, cifre lo retenido, defina eliminación y restrinja acceso.

4. Reproducir una entrada determinista y decidir explícitamente

Use un video inmutable o imágenes numeradas. OpenCV documenta que VideoCapture lee archivos y secuencias además de dispositivos; aquí solo usa una ruta de archivo. Rechace archivo ausente, fallo de decodificación, dimensiones inesperadas, índice no monotónico o checksum distinto. Registre el backend porque puede variar por plataforma.

La confianza y la intersección sobre unión (IoU) resuelven problemas diferentes. La confianza filtra detecciones candidatas débiles. IoU mide la superposición de cajas y se usa habitualmente en la supresión no máxima para eliminar cajas duplicadas del mismo objeto. Un umbral de confianza de 0.60 no significa “60 % seguro”, y un umbral IoU no es otra comprobación de confianza. Ambos deben seleccionarse con evidencia de banco reservada y quedar registrados en el manifiesto.

Para una prueba determinista, acepte candidatos con confianza igual o superior al umbral, suprima cajas de la misma clase y menor confianza cuyo IoU con una caja aceptada supere el umbral NMS, y marque la decisión como obsoleta cuando la edad del cuadro exceda el límite configurado. Un positivo obsoleto se convierte en UNKNOWN, nunca en un rechazo tardío. El verificador adjunto ejecuta esta regla mínima sin modelo ni dispositivo.

5. Acotar colas, contrapresión y detecciones obsoletas

Una cola ilimitada transforma sobrecarga en decisiones antiguas. Acote captura, inferencia y entrega. Es preferible descartar y contar un cuadro anterior antes que acumular demora. Cada resultado debe incluir grabación, índice, timestamps de reproducción e inferencia, modelo y umbrales.

Si el destino sintético no mantiene el ritmo, aplique contrapresión, exponga la profundidad de cola y deje de aceptar decisiones nuevas al alcanzar un límite documentado. Ante timeout, salto de secuencia, reinicio del acelerador, error de decodificación o resultado obsoleto, publique UNKNOWN en el destino sintético y exija una recuperación explícita. Nunca reutilice el último positivo o negativo como si describiera un cuadro posterior.

6. Medir sin inventar rendimiento

Este artículo no informa rendimiento ni latencia medidos en Hailo. Un informe temporal válido debe indicar hardware host, dispositivo Hailo exacto, modelo y checksum HEF, forma de entrada, cantidad de muestras, política de calentamiento y versiones de software. También debe nombrar las etapas incluidas: decodificación, preprocesamiento, transferencia host-dispositivo, inferencia, transferencia dispositivo-host, posprocesamiento, espera en cola y escritura al destino sintético. Debe informar distribuciones, como mediana y percentiles superiores, no solo un promedio.

La prueba mínima del verificador es una comprobación lógica determinista, no un benchmark de hardware. Usa tres cajas candidatas grabadas y timestamps fijos para demostrar filtrado por confianza, supresión por IoU y tratamiento de cuadros obsoletos. Su tiempo transcurrido no debe presentarse como latencia del modelo.

7. Arrancar con seguridad, observar fallos y revertir

El arranque debe fallar de forma cerrada: valide checksums y versiones, cargue el HEF, compruebe tensores y ejecute una muestra conocida antes de declarar listo el banco. Registre artefactos, colas, descartes, obsolescencia y errores sin guardar cuadros crudos por defecto.

Conserve como una sola unidad de reversión el manifiesto, HEF, etiquetas e imagen de runtime previamente validados. Si falla la validación inicial o la regresión de reproducción, detenga el candidato, restaure la unidad completa y repita la muestra conocida. No mezcle un HEF anterior con etiquetas nuevas ni revierta solamente el paquete de aplicación.

Ejecute con una cuenta sin privilegios y montajes de modelo y grabación de solo lectura. Conceda acceso únicamente al dispositivo acelerador requerido; no exponga nodos de cámara, rutas a la red industrial ni credenciales PLC. Mantenga el destino sintético local y de solo anexado. Pruebe únicamente hardware, grabaciones y redes para los que tenga autorización.

8. Límite de aceptación

El experimento aprueba cuando el entorno fijado reproduce las decisiones esperadas para la prueba grabada, rechaza datos obsoletos, tolera entradas malformadas sin emitir una decisión positiva y genera un registro temporal completo si se realizan mediciones de hardware. Ese resultado solo respalda una evaluación técnica posterior. Una instalación real requiere además análisis de riesgos específico del sitio, controles de seguridad independientes, óptica e iluminación validadas, gestión de cambios, revisión de ciberseguridad y evidencia obtenida en el proceso real.

Referencias oficiales y limitaciones

  • Documentación de Ultralytics YOLO11 — tareas del modelo y capacidad de exportación; consultada el 2026-07-24. La documentación del proveedor no valida esta aplicación ni su exactitud.
  • Hailo AI Software Suite — funciones de Dataflow Compiler y HailoRT; consultada el 2026-07-24. Las descripciones del proveedor no establecen compatibilidad para una combinación de versiones no enumerada.
  • Acelerador Hailo-8 — descripción del hardware objetivo; consultada el 2026-07-24. Las especificaciones máximas no equivalen a FPS o latencia de aplicación y aquí no se convierten.
  • OpenCV VideoCapture 4.x — comportamiento de entradas desde archivos grabados y secuencias; consultada el 2026-07-24. El comportamiento del backend depende de la plataforma.
Volver al blog

Related Posts

View All Posts »
MQTT Sparkplug B: Hablando la Lingua Franca del IIoT

MQTT Sparkplug B: Hablando la Lingua Franca del IIoT

Para sistemas industriales donde las aplicaciones participantes necesitan un espacio de nombres y un modelo de ciclo de vida compartidos, conozca cómo Sparkplug B puede aportar una capa de interoperabilidad respaldada por evidencia en 2026.