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

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

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

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

YOLOX: пионер Anchor-Free

YOLOX был представлен компанией Megvii в 2021 году, что ознаменовало отход от конструкций на основе якорных фреймов, которые доминировали в более ранних версиях YOLO. Приняв механизм без якорных фреймов и интегрировав передовые методы, такие как decoupled heads и SimOTA, YOLOX достиг конкурентоспособной производительности и устранил разрыв между исследовательскими фреймворками и промышленными приложениями.

Технические детали:
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
Организация:Megvii
Дата: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Документация:https://yolox.readthedocs.io/en/latest/

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

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

  • Механизм без Anchor: Удаляя предопределенные anchor boxes, YOLOX устраняет необходимость ручной настройки anchor, что делает модель более устойчивой к различным формам объектов и уменьшает количество параметров проектирования.
  • Разделенная голова (Decoupled Head): В отличие от связанных голов, которые используют общие признаки для классификации и локализации, YOLOX использует разделенную голову (decoupled head). Такое разделение позволяет каждой задаче независимо оптимизировать свои параметры, что приводит к более быстрой сходимости и повышению общей точности.
  • Назначение меток SimOTA: YOLOX представила SimOTA (Simplified Optimal Transport Assignment), стратегию динамического назначения меток, которая рассматривает задачу назначения как задачу оптимальной транспортировки. Этот метод эффективно адаптируется к различным масштабам объектов и повышает стабильность обучения.
  • Эффективные аугментации: В конвейер обучения включены аугментация данных MixUp и Mosaic, которые имели решающее значение для достижения самых современных результатов на момент выпуска.

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

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

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

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

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

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

YOLOv10: Обнаружение в реальном времени End-to-End

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

Технические детали:
Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
Организация: Tsinghua University
Дата: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Документация:https://docs.ultralytics.com/models/yolov10/

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

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

  • Обучение без NMS: Самой новаторской особенностью является использование consistent dual assignments. Эта стратегия позволяет обучать модель с расширенными контрольными сигналами, обеспечивая при этом сопоставление «один к одному» во время inference. Это устраняет необходимость в NMS, обычном узком месте задержки при развертывании.
  • Целостный дизайн модели: YOLOv10 использует облегченные классификационные головы, пространственно-канальную разделенную дискретизацию и блочный дизайн с ранговым управлением. Эти оптимизации уменьшают вычислительную избыточность и использование памяти без ущерба для производительности.
  • Крупноядерная свертка (Large-Kernel Convolution): В архитектуре выборочно используются глубокие свертки с большими ядрами для расширения поля восприятия, что улучшает обнаружение мелких объектов.

Сильные стороны и выгоды

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

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

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

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

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

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

Анализ эффективности

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

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

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

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

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

В следующем примере показано, как легко разработчики могут загрузить предварительно обученную модель YOLOv10 и запустить inference на изображении, используя библиотеку 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 делает его пригодным для более широкого спектра современных приложений.

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

Заключение

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

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

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


Комментарии