DAMO-YOLO مقابل YOLOv9: مقارنة فنية
في عالم الرؤية الحاسوبية سريع التقدم، يعد اختيار النموذج الأمثل للكشف عن الأجسام قرارًا محوريًا يؤثر على كل شيء بدءًا من زمن استجابة النظام إلى دقة الكشف. يقدم هذا الدليل الشامل مقارنة تقنية بين YOLO وهو كاشف عالي السرعة من مجموعة علي بابا، و YOLOv9وهي بنية تركز على حفظ المعلومات وكفاءتها. سنقوم بتحليل ابتكاراتهما المعمارية ومقاييس الأداء وحالات الاستخدام المثالية لمساعدة المطورين والباحثين على اتخاذ خيارات مستنيرة.
في حين أن كلا النموذجين يقدمان تحسينات كبيرة على سابقاتهما، فإن YOLOv9، خاصةً عند الاستفادة منها داخل النظام البيئي Ultralytics، توفر مزيجًا مقنعًا من الدقة المتطورة وأدوات سهلة الاستخدام للمطور وخيارات نشر متعددة الاستخدامات.
DAMO-YOLO: تصميم مُوجَّه نحو السرعة عبر البحث في البنية العصبونية
DAMO-YOLO هو إطار عمل للكشف عن الأجسام تم تطويره بواسطة Alibaba، ومصمم بمنهجية "مرة واحدة للجميع". يعطي الأولوية لوقت الاستجابة المنخفض والإنتاجية العالية، مما يجعله منافسًا قويًا للتطبيقات الصناعية التي تتطلب قيودًا محددة بدقة على السرعة على أجهزة معينة.
المؤلفون: شيانزه شو، يي تشي جيانغ، وي هوا تشن، يي لون هوانغ، يوان تشانغ، و شيو يو صن
المنظمة:مجموعة علي بابا
التاريخ: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHub:https://github.com/tinyvision/DAMO-YOLO
الابتكارات المعمارية
تتميز DAMO-YOLO بعمليات التصميم الآلية والمكونات الفعالة:
- البحث عن بنية الشبكة العصبية (NAS): بدلاً من تصميم الهياكل الأساسية يدويًا، تستخدم DAMO-YOLO البحث عن بنية الشبكة العصبية (NAS) لاكتشاف هياكل فعالة (TinyNAS) مصممة خصيصًا للميزانيات الحسابية المختلفة.
- RepGFPN Neck: يقدم تغييراً فعالاً لشبكة Generalized Feature Pyramid Network (GFPN)، يسمى RepGFPN. يعمل هذا المكون على تحسين feature fusion ويدعم إعادة التهيئة، مما يسمح بسرعات استدلال أسرع.
- ZeroHead: يستخدم النموذج رأس detect خفيف الوزن "ZeroHead"، مما يقلل من النفقات الحسابية المرتبطة عادةً برؤوس detect المعقدة.
- AlignedOTA: لتحسين استقرار التدريب ودقته، فإنه يستخدم AlignedOTA، وهي إستراتيجية لإسناد الملصقات تحل مشكلات عدم التوافق بين مهام التصنيف والانحدار.
نقاط القوة والقيود
تكمن القوة الأساسية لـ DAMO-YOLO في سرعة الاستدلال الخاصة بها. تم تحسين البنية بشكل كبير لإنتاجية GPU عالية، مما يجعلها مناسبة لخطوط أنابيب تحليل الفيديو حيث يكون حجم المعالجة أمرًا بالغ الأهمية. بالإضافة إلى ذلك، يعزز استخدام التقطير أداء نماذجها الأصغر.
ومع ذلك، يواجه DAMO-YOLO تحديات فيما يتعلق بنضج النظام البيئي. بالمقارنة مع الأدوات القوية المتاحة لنماذج Ultralytics، قد يجد المستخدمون عددًا أقل من الموارد للنشر وتحويل التنسيق ودعم المجتمع. كما أن تعدد استخداماته في المهام يقتصر عمومًا على object detection، في حين أن الأطر الحديثة غالبًا ما تدعم التقسيم وتقدير الوضع بشكل أصلي.
YOLOv9: تدرجات قابلة للبرمجة لتحقيق أقصى قدر من الكفاءة
يمثل YOLOv9 نقلة نوعية في الكشف عن الأجسام في الوقت الفعلي من خلال معالجة المشكلة الأساسية لفقدان المعلومات في الشبكات العصبية العميقة. من خلال ضمان الحفاظ على البيانات الهامة عبر عمق الشبكة، يحقق YOLOv9 دقة فائقة مع كفاءة ملحوظة في المعلمات.
المؤلفون: تشين-ياو وانغ، هونغ-يوان مارك لياو
المنظمة:معهد علوم المعلومات، أكاديميا سينيكا، تايوان
التاريخ: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
التوثيق:https://docs.ultralytics.com/models/yolov9/
الهيكل الأساسي: PGI و GELAN
يقدم YOLOv9 تقنيتين رائدتين تميزانه:
- معلومات التدرج القابلة للبرمجة (PGI): غالبًا ما تعاني الشبكات العميقة من عنق الزجاجة المعلوماتي حيث تضيع بيانات الإدخال أثناء مرورها عبر الطبقات. يوفر PGI فرع إشراف مساعد يولد تدرجات موثوقة، مما يضمن حصول الطبقات العميقة على معلومات كاملة لتحديثات دقيقة للأوزان.
- شبكة تجميع الطبقات الفعالة المعممة (GELAN): تجمع هذه البنية المبتكرة بين نقاط قوة CSPNet و ELAN. تم تصميم GELAN لتحقيق أقصى استفادة من البارامترات، مما يوفر نموذجًا خفيف الوزن وقويًا بشكل لا يصدق.
أهمية PGI
في نماذج التعلم العميق التقليدية، غالبًا ما تفتقر وظيفة الخسارة في طبقة الإخراج إلى معلومات كافية لتوجيه تحديثات الطبقات الضحلة بشكل فعال. يعمل PGI كجسر، حيث يحافظ على معلومات الإدخال ويضمن أن تتعلم الشبكة بأكملها ميزات قوية، مما يؤدي إلى تقارب أفضل ودقة أعلى.
ميزة Ultralytics
عند استخدام YOLOv9 داخل النظام البيئي Ultralytics، يحصل المطورون على مزايا كبيرة مقارنة بالتطبيقات المستقلة:
- سهولة الاستخدام: يختزل Python API و CLI الخاصان بـ Ultralytics مسارات التدريب المعقدة إلى أوامر بسيطة.
- كفاءة التدريب: تضمن منهجيات Ultralytics الاستخدام الأمثل للموارد. يتطلب YOLOv9 عادةً ذاكرة CUDA أقل أثناء التدريب مقارنة بأجهزة الكشف القائمة على المحولات، مما يجعلها في متناول مجموعة واسعة من الأجهزة.
- تعدد الاستخدامات: في حين أن ورقة YOLOv9 الأساسية تركز على الاكتشاف، فإن إطار عمل Ultralytics يسهل توسيع هذه البنى إلى مهام أخرى ويضمن التصدير السلس إلى تنسيقات مثل ONNX و TensorRT و OpenVINO.
تحليل الأداء: الدقة مقابل الكفاءة
تسلط المقارنة أدناه الضوء على المفاضلات بين DAMO-YOLO و YOLOv9. في حين أن DAMO-YOLO يوفر سرعات تنافسية على أجهزة معينة، إلا أن YOLOv9 يقدم باستمرار متوسط دقة متوسطة (mAP) أعلى مع عدد أقل من المعلمات، مما يدل على كفاءة معمارية فائقة.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
النقاط الرئيسية:
- كفاءة المعلمات: يحقق YOLOv9s قيمة mAP أعلى (46.8) من DAMO-YOLOs (46.0) مع استخدام أقل من نصف عدد المعلمات (7.1 مليون مقابل 16.3 مليون). هذا يجعل YOLOv9 أكثر ملاءمة للتخزين وأسهل في التحديث عبر الأثير لأجهزة الذكاء الاصطناعي الطرفية.
- دقة عالية المستوى: تتجاوز أكبر متغيرات YOLOv9 (c و e) حدود الدقة بشكل كبير بعد حدود DAMO-YOLO، لتصل إلى 55.6 mAP.
- السرعة: في حين أن DAMO-YOLO يُظهر ميزة طفيفة في زمن انتقال TensorRT الخام للنماذج المتوسطة، فإن YOLOv9t سريع للغاية (2.3 مللي ثانية)، مما يجعله مثاليًا لتطبيقات الهاتف المحمول في الوقت الفعلي.
منهجيات التدريب وسهولة الاستخدام
تختلف تجربة التدريب اختلافًا كبيرًا بين النموذجين. يعني اعتماد DAMO-YOLO على NAS مرحلة بحث معقدة لاشتقاق البنية، أو استخدام أعمدة فقرية تم البحث عنها مسبقًا. يمكن أن يكون نهج "مرة واحدة للجميع" مكلفًا من الناحية الحسابية إذا كانت هناك حاجة إلى تخصيص بنية العمود الفقري.
على النقيض من ذلك، يقدم YOLOv9، المدعوم من Ultralytics، وضع تدريب مبسط. يمكن للمستخدمين ضبط النماذج بدقة على مجموعات بيانات مخصصة مثل Open Images V7 أو المجموعات المتخصصة بأقل قدر من التهيئة. يتيح التكامل مع Ultralytics HUB التدريب المستند إلى السحابة والتصور والنشر بنقرة واحدة، مما يضفي طابعًا ديمقراطيًا على الوصول إلى الذكاء الاصطناعي المتقدم دون الحاجة إلى خبرة عميقة في NAS أو ضبط المعلمات الفائقة.
مثال على التعليمات البرمجية: تدريب YOLOv9
يعد تطبيق YOLOv9 أمرًا مباشرًا باستخدام حزمة Ultralytics Python.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
حالات الاستخدام المثالية
متى تختار DAMO-YOLO
- معالجة الفيديو على نطاق واسع: إذا كنت تقوم بمعالجة الآلاف من تدفقات الفيديو على وحدات معالجة الرسومات الخاصة بالخادم حيث تترجم كل جزء من الألف من الثانية من زمن الوصول إلى توفير كبير في تكاليف البنية التحتية، فقد يكون تحسين DAMO-YOLO للإنتاجية العالية مفيدًا.
- قيود الأجهزة الثابتة: بالنسبة للسيناريوهات التي تكون فيها الأجهزة معروفة وثابتة، يمكن تحديد البنى المشتقة من NAS لملء ميزانية الحساب المتاحة تمامًا.
متى تختار YOLOv9
- رؤية حاسوبية للأغراض العامة: بالنسبة لغالبية المطورين الذين يعملون في مجال الروبوتات أو الأمن أو تحليلات البيع بالتجزئة، يوفر YOLOv9 أفضل توازن بين الدقة وسهولة الاستخدام.
- النشر الطرفي: نظرًا لكفاءته الفائقة في المعلمات (مثل YOLOv9s)، فإنه يتناسب بشكل أفضل مع الأجهزة المقيدة مثل Raspberry Pi أو NVIDIA Jetson، مما يترك مساحة أكبر للتطبيقات الأخرى.
- Research and Development: توفر PGI architecture أساسًا رائعًا لمزيد من البحث في كفاءة التعلم العميق.
- Requiring a Mature Ecosystem: إذا كان مشروعك يتطلب tracking موثوقًا به، أو سهولة التصدير إلى CoreML أو TFLite، ودعمًا مجتمعيًا نشطًا، فإن نظام Ultralytics البيئي المحيط بـ YOLOv9 لا مثيل له.
الخلاصة
يعرض كل من DAMO-YOLO و YOLOv9 الابتكار السريع في مجال اكتشاف الكائنات. يثبت DAMO-YOLO قيمة البحث عن البنية العصبية لتحقيق أقصى أداء للسرعة. ومع ذلك، يبرز YOLOv9 كحل أكثر تنوعًا وفعالية لمعظم المستخدمين.
من خلال حل مشكلة عنق الزجاجة لمعلومات الإشراف العميق باستخدام PGI وتحسين الطبقات باستخدام GELAN، يقدم YOLOv9 دقة متطورة مع كفاءة ملحوظة. وعند دمجه مع نظام Ultralytics البيئي، فإنه يوفر منصة قوية ومصانة جيدًا وسهلة الاستخدام تسرع الرحلة من المفهوم إلى النشر. بالنسبة للمطورين الذين يسعون إلى بناء تطبيقات رؤية متطورة بثقة، تظل نماذج Ultralytics YOLO هي الخيار الأفضل.
استكشف نماذج أخرى
إذا كنت مهتمًا باستكشاف أحدث الخيارات ضمن عائلة Ultralytics أو إجراء المزيد من المقارنات، فضع في اعتبارك هذه الموارد:
- Ultralytics YOLO11 - أحدث نموذج SOTA لمهام الرؤية المتنوعة.
- YOLOv8 ضد DAMO-YOLO
- RT-DETR مقابل DAMO-YOLO
- YOLOv10 ضد DAMO-YOLO
- YOLOX ضد DAMO-YOLO