CV / EfficientDet
EfficientDet-Lite1
reComputer R Series (CM5 + Hailo-10H)
在搭载 Hailo-8 或 Hailo-10H 的 reComputer R Series 上,使用 EfficientDet-Lite1(片上 NMS)进行 COCO 80 类目标检测。
71 次下载
大小
16 MB内存
4GB+精度
Hailo HEF / HailoRT选择你正在使用的设备,设置指南和文档将相应更新。
快速开始
部署
sudo docker run --rm \
--name cm5-hailo10h-efficientdet-lite1 \
--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/efficientdet_lite1:latest \
python web_detection.py --model_path model/efficientdet_lite1.hef --video_path video/test.mp4REST API
使用 REST API 进行推理。复制以下命令。
Curl
curl -X POST "http://<Board_IP>:8000/api/models/efficientdet_lite1/predict" \
-F "file=@test.jpg"Python
import requests
response = requests.post(
"http://<Board_IP>:8000/api/models/efficientdet_lite1/predict",
files={"file": open("test.jpg", "rb")},
timeout=30,
)
print(response.json())模型详情
reComputer R Series (CM5 + Hailo-10H)EfficientDet-Lite1 在 reComputer R Series(CM5 + Hailo-10H)上运行
EfficientDet-Lite1 通过 HailoRT 在 Hailo-10H 上执行 COCO 80 类目标检测。NMS 与 sigmoid 均在片上完成(Hailo HPP),宿主只解析 post-NMS 张量。这是 efficientdet 系列的 lite1 变体。
本页面向搭载 PCIe Hailo-10H 加速器的 reComputer R Series(CM5 + Hailo-10H)。
模型信息
| 属性 | 值 |
|---|---|
| 架构 | EfficientDet-Lite1(BiFPN) |
| 任务 | 目标检测 |
| 输入 | 384x384x3 RGB(归一化已编译进 HEF:mean=127、std=128) |
| 输出 | 片上 NMS 张量,post-NMS 形状 89x5x100 |
| 类别 | 89 个槽位(labels_offset=1 对应 COCO 类别 ID 1..89,含 10 个未使用) |
| 参数量 | 4.73M |
| 运算量 | 4G |
| 后处理 | 片上 NMS(HPP)+ sigmoid;宿主解析 post-NMS 张量 |
| HEF | Hailo Model Zoo v5.4.0,Hailo-10H(7,614,464 bytes) |
精度数值来自 Hailo Model Zoo 参考值,不是在 CM5 上实测的结果。
硬件与主机设置
| 项目 | 值 |
|---|---|
| 开发板 | reComputer R Series 搭配 Raspberry Pi CM5 |
| 加速器 | Hailo-10H(PCIe 接口),以 /dev/hailo0 暴露 |
| 运行时 | HailoRT 5.1.1 |
| 容器内 Python | 3.13, aarch64 |
在主机上安装 Hailo-10H 软件包,并在启动容器前确认驱动与设备就绪:
bash
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# After reboot
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0该镜像要求的 HailoRT 版本为 5.1.1。
使用演示视频运行
bash
sudo docker run --rm \
--name cm5-hailo10h-efficientdet-lite1 \
--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/efficientdet_lite1:latest \
python web_detection.py --model_path model/efficientdet_lite1.hef --video_path video/test.mp4浏览器打开 http://<Board_IP>:8000 查看网页预览。
USB 摄像头模式
bash
sudo docker run --rm \
--name cm5-hailo10h-efficientdet-lite1 \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
--device /dev/video0:/dev/video0 \
-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/efficientdet_lite1:latest \
python web_detection.py --model_path model/efficientdet_lite1.hef --camera_id 0REST API
text
POST http://<Board_IP>:8000/api/models/efficientdet_lite1/predictbash
curl -X POST "http://<Board_IP>:8000/api/models/efficientdet_lite1/predict" \
-F "file=@test.jpg"| 接口 | 方法 | 用途 |
|---|---|---|
/ | GET | 网页预览界面 |
/api/models/efficientdet_lite1/predict | POST | 检测结果(JSON) |
/api/video_feed | GET | MJPEG 预览流 |
实现说明
- HEF 在片上完成 NMS 与 sigmoid(
device_pre_post_layers: nms=true, sigmoid=true、hpp=true);应用只解析 post-NMS 张量,nms_thresh仅保留参数接口。 - post-NMS 每行为
[ymin, xmin, ymax, xmax, score],取值范围 [0,1](相对 384x384 letterbox 后的输入);应用缩放到像素并还原到原图。 - HEF 内含归一化(mean=127、std=128)且
padding_color=127:应用用灰色(127)填充做 letterbox,输入原始 uint8 RGB,宿主侧不做归一化。 - 解析器兼容 HailoRT 的几种 NMS 布局:每类"计数 + 5 值行"的紧凑缓冲区、
89x5x100/89x100x5稠密布局,以及 ragged(NMS-by-score)列表。首次推理会打印一次原始类型与 shape,便于实机核对。 - 类别映射:
cls_id(0..88)对应 COCO 类别 IDcls_id+1(labels_offset=1),10 个未使用的 ID 记为 "N/A",不参与绘制。 - 默认参数:置信度 0.25、IOU 0.45(IOU 无效——NMS 在片上)。调低置信度滑块可查看更多检测。
开发说明
- 源码模块:
src/hailo10h_efficientdet_lite1/ - Dockerfile:
docker/hailo10h/efficientdet_lite1.dockerfile - 镜像:
ghcr.io/seeed-projects/recomputer-hailo10h-cv/efficientdet_lite1:latest - 模块使用 HailoRT 5.1.1 的 InferModel API 与面向 Hailo-10H 编译的 HEF。
- 单元测试无需设备即可运行:
python -m unittest discover -s tests -v。
输入与输出
输入:图像、视频或 USB 摄像头帧。输出:带置信度的 COCO 80 类检测框,以及带标注的 MJPEG 预览。