一个基于 YOLO(MaixHub 生成的 YOLOv2/YOLO2 推理接口)在 Kendryte K210(如 Sipeed Maix 系列)上运行的单类目标检测项目,用于检测图像/视频流中的「car」。包含数据集划分、模型与推理脚本,支持在板端通过 LCD 实时显示与 UART 输出检测结果。
train/,valid/,test/: 数据集(YOLO 标注),图片与标签已按子目录组织data.yaml: 数据配置(类别数与名称、数据路径)model-234988.nncase/: 板端推理资源model-234988.kmodel: K210 可执行模型main.py: MaixPy3 推理脚本(LCD 显示与 UART 输出)report.json: 训练与导出报告(输入/输出、anchors、指标等)
本项目为单类检测任务:
- 类别数
nc: 1 - 类别名
names: ['car'] - 数据路径在
data.yaml中定义:train/valid/test对应images与labels
- 训练:按照常规 YOLO 流程准备数据与标签(已提供),可用任意 YOLO 训练框架或 MaixHub 工具链训练得到权重
- 导出:通过 NNCase/MaixHub 工具将模型转换为 K210 可执行的
.kmodel - 参考信息:
report.json提供 anchors、输入分辨率(224×224×3)、输出张量形状等关键信息
- 将以下文件复制到 TF 卡根目录(或保持
main.py内的model_addr路径一致):model-234988.nncase/model-234988.kmodelmodel-234988.nncase/main.py- 可选:
labels.txt(内容为labels = ['car'])
- 将 TF 卡插入 K210 开发板,连接 LCD 与串口,通电启动。
脚本要点:
- 输入尺寸:224×224;默认 anchors 来自
report.json - 阈值:
kpu.init_yolo2(..., threshold=0.5, nms_value=0.3, ...) - 显示:LCD 实时绘制框与置信度
- 输出:UART1(TX=IO10, RX=IO11, 115200bps)按行输出检测框,格式为:
x:y:w:h:cls:score:label
如需自定义模型路径/阈值/镜像翻转等,可在 model-234988.nncase/main.py 的 main() 参数或常量处调整。
- 将若干测试图像放入 TF 卡并在脚本中改为加载静态图(或直接连接摄像头实时预览)。
test/目录中提供了样例图片,可用于离线评估或可视化。