CV / DAMO-YOLO

DAMO-YOLO

reComputer R Series (CM5 + Hailo-10H)

COCO-objectdetectie met 80 klassen door DAMO-YOLO (T/S/M-varianten) op reComputer R Series met Hailo-8 of Hailo-10H.

355 downloads
Grootte
8.8 MB
Geheugen
4GB+
Precisie
Hailo HEF / HailoRT 4.23.x (Hailo-8) / 5.1.1 (Hailo-10H)

Kies het apparaat dat je gebruikt. De installatiehandleiding en documentatie worden dienovereenkomstig bijgewerkt.

Aan de slag

Implementeren
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.mp4

Modeldetails

reComputer CM5 + Hailo-10H

DAMO-YOLO op reComputer CM5 + Hailo-10H

DAMO-YOLO met TinyNAS-backbones voert objectdetectie met 80 COCO-klassen uit op de Hailo-10H via HailoRT 5.1.1, met de nanodet_split-head en DFL-boxregressie. Eén kaart, drie varianten, te selecteren via het Size-dropdownmenu.

Deze pagina is gericht op reComputer R Series (CM5 + Hailo-10H) met een PCIe Hailo-10H-accelerator.

Modelinformatie

VariantParametersBewerkingenmAP (COCO)Hailo-10H HEF
T (tinynasL20)11.35M18.0G42.811.9 MB
S (tinynasL25)16.25M37.6G46.521.4 MB
M (tinynasL35)33.98M61.6G49.723.9 MB
EigenschapWaarde
TaakObjectdetectie
Invoer640x640x3 RGB (normalisatie is een no-op; ruwe uint8)
Uitvoer6 heads: box (80x80x68, 40x40x68, 20x20x68) + cls (80x80x81, 40x40x81, 20x20x81)
Klassen80 (COCO)
Nabewerkingnanodet_split (DFL, regression_length=16), decodering op de CPU
HEFHailo Model Zoo v5.4.0, Hailo-10H

De nauwkeurigheidswaarden zijn referentiewaarden van Hailo's Model Zoo. Het zijn geen benchmarks die op de CM5 zijn gemeten.

Hardware- en hostconfiguratie

OnderdeelWaarde
BoardreComputer R Series met Raspberry Pi CM5
AcceleratorHailo-10H via PCIe, beschikbaar als /dev/hailo0
Hostdriverapt-pakket hailo-h10-all
RuntimeHailoRT 5.1.1
Python in container3.13, aarch64
bash
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 docker

Uitvoeren met demovideo

DAMO-YOLO T (tinynasL20)

bash
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.mp4

DAMO-YOLO S (tinynasL25)

bash
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.mp4

DAMO-YOLO M (tinynasL35)

bash
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

Open http://<Board_IP>:8000 om de webvoorbeeld te bekijken.

REST API

bash
curl -X POST "http://<Board_IP>:8000/api/models/damoyolo_tinynas_l25_s/predict"   -F "file=@test.jpg"
EndpointMethodeDoel
/api/models/damoyolo_tinynas_<variant>/predictPOSTDetecties (JSON)
/api/video_feedGETMJPEG-voorbeeld
/api/configGET / POSTBetrouwbaarheidsdrempel

Ontwikkelingsopmerkingen

  • Bronmodules: src/hailo10h_damoyolo_tinynas_l20_t/, ..._l25_s/, ..._l35_m/
  • Dockerfiles: docker/hailo10h/damoyolo_tinynas_l*.dockerfile
  • Containers: ghcr.io/seeed-projects/recomputer-hailo10h-cv/damoyolo_tinynas_l{20_t,25_s,35_m}:latest
  • De executor is de multi-uitvoer-create_infer_model-wrapper van HailoRT 5.1.1 (damoyolo levert 6 heads).
  • HEF's: hailo10h-builds van Hailo Model Zoo v5.4.0.

Invoer en uitvoer

Invoer: afbeelding, video of USB-camerabeeld. Uitvoer: COCO-detectievakken voor 80 klassen met betrouwbaarheidsscores en een geannoteerde MJPEG-preview.