CV / YOLOv8

YOLOv8m_pose

YOLOv8m Pose biedt een grotere keypoint-schattings-HEF voor personen voor de R20 HailoRT-demo.

Grootte
30.14 MB
Geheugen
4GB+
Precisie
Hailo HEF / HailoRT 4.23.x

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

Aan de slag

Implementeren
sudo docker run --rm \
  --name cm5-hailo-yolov8m-pose \
  --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-r20-cv/yolov8_pose:latest \
  python web_detection.py --model_path model/yolov8m_pose.hef --video_path video/test.mp4

REST API

Gebruik de REST API om inferentie uit te voeren. Kopieer de onderstaande commando's.

Curl
curl -X POST "http://<R20_IP>:8000/api/models/yolov8_pose/predict" \
  -F "file=@test.jpg"
Python
import requests

resp = requests.post(
    "http://<R20_IP>:8000/api/models/yolov8_pose/predict",
    files={"file": open("test.jpg", "rb")},
    timeout=30,
)
print(resp.json())

Modeldetails

YOLOv8 Pose op reComputer R Series (CM5 + Hailo)

YOLOv8 Pose retourneert personen-bounding boxes en keypoints via de HailoRT FastAPI demo op reComputer R Series.

Deze pagina is gebaseerd op rpi5_hailo8_yolov8_pose/README.md in reComputer-R20-CV. Het is gericht op reComputer R Series (CM5 + Hailo) met een PCIe Hailo-8 accelerator.

Hardware en Host Setup

ItemWaarde
BoardreComputer R Series met Raspberry Pi CM5
AcceleratorHailo-8 M.2 over PCIe, beschikbaar als /dev/hailo0
OSRaspberry Pi OS Bookworm, aarch64
Host driverhailo-all apt-pakket
Gevalideerde HailoRT4.23.x; host driver, firmware, native library en Python wheel moeten dezelfde major.minor delen
bash
sudo apt update
sudo apt install hailo-all
sudo reboot

# Na herstart
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 Demo Video

bash
sudo docker run --rm --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-r20-cv/yolov8_pose:latest \
  python web_detection.py --model_path model/yolov8s_pose.hef --video_path video/test.mp4

Open http://<R20_IP>:8000 om de webpreview te bekijken. De image bevat de modulebroncode, demovideo, HailoRT Python wheel en de hieronder vermelde HEF-bestanden.

De libhailort.so bind mounts komen bewust van de host. Als uw firmware niet 4.23.0 is, vervang dan beide paden door de versie die wordt gerapporteerd door hailortcli fw-control identify; bouw de image opnieuw op als de major.minor-versie verschilt.

USB Camera Modus

bash
sudo docker run --rm --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-r20-cv/yolov8_pose:latest \
  python web_detection.py --model_path model/yolov8s_pose.hef --camera_id 0

Wisselen van HEF-varianten

Overschrijf de standaard van de image door een ander --model_path op te geven:

bash
sudo docker run --rm --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-r20-cv/yolov8_pose:latest \
  python web_detection.py --model_path model/yolov8m_pose.hef --video_path video/test.mp4

HEF-bestanden

HEFGrootteOpmerkingen
yolov8s_pose.hef10.10 MBSmall pose model
yolov8m_pose.hef30.14 MBMedium pose model

REST API

Predictie-eindpunt:

text
POST http://<R20_IP>:8000/api/models/yolov8_pose/predict

Voorbeeld afbeeldingsverzoek:

bash
curl -X POST "http://<R20_IP>:8000/api/models/yolov8_pose/predict" \
  -F "file=@test.jpg"

Algemene service-eindpunten:

EindpuntMethodeDoel
/GETWeb preview UI
/api/models/yolov8_pose/predictPOSTSingle-frame inferentie van geüploade afbeelding/video of huidig frame
/api/video_feedGETMJPEG preview stream
/api/configGET / POSTLezen of bijwerken van runtime drempelwaarden
/api/video/uploadPOSTUpload een video voor offline analyse
/api/video/analyzePOSTStart offline analyse
/api/video/statusGETPoll analysevoortgang
/api/video/listGETToon geüploade en verwerkte video's
/api/video/download/{filename}GETDownload verwerkte uitvoer

Ontwikkelnotities

  • Bronmodule: src/rpi5_hailo8_yolov8_pose/
  • Dockerfile: docker/hailo8/yolov8_pose.dockerfile
  • Hoofdservice: web_detection.py omvat HailoRT-inferentie, post-processing, MJPEG preview, REST-predictie en offline video-analyse.
  • Wanneer u een aangepaste HEF inwisselt, zorg ervoor dat de output layout compatibel is met de post-processing code van de module of werk post_process_hailo() bij.

Invoer en uitvoer

Invoer: afbeelding, video of USB-cameraframe. Uitvoer: personenboxen, betrouwbaarheidsscores, keypoints en geannoteerde MJPEG-preview.