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

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

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

YOLOX: высокопроизводительный детектор без привязки к якорям

YOLOX был представлен компанией Megvii для упрощения архитектуры YOLO при сохранении высокой производительности. Это anchor-free модель, которая стремится устранить разрыв между академическими исследованиями и промышленными приложениями.

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

Дизайн YOLOX привнес несколько ключевых инноваций в семейство YOLO:

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

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

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

  • Высокая точность: YOLOX обеспечивает конкурентоспособные показатели mAP, особенно в своих более крупных вариантах модели.
  • Простота Anchor-Free (Anchor-Free Simplicity): Подход без привязки к якорям снижает сложность, связанную с конфигурацией и настройкой якорных прямоугольников.
  • Устоявшаяся модель: Поскольку она доступна с 2021 года, существует сообщество и несколько сторонних ресурсов, доступных для развертывания.

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

  • Ограниченная универсальность: YOLOX в основном ориентирован на обнаружение объектов. Ему не хватает встроенной поддержки других задач компьютерного зрения, таких как сегментация экземпляров, оценка позы или классификация, которые являются родными для фреймворка Ultralytics.
  • Экосистема и поддержка: Хотя это и открытый исходный код, он не является частью интегрированной экосистемы, как Ultralytics. Это может означать, что потребуется больше усилий для развертывания, отслеживания экспериментов и использования таких инструментов, как Ultralytics HUB.
  • Пробелы в производительности: Несмотря на скорость, его могут превзойти более новые, высокооптимизированные модели, такие как YOLOv8, особенно в сценариях вывода на CPU, где эталонные тесты не всегда доступны.

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

YOLOX — это отличный выбор для приложений, где основной целью является высокоточная детекция объектов:

  • Промышленные приложения: Подходит для таких задач, как автоматизированный контроль качества, где точность обнаружения имеет первостепенное значение.
  • Исследования: Служит отличной отправной точкой для исследователей, изучающих методологии обнаружения без привязки к anchor boxes.
  • Edge Deployment: Уменьшенные варианты, такие как YOLOX-Nano, предназначены для устройств с ограниченными ресурсами.

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

Ultralytics YOLOv8: Современная универсальность и производительность

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

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

YOLOv8 представляет значительные архитектурные улучшения и превосходный опыт для разработчиков:

  • Без Anchor и оптимизированная: Как и YOLOX, YOLOv8 не использует anchor, но имеет новую базовую сеть и модуль C2f, который заменяет модуль C3, найденный в YOLOv5, обеспечивая лучшее извлечение признаков и производительность.
  • Поддержка нескольких задач: Ключевым преимуществом YOLOv8 является ее универсальность. Она поддерживает несколько задач компьютерного зрения «из коробки» в рамках единой унифицированной платформы, включая обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы и обнаружение ориентированных ограничивающих рамок (OBB).
  • Удобная экосистема: YOLOv8 поддерживается надежной экосистемой Ultralytics, которая включает в себя обширную документацию, простой Python API и CLI, а также бесшовную интеграцию с инструментами для маркировки, обучения и развертывания, такими как Roboflow и Ultralytics HUB.

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

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

  • Превосходный баланс производительности: YOLOv8 достигает превосходного компромисса между скоростью и точностью, что делает его подходящим для широкого спектра приложений реального времени.
  • Беспрецедентная универсальность: Возможность обрабатывать несколько задач компьютерного зрения в рамках одного фреймворка упрощает конвейеры разработки и уменьшает потребность в нескольких моделях.
  • Простота использования: Ultralytics предоставляет оптимизированный пользовательский интерфейс с простым API, исчерпывающей документацией и многочисленными учебными пособиями, что делает его доступным как для новичков, так и для экспертов.
  • Хорошо поддерживаемая экосистема: Пользователи получают выгоду от активной разработки, сильного сообщества, частых обновлений и интегрированных инструментов для полного жизненного цикла MLOps.
  • Эффективность обучения и памяти: YOLOv8 разработан для эффективных процессов обучения с легкодоступными предварительно обученными весами на наборах данных, таких как COCO. Он также демонстрирует эффективное использование памяти во время обучения и инференса, особенно по сравнению с более сложными архитектурами.
  • Гибкость развертывания: Модель высоко оптимизирована для развертывания на различном оборудовании, от периферийных устройств до облачных серверов, с простой возможностью экспорта в такие форматы, как ONNX и TensorRT.

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

  • Будучи очень универсальной и мощной моделью, самые крупные варианты (такие как YOLOv8x) требуют значительных вычислительных ресурсов для обучения и развертывания, что является общей характеристикой современных моделей.

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

Сочетание производительности, универсальности и простоты использования YOLOv8 делает ее идеальным выбором для широкого спектра применений:

  • Системы машинного зрения в реальном времени: Идеально подходят для робототехники, автономных транспортных средств и передовых систем безопасности.
  • Мультимодальные AI-решения: Одна модель может поддерживать сложные приложения, требующие одновременного обнаружения, сегментации и оценки позы в таких отраслях, как сельское хозяйство и здравоохранение.
  • Быстрое прототипирование и производство: Удобный фреймворк и широкая поддержка позволяют разработчикам быстро и эффективно переходить от концепции к производству.

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

Производительность и тесты: YOLOX против YOLOv8

При сравнении производительности становится ясно, что обе модели обладают большими возможностями. Однако YOLOv8 последовательно демонстрирует преимущество в компромиссе между скоростью и точностью. Таблица ниже показывает, что для сопоставимых размеров моделей YOLOv8 во многих случаях достигает более высоких показателей mAP с меньшим количеством параметров и FLOP. Кроме того, YOLOv8 предоставляет четкие тесты для инференса на CPU, область, в которой данные YOLOX отсутствуют, что подчеркивает его оптимизацию для более широкого спектра оборудования.

Модель размер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOXnano 416 25.8 - - 0.91 1.08
YOLOXtiny 416 32.8 - - 5.06 6.45
YOLOXs 640 40.5 - 2.56 9.0 26.8
YOLOXm 640 46.9 - 5.43 25.3 73.8
YOLOXl 640 49.7 - 9.04 54.2 155.6
YOLOXx 640 51.1 - 16.1 99.1 281.9
YOLOv8n 640 37.3 80.4 1.47 3.2 8.7
YOLOv8s 640 44.9 128.4 2.66 11.2 28.6
YOLOv8m 640 50.2 234.7 5.86 25.9 78.9
YOLOv8l 640 52.9 375.2 9.06 43.7 165.2
YOLOv8x 640 53.9 479.1 14.37 68.2 257.8

Заключение: какую модель вам следует выбрать?

YOLOX и YOLOv8 — мощные модели обнаружения объектов, но они отвечают разным потребностям и приоритетам.

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

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

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

Сравнения с другими моделями

Если вам интересно, как эти модели соотносятся с другими в этой области, ознакомьтесь с этими другими страницами сравнения:



📅 Создано 1 год назад ✏️ Обновлено 1 месяц назад

Комментарии