Chuyển đến nội dung

Xuất Rockchip RKNN cho các mô hình Ultralytics YOLO11

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 có định dạng mô hình tương thích là rất cần thiết. Xuất các mô hình Ultralytics YOLO11 sang định dạng RKNN đảm bảo hiệu suất và khả năng tương thích tối ưu với phần cứng của Rockchip. Hướng dẫn này sẽ hướng dẫn bạn chuyển đổi các mô hình YOLO11 của bạn sang định dạng RKNN, cho phép triển khai hiệu quả trên các nền tảng Rockchip.

RKNN

Lưu ý

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. Dự kiến 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, RV1103, RV1106, RV1103B, RV1106B và RK2118.

Rockchip là gì?

Nổi tiếng với việc cung cấp các giải pháp linh hoạt và tiết kiệm năng lượng, Rockchip thiết kế các System-on-Chips (SoC) tiên tiến, cung cấp năng lượng cho một loạt các thiết bị điện tử tiêu dùng, các ứ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 (NPU) tích hợp và hỗ trợ đa phương tiện độ phân giải cao, Rockchip SoC cho phép 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à 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 loại sản phẩm dựa trên Rockchip SoC, tiếp tục mở rộng phạm vi 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à 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 mô hình deep learning trên 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 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 do NPU (Neural Processing Unit) của Rockchip cung cấp, đả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 khác do Rockchip cung cấp.

Các tính năng chính của mô hình RKNN

Các mô hình RKNN cung cấp một số lợi thế để triển khai trên các nền tảng Rockchip:

  • Tối ưu hóa cho NPU: Các mô hình 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 các thiết bị biên.
  • Tùy chỉnh theo nền tảng cụ thể: Các mô hình RKNN có thể được điều chỉnh cho phù hợp với các nền tảng Rockchip cụ thể, cho phép sử dụng tốt hơn các tài nguyên phần cứng.
  • Hiệu suất năng lượng: Bằng cách tận dụng phần cứng NPU chuyên dụng, các mô hình RKNN tiêu thụ ít năng lượng hơn so với xử lý dựa trên CPU hoặc GPU, kéo dài tuổi thọ 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 có được một thiết bị dựa trên Rockchip là flash một hệ điều hành để phần cứng có thể khởi động vào một môi trường làm việc. Trong hướng dẫn này, chúng tôi sẽ chỉ ra 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.

Xuất sang RKNN: Chuyển đổi Mô hình YOLO11 của bạn

Xuất mô hình Ultralytics YOLO11 sang định dạng RKNN và chạy suy luận với mô hình đã xuất.

Lưu ý

Đảm bảo sử dụng PC Linux nền tảng X86 để xuất mô hình sang RKNN vì việc xuất trên các thiết bị nền tảng 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:

Cài đặt

# Install the required package for YOLO11
pip install ultralytics

Để biết hướng dẫn chi tiết và các phương pháp hay nhất liên quan đến quy trình cài đặt, hãy xem 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 YOLO11, 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 để biết các giải pháp và mẹo.

Cách sử dụng

Lưu ý

Hiện tại, tính năng xuất chỉ được hỗ trợ cho các mô hình phát hiện. Hỗ trợ cho nhiều mô hình hơn sẽ được cung cấp trong tương lai.

Cách sử dụng

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", name="rk3588")  # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
yolo export model=yolo11n.pt format=rknn name=rk3588 # creates '/yolo11n_rknn_model'

Các đối số xuất

Đối số Loại Mặc định Mô tả
format str 'rknn' Dạng mục tiêu cho mô hình được xuất, xác định khả năng tương thích với các môi trường triển khai khác nhau.
imgsz int hoặc tuple 640 Kích thước hình ảnh mong muốn cho đầu vào của mô hình. Có thể là một số nguyên cho hình ảnh vuông hoặc một bộ giá trị (height, width) cho các kích thước cụ thể.
batch int 1 Chỉ định kích thước suy luận theo lô của mô hình xuất hoặc số lượng hình ảnh tối đa mà mô hình đã xuất sẽ xử lý đồng thời ở chế độ predict chế độ.
name str 'rk3588' Chỉ định kiểu Rockchip (rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118)
device str None Chỉ đị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 x86 Linux 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 Ultralytics về xuất.

Triển khai các Mô Hình YOLO11 RKNN Đã Xuất

Sau khi bạn đã xuất thành công các mô hình Ultralytics YOLO11 của mình sang định dạng RKNN, bước tiếp theo là triển khai các mô hình 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:

Cài đặt

# Install the required package for YOLO11
pip install ultralytics

Cách sử dụng

Cách sử dụng

from ultralytics import YOLO

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

# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")
# Run inference with the exported model
yolo predict model='./yolo11n_rknn_model' source='https://ultralytics.com/images/bus.jpg'

Lưu ý

Nếu bạn gặp thông báo nhật ký 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 không thành công, vui lòng thay thế /usr/lib/librknnrt.so với chính thức Tệp librknnrt.so.

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

Các ứng dụng thực tế

Các thiết bị chạy Rockchip với các mô hình YOLO11 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: Triển khai 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 theo 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: Giám sát 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ự động: Cho phép đ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 bị hạn chế về tài nguyên.

Điểm chuẩn

Điểm chuẩn YOLO11 dưới đây được nhóm Ultralytics chạy trên Radxa Rock 5B dựa trên Rockchip RK3588 với rknn định dạng mô hình để đo tốc độ và độ chính xác.

Hiệu suất

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/ảnh)
YOLO11n rknn 7.4 0.505 71.5
YOLO11s rknn 20.7 0.578 98.9
YOLO11m rknn 41.9 0.629 235.3
YOLO11l rknn 53.3 0.633 282.0
YOLO11x rknn 114.6 0.687 679.2

Được đánh giá bằng ultralytics 8.3.152

Lưu ý

Quá trình xác thực cho các điểm chuẩn trên được thực hiện bằng cách sử dụng bộ dữ liệu COCO128. Thời gian suy luận không bao gồm quá trình tiền/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 mô hình Ultralytics YOLO11 sang định dạng RKNN để tăng cường khả năng triển khai của 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 thế cụ thể của việc sử dụng các mô hình RKNN cho các ứng dụng AI biên.

Sự kết hợp giữa Ultralytics YOLO11 và công nghệ NPU của Rockchip mang đến 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. Cách tiếp cận 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 Ultralytics YOLO11 khác, 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 chi tiết hữu ích ở đó.

Câu hỏi thường gặp

Làm cách nào để xuất mô hình Ultralytics YOLO của tôi sang định dạng RKNN?

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 export() phương pháp trong gói Ultralytics Python hoặc thông qua giao diện dòng lệnh (CLI). Đảm bảo bạn đang sử dụng PC Linux dựa trên x86 cho quy 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 cách sử dụng name đối số, chẳng hạn như rk3588, rk3566, hoặc các nền tảng khác. Quy 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ó để suy luận được tăng tốc.

Ví dụ

from ultralytics import YOLO

# Load your YOLO model
model = YOLO("yolo11n.pt")

# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")
yolo export model=yolo11n.pt format=rknn name=rk3588

Những lợi ích của việc sử dụng mô hình RKNN trên các thiết bị Rockchip là gì?

Các mô hình 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) của Rockchip. Tối ưu hóa này giúp 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 mô hình chung như ONNX hoặc TensorFlow Lite trên cùng một phần cứng. Sử dụng các mô hình RKNN cho phép sử dụng hiệu quả hơn các tài nguyên của thiết bị, dẫn đến mức 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 các thiết bị biên. Bằng cách chuyển đổi các mô hình Ultralytics YOLO của bạn sang RKNN, bạn có thể đạt được hiệu suất tối ưu trên các thiết bị được hỗ trợ bởi Rockchip SoC như RK3588, RK3566 và các thiết bị khác.

Tôi có thể triển khai các mô hình RKNN trên các thiết bị từ các nhà sản xuất khác như NVIDIA hoặc Google không?

Các mô hình RKNN được tối ưu hóa đặc biệt cho các nền tảng Rockchip và NPU tích hợp của chúng. Mặc dù về mặt kỹ thuật, bạn có thể chạy 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, nhưng bạn sẽ không được hưởng lợi từ khả năng tăng tốc phần cứng do 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 mô hình Ultralytics YOLO của mình sang các định dạng được thiết kế đặc biệt cho các nền tảng đó, chẳng hạn như TensorRT cho GPU NVIDIA hoặc TensorFlow Lite cho Google Edge TPU. 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 bộ tăng tốc phần cứng khác nhau.

Những nền tảng Rockchip nào được hỗ trợ để triển khai mô hình RKNN?

Việc xuất Ultralytics YOLO sang định dạng RKNN hỗ trợ nhiều nền tảng Rockchip, bao gồm RK3588, RK3576, RK3566, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B và RK2118 phổ biến. 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. Sự hỗ trợ rộng rãi này đảm bảo rằng bạn có thể triển khai các mô hình RKNN được tối ưu hóa của mình trên nhiều thiết bị chạy Rockchip khác nhau, từ máy tính đơn bảng đến các hệ thống công nghiệp, tận dụng tối đa khả năng tăng tốc AI của chúng để nâng cao hiệu suất trong các ứng dụng thị giác máy tính của bạn.

Hiệu suất của các mô hình RKNN so với các định dạng khác trên các thiết bị Rockchip như thế nào?

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 TensorFlow Lite trên các thiết bị Rockchip do chúng được tối ưu hóa cho NPU của Rockchip. Ví dụ: các điểm chuẩn trên Radxa Rock 5B (RK3588) cho thấy YOLO11n ở định dạng RKNN đạt được thời gian suy luận là 99,5 ms/ảnh, nhanh hơn đáng kể so với các định dạng khác. Ưu điểm về hiệu suất này nhất quán trên các kích thước mô hình YOLO11 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.



📅 Đã tạo 7 tháng trước ✏️ Cập nhật 2 tháng trước

Bình luận