Meet YOLO26: next-gen vision AI.

Link to this sectionXuất Rockchip RKNN cho các model Ultralytics YOLO26#

Khi triển khai các model thị giác máy tính trên thiết bị nhúng, đặc biệt là những thiết bị sử dụng bộ xử lý Rockchip, việc sở hữu một định dạng model tương thích là rất cần thiết. Xuất các model Ultralytics YOLO26 sang định dạng RKNN đảm bảo hiệu suất tối ưu và khả năng tương thích với phần cứng của Rockchip. Hướng dẫn này sẽ chỉ cho bạn cách chuyển đổi model YOLO26 sang định dạng RKNN, bao gồm xuất số thực dấu phẩy động (floating-point) và định dạng định lượng INT8, cho phép triển khai hiệu quả trên các nền tảng Rockchip.

Rockchip RKNN export for NPU deployment

Lưu ý

Hướng dẫn này đã được kiểm thử với Radxa Rock 5B dựa trên Rockchip RK3588 và Radxa Zero 3W dựa trên Rockchip RK3566. Dự kiến hướng dẫn này cũng hoạt động trên các thiết bị chạy Rockchip khác 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 thiết lập int8=True.

Link to this sectionRockchip 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 System-on-Chips (SoCs) tiên tiến cung cấp sức mạnh 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 Neural Processing Units (NPUs) tích hợp và 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 vượt trội cho các thiết bị như máy tính bảng, smart TV, hệ thống IoT và các ứng dụng AI biên. 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 Rockchip, tiếp tục mở rộng phạm vi và tầm ảnh hưởng của chúng trên các thị trường đa dạng.

Link to this sectionRKNN Toolkit#

Bộ RKNN Toolkit là một tập hợp các công cụ và thư viện do Rockchip cung cấp để tạo điều kiện triển khai các model deep learning trên các nền tảng phần cứng của họ. RKNN, hay 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 model RKNN được thiết kế để tận dụng tối đa khả năng tăng tốc phần cứng từ 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 Rockchip khác.

Link to this sectionCác tính năng chính của các model RKNN#

Các model RKNN mang lại nhiều lợi thế cho việc triển khai trên các 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 các 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 từng 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 tận dụng tốt hơn tài nguyên phần cứng.
  • Tiết kiệm 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 điện năng hơn so với xử lý 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.

Link to this sectionFlash OS vào phần cứng Rockchip#

Bước đầu tiên sau khi sở hữu thiết bị chạy 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ẽ chỉ dẫn đến các tài liệu bắt đầu cho hai thiết bị mà chúng tôi đã thử nghiệm là Radxa Rock 5B và Radxa Zero 3W.

Link to this sectionXuấ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.

Lưu ý

Hãy đảm bảo sử dụng máy tính Linux dựa trên kiến trúc X86 để xuất model sang RKNN vì việc xuất trên các thiết bị chạy Rockchip (ARM64) không được hỗ trợ.

Link to this sectionCài đặt#

Để cài đặt các gói cần thiết, hãy chạy:

Cài đặt
# Install the required package for YOLO26
pip install ultralytics

Để biết hướng dẫn chi tiết và các phương pháp tốt nhất liên quan đến quy trình cài đặt, hãy kiểm tra Hướng dẫn cài đặt Ultralytics của chúng tôi. Trong khi 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 để tìm giải pháp và mẹo.

Link to this sectionSử dụng#

Lưu ý

Hiện tại việc xuất chỉ được hỗ trợ cho các model phát hiện. Hỗ trợ cho nhiều model hơn sẽ được cập nhật trong tương lai.

Định dạng RKNN hỗ trợ các chế độ Export, PredictValidate. Việc suy luận và kiểm định chạy trên phần cứng Rockchip NPU. Hãy xuất model của bạn, sau đó tải model đã xuất để chạy suy luận hoặc kiểm định độ chính xác. Theo mặc định, xuất RKNN sử dụng đường dẫn build số thực dấu phẩy động hiện có với half=True cho các mục tiêu Rockchip hỗ trợ FP16. Sử dụng int8=True để build một model RKNN định lượng INT8 với dữ liệu hiệu chuẩn. Xuất RKNN không hiển thị chế độ FP32 riêng biệt; việc để int8=False không có nghĩa là yêu cầu FP32.

Export
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", int8=True, data="coco8.yaml")
Predict
from ultralytics import YOLO

# Load the exported RKNN model
model = YOLO("./yolo26n_rknn_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validate
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 sectionCác tham số Export#

Tham sốKiểuMặc địnhMô tả
formatstr'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.
imgszint hoặc tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
batchint1Chỉ định kích thước batch suy luận của model xuất hoặc số lượng ảnh tối đa mà model xuất sẽ xử lý đồng thời trong chế độ predict.
namestr'rk3588'Chỉ định mục tiêu Rockchip, ví dụ như rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b, rv1103, rv1106, rv1103b hoặc rv1106b.
halfboolTrueKích hoạt đường dẫn xuất RKNN số thực dấu phẩy động mặc định cho các mục tiêu hỗ trợ FP16. Loại trừ lẫn nhau với int8=True.
int8boolFalseKích hoạt định lượng INT8. Bắt buộc cho các mục tiêu chỉ hỗ trợ INT8 như RV1103 và RV1106. Khi False, RKNN Toolkit sẽ build một model số thực dấu phẩy động cho các mục tiêu hỗ trợ FP16, không phải FP32.
datastrNoneFile YAML của tập dữ liệu được sử dụng để hiệu chuẩn INT8. Nếu bỏ qua với int8=True, Ultralytics sẽ chọn tập dữ liệu hiệu chuẩn mặc định cho tác vụ của model.
fractionfloat1.0Tỷ lệ phần trăm hình ảnh hiệu chuẩn để sử dụng cho định lượng INT8.
devicestrNoneChỉ định thiết bị để xuất: GPU (device=0), CPU (device=cpu).
Mẹo

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ề quy trình xuất, hãy truy cập Trang tài liệu của Ultralytics về xuất.

Link to this sectionTriển khai các model YOLO26 RKNN đã xuất#

Sau khi bạn đã 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ị chạy Rockchip.

Link to this sectionCài đặt#

Để cài đặt các gói cần thiết, hãy chạy:

Cài đặt
# Install the required package for YOLO26
pip install ultralytics

Sau khi cài đặt, hãy chạy suy luận và kiểm định trên thiết bị Rockchip của bạn giống như cách được hiển thị trong phần Usage ở trên — _rknn_model đã xuất sẽ tải trực tiếp với YOLO(...).

Lưu ý

Nếu bạn gặp thông báo log cho biết phiên bản RKNN runtime 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 file librknnrt.so chính thức.

Ảnh chụp màn hình xuất RKNN

Link to this sectionCác ứng dụng 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 phụ thuộc vào đám mây.
  • Nông nghiệp thông minh: Giám sát sức khỏe cây trồng và phát hiện sâu bệnh bằng thị giác máy tính trong nông nghiệp.
  • Robot tự hành: Kích hoạt khả năng điều hướng dựa trên hình ảnh và phát hiện vật cản trên các nền tảng bị hạn chế về tài nguyên.

Link to this sectionBenchmarks#

Các benchmark YOLO26 dưới đây được thực hiện bởi đội ngũ Ultralytics trên Radxa Rock 5B dựa trên Rockchip RK3588 với định dạng model rknn, đo lường tốc độ và độ chính xác.

Hiệu suất
ModelĐịnh dạngTrạng tháiKích thước (MB)mAP50-95(B)Thời gian suy luận (ms/ảnh)
YOLO26nrknn7.10.47965.7
YOLO26srknn20.90.57199.2
YOLO26mrknn42.50.610235.3
YOLO26lrknn52.10.630280.5
YOLO26xrknn112.20.666669.1

Được kiểm chuẩn với ultralytics 8.4.23

Lưu ý

Việc kiểm chứng cho các tiêu chuẩn trên được thực hiện bằng tập dữ liệu COCO128. Thời gian suy luận không bao gồm quá trình tiền/hậu xử lý.

Link to this sectionTóm tắt#

Trong hướng dẫn này, bạn đã tìm hiểu cách xuất các model Ultralytics YOLO26 sang định dạng RKNN để nâng cao khả năng triển khai trên các nền tảng Rockchip. Bạn cũng đã được giới thiệu về RKNN Toolkit và những ưu điểm 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ả để thực hiện 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 theo 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 trang hướng dẫn tích hợp 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 ở đó.

Link to this sectionCâu hỏi thường gặp (FAQ)#

Link to this sectionLàm thế nào để tôi xuất model Ultralytics YOLO của mình sang định dạng RKNN?#

Bạn có thể dễ dàng xuất model Ultralytics YOLO sang định dạng RKNN bằng phương thức export() trong gói Python của Ultralytics hoặc thông qua giao diện dòng lệnh (CLI). Đảm bảo rằng bạn đang sử dụng máy tính Linux x86 cho quá trình xuất, vì các thiết bị ARM64 như Rockchip không được hỗ trợ cho thao tác này. Bạn có thể chỉ định nền tảng Rockchip mục tiêu bằng cách sử dụng tham số name, chẳng hạn như rk3588, rk3566 hoặc các nền tảng khác. Quá trình này tạo ra một model 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 quá trình 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")

Link to this sectionLợi ích của việc sử dụng các model RKNN trên thiết bị Rockchip là gì?#

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 Bộ xử lý thần kinh (NPU) trên Rockchip. Việc tối ưu hóa này mang lại tốc độ suy luận nhanh hơn đáng kể và giảm độ trễ so với việc chạy các định dạng model chung như ONNX hoặc TensorFlow Lite 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 tiêu thụ điện năng thấp hơn và hiệu suất 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ị biên. Bằng cách chuyển đổi các model Ultralytics YOLO sang RKNN, bạn có thể đạt được hiệu suất tối ưu trên các thiết bị chạy SoC Rockchip như RK3588, RK3566 và các dòng khác.

Link to this sectionTôi có thể triển khai các model RKNN trên thiết bị từ các nhà sản xuất khác như NVIDIA hoặc Google không?#

Các model 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ù về mặt kỹ thuật bạn có thể chạy model RKNN trên các nền tảng khác bằng cách sử dụng mô phỏng phần mềm, bạn sẽ không nhận được lợi ích từ khả năng tăng tốc phần cứng mà các thiết bị Rockchip cung cấp. Để 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 model Ultralytics YOLO 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 TensorFlow Lite cho Edge TPU 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 nhiều trình tăng tốc phần cứng khác nhau.

Link to this sectionNhững nền tảng Rockchip nào được hỗ trợ để triển khai model RKNN?#

Việc xuất Ultralytics YOLO sang định dạng RKNN hỗ trợ các nền tảng Rockchip 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 đã lượng tử hóa INT8 với int8=True, vốn là yêu cầu bắt buộc cho 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 model RKNN đã tối ưu hóa của mình trên nhiều loại thiết bị chạy chip Rockchip từ máy tính bảng đơn mạch đến các hệ thống công nghiệp.

Link to this sectionHiệu suất của các model RKNN so với các định dạng khác trên thiết bị Rockchip như thế nào?#

Các model RKNN thường vượt trội hơn các định dạng khác như ONNX hoặc TensorFlow Lite trên thiết bị Rockchip nhờ vào sự tối ưu hóa cho NPU của Rockchip. Ví dụ, các bài kiể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. Ưu thế về hiệu suất này nhất quán trên nhiều kích thước model YOLO26, như đã được chứng minh trong phần kiểm chuẩn. Bằng cách tận dụng phần cứng NPU chuyên dụng, các model RKNN giảm thiểu độ trễ và tối đa hóa thông lượng, biế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.

Bình luận