本篇文章记录下如何在PC端训练YOLO11模型,并部署到树莓派4B上进行目标检测。

1️⃣ 环境配置说明

💻 训练电脑主机

组件
规格参数
CPU
AMD Ryzen 5 5600X
内存
DDR4 32GB
GPU
NVIDIA RTX 4060 Ti 16GB
系统
Windows 11 Pro 22H2
Anaconda
2023.03-1
CUDA
12.6

🍓 树莓派端

组件
规格参数
型号
Raspberry Pi 4 Model B 8GB
系统
Raspberry Pi OS (64-bit) Bullseye
Python版本
3.9.2
Docker
24.0.5

2️⃣ 在PC上训练YOLO11模型

📌 安装Anaconda/Python

首先从 https://www.anaconda.com/download 下载Anaconda。
安装完成后,可以创建个虚拟环境用作训练:
 

📌 安装 YOLO11 及相关工具

YOLO11 由 Ultralytics 开发,因此我们可以使用 pip 直接安装:
notion image
 
安装完成后,运行以下命令,验证是否安装成功:
若安装正确,终端会显示推理结果,并生成带有目标检测框的预测图片。
notion image
notion image
 

📌 安装 GPU 支持(CUDA & PyTorch)

由于训练模型需要 GPU 加速,我们需要安装 PyTorch,并确保 CUDA 版本匹配。请前往 PyTorch 官网 查找适合您系统的安装命令。
例如,对于 Windows 11 + CUDA 12.6 的环境,可运行: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
notion image
Windows下查看当前显卡支持的CUDA版本,可以使用 nvidia-smi 命令查看
notion image
notion image
 
运行以下 Python 代码,确保 CUDA 可用:
 

3️⃣ 准备训练数据集

📌 YOLO格式数据标注

YOLO格式要求:
  • class_id: 类别索引(0开始)
  • x_center, y_center: 目标框中心点(归一化 0-1)
  • width, height: 目标框宽度、高度(归一化 0-1)
示例 (dog.jpg 对应 dog.txt):
  • 第一行:类别 0(例如 dog),框的中心点在 (0.5, 0.5),宽度 0.4,高度 0.6
  • 第二行:类别 1(例如 cat),框的中心点在 (0.7, 0.8),宽度 0.2,高度 0.3

📌 数据集目录结构

📌 数据配置文件 (data.yaml)

 
在标注数据时,可以使用 CVATLabel Studio 等专业工具来提高标注效率,并确保标注格式符合 YOLO 要求。
一些主流标注工具:
工具名称
类型
特点
适用场景
CVAT
开源Web端
支持团队协作、视频标注、自动分割
复杂项目、专业团队
Label Studio
开源跨平台
可视化配置、支持NLP/OCR等多模态任务
多类型数据标注
RoboFlow
云端服务
自动预处理、版本管理、一键导出多种格式
快速原型开发
LabelImg
桌面端
轻量级、离线使用
小规模简单标注任务
 

4️⃣ 训练YOLO11模型

📌 运行训练

执行训练命令:
  • epochs=100: 训练100轮
  • imgsz=640: 训练图片大小 640x640
 
notion image
notion image

📌 训练结果

notion image
模型训练完成后,训练后的模型文件保存在:
通过查看results图片可以看到训练次数和各参数的变化情况。
notion image
 

5️⃣ 在树莓派上运行YOLO11

📌 安装 Raspberry Pi OS

notion image
  • 从Raspberry Pi 官网下载Raspberry Pi OS (64-bit)。
  • 使用 Raspberry Pi Imager 写入 microSD 卡。
notion image
notion image
 

📌 运行 YOLO11

拉取Ultralytics Docker镜像
notion image
复制训练好的模型文件和检测图片到树莓派
运行目标检测后查看检测结果 运行成功后,会在 /home/pi/runs/detect/predict/ 目录生成带检测框的图片。

📎 参考资料

 
如果你有任何问题或优化建议,欢迎留言讨论! 🚀
物联网设备频繁断线?也许是伪造的 TCP-RST 报文在搞鬼初识YOLO目标检测算法
Loading...