اكتشف الكبت غير الأقصىNMS) لاكتشاف الأجسام. تعرّف على كيفية تحسين النتائج وتعزيز الدقة وتشغيل تطبيقات الذكاء الاصطناعي مثل YOLO.
يعد الكبت غير الأقصىNMS) تقنية حيوية لما بعد المعالجة تُستخدم في الرؤية الحاسوبية لتحسين نتائج خوارزميات اكتشاف الأجسام. عندما يحلل النموذج صورة ما، فإنه كثيرًا ما يتنبأ بعدة مربعات متداخلة متعددة متداخلة لجسم واحد، كل منها له احتمالية مميزة لكل منها. تقوم NMS بتصفية هذه التنبؤات الزائدة عن الحاجة لضمان تحديد كل كائن فريد من نوعه مرة واحدة فقط، مع الاحتفاظ فقط بالمربع الأكثر دقة بينما يتم تجاهل البقية. هذه العملية ضرورية لتحقيق دقة عالية عالية الدقة في تطبيقات العالم الحقيقي، مما يمنع الأنظمة من اكتشاف التكرارات "الشبحية" لنفس الهدف.
تعمل خوارزمية NMS كمرشح يقوم بتنظيف المخرجات الأولية لنموذج نموذج التعلم العميق. تعتمد بشكل كبير على مقياسين رئيسيين رئيسيين: درجة الثقة، والتي تشير إلى مدى مدى تأكد النموذج من احتواء المربع على كائن ما، ومقياس التقاطع على الاتحاد (IoU)، والذي الذي يقيس التداخل المكاني بين صندوقين.
تتبع خوارزمية الجشع القياسية NMS بشكل عام هذه الخطوات:
تعمل الاختلافات المتقدمة، مثل NMS على تقليل درجات الكشف عن المربعات المتداخلة بدلًا من إزالتها بالكامل، وهو ما يمكن أن يكون مفيدًا في المشاهد المزدحمة حيث الأجسام تحجب بعضها البعض بشكل طبيعي.
ينتشر NMS في كل مكان في الأنظمة التي تعتمد على الذكاء الاصطناعي لتفسير البيانات المرئية. ويكتسب دوره أهمية خاصة في البيئات الحرجة للسلامة والبيئات عالية الدقة.
في Ultralytics YOLO11 تم دمج NMS مباشرةً في خط أنابيب التنبؤ. يمكن للمستخدمين بسهولة ضبط معلمات NMS مثل عتبة IoU لتحقيق التوازن بين إزالة التكرارات وفصل الكائنات المتقاربة.
يوضح مقتطف التعليمات البرمجية التالية كيفية تشغيل الاستدلال وتخصيص إعدادات NMS باستخدام
ultralytics الحزمة:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
# 'iou=0.5' sets the NMS threshold; boxes with >50% overlap are suppressed
# 'conf=0.25' filters out boxes with low confidence before NMS runs
results = model.predict("https://ultralytics.com/images/bus.jpg", iou=0.5, conf=0.25)
# Display the number of detected objects after NMS
print(f"Objects detected: {len(results[0].boxes)}")
من المهم التمييز بين NMS والمصطلحات الأخرى الموجودة في خطوط أنابيب الكشف.
بالنسبة للمطوّرين الذين يتطلعون إلى نشر هذه النماذج بكفاءة، فإن فهم تأثير NMS على الاستدلال في الوقت الحقيقي أمر بالغ الأهمية. أدوات مثل TensorRT غالبًا ما تتضمن مكونات إضافية محسّنة ل NMS لتسريع هذه الخطوة هذه الخطوة أثناء نشر النموذج.