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

YOLOv10 مقابل YOLOv9: مقارنة تقنية شاملة

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

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

YOLOv10: كاشف الوقت الحقيقي من البداية إلى النهاية

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

تفاصيل فنية:

الهندسة المعمارية والابتكارات الرئيسية

يحقق YOLOv10 كفاءته من خلال مزيج من التعيينات المزدوجة المتسقة وتصميم نموذج شامل مدفوع بالكفاءة والدقة.

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

ميزة الكفاءة

إن إزالة NMS في YOLOv10 مفيد بشكل خاص للنشر على الحافة. على الأجهزة التي تكون فيها موارد CPU شحيحة، يمكن أن يؤدي تجنب التكلفة الحسابية لفرز وتصفية آلاف المربعات المرشحة إلى تسريع كبير.

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

YOLOv9: إتقان الاحتفاظ بالمعلومات

قدمه في فبراير 2024 تشين ياو وانغ وهونغ يوان مارك لياو, YOLOv9 يستهدف مشكلة "عنق زجاجة المعلومات" المتأصلة في الشبكات العصبية العميقة. فمع مرور البيانات عبر الطبقات المتتالية (استخراج السمات)، يمكن أن تضيع المعلومات المهمة، مما يؤدي إلى تدهور الدقة، خاصةً بالنسبة للأجسام الصغيرة أو التي يصعب detect .

تفاصيل فنية:

الهندسة المعمارية والابتكارات الرئيسية

يقدم YOLOv9 مفاهيم جديدة لضمان احتفاظ الشبكة بأكبر قدر ممكن من المعلومات المدخلة واستخدامها.

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

رؤى التعلم العميق

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

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

مقاييس الأداء: السرعة مقابل الدقة

غالبًا ما يعود الاختيار بين هذين النموذجين إلى المفاضلة بين سرعة الاستدلال الأولية ودقة الكشف. يسلط الجدول أدناه الضوء على اختلافات الأداء عبر مختلف مقاييس النماذج.

التحليل:

  • زمن الاستجابة: يتفوق YOLOv10 باستمرار على YOLOv9 في زمن الاستنتاج، خاصةً في أحجام النماذج الأصغر (N و S). على سبيل المثال، يحقق YOLOv10n سرعة استنتاج تبلغ 1.56 مللي ثانية على TensorRT وهو أسرع بكثير من النماذج المماثلة.
  • الدقة: يتفوق YOLOv9 في الدقة في الطرف الأعلى من الطيف. يحقق موديل YOLOv9e دقة فائقة تصل إلى 55.6% من الدقة mAP في الدقة مما يجعله الخيار الأفضل للتطبيقات التي تكون فيها الدقة أمرًا بالغ الأهمية.
  • الكفاءة: يوفر YOLOv10 دقة ممتازة لكل معيار. يحقق YOLOv10b mAP 52.7% في المعلمة مع زمن انتقال أقل من YOLOv9c، مما يدل على فعالية تصميمه الشامل.
النموذجالحجم
(بالبكسل)
mAPفال
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
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
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

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

يساعد فهم نقاط قوة كل نموذج في اختيار الأداة المناسبة لأهداف مشروعك المحددة.

متى تختار YOLOv10

  • نشر الذكاء الاصطناعي المتطور: تستفيد التطبيقات التي تعمل على أجهزة مثل NVIDIA Jetson أو Raspberry Pi من التصميم NMS مما يقلل من النفقات الزائدة CPU .
  • تحليل الفيديو عالي التردد: السيناريوهات التي تتطلب معالجة تدفقات الفيديو عالية التردد، مثل مراقبة حركة المرور أو التحليلات الرياضية.
  • الروبوتات في الوقت الحقيقي: الأنظمة ذاتية التشغيل التي تعتمد على حلقات تغذية مرتجعة منخفضة التأخير للملاحة وتجنب العقبات.

متى تختار YOLOv9

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

الاستخدام مع Ultralytics

تتمثل إحدى المزايا المهمة لاستخدام هذه النماذج في تكاملها في نظام Ultralytics البيئي. يمكن استخدام كلٍ من YOLOv10 و YOLOv9 عبر نفس واجهة برمجة تطبيقات Python API الموحدة وواجهة سطر الأوامرCLI، مما يبسط سير العمل من التدريب إلى النشر.

مثال على Python

يوضّح الرمز التالي كيفية تحميل وتشغيل الاستدلال باستخدام كلا النموذجين باستخدام ultralytics .

from ultralytics import YOLO

# Load a YOLOv10 model (NMS-free, high speed)
model_v10 = YOLO("yolov10n.pt")

# Load a YOLOv9 model (High accuracy)
model_v9 = YOLO("yolov9c.pt")

# Run inference on an image
# The API remains consistent regardless of the underlying architecture
results_v10 = model_v10("https://ultralytics.com/images/bus.jpg")
results_v9 = model_v9("https://ultralytics.com/images/bus.jpg")

# Print results
for r in results_v10:
    print(f"YOLOv10 Detections: {r.boxes.shape[0]}")

for r in results_v9:
    print(f"YOLOv9 Detections: {r.boxes.shape[0]}")

ميزة Ultralytics

يوفر لك اختيار Ultralytics لمشاريع الرؤية الحاسوبية الخاصة بك العديد من المزايا التي تتجاوز مجرد بنية النموذج:

  • سهولة الاستخدام: تسمح لك واجهة برمجة التطبيقات سهلة الاستخدام بالتبديل بين YOLOv9 و YOLOv10 ونماذج أخرى مثل YOLO11 بمجرد تغيير اسم ملف الأوزان.
  • توازن الأداء: تم تحسين تطبيقات Ultralytics لتحقيق الأداء في العالم الحقيقي، وتحقيق التوازن بين السرعة والدقة.
  • كفاءة التدريب: يدعم إطار العمل ميزات مثل الدقة التلقائية المختلطة (AMP) والتدريب متعدد GPU معالجة الرسومات، مما يسهل تدريب النماذج المخصصة على مجموعات البيانات الخاصة بك.
  • متطلبات الذاكرة: تُظهر نماذج Ultralytics عادةً استخدامًا أقل للذاكرة مقارنةً بالبدائل القائمة على المحولات، مما يسهل التدريب على وحدات معالجة الرسومات من فئة المستهلك.

الخلاصة

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

للمطورين الذين يبحثون عن أحدث الحلول وأكثرها تنوعًا، نوصي أيضًا باستكشاف YOLO11. يبني YOLO11 على نقاط قوة هذه الحلول السابقة، حيث يقدم توازنًا محسّنًا بين السرعة والدقة والميزات الخاصة بمهام الكشف والتجزئة وتقدير الوضعية.

استكشف نماذج أخرى

  • Ultralytics YOLO11 - أحدث طراز من أحدث طراز.
  • Ultralytics YOLOv8 - نموذج متعدد الاستخدامات وناضج لمختلف مهام الرؤية.
  • RT-DETR - كاشف قائم على محول للتطبيقات عالية الدقة.

تعليقات