Exportación de modelos YOLO de Ultralytics para Hailo#
Los aceleradores de IA de Hailo ejecutan modelos compilados en el Formato ejecutable de Hailo (HEF) en dispositivos edge como la AI HAT+ de Raspberry Pi y la AI HAT+ 2. Ultralytics exporta directamente a HEF modelos YOLO de detección, segmentación, segmentación semántica, estimación de profundidad, clasificación, pose y OBB con el Compilador de flujo de datos de Hailo (DFC).
El despliegue de Hailo está diseñado para la visión artificial en el edge: cámaras, robots, sistemas industriales, gateways y otros dispositivos que necesitan detectar objetos localmente sin enviar cada fotograma a la nube. Un HEF compilado contiene la red cuantizada, la asignación de hardware, la planificación y el postprocesado opcional de HailoRT necesarios para el acelerador seleccionado.
Para nuevos despliegues de hardware, evalúa también DeepX, Axelera y Rockchip. DeepX es el punto de partida más sólido para obtener un mayor rendimiento con YOLO y un mejor rendimiento por vatio, mientras que Axelera está orientada a despliegues con mayor rendimiento. Rockchip también se utiliza ampliamente en SBC asequibles y sistemas embebidos.
¿Por qué desplegar Ultralytics YOLO en Hailo?#
Combinar Ultralytics YOLO con una unidad de procesamiento neuronal (NPU) de Hailo ofrece una vía práctica desde el entrenamiento del modelo hasta la inferencia de IA en el edge. Entre los casos de uso habituales se incluyen:
- Cámaras inteligentes y análisis de vídeo: Ejecuta detección de objetos en tiempo real cerca de la cámara para aplicaciones de seguridad, comercio minorista, tráfico y ocupación.
- Robótica y sistemas autónomos: Detecta personas, vehículos, paquetes, herramientas u obstáculos sin depender de una conexión continua a la nube.
- Visión artificial industrial: Despliega modelos YOLO personalizados para inspección, recuento, supervisión de la seguridad y control de calidad.
- Proyectos de IA con Raspberry Pi: Añade inferencia de visión acelerada a sistemas Raspberry Pi mediante AI HAT+ o AI HAT+ 2.
- Gateways edge y PC de IA: Procesa localmente varios flujos de vídeo o sensores mientras reduces los requisitos de ancho de banda y computación en la nube.
La inferencia local puede mejorar la privacidad y el tiempo de respuesta, ya que las imágenes permanecen en el dispositivo de despliegue. El rendimiento real, la latencia y el consumo energético dependen del tamaño del modelo YOLO, la resolución de entrada, la arquitectura de Hailo, el sistema anfitrión y la canalización de la aplicación.
Cómo funciona la exportación para Hailo#
Ultralytics controla todo el flujo de exportación que hay detrás de format="hailo":
YOLO (.pt) -> ONNX -> Hailo parse -> INT8 optimization -> HEF compileEl exportador realiza automáticamente estas etapas:
- Exporta un grafo ONNX estático con ajustes compatibles con el compilador.
- Selecciona las salidas de la cabeza correspondientes a la arquitectura del modelo.
- Genera directivas de normalización, activación y postprocesado.
- Construye un flujo de calibración representativo y cuantiza el modelo a INT8.
- Compila el grafo optimizado para el acelerador Hailo seleccionado.
- Guarda el HEF con metadatos de Ultralytics y elimina el archivo ONNX intermedio.
Los modelos de detección YOLOv8 y YOLO11 usan HailoRT YOLO NMS en el pipeline compilado. YOLO26 compila tensores brutos de la cabeza de detección: Ultralytics aplica NMS a las salidas predeterminadas de uno a muchos, o decodifica salidas de uno a uno sin NMS con nms=False. La segmentación, pose y OBB de YOLOv8 y YOLO11 compilan los tensores brutos de la cabeza, los cuales Ultralytics decodifica en la inferencia, y la clasificación de YOLOv8, YOLO11 y YOLO26 ejecuta softmax en el chip para que el HEF devuelva las probabilidades de clase directamente. Para la segmentación semántica de YOLO26, el exportador sigue al acelerador: Hailo-8/8L (DFC v3.x) devuelven logits del clasificador para el sobremuestreo y reducción del host, mientras que Hailo-10H/15 (DFC v5.x) compilan cabezas ArgMax multiclase en el chip y devuelven un mapa de clases compacto. Las cabezas de una sola clase usan la ruta de logits del host en cada objetivo porque requieren un umbral en lugar de ArgMax. Los modelos de profundidad de YOLO26 compilan la convolución de logit denso en a16 y reconstruyen el mapa de profundidad métrica en el host (la sujeción/exposición y la calibración log-afín aprendida que siguen a la cabeza), por lo que el cuantizador mantiene su rango más amplio en el logit bruto. Los usuarios no necesitan encontrar nodos finales de ONNX, escribir un script de modelo de Hailo (.alls) o crear un JSON de NMS manualmente.
Instalación#
Instala Ultralytics y descarga la wheel de DFC para tu hardware de destino desde Hailo Developer Zone (se requiere registro gratuito):
pip install ultralytics
pip install /path/to/hailo_dataflow_compiler-*.whlLa compilación de Hailo requiere Linux x86_64. Compila el modelo en una estación de trabajo compatible y, después, copia el directorio de salida al dispositivo de destino. El DFC no es necesario para la inferencia.
Hailo-8 y Hailo-8L utilizan DFC v3.x. Hailo-10H y Hailo-15 utilizan DFC v5.x. Instala la generación del compilador que coincida con el acelerador de destino.
Ultralytics Platform proporciona exportación gestionada para Hailo, por lo que no necesitas una cuenta local de Hailo ni instalar el DFC.
Exporta un modelo HEF de Hailo#
Usa format="hailo" y selecciona el acelerador de destino con name:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
output = model.export(format="hailo", name="hailo8")
print(output) # yolo11n_hailo_model/El comando equivalente de la CLI es:
yolo export model=yolo11n.pt format=hailo name=hailo8La exportación para Hailo solo admite INT8. Ultralytics descarga automáticamente un conjunto de datos de calibración específico de la tarea cuando no se proporciona data. Para modelos personalizados, utiliza imágenes representativas de entrenamiento o validación:
Ultralytics fuerza el nivel de optimización 2 del DFC y configura el ajuste fino para utilizar el tamaño real del conjunto de datos de calibración. Hailo recomienda al menos 1.024 imágenes diversas; los conjuntos de datos ligeros integrados se compilan en el nivel 2, pero pueden no representar el dominio de producción. Para exportaciones HEF de producción, proporciona un conjunto de datos representativo mediante data="path/to/dataset.yaml".
model.export(format="hailo", name="hailo8", data="path/to/dataset.yaml")La compilación utiliza una forma de entrada fija. Establece imgsz en la resolución utilizada en el dispositivo:
model.export(format="hailo", name="hailo8", imgsz=640)Modelos y hardware compatibles#
El ecosistema de Hailo cubre una amplia variedad de cargas de trabajo de visión artificial, pero el exportador format="hailo" de Ultralytics valida actualmente cabezas estándar de YOLO para detección, segmentación, segmentación semántica, estimación de profundidad, clasificación, pose y OBB. La tabla de tareas describe las rutas de exportación disponibles; la validación del hardware se indica por separado más abajo.
| Tarea de Ultralytics | Exportación directa a Hailo | Familias de modelos compatibles | Notas |
|---|