Перейти к содержанию

YOLO YOLOX: подробное изучение метода обнаружения объектов без якорей

Эволюция обнаружения объектов в реальном времени ознаменовалась переходом от сложных систем на основе анкоров к оптимизированным архитектурам без анкоров. Двумя важными вехами на этом пути являются YOLO, разработанная Alibaba Group, и YOLOX, созданная Megvii. Обе модели бросают вызов традиционным парадигмам проектирования, предлагая уникальные подходы к извлечению признаков, присвоению меток и эффективности обучения.

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

Обзор DAMO-YOLO

YOLO (Distillation-Enhanced Neural Architecture Search-based YOLO) представляет собой высокопроизводительный подход, сочетающий в себе поиск нейронной архитектуры (NAS) с передовыми методами обучения. Он был разработан для преодоления ограничений по скорости и точности за счет автоматизации проектирования базовых и переходных структур.

Основные особенностиYOLO

  1. MAE-NAS Backbone: в отличие от мануально разработанных магистралей,YOLO подход Masked Autoencoder (MAE) в рамках Neural Architecture Search. Это приводит к созданию структуры, высоко оптимизированной для извлечения пространственных характеристик с минимальными вычислительными затратами.
  2. Эффективная RepGFPN: в модели используется перепараметризованная обобщенная пирамидальная сеть (RepGFPN). Это улучшает слияние характеристик в разных масштабах, что имеет решающее значение для обнаружения объектов разного размера, при этом задержка вывода остается низкой благодаря перепараметризации во время развертывания.
  3. ZeroHead: Головка детектора значительно упрощена («ZeroHead»), что позволяет сократить количество параметров, необходимых для окончательной регрессии и классификации ограничивающей рамки.
  4. AlignedOTA: динамическая стратегия присвоения меток, называемая Aligned One-to-Many Assignment, обеспечивает более точное присвоение положительных образцов во время обучения, устраняя неоднозначности в сценах с большим количеством объектов.

Улучшение дистилляции

Одной из отличительных чертYOLO является его сильная зависимость от дистилляции знаний. Более крупная модель «учителя» направляет обучение более мелкой модели «ученика». Хотя это повышает точность, оно значительно усложняет процесс обучения по сравнению со стандартными методами обучения «bag-of-freebies».

Обзор YOLOX

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

Основные особенности YOLOX

  1. Конструкция без анкеров: благодаря прямому прогнозированию центров объектов, а не смещений от заранее определенных анкерных рамок, YOLOX устраняет необходимость в кластерном анализе (таком как K-means) для определения оптимальных форм анкеров для пользовательских наборов данных.
  2. Разделенная головка: YOLOX разделяет задачи классификации и локализации на разные ветви головки сети. Это разделение устраняет конфликт между требованиями к характеристикам для классификации объекта и определения его точных границ.
  3. SimOTA: упрощенная стратегия оптимального транспортного назначения, которая динамически назначает положительные образцы на основе глобальной оптимизации затрат, уравновешивая качество классификации и регрессии.
  4. Сильное расширение данных: YOLOX активно использует MixUp Mosaic и MixUp , которые сыграли решающую роль в обеспечении эффективности обучения без предварительно обученных базовых моделей в некоторых конфигурациях.

Узнайте больше о YOLOX

Техническое сравнение: производительность и скорость

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Архитектура и сложность обучения

YOLOX хвалят за «чистую» реализацию. Это чистый PyTorch , который легко модифицировать для исследовательских целей. Процесс обучения прост и требует стандартной настройки гиперпараметров.

YOLO, напротив, вносит значительную сложность. Зависимость от Neural Architecture Search (NAS) означает, что основная структура не является фиксированной стандартной структурой, такой как ResNet или CSPDarknet. Кроме того, процесс дистилляции требует сначала обучения тяжелой модели-учителя, чтобы контролировать легкую модель-ученика. Это удваивает вычислительные ресурсы, необходимые для обучения, и затрудняет пользователям с ограниченным GPU воспроизведение результатов статьи на пользовательских наборах данных.

Ultralytics : за пределами исследовательских моделей

ХотяYOLO YOLOX предлагают ценные академические идеи, современное развитие предприятий требует большего, чем просто сырые метрики. Разработчикам нужна стабильность, простота использования и полноценная экосистема. Именно в этом Ultralytics выделяется как лучший выбор.

Непревзойденная простота использования и экосистема

ОбучениеYOLO часто сопряжено со сложными конфигурационными файлами и многоэтапными конвейерами дистилляции. В отличие от этого, Ultralytics и Python предлагают опыт «от нуля до героя». Независимо от того, используете ли вы CLI Python, запуск обучения занимает считанные секунды.

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train on a dataset with a single command
results = model.train(data="coco8.yaml", epochs=100)

Ultralytics активно поддерживается, что обеспечивает совместимость с последними версиями PyTorch, CUDA и Apple Metal. В отличие от исследовательских репозиториев, которые часто перестают обновляться после публикации, Ultralytics часто обновляются, исправляются ошибки и оптимизируется производительность.

Баланс производительности и универсальность

YOLO26 представляет собой вершину эффективности. Он отличается сквозной конструкцией NMS, прорывом, впервые внедренным в YOLOv10. Благодаря устранению постобработки Non-Maximum Suppression (NMS), YOLO26 снижает разброс задержки вывода и упрощает логику развертывания, решая одну из основных проблем, присутствующих как в YOLOX, так и вYOLO.

Кроме того, YOLO26 оптимизирован для аппаратного обеспечения, выходящего за рамки серверных графических процессоров. Он обеспечивает ускорение CPU до 43%, что делает его идеальным кандидатом для пограничных устройств, Raspberry Pi и мобильных приложений, где критически важны время автономной работы и тепловые ограничения.

В то время как YOLOX иYOLO в первую очередьYOLO детекторами объектов, Ultralytics обеспечивает встроенную поддержку широкого спектра задач:

Узнайте больше о YOLO26

Приложения в реальном мире

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

Идеальные варианты использованияYOLO

  • Высокопроизводительные серверы: оптимизированная структура RepGFPN обеспечивает очень высокую частоту кадров на специальном оборудовании TensorRT(например, NVIDIA или A100), что делает ее подходящей для обработки огромных видеоархивов.
  • Сцены с большим скоплением людей: назначение меток AlignedOTA помогает в сценариях с высокой степенью окклюзии объектов, таких как подсчет людей в плотной толпе или мониторинг скота.

Идеальные варианты использования YOLOX

  • Академические исследования: благодаря чистому коду эта модель является отличной базой для исследователей, желающих протестировать новые функции потерь или модификации базовой структуры без дополнительных затрат на NAS.
  • Поддержка устаревших мобильных устройств: Варианты YOLOX-Nano и Tiny используют разделяемые по глубине свертки, которые исторически хорошо поддерживаются на старых мобильных Android через NCNN.

Почему Ultralytics является современным стандартом

Практически для всех новых коммерческих и промышленных проектов рекомендуется использовать YOLO26.

  • Edge Computing & IoT: Устранение Distribution Focal Loss (DFL) и новые функции ProgLoss + STAL делают YOLO26 исключительно стабильным на устройствах с низким энергопотреблением. Он превосходно подходит для робототехники и навигации дронов, где CPU имеют большое значение.
  • Быстрые циклы разработки: интеграция с Ultralytics позволяет командам маркировать данные, обучать модели и развертывать их в таких форматах, как ONNX или CoreML единого рабочего процесса, что значительно сокращает время вывода продукта на рынок.
  • Сложные задачи: Независимо от того, нужно ли вам detect упаковки (OBB) или проанализировать позу работника (Pose), YOLO26 справляется с этими сложными задачами в рамках единой, эффективной с точки зрения использования памяти структуры, в отличие отYOLO, который специализируется исключительно на обнаружении.

Заключение

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

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

Для получения дополнительной информации о Ultralytics с другими архитектурами ознакомьтесь с нашими сравнениями с EfficientDet, YOLOv6и RT-DETR.


Комментарии