YOLO Vision 2026:

تصدير Rockchip RKNN لنماذج Ultralytics YOLO26#

عند نشر نماذج الرؤية الحاسوبية على الأجهزة المدمجة، لا سيما تلك التي تعمل بمعالجات Rockchip، فإن توفر تنسيق نموذج متوافق يعد أمراً أساسياً. يضمن تصدير نماذج Ultralytics YOLO26 إلى تنسيق RKNN أداءً محسناً وتوافقاً مع عتاد Rockchip. سيقودك هذا الدليل خلال عملية تحويل نماذج YOLO26 الخاصة بك إلى تنسيق RKNN، بما في ذلك عمليات التصدير العائمة وتلك ذات الدقة الكمية INT8، مما يتيح التنش نشر الفعال على منصات Rockchip.

Rockchip RKNN export for NPU deployment

ملاحظة

تم اختبار هذا الدليل باستخدام 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 Toolkit مجموعة من الأدوات والمكتبات التي توفرها 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 السبع. مهام التقسيم الدلالي (Semantic segmentation) وتقدير العمق (depth estimation) متاحة فقط مع YOLO26، وهي العائلة الوحيدة التي توفر تلك الرؤوس.

المهمةYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

التصدير إلى RKNN: تحويل نموذج YOLO26 الخاص بك#

قم بتصدير نموذج Ultralytics YOLO26 إلى تنسيق RKNN وقم بتشغيل الاستدلال باستخدام النموذج المُصدّر.

ملاحظة

تأكد من استخدام جهاز كمبيوتر يعمل بنظام Linux قائم على بنية X86 لتصدير النموذج إلى RKNN لأن التصدير على الأجهزة القائمة على Rockchip (ARM64) غير مدعوم.

التثبيت#

لتثبيت الحزم المطلوبة، قم بتشغيل:

التثبيت
# Install the required package for YOLO26
pip install ultralytics

للحصول على إرشادات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على الحلول والنصائح.

الاستخدام#

ملاحظة

تصدير FP16 مدعوم لجميع المهام. تصدير INT8 مدعوم حالياً فقط لنماذج الكشف، مع توفير دعم لمزيد من المهام في المستقبل.

يدعم تنسيق RKNN أوضاع التصدير والتنبؤ والتحقق. يتم تشغيل الاستدلال والتحقق على عتاد وحدة المعالجة العصبية لـ Rockchip. قم بتصدير نموذجك، ثم قم بتحميل النموذج المصدر لتشغيل الاستدلال أو التحقق من دقته. بشكل افتراضي، يستخدم تصدير RKNN مسار البناء ذو الفاصلة العائمة (quantize=16) لأهداف Rockchip القادرة على دعم FP16. استخدم 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
model.export(format="rknn", name="rk3588", quantize=8, data="dota8.yaml")
التنبؤ
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")

وسائط التصدير#

الوسيطالنوعالافتراضيالوصف
formatstr'rknn'تنسيق الهدف للنموذج المُصدّر، مما يحدد التوافق مع بيئات نشر Rockchip.
imgszint أو tuple640حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون رقماً صحيحاً للصور المربعة أو صفاً (tuple) (height, width) لأبعاد محددة.
batchint1يحدد حجم الاستدلال المفعلي لنموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدّر في نفس الوقت في وضع predict.
namestr'rk3588'يحدد هدف Rockchip. تدعم rk3588 وrk3576 وrk3566 وrk3568 وrk3562 وrk2118 وrv1126b دقة FP16 (quantize=16 أو عدم التعيين) ودقة INT8 (quantize=8)؛ بينما تكون rv1103 وrv1106 وrv1103b وrv1106b مخصصة لـ INT8 فقط (quantize=8 أو عدم التعيين).
quantizeint أو strNoneدقة الكمية: عدم التعيين أو 16 يبني دقة FP16 للأهداف القادرة على دعم FP16؛ عدم التعيين يقوم تلقائياً بتمكين INT8 للأهداف المخصصة لـ INT8 فقط؛ 8 يبني دقة INT8. لا يوجد لدى تصدير RKNN وضع FP32 منفصل. يحل محل العلامات المهملة half/int8.
simplifyboolTrueيبسط رسم ONNX الوسيط باستخدام onnxslim.
opsetintNoneيحدد إصدار ONNX opset للرسم البياني الوسيط لـ ONNX. القيمة الافتراضية هي 19 إذا لم يتم تعيينها، ويتم تقليل القيم التي تزيد عن 19 إلى 19.
datastrNoneملف Dataset YAML المستخدم لمعايرة INT8؛ يأخذ التصنيف بدلاً من ذلك دليل مجموعة بيانات أو اسم مجموعة بيانات مدمجة. إذا تم حذفه مع quantize=8, تحدد Ultralytics مجموعة بيانات المعايرة الافتراضية لمهمة النموذج.
fractionfloat أو int أو list1.0مجموعة المعايرة الفرعية كنسبة، أو عدد صور، أو نسب/أعداد [train, val]؛ تحد قائمة train أو val، بينما يظل test كاملاً.
devicestrNoneيحدد الجهاز المستخدم للتصدير: وحدة معالجة الرسوميات 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 الرسمي.

لقطة شاشة لتصدير RKNN

تطبيقات العالم الحقيقي#

يمكن استخدام الأجهزة التي تعمل بمعالجات Rockchip مع نماذج YOLO26 RKNN في تطبيقات متنوعة:

  • المراقبة الذكية: نشر أنظمة كشف عن الأشياء فعالة للمراقبة الأمنية مع استهلاك منخفض للطاقة.
  • الأتمتة الصناعية: تنفيذ مراقبة الجودة والكشف عن العيوب مباشرة على الأجهزة المدمجة.
  • تحليلات التجزئة: تتبع سلوك العملاء وإدارة المخزون في الوقت الفعلي دون الاعتماد على السحابة.
  • الزراعة الذكية: مراقبة صحة المحاصيل واكتشاف الآفات باستخدام الرؤية الحاسوبية في الزراعة.
  • الروبوتات المستقلة: تمكين الملاحة القائمة على الرؤية واكتشاف العوائق على المنصات ذات الموارد المحدودة.

المقارنات المعيارية#

تم تشغيل معايير YOLO26 أدناه بواسطة فريق Ultralytics على Radxa Rock 5B المستند إلى معالج Rockchip RK3588 باستخدام تنسيق النموذج rknn لقياس السرعة والدقة.

الأداء
النموذجالتنسيقالدقة (Precision)الحالةالحجم (MB)mAP50-95(B)وقت الاستدلال (ms/im)
YOLO26nrknnFP167.20.47758.5
YOLO26nrknnINT84.10.46341.2
YOLO26srknnFP1621.00.56993.8
YOLO26srknnINT812.00.55461.9
YOLO26mrknnFP1643.00.608226.3
YOLO26mrknnINT822.00.603122.0
YOLO26lrknnFP1653.00.628264.7
YOLO26lrknnINT828.00.617145.3
YOLO26xrknnFP16113.00.664655.4
YOLO26xrknnINT858.00.649287.4

تمت مقارنتها باستخدام ultralytics 8.4.60

ملاحظة

تم إجراء التحقق من الصحة للمعايير المذكورة أعلاه باستخدام مجموعة بيانات COCO128. لا يشمل وقت الاستدلال المعالجة المسبقة/اللاحقة.

ملخص#

في هذا الدليل، تعلمت كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق RKNN لتعزيز نشرها على منصات Rockchip. تم تعريفك أيضاً على RKNN Toolkit والمزايا المحددة لاستخدام نماذج RKNN لتطبيقات الذكاء الاصطناعي على الحافة.

يوفر الجمع بين Ultralytics YOLO26 وتقنية وحدة المعالجة العصبية لـ Rockchip حلاً فعالاً لتشغيل مهام الرؤية الحاسوبية المتقدمة على الأجهزة المدمجة. يتيح هذا النهج اكتشاف الكائنات في الوقت الفعلي وتطبيقات ذكاء الرؤية الأخرى بأقل استهلاك للطاقة وأعلى أداء.

لمزيد من التفاصيل حول الاستخدام، تفضل بزيارة التوثيق الرسمي لـ RKNN.

أيضاً، إذا كنت ترغب في معرفة المزيد حول تكاملات Ultralytics YOLO26 الأخرى، تفضل بزيارة صفحة دليل التكامل. ستجد هناك الكثير من الموارد والرؤى المفيدة.

الأسئلة الشائعة#

  • يمكنك بسهولة تصدير نموذج 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 خصيصاً للاستفادة من قدرات تسريع الأجهزة في وحدات المعالجة العصبية (NPUs) الخاصة بشركة Rockchip. يؤدي هذا التحسين إلى سرعات استدلال أسرع بشكل ملحوظ وتقليل زمن الاستجابة مقارنة بتشغيل تنسيقات النماذج العامة مثل ONNX أو LiteRT على نفس الأجهزة. يتيح استخدام نماذج RKNN استخداماً أكثر كفاءة لموارد الجهاز، مما يؤدي إلى استهلاك أقل للطاقة وأداء عام أفضل، وهو أمر بالغ الأهمية للتطبيقات التي تعمل في الوقت الفعلي على أجهزة الحافة. من خلال تحويل نماذج Ultralytics YOLO الخاصة بك إلى RKNN، يمكنك تحقيق الأداء الأمثل على الأجهزة التي تعمل بمعالجات Rockchip SoCs مثل RK3588 وRK3566 وغيرها.

  • تم تحسين نماذج RKNN خصيصاً لمنصات Rockchip ووحدات المعالجة العصبية المدمجة بها. بينما يمكنك تقنياً تشغيل نموذج RKNN على منصات أخرى باستخدام المحاكاة البرمجية، فلن تستفيد من التسريع الععتادي الذي توفره أجهزة Rockchip. للحصول على الأداء الأمثل على المنصات الأخرى، يوصى بتصدير نماذج Ultralytics YOLO الخاصة بك إلى تنسيقات مصممة خصيصاً لتلك المنصات، مثل TensorRT لوحدات معالجة الرسوميات من 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 نظراً لتحسينها المخصص لوحدات المعالجة العصبية (NPUs) من Rockchip. على سبيل المثال، تُظهر اختبارات الأداء على جهاز Radxa Rock 5B (RK3588) أن نموذج YOLO26n بتنسيق RKNN يحقق وقتاً للاستدلال يبلغ 58.5 ملي ثانية/صورة في وضع FP16 و41.2 ملي ثانية/صورة في وضع INT8، وهو أسرع بكثير مقارنة بالتنسيقات الأخرى. هذه الميزة في الأداء تتسق عبر مختلف أحجام نماذج YOLO26، كما هو موضح في قسم اختبارات الأداء. ومن خلال الاستفادة من عتاد NPU المخصص، تقلل نماذج RKNN من زمن الانتقالات وتعظم معدل النقل، مما يجعلها مثالية للتطبيقات الفورية على الأجهزة الطرفية القائمة على Rockchip.

التعليقات