YOLOv9 YOLOX: التطور المعماري والمقارنة التقنية
يقارن هذا التحليل التفصيلي YOLOv9، المعروف بابتكاره في مجال معلومات التدرج القابلة للبرمجة (PGI)، مع YOLOX، وهو كاشف كائنات رائد لا يحتاج إلى مرساة. نستكشف الاختلافات في هندستهما ومقاييس أدائهما وسيناريوهات النشر المثالية لمساعدتك في اختيار النموذج المناسب لمشاريع الرؤية الحاسوبية الخاصة بك.
مقارنة مقاييس الأداء
الجدول التالي يقارن مؤشرات الأداء الرئيسية. YOLOv9 بشكل عام نسب دقة إلى حسابية فائقة، لا سيما في نسخه الأصغر حجماً التي تعتبر حاسمة بالنسبة لنشر الحافة.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
YOLOv9: معلومات التدرج القابلة للبرمجة
YOLOv9، الذي أطلقه باحثون من أكاديمية سينيكا في فبراير 2024، يقدم ابتكارات معمارية مهمة تهدف إلى حل مشكلة "اختناق المعلومات" في الشبكات العصبية العميقة.
الابتكارات المعمارية الرئيسية
- معلومات التدرج القابلة للبرمجة (PGI): PGI هو إطار عمل إشرافي إضافي يولد تدرجات موثوقة لتحديث معلمات الشبكة. وهو يضمن عدم فقدان المعلومات الدلالية الهامة أثناء مرور البيانات عبر الطبقات العميقة، وهي مشكلة شائعة في النماذج خفيفة الوزن.
- GELAN Architecture: تجمع شبكة التجميع الطبقي الفعالة المعممة (GELAN) بين أفضل جوانب CSPNet و ELAN. وهي تعطي الأولوية لكفاءة المعلمات وسرعة الاستدلال، مما يتيح YOLOv9 دقة أعلى باستخدام عدد أقل من FLOPs مقارنة بسابقاتها.
- تعدد الاستخدامات: على عكس الإصدارات السابقة التي كانت تقتصر على الكشف، يدعم YOLOv9 تقسيم المثيلات والتقسيم البانوبتيكي، مما يجعله خيارًا متعدد الاستخدامات للمهام البصرية المعقدة.
المؤلفون والروابط
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المؤسسة:معهد علوم المعلومات، أكاديميا سينيكا
- التاريخ: 2024-02-21
- Arxiv:2402.13616
- GitHub:WongKinYiu/yolov9
تدريب مبسط مع Ultralytics
YOLOv9 بالكامل في نظام Ultralytics . يمكنك تدريب نموذج على بيانات مخصصة بأقل قدر من الإعدادات، مستفيدًا من الميزات المتقدمة مثل الدقة المختلطة التلقائيةGPU .
from ultralytics import YOLO
# Load a pretrained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
YOLOX: الرائد الخالي من الـ Anchor
YOLOX، الذي أطلقته Megvii في عام 2021، كان نموذجًا تحويليًا حوّل YOLO إلى تصميم خالٍ من المراسي. وقد بسط عملية التدريب وحسّن الأداء من خلال فصل رأس الكشف.
الميزات المعمارية الرئيسية
- آلية بدون مرساة: من خلال إزالة مربعات المرساة المحددة مسبقًا، يلغي YOLOX الحاجة إلى ضبط المرساة يدويًا (التجميع) ويقلل من تعقيد رأس الكشف.
- رأس منفصل: يفصل YOLOX مهام التصنيف والانحدار إلى فروع مختلفة. يؤدي هذا الفصل إلى حل التضارب بين هاتين المهمتين، مما يؤدي إلى تقارب أسرع ودقة أفضل.
- تعيين علامة SimOTA: يستخدم YOLOX SimOTA (تعيين النقل الأمثل المبسط)، وهي استراتيجية تعيين علامات ديناميكية تقوم تلقائيًا بمطابقة الكائنات الحقيقية مع التنبؤات بناءً على منظور التحسين الشامل.
المؤلفون والروابط
- المؤلفون: Zheng Ge، Songtao Liu، Feng Wang، Zeming Li، Jian Sun
- المؤسسة:Megvii
- التاريخ: 2021-07-18
- Arxiv:2107.08430
- GitHub:Megvii-BaseDetection/YOLOX
تحليل المقارنة
سهولة الاستخدام والنظام البيئي
أحد أهم العوامل المميزة هو النظام البيئي. YOLOv9، كجزء من Ultralytics تجربة موحدة وسهلة الاستخدام. يستفيد المطورون من:
- واجهة برمجة تطبيقات متسقة: سواء كنت تستخدم YOLOv9 أو YOLO11 أو YOLO26، تظل أوامر التدريب والتحقق والاستدلال متطابقة.
- وثائق شاملة: Ultralytics أدلة شاملة حول ضبط المعلمات الفائقة وتصدير النماذج واستراتيجيات النشر.
- الصيانة النشطة: تضمن التحديثات المتكررة التوافق مع أحدث إصدارات PyTorchCUDA .
في المقابل، يتطلب YOLOX عادةً إعدادًا يدويًا أكثر يتضمن استنساخ المستودع وإدارة التبعيات المحددة، مما قد يشكل عائقًا أمام النمذجة السريعة.
الأداء والكفاءة
- الدقة: يتفوق YOLOv9 على YOLOX في mAP أحجام النماذج القابلة للمقارنة. على سبيل المثال، يحقق YOLOv9m 51.4٪ mAP مقارنة بـ 46.9٪ لـ YOLOX-m، على الرغم من احتوائه على معلمات أقل (20.0 مليون مقابل 25.3 مليون).
- سرعة الاستدلال: في حين مثلت YOLOX طفرة في السرعة في عام 2021، فإن البنى الحديثة مثل GELAN في YOLOv9 عززت الكفاءة بشكل أكبر. تعمل YOLOv9t بسرعة 2.3 مللي ثانية على GPU T4، مما يجعلها مناسبة للغاية للتطبيقات في الوقت الفعلي.
- كفاءة الذاكرة: تم تحسين Ultralytics لتقليل استخدام GPU أثناء التدريب. وهذا يتيح للباحثين تدريب أحجام دفعات أكبر أو نماذج أكثر تعقيدًا على أجهزة المستهلكين مقارنة بالبنى القديمة أو النماذج القائمة على المحولات مثل RT-DETR.
حالات الاستخدام
- اختر YOLOv9 : كنت بحاجة إلى دقة متطورة، أو كنت بحاجة إلى دعم للتجزئة، أو كنت ترغب في الحصول على أبسط خط أنابيب نشر ممكن عبر Ultralytics . وهو يتفوق في الفحص الصناعي والأنظمة المستقلة.
- اختر YOLOX إذا: كنت تقوم بصيانة أنظمة قديمة مبنية على قاعدة كود YOLOX أو تحتاج إلى السلوك المحدد لرأسها الخالي من المثبتات لإجراء مقارنات بحثية.
نظرة إلى المستقبل: قوة YOLO26
في حين أن YOLOv9 خيارًا ممتازًا، YOLOv9 مجال الرؤية الحاسوبية يتطور بسرعة. يعتمد YOLO26 الذي تم إصداره مؤخرًا على نقاط القوة التي تتمتع بها الإصدارات السابقة ليقدم الحل الأمثل الذي يركز على الحواف.
يقدم YOLO26 العديد من الميزات الثورية:
- NMS من البداية إلى النهاية: من خلال التخلص من تقنية Non-Maximum Suppression (NMS)، تعمل YOLO26 على تبسيط النشر وتقليل تقلب زمن الاستجابة، وهو مفهوم تم طرحه لأول مرة في YOLOv10.
- MuSGD Optimizer: مستوحى من تدريب LLM، يضمن هذا المحسن الهجين تقاربًا مستقرًا ويتميز بقوته عبر أحجام دفعات مختلفة.
- ProgLoss + STAL: تعمل وظائف الخسارة المتقدمة هذه على تحسين اكتشاف الأجسام الصغيرة بشكل كبير، مما يجعل YOLO26 مثاليًا لتطبيقات الصور الجوية والطائرات بدون طيار.
- CPU أسرع بنسبة 43٪ CPU : مع إزالة Distribution Focal Loss (DFL)، تم تحسين YOLO26 خصيصًا للأجهزة الطرفية CPU مثل Raspberry Pi.
تشغيل YOLO26 في Python
جرب سرعة أحدث جيل من خلال بضع أسطر من التعليمات البرمجية:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
الخلاصة
ساهم كل من YOLOv9 YOLOX بشكل كبير في اكتشاف الأجسام. وقد ساهم YOLOX في تعميم اكتشاف الأجسام بدون مرساة، مما سهّل تصميم النماذج المستقبلية. ومع ذلك، YOLOv9 يستفيد من التطورات المعمارية الحديثة مثل PGI و GELAN لتقديم دقة وكفاءة فائقتين.
بالنسبة للمطورين الذين يبحثون عن أفضل توازن بين الأداء وسهولة الاستخدام والاستعداد للمستقبل، فإن Ultralytics مثل YOLOv9 و YOLO26 المتطورة هي الخيارات الموصى بها. فهي توفر منصة قوية لمواجهة التحديات المتنوعة، من التصوير الطبي إلى مراقبة المدن الذكية.
النماذج ذات الصلة
إذا كنت تستكشف بنى الكشف عن الكائنات، فقد تهمك أيضًا:
- YOLO11: سلف قوي لـ YOLO26 معروف بمتانته.
- RT-DETR: كاشف يعتمد على محول ويوفر دقة عالية ولكنه يتطلب موارد أكبر.
- YOLOv8: نموذج شائع للغاية قدم إطارًا موحدًا للكشف والتجزئة والوضع.