CV / NanoDet
NanoDet-RepVGG
reComputer R Series (CM5 + Hailo-10H)
COCO 80 类目标检测,NanoDet-RepVGG(片上 NMS),适用于 reComputer R Series + Hailo-8 或 Hailo-10H。
47 次下载
大小
10.7 MB内存
4GB+精度
Hailo HEF / HailoRT选择你正在使用的设备,设置指南和文档将相应更新。
快速开始
部署
sudo docker run --rm \
--name cm5-hailo10h-nanodet-repvgg \
--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/nanodet_repvgg:latest \
python web_detection.py --model_path model/nanodet_repvgg.hef --video_path video/test.mp4REST API
使用 REST API 进行推理。复制以下命令。
Curl
curl -X POST "http://<Board_IP>:8000/api/models/nanodet_repvgg/predict" \
-F "file=@test.jpg"Python
import requests
response = requests.post(
"http://<Board_IP>:8000/api/models/nanodet_repvgg/predict",
files={"file": open("test.jpg", "rb")},
timeout=30,
)
print(response.json())模型详情
reComputer R Series (CM5 + Hailo-10H)NanoDet-RepVGG 在 reComputer CM5 + Hailo-10H 上运行
NanoDet-RepVGG 在 Hailo-10H 上执行 COCO 80 类目标检测,NMS 在片上完成(Hailo HPP)。HEF 直接输出已解码的检测结果,应用只解析 NMS 后的张量。从已验证的 Hailo-8 模块 rpi5_hailo8_nanodet_repvgg 移植;执行器使用 HailoRT 5.1.1 的 create_infer_model 多输出封装,输出为 FLOAT32。
模型信息
| 属性 | 值 |
|---|---|
| 架构 | NanoDet-RepVGG(COCO-80) |
| 任务 | 目标检测 |
| 输入 | 启动时从 HEF 读取(首次运行时打印) |
| 输出 | 片上 NMS 张量,NMS 后形状 80x5x100 |
| 类别 | 80(COCO,0 起索引,无 labels_offset) |
| HEF | Hailo Model Zoo v5.4.0,Hailo-10H(5.2 MB) |
硬件与主机设置
| 项目 | 值 |
|---|---|
| 开发板 | reComputer R Series(树莓派 CM5) |
| 加速器 | Hailo-10H,PCIe 接口,设备节点为 /dev/hailo0 |
| 主机驱动 | hailo-h10-all apt 包 |
| 运行时 | HailoRT 5.1.1 |
| 容器内 Python | 3.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-nanodet-repvgg \
--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/nanodet_repvgg:latest \
python web_detection.py --model_path model/nanodet_repvgg.hef --video_path video/test.mp4打开 http://<Board_IP>:8000 查看 Web 预览。USB 摄像头模式挂载 /dev/video0,将 --video_path video/test.mp4 换成 --camera_id 0。
REST API
bash
curl -X POST "http://<Board_IP>:8000/api/models/nanodet_repvgg/predict" \
-F "file=@test.jpg"| 端点 | 方法 | 说明 |
|---|---|---|
/health | GET | 健康检查 |
/api/models/nanodet_repvgg/predict | POST | 检测结果(JSON) |
/api/video_feed | GET | MJPEG 预览流 |
实现说明
- HEF 片上执行 NMS,应用只解析 NMS 后张量,
nms_thresh仅为接口兼容而保留。 - NMS 后的行格式为
[ymin, xmin, ymax, xmax, score],相对 letterbox 输入归一化;应用换算为像素并还原 letterbox。 - 归一化/颜色转换编译进 HEF;应用 letterbox 后直接送原始 uint8 像素。
- HailoRT 可能以逐类别 ragged 列表(NMS-by-score)返回 NMS vstream,解析器同时兼容 ragged/object/dense 布局。首次推理会打印原始类型/形状用于核验。
- 执行器输出统一请求
FormatType.FLOAT32(由 SDK 去量化);直接读量化原始值会得到万级数值且检测全空。 - 类别映射:
cls_id(0..79)直接对应标准 COCO 80 类列表。
模型来源
nanodet_repvgg.hef 为 Hailo Model Zoo v5.4.0 的 Hailo-10H 构建——URL、SHA256 和大小记录在仓库 src/hailo10h_nanodet_repvgg/model/README.md 中。
输入与输出
Input: image, video, or USB camera frame. Output: COCO 80-class detection boxes with confidences, plus an annotated MJPEG preview.