CV / DAMO-YOLO
DAMO-YOLO
reComputer R Series (CM5 + Hailo-10H)
COCO-Objekterkennung mit 80 Klassen durch DAMO-YOLO (T/S/M-Varianten) auf der reComputer R Series mit Hailo-8 oder 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-hailo10h-damoyolo-l20t \
--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/damoyolo_tinynas_l20_t:latest \
python web_detection.py --model_path model/damoyolo_tinynas_l20_t.hef --video_path video/test.mp4Modelldetails
reComputer CM5 + Hailo-10HDAMO-YOLO auf reComputer CM5 + Hailo-10H
DAMO-YOLO mit TinyNAS-Backbones führt die COCO-Objekterkennung mit 80 Klassen
auf dem Hailo-10H über HailoRT 5.1.1 aus, mit dem nanodet_split-Kopf und
DFL-Box-Regression. Eine Karte, drei Varianten, ausgewählt über das
Size-Dropdown.
Diese Seite richtet sich an reComputer R Series (CM5 + Hailo-10H) mit einem PCIe-Hailo-10H-Beschleuniger.
Modellinformationen
| Variante | Parameter | Operationen | mAP (COCO) | Hailo-10H HEF |
|---|---|---|---|---|
| T (tinynasL20) | 11.35M | 18.0G | 42.8 | 11.9 MB |
| S (tinynasL25) | 16.25M | 37.6G | 46.5 | 21.4 MB |
| M (tinynasL35) | 33.98M | 61.6G | 49.7 | 23.9 MB |
| Eigenschaft | Wert |
|---|---|
| Aufgabe | Objekterkennung |
| Eingabe | 640x640x3 RGB (Normalisierung ist ein No-op; rohes uint8) |
| Ausgabe | 6 Köpfe: box (80x80x68, 40x40x68, 20x20x68) + cls (80x80x81, 40x40x81, 20x20x81) |
| Klassen | 80 (COCO) |
| Nachbearbeitung | nanodet_split (DFL, regression_length=16), CPU-Dekodierung |
| HEF | Hailo Model Zoo v5.4.0, Hailo-10H |
Die Genauigkeitswerte sind Referenzwerte des Hailo Model Zoo. Es handelt sich nicht um auf dem CM5 gemessene Benchmarks.
Hardware- und Host-Setup
| Punkt | Wert |
|---|---|
| Board | reComputer R Series mit Raspberry Pi CM5 |
| Beschleuniger | Hailo-10H über PCIe, als /dev/hailo0 verfügbar |
| Host-Treiber | apt-Paket hailo-h10-all |
| Runtime | HailoRT 5.1.1 |
| Python im Container | 3.13, aarch64 |
sudo apt update
sudo apt install hailo-h10-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 dockerMit Demo-Video ausführen
DAMO-YOLO T (tinynasL20)
sudo docker run --rm \
--name cm5-hailo10h-damoyolo-l20t \
--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/damoyolo_tinynas_l20_t:latest \
python web_detection.py --model_path model/damoyolo_tinynas_l20_t.hef --video_path video/test.mp4DAMO-YOLO S (tinynasL25)
sudo docker run --rm \
--name cm5-hailo10h-damoyolo-l25s \
--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/damoyolo_tinynas_l25_s:latest \
python web_detection.py --model_path model/damoyolo_tinynas_l25_s.hef --video_path video/test.mp4DAMO-YOLO M (tinynasL35)
sudo docker run --rm \
--name cm5-hailo10h-damoyolo-l35m \
--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/damoyolo_tinynas_l35_m:latest \
python web_detection.py --model_path model/damoyolo_tinynas_l35_m.hef --video_path video/test.mp4Öffnen Sie http://<Board_IP>:8000, um die Web-Vorschau zu sehen.
REST API
curl -X POST "http://<Board_IP>:8000/api/models/damoyolo_tinynas_l25_s/predict" -F "file=@test.jpg"| Endpoint | Methode | Zweck |
|---|---|---|
/api/models/damoyolo_tinynas_<variant>/predict | POST | Erkennungen (JSON) |
/api/video_feed | GET | MJPEG-Vorschau |
/api/config | GET / POST | Konfidenzschwellenwert |
Entwicklungshinweise
- Quellmodule:
src/hailo10h_damoyolo_tinynas_l20_t/,..._l25_s/,..._l35_m/ - Dockerfiles:
docker/hailo10h/damoyolo_tinynas_l*.dockerfile - Container:
ghcr.io/seeed-projects/recomputer-hailo10h-cv/damoyolo_tinynas_l{20_t,25_s,35_m}:latest - Der Executor ist der Multi-Output-
create_infer_model-Wrapper von HailoRT 5.1.1 (damoyolo legt 6 Köpfe offen). - HEFs: hailo10h-Builds des Hailo Model Zoo v5.4.0.
Eingaben und Ausgaben
Eingabe: Bild, Video oder USB-Kamerabild. Ausgabe: COCO-Erkennungsboxen für 80 Klassen mit Konfidenzwerten und annotierter MJPEG-Vorschau.