Ultralytics YOLO27:
Назад к глоссарию Ultralytics

Non-Maximum Suppression (NMS)

Узнай, как подавление немаксимумов (NMS) устраняет дублирующиеся ограничивающие рамки при обнаружении объектов. Изучи, как Ultralytics YOLO26 обеспечивает встроенный сквозной NMS.

Подавление немаксимумов (NMS) — это метод постобработки, используемый в обнаружении объектов для уточнения исходных предсказаний модели. Когда модель обнаружения объектов анализирует изображение, она часто генерирует несколько перекрывающихся ограничивающих рамок для одного объекта, каждой из которых соответствует собственная оценка уверенности. Такие избыточные предсказания возникают потому, что модель может обнаруживать один и тот же признак в немного различающихся масштабах или позициях. NMS фильтрует этот результат, сохраняя только наиболее точную ограничивающую рамку для каждого объекта и отбрасывая остальные, благодаря чему итоговый результат получается чистым, точным и не содержит дубликатов.

Как работает подавление немаксимумов#

Алгоритм NMS работает со списком кандидатных ограничивающих рамок и соответствующих им оценок уверенности. Цель состоит в том, чтобы выбрать лучшую рамку для объекта и подавить (удалить) все остальные рамки, которые значительно с ней перекрываются, поскольку, скорее всего, они являются дубликатами обнаружения того же объекта. Обычно процесс включает следующие шаги:

  1. Фильтрация: удалить все ограничивающие рамки с оценками уверенности ниже определённого порога (например, 0.25), чтобы сразу исключить слабые предсказания.

  2. Сортировка: отсортировать оставшиеся рамки по убыванию оценок уверенности.

  3. Выбор: выбрать рамку с наивысшей оценкой уверенности в качестве корректного обнаружения.

  4. Сравнение: сравнить выбранную рамку со всеми остальными рамками, используя отношение площади пересечения к площади объединения (IoU) — метрику, которая измеряет степень перекрытия двух рамок.

  5. Подавление: если IoU между выбранной рамкой и другой рамкой превышает заданный порог (например, 0.45), рамка с более низкой оценкой считается дубликатом и удаляется.

  6. Итерация: повторять процесс со следующей рамкой с наивысшей оценкой, которая ещё не была подавлена или выбрана, пока не будут обработаны все рамки.

Практические применения#

NMS необходим в сценариях, где особенно важна точность, а дублирующиеся обнаружения могут запутать последующие системы.

  • Автономное вождение: в системах беспилотных автомобилей камеры обнаруживают пешеходов, другие транспортные средства и дорожные знаки. Модель может предсказать три немного отличающиеся рамки для одного пешехода. 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 Platform.

Связанные понятия#

  • Soft-NMS: вариант, при котором перекрывающиеся рамки не удаляются безусловно, а их оценки уверенности снижаются. Благодаря этому частично перекрывающиеся объекты (например, люди в толпе) всё ещё могут быть обнаружены, если после снижения их оценки остаются достаточно высокими.
  • Якорные рамки: заранее заданные формы рамок, используемые многими детекторами для оценки размера объекта. NMS применяется к итоговым предсказаниям, уточнённым на основе этих якорей.
  • Отношение площади пересечения к площади объединения (IoU): математическая формула, используемая NMS для определения степени перекрытия двух рамок и служащая порогом принятия решения при подавлении.

Explore solutions

Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

Превращай кадры с дронов и аэрофотоснимки в аналитику в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Узнать больше
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Внедри компьютерное зрение в воздушный мониторинг с моделями Ultralytics YOLO. Обеспечь дроны, аэрокосмические рабочие процессы, задачи охраны природы и геопространственные отрасли решениями на базе компьютерного зрения.
Узнать больше

Защити каждый объект с помощью моделей Ultralytics YOLO. Компьютерное зрение обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Узнать больше
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Оснащай более умные машины моделями Ultralytics YOLO. Vision AI в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI обеспечивает инспекцию посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складах в реальном времени.
Узнать больше
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с помощью моделей Ultralytics YOLO. Vision AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения клиентов.
Узнать больше
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Vision AI в здравоохранении обеспечивает более быструю обработку медицинских изображений, более точную диагностику и интеллектуальный мониторинг пациентов.
Узнать больше
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Vision AI повышает безопасность дорог, эффективность систем помощи водителю и уровень автоматизации автомобилей, делая дороги умнее.
Узнать больше
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

Превращай кадры с дронов и аэрофотоснимки в аналитику в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Узнать больше
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Внедри компьютерное зрение в воздушный мониторинг с моделями Ultralytics YOLO. Обеспечь дроны, аэрокосмические рабочие процессы, задачи охраны природы и геопространственные отрасли решениями на базе компьютерного зрения.
Узнать больше

Защити каждый объект с помощью моделей Ultralytics YOLO. Компьютерное зрение обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Узнать больше
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Оснащай более умные машины моделями Ultralytics YOLO. Vision AI в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI обеспечивает инспекцию посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складах в реальном времени.
Узнать больше
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с помощью моделей Ultralytics YOLO. Vision AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения клиентов.
Узнать больше
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Vision AI в здравоохранении обеспечивает более быструю обработку медицинских изображений, более точную диагностику и интеллектуальный мониторинг пациентов.
Узнать больше
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Vision AI повышает безопасность дорог, эффективность систем помощи водителю и уровень автоматизации автомобилей, делая дороги умнее.
Узнать больше
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

Превращай кадры с дронов и аэрофотоснимки в аналитику в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Узнать больше
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Внедри компьютерное зрение в воздушный мониторинг с моделями Ultralytics YOLO. Обеспечь дроны, аэрокосмические рабочие процессы, задачи охраны природы и геопространственные отрасли решениями на базе компьютерного зрения.
Узнать больше

Защити каждый объект с помощью моделей Ultralytics YOLO. Компьютерное зрение обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Узнать больше
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Оснащай более умные машины моделями Ultralytics YOLO. Vision AI в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI обеспечивает инспекцию посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складах в реальном времени.
Узнать больше
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с помощью моделей Ultralytics YOLO. Vision AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения клиентов.
Узнать больше
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Vision AI в здравоохранении обеспечивает более быструю обработку медицинских изображений, более точную диагностику и интеллектуальный мониторинг пациентов.
Узнать больше
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Vision AI повышает безопасность дорог, эффективность систем помощи водителю и уровень автоматизации автомобилей, делая дороги умнее.
Узнать больше
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше

Давай вместе создавать будущее AI!

Начни свой путь в будущее машинного обучения