YOLOv8 YOLOv9: مقارنة تقنية شاملة بين أجهزة الكشف عن الأجسام في الوقت الفعلي
تتميز تطورات الكشف عن الأجسام في الوقت الفعلي بالسعي المستمر لتحقيق دقة أفضل، ووقت استجابة أقل، واستخدام أفضل للأجهزة. ومن أهم الإنجازات في هذا المجال ما يلي Ultralytics YOLOv8 و YOLOv9. ورغم أن كلا النموذجين يمثلان أحدث ما توصلت إليه التكنولوجيا في مجال الرؤية الحاسوبية، إلا أنهما يلبيان احتياجات مختلفة من حيث النشر والفلسفات المعمارية ونظم المطورين.
يشرح هذا الدليل الشامل الاختلافات التقنية والابتكارات المعمارية والاعتبارات العملية للنشر لمساعدتك في اختيار النموذج المناسب لمشروعك التالي في مجال الذكاء الاصطناعي.
سلسلة النماذج والفلسفات الأساسية
قبل الخوض في المقاييس، من الضروري فهم الأصول والأهداف التصميمية الأساسية وراء كل نموذج.
Ultralytics YOLOv8: معيار النظام البيئي متعدد الاستخدامات
صدر عن فريق Ultralytics، YOLOv8 تصميم YOLOv8 ليس فقط ككاشف كائنات مستقل، بل كإطار عمل موحد ومتعدد المهام. ويولي الأولوية لتجربة مطور سلسة ومتطلبات ذاكرة منخفضة وتوافق واسع مع الأجهزة.
- المؤلفون: Glenn Jocher و Ayush Chaurasia و Jing Qiu
- المؤسسة:Ultralytics
- التاريخ: 2023-01-10
- GitHub:ultralytics/ultralytics
- الوثائق:YOLOv8
YOLOv9: معلومات التدرج القابلة للبرمجة
تم تطوير YOLOv9 بشكل مستقل من قبل باحثين في أكاديمية سينيكا، YOLOv9 بشكل كبير على النظرية المعمارية، ويتناول على وجه التحديد ظاهرة اختناق المعلومات في الشبكات العصبية العميقة.
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2024-02-21
- Arxiv:2402.13616
- GitHub:WongKinYiu/yolov9
نشر المؤسسة
إذا كنت تخطط لنشر تجاري واسع النطاق، ففكر في استكشاف Ultralytics للحصول على تدريب مبسط على السحابة وإدارة مجموعات البيانات ونقاط نهاية API بنقرة واحدة.
نظرة معمارية متعمقة
تحدد الخيارات المعمارية في التعلم العميق مدى كفاءة تعلم النموذج وسرعة تشغيله على الأجهزة المستهدفة مثل NVIDIA أو Intel CPU.
YOLOv8 : C2f والرؤوس المنفصلة
YOLOv8 وحدة C2f (عنق زجاجة جزئي عبر المراحل مع اثنين من التلافيف)، والتي حلت محل وحدة C3 القديمة. يعمل هذا التغيير على تحسين تدفق التدرج ويسمح للشبكة بتعلم تمثيلات ميزات أكثر ثراءً دون إجهاد GPU بشكل كبير.
علاوة على ذلك، YOLOv8 تصميمًا خاليًا من المراسي مع رأس منفصل. من خلال معالجة الكائنات والتصنيف والانحدار عبر مسارات منفصلة، يتقارب النموذج بشكل أسرع أثناء التدريب ويتم تعميمه بشكل أفضل على مجموعات بيانات مخصصة متنوعة.
YOLOv9 : PGI و GELAN
YOLOv9 معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN). تضمن PGI عدم فقدان البيانات المهمة أثناء مرورها عبر طبقات الشبكة، مما يوفر تدرجات موثوقة لتحديثات الأوزان. تعمل GELAN على تعظيم كفاءة المعلمات، مما يسمح للنموذج بتحقيق دقة عالية مع محاولة الحفاظ على FLOPs قابلة للإدارة.
على الرغم من أنه مثير للإعجاب من الناحية الحسابية، إلا أن اعتماد YOLOv9 على فروع عكسية مساعدة محددة أثناء التدريب يمكن أن يجعل تخصيص كود التدريب أكثر تعقيدًا مقارنةً بالخطوط القياسية.
مقاييس ومعايير الأداء
يقدم الجدول أدناه مقارنة مباشرة بين النماذج عبر أحجام مختلفة. يتم قياس الأداء على COCO MS COCO وهي معيار قياسي لاكتشاف الأجسام.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
ملاحظة: أفضل القيم في كل عمود مظللة باللون الغامق.
تحليل المقايضات
YOLOv9 دقة قصوى أعلى قليلاً (mAP)، خاصة مع حجمه الأكبر e متغير. ومع ذلك، فإن هذا يأتي بتكلفة.YOLOv8 Ultralytics YOLOv8 ميزة كبيرة في سرعة الاستدلال، خاصة عند تجميعها إلى تنسيقات مثل TensorRT أو ONNX. للتطبيقات التي تتطلب عدد إطارات في الثانية (FPS) مرتفع على أجهزة حافة مقيدة (مثل Raspberry Pi أو رقائق الهواتف المحمولة الأقدم)، YOLOv8 n و s توفر المتغيرات توازنًا أكثر عملية في الأداء.
كفاءة التدريب وتكامل النظام البيئي
اختيار النموذج لا يقتصر على مجرد النظر إلى جداول الدقة؛ فخبرة المطور لها أهمية قصوى.
Ultralytics : سهولة الاستخدام
YOLOv9 يتطلب تدريب YOLOv9 استنساخ مستودعات GitHub معقدة، وإدارة PyTorch بعناية، وتكوين أوزان الخسارة الإضافية يدويًا.
في المقابل،YOLOv8 دعم Ultralytics YOLOv8 بواسطة Python مبسطة بشكل ملحوظ. صُممت لتسهيل الاستخدام، وهي تتعامل مع زيادة البيانات والتسجيل (إلى أدوات مثل Weights & Biases و Comet ) وتوزيع الأجهزة بشكل أصلي.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 small model
model = YOLO("yolov8s.pt")
# Train the model efficiently on custom data
results = model.train(data="custom_dataset.yaml", epochs=100, imgsz=640)
# Export for edge deployment
model.export(format="engine", half=True) # TensorRT export
تقلل واجهة برمجة التطبيقات (API) هذه بشكل كبير من الوقت المستغرق من النموذج الأولي إلى الإنتاج. علاوة على ذلك، تتطلب YOLOv8 CUDA أقل أثناء التدريب، مما يسمح للمطورين باستخدام أحجام دفعات أكبر على الأجهزة الاستهلاكية.
تنوع المهام
في حين أن YOLOv9 كاشف ممتاز للمربعات المحيطة، إلا أن الذكاء الاصطناعي للرؤية في العالم الحقيقي غالبًا ما يتطلب المزيد. YOLOv8 محرك قوي متعدد الاستخدامات يدعم بشكل أساسي تقسيم المثيلات، وتقدير الوضع، وتصنيف الصور، والمربعات المحيطة الموجهة (OBB). يؤدي استخدام إطار عمل واحد لمهام متعددة إلى تقليل حجم البرامج وتكاليف الصيانة بشكل كبير.
التطلع إلى المستقبل
إذا كنت تبدأ مشروعًا جديدًا، فقد ترغب أيضًا في تقييم Ultralytics YOLO11 أو YOLO26 المتطور، اللذين يتميزان بتصميمات شاملة NMS.
حالات الاستخدام في العالم الحقيقي
كيف تؤدي هذه النماذج في الإنتاج؟
الطائرات بدون طيار والروبوتات المستقلة
بالنسبة للروبوتات التي تتطلب تجنب العوائق بسرعة، YOLOv8 هو الخيار المفضل. زمن الاستجابة المنخفض للغاية لـ YOLOv8n يضمن أن الأنظمة المستقلة تتفاعل مع بيئاتها في الوقت الفعلي، مما يمنع حدوث التصادمات. قدرات التصدير الأصلية إلى OpenVINO و CoreML من السهل نشرها على الرقائق منخفضة الطاقة التي تتميز بها الطائرات بدون طيار التجارية.
الكشف عن العيوب بدقة عالية
في بيئات التصنيع المتخصصة حيث يكون اكتشاف الشذوذات المجهرية أمرًا بالغ الأهمية والمعالجة غير المتصلة بالإنترنت مقبولة، YOLOv9 يمكن أن يكون فعالاً للغاية. تساعد بنية PGI الشبكة على الاحتفاظ بالتفاصيل البصرية الدقيقة اللازمة لتحديد الشقوق الدقيقة أو أخطاء لحام PCB.
التجزئة الذكية وتحليلات الأمن
لتتبع العملاء عبر ممرات المتاجر أو إدارة أنظمة الدفع الآلي، YOLOv8 يوفر التوازن الأمثل. إن قدرته على تشغيل الكشف وتتبع الأجسام المتعددة في وقت واحد باستخدام خوارزميات قياسية مثل BoT-SORT يجعله حلاً قوياً لنشر الكاميرات المتعددة في متاجر البيع بالتجزئة.
حالات الاستخدام والتوصيات
YOLOv9 الاختيار بين YOLOv8 YOLOv9 على متطلبات مشروعك المحددة وقيود النشر وتفضيلات النظام البيئي.
متى تختار YOLOv8
YOLOv8 خيار قوي لـ:
- نشر متعدد المهام متعدد الاستخدامات: المشاريع التي تتطلب نموذجًا مثبتًا للكشف والتجزئة والتصنيف وتقدير الوضع داخل نظام Ultralytics .
- أنظمة الإنتاج الراسخة: بيئات الإنتاج الحالية المبنية بالفعل على YOLOv8 مع خطوط إنتاج مستقرة ومختبرة جيدًا.
- دعم واسع من المجتمع والنظام البيئي: تطبيقات تستفيد من البرامج التعليمية الشاملة YOLOv8OLOv8، وعمليات الدمج مع أطراف ثالثة، وموارد المجتمع النشطة.
متى تختار YOLOv9
YOLOv9 في الحالات التالية:
- أبحاث عن اختناق المعلومات: مشاريع أكاديمية تدرس هياكل معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN).
- دراسات تحسين التدفق التدرجي: تركز الأبحاث على فهم وتخفيف فقدان المعلومات في طبقات الشبكة العميقة أثناء التدريب.
- مقارنة أداء الكشف عالي الدقة: سيناريوهات تتطلب أداء YOLOv9 القوي COCO كنقطة مرجعية لمقارنات الهندسة المعمارية.
متى تختار Ultralytics YOLO26)
بالنسبة لمعظم المشاريع الجديدة، يوفر Ultralytics أفضل مزيج من الأداء وتجربة المطور:
- نشر الحافةNMS: التطبيقات التي تتطلب استنتاجًا متسقًا ومنخفض التأخير دون تعقيدات المعالجة اللاحقة لـ Non-Maximum Suppression.
- بيئاتCPU: الأجهزة التي لا تحتوي على GPU مخصص، حيث يوفر CPU الأسرع بنسبة تصل إلى 43٪ في YOLO26 ميزة حاسمة.
- كشف الأجسام الصغيرة: سيناريوهات صعبة مثل صور الطائرات بدون طيار أو تحليل مستشعرات إنترنت الأشياء حيث يعزز ProgLoss و STAL الدقة بشكل كبير على الأجسام الصغيرة.
التطور التالي: YOLO26
على الرغم من قوة YOLOv8 YOLOv9 مجال الذكاء الاصطناعي يتطور بسرعة. بالنسبة للفرق التي تطلب أفضل أداء على الإطلاق، فإن الإصدار الجديد YOLO26 يستند إلى نجاحات الأجيال السابقة.
يقدم YOLO26 تصميمًا شاملاً NMS، والذي يزيل تمامًا اختناقات المعالجة اللاحقة المعقدة، مما يجعل النشر أبسط والكمون أكثر قابلية للتنبؤ. مدفوعًا بمحسن MuSGD الجديد ووظائف الخسارة ProgLoss + STAL المحسّنة، ومع إزالة DFL (إزالة الخسارة البؤرية للتوزيع من أجل تصدير مبسط وتوافق أفضل مع الأجهزة ذات الحافة/الطاقة المنخفضة)، فإنه يحقق CPU أسرع بنسبة تصل إلى 43٪ CPU مع تعزيز التعرف على الأجسام الصغيرة. بالنسبة للمطورين الذين يتخطون حدود الحوسبة الطرفية، يوصى بشدة بتقييم YOLO26.
باختصار، في حين أن YOLOv9 بحثًا معماريًا مثيرًا للاهتمام ودقة قصوى ممتازة، Ultralytics YOLOv8 الخيار الأكثر عملية ودعمًا وتنوعًا للغالبية العظمى من مهندسي الرؤية الحاسوبية الذين يهدفون إلى طرح برامج موثوقة بسرعة.