تخطي إلى المحتوى

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

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

RKNN

ملاحظة

تم اختبار هذا الدليل باستخدام Radxa Rock 5B الذي يعتمد على Rockchip RK3588 و Radxa Zero 3W الذي يعتمد على Rockchip RK3566. من المتوقع أن يعمل عبر الأجهزة الأخرى المستندة إلى Rockchip والتي تدعم rknn-toolkit2 مثل RK3576 و RK3568 و RK3562 و RV1103 و RV1106 و RV1103B و RV1106B و RK2118.

ما هو Rockchip؟

تشتهر Rockchip بتقديم حلول متعددة الاستخدامات وموفرة للطاقة، وتقوم بتصميم أنظمة متقدمة على شريحة (SoCs) تعمل على تشغيل مجموعة واسعة من الأجهزة الإلكترونية الاستهلاكية والتطبيقات الصناعية وتقنيات الذكاء الاصطناعي. بفضل بنية ARM ووحدات معالجة عصبية (NPUs) مدمجة ودعم الوسائط المتعددة عالية الدقة، تتيح Rockchip SoCs أداءً متطورًا للأجهزة مثل الأجهزة اللوحية والتلفزيونات الذكية وأنظمة إنترنت الأشياء وتطبيقات الذكاء الاصطناعي المتطورة (edge AI applications). تقدم شركات مثل Radxa و ASUS و Pine64 و Orange Pi و Odroid و Khadas و Banana Pi مجموعة متنوعة من المنتجات القائمة على Rockchip SoCs، مما يزيد من نطاقها وتأثيرها عبر الأسواق المتنوعة.

مجموعة أدوات 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، مما يطيل عمر البطارية للأجهزة المحمولة.

تثبيت Flash OS على أجهزة Rockchip

الخطوة الأولى بعد الحصول على جهاز يعتمد على Rockchip هي تثبيت نظام تشغيل بحيث يمكن للأجهزة التمهيد في بيئة عمل. في هذا الدليل، سنشير إلى أدلة البدء الخاصة بالجهازين اللذين اختبرناهما وهما Radxa Rock 5B و Radxa Zero 3W.

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

تصدير نموذج Ultralytics YOLO11 إلى تنسيق RKNN وتشغيل الاستدلال بالنموذج الذي تم تصديره.

ملاحظة

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

التثبيت

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

التثبيت

# Install the required package for YOLO11
pip install ultralytics

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

الاستخدام

ملاحظة

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

الاستخدام

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", name="rk3588")  # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
yolo export model=yolo11n.pt format=rknn name=rk3588 # creates '/yolo11n_rknn_model'

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

الوسيطة النوع افتراضي الوصف
format str 'rknn' تنسيق الهدف للنموذج الذي تم تصديره، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgsz int أو tuple 640 حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون عددًا صحيحًا للصور المربعة أو صفًا. (height, width) لأبعاد محددة.
batch int 1 يحدد حجم الاستدلال الدفعي لنموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في predict الوضع.
name str 'rk3588' يحدد نموذج Rockchip (rk3588، rk3576، rk3566، rk3568، rk3562، rv1103، rv1106، rv1103b، rv1106b، rk2118)
device str None يحدد الجهاز للتصدير: GPU (device=0)، وحدة معالجة مركزية (CPU) (device=cpu).

نصيحة

يرجى التأكد من استخدام جهاز x86 Linux عند التصدير إلى RKNN.

لمزيد من التفاصيل حول عملية التصدير، قم بزيارة صفحة وثائق Ultralytics حول التصدير.

نشر نماذج YOLO11 RKNN المصدرة

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

التثبيت

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

التثبيت

# Install the required package for YOLO11
pip install ultralytics

الاستخدام

الاستخدام

from ultralytics import YOLO

# Load the exported RKNN model
rknn_model = YOLO("./yolo11n_rknn_model")

# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")
# Run inference with the exported model
yolo predict model='./yolo11n_rknn_model' source='https://ultralytics.com/images/bus.jpg'

ملاحظة

إذا واجهت رسالة سجل تشير إلى أن إصدار RKNN runtime لا يتطابق مع إصدار RKNN Toolkit وفشل الاستدلال، فيرجى استبدال /usr/lib/librknnrt.so مع الرسمي ملف librknnrt.so.

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

تطبيقات عملية في أرض الواقع

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

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

المعايير

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

الأداء

النموذج التنسيق الحالة الحجم (ميجابايت) mAP50-95(B) وقت الاستدلال (مللي ثانية / صورة)
YOLO11n rknn 7.4 0.505 71.5
YOLO11s rknn 20.7 0.578 98.9
YOLO11m rknn 41.9 0.629 235.3
YOLO11l rknn 53.3 0.633 282.0
YOLO11x rknn 114.6 0.687 679.2

تم القياس باستخدام ultralytics 8.3.152

ملاحظة

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

ملخص

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

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

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

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

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

كيف يمكنني تصدير نموذج Ultralytics YOLO الخاص بي إلى تنسيق RKNN؟

يمكنك بسهولة تصدير نموذج 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("yolo11n.pt")

# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")
yolo export model=yolo11n.pt format=rknn name=rk3588

ما هي فوائد استخدام نماذج RKNN على أجهزة Rockchip؟

تم تصميم نماذج RKNN خصيصًا للاستفادة من إمكانات تسريع الأجهزة لوحدات معالجة الشبكات العصبية (NPUs) الخاصة بـ Rockchip. تؤدي هذه التحسينات إلى سرعات استدلال أسرع بشكل ملحوظ وتقليل زمن الوصول مقارنة بتشغيل تنسيقات النماذج العامة مثل ONNX أو TensorFlow Lite على نفس الجهاز. يتيح استخدام نماذج RKNN استخدامًا أكثر كفاءة لموارد الجهاز، مما يؤدي إلى تقليل استهلاك الطاقة وأداء عام أفضل، وهو أمر بالغ الأهمية بشكل خاص للتطبيقات في الوقت الفعلي على الأجهزة الطرفية. من خلال تحويل نماذج Ultralytics YOLO الخاصة بك إلى RKNN، يمكنك تحقيق الأداء الأمثل على الأجهزة التي تعمل بواسطة Rockchip SoCs مثل 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، بما في ذلك RK3588 و RK3576 و RK3566 و RK3568 و RK3562 و RV1103 و RV1106 و RV1103B و RV1106B و RK2118 الشائعة. توجد هذه المنصات بشكل شائع في الأجهزة من الشركات المصنعة مثل Radxa و ASUS و Pine64 و Orange Pi و Odroid و Khadas و Banana Pi. يضمن هذا الدعم الواسع أنه يمكنك نشر نماذج RKNN المحسّنة على أجهزة مختلفة تعمل بالطاقة Rockchip، من أجهزة الكمبيوتر أحادية اللوحة إلى الأنظمة الصناعية، والاستفادة الكاملة من قدرات تسريع الذكاء الاصطناعي الخاصة بها لتحسين الأداء في تطبيقات رؤية الكمبيوتر الخاصة بك.

كيف تتم مقارنة أداء نماذج RKNN بالتنسيقات الأخرى على أجهزة Rockchip؟

تتفوق نماذج RKNN بشكل عام على التنسيقات الأخرى مثل ONNX أو TensorFlow Lite على أجهزة Rockchip نظرًا لتحسينها لوحدات NPU الخاصة بـ Rockchip. على سبيل المثال، تُظهر المقاييس على Radxa Rock 5B (RK3588) أن YOLO11n بتنسيق RKNN يحقق وقت استدلال يبلغ 99.5 مللي ثانية/صورة، وهو أسرع بكثير من التنسيقات الأخرى. هذه الميزة في الأداء متسقة عبر أحجام نماذج YOLO11 المختلفة، كما هو موضح في قسم المقاييس. من خلال الاستفادة من أجهزة NPU المخصصة، تقلل نماذج RKNN من زمن الوصول وتزيد من الإنتاجية، مما يجعلها مثالية للتطبيقات في الوقت الفعلي على الأجهزة الطرفية المستندة إلى Rockchip.



📅 تم إنشاؤه منذ 6 أشهر ✏️ تم التحديث منذ شهر واحد

تعليقات