Узнайте о подавлении немаксимумов (NMS) для обнаружения объектов. Узнайте, как это улучшает результаты, повышает точность и расширяет возможности приложений ИИ, таких как YOLO.
Non-Maximum Suppression (NMS) или подавление немаксимумов — это фундаментальный алгоритм постобработки, используемый в компьютерном зрении, особенно в задачах обнаружения объектов. Его основная цель — очистить выходные данные модели обнаружения, отфильтровывая избыточные и перекрывающиеся ограничивающие рамки, чтобы гарантировать, что каждый объект идентифицируется только один раз. Когда модель обнаружения объектов, такая как Ultralytics YOLO, делает прогнозы, она часто генерирует несколько возможных рамок вокруг одного и того же объекта, каждая с разной оценкой достоверности. NMS интеллектуально выбирает одну лучшую ограничивающую рамку для каждого объекта и подавляет или устраняет все другие перекрывающиеся рамки, которые считаются немаксимальными.
Алгоритм NMS работает путем итерации по прогнозируемым ограничивающим рамкам и принятия решений на основе двух ключевых показателей: оценок достоверности и порога Intersection over Union (IoU). Процесс можно резюмировать следующими шагами:
Порог IoU является критически важным, определяемым пользователем гиперпараметром. Низкий порог IoU приведет к меньшему количеству обнаружений, поскольку он будет подавлять прямоугольники, которые имеют даже небольшое перекрытие, в то время как высокий порог может допустить множественные обнаружения для одного и того же объекта. Точная настройка этого порога часто является частью оптимизации производительности модели на конкретном наборе данных.
NMS является важным компонентом во многих реальных приложениях ИИ, которые полагаются на точное обнаружение объектов.
NMS — это, в частности, этап постобработки, применяемый после того, как модель обнаружения объектов сгенерировала свой первоначальный набор ограничивающих рамок. Его не следует путать с самой архитектурой обнаружения, например, с разницей между детекторами на основе якорей и детекторами без якорей. Эти архитектуры определяют, как предлагаются потенциальные рамки, в то время как NMS уточняет эти предложения.
Интересно, что вычислительные затраты и потенциальные узкие места, связанные с NMS, стимулировали исследования в области детекторов объектов без NMS. Такие модели, как YOLOv10, интегрируют механизмы во время обучения, чтобы по своей сути избегать прогнозирования избыточных ограничивающих рамок, стремясь уменьшить задержку вывода и обеспечить действительно сквозное обнаружение. Это контрастирует с традиционными подходами, такими как Ultralytics YOLOv8 или YOLOv5, где NMS остается стандартной и важной частью конвейера вывода. Вы можете изучить технические сравнения, такие как YOLOv10 и YOLOv8, в нашей документации. Варианты, такие как Soft-NMS, предлагают альтернативные подходы, которые снижают оценки перекрывающихся ограничивающих рамок вместо того, чтобы полностью их исключать.
NMS легко интегрируется в экосистему Ultralytics. Модели Ultralytics YOLO автоматически применяют NMS во время прогноз (predict
) и валидация (val
) режимы, гарантируя, что пользователи по умолчанию получают чистые и точные результаты обнаружения. Параметры, управляющие поведением NMS (например, порог IoU и порог уверенности), часто можно настроить для конкретных потребностей приложения.
Платформы, такие как Ultralytics HUB, дополнительно абстрагируют эти детали, позволяя пользователям обучать модели и развертывать их там, где NMS обрабатывается автоматически как часть оптимизированного конвейера. Эта интеграция гарантирует, что пользователи, независимо от их глубоких технических знаний в области MLOps, могут извлечь выгоду из самых современных результатов обнаружения объектов для различных задач компьютерного зрения. Конкретные детали реализации в рамках Ultralytics можно изучить в справочнике по утилитам Ultralytics. Дополнительные определения см. в основном глоссарии Ultralytics.