Link to this sectionتصدير Rockchip RKNN لنماذج Ultralytics YOLO26#
عند نشر نماذج الرؤية الحاسوبية على الأجهزة المدمجة، خاصة تلك التي تعمل بمعالجات Rockchip، يعد الحصول على تنسيق نموذج متوافق أمراً ضرورياً. يضمن تصدير نماذج Ultralytics YOLO26 إلى تنسيق RKNN أداءً محسناً وتوافقاً مع أجهزة Rockchip. سيرشدك هذا الدليل خلال عملية تحويل نماذج YOLO26 الخاصة بك إلى تنسيق RKNN، بما في ذلك التصدير بالفاصلة العائمة وتكميم INT8، مما يتيح النشر الفعال على منصات Rockchip.
تم اختبار هذا الدليل باستخدام Radxa Rock 5B القائم على Rockchip RK3588 و Radxa Zero 3W القائم على Rockchip RK3566. من المتوقع أن يعمل عبر أجهزة Rockchip الأخرى التي تدعم rknn-toolkit2 مثل RK3576 و RK3568 و RK3562 و RK2118 و RV1126B و RV1103 و RV1106 و RV1103B و RV1106B. تتطلب الأهداف التي تدعم INT8 فقط مثل RV1103 و RV1106 استخدام int8=True.
Link to this sectionما هي Rockchip؟#
تشتهر Rockchip بتقديم حلول متنوعة وموفرة للطاقة، وتقوم بتصميم أنظمة متقدمة على رقاقة (SoCs) تشغل مجموعة واسعة من الإلكترونيات الاستهلاكية والتطبيقات الصناعية وتقنيات الذكاء الاصطناعي. بفضل بنيتها المستندة إلى ARM، ووحدات المعالجة العصبية (NPUs) المدمجة، ودعم الوسائط المتعددة عالي الدقة، تتيح SoCs من Rockchip أداءً متطوراً لأجهزة مثل الأجهزة اللوحية، والتلفزيونات الذكية، وأنظمة إنترنت الأشياء، و تطبيقات الذكاء الاصطناعي على الحافة. تقدم شركات مثل Radxa و ASUS و Pine64 و Orange Pi و Odroid و Khadas و Banana Pi مجموعة متنوعة من المنتجات القائمة على SoCs من Rockchip، مما يزيد من نطاقها وتأثيرها عبر أسواق متنوعة.
Link to this sectionمجموعة أدوات RKNN#
مجموعة أدوات RKNN عبارة عن مجموعة من الأدوات والمكتبات التي توفرها Rockchip لتسهيل نشر نماذج التعلم العميق على منصات أجهزتها. RKNN، أو Rockchip Neural Network، هو التنسيق المملوك الذي تستخدمه هذه الأدوات. تم تصميم نماذج RKNN للاستفادة الكاملة من تسريع الأجهزة الذي توفره NPU (وحدة المعالجة العصبية) الخاصة بـ Rockchip، مما يضمن أداءً عالياً في مهام الذكاء الاصطناعي على أجهزة مثل RK3588 و RK3566 و RV1103 و RV1106 والأنظمة الأخرى التي تعمل بتقنية Rockchip.
Link to this sectionالميزات الرئيسية لنماذج RKNN#
توفر نماذج RKNN العديد من المزايا للنشر على منصات Rockchip:
- محسنة لـ NPU: تم تحسين نماذج RKNN خصيصاً للتشغيل على وحدات NPU الخاصة بـ Rockchip، مما يضمن أقصى قدر من الأداء والكفاءة.
- زمن انتقال منخفض: يقلل تنسيق 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 وقم بتشغيل الاستنتاج باستخدام النموذج المصدر.
تأكد من استخدام كمبيوتر يعمل بنظام Linux قائم على بنية X86 لتصدير النموذج إلى RKNN لأن التصدير على الأجهزة القائمة على Rockchip (ARM64) غير مدعوم.
Link to this sectionالتثبيت#
لتثبيت الحزم المطلوبة، قم بتشغيل:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics الخاص بنا. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، استشر دليل المشكلات الشائعة للحصول على حلول ونصائح.
Link to this sectionالاستخدام#
التصدير مدعوم حالياً لنماذج الكشف فقط. سيتم توفير دعم للمزيد من النماذج في المستقبل.
يدعم تنسيق RKNN أوضاع التصدير و التنبؤ و التحقق. يتم تشغيل الاستنتاج والتحقق على أجهزة Rockchip NPU. قم بتصدير نموذجك، ثم قم بتحميل النموذج المصدر لتشغيل الاستنتاج أو التحقق من دقته. افتراضياً، يستخدم تصدير RKNN مسار بناء الفاصلة العائمة الحالي مع half=True للأهداف القادرة على التعامل مع FP16 من Rockchip. استخدم int8=True لبناء نموذج RKNN مكمم بتنسيق INT8 مع بيانات المعايرة. لا يكشف تصدير RKNN عن وضع FP32 منفصل؛ ترك int8=False لا يطلب 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", int8=True, 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 أو rv1103 أو rv1106 أو rv1103b أو rv1106b. |
half | bool | True | يمكن مسار تصدير RKNN الافتراضي بالفاصلة العائمة للأهداف القادرة على التعامل مع FP16. يستبعد int8=True بشكل متبادل. |
int8 | bool | False | يمكن تكميم INT8. مطلوب للأهداف التي تدعم INT8 فقط مثل RV1103 و RV1106. عند ضبطه على False، تقوم مجموعة أدوات RKNN ببناء نموذج بفاصلة عائمة للأهداف القادرة على التعامل مع FP16، وليس FP32. |
data | str | None | ملف YAML لمجموعة البيانات المستخدم لمعايرة INT8. إذا تم حذفه مع int8=True، يختار Ultralytics مجموعة بيانات المعايرة الافتراضية لمهمة النموذج. |
fraction | float | 1.0 | جزء من صور المعايرة المراد استخدامها لتكميم INT8. |
device | str | None | يحدد الجهاز للتصدير: GPU (device=0)، CPU (device=cpu). |
يرجى التأكد من استخدام جهاز Linux يعمل بنظام x86 عند التصدير إلى RKNN.
لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة وثائق 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 وفشل الاستنتاج، يرجى استبدال /usr/lib/librknnrt.so بملف librknnrt.so الرسمي.

Link to this sectionتطبيقات العالم الحقيقي#
يمكن استخدام الأجهزة التي تعمل بنظام Rockchip مع نماذج YOLO26 RKNN في تطبيقات مختلفة:
- المراقبة الذكية: نشر أنظمة فعالة للكشف عن الأشياء لمراقبة الأمن باستهلاك منخفض للطاقة.
- الأتمتة الصناعية: تنفيذ مراقبة الجودة والكشف عن العيوب مباشرة على الأجهزة المدمجة.
- تحليلات التجزئة: تتبع سلوك العملاء وإدارة المخزون في الوقت الفعلي دون الاعتماد على السحابة.
- الزراعة الذكية: مراقبة صحة المحاصيل واكتشاف الآفات باستخدام الرؤية الحاسوبية في الزراعة.
- الروبوتات المستقلة: تمكين التنقل القائم على الرؤية واكتشاف العوائق على المنصات ذات الموارد المحدودة.
Link to this sectionالمقاييس#
تم تشغيل مقاييس YOLO26 أدناه بواسطة فريق Ultralytics على Radxa Rock 5B المستند إلى Rockchip RK3588 باستخدام تنسيق نموذج 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 |
Benchmarked with ultralytics 8.4.23
تم إجراء التحقق من المعايير المذكورة أعلاه باستخدام مجموعة بيانات COCO128. لا يتضمن زمن الاستدلال عمليات المعالجة الأولية أو اللاحقة.
Link to this sectionالملخص#
في هذا الدليل، تعلمت كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق RKNN لتعزيز نشرها على منصات Rockchip. كما تم تعريفك بمجموعة أدوات RKNN والمزايا المحددة لاستخدام نماذج RKNN لتطبيقات الذكاء الاصطناعي على الحافة.
يوفر الجمع بين Ultralytics YOLO26 وتقنية NPU الخاصة بشركة Rockchip حلاً فعالاً لتشغيل مهام الرؤية الحاسوبية المتقدمة على الأجهزة المدمجة. يتيح هذا النهج اكتشاف الكائنات في الوقت الفعلي وتطبيقات الذكاء الاصطناعي البصري الأخرى بأقل استهلاك للطاقة وأداء عالٍ.
لمزيد من التفاصيل حول الاستخدام، تفضل بزيارة التوثيق الرسمي لـ RKNN.
أيضاً، إذا كنت ترغب في معرفة المزيد حول تكاملات Ultralytics YOLO26 الأخرى، تفضل بزيارة صفحة دليل التكامل. ستجد الكثير من الموارد والرؤى المفيدة هناك.
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف يمكنني تصدير نموذج 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")Link to this sectionما هي فوائد استخدام نماذج RKNN على أجهزة Rockchip؟#
تم تصميم نماذج RKNN خصيصاً للاستفادة من قدرات تسريع الأجهزة في وحدات المعالجة العصبية (NPUs) الخاصة بشركة Rockchip. يؤدي هذا التحسين إلى سرعات استدلال أسرع بشكل ملحوظ وتقليل وقت الاستجابة مقارنة بتشغيل تنسيقات النماذج العامة مثل ONNX أو TensorFlow Lite على نفس الجهاز. يسمح استخدام نماذج RKNN باستخدام أكثر كفاءة لموارد الجهاز، مما يؤدي إلى انخفاض استهلاك الطاقة وأداء عام أفضل، وهو أمر بالغ الأهمية للتطبيقات في الوقت الفعلي على أجهزة الحافة. من خلال تحويل نماذج Ultralytics YOLO الخاصة بك إلى RKNN، يمكنك تحقيق أداء مثالي على الأجهزة التي تعمل بنظام Rockchip SoCs مثل RK3588 وRK3566 وغيرها.
Link to this sectionهل يمكنني نشر نماذج RKNN على أجهزة من مصنعين آخرين مثل NVIDIA أو Google؟#
نماذج RKNN محسنة خصيصاً لمنصات Rockchip ووحدات NPU المدمجة فيها. على الرغم من أنه يمكنك تقنياً تشغيل نموذج RKNN على منصات أخرى باستخدام محاكاة البرامج، فلن تستفيد من تسريع الأجهزة الذي توفره أجهزة Rockchip. للحصول على أداء أمثل على منصات أخرى، يوصى بتصدير نماذج Ultralytics YOLO الخاصة بك إلى تنسيقات مصممة خصيصاً لتلك المنصات، مثل TensorRT لوحدات معالجة الرسومات NVIDIA أو TensorFlow Lite لـ Edge TPU من Google. يدعم Ultralytics التصدير إلى مجموعة واسعة من التنسيقات، مما يضمن التوافق مع مختلف مسرعات الأجهزة.
Link to this sectionما هي منصات Rockchip المدعومة لنشر نموذج RKNN؟#
يدعم تصدير Ultralytics YOLO إلى تنسيق RKNN منصات Rockchip ذات إصدارات RKNN ذات الفاصلة العائمة، بما في ذلك RK3588 وRK3576 وRK3566 وRK3568 وRK3562 وRK2118 وRV1126B. كما يدعم تصدير RKNN الكمي INT8 مع int8=True، وهو مطلوب للأهداف التي تعمل بنظام INT8 فقط مثل RV1103 وRV1106 وRV1103B وRV1106B. توجد هذه المنصات بشكل شائع في أجهزة من مصنعين مثل Radxa وASUS وPine64 وOrange Pi وOdroid وKhadas وBanana Pi، مما يسمح لك بنشر نماذج RKNN المحسنة الخاصة بك على مجموعة من الأجهزة التي تعمل بنظام Rockchip بدءاً من أجهزة الكمبيوتر ذات اللوحة الواحدة وصولاً إلى الأنظمة الصناعية.
Link to this sectionكيف يقارن أداء نماذج RKNN بالتنسيقات الأخرى على أجهزة Rockchip؟#
تتفوق نماذج RKNN بشكل عام على التنسيقات الأخرى مثل ONNX أو TensorFlow Lite على أجهزة Rockchip نظراً لتحسينها لوحدات NPU الخاصة بشركة Rockchip. على سبيل المثال، تظهر المقارنات على Radxa Rock 5B (RK3588) أن YOLO26n بتنسيق RKNN يحقق وقت استدلال يبلغ 65.7 مللي ثانية/صورة، وهو أسرع بكثير من التنسيقات الأخرى. ميزة الأداء هذه متسقة عبر مختلف أحجام نماذج YOLO26، كما هو موضح في قسم المقارنات. من خلال الاستفادة من أجهزة NPU المخصصة، تقلل نماذج RKNN من وقت الاستجابة وتعظم الإنتاجية، مما يجعلها مثالية للتطبيقات في الوقت الفعلي على أجهزة الحافة القائمة على Rockchip.