CV / YOLO26
YOLO26
YOLO26 COCO-objectdetectie: deployment met één commando op NVIDIA Jetson, of de Hailo HEF op reComputer R Series met Hailo-8 / Hailo-10H.
Kies het apparaat dat je gebruikt. De installatiehandleiding en documentatie worden dienovereenkomstig bijgewerkt.
Aan de slag
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
Gebruik de REST API om inferentie uit te voeren. Kopieer de onderstaande commando's.
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())Modeldetails
reComputer R Series (CM5 + Hailo-8)YOLO26 on reComputer R Series (CM5 + Hailo-8)
YOLO26n / YOLO26s / YOLO26m voeren COCO-objectdetectie (80 klassen) uit op Hailo-8 via HailoRT. YOLO26 is een one2one-kop (één voorspelling per cel, geen ankers, geen NMS): de host decodeert de ruwe split-heads en selecteert met de tweefasige top-k; een compile met on-chip NMS wordt ook verwerkt en de gebruikte indeling wordt bij de eerste inferentie gelogd.
Deze pagina is gericht op reComputer R Series (CM5 + Hailo-8) met een PCIe Hailo-8-versneller.
Hardware en hostinstellingen
| Onderdeel | Waarde |
|---|---|
| Board | reComputer R Series met Raspberry Pi CM5 |
| Versneller | Hailo-8 via PCIe, beschikbaar als /dev/hailo0 |
| Runtime | HailoRT 4.23.x |
| Python in de container | 3.11, aarch64 |
Installeer de Hailo-8-pakketten op de host en controleer of stuurprogramma en apparaat gereed zijn voordat u de container start:
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/hailo0De verwachte HailoRT-versie voor deze images is 4.23.x.
Uitvoeren met de 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.mp4Open http://<BOARD_IP>:8000 voor de webpreview.
USB-cameramodus
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 0Vervang yolo26n door yolo26s of yolo26m voor een andere variant.
HEF-bestanden
| Model | Grootte | Opmerkingen |
|---|---|---|
yolo26n.hef | 8,755,512 (8.3 MB) | parameters 2.4M, ops 5.5G |
yolo26s.hef | 20,307,365 (19.4 MB) | parameters 9.5M, ops 20.9G |
yolo26m.hef | 29,155,151 (27.8 MB) | parameters 20.4M, ops 68.4G |
Alle drie varianten zijn Hailo-8-builds uit Hailo Model Zoo v2.19.0 van dezelfde 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"| Endpoint | Methode | Doel |
|---|---|---|
/ | GET | Webvoorbeeld-interface |
/api/models/yolo26{n,s,m}/predict | POST | Detecties (JSON) |
/api/video_feed | GET | MJPEG-previewstream |
Implementatienotities
- De Model Zoo
base/yolo26.yamlgebruiktnms=false,sigmoid=false,hpp=falseenmeta_arch=yolo26, metpost_nms_topk=300uitbase/yolov8.yaml;info.output_shapedocumenteert 3 strides x (4 box, 80 klassen). - One2one-selectie: er draait geen NMS. De host past sigmoid toe, neemt de top-k ankers op maximale klassenscore, dan de top-k (anker, klasse)-paren — meerdere klassen per anker zijn toegestaan — en filtert op de confidence-schuif.
- Boxdecodering: de 4-kanaalskop geeft de afstanden van het celcentrum naar links/boven en rechts/onder in stride-eenheden (
regression_length=1); 64-kanaals DFL-compiles gaan via de softmax-verwachting. - Geeft een compile juist het on-chip NMS-resultaat terug (zoals de yolo26-seg HEF's), dan wordt de post-NMS-tensor geparseerd (compacte buffer per klasse, dichte vormen
Cx5xD/CxDx5, ragged NMS-by-score-lijst) en draait er geen host-selectie. - De HEF bevat
normalize_in_net(mean 0 / std 255) enpadding_color=114: de applicatie letterboxt met grijs (114) en stuurt ruwe uint8 RGB-pixels. - Klasse-ID's 0..79 indexeren direct de standaard COCO-lijst.
- De eerste inferentie logt de indeling en de box-/scorerange (
[YOLO26] layout=..., outputs=[...]).
Ontwikkelnotities
- Bronmodules:
src/hailo10h_yolo26{n,s,m}/(Hailo-10H) ofsrc/rpi5_hailo8_yolo26{n,s,m}/(Hailo-8) in de bijbehorende modelrepository - Containers:
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolo26{n,s,m}:latest - De detectiefamilie levert n/s/m; YOLO26l / YOLO26x hebben nog geen Hailo HEF.
- Modellicentie: AGPL-3.0 (upstream ultralytics/ultralytics).
Invoer en uitvoer
Invoer: afbeelding, video of camera. Uitvoer: detectieboxen voor 80 COCO-klassen (Ultralytics-container op Jetson, Hailo HEF op de R Series).