Yolo فيجن شنتشن
شنتشن
انضم الآن

استخدام تكامل ONNX لتصدير نماذج Ultralytics YOLO

أبيرامي فينا

4 دقائق قراءة

2 مايو 2025

تعرّف على كيفية تصدير نماذج Ultralytics YOLO مثل Ultralytics YOLO11 باستخدام تكامل ONNX للنشر عبر مختلف المنصات عبر مختلف الأجهزة.

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

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

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

لكن نشر نماذج الرؤية الحاسوبية عبر مجموعة من أهداف النشر ليس دائمًا بسيطًا. تختلف الأجهزة من حيث الأجهزة وأنظمة التشغيل والأطر المدعومة، مما يجعل المرونة والتوافق ضروريين.

لهذا السبب فإن وجود خيار تصدير نماذج الرؤية الحاسوبية مثل Ultralytics YOLO11 إلى تنسيقات مختلفة أمر أساسي. على سبيل المثال، يوفر تكامل ONNX (Open Neural Network Exchange) المدعوم من Ultralytics طريقة عملية لسد الفجوة بين التدريب والنشر. ONNX هو تنسيق مفتوح يجعل النماذج محايدة من حيث الإطار وجاهزة للنشر عبر المنصات.

الشكل 1. يساعدك ONNX على أخذ نموذج تم تدريبه في إطار عمل وتشغيله في إطار عمل آخر بسهولة.

في هذه المقالة، سنلقي نظرة عن كثب على تكاملONNX المدعوم من قبل Ultralytics ونستكشف كيف يمكنك تصدير نموذج YOLO11 الخاص بك للنشر المرن عبر المنصات.

ما هو ONNX ووقت تشغيل ONNX

تبادل الشبكات العصبية المفتوحة هو مشروع مفتوح المصدر يحدد تنسيقًا قياسيًا لنماذج التعلم الآلي. تم تطويره في الأصل من قبل Microsoft وفيسبوك، وهو يسمح للمطورين بتدريب نموذج في إطار عمل واحد، مثل PyTorch وتشغيله في إطار عمل آخر، مثل TensorFlow. وهذا يجعل تطوير الذكاء الاصطناعي أكثر مرونةً وتعاوناً وسهولةً، خاصةً في مجالات مثل الرؤية الحاسوبية.

يوفر ONNX مجموعة مشتركة من المشغلات وتنسيق ملف موحد، مما يسهل نقل النماذج بين الأدوات والأطر وأوقات التشغيل والمُجمِّعات المختلفة. عادةً، لا يتوافق النموذج المدرَّب في إطار عمل ما بسهولة مع إطار عمل آخر - ولكن مع ONNX يمكنك تصدير نموذجك مرة واحدة ونشره في أي مكان تقريبًا: على وحدات المعالجة المركزية (وحدات المعالجة المركزية) أو وحدات معالجة الرسومات (وحدات معالجة الرسومات) أو الأجهزة المحمولة أو الأجهزة المتطورة.

كما أن ONNX Runtime هو محرك استدلالي عالي الأداء تم تطويره خصيصًا لتشغيل النماذج بتنسيق ONNX . وهو مصمم لجعل نماذج ONNX تعمل بشكل أسرع وأكثر كفاءة عبر مجموعة واسعة من الأنظمة الأساسية - بما في ذلك الخوادم والأجهزة المحمولة والأجهزة المتطورة. يتوافق ONNX Runtime مع أطر العمل الشائعة مثل PyTorch و TensorFlow و TensorFlow Lite و scikit-learn، مما يسهل دمجها في عمليات سير العمل المختلفة ونشر النماذج أينما كانت هناك حاجة إليها.

الشكل 2. يتيح كل من ONNX و ONNX Runtime نشر نماذج مرنة عبر المنصات.

الميزات الرئيسية لـ ONNX 

قبل أن نناقش كيفية تصدير YOLO11 إلى تنسيق ONNX دعنا نتحقق من بعض الميزات الرئيسية لتنسيق نموذج ONNX . 

سواء كنت تقوم بالتبديل بين الأدوات، أو النشر على أجهزة مختلفة، أو ترقية الأنظمة، يساعد ONNX في الحفاظ على سير كل شيء بسلاسة. إليك ما يجعل تنسيق نموذج ONNX فريداً من نوعه:

  • تنسيق قياسي واحد: يستخدم ONNX طريقة شائعة لوصف كيفية بناء النماذج، مثل الطبقات والعمليات (فكر فيها على أنها لبنات بناء). عندما يتم تحويل نموذج إلى ONNX فإنه يتبع هذا المعيار بحيث يمكن لأي نظام يدعم ONNX فهمه وتشغيله.
  • التوافق مع الإصدارات السابقة: حتى مع استمرار تحسين ONNX فإنه يضمن استمرار عمل النماذج القديمة مع الإصدارات الأحدث. هذا يعني أنك لست مضطرًا إلى إعادة تدريب أو إعادة بناء نماذجك في كل مرة تحصل فيها ONNX على تحديث.
  • تصميم نموذج قائم على الرسم البياني: تُصمم نماذج ONNX على شكل رسوم بيانية حسابية، حيث تمثل كل عقدة عملية (مثل طبقة أو دالة رياضية)، وتشير الحواف إلى تدفق البيانات. يسهّل هذا التصميم القائم على الرسم البياني التكامل مع مختلف الأنظمة التي تستخدم هياكل رسوم بيانية حسابية مماثلة.
  • أدوات سهلة الاستخدام للمطورين: يأتي مع مجموعة واسعة من الأدوات التي تساعدك على تحويل النماذج والتحقق من صحتها وتحسينها. تعمل هذه الأدوات على تبسيط عملية نقل النماذج بين الأطر المختلفة ويمكن أن تسرع النشر - خاصة لتطبيقات الرؤية الحاسوبية.

نظرة عامة على تكامل ONNX

يعد تصدير نماذجUltralytics YOLO مثل Ultralytics YOLO11 بتنسيق ONNX أمرًا بسيطًا ومباشرًا ويمكن القيام به في بضع خطوات. 

للبدء، قم بتثبيت حزمةUltralytics Python باستخدام مدير حزم مثل "pip". يمكن القيام بذلك عن طريق تشغيل الأمر "pip install ultralytics" في موجه الأوامر أو في المحطة الطرفية للبدء.

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

بمجرد تثبيت حزمة Ultralytics يمكنك تحميل نموذج YOLO11 وتصديره إلى تنسيق ONNX باستخدام الكود أدناه. يقوم هذا المثال بتحميل نموذج YOLO11 المدرّب مسبقًا (yolo11n.pt) وتصديره كملف ONNX (yolo11nonnx)، مما يجعله جاهزًا للنشر عبر منصات وأجهزة مختلفة.

بعد تحويل نموذجك إلى تنسيق ONNX يمكنك نشره على مجموعة متنوعة من المنصات. 

يوضّح المثال أدناه كيفية تحميل نموذج YOLO11 المُصدَّر (yolo11nonnx) وتشغيل الاستدلال به. الاستدلال يعني ببساطة استخدام النموذج المدرّب لإجراء تنبؤات على بيانات جديدة. في هذه الحالة، سنستخدم عنوان URL لصورة حافلة لاختبار النموذج.

عند تشغيل هذا الرمز، ستُحفظ صورة الإخراج التالية في مجلد detect.

الشكل 3. تشغيل استدلال باستخدام نموذج YOLO11 المُصدَّر على صورة.

متى يجب عليك اختيار تكامل ONNX

تدعم حزمة Ultralytics Python تصدير النماذج إلى عدة تنسيقات، بما في ذلك TorchScript و CoreML و TensorRT و ONNX. إذن، لماذا تختار ONNX

ما يميز ONNX هو أنه تنسيق لا يعتمد على إطار العمل. في حين أن العديد من تنسيقات التصدير الأخرى مرتبطة بأدوات أو بيئات معينة، يستخدم ONNX تنسيقًا موحدًا ومجموعة مشتركة من المشغلات. وهذا يجعلها قابلة للنقل بدرجة كبيرة وسهلة الاستخدام ومثالية للنشر عبر المنصات - سواء كنت تعمل مع خوادم سحابية أو تطبيقات جوال أو أجهزة متطورة. 

فيما يلي بعض الأسباب التي تجعل تكامل ONNX الخيار المثالي لمشاريع YOLO11 الخاصة بك:

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

تطبيقات YOLO11 وصيغة نموذج ONNX

بعد ذلك، دعنا نستكشف بعض التطبيقات الواقعية حيث يمكن نشر YOLO11 بمساعدة تكامل ONNX .

تتبع المخزون في المستودعات باستخدام YOLO11

في المستودعات المزدحمة، من الصعب مراقبة كل منتج وعبوة في جميع الأوقات. يمكن لأنظمة الرؤية الحاسوبية مساعدة العمال في العثور على المنتجات على الرفوف والحصول على رؤى مثل عدد المنتجات ونوعها وما إلى ذلك. يمكن لهذه الأنظمة مساعدة الشركات في إدارة مخزونها الواسع تلقائيًا وتوفير الكثير من الوقت لعمال المستودعات.

على وجه التحديد، في المستودعات الذكية، يمكن استخدام نماذج YOLO11 المصدرة إلى ONNX لتحديد العناصر وعدّها في الوقت الفعلي باستخدام الكاميرات وأجهزة الحافة. يمكن للنموذج المُصدَّر أن يساعد في مسح الأرفف أو المنصات النقالة detect مستويات المخزون أو العناصر المفقودة أو البقع الفارغة. وبما أن التصدير إلى ONNX يجعل النموذج خفيف الوزن وفعّالاً، يمكن تشغيله مباشرةً على الأجهزة الطرفية الصغيرة، مثل الكاميرات الذكية، مما يلغي الحاجة إلى خوادم باهظة الثمن أو الوصول المستمر إلى السحابة.

الشكل 4. مثال على استخدام YOLO11 detect الحزم وعدّها.

إدارة نفايات المستشفيات باستخدام YOLO11

تنتج المستشفيات في جميع أنحاء العالم كميات كبيرة من النفايات كل يوم، من القفازات والحقن المستخدمة إلى المعدات المستخدمة أثناء الجراحة (مثل الأدوات الجراحية ذات الاستخدام الواحد أو الملوثة مثل المقص والمشارط). في الواقع، تُظهر الأبحاث أن المستشفيات تنتج حوالي 5 ملايين طن من النفايات كل عام، أي 29 رطلاً من النفايات لكل سرير في اليوم. 

فرز هذه النفايات بشكل صحيح أمر ضروري للنظافة والسلامة واتباع اللوائح. مع نماذج YOLO11 التي يتم تصديرها بتنسيق ONNX يمكن للمستشفيات أتمتة عملية التخلص من النفايات ومراقبتها في الوقت الفعلي.

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

الشكل 5. استخدام YOLO11 detect الأدوات الطبية.

مراقبة المحاصيل YOLO11

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

والآن، مع ابتكارات الرؤية الحاسوبية مثل YOLO11 التي يتم تصديرها بتنسيق ONNX يمكن للمزارعين إدخال الأتمتة والدقة في الحقل. باستخدام الطائرات بدون طيار أو الكاميرات المثبتة على الجرارات أو الأعمدة، يمكن للمزارعين التقاط صور لمحاصيلهم (مثل الطماطم أو التفاح أو القمح). ويمكن بعد ذلك استخدام YOLO11 detect المؤشرات الرئيسية مثل اللون والحجم وتوزيع المحاصيل. استناداً إلى هذه المعلومات، يمكن للمزارعين تحديد ما إذا كانت المحاصيل جاهزة للحصاد أو لا تزال في مرحلة النضج أو تجاوزت بالفعل ذروتها.

الشكل 6. يمكن استخدام YOLO11 detect المحاصيل في لقطات الطائرات بدون طيار. 

قيود ONNX التي يجب مراعاتها

بينما يوفر ONNX العديد من المزايا، مثل قابلية النقل والتوافق عبر المنصات وقابلية التشغيل البيني للإطار، إلا أن هناك بعض القيود التي يجب وضعها في الاعتبار.

  • حجم النموذج: يمكن أن يؤدي تحويل النماذج إلى تنسيق ONNX أحيانًا إلى أحجام ملفات أكبر مقارنةً بتنسيقاتها الأصلية. يمكن أن تساعد تقنيات مثل التكميم والتشذيب في التخفيف من هذه المشكلة عن طريق تقليل حجم النموذج دون التأثير بشكل كبير على الأداء.
  • توافق وقت التشغيل: على الرغم من أن وقت تشغيل ONNX Runtime مصمم للتوافق عبر الأنظمة الأساسية، إلا أن الأداء والدعم يمكن أن يختلف عبر الأجهزة وأنظمة التشغيل المختلفة. 
  • تحديات تصحيح الأخطاء: قد يكون تصحيح أخطاء نماذج ONNX أكثر تعقيدًا من الأطر الأصلية مثل PyTorch أو TensorFlow. قد تكون رسائل الخطأ أقل وصفية، مما يجعل من الصعب تحديد المشكلات. ومع ذلك، يمكن أن تساعد أدوات مثل Netron لتصور النماذج وقدرات تسجيل ONNX Runtime في استكشاف الأخطاء وإصلاحها.

النقاط الرئيسية

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

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

هل تريد معرفة المزيد عن الرؤية الحاسوبية والذكاء الاصطناعي؟ استكشف مستودع GitHub الخاص بنا، وتواصل مع مجتمعنا، وتحقق من خيارات الترخيص الخاصة بنا لبدء مشروع الرؤية الحاسوبية الخاص بك. إذا كنت تستكشف ابتكارات مثل الذكاء الاصطناعي في التصنيع و الرؤية الحاسوبية في صناعة السيارات، فقم بزيارة صفحات الحلول الخاصة بنا لاكتشاف المزيد. 

لنبنِ مستقبل
الذكاء الاصطناعي معًا!

ابدأ رحلتك مع مستقبل تعلم الآلة

ابدأ مجانًا