تصدير نماذج Ultralytics YOLO26 إلى RKNN لأجهزة Rockchip#
عند نشر نماذج الرؤية الحاسوبية على الأجهزة المضمنة، ولا سيما تلك التي تعمل بمعالجات 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، quantize=8.
ما هي Rockchip؟#
تشتهر Rockchip بتقديم حلول متعددة الاستخدامات وموفرة للطاقة، إذ تصمم شرائح النظام على رقاقة (SoCs) متقدمة تشغّل مجموعة واسعة من الإلكترونيات الاستهلاكية والتطبيقات الصناعية وتقنيات الذكاء الاصطناعي. وبفضل بنيتها القائمة على ARM، ووحدات المعالجة العصبية (NPUs) المدمجة، ودعم الوسائط المتعددة عالية الدقة، تتيح شرائح Rockchip أداءً متطورًا لأجهزة مثل الأجهزة اللوحية وأجهزة التلفاز الذكية وأنظمة إنترنت الأشياء وتطبيقات الذكاء الاصطناعي الطرفية. وتقدم شركات مثل Radxa وASUS وPine64 وOrange Pi وOdroid وKhadas وBanana Pi مجموعة متنوعة من المنتجات المستندة إلى شرائح Rockchip، مما يوسع نطاق انتشارها وتأثيرها في أسواق متنوعة.
مجموعة أدوات RKNN#
تُعد مجموعة أدوات RKNN مجموعة من الأدوات والمكتبات التي توفرها Rockchip لتسهيل نشر نماذج التعلم العميق على منصاتها العتادية. ويُعد RKNN، أو الشبكة العصبية من Rockchip، التنسيق الخاص الذي تستخدمه هذه الأدوات. صُممت نماذج 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 جميع مهام Ultralytics السبع. ولا يتوفر التجزئة الدلالية وتقدير العمق إلا في YOLO26، وهي العائلة الوحيدة التي تأتي بهذه الرؤوس.
التصدير إلى RKNN: تحويل نموذج YOLO26 الخاص بك#
صدّر نموذج Ultralytics YOLO26 إلى تنسيق RKNN وشغّل الاستدلال باستخدام النموذج المُصدّر.
احرص على استخدام حاسوب Linux قائم على X86 لتصدير النموذج إلى RKNN، لأن التصدير على الأجهزة القائمة على Rockchip (ARM64) غير مدعوم.
التثبيت#
لتثبيت الحزم المطلوبة، شغّل:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على الحلول والنصائح.
الاستخدام#
تصدير FP16 مدعوم لجميع المهام. تصدير INT8 مدعوم حالياً لنماذج الكشف فقط، مع توفير دعم لمزيد من المهام في المستقبل؛ ولهذا السبب تقوم الأهداف التي تدعم INT8 فقط مثل RV1103 و RV1106 بتصدير نماذج الكشف فقط.
يدعم تنسيق RKNN أوضاع التصدير والتنبؤ والتحقق. ويُجرى الاستدلال والتحقق على عتاد NPU في Rockchip. صدّر نموذجك، ثم حمّل النموذج المُصدّر لتشغيل الاستدلال أو التحقق من دقته. يستخدم تصدير RKNN افتراضيًا مسار البناء ذي الفاصلة العائمة (quantize=16) للأهداف التي تدعم FP16 في Rockchip. استخدم quantize=8 لبناء نموذج RKNN مكمّم بتنسيق INT8 باستخدام بيانات المعايرة. لا يوفّر تصدير RKNN وضعًا منفصلًا بتنسيق FP32؛ إذ إن الإعداد الافتراضي FP16 لا يطلب 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 (detection models only)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'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")وسائط التصدير#
| الوسيطة | النوع | الافتراضي | الوصف |
|---|---|---|---|
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 تنسيقي FP16 (quantize=16 أو غير المحدد) وINT8 (quantize=8)؛ أما rv1103 وrv1106 وrv1103b وrv1106b فتدعم INT8 فقط (quantize=8 أو غير المحدد). |
quantize | int أو str | None | دقة التكميم: غير محدد أو 16 يبني FP16 للأهداف القادرة على دعم FP16؛ غير المحدد يقوم تلقائياً بتفعيل INT8 للأهداف التي تدعم INT8 فقط؛ 8 يبني INT8، وهو مدعوم لنماذج الكشف فقط. تصدير RKNN ليس له وضع FP32 منفصل. يحل محل علامات half/int8 المهملة. |
simplify | bool | True | يبسّط الرسم البياني الوسيط لـ ONNX باستخدام onnxslim. |
opset | int | None | يحدد إصدار مجموعة عمليات ONNX للرسم البياني الوسيط في ONNX. ويكون الإعداد الافتراضي 19 إذا لم يُحدد، وتُخفّض القيم التي تتجاوز 19 إلى 19. |
data | str | None | ملف Dataset YAML المستخدم لمعايرة INT8. إذا تم استبعاده مع quantize=8، تقوم Ultralytics بتحديد مجموعة بيانات معايرة الكشف الافتراضية (coco8.yaml). |
fraction | float أو int أو list | 1.0 | مجموعة المعايرة الجزئية كنسبة أو عدد صور أو نسب/أعداد [train, val, test]. تترك القوائم ذات العنصرين test ممتلئًا، بينما تتخطى 0. |
device | str | None | يحدد الجهاز المستخدم للتصدير: GPU (device=0) أو CPU (device=cpu). |
يرجى التأكد من استخدام جهاز Linux بمعمارية x86 عند التصدير إلى RKNN.
لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة توثيق Ultralytics حول التصدير.
نشر نماذج YOLO26 RKNN المُصدّرة#
بعد تصدير نماذج Ultralytics YOLO26 إلى تنسيق RKNN بنجاح، تتمثل الخطوة التالية في نشر هذه النماذج على الأجهزة القائمة على Rockchip.
التثبيت#
لتثبيت الحزم المطلوبة، شغّل:
# Install the required package for YOLO26
pip install ultralyticsبعد التثبيت، شغّل الاستدلال والتحقق على جهاز Rockchip تمامًا كما هو موضح في قسم الاستخدام أعلاه — إذ يُحمّل _rknn_model المُصدّر مباشرةً باستخدام YOLO(...).
إذا واجهت رسالة في السجل تشير إلى عدم تطابق إصدار وقت تشغيل RKNN مع إصدار مجموعة أدوات RKNN وفشل الاستدلال، فالرجاء استبدال /usr/lib/librknnrt.so بملف librknnrt.so الرسمي.

التطبيقات الواقعية#
يمكن استخدام الأجهزة المدعومة من Rockchip مع نماذج YOLO26 RKNN في تطبيقات متنوعة:
- المراقبة الذكية: نشر أنظمة فعالة لكشف الأجسام لمراقبة الأمن مع استهلاك منخفض للطاقة.
- الأتمتة الصناعية: تنفيذ مراقبة الجودة وكشف العيوب مباشرةً على الأجهزة المضمنة.
- تحليلات البيع بالتجزئة: تتبع سلوك العملاء وإدارة المخزون في الوقت الفعلي دون الاعتماد على السحابة.
- الزراعة الذكية: مراقبة صحة المحاصيل وكشف الآفات باستخدام الرؤية الحاسوبية في الزراعة.
- الروبوتات المستقلة: تمكين الملاحة القائمة على الرؤية وكشف العوائق على منصات محدودة الموارد.
المعايير المرجعية#
أجرى فريق Ultralytics المعايير الواردة أدناه لـ YOLO26 على Radxa Rock 5B المستند إلى Rockchip RK3588، باستخدام تنسيق النموذج rknn لقياس السرعة والدقة.
| النموذج | التنسيق | الدقة | الحالة | الحجم (MB) | mAP50-95(B) | زمن الاستدلال (مللي ثانية/صورة) |
|---|---|---|---|---|---|---|
| YOLO26n | rknn | FP16 | ✅ | 7.2 | 0.477 | 58.5 |
| YOLO26n | rknn | INT8 | ✅ | 4.1 | 0.463 | 41.2 |
| YOLO26s | rknn | FP16 | ✅ | 21.0 | 0.569 | 93.8 |
| YOLO26s | rknn | INT8 | ✅ | 12.0 | 0.554 | 61.9 |
| YOLO26m | rknn | FP16 | ✅ | 43.0 | 0.608 | 226.3 |
| YOLO26m | rknn | INT8 | ✅ | 22.0 | 0.603 | 122.0 |
| YOLO26l | rknn | FP16 | ✅ | 53.0 | 0.628 | 264.7 |
| YOLO26l | rknn | INT8 | ✅ | 28.0 | 0.617 | 145.3 |
| YOLO26x | rknn | FP16 | ✅ | 113.0 | 0.664 | 655.4 |
| YOLO26x | rknn | INT8 | ✅ | 58.0 | 0.649 | 287.4 |
اختُبر باستخدام ultralytics 8.4.60
تم إجراء التحقق من صحة المعايير المذكورة أعلاه باستخدام مجموعة بيانات COCO128. لا يتضمن وقت الاستدلال عمليات المعالجة المسبقة أو اللاحقة.
الملخص#
في هذا الدليل، تعلمت كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق RKNN لتحسين نشرها على منصات Rockchip. كما تعرفت إلى مجموعة أدوات RKNN والمزايا المحددة لاستخدام نماذج RKNN في تطبيقات الذكاء الاصطناعي الطرفية.
يوفر الجمع بين Ultralytics YOLO26 وتقنية NPU في Rockchip حلًا فعالًا لتشغيل مهام الرؤية الحاسوبية المتقدمة على الأجهزة المضمنة. ويتيح هذا النهج كشف الأجسام في الوقت الفعلي وتطبيقات أخرى للذكاء الاصطناعي المرئي مع استهلاك منخفض للطاقة وأداء عالٍ.
لمزيد من التفاصيل حول الاستخدام، يُرجى زيارة الوثائق الرسمية لـ RKNN.
وإذا كنت ترغب أيضًا في معرفة المزيد عن تكاملات Ultralytics YOLO26 الأخرى، فتفضل بزيارة صفحة دليل التكامل. ستجد هناك الكثير من الموارد والرؤى المفيدة.
الأسئلة الشائعة#
يمكنك بسهولة تصدير نموذج Ultralytics YOLO إلى تنسيق RKNN باستخدام طريقة
export()في حزمة Ultralytics Python أو عبر واجهة سطر الأوامر (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 خصيصًا للاستفادة من إمكانات تسريع الأجهزة التي توفرها وحدات المعالجة العصبية (NPUs) في Rockchip. وينتج عن هذا التحسين سرعات استدلال أعلى بكثير وزمن استجابة أقل مقارنةً بتشغيل تنسيقات نماذج عامة مثل ONNX أو LiteRT على العتاد نفسه. ويتيح استخدام نماذج RKNN استغلال موارد الجهاز بكفاءة أكبر، مما يؤدي إلى استهلاك أقل للطاقة وأداء عام أفضل، وهو أمر بالغ الأهمية خصوصًا للتطبيقات الآنية على الأجهزة الطرفية. ومن خلال تحويل نماذج Ultralytics YOLO إلى RKNN، يمكنك تحقيق الأداء الأمثل على الأجهزة المدعومة بشرائح Rockchip، مثل RK3588 وRK3566 وغيرها.
حُسّنت نماذج RKNN خصيصًا لمنصات Rockchip ووحدات NPU المدمجة فيها. وعلى الرغم من إمكانية تشغيل نموذج RKNN تقنيًا على منصات أخرى باستخدام محاكاة برمجية، فلن تستفيد من تسريع الأجهزة الذي توفره أجهزة Rockchip. ولتحقيق الأداء الأمثل على المنصات الأخرى، يُنصح بتصدير نماذج Ultralytics YOLO إلى تنسيقات مصممة خصيصًا لتلك المنصات، مثل TensorRT لوحدات GPU من NVIDIA أو Edge TPU لأجهزة Coral من Google. تدعم Ultralytics التصدير إلى مجموعة واسعة من التنسيقات، مما يضمن التوافق مع مسرّعات الأجهزة المختلفة.
يدعم تصدير Ultralytics YOLO إلى تنسيق RKNN منصات Rockchip التي تتضمن عمليات بناء RKNN بالفاصلة العائمة، ومنها RK3588 وRK3576 وRK3566 وRK3568 وRK3562 وRK2118 وRV1126B. كما يدعم تصدير RKNN المكمّم بتنسيق INT8 باستخدام
quantize=8، وهو مطلوب للأهداف التي تدعم INT8 فقط، مثل RV1103 وRV1106 وRV1103B وRV1106B. وتوجد هذه المنصات عادةً في أجهزة من شركات مصنّعة مثل Radxa وASUS وPine64 وOrange Pi وOdroid وKhadas وBanana Pi، مما يتيح نشر نماذج RKNN المحسّنة على مجموعة من الأجهزة المدعومة من Rockchip، بدءًا من الحواسيب أحادية اللوحة وصولًا إلى الأنظمة الصناعية.تتفوق نماذج RKNN عمومًا على تنسيقات أخرى مثل ONNX أو LiteRT على أجهزة Rockchip، بفضل تحسينها لوحدات NPU في Rockchip. فعلى سبيل المثال، تُظهر المعايير على Radxa Rock 5B (RK3588) أن YOLO26n بتنسيق RKNN يحقق زمن استدلال قدره 58.5 مللي ثانية/صورة بتنسيق FP16 و41.2 مللي ثانية/صورة بتنسيق INT8، وهو أسرع بكثير من التنسيقات الأخرى. وتتسق ميزة الأداء هذه عبر أحجام نماذج YOLO26 المختلفة، كما هو موضح في قسم المعايير. وبالاستفادة من عتاد NPU المخصص، تقلل نماذج RKNN زمن الاستجابة وتزيد معدل المعالجة إلى أقصى حد، مما يجعلها مثالية للتطبيقات الآنية على الأجهزة الطرفية القائمة على Rockchip.