تخطي إلى المحتوى

YOLOv9 مقابل YOLOv10: مقارنة تقنية للكشف عن الأجسام

يعد اختيار النموذج الصحيح للكشف عن الأجسام قرارًا حاسمًا للمطورين والباحثين، حيث يوازن بين الحاجة إلى الدقة العالية وقيود الاستدلال في الوقت الحقيقي والموارد الحاسوبية. يقدّم هذا الدليل مقارنة تقنية متعمقة بين YOLOv9 و YOLOv10وهما بنيتان من أحدث البنى التي تجاوزت حدود أداء الرؤية الحاسوبية في عام 2024.

في حين يركز YOLOv9 على الابتكارات المعمارية لحل اختناقات معلومات التعلم العميق، يقدم YOLOv10 نقلة نوعية مع تصميم NMS لأدنى حد من زمن الاستجابة. تم دمج كلا النموذجين بشكل كامل في حزمةUltralytics Python مما يسمح للمستخدمين بتدريبهم والتحقق من صحتهم ونشرهم بسهولة ضمن نظام بيئي موحد.

مقاييس الأداء والمعايير المرجعية

تختلف مفاضلات الأداء بين هذين النموذجين. يدفع YOLOv9 عمومًا بمتوسط متوسط الدقة (mAP)، خاصةً مع متغيراته الأكبر، مما يجعله مناسبًا للسيناريوهات التي تكون فيها الدقة أمرًا بالغ الأهمية. وعلى العكس من ذلك، صُمم YOLOv10 لتحقيق الكفاءة، مما يقلل بشكل كبير من زمن انتقال الاستدلال وعدد المعلمات بشكل كبير، وهو أمر مثالي للنشر على الحافة.

يوضح الجدول أدناه هذه الاختلافات باستخدام مجموعة بياناتCOCO . من الجدير بالملاحظة أن YOLOv10n يحقق سرعات مذهلة على وحدات معالجة الرسومات T4، بينما يهيمن YOLOv9e في دقة الكشف.

النموذجالحجم
(بالبكسل)
mAPفال
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

YOLOv9: حل مشكلة عنق الزجاجة المعلوماتي

صدر في فبراير 2024, YOLOv9 يستهدف تحديًا نظريًا أساسيًا في الشبكات العصبية العميقة: فقدان المعلومات أثناء انتشار البيانات عبر الطبقات العميقة. صُمم هذا النموذج لضمان احتفاظ الشبكة بالميزات الأساسية المطلوبة للكشف الدقيق عن الأجسام.

تفاصيل فنية:

الهندسة المعمارية: PGI و GELAN

يقدم YOLOv9 مفهومين رائدين:

  1. معلومات التدرج القابلة للبرمجة (PGI): إطار إشراف مساعد يمنع فقدان المعلومات أثناء التدريب. يضمن توليد تدرجات موثوقة لتحديث أوزان الشبكة، مما يحل مشاكل الإشراف العميق الموجودة في البنى السابقة.
  2. شبكة تجميع الطبقات المعممة الفعالة المعممة (GELAN): بنية جديدة تزيد من كفاءة المعلمات إلى أقصى حد. تسمح GELAN للنموذج بتحقيق دقة أعلى مع عدد أقل من المعلمات مقارنةً بالتصاميم التقليدية من خلال تحسين كيفية تجميع الميزات عبر الطبقات.

نقاط القوة والضعف

تتفوق YOLOv9 في التطبيقات ذات الدقة الحرجة. قدرته على الحفاظ على معلومات الميزات التفصيلية تجعله متفوقًا في اكتشاف الأجسام الصغيرة أو التنقل في المشاهد المعقدة. ومع ذلك، فإن هذا التطور يأتي مع مفاضلة في التعقيد. إن الإضافات المعمارية مثل PGI هي في المقام الأول للتدريب، مما يعني أنه يمكن إزالتها أثناء الاستدلال، ولكن قد تكون موارد التدريب أعلى. بالإضافة إلى ذلك، على الرغم من كفاءتها، إلا أن زمن انتقالها أعلى بشكل عام من التصاميم الفعالة المتخصصة في YOLOv10.

اعرف المزيد عن YOLOv9

YOLOv10: عصر الكشف NMS

YOLOv10الذي طوّره باحثون في جامعة تسينغهوا وصدر في مايو 2024، يعطي الأولوية للسرعة في الوقت الحقيقي وقابلية النشر من البداية إلى النهاية. وتتمثل ميزته المميزة في التخلص من الكبح غير الأقصى (NMS)، وهي خطوة ما بعد المعالجة التي كانت تقليديًا عنق الزجاجة في زمن الاستجابة للاستدلال.

تفاصيل فنية:

الهندسة المعمارية: التعيينات المزدوجة المتسقة

الابتكار الأساسي في YOLOv10 هو التعيينات المزدوجة المتسقة أثناء التدريب. يستخدم النموذج استراتيجية التعيين من واحد إلى متعدد للإشراف الغني أثناء التدريب ولكنه يتحول إلى تعيين واحد إلى واحد للاستدلال. تسمح هذه البنية للنموذج بالتنبؤ مباشرةً بالمربع المحدد الأمثل لكل كائن، مما يجعل المعالجة اللاحقة NMS متوفرة. بالاقتران مع تصميم الكتلة الموجهة بالترتيب، يقلل YOLOv10 من التكرار والنفقات الحسابية الزائدة (FLOPs).

نقاط القوة والضعف

الميزة الأساسية لـ YOLOv10 هي زمن الاستجابة المنخفض. من خلال إزالة NMS يصبح زمن انتقال الاستدلال حتميًا وأقل بكثير، وهو أمر بالغ الأهمية لمعالجة الفيديو في الوقت الحقيقي. كما أنه يتميز أيضًا بكفاءة ممتازة في المعاملات، كما هو موضح في جدول المقارنة حيث تحقق نماذج YOLOv10 دقة تنافسية مع عدد أقل من عمليات FLOP. تتمثل إحدى نقاط الضعف المحتملة في حداثة تقديمه نسبيًا مقارنةً بالنظم البيئية الراسخة، على الرغم من أن التكامل في Ultralytics يخفف من ذلك. كما أنه متخصص للغاية في الكشف، في حين أن النماذج الأخرى في النظام البيئي تقدم دعمًا أوسع متعدد المهام.

التصدير من النهاية إلى النهاية

نظرًا لأن YOLOv10 NMS حسب التصميم، فإن تصديره إلى تنسيقات مثل ONNX أو TensorRT غالبًا ما يكون أبسط وينتج نماذج "نقية" من البداية إلى النهاية دون الحاجة إلى مكونات إضافية معقدة بعد المعالجة.

اعرف المزيد عن YOLOv10

تحليل مقارن للمطورين

عند دمج هذه النماذج في الإنتاج، تلعب عدة عوامل عملية دوراً يتجاوز المقاييس الأولية.

سهولة الاستخدام والنظام البيئي

يستفيد كلا النموذجين بشكل كبير من كونهما جزءًا من نظامUltralytics البيئي. وهذا يعني أنه يمكن للمطوّرين التبديل بين YOLOv9 و YOLOv10 بمجرد تغيير سلسلة النموذج، باستخدام نفس خطوط أنابيب التدريب وأدوات التحقق من الصحة وتنسيقات النشر.

  • كفاءة التدريب: تتطلب نماذج Ultralytics عادةً ذاكرة أقل من أجهزة الكشف القائمة على المحولات، مما يسمح بالتدريب على وحدات معالجة الرسومات الاستهلاكية القياسية.
  • تعدد الاستخدامات: في حين أن YOLOv9 و YOLOv10 يركزان على الاكتشاف، فإن واجهة برمجة تطبيقات Ultralytics تدعم مهام أخرى مثل تجزئة الن ماذج وتقدير الوضعية من خلال نماذج مثل YOLO11 و YOLOv8 مما يوفر مجموعة أدوات شاملة لمشاريع الذكاء الاصطناعي البصري المتنوعة.

حالات الاستخدام المثالية

  • اختر YOLOv9 عندما:

    • يتطلب تطبيقك أعلى دقة ممكنة (على سبيل المثال، التصوير الطبي، واكتشاف العيوب في التصنيع).
    • أنت تعمل مع كائنات يصعب detect حيث يكون الاحتفاظ بالمعلومات أمرًا بالغ الأهمية.
    • الكمون هو مصدر قلق ثانوي مقارنة بالدقة.
  • اختر YOLOv10 عندما:

    • السرعة أمر بالغ الأهمية. تستفيد تطبيقات مثل القيادة الذاتية أو الملاحة الروبوتية أو تحليلات الفيديو عالية الإطارات في الثانية من التصميم NMS.
    • النشر على الأجهزة المتطورة (مثل NVIDIA Jetson أو Raspberry Pi) حيث تكون موارد CPUGPU CPU محدودة.
    • أنت بحاجة إلى وقت استدلال حتمي دون التباين الذي تقدمه معالجة NMS .

مثال على الكود: تشغيل كلا النموذجين

وبفضل واجهة برمجة تطبيقات 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: أحدث طراز متطور يوفر أداءً فائقًا وتعدد استخدامات في الكشف، والتقسيم، والوضعية، والوضعية، وOBB، والتصنيف.
  • YOLOv8: طراز شائع ومستقر للغاية ومعروف بتوافقه الواسع ودعمه للمهام المتعددة.
  • RT-DETR: كاشف قائم على المحولات يوفر دقة عالية دون الحاجة إلى NMS)، ويعمل كبديل لبنية YOLO لحالات استخدام محددة.

من خلال الاستفادة من منصة Ultralytics يمكنك الوصول إلى هذه المجموعة الكاملة من النماذج، مما يضمن لك الحصول على الأداة المناسبة للمهمة دائماً.


تعليقات