تصدير نماذج Ultralytics YOLO26 إلى Rockchip RKNN#
عند نشر نماذج الرؤية الحاسوبية على الأجهزة المضمنة، ولا سيما الأجهزة المزودة بمعالجات 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) المدمجة، ودعم الوسائط المتعددة عالية الدقة، تتيح أنظمة SoC من Rockchip أداءً متطورًا لأجهزة مثل الأجهزة اللوحية وأجهزة التلفاز الذكية وأنظمة إنترنت الأشياء وتطبيقات الذكاء الاصطناعي الطرفية. وتقدم شركات مثل Radxa وASUS وPine64 وOrange Pi وOdroid وKhadas وBanana Pi مجموعة متنوعة من المنتجات القائمة على أنظمة SoC من Rockchip، ما يوسع نطاق انتشارها وتأثيرها في أسواق متعددة.
مجموعة أدوات RKNN#
إن مجموعة أدوات RKNN هي مجموعة من الأدوات والمكتبات التي تقدمها Rockchip لتسهيل نشر نماذج التعلم العميق على منصاتها العتادية. ويُعد RKNN، أو الشبكة العصبية من Rockchip، التنسيق الخاص الذي تستخدمه هذه الأدوات. صُممت نماذج RKNN للاستفادة الكاملة من تسريع الأجهزة الذي توفره وحدة المعالجة العصبية (NPU) من Rockchip، بما يضمن أداءً عاليًا في مهام الذكاء الاصطناعي على أجهزة مثل RK3588 وRK3566 وRV1103 وRV1106 وغيرها من الأنظمة المدعومة من Rockchip.
الميزات الرئيسية لنماذج RKNN#
توفر نماذج RKNN عدة مزايا للنشر على منصات Rockchip:
- محسّنة لوحدة NPU: تُحسّن نماذج RKNN خصيصًا لتعمل على وحدات NPU من Rockchip، ما يضمن أقصى أداء وكفاءة.
- زمن استجابة منخفض: يقلل تنسيق RKNN من زمن استجابة الاستدلال، وهو أمر بالغ الأهمية للتطبيقات الآنية على الأجهزة الطرفية.
- تخصيص خاص بالمنصة: يمكن تكييف نماذج RKNN مع منصات Rockchip محددة، ما يتيح استخدام موارد الأجهزة على نحو أفضل.
- كفاءة استهلاك الطاقة: تستفيد نماذج RKNN من عتاد NPU المخصص، فتستهلك طاقة أقل من المعالجة المعتمدة على 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) للأهداف من Rockchip القادرة على استخدام FP16. استخدم quantize=8 لإنشاء نموذج RKNN مكمّم بصيغة INT8 باستخدام بيانات المعايرة. لا يتيح تصدير RKNN وضع FP32 منفصلًا؛ فالإعداد الافتراضي FP16 لا يطلب FP32.
from ultralytics import YOLO
# حمّل نموذج YOLO26 (استبدله بأي نموذج لمهمة مدعومة)
model = YOLO("yolo26n-obb.pt")
# صدّر النموذج إلى تنسيق RKNN
model.export(format="rknn", name="rk3588") # creates 'yolo26n-obb_rknn_model'
# صدّر نموذج RKNN مكمّمًا بصيغة INT8 باستخدام بيانات المعايرة (نماذج الكشف فقط)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'from ultralytics import YOLO
# حمّل نموذج RKNN المُصدّر
model = YOLO("./yolo26n-obb_rknn_model")
# تنفيذ الاستدلال
results = model("https://ultralytics.com/images/boats.jpg")from ultralytics import YOLO
# حمّل نموذج RKNN المُصدّر
model = YOLO("./yolo26n-obb_rknn_model")
# تحقق من الدقة باستخدام مجموعة بيانات DOTA8
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 opset للرسم البياني الوسيط في ONNX. القيمة الافتراضية هي 19 إذا لم يُحدّد الخيار، وتُخفّض القيم التي تتجاوز 19 إلى 19. |
data | str | None | ملف 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) | وقت الاستدلال (ms/im) |
|---|---|---|---|---|---|---|
| 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 # حمّل نموذج YOLO الخاص بك model = YOLO("yolo26n.pt") # صدّر النموذج إلى تنسيق RKNN لمنصة Rockchip محددة model.export(format="rknn", name="rk3588")صُممت نماذج RKNN خصيصًا للاستفادة من إمكانات تسريع الأجهزة التي توفرها وحدات المعالجة العصبية (NPUs) من Rockchip. وينتج عن هذا التحسين سرعات استدلال أعلى بكثير وزمن استجابة أقل مقارنةً بتشغيل تنسيقات النماذج العامة مثل ONNX أو LiteRT على العتاد نفسه. ويتيح استخدام نماذج RKNN استغلال موارد الجهاز بكفاءة أكبر، ما يؤدي إلى خفض استهلاك الطاقة وتحسين الأداء الإجمالي، وهو أمر بالغ الأهمية خصوصًا للتطبيقات الآنية على الأجهزة الطرفية. ومن خلال تحويل نماذج Ultralytics YOLO إلى RKNN، يمكنك تحقيق أفضل أداء على الأجهزة المزودة بأنظمة SoC من 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.