Почему Ultralytics YOLO26 удаляет NMS и как это меняет развертывание
Узнай, как Ultralytics YOLO26 обеспечивает полноценный сквозной инференс без NMS, и почему отказ от постобработки упрощает экспорт и развертывание на периферии.

14 января мы выпустили Ultralytics YOLO26, новейшее поколение наших моделей компьютерного зрения. Наша цель с YOLO26 заключалась не просто в улучшении точности или скорости, а в переосмыслении того, как модели обнаружения объектов создаются и развертываются в реальных системах.
По мере того как computer vision переходит из стадии исследований в продакшн, от моделей все чаще ожидают работы на CPU, периферийных устройствах, камерах, роботах и встроенном железе. В таких условиях надежность, низкая задержка и простота развертывания важны точно так же, как и производительность.
Ultralytics YOLO26 создан с учетом этой реальности, используя оптимизированную сквозную архитектуру, которая убирает лишнюю сложность из конвейера вывода. Одним из важнейших нововведений в YOLO26 является удаление Non-Maximum Suppression, широко известного как NMS.
Годами NMS была стандартной частью систем обнаружения объектов, используемой как этап постобработки для очистки дублирующихся обнаружений. Хотя она эффективна, она также привносит дополнительные вычисления и сложности при развертывании, особенно на периферийном оборудовании.
В YOLO26 мы применили другой подход. Переосмыслив процесс генерации и обучения предсказаний, мы обеспечиваем настоящий сквозной инференс без NMS. Модель выдает финальные детекции напрямую, не полагаясь на внешние шаги очистки или созданные вручную правила. Это makes YOLO26 faster, упрощает экспортирование и повышает надежность развертывания на самых разных аппаратных платформах.

Рис. 1. Обнаружение объектов на изображении с использованием Ultralytics YOLO26.
В этой статье мы подробно рассмотрим, почему традиционное обнаружение объектов полагалось на NMS, как это стало узким местом при развертывании и как Ultralytics YOLO26 устраняет необходимость в обходных путях. Начнем!
Традиционное обнаружение объектов создает дублирующиеся результаты#
Прежде чем мы погрузимся в то, что такое NMS и почему мы удалили ее в Ultralytics YOLO26, давай сделаем шаг назад и посмотрим, как традиционные модели обнаружения объектов генерируют свои предсказания.
Традиционные модели обнаружения объектов часто создают несколько перекрывающихся ограничивающих рамок (bounding boxes) для одного и того же объекта. У каждой из этих рамок есть свой показатель уверенности, даже несмотря на то, что все они относятся к одному объекту на изображении.
Это происходит по нескольким причинам. Во-первых, модель делает предсказания во многих пространственных точках и в разных масштабах одновременно. Это помогает модели обнаруживать объекты разного размера, но также означает, что соседние области могут независимо идентифицировать один и тот же объект.
Во-вторых, многие системы обнаружения объектов используют подходы, основанные на якорях (anchor-based), которые генерируют большое количество кандидатных рамок вокруг каждой точки. Хотя это повышает шанс точно найти объекты, это также увеличивает количество перекрывающихся предсказаний.
Наконец, сеточное обнаружение (grid-based detection) само по себе естественным образом ведет к избыточности. Когда объект находится рядом с границей нескольких ячеек сетки, несколько ячеек могут предсказать рамку для этого объекта, что приводит к множественным перекрывающимся обнаружениям.
Из-за этого необработанный результат модели часто содержит несколько рамок для одного объекта. Чтобы сделать результаты пригодными для использования, эти избыточные предсказания нужно отфильтровать так, чтобы осталось только одно финальное обнаружение.
Понимание Non-Maximum Suppression#
Как только модель обнаружения объектов создает несколько перекрывающихся ограничивающих рамок для одного объекта, эти результаты нужно очистить, прежде чем их можно будет использовать. Именно здесь применяется Non-Maximum Suppression.
Non-Maximum Suppression — это этап постобработки, который выполняется после того, как модель завершила свои предсказания. Его цель — сократить количество дублирующихся обнаружений, чтобы каждый объект был представлен одной финальной ограничивающей рамкой.

Рис. 2. Обзор NMS. Изображение автора.
Процесс работает путем сравнения ограничивающих рамок на основе их показателей уверенности и того, насколько они перекрываются. Предсказания с очень низкой уверенностью удаляются первыми.
Оставшиеся рамки затем сортируются по уверенности, и рамка с самым высоким показателем выбирается как лучшее обнаружение. Эта выбранная рамка сравнивается с другими рамками.
Если другой бокс слишком сильно перекрывает его, этот бокс подавляется и удаляется. Перекрытие обычно измеряется с помощью Intersection over Union, метрики, которая вычисляет отношение площади, общей для двух боксов, к общей площади, охватываемой ими обоими. Этот процесс повторяется до тех пор, пока не останутся только самые уверенные, непересекающиеся детекции.
Почему NMS усложняет развертывание#
Хотя Non-Maximum Suppression помогает отфильтровать дублирующиеся обнаружения, она также создает проблемы, которые становятся более заметными, когда модели выходят из стадии исследований в реальное развертывание.
Одна из самых больших проблем — производительность. NMS выполняется после вывода (inference) и требует сравнения ограничивающих рамок друг с другом, чтобы решить, какие из них оставить.
Этот процесс вычислительно затратен, и его трудно эффективно распараллелить. На периферийных устройствах и CPU-системах эта дополнительная работа может добавить заметную задержку, что затрудняет выполнение требований реального времени.
NMS также повышает сложность развертывания. Поскольку она не является частью самой модели, ее приходится реализовывать отдельно в виде кода постобработки.
Разные среды выполнения и платформы обрабатывают NMS по-разному, что часто означает необходимость поддержки пользовательских реализаций для каждой целевой среды. То, что работает в одной настройке, может вести себя немного иначе в другой, делая развертывание более хрупким и сложным для масштабирования.
Аппаратная оптимизация — еще одна проблема. NMS не очень хорошо ложится на специализированные ускорители ИИ, которые спроектированы для эффективного выполнения операций нейронных сетей. В результате, даже когда модель работает быстро на оптимизированном оборудовании, NMS может стать узким местом, ограничивающим общую производительность.
В дополнение к этим факторам, NMS полагается на вручную выбранные параметры, такие как пороги уверенности и пороги перекрытия. Эти настройки могут значительно влиять на результаты, и их часто нужно подстраивать для разных наборов данных, приложений или оборудования. Это делает поведение менее предсказуемым в производственных системах и добавляет дополнительные накладные расходы на конфигурацию.
Объяснение сквозного вывода обнаружения объектов#
Ограничения Non-Maximum Suppression заставили нас переосмыслить то, как должны вести себя модели object detection во время инференса. Вместо генерации множества перекрывающихся предсказаний и их последующей очистки мы задали более фундаментальный вопрос.
Что, если модель могла бы выдавать финальные обнаружения напрямую? Этот вопрос лежит в основе сквозного (end-to-end) вывода при обнаружении объектов. В сквозной системе модель обучается справляться со всем процессом обнаружения от начала до конца, не полагаясь на внешние этапы очистки.
Вместо того чтобы производить много кандидатных рамок и фильтровать их после вывода, модель учится самостоятельно генерировать небольшой набор уверенных, неперекрывающихся предсказаний. Дублирующиеся обнаружения разрешаются внутри сети, вместо того чтобы удаляться постобработкой.
Более новые архитектуры моделей показали, что такой подход возможен и практичен. С правильной стратегией обучения модели могут научиться сопоставлять каждый объект с одним предсказанием вместо многих конкурирующих, уменьшая избыточность у источника.

Рис. 3. Пример обнаружения объектов с использованием Ultralytics YOLO26.
Чтобы это работало, обучение также должно измениться. Вместо того чтобы позволять многим предсказаниям конкурировать за один и тот же объект, модель учится принимать одно четкое решение, производя меньше, но более уверенных обнаружений.
Общий результат — более простой конвейер вывода. Поскольку дубликаты уже разрешены внутри сети, нет необходимости в Non-Maximum Suppression во время вывода. Вывод модели — это уже финальный набор обнаружений.
Этот сквозной дизайн также упрощает развертывание. Без этапов постобработки или платформозависимых реализаций NMS экспортируемая модель является полностью автономной и ведет себя согласованно в разных средах вывода и аппаратных целях.
Как объясняет наш ведущий инженер по партнерствам Francesco Mattioli, «Настоящее сквозное обучение означает, что модель должна справляться со всем — от пикселей до предсказаний, без созданных вручную шагов постобработки, которые нарушают дифференцируемость и усложняют развертывание».
Как Ultralytics YOLO26 удаляет NMS#
Ultralytics YOLO26 удаляет Non-Maximum Suppression, меняя подход к обучению и формированию детекций, вместо того чтобы полагаться на постобработку для их очистки. Вместо того чтобы позволять множеству предсказаний конкурировать за один и тот же объект, YOLO26 обучен устанавливать четкую связь один к одному между объектами и результатами.
Это частично обеспечивается обучаемым обнаружением на основе запросов (query-based detection), которое помогает модели сфокусироваться на производстве одного уверенного предсказания для каждого объекта, а не множества перекрывающихся кандидатов. Каждый объект связан с одним предсказанием, что естественным образом уменьшает количество дублирующихся обнаружений.
Это поведение закрепляется через согласованные стратегии сопоставления во время обучения, побуждая модель принимать одно уверенное решение для каждого объекта вместо генерации перекрывающихся предсказаний. В конечном счете модель производит меньше предсказаний, но каждое из них представляет собой финальное обнаружение.
Почему удаление DFL сделало возможным обнаружение без NMS#
Еще одна важная инновация, которая обеспечивает инференс без NMS в Ultralytics YOLO26 — это удаление функции Distribution Focal Loss, или DFL. В более ранних моделях YOLO функция DFL использовалась для улучшения регрессии ограничивающих рамок путем прогнозирования распределения возможных положений рамок, а не единичного значения.
Хотя этот подход улучшал точность локализации, он также добавлял сложности в конвейер обнаружения. Эта сложность стала ограничением при переходе к настоящему сквозному выводу.
DFL вносила дополнительные вычисления и фиксированные диапазоны регрессии, что затрудняло для модели обучение чистым назначениям объектов «один к одному» и увеличивало зависимость от шагов постобработки, таких как Non-Maximum Suppression. В Ultralytics YOLO26 мы удалили DFL и переработали регрессию ограничивающих рамок, сделав ее проще и прямее.
Вместо того чтобы полагаться на выводы на основе распределения, модель учится предсказывать точные координаты рамок таким образом, который поддерживает меньшее количество более уверенных детекций. Это изменение помогает уменьшить перекрывающиеся предсказания в их источнике и приводит регрессию ограничивающих рамок в соответствие с комплексным дизайном Ultralytics YOLO26 без использования NMS.
Ultralytics YOLO26 работает без NMS и легко развертывается#
Дизайн без использования NMS делает Ultralytics YOLO26 по-настоящему комплексной моделью. Это оказывает важное влияние на экспорт моделей.
Экспорт означает преобразование обученной модели в формат, который может работать вне среды обучения, такой как ONNX, TensorRT, CoreML или OpenVINO. В традиционных конвейерах этот процесс часто ломается, потому что Non-Maximum Suppression не является частью самой модели.
Удалив NMS, Ultralytics YOLO26 полностью избегает этой проблемы. Экспортированная модель уже содержит всё необходимое для выдачи финальных детекций.
Это делает экспортируемую модель полностью автономной и более переносимой между разными средами вывода и аппаратными целями. Одна и та же модель ведет себя согласованно, развернута ли она на серверах, CPU-системах, встроенных устройствах или периферийных ускорителях. Развертывание становится более простым, потому что то, что ты экспортируешь, — это именно то, что ты запускаешь.
Эта простота особенно важна для периферийных приложений. Например, YOLO26 можно легко развернуть на таких устройствах, как drones, для таких задач, как мониторинг посевов, инспекция полей и анализ здоровья растений, где ограниченные вычислительные ресурсы и бюджеты питания делают сложные конвейеры постобработки непрактичными. Поскольку модель выдает финальные детекции напрямую, она надежно работает на легком железе без дополнительных этапов обработки.

Рис. 4. Ultralytics YOLO26 легко развернуть на периферийных устройствах, таких как дроны.
Короче говоря, вывод без NMS устраняет трение при экспорте и развёртывании, а также обеспечивает более чистые и надёжные системы технического зрения. NMS была обходным путём. У Ultralytics YOLO26 больше нет необходимости в обходных путях.
Основные выводы#
Ultralytics YOLO26 удаляет Non-Maximum Suppression, решая исходную проблему дублирования детекций, а не устраняя их последствия постфактум. Его сквозная архитектура позволяет модели напрямую выдавать финальные детекции, делая экспорт и развертывание проще и надежнее на разных типах оборудования. NMS была полезным обходным путем для ранних систем, но YOLO26 она больше не нужна.
Присоединяйся к нашему community и загляни в наш GitHub repository, чтобы узнать больше об ИИ. Изучи наши страницы решений по AI in agriculture и computer vision in retail. Открой для себя наши licensing options и начни работу с визуальным ИИ уже сегодня!






