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

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

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

Ultralytics YOLOv8: современный стандарт

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

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

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

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

Использование и экосистема

Одним из самых сильных преимуществ YOLOv8 является его интеграция в экосистему Ultralytics . Разработчики могут получить доступ к модели через упрощенный Python API или мощный интерфейс командной строки (CLI).

from ultralytics import YOLO

# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")

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

# View results
for result in results:
    result.show()

Интегрированные рабочие процессы

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

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

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

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

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

В YOLOX реализована раздельная структура головы, разделяющая задачи классификации и регрессии на разные ветви. Такой подход помогает модели быстрее сходиться и повышает точность. Кроме того, YOLOX использует SimOTA (Simplified Optimal Transport Assignment) для назначения меток - динамическую стратегию, которая рассматривает процесс обучения как оптимальную транспортную задачу.

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

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

Сравнительный анализ производительности

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

Показатели точности и скорости

YOLOv8 демонстрирует превосходную среднюю точность (mAP), особенно в больших вариантах. Например, YOLOv8x достигает mAP 53,9, превосходя YOLOX-x с 51,1. Кроме того, Ultralytics предоставляет прозрачные бенчмарки CPU выводов с использованием ONNXчто подчеркивает оптимизацию YOLOv8 для сред без GPU .

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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 (S/M/L) имеют немного меньше параметров в некоторых конфигурациях, YOLOv8 предлагает лучший баланс производительности. Эффективность YOLOv8 проявляется в ее способности обеспечивать более высокую точность на один параметр. Кроме того, YOLOv8 оптимизирован для повышения эффективности обучения, часто сходится быстрее и требует меньше памяти, чем старые архитектуры. Это очень важно при обучении на пользовательских наборах данных, когда вычислительные ресурсы могут быть ограничены.

Почему стоит выбрать Ultralytics YOLOv8?

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

1. Простота использования и документация

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

2. Хорошо поддерживаемая экосистема

YOLOv8 выгодно отличается активным сообществом и частыми обновлениями. Проблемы быстро решаются на GitHub, а модель интегрируется с такими инструментами MLOps, как MLflow, TensorBoard и Weights & Biases. Такой уровень поддержки обеспечивает долгосрочную жизнеспособность для коммерческих проектов.

3. Гибкость развертывания

Развертывание моделей в производство упрощается с помощью YOLOv8. Он поддерживает экспорт в один клик в такие форматы, как TensorRT, OpenVINO, CoreML и TFLite. Это делает его идеальным для работы на различном оборудовании, от облачных серверов до устройств Raspberry Pi.

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

Производственные предприятия, использующие компьютерное зрение для контроля качества, могут использовать многозадачные возможности YOLOv8. Одна модель может detect дефектные детали (обнаружение) и определять точные границы дефекта (сегментация), повышая точность автоматизированных систем сортировки.

Заключение

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

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

Изучите другие модели

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


Комментарии