CV / YOLO26
YOLO26
YOLO26 COCO-Objekterkennung: Ein-Klick-Deployment auf NVIDIA Jetson oder das Hailo-HEF auf reComputer R Series mit Hailo-8 / Hailo-10H.
Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.
Erste Schritte
sudo docker run --rm \
--name cm5-hailo8-yolo26n \
--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/yolo26n:latest \
python web_detection.py --model_path model/yolo26n.hef --video_path video/test.mp4REST API
Verwende die REST API für die Inferenz. Kopiere die folgenden Befehle.
curl -X POST "http://<Board_IP>:8000/api/models/yolo26n/predict" \
-F "file=@test.jpg"import requests
with open("test.jpg", "rb") as image_file:
response = requests.post(
"http://<Board_IP>:8000/api/models/yolo26n/predict",
files={"file": image_file},
timeout=30,
)
print(response.json())Modelldetails
reComputer R Series (CM5 + Hailo-8)YOLO26 on reComputer R Series (CM5 + Hailo-8)
YOLO26n / YOLO26s / YOLO26m führen COCO-Objekterkennung (80 Klassen) auf Hailo-8 über HailoRT aus. YOLO26 ist ein one2one-Kopf (eine Vorhersage pro Zelle, keine Anker, kein NMS): der Host dekodiert die rohen Split-Heads und wählt mit dem zweistufigen Top-k; eine Kompilierung mit On-Chip-NMS wird ebenfalls verarbeitet, und das verwendete Layout wird bei der ersten Inferenz protokolliert.
Diese Seite richtet sich an reComputer R Series (CM5 + Hailo-8) mit einem PCIe-Hailo-8-Beschleuniger.
Hardware und Host-Setup
| Element | Wert |
|---|---|
| Board | reComputer R Series mit Raspberry Pi CM5 |
| Beschleuniger | Hailo-8 über PCIe, verfügbar als /dev/hailo0 |
| Runtime | HailoRT 4.23.x |
| Python im Container | 3.11, aarch64 |
Installieren Sie die Hailo-8-Pakete auf dem Host und prüfen Sie Treiber und Gerät, bevor Sie den Container starten:
sudo apt update
sudo apt install hailort hailort-pcie-driver python3-hailort
sudo reboot
# After reboot
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0Die erwartete HailoRT-Version für diese Images ist 4.23.x.
Ausführung mit dem Demo-Video
YOLO26n:
sudo docker run --rm \
--name cm5-hailo8-yolo26n \
--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/yolo26n:latest \
python web_detection.py --model_path model/yolo26n.hef --video_path video/test.mp4YOLO26s:
sudo docker run --rm \
--name cm5-hailo8-yolo26s \
--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/yolo26s:latest \
python web_detection.py --model_path model/yolo26s.hef --video_path video/test.mp4YOLO26m:
sudo docker run --rm \
--name cm5-hailo8-yolo26m \
--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/yolo26m:latest \
python web_detection.py --model_path model/yolo26m.hef --video_path video/test.mp4Öffnen Sie http://<BOARD_IP>:8000 für die Webvorschau.
USB-Kameramodus
sudo docker run --rm \
--name cm5-hailo8-yolo26n \
--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/yolo26n:latest \
python web_detection.py --model_path model/yolo26n.hef --camera_id 0Ersetzen Sie yolo26n durch yolo26s oder yolo26m für eine andere Variante.
HEF-Dateien
| Modell | Größe | Hinweise |
|---|---|---|
yolo26n.hef | 8,755,512 (8.3 MB) | Parameter 2.4M, Ops 5.5G |
yolo26s.hef | 20,307,365 (19.4 MB) | Parameter 9.5M, Ops 20.9G |
yolo26m.hef | 29,155,151 (27.8 MB) | Parameter 20.4M, Ops 68.4G |
Alle drei Varianten sind Hailo-8-Builds aus Hailo Model Zoo v2.19.0 derselben Ultralytics-YOLO26-Familie.
Source: https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.19.0/hailo8/yolo26n.hef (yolo26s.hef, yolo26m.hef in the same directory).
REST API
POST http://<Board_IP>:8000/api/models/yolo26n/predictcurl -X POST "http://<Board_IP>:8000/api/models/yolo26n/predict" \
-F "file=@test.jpg"| Endpunkt | Methode | Zweck |
|---|---|---|
/ | GET | Web-Vorschau-Oberfläche |
/api/models/yolo26{n,s,m}/predict | POST | Detektionen (JSON) |
/api/video_feed | GET | MJPEG-Vorschaustream |
Implementierungshinweise
- Der Model Zoo
base/yolo26.yamlnutztnms=false,sigmoid=false,hpp=falseundmeta_arch=yolo26, mitpost_nms_topk=300ausbase/yolov8.yaml;info.output_shapedokumentiert 3 Strides x (4 Box, 80 Klassen). - One2one-Auswahl: es läuft kein NMS. Der Host wendet Sigmoid an, nimmt die Top-k-Anker nach maximalem Klassenscore, dann die Top-k (Anker, Klasse)-Paare — mehrere Klassen pro Anker sind erlaubt — und filtert über den Konfidenzregler.
- Box-Dekodierung: Der 4-Kanal-Kopf liefert die Abstände vom Zellmittelpunkt zu linken/oberen und rechten/unteren Kanten in Stride-Einheiten (
regression_length=1); 64-Kanal-DFL-Kompilierungen werden über den Softmax-Erwartungswert dekodiert. - Liefert eine Kompilierung stattdessen das On-Chip-NMS-Ergebnis (wie die yolo26-seg-HEFs), wird der Post-NMS-Tensor geparst (kompakter Puffer je Klasse, dichte Formen
Cx5xD/CxDx5, ragged NMS-by-score-Liste) und es läuft keine Host-Auswahl. - Das HEF enthält
normalize_in_net(mean 0 / std 255) undpadding_color=114: die Anwendung letterboxt mit Grau (114) und übergibt rohe uint8-RGB-Pixel. - Klassen-IDs 0..79 indizieren direkt die standardmäßige COCO-Liste.
- Die erste Inferenz protokolliert Layout und Box-/Score-Bereiche (
[YOLO26] layout=..., outputs=[...]).
Entwicklungshinweise
- Quellmodule:
src/hailo10h_yolo26{n,s,m}/(Hailo-10H) odersrc/rpi5_hailo8_yolo26{n,s,m}/(Hailo-8) im passenden Modell-Repository - Container:
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolo26{n,s,m}:latest - Die Detektionsfamilie liefert n/s/m; YOLO26l / YOLO26x haben noch kein Hailo-HEF.
- Modelllizenz: AGPL-3.0 (Upstream ultralytics/ultralytics).
Eingaben und Ausgaben
Eingabe: Bild, Video oder Kamera. Ausgabe: 80 COCO-Klassen als Detektionsboxen (Ultralytics-Container auf Jetson, Hailo-HEF auf der R Series).