Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Почему Ultralytics устраняет NMS как это меняет развертывание

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

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

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

YOLO26 был разработан с учетом этой реальности, с использованием оптимизированной сквозной архитектуры, которая устраняет ненужную сложность из конвейера вывода. Одним из важнейших нововведений в YOLO26 является устранение немаксимального подавления, широко известного как NMS. 

На протяжении многих лет NMS стандартной частью систем обнаружения объектов, используемой в качестве этапа постобработки для очистки дубликатов обнаружений. Несмотря на свою эффективность, он также создавал дополнительные проблемы с вычислениями и развертыванием, особенно на периферийном оборудовании.

В YOLO26 мы использовали другой подход. Переосмыслив процесс генерации и обучения прогнозов, мы обеспечили возможность полноценного сквозного вывода NMS. Модель напрямую генерирует окончательные результаты обнаружения, не полагаясь на внешние этапы очистки или ручные правила. Благодаря этому YOLO26 работает быстрее, проще экспортируется и более надежно развертывается на широком спектре аппаратных платформ.

Рис. 1. Обнаружение объектов на изображении с помощью Ultralytics .

В этой статье мы подробнее рассмотрим, почему традиционное обнаружение объектов полагалось на NMS, как это стало препятствием для внедрения и как YOLO26 устраняет необходимость в обходных решениях. Приступим!

Традиционное обнаружение объектов приводит к дублированию результатов обнаружения

Прежде чем мы углубимся в то, NMS и почему мы удалили его из YOLO26, давайте сделаем шаг назад и посмотрим, как традиционные модели обнаружения объектов генерируют свои прогнозы.

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

Это происходит по нескольким причинам. Во-первых, модель делает прогнозы одновременно для многих пространственных точек и в разных масштабах. Это помогает модели detect разных размеров, но также означает, что близлежащие точки могут независимо идентифицировать один и тот же объект.

Во-вторых, многие системы обнаружения объектов используют подходы на основе анкеров, которые генерируют большое количество кандидатов в виде прямоугольников вокруг каждого местоположения. Хотя это повышает вероятность точного обнаружения объектов, оно также увеличивает количество перекрывающихся прогнозов.

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

Из-за этого исходные данные модели часто содержат несколько прямоугольников для одного объекта. Чтобы результаты были пригодными для использования, эти избыточные прогнозы необходимо отфильтровать, чтобы остался только один окончательный результат обнаружения.

Понимание не максимального подавления

Когда модель обнаружения объектов генерирует несколько перекрывающихся ограничительных рамок для одного и того же объекта, эти результаты необходимо очистить, прежде чем их можно будет использовать. Именно здесь применяется метод подавления не максимальных значений.

Немаксимальное подавление — это этап постобработки, который запускается после того, как модель завершила прогнозирование. Его цель — уменьшить количество дублирующихся обнаружений, чтобы каждый объект был представлен одной конечной ограничительной рамкой.

Рис. 2. Обзор NMS. Изображение автора.

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

Оставшиеся прямоугольники сортируются по степени достоверности, и прямоугольник с наивысшим баллом выбирается в качестве лучшего обнаружения. Выбранный прямоугольник сравнивается с другими прямоугольниками. 

Если другое поле слишком сильно перекрывается с ним, это поле подавляется и удаляется. Перекрытие обычно измеряется с помощью Intersection over Union, метрики, которая рассчитывает соотношение между площадью, общей для двух полей, и общей площадью, покрываемой обоими полями. Этот процесс повторяется до тех пор, пока не останутся только самые достоверные, неперекрывающиеся обнаружения.

Почему NMS развертывание

Хотя функция Non-Maximum Suppression помогает отфильтровывать дубликаты обнаружений, она также создает проблемы, которые становятся более заметными, когда модели переходят из стадии исследования в стадию реального внедрения.

Одной из самых больших проблем является производительность. NMS после вывода и требует сравнения ограничительных рамок друг с другом, чтобы решить, какие из них следует сохранить. 

Этот процесс требует больших вычислительных ресурсов и его сложно эффективно параллелизовать. На периферийных устройствах и системах CPU эта дополнительная работа может привести к заметной задержке, что затрудняет выполнение требований в режиме реального времени.

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

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

Оптимизация оборудования — еще одна проблема. NMS подходит для специализированных ускорителей ИИ, которые предназначены для эффективного выполнения операций нейронных сетей. В результате, даже когда модель быстро работает на оптимизированном оборудовании, NMS стать узким местом, ограничивающим общую производительность.

В дополнение к этим факторам, NMS на выбранные вручную параметры, такие как пороги достоверности и пороги перекрытия. Эти настройки могут значительно повлиять на результаты и часто требуют настройки для различных наборов данных, приложений или оборудования. Это делает поведение менее предсказуемым в производственных системах и добавляет дополнительные накладные расходы на настройку.

Объяснение сквозного вывода по обнаружению объектов

Ограничения Non-Maximum Suppression заставили нас переосмыслить, как должны вести себя модели обнаружения объектов во время вывода. Вместо того, чтобы генерировать множество пересекающихся прогнозов и затем их очищать, мы задали более фундаментальный вопрос. 

Что, если бы модель могла напрямую генерировать окончательные результаты обнаружения? Этот вопрос лежит в основе сквозного инференса обнаружения объектов. В сквозной системе модель обучается обрабатывать весь процесс обнаружения от начала до конца, не полагаясь на внешние этапы очистки.

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

Новые архитектуры моделей показали, что такой подход является возможным и практичным. При правильной стратегии обучения модели могли научиться связывать каждый объект с одним прогнозом, а не с множеством конкурирующих, что позволяло уменьшить избыточность у ее источника.

Рис. 3. Пример обнаружения объектов с помощью Ultralytics .

Чтобы это сработало, необходимо изменить и процесс обучения. Вместо того, чтобы позволять множеству прогнозов конкурировать за один и тот же объект, модель учится принимать одно четкое решение, производя меньшее количество более уверенных обнаружений.

В результате получается более простой конвейер инференции. Поскольку дубликаты уже устранены внутренне, нет необходимости в подавлении не максимальных значений во время инференции. Выходные данные модели уже являются окончательным набором обнаружений.

Такая комплексная конструкция также упрощает развертывание. Без этапов постобработки или NMS для конкретной платформы экспортированная модель является полностью автономной и ведет себя одинаково в различных средах вывода и на различных аппаратных целях.

Как объясняет наш ведущий инженер по партнерским отношениям Франческо Маттиоли, «настоящее сквозное обучение означает, что модель должна обрабатывать все, от пикселей до прогнозов, без ручной постобработки, которая нарушает дифференцируемость и усложняет развертывание».

Как Ultralytics удаляет NMS

YOLO26 устраняет не максимальное подавление, изменяя способ обучения и генерации обнаружений, а не полагаясь на постобработку для их очистки. Вместо того, чтобы позволять множеству прогнозов конкурировать за один и тот же объект, YOLO26 обучен выявлять четкую однозначную связь между объектами и результатами.

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

Это поведение усиливается за счет последовательных стратегий сопоставления во время обучения, что побуждает модель принимать одно уверенное решение по каждому объекту, а не генерировать перекрывающиеся прогнозы. В конечном итоге модель генерирует меньше прогнозов, но каждый из них представляет собой окончательное обнаружение. 

Почему удаление DFL сделало возможным обнаружение NMS

Еще одним важным нововведением, позволяющим осуществлять вывод NMS в YOLO26, является удаление Distribution Focal Loss, или DFL. В более ранних YOLO DFL использовался для улучшения регрессии ограничивающей рамки путем прогнозирования распределения возможных положений рамки, а не одного значения. 

Хотя этот подход повысил точность локализации, он также усложнил процесс обнаружения. Эта сложность стала ограничением при переходе к истинному сквозному выводу. 

DFL ввел дополнительные вычисления и фиксированные диапазоны регрессии, что затруднило обучение модели чистым, однозначным назначениям объектов и увеличило зависимость от этапов постобработки, таких как подавление не максимальных значений. В YOLO26 мы удалили DFL и переработали регрессию ограничивающих рамок, сделав ее более простой и прямой.

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

Ultralytics NMS требует NMS и прост в развертывании

Отсутствие NMS делает YOLO26 по-настоящему сквозной моделью. Это имеет важное значение для экспорта моделей

Экспорт означает преобразование обученной модели в формат, который может работать вне среды обучения, такой как ONNX, TensorRT, CoreML или OpenVINO. В традиционных конвейерах этот процесс часто срывается, поскольку подавление не максимальных значений не является частью самой модели. 

Удалив NMS, YOLO26 полностью избегает эту проблему. Экспортированная модель уже включает в себя все необходимое для получения окончательных результатов обнаружения. 

Это делает экспортированную модель полностью автономной и более переносимой между инференсными фреймворками и аппаратными целями. Одна и та же модель ведет себя одинаково, независимо от того, развернута ли она на серверах, системах CPU, встроенных устройствах или пограничных ускорителях. Развертывание становится более простым, потому что то, что вы экспортируете, — это именно то, что вы запускаете.

Эта простота особенно важна для периферийных приложений. Например, YOLO26 можно легко развернуть на таких устройствах, как дроны, для таких случаев использования, как мониторинг урожая, осмотр полей и анализ здоровья растений, где ограниченные вычислительные мощности и энергопотребление делают сложные конвейеры постобработки непрактичными. Поскольку модель выдает окончательные результаты обнаружения напрямую, она надежно работает на легком оборудовании без дополнительных этапов обработки.

Рис. 4. Ultralytics легко развертывается на периферийных устройствах, таких как дроны.

Короче говоря, вывод NMS устраняет препятствия при экспорте и развертывании и позволяет создавать более чистые и надежные системы технического зрения. NMS обходным решением. YOLO26 больше не нуждается в обходных решениях.

Основные выводы

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

Присоединяйтесь к нашему сообществу и посетите наш репозиторий GitHub, чтобы узнать больше об искусственном интеллекте. Изучите наши страницы с решениями по искусственному интеллекту в сельском хозяйстве и компьютерному зрению в розничной торговле. Ознакомьтесь с нашими вариантами лицензирования и начните использовать Vision AI уже сегодня! 

Давайте строить будущее
ИИ вместе!

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

Начать бесплатно