CV / YOLO11

YOLO11

reComputer R Series (CM5 + Hailo-10H)

Modelo ligero YOLO11 nano para despliegue rápido en el borde.

433 descargas
Tamaño
~5MB
Memoria
1GB+
Precisión
FP16

Elige el dispositivo que estás usando. La guía de configuración y la documentación se actualizarán en consecuencia.

Vista previa

Primeros pasos

Desplegar
sudo docker run --rm \
  --name cm5-hailo10h-yolo11n \
  --privileged \
  --net=host \
  -e PYTHONUNBUFFERED=1 \
  --device /dev/hailo0:/dev/hailo0 \
  -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \
  -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
  ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11n:latest \
  python web_detection.py --model_path model/yolov11n.hef --video_path video/test.mp4

Detalles del modelo

reComputer CM5 + Hailo-10H

YOLOv11 en reComputer CM5 + Hailo-10H

YOLOv11 (variantes n/s/m/l/x) realiza detección de objetos COCO de 80 clases en el Hailo-10H mediante HailoRT 5.1.1. El NMS se ejecuta en el chip (HPP), por lo que la aplicación procesa directamente el tensor post-NMS de 80x5x100.

Información del modelo

VarianteEntradaParámetrosOperacionesHEF de Hailo-10H
YOLOv11n640x640x32.6M6.55G5.3 MB
YOLOv11s640x640x39.4M21.5G16.3 MB
YOLOv11m640x640x320.1M68.0G27.0 MB
YOLOv11l640x640x325.3M86.9G27.9 MB
YOLOv11x640x640x356.9M194G54.2 MB
PropiedadValor
TareaDetección de objetos
SalidaTensor de NMS en chip 80x5x100 (filas: ymin,xmin,ymax,xmax,score, normalizado)
Clases80 (COCO, orden de índice del Model Zoo)
HEFHailo Model Zoo v5.4.0, Hailo-10H

Configuración de hardware y host

ElementoValor
PlacareComputer R Series con Raspberry Pi CM5
AceleradorHailo-10H por PCIe, expuesto como /dev/hailo0
Controlador del hostpaquete apt hailo-h10-all
Tiempo de ejecuciónHailoRT 5.1.1
Python en el contenedor3.13, aarch64
bash
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot

# After reboot
hailortcli fw-control identify
ls /dev/hailo0

Ejecutar con el vídeo de demostración

Paso A: Descargar las imágenes

bash
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11n:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11s:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11m:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11l:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11x:latest

Paso B: Ejecutar el contenedor

Selecciona el comando que corresponda a la variante del modelo.

YOLOv11n

bash
sudo docker run --rm \
  --name cm5-hailo10h-yolov11n \
  --privileged \
  --net=host \
  -e PYTHONUNBUFFERED=1 \
  --device /dev/hailo0:/dev/hailo0 \
  -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \
  -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
  ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11n:latest \
  python web_detection.py --model_path model/yolov11n.hef --video_path video/test.mp4

YOLOv11s

bash
sudo docker run --rm   --name cm5-hailo10h-yolov11s   --privileged   --net=host   -e PYTHONUNBUFFERED=1   --device /dev/hailo0:/dev/hailo0   -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro   -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro   ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11s:latest   python web_detection.py --model_path model/yolov11s.hef --video_path video/test.mp4

YOLOv11m

bash
sudo docker run --rm   --name cm5-hailo10h-yolov11m   --privileged   --net=host   -e PYTHONUNBUFFERED=1   --device /dev/hailo0:/dev/hailo0   -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro   -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro   ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11m:latest   python web_detection.py --model_path model/yolov11m.hef --video_path video/test.mp4

YOLOv11l

bash
sudo docker run --rm   --name cm5-hailo10h-yolov11l   --privileged   --net=host   -e PYTHONUNBUFFERED=1   --device /dev/hailo0:/dev/hailo0   -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro   -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro   ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11l:latest   python web_detection.py --model_path model/yolov11l.hef --video_path video/test.mp4

YOLOv11x

bash
sudo docker run --rm   --name cm5-hailo10h-yolov11x   --privileged   --net=host   -e PYTHONUNBUFFERED=1   --device /dev/hailo0:/dev/hailo0   -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro   -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro   ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11x:latest   python web_detection.py --model_path model/yolov11x.hef --video_path video/test.mp4

Abre http://<Board_IP>:8000 para ver la vista previa web.

API REST

Cada variante tiene su propio endpoint de predicción:

VarianteEndpoint
YOLOv11nPOST /api/models/yolov11n/predict
YOLOv11sPOST /api/models/yolov11s/predict
YOLOv11mPOST /api/models/yolov11m/predict
YOLOv11lPOST /api/models/yolov11l/predict
YOLOv11xPOST /api/models/yolov11x/predict

Ejemplo:

bash
curl -X POST "http://<Board_IP>:8000/api/models/yolov11n/predict"   -F "file=@test.jpg"

Notas de implementación

  • NMS en chip (HPP, meta_arch=yolov8 heredado de la configuración de yolov11n); la aplicación procesa el tensor post-NMS de 80x5x100 — filas [ymin, xmin, ymax, xmax, score], normalizadas respecto a la entrada de 640x640.
  • Preprocesamiento: letterbox (gris 114) + RGB, uint8 sin procesar (normalización 0/255).
  • El ejecutor es el wrapper de HailoRT 5.1.1 con salida múltiple FLOAT32; la primera inferencia imprime el rango de salida según la lista de verificación de aceptación del SOP.

Notas de desarrollo

  • Módulos de origen: src/hailo10h_yolov11{n,s,m,l,x}/
  • Dockerfiles: docker/hailo10h/yolov11{n,s,m,l,x}.dockerfile
  • Contenedores: ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11{n,s,m,l,x}:latest
  • HEF: compilaciones hailo10h de Hailo Model Zoo v5.4.0.