Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

الكبت غير الأقصىNMS

تعرف على كيفية قيام تقنية Non-Maximum Suppression (NMS) بإزالة المربعات المحددة المكررة في عملية الكشف عن الكائنات. اكتشف كيف يوفر Ultralytics NMS أصلية شاملة.

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

كيفية عمل منع التداخل الأقصى

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

  1. التصفية: قم بإزالة جميع المربعات المحددة التي تقل درجة ثقتها عن عتبة معينة (على سبيل المثال، 0.25) لإزالة التوقعات الضعيفة على الفور.
  2. الفرز: قم بفرز الصناديق المتبقية بترتيب تنازلي بناءً على درجات الثقة الخاصة بها.
  3. الاختيار: اختر المربع الذي يحتوي على أعلى درجة ثقة كاكتشاف صحيح.
  4. المقارنة: قارن هذا المربع المحدد مع جميع المربعات المتبقية الأخرى باستخدام Intersection over Union (IoU)، وهو مقياس يقيس التداخل بين مربعين.
  5. القمع: إذا تجاوزت قيمة IoU المربع المحدد ومربع آخر عتبة محددة مسبقًا (على سبيل المثال، 0.45)، يُعتبر المربع ذو النتيجة الأقل مكررًا ويتم إزالته.
  6. التكرار: كرر العملية مع المربع التالي الأعلى درجة الذي لم يتم حذفه أو اختياره بعد، حتى تتم معالجة جميع المربعات.

تطبيقات واقعية

NMS ضروريًا في السيناريوهات التي تتطلب دقة فائقة وحيث يمكن أن يؤدي اكتشاف التكرارات إلى إرباك الأنظمة النهائية.

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

NMS باستخدام PyTorch

بينما تتعامل العديد من الأطر الحديثة NMS فإن فهم التنفيذ يساعد في ضبط المعلمات. يوضح المثال التالي كيفية تطبيق NMS PyTorch :

import torch
import torchvision.ops as ops

# Example bounding boxes: [x1, y1, x2, y2]
boxes = torch.tensor(
    [
        [100, 100, 200, 200],  # Box A
        [105, 105, 195, 195],  # Box B (High overlap with A)
        [300, 300, 400, 400],  # Box C (Distinct object)
    ],
    dtype=torch.float32,
)

# Confidence scores for each box
scores = torch.tensor([0.9, 0.8, 0.95], dtype=torch.float32)

# Apply NMS with an IoU threshold of 0.5
# Boxes with IoU > 0.5 relative to the highest scoring box are suppressed
keep_indices = ops.nms(boxes, scores, iou_threshold=0.5)

print(f"Indices to keep: {keep_indices.tolist()}")
# Output will likely be [2, 0] corresponding to Box C (0.95) and Box A (0.9),
# while Box B (0.8) is suppressed due to overlap with A.

NMS الكشف الشامل

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

  • NMS القياسي: عملية تجريبية تتطلب ضبط IoU يدويًا. إذا كانت العتبة منخفضة جدًا، فقد يتم تفويت كائنات صالحة قريبة من بعضها البعض ( استرجاع منخفض ). إذا كانت عالية جدًا، تظل التكرارات موجودة ( دقة منخفضة ).
  • نماذج من البداية إلى النهاية: تم تصميم نماذج الجيل التالي مثل YOLO26 لتكون من البداية إلى النهاية. فهي تتعلم توقع مربع واحد بالضبط لكل كائن أثناء التدريب، مما يؤدي إلى استيعاب NMS بشكل فعال. وهذا يلغي الحاجة إلى المعالجة اللاحقة الخارجية، مما يؤدي إلى سرعات استدلال أسرع وخطوط أنابيب نشر أبسط على Ultralytics .

المفاهيم ذات الصلة

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

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن