CV / YOLO26

YOLO26

YOLO26 COCO 目标检测:在 NVIDIA Jetson 上一键部署,或在 reComputer R Series + Hailo-8 / Hailo-10H 上运行 Hailo HEF。

18 次下载
大小
16GB disk
内存
4GB+
精度
JetPack 5/6/7 / Hailo HEF

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

快速开始

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

REST API

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

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

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

print(response.json())

模型详情

reComputer R Series (CM5 + Hailo-8)

YOLO26 on reComputer R Series (CM5 + Hailo-8)

YOLO26n / YOLO26s / YOLO26m 通过 HailoRT 在 Hailo-8 上执行 COCO 80 类目标检测。YOLO26 是 one2one 头(每个格子一个预测、无锚框、无需 NMS):宿主解码原始分支头并用两段式 top-k 选择;若编译产物带片上 HPP NMS 也会按该布局解析——首次推理会打印实际布局。

本页面向搭载 PCIe Hailo-8 加速器的 reComputer R Series (CM5 + Hailo-8)。

硬件与主机设置

项目值
开发板reComputer R Series 搭配 Raspberry Pi CM5
加速器Hailo-8(PCIe 接口),以 /dev/hailo0 暴露
运行时HailoRT 4.23.x
容器内 Python3.11, aarch64

在主机上安装 Hailo-8 软件包,并在启动容器前确认驱动与设备就绪:

bash
sudo apt update
sudo apt install hailort hailort-pcie-driver python3-hailort
sudo reboot

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

这些镜像要求的 HailoRT 版本为 4.23.x。

使用演示视频运行

YOLO26n:

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

YOLO26s:

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

YOLO26m:

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

浏览器打开 http://<Board_IP>:8000 查看网页预览。

USB 摄像头模式

bash
sudo docker run --rm \
  --name cm5-hailo8-yolo26n \
  --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/yolo26n:latest \
  python web_detection.py --model_path model/yolo26n.hef --camera_id 0

把 yolo26n 换成 yolo26s 或 yolo26m 即可切换变体。

HEF 文件

模型大小说明
yolo26n.hef8,755,512 (8.3 MB)参数量 2.4M,运算量 5.5G
yolo26s.hef20,307,365 (19.4 MB)参数量 9.5M,运算量 20.9G
yolo26m.hef29,155,151 (27.8 MB)参数量 20.4M,运算量 68.4G

三个变体都是同一 Ultralytics YOLO26 家族在 Hailo Model Zoo v2.19.0 上的 Hailo-8 编译产物。

Source: https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.19.0/hailo8/yolo26n.hef (yolo26s.hef, yolo26m.hef in the same directory).

REST API

text
POST http://<Board_IP>:8000/api/models/yolo26n/predict
bash
curl -X POST "http://<Board_IP>:8000/api/models/yolo26n/predict" \
  -F "file=@test.jpg"
接口方法用途
/GET网页预览界面
/api/models/yolo26{n,s,m}/predictPOST检测结果(JSON)
/api/video_feedGETMJPEG 预览流

实现说明

  • Model Zoo base/yolo26.yaml 使用 nms=false、sigmoid=false、hpp=false、meta_arch=yolo26,并从 base/yolov8.yaml 继承 post_nms_topk=300;info.output_shape 记录的是 3 个 stride ×(4 通道框、80 通道类别)。
  • one2one 选择:完全不跑 NMS。宿主做 sigmoid 后先按最大类别分数取 top-k 锚点,再取 top-k 的 (锚点, 类别) 对——同一锚点允许多个类别——最后按置信度滑块过滤。
  • 框解码:4 通道头给出格心到左/上、右/下边的距离(stride 单位,regression_length=1);64 通道 DFL 编译产物走 softmax 期望解码。
  • 若编译产物改带片上 HPP NMS(yolo26-seg 的 HEF 就是如此),则改为解析 post-NMS 张量(逐类紧凑缓冲区、Cx5xD / CxDx5 稠密布局、ragged NMS-by-score 列表),宿主侧不再做选择。
  • HEF 内含 normalize_in_net(mean 0 / std 255)与 padding_color=114:应用用灰色(114)填充做 letterbox,输入原始 uint8 RGB,宿主侧不做归一化。
  • 类别 ID 0..79 直接索引标准 COCO 类别表。
  • 首次推理会打印布局与框/分数范围([YOLO26] layout=..., outputs=[...]),便于实机核对。

开发说明

  • 源码模块:对应模型仓库里的 src/hailo10h_yolo26{n,s,m}/(Hailo-10H)或 src/rpi5_hailo8_yolo26{n,s,m}/(Hailo-8)
  • 镜像:ghcr.io/seeed-projects/recomputer-hailo8-cv/yolo26{n,s,m}:latest
  • 检测系列发布 n/s/m;YOLO26l / YOLO26x 目前还没有 Hailo HEF。
  • 模型许可:AGPL-3.0(上游 ultralytics/ultralytics)。

输入与输出

输入:图像、视频或摄像头源。输出:COCO 80 类检测框(Jetson 走 Ultralytics 容器,R Series 走 Hailo HEF)。