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

14 января мы запустили Ultralytics YOLO26 — последнее поколение наших моделей компьютерного зрения. В YOLO26 нашей целью было не просто улучшить точность или скорость, а переосмыслить то, как модели обнаружения объектов создаются и развертываются в реальных системах.
По мере перехода компьютерного зрения от исследований к промышленному использованию, от моделей все чаще ожидают работы на CPU, периферийных устройствах (edge devices), камерах, роботах и встроенном оборудовании. В этих средах надежность, низкая задержка и простота развертывания важны не меньше, чем производительность.
YOLO26 была разработана с учетом этой реальности, используя оптимизированную сквозную (end-to-end) архитектуру, которая устраняет ненужную сложность из конвейера вывода (inference pipeline). Одно из самых важных нововведений в YOLO26 — это удаление Non-Maximum Suppression, широко известного как NMS.
Годами NMS была стандартной частью систем обнаружения объектов, используемой как этап постобработки для очистки дублирующихся обнаружений. Хотя она эффективна, она также привносит дополнительные вычисления и сложности при развертывании, особенно на периферийном оборудовании.
С YOLO26 мы применили другой подход. Переосмыслив то, как генерируются и обучаются предсказания, мы обеспечили настоящий сквозной вывод без NMS. Модель выдает финальные результаты обнаружения напрямую, не полагаясь на внешние этапы очистки или созданные вручную правила. Это делает YOLO26 быстрее, упрощает экспорт и делает развертывание на широком спектре аппаратных платформ более надежным.

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

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

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

Рис. 4. Ultralytics YOLO26 легко развернуть на периферийных устройствах, таких как дроны.
Короче говоря, вывод без NMS устраняет трения при экспорте и развертывании, а также обеспечивает более чистые и надежные системы зрения. NMS была обходным путем. YOLO26 больше не нуждается в обходных путях.
Link to this sectionОсновные выводы#
YOLO26 удаляет Non-Maximum Suppression, решая фундаментальную проблему дублирующихся обнаружений, а не очищая их постфактум. Ее сквозной дизайн позволяет модели выдавать финальные обнаружения напрямую, делая экспорт и развертывание проще и согласованнее на разном оборудовании. NMS была полезным обходным путем для ранних систем, но YOLO26 она больше не нужна.
Присоединяйся к нашему сообществу и загляни в наш репозиторий GitHub, чтобы узнать больше об ИИ. Исследуй наши страницы решений по ИИ в сельском хозяйстве и компьютерному зрению в ритейле. Узнай о наших вариантах лицензирования и начни работать с ИИ зрения уже сегодня!






