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
- أركايف: ورقة بحث DAMO-YOLO
- جيت هاب: مستودع DAMO-YOLO على جيت هاب
الابتكارات المعمارية#
YOLOv8: تصميم مرن بلا مراسي#
قدّم Ultralytics YOLOv8 تحسينات مهمة مقارنةً بأسلافه، مما رسّخ مكانته نموذجًا متطورًا عالي الموثوقية. ويتميز برأس كشف بلا مراسي، مما يقلل عدد تنبؤات الصناديق ويسرّع الاستدلال. وتستخدم البنية رأسًا مفككًا يفصل بين مهام احتمالية وجود الجسم والتصنيف والانحدار، مما يؤدي إلى تنبؤات أكثر دقة للصناديق المحيطة.
علاوةً على ذلك، يطبّق YOLOv8 Distribution Focal Loss (DFL) إلى جانب خسارة CIoU، مما يعزز قدرة النموذج على تحديد حدود الأجسام بدقة، ولا سيما للأهداف الصغيرة أو المحجوبة. كما أن العمود الفقري المبسّط مُحسّن بدرجة كبيرة للتنفيذ على كل من 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 (مللي ثانية) | المعاملات (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 |
| 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 مفيدًا في سيناريوهات متخصصة، ولا سيما:
- بحث العمارة العصبية التلقائية الأكاديمي: للفرق التي تدرس إعادة المعلمة أو منهجيات تصميم البنى التلقائية.
- مسارات العمل المقيدة بـ GPU حصريًا: التطبيقات التي تعمل حصريًا على عتاد NVIDIA محدد، حيث حُسّنت بنى NAS بدرجة كبيرة لحدود التنفيذ في TensorRT.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv8 وDAMO-YOLO على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلاتك بشأن منظومة الأدوات.
متى تختار YOLOv8#
يُعد YOLOv8 خيارًا قويًا من أجل:
- النشر متعدد المهام ومتعدد الاستخدامات: المشروعات التي تتطلب نموذجًا مُثبتًا لـالكشف والتجزئة والتصنيف وتقدير الوضعية ضمن منظومة Ultralytics.
- أنظمة الإنتاج الراسخة: بيئات الإنتاج الحالية المبنية مسبقًا على بنية YOLOv8، مع مسارات نشر مستقرة ومختبرة جيدًا.
- دعم واسع من المجتمع والمنظومة: التطبيقات التي تستفيد من البرامج التعليمية الشاملة لـYOLOv8، وعمليات التكامل التابعة لجهات خارجية، وموارد المجتمع النشطة.
متى تختار DAMO-YOLO#
يوصى باستخدام DAMO-YOLO في الحالات التالية:
- تحليلات الفيديو عالية الإنتاجية: معالجة تدفقات فيديو عالية FPS على بنية تحتية ثابتة من NVIDIA GPU، حيث تكون الإنتاجية عند حجم الدفعة 1 هي المقياس الأساسي.
- خطوط التصنيع الصناعية: السيناريوهات ذات القيود الصارمة على زمن استجابة GPU ضمن عتاد مخصص، مثل فحص الجودة في الوقت الفعلي على خطوط التجميع.
- أبحاث البحث عن البنية العصبية: دراسة تأثيرات البحث الآلي عن البنية (MAE-NAS) والشبكات الأساسية المعاد تمثيلها بكفاءة على أداء الاكتشاف.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي الخالي من NMS: التطبيقات التي تتطلب استدلالًا متسقًا منخفض زمن الانتقال دون تعقيد المعالجة اللاحقة لكبت القيم غير العظمى.
- البيئات المعتمدة على CPU فقط: الأجهزة التي لا تتضمن تسريع GPU مخصصًا، حيث يوفر استدلال YOLO26 الأسرع على CPU بنسبة تصل إلى 43% ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: السيناريوهات الصعبة مثل الصور الجوية الملتقطة بالطائرات المسيّرة أو تحليل مستشعرات إنترنت الأشياء، حيث يعزّز ProgLoss وSTAL الدقة بدرجة كبيرة عند التعامل مع الأجسام الصغيرة جدًا.
نظرة مستقبلية: نماذج Ultralytics الأحدث#
مع بقاء YOLOv8 نموذجًا عمليًا عالي الاعتمادية، فإن مجال الرؤية الحاسوبية يتطور بسرعة. وينبغي للمستخدمين أيضًا التفكير في استكشاف الأجيال الأحدث:
YOLO26: يمثل Ultralytics YOLO26، وهو أحدث جيل، تحولًا جذريًا في النهج. فهو يقدم تصميمًا أصليًا من طرف إلى طرف بلا NMS، ويلغي تمامًا اختناقات زمن الاستجابة المرتبطة بالمعالجة اللاحقة لكبت القيم غير العظمى. وبفضل مُحسِّن MuSGD الجديد (وهو مزيج من SGD وMuon) ودوال الخسارة المتخصصة ProgLoss + STAL، يحقق YOLO26 تدريبًا مستقرًا بدرجة ملحوظة وتحسنًا كبيرًا في التعرف على الأجسام الصغيرة. ومع إزالة DFL (إزالة Distribution Focal Loss لتبسيط التصدير وتحسين التوافق مع الأجهزة الطرفية ومنخفضة الطاقة)، توفر التعديلات المعمارية استدلالًا على CPU أسرع بنسبة تصل إلى 43% مقارنةً بالأجيال السابقة، مما يجعله الخيار الحاسم للحوسبة الطرفية الحديثة.
YOLO11: يُعد Ultralytics YOLO11 بديلًا ممتازًا آخر، إذ يوفر تحسينات معمارية تدريجية مقارنةً بـ YOLOv8، ولا يزال نموذجًا قويًا واسع الاعتماد في المجتمع.
هل أنت مستعد لنقل نماذجك من النموذج الأولي إلى الإنتاج؟ استخدم منصة Ultralytics لإضافة التعليقات التوضيحية إلى مجموعات البيانات تلقائيًا، وتتبع التجارب، ونشر النماذج بسلاسة إلى السحابة أو الأجهزة الطرفية.
ختامًا، بينما يقدم DAMO-YOLO رؤى أكاديمية مهمة حول البحث عن البنى، توفر نماذج Ultralytics منظومة أدوات أكثر نضجًا وتنوعًا وملاءمة للمطورين بدرجة كبيرة. وسواء التزمت بالاستقرار المثبت لـ YOLOv8 أو حدّثت إلى بنية YOLO26 فائقة السرعة والخالية من NMS، تظل حزمة Ultralytics الخيار الرائد للذكاء الاصطناعي للرؤية في الوقت الفعلي.