CV / YOLOv6
YOLOv6
YOLOv6 COCO 目标检测,支持 reComputer RK3576/RK3588(RKNN)以及 reComputer R Series + Hailo-8 或 Hailo-10H。
11 次下载
精度
RKNN / Hailo HEF选择你正在使用的设备,设置指南和文档将相应更新。
快速开始
部署
sudo docker run --rm --privileged --net=host --device /dev/dri/renderD128:/dev/dri/renderD128 \
-v /proc/device-tree/compatible:/proc/device-tree/compatible:ro \
ghcr.io/seeed-projects/recomputer-rk-cv/rk3576-yolov6:latest \
python3 web_detection.py --platform rk3576 --model_path model/yolov6n.rknn --video_path video/test.mp4REST API
使用 REST API 进行推理。复制以下命令。
Curl
curl http://localhost:8080/v1/chat/completions -d '{
"model": "yolov6",
"messages": [{"role": "user", "content": "Hello"}]
}'Python
import requests
resp = requests.post(
"http://localhost:8080/v1/chat/completions",
json={"model": "yolov6", "messages": [{"role": "user", "content": "Hello"}]},
)
print(resp.json())模型详情
reComputer R Series (CM5 + Hailo-8)YOLOv6n on reComputer R Series (CM5 + Hailo-8)
YOLOv6n 通过 HailoRT 在 Hailo-8 上执行 COCO 80 类目标检测。编译出的 HEF 可能直接给出片上 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 |
| 容器内 Python | 3.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。
使用演示视频运行
bash
sudo docker run --rm \
--name cm5-hailo8-yolov6n \
--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/yolov6n:latest \
python web_detection.py --model_path model/yolov6n.hef --video_path video/test.mp4浏览器打开 http://<Board_IP>:8000 查看网页预览。
USB 摄像头模式
bash
sudo docker run --rm \
--name cm5-hailo8-yolov6n \
--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/yolov6n:latest \
python web_detection.py --model_path model/yolov6n.hef --camera_id 0HEF 文件
| HEF | 大小 | 说明 |
|---|---|---|
yolov6n.hef | 5,774,047 (5.5 MB) | HEF 来自 Hailo Model Zoo v2.19.0 的 Hailo-8 构建;参数量 4.32M,运算量 11.12G。 |
Source: https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.19.0/hailo8/yolov6n.hef.
REST API
text
POST http://<Board_IP>:8000/api/models/yolov6n/predictbash
curl -X POST "http://<Board_IP>:8000/api/models/yolov6n/predict" \
-F "file=@test.jpg"| 接口 | 方法 | 用途 |
|---|---|---|
/ | GET | 网页预览界面 |
/api/models/yolov6n/predict | POST | 检测结果(JSON) |
/api/video_feed | GET | MJPEG 预览流 |
实现说明
- Model Zoo
base/yolov6.yaml使用hpp=true、meta_arch=yolo_v6、score_threshold=0.03、nms_iou_thresh=0.65;info.output_shape记录的是九个原始分支头(每个 stride 32/16/8 各 4 通道框、1 通道 objectness、80 通道类别)。 - 模块对两种编译布局都能处理:HEF 已做 NMS(HPP)时解析 post-NMS 张量(逐类紧凑缓冲区、
Cx5xD/CxDx5稠密布局、ragged NMS-by-score 列表);HEF 输出原始分支头时解码格心到四边的距离(stride 单位),用 sigmoid(类别) × sigmoid(objectness) 得到分数,再按 IOU 滑块做逐类 NMS。 - 首次推理会打印一次
[YOLOv6n] layout=...,便于实机确认布局。 - HEF 内含
normalize_in_net(mean 0 / std 255)与padding_color=114:应用用灰色(114)填充做 letterbox,输入原始 uint8 RGB,宿主侧不做归一化。 - 类别 ID 0..79 直接索引标准 COCO 类别表(Model Zoo 评测使用
labels_offset=1)。 - 默认参数:置信度 0.25;片上 NMS 布局下 IOU 滑块无效,原始头布局下它驱动宿主侧 NMS。
开发说明
- 源码模块:对应模型仓库里的
src/hailo10h_yolov6n/(Hailo-10H)或src/rpi5_hailo8_yolov6n/(Hailo-8) - 镜像:
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov6n:latest - Hailo Model Zoo 只发布了 YOLOv6n,YOLOv6s/m/l 没有 Hailo HEF。
- 模型许可:GPL-3.0(上游 meituan/YOLOv6)。
输入与输出
Input: image, video frame, or camera frame. Output: COCO classes, confidence scores, and boxes.