CV / YOLOv8

YOLOv8-seg

reComputer R Series (CM5 + Hailo-10H)

reComputer RK3588/RK3576(RKNN)与 reComputer R Series(Hailo-8 / Hailo-10H,HailoRT)上的 YOLOv8n/s/m 实例分割。

575 次下载
大小
~7.2MB
内存
1GB+
精度
INT8

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

快速开始

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

模型详情

reComputer R Series (CM5 + Hailo-10H)

reComputer CM5 + Hailo-10H 上的 YOLOv8-seg

YOLOv8n/s/m-seg 通过 HailoRT 5.1.1 在 Hailo-10H 上运行。HEF 输出原始分支头(无片上 NMS):主机侧完成框解码(DFL 或折叠布局)、sigmoid 与逐类 NMS,并合成实例掩码 (32 个系数 × 160×160×32 原型,按框裁剪),支持 80 个 COCO 类别。

模型信息

变体输入打包 HEF容器镜像
YOLOv8n-seg640×640×3 RGB6.1 MByolov8n_seg
YOLOv8s-seg640×640×3 RGB18.6 MByolov8s_seg
YOLOv8m-seg640×640×3 RGB28.9 MByolov8m_seg

硬件与宿主环境

项目值
主板Raspberry Pi CM5
加速器Hailo-10H,/dev/hailo0
运行时HailoRT 5.1.1
系统Raspberry Pi OS Bookworm,aarch64
bash
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot

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

使用内置演示视频运行

按所用变体选择对应命令。

YOLOv8n-seg

bash
sudo docker run --rm --privileged --net=host \
  --name cm5-hailo10h-yolov8n-seg \
  -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/yolov8n_seg:latest \
  python web_detection.py --model_path model/yolov8n_seg.hef --video_path video/test.mp4

YOLOv8s-seg

bash
sudo docker run --rm --privileged --net=host \
  --name cm5-hailo10h-yolov8s-seg \
  -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/yolov8s_seg:latest \
  python web_detection.py --model_path model/yolov8s_seg.hef --video_path video/test.mp4

YOLOv8m-seg

bash
sudo docker run --rm --privileged --net=host \
  --name cm5-hailo10h-yolov8m-seg \
  -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/yolov8m_seg:latest \
  python web_detection.py --model_path model/yolov8m_seg.hef --video_path video/test.mp4

浏览器打开 http://<Board_IP>:8000 查看 Web 预览;/api/video_feed 提供叠加实例 掩码与检测框的 MJPEG 流。

REST API

每个变体有独立接口:

变体接口
YOLOv8n-segPOST /api/models/yolov8n_seg/predict
YOLOv8s-segPOST /api/models/yolov8s_seg/predict
YOLOv8m-segPOST /api/models/yolov8m_seg/predict

示例:

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

返回的 predictions 条目包含 class、confidence 与 box 字段(box 为原图 像素坐标的 x1/y1/x2/y2)。

预期结果与常见错误

首次推理时模块会打印已加载的张量列表和布局摘要:10 个输出张量、各自的数值范围 以及是否补做了 sigmoid。预期为三个框分支、三个 80 通道类别分支、三个 32 通道掩码 系数分支和一个 160×160×32 原型;预览中掩码应贴合目标。

现象可能原因处理
日志出现 unexpected output layoutHEF 编译与本模块预期不同对照上面的张量清单核对打印的形状,不要凭猜测解码
启动报 HailoRT 版本错误宿主运行库不是 5.1.1宿主安装 hailo-h10-all,容器挂载保持 libhailort.so.5.1.1
docker: container name already in use上次容器未删除docker rm -f cm5-hailo10h-yolov8n-seg,或修改 --name
容器内没有 /dev/hailo0缺少 --device /dev/hailo0:/dev/hailo0补上设备映射与 --privileged --net=host

开发说明

变体源码Dockerfile
YOLOv8n-segsrc/hailo10h_yolov8n_seg/docker/hailo10h/yolov8n_seg.dockerfile
YOLOv8s-segsrc/hailo10h_yolov8s_seg/docker/hailo10h/yolov8s_seg.dockerfile
YOLOv8m-segsrc/hailo10h_yolov8m_seg/docker/hailo10h/yolov8m_seg.dockerfile
  • 执行器为 HailoRT 5.1.1 的 InferModel 封装(Python 3.13 + 随模块附带的 cp313 wheel);回归测试位于各模块的 tests/。
  • HEF 来自 Hailo Model Zoo v5.4.0 的 Hailo-10H 构建。
  • letterbox 填充为 114(Model Zoo base/yolo.yaml),归一化已编译进 HEF;文中引用 的 mAP 为 Model Zoo 全精度参考值,并非本板实测。