为 Ultralytics YOLO26 模型导出 Rockchip RKNN#
在嵌入式设备上部署计算机视觉模型时,尤其是部署在 Rockchip 处理器驱动的设备上,使用兼容的模型格式至关重要。将 Ultralytics YOLO26 模型导出为 RKNN 格式,可确保模型在 Rockchip 硬件上获得优化性能并保持兼容性。本指南将介绍如何将 YOLO26 模型转换为 RKNN 格式,包括浮点和 INT8 量化导出,从而支持在 Rockchip 平台上高效部署。
本指南已在 Radxa Rock 5B 和 Radxa Zero 3W 上测试,前者基于 Rockchip RK3588,后者基于 Rockchip RK3566。预计本指南也适用于其他支持 rknn-toolkit2 的 Rockchip 设备,例如 RK3576、RK3568、RK3562、RK2118、RV1126B、RV1103、RV1106、RV1103B 和 RV1106B。仅支持 INT8 的目标平台(如 RV1103 和 RV1106)需要 quantize=8。
什么是 Rockchip?#
Rockchip 以提供多功能、高能效的解决方案而闻名,设计了先进的片上系统(SoCs),为各种消费电子产品、工业应用和 AI 技术提供动力。凭借基于 ARM 的架构、内置神经处理单元(NPUs)和高分辨率多媒体支持,Rockchip SoC 为平板电脑、智能电视、物联网系统和边缘 AI 应用等设备提供尖端性能。Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas 和 Banana Pi 等公司提供了多种基于 Rockchip SoC 的产品,进一步拓展了 Rockchip 在各类市场中的覆盖范围和影响力。
RKNN Toolkit#
RKNN Toolkit 是 Rockchip 提供的一套工具和库,用于简化深度学习模型在其硬件平台上的部署。RKNN,即 Rockchip Neural Network,是这些工具使用的专有格式。RKNN 模型旨在充分利用 Rockchip NPU(神经处理单元)提供的硬件加速,确保在 RK3588、RK3566、RV1103、RV1106 等设备以及其他由 Rockchip 驱动的系统上执行 AI 任务时获得高性能。
RKNN 模型的主要特性#
RKNN 模型在 Rockchip 平台上部署时具备多项优势:
- 针对 NPU 优化:RKNN 模型经过专门优化,可在 Rockchip NPU 上运行,从而确保性能和效率达到最大化。
- 低延迟:RKNN 格式可最大限度地降低推理延迟,这对于边缘设备上的实时应用至关重要。
- 平台专属定制:RKNN 模型可针对特定的 Rockchip 平台进行定制,从而更充分地利用硬件资源。
- 能效高:借助专用 NPU 硬件,RKNN 模型的功耗低于基于 CPU 或 GPU 的处理方式,从而延长便携式设备的电池续航时间。
将操作系统刷入 Rockchip 硬件#
拿到基于 Rockchip 的设备后,第一步是刷入操作系统,让硬件能够启动并进入可用环境。本指南将介绍我们测试过的两款设备 Radxa Rock 5B 和 Radxa Zero 3W 的入门指南。
支持的任务#
RKNN 导出支持 Ultralytics 的全部七项任务。语义分割和深度估计仅适用于 YOLO26;YOLO26 是唯一提供这两种检测头的系列。
导出为 RKNN:转换 YOLO26 模型#
将 Ultralytics YOLO26 模型导出为 RKNN 格式,并使用导出的模型运行推理。
请务必使用基于 X86 的 Linux PC 将模型导出为 RKNN,因为不支持在基于 Rockchip 的设备(ARM64)上进行导出。
安装#
运行以下命令安装所需的软件包:
# Install the required package for YOLO26
pip install ultralytics有关安装流程的详细说明和最佳实践,请查看我们的 Ultralytics 安装指南。安装 YOLO26 所需的软件包时,如果遇到困难,请查阅我们的常见问题指南,获取解决方案和建议。
用法#
所有任务均支持 FP16 导出。目前,INT8 导出仅支持检测模型,未来将支持更多任务;因此,RV1103 和 RV1106 等仅支持 INT8 的目标平台只能导出检测模型。
RKNN 格式支持 Export、Predict 和 Validate 模式。推理和验证在 Rockchip NPU 硬件上运行。导出模型后,加载导出的模型即可运行推理或验证其准确率。默认情况下,对于支持 FP16 的 Rockchip 目标平台,RKNN 导出会使用浮点构建路径(quantize=16)。使用 quantize=8,结合校准数据构建 INT8 量化 RKNN 模型。RKNN 导出不提供独立的 FP32 模式;默认的 FP16 不会请求 FP32。
from ultralytics import YOLO
# 加载 YOLO26 模型(替换为任何受支持的任务模型)
model = YOLO("yolo26n-obb.pt")
# 将模型导出为 RKNN 格式
model.export(format="rknn", name="rk3588") # creates 'yolo26n-obb_rknn_model'
# 结合校准数据导出 INT8 量化 RKNN 模型(仅限检测模型)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'from ultralytics import YOLO
# 加载导出的 RKNN 模型
model = YOLO("./yolo26n-obb_rknn_model")
# 运行推理
results = model("https://ultralytics.com/images/boats.jpg")from ultralytics import YOLO
# 加载导出的 RKNN 模型
model = YOLO("./yolo26n-obb_rknn_model")
# 在 DOTA8 数据集上验证准确率
metrics = model.val(data="dota8.yaml")导出参数#
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
format | str | 'rknn' | 导出模型的目标格式,用于指定与 Rockchip 部署环境的兼容性。 |
imgsz | int 或 tuple | 640 | 模型输入所需的图像尺寸。正方形图像可使用整数;若要指定具体尺寸,则可使用元组 (height, width)。 |
batch | int | 1 | 指定导出模型的批量推理大小,或导出模型在 predict 模式下可同时处理的最大图像数。 |
name | str | 'rk3588' | 指定 Rockchip 目标平台。rk3588、rk3576、rk3566、rk3568、rk3562、rk2118 和 rv1126b 支持 FP16(quantize=16 或未设置)和 INT8(quantize=8);rv1103、rv1106、rv1103b 和 rv1106b 仅支持 INT8(quantize=8 或未设置)。 |
quantize | int 或 str | None | 量化精度:未设置或使用 16 时,会为支持 FP16 的目标平台构建 FP16 模型;仅支持 INT8 的目标平台会在未设置时自动启用 INT8;使用 8 会构建 INT8 模型,但该选项仅支持检测模型。RKNN 导出没有独立的 FP32 模式。此选项取代了已弃用的 half/int8 标志。 |
simplify | bool | True | 使用 onnxslim 简化中间 ONNX 图。 |
opset | int | None | 指定中间 ONNX 图的 ONNX opset 版本。未设置时默认为 19,高于 19 的值会降至 19。 |
data | str | None | 用于 INT8 校准的数据集 YAML。若使用 quantize=8 时未指定,Ultralytics 会选择默认的检测校准数据集(coco8.yaml)。 |
fraction | float、int 或 list | 1.0 | 校准子集,可按比例、图像数量或 [train, val, test] 比例/数量指定。包含两个项目的列表会让 test 保持完整,而 0 会跳过它。 |
device | str | None | 指定导出设备:GPU(device=0)、CPU(device=cpu)。 |
请确保使用 x86 Linux 计算机导出为 RKNN。
有关导出流程的更多详情,请访问 Ultralytics 导出文档页面。
部署导出的 YOLO26 RKNN 模型#
成功将 Ultralytics YOLO26 模型导出为 RKNN 格式后,下一步就是在基于 Rockchip 的设备上部署这些模型。
安装#
运行以下命令安装所需的软件包:
# Install the required package for YOLO26
pip install ultralytics安装完成后,按照上文使用部分所示,在 Rockchip 设备上运行推理和验证即可——导出的 _rknn_model 可直接通过 YOLO(...) 加载。
如果日志提示 RKNN Runtime 版本与 RKNN Toolkit 版本不匹配,并且推理失败,请将 /usr/lib/librknnrt.so 替换为官方的 librknnrt.so 文件。

实际应用#
搭载 YOLO26 RKNN 模型的 Rockchip 设备可用于多种应用:
- 智能监控:部署高效的目标检测系统,以低功耗进行安全监控。
- 工业自动化:直接在嵌入式设备上实现质量控制和缺陷检测。
- 零售分析:实时跟踪客户行为并管理库存,无需依赖云端。
- 智慧农业:利用农业计算机视觉监测作物健康状况并检测害虫。
- 自主机器人:在资源受限的平台上实现基于视觉的导航和障碍物检测。
基准测试#
以下 YOLO26 基准测试由 Ultralytics 团队在基于 Rockchip RK3588 的 Radxa Rock 5B 上运行,采用 rknn 模型格式测量速度和准确率。
| 模型 | 格式 | 精确率 | 状态 | 大小 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | rknn | FP16 | ✅ | 7.2 | 0.477 | 58.5 |
| YOLO26n | rknn | INT8 | ✅ | 4.1 | 0.463 | 41.2 |
| YOLO26s | rknn | FP16 | ✅ | 21.0 | 0.569 | 93.8 |
| YOLO26s | rknn | INT8 | ✅ | 12.0 | 0.554 | 61.9 |
| YOLO26m | rknn | FP16 | ✅ | 43.0 | 0.608 | 226.3 |
| YOLO26m | rknn | INT8 | ✅ | 22.0 | 0.603 | 122.0 |
| YOLO26l | rknn | FP16 | ✅ | 53.0 | 0.628 | 264.7 |
| YOLO26l | rknn | INT8 | ✅ | 28.0 | 0.617 | 145.3 |
| YOLO26x | rknn | FP16 | ✅ | 113.0 | 0.664 | 655.4 |
| YOLO26x | rknn | INT8 | ✅ | 58.0 | 0.649 | 287.4 |
使用 ultralytics 8.4.60 进行基准测试
上述基准测试使用 COCO128 数据集进行验证。推理时间不包括预处理和后处理。
总结#
本指南介绍了如何将 Ultralytics YOLO26 模型导出为 RKNN 格式,以便在 Rockchip 平台上更好地部署模型。你还了解了 RKNN Toolkit,以及在边缘 AI 应用中使用 RKNN 模型的具体优势。
Ultralytics YOLO26 与 Rockchip NPU 技术相结合,可为在嵌入式设备上运行高级计算机视觉任务提供高效解决方案。这种方法能够以极低功耗和高性能实现实时目标检测及其他视觉 AI 应用。
如需了解更多使用详情,请参阅 RKNN 官方文档。
此外,如果你想进一步了解其他 Ultralytics YOLO26 集成方案,请访问我们的集成指南页面。页面上有许多实用资源和见解。
常见问题#
你可以使用 Ultralytics Python 包中的
export()方法,或通过命令行界面(CLI),轻松将 Ultralytics YOLO 模型导出为 RKNN 格式。请确保使用基于 x86 的 Linux PC 执行导出,因为不支持在 Rockchip 等 ARM64 设备上进行此操作。你可以使用name参数指定目标 Rockchip 平台,例如rk3588、rk3566等。此过程会生成经过优化的 RKNN 模型,可部署到 Rockchip 设备上,并利用其神经处理单元(NPU)加速推理。示例from ultralytics import YOLO # 加载你的 YOLO 模型 model = YOLO("yolo26n.pt") # 为特定的 Rockchip 平台导出为 RKNN 格式 model.export(format="rknn", name="rk3588")RKNN 模型专为充分利用 Rockchip 神经处理单元(NPUs)的硬件加速能力而设计。与在同一硬件上运行 ONNX 或 LiteRT 等通用模型格式相比,这种优化可显著提高推理速度并降低延迟。使用 RKNN 模型可以更高效地利用设备资源,从而降低功耗并提升整体性能;这对边缘设备上的实时应用尤为重要。将 Ultralytics YOLO 模型转换为 RKNN 后,你可以在搭载 Rockchip SoC(例如 RK3588、RK3566 等)的设备上实现最佳性能。
RKNN 模型针对 Rockchip 平台及其集成 NPU 进行了专门优化。虽然理论上可以通过软件仿真在其他平台上运行 RKNN 模型,但你无法获得 Rockchip 设备提供的硬件加速。若要在其他平台上实现最佳性能,建议将 Ultralytics YOLO 模型导出为专为相应平台设计的格式,例如适用于 NVIDIA GPU 的 TensorRT,或适用于 Google Coral 设备的 Edge TPU。Ultralytics 支持导出为多种格式,确保兼容各类硬件加速器。
Ultralytics YOLO 导出为 RKNN 格式时,支持使用浮点 RKNN 构建的 Rockchip 平台,包括 RK3588、RK3576、RK3566、RK3568、RK3562、RK2118 和 RV1126B。它还支持通过
quantize=8导出 INT8 量化 RKNN,这对 RV1103、RV1106、RV1103B 和 RV1106B 等仅支持 INT8 的目标平台是必需的。这些平台常用于 Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas 和 Banana Pi 等制造商的设备,因此你可以将优化后的 RKNN 模型部署到各种由 Rockchip 驱动的设备上,涵盖从单板计算机到工业系统的多种类型。