YOLOv9 YOLO10: نظرة فنية متعمقة على تطور اكتشاف الكائنات
شهد مجال الكشف عن الأجسام في الوقت الفعلي تطوراً سريعاً، حيث شهد عام 2024 إطلاق بنية أساسية مهمة: YOLOv9 و YOLOv10. في حين أن كلا النموذجين يهدفان إلى توسيع حدود الدقة والكفاءة، إلا أنهما يحققان ذلك من خلال فلسفات معمارية مختلفة جذريًا. YOLOv9 على تعظيم الاحتفاظ بالمعلومات في أعماق الشبكة، بينما YOLOv10 خط أنابيب النشر من خلال القضاء على الحاجة إلى القمع غير الأقصى (NMS).
يقدم هذا الدليل مقارنة تقنية شاملة لمساعدة الباحثين والمهندسين على اختيار الأداة المناسبة لتطبيقات الرؤية الحاسوبية الخاصة بهم.
YOLOv9: معلومات التدرج القابلة للبرمجة
أصدره في فبراير 2024 كل من Chien-Yao Wang و Hong-Yuan Mark Liao (الفريق الذي يقف وراء YOLOv4 و YOLOv7)، YOLOv9 مشكلة "اختناق المعلومات" المتأصلة في الشبكات العصبية العميقة. مع مرور البيانات عبر طبقات متتالية، غالبًا ما تضيع البيانات المدخلة، مما يقلل من قدرة النموذج على تعلم ميزات محددة.
لمكافحة هذا الأمر، YOLOv9 PGI (معلومات التدرج القابلة للبرمجة) وبنية GELAN (شبكة تجميع الطبقات الفعالة المعممة). يوفر PGI فرع إشراف إضافي يضمن احتفاظ الفرع الرئيسي بالمعلومات الهامة أثناء التدريب، بينما يعمل GELAN على تحسين استخدام المعلمات لتخطيط مسار التدرج بشكل أفضل.
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2024-02-21
- Arxiv:YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
- GitHub:WongKinYiu/yolov9
YOLOv10: كشف شامل في الوقت الفعلي
صدر YOLOv10 بعد فترة وجيزة في مايو 2024 من قبل باحثين في جامعة تسينغهوا، YOLOv10 تحولًا مهمًا في YOLO . تاريخياً، كانت YOLO تعتمد على NMS لتصفية المربعات المتداخلة. YOLOv10 استراتيجية مزدوجة متسقة أثناء التدريب — باستخدام التعيين واحد إلى العديد للإشراف الغني والتعيين واحد إلى واحد للاستدلال — مما يسمح للنموذج بأن يصبح NMS بشكل أصلي.
يقلل هذا التغيير المعماري من زمن انتقال الاستدلال ويبسط خطوط أنابيب النشر، مما يجعله جذابًا بشكل خاص للحوسبة الطرفية حيث تكون CPU ثمينة.
- المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
- المنظمة: جامعة تسينغ هوا
- التاريخ: 2024-05-23
- Arxiv:YOLOv10: Real-Time End-to-End Object Detection
- GitHub:THU-MIG/yolov10
مقارنة الأداء
عند مقارنة هاتين البنيتين، ننظر إلى المفاضلة بين القدرة على الكشف الخام (mAP) وكفاءة الاستدلال (الكمون و FLOPs).
تحليل المقاييس
يوضح الجدول التالي مقاييس الأداء على COCO . في حين أن YOLOv9e يُظهر دقة فائقة في المهام المعقدة، فإن YOLOv10 توفر عمومًا زمن انتقال أقل بسبب إزالة NMS .
| النموذج | الحجم (بالبكسل) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
النقاط الرئيسية
- الكمون مقابل الدقة: يحقق YOLOv10n معدل mAP أعلى mAP 39.5٪) من YOLOv9t (38.3٪) مع تشغيل أسرع بكثير على GPU (1.56 مللي ثانية مقابل 2.3 مللي ثانية). وهذا يجعل بنية v10 عالية الكفاءة للنشر على نطاق صغير.
- دقة عالية المستوى: بالنسبة لسيناريوهات البحث التي تهم فيها كل نقطة مئوية من الدقة، يظل YOLOv9e قوة ضاربة بمعدل mAP يبلغ 55.6٪، حيث يستخدم معلومات التدرج القابلة للبرمجة لاستخراج الميزات الدقيقة التي قد تفوت النماذج الأخرى.
- الكفاءة: YOLOv10 في كفاءة FLOPs. لا يتطلب YOLOv10s سوى 21.6G FLOPs مقارنة بـ 26.4G لـ YOLOv9s، مما يعني استهلاكًا أقل للطاقة على الأجهزة التي تعمل بالبطارية.
اعتبارات متعلقة بالأجهزة
إذا كنت تقوم بالنشر على وحدات المعالجة المركزية (مثل معالجات Intel ) أو أجهزة حافة متخصصة (Raspberry Pi، Jetson)، فإن تصميم YOLOv10 NMS عادةً ما ينتج عنه خط أنابيب أكثر سلاسة لأنه يزيل وقت المعالجة غير الحتمي لخطوات المعالجة اللاحقة.
التدريب والنظام البيئي
تتمثل إحدى أقوى مزايا استخدام Ultralytics في النظام البيئي الموحد. سواء اخترت YOLOv9 YOLOv10 تظل سير عمل التدريب والتحقق والتصدير متطابقة. هذا الاتساق يقلل بشكل كبير من منحنى التعلم للمطورين.
ميزة Ultralytics
- سهولة الاستخدام: تتيح لك Python البسيطة تبديل البنى الهندسية عن طريق تغيير سلسلة واحدة (على سبيل المثال، من
yolov9c.ptإلىyolov10m.pt). - نظام بيئي جيد الصيانة: Ultralytics تحديثات متكررة، مما يضمن التوافق مع أحدث إصدارات PyTorchCUDA .
- متطلبات الذاكرة: على عكس العديد من النماذج القائمة على المحولات التي تعاني من تضخم الذاكرة، تم تحسين Ultralytics من أجل كفاءةGPU . وهذا يسمح بأحجام دفعات أكبر على الأجهزة الاستهلاكية.
مثال تدريبي
تدريب أي من النموذجين على مجموعة بيانات مخصصة أمر بسيط. يتعامل الإطار مع زيادة البيانات والتخزين المؤقت وتسجيل المقاييس تلقائيًا.
from ultralytics import YOLO
# Load a model (Swap "yolov10n.pt" for "yolov9c.pt" to switch architectures)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
model.val()
# Export to ONNX for deployment
model.export(format="onnx")
حالات الاستخدام المثالية
متى تختار YOLOv9
YOLOv9 الخيار المفضل للسيناريوهات التي تتطلب دقة عالية في الميزات. تتميز بنية GELAN الخاصة به بمتانة عالية ضد فقدان المعلومات، مما يجعله مثاليًا لـ:
- التصوير الطبي: الكشف عن الأورام الصغيرة أو الحالات الشاذة التي يكون فيها فقدان إحدى السمات أمراً بالغ الأهمية. اطلع على دليلنا حول الذكاء الاصطناعي في مجال الرعاية الصحية.
- كشف الأجسام الصغيرة: سيناريوهات تتضمن صورًا جوية أو مراقبة عن بُعد حيث تشغل الأجسام عددًا قليلاً جدًا من وحدات البكسل.
- أساسيات البحث: عند المقارنة مع أحدث البنى المعمارية في أوائل عام 2024.
متى تختار YOLOv10
YOLOv10 تصميم YOLOv10 من أجل السرعة وسهولة النشر. إن إزالة NMS منافسًا قويًا في المجالات التالية:
- الحوسبة الطرفية: تعمل على أجهزة مثل Raspberry Pi أو الهواتف المحمولة حيث تتسبب CPU الناتجة عن المعالجة اللاحقة في حدوث اختناقات.
- الروبوتات في الوقت الحقيقي: التطبيقات التي تتطلب حلقات تغذية مرتدة متسقة ومنخفضة التأخير، مثل الملاحة الذاتية.
- خطوط الأنابيب المعقدة: أنظمة يتم فيها تغذية خرج الكاشف إلى خوارزميات التتبع؛ ويبسط الخرج NMS منطق المهام النهائية.
نظرة إلى المستقبل: قوة YOLO26
على الرغم من أن YOLOv9 YOLOv10 نموذجان YOLOv10 مجال الذكاء الاصطناعي يتطور بسرعة. بالنسبة للمشاريع الجديدة التي ستبدأ في عام 2026، نوصي بشدة بتقييم YOLO26.
صدر YOLO26 في يناير 2026، وهو يعتمد على الاختراق NMS الذي حققه YOLOv10 يقدم تحسينات معمارية مهمة:
- NMS من البداية إلى النهاية: مثل الإصدار 10، فإن YOLO26 خالٍ من البداية إلى النهاية بشكل أصلي، ولكن مع مزيد من التحسينات على رأس الكشف للحصول على دقة أعلى.
- MuSGD Optimizer: مزيج من SGD Muon (مستوحى من تدريب LLM)، يوفر هذا المحسن استقرار تدريب نموذج اللغة الكبيرة للرؤية الحاسوبية، مما يضمن تقاربًا أسرع.
- إزالة DFL: من خلال إزالة Distribution Focal Loss، يبسط YOLO26 الرسم البياني للتصدير، مما يجعله أسهل بكثير في النشر على الأجهزة المقيدة بوحدة معالجة العصبونات (NPU).
- ProgLoss + STAL: وظائف خسارة جديدة تم ضبطها خصيصًا لتحسين التعرف على الأجسام الصغيرة، ومعالجة نقطة الضعف الشائعة في أجهزة الكشف في الوقت الفعلي.
- الأداء: تم تحسين YOLO26 خصيصًا للحوسبة الطرفية، ويوفر CPU أسرع بنسبة تصل إلى 43٪ CPU مقارنةً بالأجيال السابقة.
علاوة على ذلك، YOLO26 ليس مجرد كاشف؛ فهو يتضمن تحسينات متخصصة لتقدير الوضع (باستخدام RLE) وتجزئة الحالات ومهام Oriented Bounding Box (OBB) ، مما يجعله الأداة الأكثر تنوعًا في Ultralytics .
الخلاصة
YOLOv10 كل من YOLOv9 YOLOv10 قفزة كبيرة إلى الأمام في مجال الرؤية الحاسوبية. YOLOv9 أنه يمكن جعل الشبكات العميقة أكثر كفاءة دون فقدان المعلومات، بينما YOLOv10 أنه NMS التخلص من الاعتماد على NMS الذي استمر لعقود.
بالنسبة للمطورين اليوم، يعتمد الاختيار إلى حد كبير على قيود النشر. إذا كنت بحاجة إلى أعلى دقة مطلقة في البيانات الصعبة، فإن YOLOv9e هو خيار قوي. إذا كان زمن الاستجابة وبساطة النشر أمرين بالغين الأهمية، YOLOv10 ممتاز. ومع ذلك، للحصول على أفضل توازن بين السرعة والدقة والميزات المستقبلية، فإن YOLO26 هو التوصية الحديثة لمستخدمي Ultralytics .