CV / YOLO11

YOLO11-seg

reComputer R Series (CM5 + Hailo-8)

YOLO11-Segmentierungsmodelle (n/s/m/l/x-seg) für reComputer R Series mit Hailo-8.

10 Downloads
Größe
7.9 MB
Speicher
4GB+
Präzision
Hailo HEF

Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.

Erste Schritte

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

Modelldetails

YOLO11-seg auf reComputer R Series (CM5 + Hailo-8)

YOLO11n/s/m/l/x-seg laufen auf dem Hailo-8 über HailoRT 4.23. Das HEF legt zehn rohe Heads offen; der Host dekodiert DFL-Boxen, Klassenscores und Maskenkoeffizienten, setzt sigmoid(coeffs @ proto)-Instanzmasken zusammen und rendert sie für die 80 COCO-Klassen.

Modellinformationen

VarianteEingabeGepacktes HEFContainer-Image
YOLO11n-seg640×640×3 RGB7.9 MByolov11n_seg
YOLO11s-seg640×640×3 RGB19.7 MByolov11s_seg
YOLO11m-seg640×640×3 RGB39.6 MByolov11m_seg
YOLO11l-seg640×640×3 RGB40.6 MByolov11l_seg
YOLO11x-seg640×640×3 RGB68.0 MByolov11x_seg

Hardware- und Host-Setup

PunktWert
BoardreComputer R Series mit Raspberry Pi CM5
BeschleunigerHailo-8 über PCIe, als /dev/hailo0 verfügbar
RuntimeHailoRT 4.23.x (Host / Container müssen major.minor teilen)
Python im Container3.11, aarch64
bash
sudo apt update
sudo apt install hailo-all -y
sudo reboot

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

# Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
sudo systemctl enable docker
sudo systemctl start docker

Mit Demo-Video ausführen

Wählen Sie den Befehl passend zur Modellvariante.

YOLO11n-seg

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

YOLO11s-seg

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

YOLO11m-seg

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

YOLO11l-seg

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

YOLO11x-seg

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

Öffnen Sie http://<Board_IP>:8000, um die Web-Vorschau zu sehen (Instanzmasken pro Klasse überlagert plus Erkennungsboxen).

USB-Kameramodus

bash
sudo docker run --rm \
  --name pi5-hailo8-yolov11n-seg \
  --privileged \
  --net=host \
  -e PYTHONUNBUFFERED=1 \
  --device /dev/hailo0:/dev/hailo0 \
  --device /dev/video0:/dev/video0 \
  -v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
  -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
  ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11n_seg:latest \
  python web_detection.py --model_path model/yolov11n_seg.hef --camera_id 0

REST API

Jede Variante hat ihren eigenen Endpoint:

VarianteEndpoint
YOLO11n-segPOST /api/models/yolov11n_seg/predict
YOLO11s-segPOST /api/models/yolov11s_seg/predict
YOLO11m-segPOST /api/models/yolov11m_seg/predict
YOLO11l-segPOST /api/models/yolov11l_seg/predict
YOLO11x-segPOST /api/models/yolov11x_seg/predict
bash
curl -X POST "http://<Board_IP>:8000/api/models/yolov11n_seg/predict" \
  -F "file=@test.jpg"

Implementierungshinweise

  • Das HEF legt 10 rohe vstreams offen, On-Chip-NMS gibt es nicht: pro Stride (20×20, 40×40, 80×80) ein 64-Kanal-DFL-Box-Head, ein 80-Kanal-Klassen-Head und ein 32-Kanal-Maskenkoeffizienten-Head, plus ein 160×160×32-Prototyp.
  • Der Host berechnet die DFL-Softmax-Erwartung (16 Bins), wendet Sigmoid auf die rohen Klassen-Heads an, führt NMS pro Klasse aus (100 Erkennungen in der Vorschau) und setzt die Masken über sigmoid(coeffs @ proto) zusammen, auf jede Box zugeschnitten (Schwelle 0.5).
  • Letterbox-Padding ist 114; die Normalisierung Mittelwert 0 / Std 255 ist in das HEF kompiliert. Boxen und Masken werden vor dem Zeichnen auf das Frame zurückgemappt.
  • Die HEF-Eingabegröße wird beim Start gelesen (640×640). Die CPU-Dekodierung ist bei den größeren Varianten der Engpass der Vorschau.

Entwicklungshinweise

  • Quellen: src/rpi5_hailo8_yolov11{n,s,m,l,x}_seg/
  • Dockerfiles: docker/hailo8/yolov11{n,s,m,l,x}_seg.dockerfile
  • Container: ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11{n,s,m,l,x}_seg:latest
  • HEFs: Hailo Model Zoo v2.20.0 (hailo8), Größen und SHA256 in der model/README.md jedes Moduls dokumentiert
  • Familie: YOLO11-seg (Ultralytics, AGPL-3.0)

Eingaben und Ausgaben

Eingabe: Bild, Video oder USB-Kameraframe. Ausgabe: COCO-Klassenboxen mit Instanzmasken und annotierte MJPEG-Vorschau.