YOLOv8 مقابل DAMO-YOLO: مقارنة تقنية شاملة لنماذج اكتشاف الكائنات
يشهد مشهد رؤية الحاسوب تطوراً مستمراً، حيث تعمل البنيات الجديدة على دفع حدود ما هو ممكن على أجهزة الحافة ومجموعات الحوسبة السحابية الضخمة. في هذا التحليل التقني المتعمق، نقارن بين نموذجين بارزين لاكتشاف الكائنات في الوقت الفعلي: YOLOv8 و DAMO-YOLO. من خلال فحص بنيتهما، ومقاييس الأداء، ومنهجيات التدريب، يمكن لمهندسي تعلم الآلة اتخاذ قرارات مستنيرة لخطوط أنابيب النشر الخاصة بهم.
خلفيات النماذج وأصولها
تم تقديم كلا النموذجين في نفس الوقت تقريباً ولكنهما ينبعان من فلسفات تصميم وأهداف بحثية مختلفة.
تفاصيل YOLOv8
- المؤلفون: Glenn Jocher, Ayush Chaurasia, و Jing Qiu
- المنظمة: Ultralytics
- التاريخ: 2023-01-10
- GitHub: مستودع Ultralytics على GitHub
- التوثيق: التوثيق الرسمي لـ YOLOv8
تفاصيل DAMO-YOLO
- المؤلفون: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, و Xiuyu Sun
- المؤسسة: Alibaba Group
- التاريخ: 2022-11-23
- Arxiv: ورقة بحث DAMO-YOLO
- GitHub: مستودع DAMO-YOLO على GitHub
الابتكارات المعمارية
YOLOv8: تصميم متعدد الاستخدامات خالٍ من المرساة
Ultralytics YOLOv8 قدم تحسينات كبيرة مقارنة بأسلافه، مما عزز مكانته كنموذج موثوق للغاية وحديث. يتميز برأس اكتشاف خالٍ من المرساة (anchor-free)، مما يقلل من عدد تنبؤات الصناديق ويسرع الاستنتاج. تستخدم البنية رأساً مفككاً (decoupled head)، مما يفصل مهام تحديد الكائن والتصنيف والانحدار، مما يؤدي إلى تنبؤات أكثر دقة لصناديق الإحاطة (bounding boxes).
علاوة على ذلك، ينفذ YOLOv8 Distribution Focal Loss (DFL) إلى جانب دالة فقد CIoU، مما يعزز قدرة النموذج على تحديد حدود الكائنات بدقة، خاصة للأهداف الصغيرة أو المحجوبة. تم تحسين هيكله الأساسي (backbone) بشكل كبير لكل من تنفيذ GPU و CPU.
DAMO-YOLO: مدفوع بالبحث في البنية
يتبع DAMO-YOLO نهجاً مختلفاً، حيث يعتمد بشكل كبير على البحث في بنية الشبكة العصبية (NAS) لتصميم هيكله الأساسي تلقائياً. قدم فريق Alibaba نظام "MAE-NAS" للعثور على الهياكل التي توفر مقايضات مثالية بين زمن الاستجابة والدقة تحديداً تحت تسريع TensorRT.
يدمج النموذج RepGFPN (شبكة هرمية للميزات معممة ومعاد تشكيلها) لدمج الميزات بكفاءة وتصميم "ZeroHead" لتقليل العبء الحسابي لرأس الاكتشاف. أثناء التدريب، يستفيد من AlignedOTA لتخصيص التسميات ويعتمد بشكل كبير على عملية تقطير معرفة معقدة، مما يتطلب نموذج معلم أكبر للإشراف على نموذج الطالب المستهدف.
في حين أن DAMO-YOLO يحقق مقاييس زمن استجابة مبهرة عبر NAS والتقطير، فإن هذا يتطلب ذاكرة CUDA ووقت حساب أكبر بكثير أثناء التدريب مقارنة بخط أنابيب التدريب أحادي المرحلة عالي الكفاءة لـ YOLOv8.
الأداء والمقاييس
عند نشر نماذج رؤية الحاسوب في الإنتاج، يعد تحقيق التوازن بين الدقة (mAP) وسرعة الاستنتاج أمراً بالغ الأهمية. يوضح الجدول أدناه أداء كلا النموذجين عبر أحجام مختلفة.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
يظهر YOLOv8 توازناً استثنائياً في الأداء. يتطلب نموذج YOLOv8n (نانو) 3.2 مليون معلمة فقط مقارنة بـ 8.5 مليون في DAMO-YOLOt، مما يجعله متفوقاً بشكل كبير للأجهزة المحمولة أو البيئات ذات متطلبات الذاكرة الصارمة. علاوة على ذلك، يوفر YOLOv8 نطاقاً أوسع من الأحجام، يصل إلى YOLOv8x عالي الدقة لأحمال العمل القائمة على السحابة.
تجربة المطور والنظام البيئي
سهولة الاستخدام وكفاءة التدريب
أحد أكبر العوامل المميزة هو تجربة المستخدم. تم تصميم النظام البيئي لـ Ultralytics لسرعة المطورين. يتطلب تدريب نموذج YOLOv8 مخصص استخدام ذاكرة منخفض جداً ويمكن تنفيذه عبر واجهة برمجة تطبيقات Python موحدة أو واجهة سطر الأوامر.
على العكس من ذلك، يتطلب تكرار التدريب المعزز بالتقطير لـ DAMO-YOLO غالباً التنقل عبر ملفات تكوين معقدة والتعامل مع تتبع التجارب متعدد المراحل بين المعلم والطالب.
إليك مثال على مدى سهولة التدريب والتحقق والتصدير لـ YOLOv8 باستخدام Python:
from ultralytics import YOLO
# Load a pre-trained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")
# Export the trained model to ONNX format
path = model.export(format="onnx")تعدد الاستخدامات عبر مهام الرؤية
تم بناء DAMO-YOLO بدقة لاكتشاف الكائنات باستخدام صناديق الإحاطة. في المقابل، تدعم بنية YOLOv8 أصلاً مهاماً متعددة. من خلال تبديل أوزان النموذج ببساطة، يمكن للمطورين إجراء تجزئة المثيلات، وتصنيف الصور، وتقدير الوضعية دون تغيير قاعدة كود النشر الأساسية الخاصة بهم. هذا التنوع يجعل نماذج Ultralytics أكثر عملية للتطبيقات المعقدة.
حالات الاستخدام الواقعية
متى تستخدم YOLOv8
مزيج YOLOv8 من السرعة والدقة وسهولة النشر يجعله مثالياً لـ:
- تحليلات البيع بالتجزئة الذكية: إجراء تتبع الكائنات لمراقبة سلوك العملاء أو أتمتة فحوصات المخزون.
- روبوتات الزراعة: الاستفادة من أدائه القوي على أجهزة متنوعة لتحديد المحاصيل أو الآفات في الوقت الفعلي.
- التشخيص الطبي: استخدام تجزئة المثيلات لرسم خرائط الشذوذ في الصور الطبية بسرعة ودقة.
- عمليات نشر الحافة: التكامل السلس مع تنسيقات التصدير مثل OpenVINO و CoreML يسمح لـ YOLOv8 بالتألق على الأجهزة المقيدة.
متى تستخدم DAMO-YOLO
يمكن أن يكون DAMO-YOLO مفيداً في سيناريوهات متخصصة، خاصة:
- البحث الأكاديمي في NAS: للفرق التي تدرس منهجيات إعادة التشكيل أو تصميم البنية المؤتمت.
- خطوط الأنابيب المقيدة بـ GPU فقط: التطبيقات التي تعمل حصرياً على أجهزة NVIDIA محددة حيث تم تحسين هياكل NAS بشكل كبير لقيود تنفيذ TensorRT.
حالات الاستخدام والتوصيات
يعتمد الاختيار بين YOLOv8 و DAMO-YOLO على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOv8
يعد YOLOv8 خياراً قوياً لـ:
- نشر متعدد المهام متعدد الاستخدامات: المشاريع التي تتطلب نموذجاً ثابتاً لـ الاكتشاف و التجزئة و التصنيف و تقدير الوضع داخل نظام Ultralytics البيئي.
- أنظمة الإنتاج القائمة: بيئات الإنتاج الحالية التي تم بناؤها بالفعل على بنية YOLOv8 مع خطوط أنابيب نشر مستقرة ومختبرة جيداً.
- دعم المجتمع والنظام البيئي الواسع: التطبيقات التي تستفيد من دروس YOLOv8 الشاملة وعمليات تكامل الطرف الثالث وموارد المجتمع النشطة.
متى تختار DAMO-YOLO
يُنصح بـ DAMO-YOLO من أجل:
- تحليلات الفيديو عالية الإنتاجية: معالجة تدفقات الفيديو عالية معدل الإطارات على بنية تحتية ثابتة لـ NVIDIA GPU حيث تعد إنتاجية الدفعة 1 المقياس الأساسي.
- خطوط التصنيع الصناعية: سيناريوهات ذات قيود زمن انتقال صارمة لوحدة معالجة الرسومات على أجهزة مخصصة، مثل فحص الجودة في الوقت الفعلي على خطوط التجميع.
- أبحاث البحث عن البنية العصبية: دراسة تأثيرات البحث المؤتمت عن البنية (MAE-NAS) والهياكل الأساسية المعاد معلمات ذات الكفاءة على أداء الكشف.
متى تختار Ultralytics (YOLO26)
بالنسبة لمعظم المشاريع الجديدة، يوفر Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استدلالاً ثابتاً ومنخفض التأخير دون تعقيد المعالجة اللاحقة لـ Non-Maximum Suppression.
- بيئات تعتمد فقط على CPU: الأجهزة التي لا تحتوي على تسريع GPU مخصص، حيث توفر سرعة استدلال YOLO26 الأسرع بنسبة تصل إلى 43% على CPU ميزة حاسمة.
- اكتشاف الكائنات الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار أو تحليل مستشعرات إنترنت الأشياء حيث تعزز ProgLoss و STAL الدقة بشكل كبير على الكائنات الصغيرة جداً.
التطلع إلى المستقبل: نماذج Ultralytics الأحدث
بينما يظل YOLOv8 حصاناً عاملاً موثوقاً للغاية، فإن مجال رؤية الحاسوب يتحرك بسرعة. يجب على المستخدمين أيضاً التفكير في استكشاف الأجيال الأحدث:
YOLO26: الجيل الأحدث، Ultralytics YOLO26، يمثل تحولاً جذرياً. إنه يقدم تصميماً أصلياً شاملاً خالٍ من NMS، مما يلغي تماماً اختناقات زمن الاستجابة المرتبطة بمعالجة ما بعد Non-Maximum Suppression. بفضل مُحسِّن MuSGD الجديد (هجين من SGD و Muon) ودوال فقد متخصصة ProgLoss + STAL، يحقق YOLO26 تدريباً مستقراً بشكل ملحوظ وتحسناً هائلاً في التعرف على الكائنات الصغيرة. مع إزالة DFL (تمت إزالة Distribution Focal Loss للتصدير المبسط وتوافق أفضل مع أجهزة الحافة/الطاقة المنخفضة)، توفر التعديلات المعمارية ما يصل إلى 43% أسرع في استنتاج CPU مقارنة بالأجيال السابقة، مما يجعله الخيار النهائي لحوسبة الحافة الحديثة.
YOLO11: بديل ممتاز آخر، يوفر Ultralytics YOLO11 تحسينات معمارية تدريجية مقارنة بـ YOLOv8 ويظل نموذجاً قوياً ومتبنى على نطاق واسع في المجتمع.
هل أنت مستعد لنقل نماذجك من النموذج الأولي إلى الإنتاج؟ استخدم منصة Ultralytics لتعليق مجموعات البيانات تلقائياً، وتتبع التجارب، ونشر النماذج بسلاسة إلى السحابة أو أجهزة الحافة.
في الختام، بينما يقدم DAMO-YOLO رؤى أكاديمية مثيرة للاهتمام حول البحث في البنية، توفر نماذج Ultralytics نظاماً بيئياً أكثر نضجاً وتنوعاً وصديقاً للمطورين بشكل ملحوظ. سواء كنت متمسكاً بالاستقرار المثبت لـ YOLOv8 أو الترقية إلى البنية الخالية من NMS والسريعة للغاية لـ YOLO26، تظل مجموعة Ultralytics الخيار الأول لرؤية الذكاء الاصطناعي في الوقت الفعلي.