【开源资料】AI激光灭蚊机器人|YOLOv8数据集标注模板+完整训练配置文件一键拿走(适配ESP32-S3/树莓派双版本)

📌 专栏:嵌入式AI实战项目合集

🔥 前置项目:AI智能激光灭蚊机器人完整开源教程(双硬件方案+全套源码)

💡 适用人群:大学生课设、嵌入式科创竞赛、嵌入式AI零基础开发者

✅ 配套资料:LabelImg标注模板 + YOLOv8训练yaml配置 + 完整训练脚本 + ONNX量化脚本


一、前言

上期更新了AI智能激光灭蚊机器人完整版实战教程,很多小伙伴私信我索要配套的数据集标注文件、模型训练配置文件。

本期直接免费开源全套配套文件,无需修改、开箱即用,完美适配项目里的双目标检测:蚊虫(0)、人体(1),全程和下位机串口代码、树莓派Python推理代码一一对应,不会出现类别错乱、识别不匹配问题。

⚠️重要提醒:类别顺序绝对不能调换!调换会导致人体和蚊虫识别完全颠倒,激光安全防护直接失效


二、项目数据集整体目录(直接照搬)

标准YOLO数据集目录,符合官方规范,训练零报错:

复制代码
mosquito_dataset/
├── images/
│   ├── train/    # 训练集图片 80%
│   ├── val/      # 验证集图片 10%
│   └── test/     # 测试集图片 10%
├── labels/
│   ├── train/    # 训练集标签txt
│   ├── val/      # 验证集标签txt
│   └── test/     # 测试集标签txt
└── mosquito_person.yaml  # YOLOv8核心训练配置文件

三、数据集标注模板(LabelImg专用,直接复制)

3.1 标签配置文件 classes.txt

放在LabelImg安装根目录,打开软件自动加载标签,不用手动输入:

txt 复制代码
mosquito
person

对应索引:0=蚊虫,1=人体(和程序硬编码完全一致)

3.2 LabelImg标注关键设置(避坑必看)

  1. 左上角切换格式:PascalVOC 改为 YOLO
  2. View勾选:Auto Save 自动保存标签
  3. 禁止中文路径、禁止图片中文名,否则训练报错
  4. 标注要求:蚊虫紧贴虫体,人体标注手部/脸部/全身均可,补齐暗光、逆光复杂场景图片

3.3 YOLO标签txt标准模板

归一化坐标格式:类别id x y w h

txt 复制代码
# 单蚊虫目标
0 0.452 0.336 0.041 0.039

# 单人体目标
1 0.361 0.425 0.485 0.562

# 蚊虫+人体共存场景(设备核心场景)
0 0.712 0.291 0.036 0.033
1 0.255 0.521 0.472 0.558

四、YOLOv8官方训练配置文件 mosquito_person.yaml

直接复制保存,修改path路径即可开始训练,适配nano轻量化模型,嵌入式友好:

yaml 复制代码
# ==================== AI激光灭蚊机器人 数据集配置 ====================
# 数据集根路径,根据自己电脑路径自行修改
path: D:/AI_Project/mosquito_dataset
train: images/train
val: images/val
test: images/test

# 检测类别数量
nc: 2
# 对应类别名称,禁止调换顺序
names:
  0: mosquito
  1: person

# 轻量化数据增强,适配小样本数据集,防止过拟合
augment:
  hsv_h: 0.015
  hsv_s: 0.7
  hsv_v: 0.4
  degrees: 10.0
  flipud: 0.2
  fliplr: 0.5

五、完整可直接运行训练代码 train.py

参数和前文项目完全对齐:120轮迭代、0.4置信度、自动导出ONNX嵌入式模型,CPU/GPU均可运行

python 复制代码
from ultralytics import YOLO

# 加载预训练轻量化YOLOv8-nano模型,嵌入式最优选择
model = YOLO("yolov8n.pt")

if __name__ == '__main__':
    # 模型训练
    results = model.train(
        data="mosquito_person.yaml",
        epochs=120,
        imgsz=640,
        batch=8,
        conf=0.4,
        patience=20,
        device=0,  # 无GPU改为 device="cpu"
        workers=2,
        project="runs/train",
        name="mosquito_person_nano",
        exist_ok=True
    )

    # 模型验证
    model.val()

    # 导出嵌入式专用ONNX模型(树莓派/ESP32-S3通用)
    model.export(format="onnx", opset=12)
    print("✅ 训练完成,ONNX模型导出成功,可直接用于嵌入式部署")

六、INT8模型量化脚本(嵌入式提速必备)

针对ESP32-S3、树莓派算力弱问题,量化后推理帧率提升40%,解决画面卡顿、云台跟随延迟问题

python 复制代码
from onnxruntime.quantization import quantize_dynamic, QuantType

# 原始模型路径 & 量化后模型保存路径
origin_onnx = "runs/train/mosquito_person_nano/weights/best.onnx"
quant_onnx = "mosquito_person_nano_int8.onnx"

# 动态INT8量化
quantize_dynamic(
    origin_onnx,
    quant_onnx,
    weight_type=QuantType.QUInt8
)

print("✅ 模型INT8量化完成,嵌入式设备运行帧率大幅提升")

安装依赖:

bash 复制代码
pip install onnxruntime onnxruntime-tools

七、常见训练&标注报错解决

报错现象 解决方案
找不到数据集路径 yaml文件内path改为绝对路径,全部文件夹无中文
识别人体和蚊虫颠倒 严禁调换yaml和classes.txt内部类别顺序
嵌入式推理帧率低 使用INT8量化模型,关闭opencv画面预览
小样本过拟合 降低batch,适度减少图像旋转增强角度

八、配套项目全套资料汇总

  • ✅ ESP32-S3+Arduino下位机全套源码
  • ✅ 树莓派4B一体化Python完整源码
  • ✅ 双版本硬件采购清单
  • ✅ 数据集标注模板+训练配置文件
  • ✅ 整机调试故障排查手册

相关推荐
Dust-Chasing1 小时前
Claude Code源码剖析 - Claude Code 上下文压缩机制
人工智能·python·ai
甲维斯1 小时前
MiMo Code 初体验,免费,易上手,适合新手!
人工智能
2301_764441331 小时前
主流手机pc品牌的端侧模型部署梳理
人工智能·windows·机器学习·智能手机·产品运营
虾壳云智能2 小时前
阿里云百炼 API 配置 OpenClaw 2.7.9 环境搭建
人工智能·阿里云百炼·open claw安装·open claw教程
Xzh04232 小时前
AI Agent 学习路线(Java 后端方向)
java·人工智能·学习
醒醒该学习了!2 小时前
视觉与声音大模型(理论篇)
人工智能
Cloud_Shy6182 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 33 - 35)
开发语言·人工智能·笔记·python·学习方法
救救孩子把2 小时前
HyperFrames by HeyGen 入门教程
人工智能·视频生成·heygen
JS菌2 小时前
AI Agent 沙箱双层防护体系:从权限过滤到内核隔离的完整实现
前端·人工智能·后端