CV / DAMO-YOLO
DAMO-YOLO
COCO-objectdetectie met 80 klassen door DAMO-YOLO (T/S/M-varianten) op reComputer R Series met Hailo-8 of 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-damoyolo-l20t \
--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/damoyolo_tinynas_l20_t:latest \
python web_detection.py --model_path model/damoyolo_tinynas_l20_t.hef --video_path video/test.mp4Modeldetails
reComputer R Series (CM5 + Hailo-8)DAMO-YOLO op reComputer R Series (CM5 + Hailo-8)
DAMO-YOLO gebruikt TinyNAS-backbones en de nanodet_split-kop met DFL-boxregressie om via HailoRT 80 COCO-klassen op Hailo-8 te detecteren. Eén modelkaart biedt drie varianten via het groottemenu.
Deze pagina is bedoeld voor reComputer R Series (CM5 + Hailo-8) met een PCIe Hailo-8-accelerator.
Modelinformatie
| Variant | Parameters | Bewerkingen | mAP (COCO) | Meegeleverde HEF |
|---|---|---|---|---|
| T (tinynasL20) | 11.35M | 18.0G | 42.8 | 8.8 MB |
| S (tinynasL25) | 16.25M | 37.6G | 46.5 | 14 MB |
| M (tinynasL35) | 33.98M | 61.6G | 49.7 | 27 MB |
| Eigenschap | Waarde |
|---|---|
| Taak | Objectdetectie |
| Invoer | 640x640x3 RGB (normalisatie is een no-op; ruwe uint8) |
| Uitvoer | 6 heads: box (80x80x68, 40x40x68, 20x20x68) + cls (80x80x81, 40x40x81, 20x20x81) |
| Klassen | 80 (COCO) |
| Nabewerking | nanodet_split (DFL, regression_length=16), alleen on-chip sigmoid |
| HEF | Hailo Model Zoo v2.19.0, Hailo-8 |
De nauwkeurigheidswaarden zijn referenties uit Hailo Model Zoo en geen benchmarks die op CM5 zijn gemeten.
Hardware- en hostconfiguratie
| Onderdeel | Waarde |
|---|---|
| Board | reComputer R Series met Raspberry Pi CM5 |
| Accelerator | Hailo-8 via PCIe, beschikbaar als /dev/hailo0 |
| Runtime | HailoRT 4.23.x |
| Python in container | 3.11, aarch64 |
sudo apt update
sudo apt install hailo-all
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 dockerUitvoeren met de demovideo
Selecteer de opdracht die bij de variant hoort.
DAMO-YOLO T (tinynasL20)
sudo docker run --rm \
--name cm5-hailo8-damoyolo-l20t \
--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/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-hailo8-damoyolo-l25s \
--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/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-hailo8-damoyolo-l35m \
--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/damoyolo_tinynas_l35_m:latest \
python web_detection.py --model_path model/damoyolo_tinynas_l35_m.hef --video_path video/test.mp4Open http://<Board_IP>:8000 om de webpreview te bekijken.
USB-cameramodus (voorbeeld: S-variant)
sudo docker run --rm \
--name cm5-hailo8-damoyolo-l25s \
--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/damoyolo_tinynas_l25_s:latest \
python web_detection.py --model_path model/damoyolo_tinynas_l25_s.hef --camera_id 0REST API
curl -X POST "http://<Board_IP>:8000/api/models/damoyolo_tinynas_l25_s/predict" \
-F "file=@test.jpg"| Endpoint | Methode | Doel |
|---|---|---|
/api/models/damoyolo_tinynas_<variant>/predict | POST | Detecties (JSON) |
/api/video_feed | GET | MJPEG-voorbeeld |
/api/config | GET / POST | Betrouwbaarheidsdrempel |
Ontwikkelingsnotities
- Bronmodules:
src/rpi5_hailo8_damoyolo_tinynas_l20_t/,..._l25_s/,..._l35_m/ - Dockerfiles:
docker/hailo8/damoyolo_tinynas_l*.dockerfile - Containers:
ghcr.io/seeed-projects/recomputer-hailo8-cv/damoyolo_tinynas_l{20_t,25_s,35_m}:latest - Alle drie de varianten gebruiken dezelfde nanodet_split-CPU-decodering — alleen de backbone (TinyNAS-L20/L25/L35) verschilt.
- HEF's: hailo8-builds van Hailo Model Zoo v2.19.0.
Invoer en uitvoer
Invoer: afbeelding, video of USB-camerabeeld. Uitvoer: COCO-detectievakken voor 80 klassen met betrouwbaarheidsscores en een geannoteerde MJPEG-preview.