Xuất Rockchip RKNN cho các model Ultralytics YOLO26#
Khi triển khai các mô hình thị giác máy tính trên các thiết bị nhúng, đặc biệt là các thiết bị sử dụng bộ xử lý Rockchip, việc sở hữu một định dạng mô hình tương thích là điều cốt lõi. Xuất các mô hình Ultralytics YOLO26 sang định dạng RKNN giúp đảm bảo hiệu suất được tối ưu hóa và tính tương thích với phần cứng của Rockchip. Hướng dẫn này sẽ dẫn dắt bạn qua quá trình chuyển đổi các mô hình YOLO26 sang định dạng RKNN, bao gồm cả quá trình xuất số thực dấu phẩy động và lượng tử hóa INT8, giúp việc triển khai trên các nền tảng Rockchip trở nên hiệu quả.
Hướng dẫn này đã được thử nghiệm với Radxa Rock 5B dựa trên Rockchip RK3588 và Radxa Zero 3W dựa trên Rockchip RK3566. Hướng dẫn này dự kiến sẽ hoạt động trên các thiết bị dựa trên Rockchip khác hỗ trợ rknn-toolkit2 như RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B và RV1106B. Các mục tiêu chỉ hỗ trợ INT8 như RV1103 và RV1106 yêu cầu quantize=8.
Rockchip là gì?#
Nổi tiếng với việc cung cấp các giải pháp đa năng và tiết kiệm năng lượng, Rockchip thiết kế các Hệ thống trên Vi mạch (SoC) tiên tiến cung cấp năng lượng cho nhiều loại thiết bị điện tử tiêu dùng, ứng dụng công nghiệp và các công nghệ AI. Với kiến trúc dựa trên ARM, các Bộ xử lý thần kinh (NPU) tích hợp và khả năng hỗ trợ đa phương tiện độ phân giải cao, các SoC của Rockchip mang lại hiệu suất tiên tiến cho các thiết bị như máy tính bảng, TV thông minh, hệ thống IoT và ứng dụng edge AI. Các công ty như Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas và Banana Pi cung cấp nhiều sản phẩm dựa trên SoC của Rockchip, qua đó mở rộng tầm ảnh hưởng và tác động của chúng trên các thị trường đa dạng.
Bộ công cụ RKNN#
RKNN Toolkit là bộ công cụ và thư viện do Rockchip cung cấp nhằm tạo điều kiện thuận lợi cho việc triển khai các mô hình học sâu trên các nền tảng phần cứng của họ. RKNN, viết tắt của Rockchip Neural Network, là định dạng độc quyền được sử dụng bởi các công cụ này. Các mô hình RKNN được thiết kế để tận dụng tối đa khả năng tăng tốc phần cứng được cung cấp bởi NPU (Neural Processing Unit) của Rockchip, đảm bảo hiệu suất cao trong các tác vụ AI trên các thiết bị như RK3588, RK3566, RV1103, RV1106 và các hệ thống chạy bằng Rockchip khác.
Các tính năng chính của model RKNN#
Các model RKNN mang lại một số lợi ích cho việc triển khai trên nền tảng Rockchip:
- Tối ưu hóa cho NPU: Các model RKNN được tối ưu hóa đặc biệt để chạy trên NPU của Rockchip, đảm bảo hiệu suất và hiệu quả tối đa.
- Độ trễ thấp: Định dạng RKNN giảm thiểu độ trễ suy luận, điều này rất quan trọng đối với các ứng dụng thời gian thực trên thiết bị biên.
- Tùy chỉnh theo nền tảng: Các model RKNN có thể được điều chỉnh cho các nền tảng Rockchip cụ thể, cho phép sử dụng tài nguyên phần cứng tốt hơn.
- Hiệu quả năng lượng: Bằng cách tận dụng phần cứng NPU chuyên dụng, các model RKNN tiêu thụ ít năng lượng hơn so với xử lý dựa trên CPU hoặc GPU, giúp kéo dài thời lượng pin cho các thiết bị di động.
Flash OS vào phần cứng Rockchip#
Bước đầu tiên sau khi sở hữu thiết bị dựa trên Rockchip là flash một OS để phần cứng có thể khởi động vào môi trường làm việc. Trong hướng dẫn này, chúng tôi sẽ dẫn đến các hướng dẫn bắt đầu của hai thiết bị mà chúng tôi đã thử nghiệm là Radxa Rock 5B và Radxa Zero 3W.
Các tác vụ được hỗ trợ#
Việc xuất RKNN hỗ trợ tất cả bảy tác vụ Ultralytics. Phân đoạn ngữ nghĩa và ước tính độ sâu chỉ khả dụng với YOLO26, dòng duy nhất tích hợp các phần đầu (head) này.
Xuất sang RKNN: Chuyển đổi model YOLO26 của bạn#
Xuất model Ultralytics YOLO26 sang định dạng RKNN và chạy suy luận với model đã xuất.
Hãy chắc chắn sử dụng máy tính Linux dựa trên X86 để xuất model sang RKNN vì việc xuất trên các thiết bị dựa trên Rockchip (ARM64) không được hỗ trợ.
Cài đặt#
Để cài đặt các gói cần thiết, hãy chạy:
# Install the required package for YOLO26
pip install ultralyticsĐể biết hướng dẫn chi tiết và các thực tiễn tốt nhất liên quan đến quá trình cài đặt, hãy xem Hướng dẫn Cài đặt Ultralytics của chúng tôi. Trong quá trình cài đặt các gói cần thiết cho YOLO26, nếu bạn gặp bất kỳ khó khăn nào, hãy tham khảo Hướng dẫn các Vấn đề Thường gặp của chúng tôi để tìm giải pháp và mẹo.
Cách sử dụng#
Định dạng RKNN hỗ trợ các chế độ Export, Predict và Validate. Quá trình suy luận và xác thực chạy trên phần cứng Rockchip NPU. Hãy xuất mô hình của bạn, sau đó tải mô hình đã xuất để chạy suy luận hoặc xác thực độ chính xác của nó. Theo mặc định, quá trình xuất RKNN sử dụng đường dẫn xây dựng dấu phẩy động (quantize=16) cho các mục tiêu Rockchip hỗ trợ FP16. Sử dụng quantize=8 để xây dựng mô hình RKNN được lượng tử hóa INT8 với dữ liệu hiệu chuẩn. Quá trình xuất RKNN không cung cấp chế độ FP32 riêng biệt; mặc định FP16 không yêu cầu FP32.
from ultralytics import YOLO
# Load a YOLO26 model (replace with any supported task model)
model = YOLO("yolo26n-obb.pt")
# Export the model to RKNN format
model.export(format="rknn", name="rk3588") # creates '/yolo26n-obb_rknn_model'
# Export an INT8-quantized RKNN model with calibration data
model.export(format="rknn", name="rk3588", quantize=8, data="dota8.yaml")from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")
# Run inference
results = model("https://ultralytics.com/images/boats.jpg")from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")
# Validate accuracy on the DOTA8 dataset
metrics = model.val(data="dota8.yaml")Đối số xuất#
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'rknn' | Định dạng mục tiêu cho model đã xuất, xác định khả năng tương thích với các môi trường triển khai Rockchip. |
imgsz | int hoặc tuple | 640 | Kích thước ảnh mong muốn cho đầu vào của mô hình. Có thể là một số nguyên cho ảnh vuông hoặc một tuple (height, width) cho các kích thước cụ thể. |
batch | int | 1 | Chỉ định kích thước suy luận hàng loạt của mô hình xuất hoặc số lượng ảnh tối đa mà mô hình xuất sẽ xử lý đồng thời ở chế độ predict. |
name | str | 'rk3588' | Chỉ định mục tiêu Rockchip. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 và rv1126b hỗ trợ FP16 (quantize=16 hoặc không đặt) và INT8 (quantize=8); rv1103, rv1106, rv1103b và rv1106b chỉ hỗ trợ INT8 (quantize=8 hoặc không đặt). |
quantize | int hoặc str | None | Độ chính xác lượng tử hóa: không đặt hoặc 16 xây dựng FP16 cho các mục tiêu hỗ trợ FP16; không đặt sẽ tự động bật INT8 cho các mục tiêu chỉ hỗ trợ INT8; 8 xây dựng INT8. Quá trình xuất RKNN không có chế độ FP32 riêng biệt. Thay thế các cờ half/int8 đã lỗi thời. |
simplify | bool | True | Đơn giản hóa đồ thị ONNX trung gian với onnxslim. |
opset | int | None | Chỉ định phiên bản ONNX opset cho đồ thị ONNX trung gian. Mặc định là 19 nếu không được thiết lập, và các giá trị lớn hơn 19 sẽ được giảm xuống thành 19. |
data | str | None | Tệp YAML của tập dữ liệu được sử dụng để hiệu chỉnh INT8; riêng phân loại (classification) sẽ lấy thư mục tập dữ liệu hoặc tên tập dữ liệu có sẵn. Nếu bỏ qua với quantize=8, Ultralytics sẽ chọn tập dữ liệu hiệu chỉnh mặc định cho tác vụ của model. |
fraction | float | 1.0 | Tỷ lệ hình ảnh hiệu chuẩn được sử dụng cho lượng tử hóa INT8. |
device | str | None | Chỉ định thiết bị để xuất: GPU (device=0), CPU (device=cpu). |
Vui lòng đảm bảo sử dụng máy Linux x86 khi xuất sang RKNN.
Để biết thêm chi tiết về quá trình xuất, hãy truy cập trang tài liệu của Ultralytics về việc xuất model.
Triển khai các model YOLO26 RKNN đã xuất#
Sau khi đã xuất thành công các model Ultralytics YOLO26 sang định dạng RKNN, bước tiếp theo là triển khai các model này trên các thiết bị dựa trên Rockchip.
Cài đặt#
Để cài đặt các gói cần thiết, hãy chạy:
# Install the required package for YOLO26
pip install ultralyticsSau khi cài đặt, hãy chạy suy luận và xác thực trên thiết bị Rockchip của bạn đúng như được hiển thị trong phần Sử dụng ở trên — _rknn_model đã xuất sẽ tải trực tiếp bằng YOLO(...).
Nếu bạn gặp thông báo nhật ký cho biết phiên bản thời gian chạy RKNN không khớp với phiên bản RKNN Toolkit và quá trình suy luận thất bại, vui lòng thay thế /usr/lib/librknnrt.so bằng tệp librknnrt.so chính thức.

Ứng dụng trong thực tế#
Các thiết bị sử dụng Rockchip với model YOLO26 RKNN có thể được sử dụng trong nhiều ứng dụng khác nhau:
- Giám sát thông minh: Triển khai các hệ thống phát hiện đối tượng hiệu quả để giám sát an ninh với mức tiêu thụ điện năng thấp.
- Tự động hóa công nghiệp: Thực hiện kiểm soát chất lượng và phát hiện lỗi trực tiếp trên các thiết bị nhúng.
- Phân tích bán lẻ: Theo dõi hành vi khách hàng và quản lý hàng tồn kho trong thời gian thực mà không cần phụ thuộc vào đám mây.
- Nông nghiệp Thông minh: Theo dõi sức khỏe cây trồng và phát hiện sâu bệnh bằng cách sử dụng thị giác máy tính trong nông nghiệp.
- Robot tự hành: Kích hoạt điều hướng dựa trên thị giác và phát hiện chướng ngại vật trên các nền tảng hạn chế tài nguyên.
Điểm chuẩn (Benchmarks)#
Các điểm chuẩn YOLO26 dưới đây được chạy bởi nhóm Ultralytics trên Radxa Rock 5B dựa trên Rockchip RK3588 với định dạng mô hình rknn đo lường tốc độ và độ chính xác.
| Mô hình | Định dạng | Trạng thái | Kích thước (MB) | mAP50-95(B) | Thời gian suy luận (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 |
Được đánh giá điểm chuẩn với ultralytics 8.4.23
Kiểm chứng cho các benchmark trên được thực hiện bằng cách sử dụng dataset COCO128. Thời gian suy luận không bao gồm tiền xử lý/hậu xử lý.
Tóm tắt#
Trong hướng dẫn này, bạn đã học cách xuất các model Ultralytics YOLO26 sang định dạng RKNN để tăng cường triển khai chúng trên các nền tảng Rockchip. Bạn cũng đã được giới thiệu về RKNN Toolkit và những lợi ích cụ thể của việc sử dụng các model RKNN cho các ứng dụng AI biên.
Sự kết hợp giữa Ultralytics YOLO26 và công nghệ NPU của Rockchip cung cấp một giải pháp hiệu quả để chạy các tác vụ thị giác máy tính nâng cao trên các thiết bị nhúng. Phương pháp này cho phép phát hiện đối tượng thời gian thực và các ứng dụng AI thị giác khác với mức tiêu thụ điện năng tối thiểu và hiệu suất cao.
Để biết thêm chi tiết về cách sử dụng, hãy truy cập tài liệu chính thức của RKNN.
Ngoài ra, nếu bạn muốn biết thêm về các tích hợp khác của Ultralytics YOLO26, hãy truy cập integration guide page của chúng tôi. Bạn sẽ tìm thấy rất nhiều tài nguyên và thông tin hữu ích ở đó.
Câu hỏi thường gặp#
Bạn có thể dễ dàng xuất mô hình Ultralytics YOLO của mình sang định dạng RKNN bằng phương pháp
export()trong gói Python của Ultralytics hoặc thông qua giao diện dòng lệnh (CLI). Hãy đảm bảo bạn đang sử dụng PC Linux chạy kiến trúc x86 cho quá trình xuất, vì các thiết bị ARM64 như Rockchip không được hỗ trợ cho hoạt động này. Bạn có thể chỉ định nền tảng Rockchip mục tiêu bằng đối sốname, chẳng hạn nhưrk3588,rk3566hoặc các nền tảng khác. Quá trình này tạo ra một mô hình RKNN được tối ưu hóa sẵn sàng để triển khai trên thiết bị Rockchip của bạn, tận dụng Bộ xử lý thần kinh (NPU) của nó để tăng tốc độ suy luận.Ví dụ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")Các model RKNN được thiết kế đặc biệt để tận dụng khả năng tăng tốc phần cứng của các NPU (Neural Processing Units) từ Rockchip. Quá trình tối ưu hóa này mang lại tốc độ inference nhanh hơn đáng kể và giảm độ trễ so với việc chạy các định dạng model thông thường như ONNX hoặc LiteRT trên cùng phần cứng. Việc sử dụng các model RKNN cho phép sử dụng tài nguyên của thiết bị hiệu quả hơn, dẫn đến mức tiêu thụ năng lượng thấp hơn và hiệu năng tổng thể tốt hơn, đặc biệt quan trọng đối với các ứng dụng thời gian thực trên thiết bị edge. Bằng cách chuyển đổi các model Ultralytics YOLO của bạn sang định dạng RKNN, bạn có thể đạt được hiệu năng tối ưu trên các thiết bị chạy Rockchip SoC như RK3588, RK3566 và các dòng khác.
Các mô hình RKNN được tối ưu hóa đặc biệt cho các nền tảng Rockchip và các NPU tích hợp của chúng. Mặc dù bạn có thể chạy một mô hình RKNN trên các nền tảng khác bằng cách sử dụng trình giả lập phần mềm, bạn sẽ không nhận được lợi ích từ việc tăng tốc phần cứng được cung cấp bởi các thiết bị Rockchip. Để có hiệu suất tối ưu trên các nền tảng khác, bạn nên xuất các mô hình Ultralytics YOLO của mình sang các định dạng được thiết kế riêng cho các nền tảng đó, chẳng hạn như TensorRT cho GPU NVIDIA hoặc Edge TPU cho các thiết bị Coral của Google. Ultralytics hỗ trợ xuất sang nhiều định dạng, đảm bảo khả năng tương thích với các bộ tăng tốc phần cứng khác nhau.
Quá trình xuất Ultralytics YOLO sang định dạng RKNN hỗ trợ các nền tảng Rockchip với các bản dựng RKNN dấu phẩy động, bao gồm RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 và RV1126B. Nó cũng hỗ trợ xuất RKNN được lượng tử hóa INT8 với
quantize=8, điều này là bắt buộc đối với các mục tiêu chỉ hỗ trợ INT8 như RV1103, RV1106, RV1103B và RV1106B. Các nền tảng này thường được tìm thấy trong các thiết bị từ các nhà sản xuất như Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas và Banana Pi, cho phép bạn triển khai các mô hình RKNN được tối ưu hóa của mình trên nhiều loại thiết bị chạy bằng Rockchip từ máy tính bo mạch đơn đến các hệ thống công nghiệp.Các mô hình RKNN thường vượt trội hơn các định dạng khác như ONNX hoặc LiteRT trên các thiết bị Rockchip nhờ vào việc được tối ưu hóa cho các NPU của Rockchip. Ví dụ, các điểm chuẩn trên Radxa Rock 5B (RK3588) cho thấy YOLO26n ở định dạng RKNN đạt thời gian suy luận là 65.7 ms/ảnh, nhanh hơn đáng kể so với các định dạng khác. Lợi thế về hiệu suất này đồng nhất trên các kích thước mô hình YOLO26 khác nhau, như đã được chứng minh trong phần điểm chuẩn. Bằng cách tận dụng phần cứng NPU chuyên dụng, các mô hình RKNN giảm thiểu độ trễ và tối đa hóa thông lượng, khiến chúng trở nên lý tưởng cho các ứng dụng thời gian thực trên các thiết bị biên dựa trên Rockchip.