Link to this section用于 Ultralytics YOLO26 模型的 Rockchip RKNN 导出#
在嵌入式设备(尤其是搭载 Rockchip 处理器的设备)上部署计算机视觉模型时,拥有兼容的模型格式至关重要。将 Ultralytics YOLO26 模型导出为 RKNN 格式,可确保在 Rockchip 硬件上实现最佳性能和兼容性。本指南将引导你完成将 YOLO26 模型转换为 RKNN 格式的过程,包括浮点和 INT8 量化导出,从而在 Rockchip 平台上实现高效部署。
本指南已在基于 Rockchip RK3588 的 Radxa Rock 5B 和基于 Rockchip RK3566 的 Radxa Zero 3W 上进行过测试。预计它也适用于其他支持 rknn-toolkit2 的 Rockchip 设备,例如 RK3576、RK3568、RK3562、RK2118、RV1126B、RV1103、RV1106、RV1103B 和 RV1106B。仅支持 INT8 的目标(如 RV1103 和 RV1106)需要使用 quantize=8。
Link to this section什么是 Rockchip?#
Rockchip 以提供多功能且节能的解决方案而闻名,其设计的高级片上系统 (SoC) 为广泛的消费电子产品、工业应用和 AI 技术提供动力。凭借基于 ARM 的架构、内置神经网络处理单元 (NPU) 以及高分辨率多媒体支持,Rockchip SoC 为平板电脑、智能电视、物联网系统和 边缘 AI 应用 等设备提供了前沿性能。Radxa、ASUS、Pine64、Orange Pi、Odroid、Khadas 和 Banana Pi 等公司提供了各种基于 Rockchip SoC 的产品,进一步扩大了其在不同市场的影响力和覆盖范围。
Link to this sectionRKNN Toolkit#
RKNN Toolkit 是 Rockchip 提供的一套工具和库,旨在促进深度学习模型在其硬件平台上的部署。RKNN(Rockchip Neural Network)是这些工具使用的专有格式。RKNN 模型旨在充分利用 Rockchip 的 NPU(神经网络处理单元)提供的硬件加速,确保在 RK3588、RK3566、RV1103、RV1106 及其他 Rockchip 驱动的系统等设备上实现卓越的 AI 任务性能。
Link to this sectionRKNN 模型的主要功能#
RKNN 模型在 Rockchip 平台上部署具有以下优势:
- 针对 NPU 优化:RKNN 模型经过专门优化,可在 Rockchip 的 NPU 上运行,确保最佳的性能和效率。
- 低延迟:RKNN 格式可最大限度地减少推理延迟,这对边缘设备的实时应用至关重要。
- 平台特定自定义:RKNN 模型可以针对特定 Rockchip 平台进行调整,从而实现硬件资源的更好利用。
- 电源效率:通过利用专用的 NPU 硬件,RKNN 模型比基于 CPU 或 GPU 的处理消耗更少的电量,从而延长了便携式设备的电池寿命。
Link to this section将操作系统烧录到 Rockchip 硬件#
拿到 Rockchip 设备后的第一步是烧录操作系统,以便硬件能够启动进入工作环境。在本指南中,我们将指出我们测试的两款设备(Radxa Rock 5B 和 Radxa Zero 3W)的入门指南。
Link to this section导出至 RKNN:转换你的 YOLO26 模型#
将 Ultralytics YOLO26 模型导出为 RKNN 格式,并使用导出的模型进行推理。
请务必使用基于 x86 的 Linux PC 来将模型导出为 RKNN,因为不支持在基于 Rockchip 的设备 (ARM64) 上进行导出。
Link to this section安装#
要安装所需的软件包,请运行:
# Install the required package for YOLO26
pip install ultralytics有关安装过程的详细说明和最佳实践,请查阅我们的 Ultralytics 安装指南。在为 YOLO26 安装所需软件包时,如果遇到任何困难,请参考我们的 常见问题指南 获取解决方案和提示。
Link to this section用法#
目前导出仅支持检测模型。未来将支持更多模型。
RKNN 格式支持 Export、Predict 和 Validate 模式。推理和验证过程在 Rockchip NPU 硬件上运行。请导出你的模型,然后加载导出的模型以运行推理或验证其准确性。默认情况下,RKNN 导出对支持 FP16 的 Rockchip 目标使用浮点构建路径(quantize=16)。使用 quantize=8 可以构建带有校准数据的 INT8 量化 RKNN 模型。RKNN 导出不提供单独的 FP32 模式;默认的 FP16 不会请求 FP32。
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to RKNN format
model.export(format="rknn", name="rk3588") # creates '/yolo26n_rknn_model'
# Export an INT8-quantized RKNN model with calibration data
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml")from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n_rknn_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n_rknn_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this section导出参数#
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
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 标志。 |
data | str | None | 用于 INT8 校准的 Dataset YAML。如果在 quantize=8 时省略,Ultralytics 将为模型任务选择默认校准数据集。 |
fraction | float | 1.0 | 用于 INT8 量化的校准图像比例。 |
device | str | None | 指定导出设备:GPU (device=0)、CPU (device=cpu)。 |
在导出到 RKNN 时,请确保使用 x86 Linux 机器。
有关导出过程的更多详细信息,请访问 Ultralytics 导出文档页面。
Link to this section部署导出的 YOLO26 RKNN 模型#
一旦你成功地将 Ultralytics YOLO26 模型导出为 RKNN 格式,下一步就是在 Rockchip 设备上部署这些模型。
Link to this section安装#
要安装所需的软件包,请运行:
# Install the required package for YOLO26
pip install ultralytics安装完成后,完全按照上述 用法 部分所示在你的 Rockchip 设备上运行推理和验证 —— 导出的 _rknn_model 可直接通过 YOLO(...) 加载。
如果你遇到日志消息显示 RKNN 运行时版本与 RKNN Toolkit 版本不匹配且推理失败,请将 /usr/lib/librknnrt.so 替换为官方 librknnrt.so 文件。

Link to this section实际应用场景#
搭载 YOLO26 RKNN 模型的 Rockchip 设备可用于各种应用:
- 智能监控:部署高效的目标检测系统,用于低功耗的安全监控。
- 工业自动化:直接在嵌入式设备上实施质量控制和缺陷检测。
- 零售分析:实时跟踪客户行为和库存管理,无需依赖云端。
- 智慧农业:使用 农业计算机视觉 监测作物健康状况并检测害虫。
- 自主机器人:在资源受限的平台上实现基于视觉的导航和障碍物检测。
Link to this section基准测试#
下方的 YOLO26 基准测试由 Ultralytics 团队在基于 Rockchip RK3588 的 Radxa Rock 5B 上,使用 rknn 模型格式测量速度和准确性得出。
| 模型 | 格式 | 状态 | 大小 (MB) | mAP50-95(B) | 推理时间 (ms/im) |
|---|---|---|---|---|---|
| YOLO26n | rknn | ✅ | 7.1 | 0.479 | 65.7 |
| YOLO26s | rknn | ✅ | 20.9 | 0.571 | 99.2 |
| YOLO26m | rknn | ✅ | 42.5 | 0.610 | 235.3 |
| YOLO26l | rknn | ✅ | 52.1 | 0.630 | 280.5 |
| YOLO26x | rknn | ✅ | 112.2 | 0.666 | 669.1 |
基准测试使用 ultralytics 8.4.23
上述基准测试的验证是使用 COCO128 数据集完成的。推理时间不包含预处理/后处理。
Link to this section总结#
在本指南中,你学习了如何将 Ultralytics YOLO26 模型导出为 RKNN 格式,以增强其在 Rockchip 平台上的部署效果。你还了解了 RKNN Toolkit 以及在边缘 AI 应用中使用 RKNN 模型的具体优势。
Ultralytics YOLO26 与 Rockchip 的 NPU 技术相结合,为在嵌入式设备上运行高级计算机视觉任务提供了高效的解决方案。这种方法能够以最小的功耗和高性能实现实时 目标检测 及其他视觉 AI 应用。
有关用法的更多详细信息,请访问 RKNN 官方文档。
此外,如果你想了解更多关于其他 Ultralytics YOLO26 集成的信息,请访问我们的 集成指南页面。你将在那里找到大量有用的资源和见解。
Link to this section常见问题解答#
Link to this section如何将我的 Ultralytics YOLO 模型导出为 RKNN 格式?#
你可以使用 Ultralytics Python 包中的 export() 方法或通过命令行界面 (CLI) 轻松地将你的 Ultralytics YOLO 模型导出为 RKNN 格式。请确保使用基于 x86 的 Linux PC 进行导出过程,因为不支持在 Rockchip 等 ARM64 设备上进行此操作。你可以使用 name 参数(例如 rk3588、rk3566 等)指定目标 Rockchip 平台。此过程会生成一个优化后的 RKNN 模型,准备好在你的 Rockchip 设备上部署,并利用其神经网络处理单元 (NPU) 进行加速推理。
from ultralytics import YOLO
# Load your YOLO model
model = YOLO("yolo26n.pt")
# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")Link to this section在 Rockchip 设备上使用 RKNN 模型有什么好处?#
RKNN 模型专为利用 Rockchip 神经网络处理单元 (NPU) 的硬件加速能力而设计。与在同一硬件上运行 ONNX 或 TensorFlow Lite 等通用模型格式相比,这种优化显著加快了推理速度并降低了延迟。使用 RKNN 模型可以更高效地利用设备资源,从而降低功耗并提高整体性能,这对边缘设备的实时应用尤为关键。通过将你的 Ultralytics YOLO 模型转换为 RKNN,你可以在搭载 Rockchip SoC(如 RK3588、RK3566 等)的设备上实现最佳性能。
Link to this section我可以将 RKNN 模型部署在来自 NVIDIA 或 Google 等其他制造商的设备上吗?#
RKNN 模型专为 Rockchip 平台及其集成 NPU 进行优化。虽然从技术上讲,你可以通过软件仿真在其他平台上运行 RKNN 模型,但你将无法获得 Rockchip 设备提供的硬件加速优势。为了在其他平台上获得最佳性能,建议将你的 Ultralytics YOLO 模型导出为专门针对这些平台设计的格式,例如用于 NVIDIA GPU 的 TensorRT,或用于 Google Edge TPU 的 TensorFlow Lite。Ultralytics 支持导出为多种格式,以确保与各种硬件加速器的兼容性。
Link to this sectionRKNN 模型部署支持哪些 Rockchip 平台?#
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 驱动的设备上。
Link to this sectionRKNN 模型在 Rockchip 设备上的性能与其他格式相比如何?#
由于针对 Rockchip 的 NPU 进行了优化,RKNN 模型在 Rockchip 设备上通常优于 ONNX 或 TensorFlow Lite 等其他格式。例如,在 Radxa Rock 5B (RK3588) 上的基准测试显示,RKNN 格式的 YOLO26n 推理时间达到 65.7 毫秒/图像,显著快于其他格式。这种性能优势在各种 YOLO26 模型尺寸中是一致的,正如 基准测试部分 中所示。通过利用专用的 NPU 硬件,RKNN 模型最大限度地减少了延迟并最大限度地提高了吞吐量,使其成为 Rockchip 边缘设备上实时应用的理想选择。