YOLOv9 ضد YOLOv10: مقارنة فنية لـ detect الكائنات
يعد اختيار نموذج الكشف عن الكائنات الصحيح قرارًا حاسمًا للمطورين والباحثين، حيث يوازن بين الحاجة إلى دقة عالية مقابل قيود الاستدلال في الوقت الفعلي والموارد الحسابية. يقدم هذا الدليل مقارنة فنية متعمقة بين YOLOv9 و YOLOv10، وهما بنيتان حديثتان دفعتا حدود أداء الرؤية الحاسوبية في عام 2024.
في حين أن YOLOv9 تركز على الابتكارات المعمارية لحل اختناقات معلومات التعلم العميق، فإن YOLOv10 تقدم تحولًا نموذجيًا مع تصميم خالٍ من NMS لتقليل زمن الوصول. تم دمج كلا النموذجين بالكامل في حزمة Ultralytics Python، مما يسمح للمستخدمين بتدريبها والتحقق من صحتها ونشرها بسهولة داخل نظام بيئي موحد.
مقاييس ومعايير الأداء
تعتبر المفاضلات في الأداء بين هذين النموذجين متميزة. يدفع YOLOv9 بشكل عام حدود متوسط الدقة (mAP)، لا سيما مع متغيراته الأكبر، مما يجعله مناسبًا للسيناريوهات التي تكون فيها الدقة ذات أهمية قصوى. وعلى العكس من ذلك، تم تصميم YOLOv10 لتحقيق الكفاءة، مما يقلل بشكل كبير من زمن انتقال الاستدلال وعدد المعلمات، وهو مثالي للنشر على الحافة.
يوضح الجدول أدناه هذه الاختلافات باستخدام مجموعة بيانات COCO. والجدير بالذكر أن YOLOv10n يحقق سرعات مذهلة على وحدات معالجة الرسومات T4، بينما يهيمن YOLOv9e على دقة الكشف.
| النموذج | الحجم (بالبكسل) | 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 |
YOLOv9: حل مشكلة عنق الزجاجة المعلوماتي
يستهدف YOLOv9، الذي تم إصداره في فبراير 2024، تحديًا نظريًا أساسيًا في الشبكات العصبية العميقة: فقدان المعلومات مع انتشار البيانات عبر الطبقات العميقة. تم تصميم هذا النموذج لضمان احتفاظ الشبكة بالميزات الأساسية المطلوبة للكشف الدقيق عن الكائنات.
تفاصيل فنية:
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المؤسسة:معهد علوم المعلومات، أكاديميا سينيكا
- التاريخ: 2024-02-21
- Arxiv:arXiv:2402.13616
- GitHub:WongKinYiu/yolov9
الهيكلة: PGI و GELAN
يقدم YOLOv9 مفهومين رائدين:
- معلومات التدرج القابلة للبرمجة (PGI): إطار إشراف مساعد يمنع فقدان المعلومات أثناء التدريب. يضمن إنشاء تدرجات موثوقة لتحديث أوزان الشبكة، وحل مشكلات الإشراف العميق الموجودة في الهياكل السابقة.
- شبكة تجميع الطبقات الفعالة المعممة (GELAN): بنية جديدة تزيد من كفاءة المعلمات. تسمح GELAN للنموذج بتحقيق دقة أعلى مع عدد أقل من المعلمات مقارنة بالتصميمات التقليدية من خلال تحسين كيفية تجميع الميزات عبر الطبقات.
نقاط القوة والضعف
تتفوق YOLOv9 في التطبيقات ذات الأهمية الحاسمة للدقة. إن قدرتها على الحفاظ على معلومات الميزات التفصيلية تجعلها متفوقة في اكتشاف الكائنات الصغيرة أو التنقل في المشاهد المعقدة. ومع ذلك، فإن هذا التطور يأتي مع مقايضة في التعقيد. الإضافات المعمارية مثل PGI مخصصة بشكل أساسي للتدريب، مما يعني أنه يمكن إزالتها أثناء الاستدلال، ولكن موارد التدريب قد تكون أعلى. بالإضافة إلى ذلك، على الرغم من كفاءتها، إلا أن زمن الوصول الخاص بها أعلى بشكل عام من التصميمات الفعالة المتخصصة في YOLOv10.
YOLOv10: عصر الكشف الخالي من NMS
YOLOv10، الذي طوره باحثون في جامعة تسينغ هوا وصدر في مايو 2024، يعطي الأولوية للسرعة في الوقت الفعلي وقابلية النشر الشاملة. السمة المميزة له هي التخلص من Non-Maximum Suppression (NMS)، وهي خطوة ما بعد المعالجة التي كانت تقليديًا تمثل عنق الزجاجة في زمن انتقال الاستدلال.
تفاصيل فنية:
- المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
- المؤسسة:جامعة تسينغ - هوا
- التاريخ: 2024-05-23
- Arxiv:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
الهيكلة: تعيينات ثنائية متسقة
يكمن الابتكار الأساسي في YOLOv10 في التعيينات المزدوجة المتسقة أثناء التدريب. يستخدم النموذج إستراتيجية تعيين واحد إلى متعدد للإشراف الغني أثناء التدريب ولكنه يتحول إلى تعيين واحد إلى واحد للاستدلال. تسمح هذه البنية للنموذج بالتنبؤ مباشرة بالمربع المحيط الأمثل لكل كائن، مما يجعل معالجة NMS اللاحقة قديمة. إلى جانب تصميم الكتلة الموجهة بالرتبة، يقلل YOLOv10 من التكرار والنفقات الحسابية (FLOPs).
نقاط القوة والضعف
الميزة الأساسية لـ YOLOv10 هي زمن انتقال منخفض. من خلال إزالة NMS، يصبح زمن انتقال الاستدلال حتميًا وأقل بكثير، وهو أمر بالغ الأهمية لمعالجة الفيديو في الوقت الفعلي. كما أنها تتميز بكفاءة ممتازة في المعلمات، كما هو موضح في جدول المقارنة حيث تحقق نماذج YOLOv10 دقة تنافسية مع عدد أقل من FLOPs. يتمثل الضعف المحتمل في تقديمه الحديث نسبيًا مقارنة بالأنظمة البيئية الراسخة، على الرغم من أن التكامل في Ultralytics يقلل من ذلك. كما أنه متخصص للغاية في الكشف، في حين أن النماذج الأخرى في النظام البيئي تقدم دعمًا أوسع متعدد المهام.
تصدير شامل
نظرًا لأن YOLOv10 مصمم ليكون خاليًا من NMS، فإن تصديره إلى تنسيقات مثل ONNX أو TensorRT غالبًا ما يكون أبسط وينتج نماذج "نقية" شاملة دون الحاجة إلى ملحقات معالجة لاحقة معقدة.
تحليل مقارن للمطورين
عند دمج هذه النماذج في الإنتاج، تدخل العديد من العوامل العملية حيز التنفيذ بخلاف المقاييس الأولية.
سهولة الاستخدام والنظام البيئي
يستفيد كلا النموذجين بشكل كبير من كونهما جزءًا من نظام Ultralytics البيئي. هذا يعني أنه يمكن للمطورين التبديل بين YOLOv9 و YOLOv10 ببساطة عن طريق تغيير سلسلة النموذج، باستخدام نفس خطوط أنابيب التدريب وأدوات التحقق من الصحة و تنسيقات النشر.
- كفاءة التدريب: تتطلب نماذج Ultralytics عادةً ذاكرة أقل من أجهزة الكشف القائمة على المحولات، مما يسمح بالتدريب على وحدات معالجة الرسومات (GPUs) الاستهلاكية القياسية.
- تعدد الاستخدامات: في حين أن YOLOv9 و YOLOv10 يركزان على الاكتشاف، فإن واجهة برمجة تطبيقات Ultralytics تدعم مهام أخرى مثل instance segmentation و pose estimation من خلال نماذج مثل YOLO11 و YOLOv8، مما يوفر مجموعة أدوات شاملة لمشاريع الذكاء الاصطناعي المرئي المتنوعة.
حالات الاستخدام المثالية
اختر YOLOv9 عندما:
- يتطلب تطبيقك أعلى دقة ممكنة (مثل التصوير الطبي، و detect العيوب في التصنيع).
- أنت تعمل على كائنات يصعب الـ detect فيها حيث يكون الاحتفاظ بالمعلومات أمرًا بالغ الأهمية.
- زمن الوصول هو شاغل ثانوي مقارنة بالدقة.
اختر YOLOv10 عندما:
- السرعة بالغة الأهمية. تستفيد تطبيقات مثل القيادة الذاتية أو الملاحة الروبوتية أو تحليلات الفيديو عالية FPS من تصميم NMS-free.
- النشر على الأجهزة الطرفية (مثل NVIDIA Jetson أو Raspberry Pi) حيث تكون موارد CPU/GPU محدودة.
- أنت بحاجة إلى وقت استدلال حتمي دون التباين الناتج عن معالجة NMS.
مثال على التعليمات البرمجية: تشغيل كلا النموذجين
بفضل واجهة برمجة التطبيقات (API) الموحدة Ultralytics، فإن مقارنة هذه النماذج ببياناتك الخاصة أمر بسيط ومباشر. يوضح كود python التالي كيفية تحميل وتشغيل الاستدلال مع كلا البنيتين.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model_v9 = YOLO("yolov9c.pt")
# Load a pre-trained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")
# Run inference on an image
results_v9 = model_v9("path/to/image.jpg")
results_v10 = model_v10("path/to/image.jpg")
# Print results
print(f"YOLOv9 Detection: {len(results_v9[0].boxes)}")
print(f"YOLOv10 Detection: {len(results_v10[0].boxes)}")
الخلاصة
يمثل كل من YOLOv9 و YOLOv10 علامات بارزة في مجال رؤية الكمبيوتر. يدفع YOLOv9 الحدود النظرية للاحتفاظ بالميزات والدقة، مما يجعله قوة كبيرة للبحث والمهام التي تتطلب دقة عالية. يعيد YOLOv10 تعريف الكفاءة عن طريق إزالة عنق الزجاجة NMS، وتقديم حل مبسط للتطبيقات في الوقت الفعلي.
بالنسبة للمستخدمين الذين يبحثون عن أفضل توازن بين الدقة والسرعة وثراء الميزات عبر مهام متعددة (بما في ذلك التقسيم والتصنيف)، نوصي أيضًا باستكشاف YOLO11. باعتباره أحدث إصدار من Ultralytics، يقوم YOLO11 بتحسين أفضل سمات الإصدارات السابقة في حزمة قوية وجاهزة للمؤسسات ومناسبة لأي تطبيق للذكاء الاصطناعي البصري تقريبًا.
استكشف نماذج أخرى
النظام البيئي لـ Ultralytics واسع النطاق. إذا كانت متطلبات مشروعك مختلفة، ففكر في هذه البدائل:
- YOLO11: أحدث نموذج SOTA يقدم أداءً وتنوعًا فائقين عبر مهام Detect، Segmentation، Pose، OBB، و Classification.
- YOLOv8: نموذج شائع ومستقر للغاية معروف بتوافقه الواسع ودعم المهام المتعددة.
- RT-DETR: كاشف يعتمد على المحولات ويوفر دقة عالية دون الحاجة إلى NMS، ويعمل كبديل لبنى YOLO في حالات استخدام محددة.
من خلال الاستفادة من منصة Ultralytics، يمكنك الوصول إلى هذه المجموعة الكاملة من النماذج، مما يضمن حصولك دائمًا على الأداة المناسبة للوظيفة.