استخدام تكامل ONNX لتصدير نماذج Ultralytics YOLO
تعرّف على كيفية تصدير نماذج Ultralytics YOLO11 إلى ONNX، وتشغيل الاستدلال باستخدام النموذج المُصدّر، ونشره على وحدات CPU وGPU والأجهزة المحمولة والطرفية.
Abirami Vina9 دقيقة قراءة
عندما بدأت حلول الذكاء الاصطناعي تحظى بالاهتمام لأول مرة، كان نشر معظم النماذج يتم على خوادم قوية في بيئات خاضعة للرقابة. لكن مع تقدم التقنية، امتد النشر إلى ما هو أبعد بكثير من مراكز البيانات.
تعمل نماذج الذكاء الاصطناعي اليوم على كل شيء، من الخوادم السحابية وأجهزة الكمبيوتر المكتبية إلى الهواتف الذكية والأجهزة الطرفية. ويدعم هذا التحول معالجة أسرع، وإمكانات العمل دون اتصال، وأنظمة أذكى تعمل بالقرب من مصادر البيانات.
ومن المجالات التي يتضح فيها ذلك بوجه خاص الرؤية الحاسوبية، وهي فرع من الذكاء الاصطناعي يمكّن الآلات من تفسير البيانات المرئية. وتُستخدم هذه التقنية لتشغيل تطبيقات مثل التعرّف على الوجوه والقيادة الذاتية وتحليل الفيديو آنيًا. ومع انتشار هذه التطبيقات، تزداد الحاجة إلى نماذج تعمل بسلاسة عبر أجهزة ومنصات متنوعة.
لكن نشر نماذج الرؤية الحاسوبية على مجموعة من أهداف النشر ليس بالأمر السهل دائمًا. فالأجهزة تختلف من حيث العتاد وأنظمة التشغيل وأطر العمل المدعومة، ما يجعل المرونة والتوافق أمرين أساسيين.
لذلك، يُعد توفر خيار تصدير نماذج الرؤية الحاسوبية، مثل Ultralytics YOLO11، إلى تنسيقات مختلفة أمرًا أساسيًا. فعلى سبيل المثال، يوفر تكامل ONNX (تبادل الشبكات العصبية المفتوح) الذي تدعمه Ultralytics طريقة عملية لردم الفجوة بين التدريب والنشر. وONNX تنسيق مفتوح يجعل النماذج مستقلة عن أطر العمل وجاهزة للنشر على منصات متعددة.

الشكل 1. يساعدك ONNX على نقل نموذج دُرّب باستخدام إطار عمل إلى إطار آخر وتشغيله بسهولة.
في هذه المقالة، سنلقي نظرة فاحصة على تكامل ONNX الذي تدعمه Ultralytics، وسنستكشف كيفية تصدير نموذج YOLO11 لنشره بمرونة عبر منصات متعددة.
ما هو ONNX وONNX Runtime؟#
مشروع تبادل الشبكات العصبية المفتوح هو مشروع مفتوح المصدر يحدد تنسيقًا معياريًا لنماذج تعلّم الآلة. طوّرته Microsoft وFacebook في الأصل، ويتيح للمطورين تدريب نموذج باستخدام إطار عمل مثل PyTorch وتشغيله باستخدام إطار آخر مثل TensorFlow. وهذا يجعل تطوير الذكاء الاصطناعي أكثر مرونة وتعاونًا وإتاحة، لا سيما في مجالات مثل الرؤية الحاسوبية.
يوفر ONNX مجموعة مشتركة من العمليات وتنسيق ملفات موحدًا، ما يسهّل نقل النماذج بين الأدوات وأطر العمل وبيئات التشغيل والمترجمات المختلفة. عادةً لا يتوافق النموذج الذي دُرّب باستخدام إطار عمل مع إطار آخر بسهولة، لكن مع ONNX يمكنك تصدير النموذج مرة واحدة ونشره في أي مكان تقريبًا: على وحدات المعالجة المركزية (CPUs)، أو وحدات معالجة الرسومات (GPUs)، أو الأجهزة المحمولة، أو الأجهزة الطرفية.
بالإضافة إلى ذلك، فإن ONNX Runtime هو محرك استدلال عالي الأداء طُوّر خصيصًا لتشغيل النماذج بتنسيق ONNX. صُمم لتشغيل نماذج ONNX بسرعة وكفاءة أكبر على مجموعة واسعة من المنصات، بما فيها الخوادم والأجهزة المحمولة والأجهزة الطرفية. ويتوافق ONNX Runtime مع أطر العمل الشائعة مثل PyTorch وTensorFlow وTensorFlow Lite وscikit-learn، ما يسهّل دمجه في مسارات العمل المختلفة ونشر النماذج حيثما تدعو الحاجة.

الشكل 2. يتيح ONNX وONNX Runtime نشر النماذج بمرونة عبر منصات متعددة.
الميزات الرئيسية لـ ONNX#
قبل أن نناقش كيفية تصدير Ultralytics YOLO11 إلى تنسيق ONNX، دعونا نطّلع على بعض الميزات الرئيسية لتنسيق نماذج 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 (yolo11n.onnx)، ليصبح جاهزًا للنشر على منصات وأجهزة مختلفة.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="onnx")تنطبق الخطوات نفسها على النماذج الأحدث مثل Ultralytics YOLO26. بعد تحويل النموذج إلى تنسيق ONNX والتأكد من أنه يعطي النتائج نفسها التي يعطيها النموذج الأصلي، يمكنك نشره على منصات متنوعة.
يوضح المثال أدناه كيفية تحميل نموذج YOLO11 المُصدَّر (yolo11n.onnx) وتشغيل الاستدلال به. والاستدلال يعني ببساطة استخدام النموذج المُدرَّب لإجراء تنبؤات على بيانات جديدة. في هذه الحالة، سنستخدم عنوان URL لصورة حافلة لاختبار النموذج.
onnx_model = YOLO("yolo11n.onnx")
results = onnx_model("https://ultralytics.com/images/bus.jpg", save=True)عند تشغيل هذه الشيفرة، ستُحفظ صورة المخرجات التالية في المجلد runs/detect/predict.

الشكل 3. إجراء استدلال على صورة باستخدام نموذج Ultralytics YOLO11 المُصدّر.
متى ينبغي اختيار تكامل ONNX؟#
تدعم حزمة Ultralytics لـ Python تصدير النماذج إلى تنسيقات متعددة، منها TorchScript وCoreML وTensorRT وONNX. فلماذا تختار ONNX؟
ما يميز ONNX هو أنه تنسيق مستقل عن أطر العمل. ففي حين ترتبط تنسيقات التصدير الأخرى بأدوات أو بيئات محددة، يستخدم ONNX تنسيقًا معياريًا ومجموعة مشتركة من العمليات. وهذا يجعله قابلًا للنقل بدرجة كبيرة، ومتوافقًا مع الأجهزة، ومثاليًا للنشر عبر منصات متعددة، سواء كنت تعمل على خوادم سحابية أو تطبيقات محمولة أو أجهزة طرفية.
إليك بعض الأسباب التي تجعل تكامل ONNX خيارًا مثاليًا لمشاريع Ultralytics YOLO11:
- النشر القابل للنقل: بعد تصدير نموذج Ultralytics YOLO11 إلى ONNX، يمكنك نشره على منصات مختلفة دون تغيير الشيفرة أو إعادة التدريب.
- دعم واسع على مستوى القطاع: تدعم شركات الذكاء الاصطناعي وأطر العمل الكبرى ONNX، ما يجعله تنسيقًا موثوقًا ومعتمدًا على نطاق واسع. كما يضمن التوافق على المدى الطويل، على غرار عمل ملفات PDF على مختلف الأجهزة.
- تطوير يواكب المستقبل: يساعد استخدام ONNX على حماية استثماراتك في النماذج. ومع تطور الأدوات، يحافظ ONNX على صلاحية نماذجك للاستخدام وملاءمتها، حتى في البيئات الجديدة أو المختلفة.
- عدم الارتهان لمورّد: تقيّدك بعض الأدوات باستخدام نظامها وحده، ما قد يحد من إمكانات نموذجك. يتجنب ONNX ذلك من خلال إتاحة اختيار المنصة الأنسب لاحتياجاتك، دون التقيد بإعداد واحد.
تطبيقات Ultralytics YOLO11 ودور تنسيق نماذج ONNX#
بعد ذلك، دعونا نستكشف بعض التطبيقات الواقعية التي يمكن فيها نشر Ultralytics YOLO11 بمساعدة تكامل ONNX.
تتبّع المخزون في المستودعات باستخدام Ultralytics YOLO11#
يصعب في المستودعات المزدحمة متابعة كل منتج وطرد في جميع الأوقات. ويمكن لأنظمة الرؤية الحاسوبية مساعدة العاملين على العثور على المنتجات على الرفوف واستخلاص معلومات مثل عدد المنتجات وأنواعها، وغير ذلك. وتساعد هذه الأنظمة الشركات على إدارة مخزونها الضخم آليًا وتوفير الكثير من الوقت للعاملين في المستودعات.
وعلى وجه التحديد، يمكن استخدام نماذج Ultralytics YOLO11 المُصدَّرة إلى ONNX في المستودعات الذكية للتعرف على العناصر وعدّها في الوقت الفعلي باستخدام الكاميرات والأجهزة الطرفية. ويمكن للنموذج المُصدَّر مسح الرفوف أو المنصات لاكتشاف مستويات المخزون والعناصر المفقودة والمساحات الفارغة. وبما أن نماذج ONNX تعمل بكفاءة على نطاق واسع من العتاد، فيمكن تشغيل النموذج مباشرةً على أجهزة طرفية صغيرة، مثل الكاميرات الذكية، ما يلغي الحاجة إلى خوادم باهظة الثمن أو اتصال دائم بالسحابة.

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

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

الشكل 6. يمكن استخدام YOLO11 لاكتشاف المحاصيل في لقطات جوية من طائرة مسيّرة.
قيود ONNX التي ينبغي مراعاتها#
على الرغم من مزايا ONNX العديدة، مثل قابلية النقل والتوافق بين المنصات والتشغيل البيني بين أطر العمل، هناك بعض القيود التي ينبغي مراعاتها:
- حجم النموذج: قد يؤدي تحويل النماذج إلى تنسيق ONNX أحيانًا إلى زيادة حجم الملفات مقارنةً بتنسيقاتها الأصلية. ويمكن لتقنيات مثل التكميم والتقليم الحد من هذه المشكلة بتقليل حجم النموذج دون التأثير كثيرًا في الأداء.
- التوافق مع بيئات التشغيل: رغم تصميم ONNX Runtime لتحقيق التوافق بين المنصات، قد يختلف الأداء ومستوى الدعم باختلاف الأجهزة وأنظمة التشغيل.
- تحديات تصحيح الأخطاء: قد يكون تصحيح أخطاء نماذج ONNX أكثر تعقيدًا منه في أطر العمل الأصلية مثل PyTorch أو TensorFlow. وقد تكون رسائل الخطأ أقل تفصيلًا، ما يصعّب تحديد المشكلات بدقة. ومع ذلك، يمكن لأدوات مثل Netron لتصور النماذج وإمكانات التسجيل في ONNX Runtime المساعدة في استكشاف الأخطاء وإصلاحها.
أبرز النقاط#
يسهّل تصدير Ultralytics YOLO11 إلى ONNX أخذ نموذج رؤية حاسوبية مدرّب ونشره في أي مكان تقريبًا، سواء على حاسوب محمول أو جهاز محمول أو حتى كاميرا ذكية صغيرة. وبفضل تكامل ONNX، لست مقيدًا بإطار عمل أو منصة واحدة، ما يمنحك المرونة لتشغيل نموذجك في البيئة الأنسب لتطبيقك.
وهذا يجعل الانتقال من التدريب إلى النشر في العالم الواقعي أسرع وأكثر كفاءة. سواء أكنت تتتبّع المخزون في مستودع أم تضمن التخلص من نفايات المستشفى على نحو صحيح، يساعد هذا الإعداد على تحسين سير الأنظمة وتقليل الأخطاء وتوفير وقت ثمين.
هل تريد معرفة المزيد عن الرؤية الحاسوبية والذكاء الاصطناعي؟ استكشف مستودع GitHub، وتواصل مع مجتمعنا، واطّلع على خيارات الترخيص لبدء مشروعك في الرؤية الحاسوبية. وإذا كنت تستكشف ابتكارات مثل الذكاء الاصطناعي في التصنيع والرؤية الحاسوبية في قطاع السيارات، فتفضل بزيارة صفحات حلولنا لمعرفة المزيد.
بقلم
التعليقات
اطرح سؤالًا، أو شارك نتائجك، أو ساعد شخصًا آخر.










