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

YOLOX против YOLOv10: техническое сравнение

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

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

YOLOX: пионер без якоря

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

Технические подробности:
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization:Megvii
Date: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Docs:https://yolox.readthedocs.io/en/latest/

Архитектура и ключевые особенности

YOLOX отличается от своих предшественников, таких как YOLOv4 и YOLOv5 реализовав несколько ключевых архитектурных изменений, направленных на улучшение обобщения и упрощение конвейера обучения.

  • Механизм без якорей: Удаляя предопределенные якорные блоки, YOLOX устраняет необходимость в ручной настройке якорей, делая модель более устойчивой к различным формам объектов и уменьшая количество параметров проектирования.
  • Отсоединенная головка: в отличие от объединенных головок, которые совместно используют функции для классификации и локализации, в YOLOX используется отсоединенная головка. Такое разделение позволяет каждой задаче оптимизировать свои параметры независимо, что приводит к ускорению сходимости и повышению общей точности.
  • Назначение этикеток SimOTA: Компания YOLOX представила SimOTA (Simplified Optimal Transport Assignment) - динамическую стратегию присвоения меток, которая рассматривает проблему присвоения как оптимальную транспортную задачу. Этот метод эффективно адаптируется к различным масштабам объектов и повышает стабильность обучения.
  • Сильные дополнения: Обучающий конвейер включает в себя дополнения данных MixUp и Mosaic, которые сыграли решающую роль в достижении самых современных результатов на момент его выпуска.

Сильные и слабые стороны

Преимущества:

  • Высокая точность: YOLOX демонстрирует высокие показатели mAP в наборе данныхCOCO , особенно в его более крупных вариантах, таких как YOLOX-x.
  • Упрощенная конструкция: Безъякорный подход уменьшает эвристические гиперпараметры, упрощая конфигурацию модели.
  • Поддержка наследия: Эта модель, уже ставшая традиционной, прошла широкое тестирование в различных академических и промышленных условиях.

Слабые стороны:

  • Более высокая задержка: По сравнению с современными детекторами, YOLOX полагается на постобработку NMS , которая может стать узким местом для приложений со сверхнизкой задержкой.
  • Стоимость вычислений: для достижения аналогичной точности, как правило, требуется большее количество FLOP и параметров, чем у более новых моделей.
  • Интеграция: Несмотря на открытый исходный код, ему не хватает бесшовной интеграции в экосистеме Ultralytics , что потенциально требует больше усилий для развертывания конвейеров.

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

YOLOv10: сквозное обнаружение в режиме реального времени

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

Технические детали:
Авторы: Ao Wang, Hui Chen, Lihao Liu, et al.
Organization: Университет Цинхуа
Дата: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics

Архитектура и инновации

YOLOv10 фокусируется на целостном проектировании моделей с учетом эффективности и точности, затрагивая как архитектуру, так и конвейер постобработки.

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

Сильные стороны и преимущества

Преимущества:

  • Современная эффективность: YOLOv10 предлагает непревзойденный компромисс между скоростью и точностью. Конструкция NMS значительно снижает время задержки при передаче данных из конца в конец.
  • Эффективность параметров: По сравнению с предыдущими поколениями он достигает более высокой точности при меньшем количестве параметров, что делает его идеальным для устройств Edge AI, таких как Raspberry Pi.
  • Интеграция сUltralytics : Участие в экосистеме Ultralytics обеспечивает простоту использования, хорошую документацию и поддержку различных форматов экспорта, таких как ONNX и TensorRT.

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

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

В следующей таблице приведено сравнение производительности YOLOX и YOLOv10 на эталонном наборе данныхCOCO . Показатели свидетельствуют о значительном повышении эффективности новой модели.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Анализ: Полученные данные наглядно демонстрируют превосходство YOLOv10 в эффективности. Например, YOLOv10 достигает значительно более высокого показателя mAP ( 46,7 % ) по сравнению с YOLOX-s (40,5 %), используя при этом меньшее количество параметров (7,2 М против 9,0 М). Примечательно, что YOLOv10 превосходит YOLOX-x по точности (54,4 % против 51,1 %), при этом работает значительно быстрее (12,2 мс против 16,1 мс) и требует почти вдвое меньше параметров (56,9М против 99,1М). Такая эффективность делает YOLOv10 гораздо лучшим выбором для систем реального времени.

Эффективность Инсайт

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

Методологии обучения и экосистема

В то время как в YOLOX были представлены передовые методы аугментации, которые теперь стали стандартом, YOLOv10 пользуется преимуществами зрелой и удобной системы обучения Ultralytics

  • Простота использования: Модели Ultralytics славятся своим упрощенным API наPython . Для обучения модели YOLOv10 требуется всего несколько строк кода, в то время как использование YOLOX часто связано с более сложными конфигурационными файлами и управлением зависимостями.
  • Развитая экосистема: YOLOv10 полностью интегрирован во фреймворк Ultralytics . Это дает пользователям доступ к таким функциям, как автоматическая настройка гиперпараметров, удобное управление набором данных через Ultralytics Explorer и разнообразные варианты развертывания.
  • Эффективность использования памяти: Благодаря оптимизациям Ultralytics такие модели, как YOLOv10 , потребляют меньше памяти CUDA во время обучения по сравнению со старыми архитектурами или моделями с тяжелыми трансформаторами, что позволяет использовать большие объемы партий на потребительских GPU.

Пример кода: Использование YOLOv10

Следующий пример демонстрирует, как легко разработчики могут загрузить предварительно обученную модель YOLOv10 и провести анализ изображения с помощью библиотеки Ultralytics .

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on a local image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

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

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

  • Краевой искусственный интеллект и IoT: Низкое количество параметров и высокая скорость YOLOv10 делают его идеальным для развертывания на устройствах с ограниченным количеством вычислений, таких как NVIDIA Jetson или умные камеры.
  • Высокоскоростное производство: При промышленном контроле, когда конвейерные ленты движутся быстро, вывод YOLOv10 NMS обеспечивает обнаружение объектов в ногу с производственными линиями без узких мест.
  • Наблюдение и безопасность: Для анализа нескольких видеопотоков одновременно вычислительная эффективность YOLOv10 позволяет увеличить плотность потоков на один сервер по сравнению с YOLOX.
  • Исследовательские базы: YOLOX остается ценной базой для исследователей, изучающих эволюцию безъякорных детекторов и оптимальных методов назначения транспорта.

Заключение

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

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

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


Комментарии