CV / Tiny Yolo

Tiny-YOLOv3

reComputer R Series (CM5 + Hailo-10H)

COCO 80 类目标检测,Tiny-YOLOv3(CPU YOLOv3 解码),适用于 reComputer R Series + Hailo-8 或 Hailo-10H。

43 次下载
大小
8.4 MB
内存
4GB+
精度
Hailo HEF / HailoRT 4.23.x (Hailo-8) / 5.1.1 (Hailo-10H)

选择你正在使用的设备,设置指南和文档将相应更新。

快速开始

部署
sudo docker run --rm \
  --name cm5-hailo10h-tiny-yolov3 \
  --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/tiny_yolov3:latest \
  python web_detection.py --model_path model/tiny_yolov3.hef --video_path video/test.mp4

REST API

使用 REST API 进行推理。复制以下命令。

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

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

模型详情

reComputer CM5 + Hailo-10H

Tiny-YOLOv3 在 reComputer CM5 + Hailo-10H 上运行

Tiny-YOLOv3 通过 HailoRT 5.1.1 在 Hailo-10H 上执行 COCO 80 类目标检测。HEF 输出 2 个原始 YOLO 头(13x13x255、26x26x255);anchor 解码与 NMS 在主机 CPU 上运行。

模型信息

属性值
架构Tiny-YOLOv3(COCO-80)
任务目标检测
输入416x416x3 BGR,保持宽高比缩放 + 补零(mobilenet_ssd_ar)
输出2 个头:13x13x255(stride 32)、26x26x255(stride 16)
参数量8.85M
计算量5.58G
mAP(COCO,全精度)14.59%(硬件参考值)
HEFHailo Model Zoo v5.4.0,Hailo-10H(7.1 MB)

硬件与主机设置

项目值
开发板reComputer R Series(树莓派 CM5)
加速器Hailo-10H,PCIe 接口,设备节点为 /dev/hailo0
主机驱动hailo-h10-all apt 包
运行时HailoRT 5.1.1
容器内 Python3.13,aarch64
bash
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot

# After reboot
hailortcli fw-control identify
ls /dev/hailo0

使用演示视频运行

bash
sudo docker run --rm \
  --name cm5-hailo10h-tiny-yolov3 \
  --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/tiny_yolov3:latest \
  python web_detection.py --model_path model/tiny_yolov3.hef --video_path video/test.mp4

打开 http://<Board_IP>:8000 查看 Web 预览。

REST API

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

实现说明

  • anchor/stride 已对照 Model Zoo v5.4.0 的 10H YAML 核验: stride 32 {[81,82],[135,169],[344,319]},stride 16 {[23,27],[37,58],[81,82]}。
  • 预处理:保持宽高比缩放 + 补零,原始 BGR(对应配置无 bgr_to_rgb,归一化为 0/255)——不是灰色 114 的 RGB letterbox。
  • 执行器为 HailoRT 5.1.1 多输出 FLOAT32 封装;按 SOP 验收清单,首次推理会打印每个头的数值范围。

开发说明

  • 源码模块:src/hailo10h_tiny_yolov3/
  • Dockerfile:docker/hailo10h/tiny_yolov3.dockerfile
  • 容器镜像:ghcr.io/seeed-projects/recomputer-hailo10h-cv/tiny_yolov3:latest

输入与输出

Input: image, video, or USB camera frame. Output: COCO 80-class detection boxes with confidences, plus an annotated MJPEG preview.