YOLOv11 训练部署指南
文档信息
本教程说明物体检测模型 YOLOv11 的训练方法,以及将模型部署到 CSUN RV1126B 开发板的操作流程。
| 项目 | 内容 |
|---|---|
| 文档名 | YOLOv11 训练部署指南 |
| 公司 | 株式会社日昇テクノロジー |
| URL | http://www.dragonwake.com |
| info@dragonwake.com | |
| 创建日期 | 2026/06/06 |
| 版本 | Ver1.0 |
| 修改内容 | 新建 |
修改履历
| NO | 版本 | 修改内容 | 修改日期 |
|---|---|---|---|
| 1 | Ver1.0 | 新建 | 2026/06/06 |
本文档信息可能会因文档改进而在不另行通知的情况下发生变更。最新版请参考公司网站。
未经株式会社日昇テクノロジー书面许可,严禁以任何形式复制本文档。
1. YOLOv11 概要
YOLO11 系列是 YOLO 家族中较新的高效模型,具有较高的检测性能、轻量化特性和较好的实时性。该模型由发布 YOLOv8 的 Ultralytics 团队开发,继承了 YOLO 系列的整体设计思路。
本指南说明 YOLO11 物体检测算法的训练方法,以及部署到 CSUN RV1126B 开发板的流程。数据标注方法可参考既有相关文档。

图1-1 YOLOv11 训练、转换与部署整体流程。展示从数据集准备到模型训练、模型转换和模型部署的完整流程。
2. 资料下载
本手册所需资料和源码可从以下链接下载:
https://dl.dragonwake.com/download/rv1126b/AI/demo/yolov11/AIDemo_yolov11_All.zip
解压后的主要目录结构如下:
|-- 01-data 数据集|-- 02-training 训练用源码|-- 03-model_convert AI 模型转换用源码|-- 04-AI_deploy AI 模型部署用源码
图2-1 AIDemo_yolov11_All.zip 解压后的目录结构。
3. YOLOv11 物体检测算法训练
YOLOv11 的训练源码在模型导出部分相对于 Ultralytics 官方 GitHub 版本做了部分修改,因此建议使用本资料中指定的训练源码。
3.1 数据集准备
开始 YOLO11 训练前,需要准备 VOC2007 等训练数据。
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/index.html
本文将 VOC2007 原始数据放到 01-data 目录下。VOC2007 的 train.txt 用于训练集,val.txt 用于验证集。
mkdir -p /opt/linuxshare/work/rv1126b/jp/AI/demo/Tutorial/yolov11/01-datacd /opt/linuxshare/work/rv1126b/jp/AI/demo/Tutorial/yolov11/01-datawget https://www.robots.ox.ac.uk/~vgg/data/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tartar -xf VOCtrainval_06-Nov-2007.tar
图3-1 VOC2007 数据集解压后的目录结构。
3.2 VOC 转 YOLO 格式
数据准备完成后,使用 data/voc_2_yolo.py 脚本将 VOC 格式数据转换为 YOLO 格式。转换后的数据会保存在原数据同级的 yolo_datas 目录下。
cd /opt/linuxshare/work/rv1126b/jp/AI/demo/Tutorial/yolov11/02-training/ultralytics_yolo11rm -rf demo/voc2007/datas/yolo_dataspython data/voc_2_yolo.py3.3 训练参数配置
数据转换完成后,需要配置 data.yaml、default.yaml 和 yolo11.yaml。
| 文件 | 说明 |
|---|---|
data.yaml | 指定训练数据、验证数据路径、类别数量和类别名称。 |
default.yaml | 指定 YOLO11 训练参数,可根据需要调整。 |
yolo11.yaml | 定义 YOLO11 模型结构,训练时需要根据数据集修改类别数量。 |
3.4 模型训练
完成上述步骤后,打开 train.py,设置 data.yaml、default.yaml 和 yolo11.yaml 的路径。
from ultralytics import YOLOimport os
# OMP 関連エラー(例: "OMP: Hint This means...")が発生する場合に使用します。os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
if __name__ == '__main__': # 学習設定ファイル、データセット設定ファイル、モデル構造ファイルを指定します。 # 本スクリプトは ultralytics_yolo11 のプロジェクトルートで実行してください。 cfg = "./demo/voc2007/cfg/default.yaml" data = "./demo/voc2007/cfg/data.yaml" weight = "./demo/voc2007/cfg/yolo11.yaml" # .pt または yolo11.yaml を指定できます。
print("YOLO11 物体検出モデルの学習を開始します。") print(f"学習設定ファイル: {cfg}") print(f"データセット設定ファイル: {data}") print(f"モデルファイル: {weight}")
model = YOLO(weight) results = model.train( data=data, cfg=cfg )
print("YOLO11 物体検出モデルの学習が完了しました。")在 RV1126B Docker 开发环境中执行以下命令开始训练:
cd /home/csun/linuxshare/work/rv1126b/jp/embedded/images/develop_environment./run.sh 2204cd /opt/linuxshare/work/rv1126b/jp/AI/demo/Tutorial/yolov11/02-training/ultralytics_yolo11python train.py
图3-2 YOLOv11 训练开始时输出的模型结构和训练日志。
训练完成后的输出如下:

图3-3 YOLOv11 训练完成后输出的验证结果。
注意:本文档中的训练过程仅用于说明流程。后续模型推理和模型转换阶段使用 YOLOv11 标准 80 类模型。
生成的模型文件如下:
./runs/train/voc2007_yolo11s2/weights/best.pt
图3-4 训练后生成的 best.pt 和 last.pt 文件所在目录。
3.5 PC 端模型推理
训练完成后,训练过程和验证集效果最好的模型会保存在 default.yaml 中配置的 project 目录下。执行 predict.py 可以初步确认模型效果。
predict.py 中需要设置模型路径、输入图片、推理设备和图片尺寸,并完成图片预处理、模型推理和结果绘制。执行前请确认实际模型文件路径。
if __name__ == '__main__': random.seed(0) device_ = "cpu" imgsz = (640, 640)
# 学習済みモデルと推論画像を指定します。 # 本スクリプトは ultralytics_yolo11 のプロジェクトルートで実行してください。 model_path = "./runs/train/voc2007_yolo11s2/weights/best.pt" img_path = "./demo/images/bus.jpg" is_dir = os.path.isdir(img_path)
print("YOLO11 モデルの推論を開始します。") print(f"使用デバイス: {device_}") print(f"入力モデル: {model_path}") print(f"入力画像パス: {img_path}")
device = select_device(device_) model = YOLO(model_path)
# モデル推論を実行し、結果画像を入力画像と同じディレクトリへ保存します。 # 単一画像を指定した場合は result.jpg として保存します。执行命令如下:
python predict.py
图3-5 执行 predict.py 时的推理日志。

图3-6 在 PC 端执行 YOLOv11 物体检测后的结果图像。
3.6 PT 模型转 ONNX
在 PC 端执行 export.py,将 PT 模型导出为 ONNX 或用于 RKNN 转换的格式。代码示例中指定 format = 'rknn'。
from ultralytics import YOLO
if __name__ == '__main__': # エクスポート形式を指定します。 # 本プロジェクトの YOLO11 では、RKNN 変換用に rknn 形式を指定します。 # 選択可能な形式例: 'torchscript', 'onnx', 'openvino', 'engine', 'coreml', # 'saved_model', 'pb', 'tflite', 'edgetpu', 'tfjs', 'paddle', 'ncnn', 'rknn' format = 'rknn'
# 学習済みモデルを指定します。 # default.yaml の project が voc2007 の場合、通常は以下のパスに best.pt が保存されます。 # 必要に応じて、実際の学習結果ディレクトリに合わせて変更してください。 weight = "./runs/train/voc2007_yolo11s2/weights/best.pt" # .pt または yolo11.yaml を指定できます。
print("YOLO11 モデルのエクスポートを開始します。") print(f"入力モデル: {weight}") print(f"エクスポート形式: {format}")
model = YOLO(weight) results = model.export(format=format)
print("YOLO11 モデルのエクスポートが完了しました。")执行命令如下:
python export.py
图3-7 执行 export.py 导出 PT 模型时的终端日志。
转换后的模型文件会保存在同一目录下。

图3-8 导出后生成的 ONNX 模型文件所在目录。
4. rknn-toolkit 模型转换
4.1 rknn-toolkit 模型转换环境构建
ONNX 模型需要转换为 RKNN 模型后才能在 CSUN RV1126B 开发板上运行。因此,需要提前搭建 rknn-toolkit 模型转换工具环境。TensorFlow、TensorFlow Lite、Caffe、Darknet 等模型也可以通过类似流程转换,本文以 ONNX 模型为例说明。
模型转换环境搭建步骤请参考《AI 模型转换环境构建指南》。
4.2 ONNX 模型转 RKNN 模型
.rknn 后缀模型可用于模型评估和板端运行。常见的 TensorFlow、TensorFlow Lite、Caffe、Darknet、ONNX、PyTorch 等模型均可使用 RKNN-Toolkit2 转换为 RKNN 模型。其他框架训练得到的模型也可以先转换为 ONNX,再转换为 RKNN。
详细转换步骤请参考《RKNN 模型转换教程示例》。
4.2.1 展开模型转换 Demo
模型转换 Demo 可从“资料下载”章节获取,下载后执行以下命令解压。
cd /data/project/sales/csun/rv1126b/jp/AI/demo/Tutorial/yolov11/03-model_convertunzip quant_dataset.ziptar -xJf yolov11_model_convert.tar.xz
图4-1 模型转换 Demo 解压后的文件结构。
4.2.2 进入模型转换工具 Docker 环境
使用以下命令将工作目录挂载到 Docker 镜像中。/data/project/sales/csun/rv1126b/jp/AI/demo/Tutorial 作为工作目录映射到容器内的 /test,同时通过 /dev/bus/usb:/dev/bus/usb 挂载 USB 设备。
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /data/project/sales/csun/rv1126b/jp/AI/demo/Tutorial:/test rknn-toolkit2:2.3.2-cp38 /bin/bash
图4-2 进入 RKNN-Toolkit2 Docker 环境后的终端状态。
4.2.3 生成量化图片列表
在 Docker 环境中进入模型转换工作目录。
cd /test/yolov11/03-model_convert/yolov11_model_convert执行 gen_list.py 生成量化图片列表。
python gen_list.py
图4-3 执行 gen_list.py 生成量化图片列表时的终端日志。
生成的量化图片列表会保存为 pic_path.txt。

图4-4 生成的 pic_path.txt 文件所在位置。
4.2.4 ONNX 模型转 RKNN 模型
rknn_convert.py 默认执行 int8 量化,主要脚本内容如下:
import sysfrom rknn.api import RKNN
# ONNX_MODEL = 'best.onnx'ONNX_MODEL = 'yolov11s.onnx'DATASET = './pic_path.txt'RKNN_MODEL = './yolov11s_rv1126b.rknn'# RKNN_MODEL = './dog_rope.rknn'QUANTIZE_ON = True
if __name__ == '__main__': # RKNN オブジェクトを作成します。 rknn = RKNN(verbose=False)
print('--> Config model') rknn.config(mean_values=[[0, 0, 0]], std_values=[[255, 255, 255]], target_platform='rv1126b') print('done')
print('--> Loading model') ret = rknn.load_onnx(model=ONNX_MODEL) if ret != 0: print('Load model failed!') exit(ret) print('done')
print('--> Building model') ret = rknn.build(do_quantization=QUANTIZE_ON, dataset=DATASET) if ret != 0: print('Build model failed!') exit(ret) print('done')
print('--> Export rknn model') ret = rknn.export_rknn(RKNN_MODEL) if ret != 0: print('Export rknn model failed!') exit(ret) print('done')
rknn.release()将 best.onnx 重命名为 yolov11s.onnx 并放入 yolov11_model_convert 目录,然后执行以下命令进行模型转换。
cp ../../02-training/ultralytics_yolo11/runs/train/voc2007_yolo11s2/weights/best.onnx yolov11s.onnxpython rknn_convert.py
图4-5 执行 rknn_convert.py 进行 RKNN 转换时的日志。
转换成功后,会生成可在 CSUN RV1126B 开发板上运行的 RKNN 模型。

图4-6 转换后生成的 yolov11s_rv1126b.rknn 文件。
5. YOLOv11 模型部署
5.1 模型部署示例说明
本节说明如何将 YOLOv11 模型部署到 RV1126B 开发板。本资料中的训练模型仅为流程说明用示例模型,不保证模型精度。
5.2 准备工作
5.2.1 硬件准备
准备 RV1126B 开发板、Type-C 数据线和 LAN 网线,并使用 MobaXterm 通过 SSH 登录 RV1126B 开发板。详细步骤请参考入门指南。
通过 LAN 网线连接时,拓扑结构如下:

图5-1 通过 LAN 线连接 PC、路由器和 RV1126B 开发板的拓扑结构。
通过 Type-C 串口线连接时,连接方式如下:

图5-2 通过 Type-C 串口线连接 PC 和 RV1126B 开发板的方法。
5.2.2 开发环境准备
首次阅读本文档时,请参考《入门指南》并按步骤构建编译环境。
在 PC 端 Ubuntu 系统中执行 run.sh,进入 RV1126B 编译环境。
cd ~/develop_environment./run.sh 2204
图5-3 进入 RV1126B Docker 开发环境后的启动界面。
5.3 示例程序编译
将下载的包移动到 RV1126B Docker 开发环境后,执行以下命令解压:
cd /opt/linuxshare/work/rv1126b/jp/AI/demo/Tutorial/yolov11/04-AI_deploytar -xJf yolov11_detect_C_demo.tar.xz
图5-4 解压 yolov11_detect_C_demo 后的目录结构。
进入示例程序目录并执行编译:
sudo mount -t nfs -o vers=3,proto=tcp,mountproto=tcp,nolock,retrans=5,timeo=5 192.168.11.85:/ /mntcd /opt/linuxshare/work/rv1126b/jp/AI/demo/Tutorial/yolov11/04-AI_deploy/yolov11_detect_C_demo/./build.sh
图5-5 编译 YOLOv11 C 示例程序时的终端输出。
编译成功后,将 yolov11_detect_demo_release/ 复制到 RV1126B 开发板的 /userdata 目录。
cp yolov11_detect_demo_release/ /mnt/userdata/ -rf5.4 在开发板上运行 YOLOv11 模型
通过串口调试或 SSH 进入开发板 Shell,并进入示例程序部署目录。
cd /userdata/yolov11_detect_demo_release示例程序执行命令如下:
chmod 777 yolov11_detect_demo./yolov11_detect_demo
图5-6 在 RV1126B 开发板上执行 YOLOv11 示例程序的日志。
算法执行时间约为 40 ms。

图5-7 开发板端算法执行时间日志。
执行结果可在 RV1126B 编译环境中通过以下命令获取:
cp /mnt/userdata/yolov11_detect_demo_release/result.jpg .
图5-8 将开发板端推理结果图片复制到 PC 端的命令。

图5-9 RV1126B 开发板生成的 YOLOv11 物体检测结果图像。
至此,YOLOv11 物体检测示例已在开发板上正常运行。