تصدير Rockchip RKNN لنماذج Ultralytics YOLO26
عند نشر نماذج الرؤية الحاسوبية على الأجهزة المدمجة، خاصة تلك التي تعمل بمعالجات Rockchip، يعد الحصول على تنسيق نموذج متوافق أمراً أساسياً. يضمن تصدير نماذج Ultralytics YOLO26 إلى تنسيق RKNN أداءً محسناً وتوافقاً مع أجهزة Rockchip. سيرشدك هذا الدليل خلال تحويل نماذج YOLO26 الخاصة بك إلى تنسيق RKNN، مما يتيح النشر الفعال على منصات Rockchip.
تم اختبار هذا الدليل مع Radxa Rock 5B الذي يعتمد على معالج Rockchip RK3588، ومع Radxa Zero 3W الذي يعتمد على معالج Rockchip RK3566. من المتوقع أن يعمل الدليل عبر أجهزة Rockchip الأخرى التي تدعم rknn-toolkit2 مثل RK3576 وRK3568 وRK3562 وRK2118 وRV1126B. الأجهزة المستهدفة التي تدعم استنتاج INT8 فقط (RV1103 وRV1106 وRV1103B وRV1106B) غير مدعومة حالياً لأن تصدير Ultralytics RKNN ينتج نماذج FP16 فقط.
ما هو Rockchip؟
تشتهر Rockchip بتقديم حلول متنوعة وموفرة للطاقة، وتقوم بتصميم أنظمة متطورة على رقاقة (SoCs) تعمل على تشغيل مجموعة واسعة من الإلكترونيات الاستهلاكية، والتطبيقات الصناعية، وتقنيات الذكاء الاصطناعي. بفضل بنيتها القائمة على ARM، ووحدات المعالجة العصبية (NPUs) المدمجة، ودعم الوسائط المتعددة عالي الدقة، تتيح أنظمة Rockchip أداءً متطوراً لأجهزة مثل الأجهزة اللوحية، وأجهزة التلفاز الذكية، وأنظمة إنترنت الأشياء (IoT)، وتطبيقات الذكاء الاصطناعي على الحافة. تقدم شركات مثل Radxa وASUS وPine64 وOrange Pi وOdroid وKhadas وBanana Pi مجموعة متنوعة من المنتجات القائمة على أنظمة Rockchip، مما يزيد من انتشارها وتأثيرها عبر أسواق متنوعة.
مجموعة أدوات RKNN
تعد RKNN Toolkit مجموعة من الأدوات والمكتبات التي توفرها Rockchip لتسهيل نشر نماذج التعلم العميق على منصات الأجهزة الخاصة بها. RKNN، أو Rockchip Neural Network، هو التنسيق المملوك الذي تستخدمه هذه الأدوات. صُممت نماذج RKNN للاستفادة الكاملة من تسريع الأجهزة الذي توفره وحدة NPU (وحدة المعالجة العصبية) الخاصة بـ Rockchip، مما يضمن أداءً عالياً في مهام الذكاء الاصطناعي على أجهزة مثل RK3588 وRK3566 وRV1103 وRV1106 وأنظمة أخرى تعمل بـ Rockchip.
الميزات الرئيسية لنماذج RKNN
توفر نماذج RKNN العديد من المزايا للنشر على منصات Rockchip:
- محسنة لـ NPU: تم تحسين نماذج RKNN خصيصاً للعمل على وحدات NPU الخاصة بـ Rockchip، مما يضمن أقصى قدر من الأداء والكفاءة.
- زمن استجابة منخفض: يقلل تنسيق RKNN من زمن انتقال الاستنتاج، وهو أمر بالغ الأهمية للتطبيقات ذات الوقت الفعلي على أجهزة الحافة.
- تخصيص خاص بالمنصة: يمكن تكييف نماذج RKNN مع منصات Rockchip محددة، مما يتيح استغلالاً أفضل لموارد الأجهزة.
- كفاءة الطاقة: من خلال الاستفادة من أجهزة NPU المخصصة، تستهلك نماذج RKNN طاقة أقل مقارنة بالمعالجة القائمة على CPU أو GPU، مما يطيل عمر البطارية للأجهزة المحمولة.
تثبيت نظام التشغيل على أجهزة Rockchip
الخطوة الأولى بعد الحصول على جهاز يعتمد على Rockchip هي تثبيت نظام تشغيل حتى يتمكن الجهاز من الإقلاع في بيئة عمل. في هذا الدليل، سنشير إلى أدلة البدء السريع للجهازين اللذين اختبرناهما وهما Radxa Rock 5B وRadxa Zero 3W.
التصدير إلى RKNN: تحويل نموذج YOLO26 الخاص بك
قم بتصدير نموذج Ultralytics YOLO26 إلى تنسيق RKNN وقم بتشغيل الاستنتاج باستخدام النموذج المُصدّر.
تأكد من استخدام جهاز كمبيوتر يعمل بنظام Linux ومعمارية X86 لتصدير النموذج إلى RKNN لأن التصدير على الأجهزة القائمة على Rockchip (ARM64) غير مدعوم.
التثبيت
لتثبيت الحزم المطلوبة، قم بتشغيل:
!!! Tip "التثبيت"
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على الحلول والنصائح.
الاستخدام
التصدير مدعوم حالياً فقط لنماذج الكشف. سيتم توفير دعم إضافي لنماذج أخرى في المستقبل.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b (FP16). INT8-only targets rv1103, rv1106, rv1103b, rv1106b are not yet supported.
model.export(format="rknn", name="rk3588") # creates '/yolo26n_rknn_model'وسائط التصدير
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'rknn' | التنسيق المستهدف للنموذج الذي تم تصديره، مما يحدد التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لمدخلات النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو صفاً (height, width) لأبعاد محددة. |
batch | int | 1 | يحدد حجم استدلال دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict. |
name | str | 'rk3588' | يحدد منصة Rockchip المستهدفة. الأجهزة التي تدعم FP16: rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b. الأجهزة المستهدفة التي تدعم INT8 فقط (rv1103, rv1106, rv1103b, rv1106b) غير مدعومة بعد. |
device | str | None | يحدد الجهاز لغرض التصدير: GPU (device=0)، أو CPU (device=cpu). |
يرجى التأكد من استخدام جهاز Linux بمعمارية x86 عند التصدير إلى RKNN.
لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة توثيق Ultralytics حول التصدير.
نشر نماذج YOLO26 RKNN المُصدّرة
بمجرد تصدير نماذج Ultralytics YOLO26 بنجاح إلى تنسيق RKNN، تكون الخطوة التالية هي نشر هذه النماذج على الأجهزة القائمة على Rockchip.
التثبيت
لتثبيت الحزم المطلوبة، قم بتشغيل:
!!! Tip "التثبيت"
# Install the required package for YOLO26
pip install ultralyticsالاستخدام
from ultralytics import YOLO
# Load the exported RKNN model
rknn_model = YOLO("./yolo26n_rknn_model")
# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")إذا واجهت رسالة سجل تشير إلى أن إصدار وقت تشغيل RKNN لا يتطابق مع إصدار RKNN Toolkit وفشل الاستنتاج، يرجى استبدال /usr/lib/librknnrt.so بملف librknnrt.so الرسمي.

تطبيقات العالم الحقيقي
يمكن استخدام الأجهزة التي تعمل بمعالجات Rockchip مع نماذج YOLO26 RKNN في تطبيقات متنوعة:
- المراقبة الذكية: نشر أنظمة كشف كائنات فعالة للمراقبة الأمنية باستهلاك طاقة منخفض.
- الأتمتة الصناعية: تنفيذ مراقبة الجودة والكشف عن العيوب مباشرة على الأجهزة المدمجة.
- تحليلات التجزئة: تتبع سلوك العملاء وإدارة المخزون في الوقت الفعلي دون الاعتماد على السحابة.
- الزراعة الذكية: مراقبة صحة المحاصيل والكشف عن الآفات باستخدام الرؤية الحاسوبية في الزراعة.
- الروبوتات المستقلة: تمكين التنقل القائم على الرؤية والكشف عن العوائق على منصات ذات موارد محدودة.
المقاييس المرجعية
تم تشغيل معايير YOLO26 أدناه بواسطة فريق Ultralytics على Radxa Rock 5B المستند إلى Rockchip RK3588 باستخدام تنسيق نموذج rknn لقياس السرعة والدقة.
| النموذج | التنسيق | الحالة | الحجم (MB) | mAP50-95(B) | وقت الاستنتاج (مللي ثانية/صورة) |
|---|---|---|---|---|---|
| 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. وقت الاستنتاج لا يشمل المعالجة الأولية/اللاحقة.
ملخص
في هذا الدليل، تعلمت كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق RKNN لتحسين نشرها على منصات Rockchip. كما تم تعريفك بـ RKNN Toolkit والمزايا المحددة لاستخدام نماذج RKNN لتطبيقات الذكاء الاصطناعي على الحافة.
يوفر الجمع بين Ultralytics YOLO26 وتقنية NPU من Rockchip حلاً فعالاً لتشغيل مهام الرؤية الحاسوبية المتقدمة على الأجهزة المدمجة. يتيح هذا النهج الكشف عن الكائنات في الوقت الفعلي وتطبيقات ذكاء اصطناعي بصرية أخرى بأقل استهلاك للطاقة وأداء عالٍ.
لمزيد من التفاصيل حول الاستخدام، تفضل بزيارة التوثيق الرسمي لـ RKNN.
أيضاً، إذا كنت ترغب في معرفة المزيد حول تكاملات Ultralytics YOLO26 الأخرى، فتفضل بزيارة صفحة دليل التكامل. ستجد الكثير من الموارد والرؤى المفيدة هناك.
الأسئلة الشائعة
كيف يمكنني تصدير نموذج Ultralytics YOLO الخاص بي إلى تنسيق RKNN؟
يمكنك بسهولة تصدير نموذج Ultralytics YOLO الخاص بك إلى تنسيق RKNN باستخدام طريقة export() في حزمة Python الخاصة بـ Ultralytics أو عبر واجهة سطر الأوامر (CLI). تأكد من استخدام جهاز كمبيوتر يعمل بنظام Linux بمعمارية x86 لعملية التصدير، حيث أن أجهزة ARM64 مثل Rockchip غير مدعومة لهذه العملية. يمكنك تحديد منصة Rockchip المستهدفة باستخدام الوسيط name، مثل rk3588 أو rk3566 أو غيرها. تُنشئ هذه العملية نموذج 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")ما هي فوائد استخدام نماذج RKNN على أجهزة Rockchip؟
صُممت نماذج RKNN خصيصاً للاستفادة من قدرات تسريع الأجهزة في وحدات المعالجة العصبية (NPUs) الخاصة بـ Rockchip. يؤدي هذا التحسين إلى سرعات استنتاج أسرع بكثير وتقليل زمن الاستجابة مقارنة بتشغيل تنسيقات النماذج العامة مثل ONNX أو TensorFlow Lite على نفس الأجهزة. يسمح استخدام نماذج RKNN باستخدام أكثر كفاءة لموارد الجهاز، مما يؤدي إلى انخفاض استهلاك الطاقة وأداء عام أفضل، وهو أمر بالغ الأهمية خاصة للتطبيقات ذات الوقت الفعلي على أجهزة الحافة. من خلال تحويل نماذج Ultralytics YOLO إلى RKNN، يمكنك تحقيق الأداء الأمثل على الأجهزة التي تعمل بأنظمة Rockchip SoC مثل RK3588 وRK3566 وغيرها.
هل يمكنني نشر نماذج RKNN على أجهزة من مصنعين آخرين مثل NVIDIA أو Google؟
تم تحسين نماذج RKNN خصيصاً لمنصات Rockchip ووحدات NPU المدمجة بها. على الرغم من أنه يمكنك تقنياً تشغيل نموذج RKNN على منصات أخرى باستخدام محاكاة برمجية، فلن تستفيد من تسريع الأجهزة الذي توفره أجهزة Rockchip. للحصول على أفضل أداء على منصات أخرى، يوصى بتصدير نماذج Ultralytics YOLO إلى تنسيقات مصممة خصيصاً لتلك المنصات، مثل TensorRT لوحدات معالجة الرسومات من NVIDIA أو TensorFlow Lite لـ Edge TPU من Google. تدعم Ultralytics التصدير إلى مجموعة واسعة من التنسيقات، مما يضمن التوافق مع مختلف مسرعات الأجهزة.
ما هي منصات Rockchip المدعومة لنشر نماذج RKNN؟
يدعم تصدير Ultralytics YOLO إلى تنسيق RKNN حالياً منصات Rockchip التي تدعم استنتاج FP16: RK3588 وRK3576 وRK3566 وRK3568 وRK3562 وRK2118 وRV1126B. الأجهزة المستهدفة التي تدعم INT8 فقط (RV1103 وRV1106 وRV1103B وRV1106B) غير مدعومة بعد لأن وحدات NPU الخاصة بها تتطلب كمية قياسية (quantization)، وهو أمر مدرج في خارطة الطريق. توجد هذه المنصات بشكل شائع في أجهزة من مصنعين مثل Radxa وASUS وPine64 وOrange Pi وOdroid وKhadas وBanana Pi، مما يسمح لك بنشر نماذج RKNN المحسنة الخاصة بك على مجموعة من الأجهزة التي تعمل بمعالجات Rockchip بدءاً من أجهزة الكمبيوتر ذات اللوحة الواحدة وصولاً إلى الأنظمة الصناعية.
كيف يقارن أداء نماذج RKNN بالتنسيقات الأخرى على أجهزة Rockchip؟
تتفوق نماذج RKNN عموماً على التنسيقات الأخرى مثل ONNX أو TensorFlow Lite على أجهزة Rockchip نظراً لتحسينها لوحدات NPU الخاصة بـ Rockchip. على سبيل المثال، تُظهر المعايير على Radxa Rock 5B (RK3588) أن YOLO26n بتنسيق RKNN يحقق وقت استنتاج يبلغ 99.5 مللي ثانية/صورة، وهو أسرع بكثير من التنسيقات الأخرى. هذه الميزة في الأداء ثابتة عبر أحجام نماذج YOLO26 المختلفة، كما هو موضح في قسم المعايير. من خلال الاستفادة من أجهزة NPU المخصصة، تقلل نماذج RKNN من زمن الاستجابة وتزيد من الإنتاجية، مما يجعلها مثالية للتطبيقات ذات الوقت الفعلي على أجهزة الحافة القائمة على Rockchip.