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

YOLOv7 против YOLOX: подробное техническое сравнение

В быстро развивающемся мире компьютерного зрения семейство моделей YOLO (You Only Look Once) последовательно устанавливает стандарты для обнаружения объектов в реальном времени. Двумя важными вехами в этой истории являются YOLOv7 и YOLOX. Хотя обе модели стремятся сбалансировать скорость и точность, они существенно расходятся в своих архитектурных философиях — особенно в отношении методологий, основанных на якорях, и методологий, не использующих якоря.

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

Метрики производительности: Скорость и точность

При оценке детекторов объектов первостепенное значение имеет компромисс между задержкой вывода и средней точностью (mAP). В таблице ниже представлено прямое сравнение вариантов YOLOv7 и YOLOX на наборе данных COCO.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Анализ результатов

Данные подчеркивают явные преимущества для каждого семейства моделей в зависимости от ограничений развертывания. YOLOv7 демонстрирует исключительную эффективность в высокопроизводительном сегменте. Например, YOLOv7l достигает 51,4% mAP всего с 36,9M параметрами, превосходя YOLOXx (51,1% mAP, 99,1M параметров), используя при этом значительно меньше вычислительных ресурсов. Это делает YOLOv7 сильным кандидатом для сценариев, где эффективность GPU имеет решающее значение, но память ограничена.

И наоборот, YOLOX превосходно проявляет себя в категории легковесных моделей. Модель YOLOX-Nano (0.91M параметров) предлагает жизнеспособное решение для сверхмаломощных периферийных устройств, где даже самые маленькие стандартные модели YOLO могут оказаться слишком тяжелыми. Ее масштабируемые множители глубины и ширины позволяют выполнять точную настройку для широкого спектра аппаратных профилей.

YOLOv7: оптимизированный Bag-of-Freebies

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

  • Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
  • Организация: Institute of Information Science, Academia Sinica, Taiwan
  • Дата: 06.07.2022
  • Статья:Ссылка на Arxiv
  • GitHub:Репозиторий YOLOv7

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

Архитектурные особенности

YOLOv7 фокусируется на «обучаемых бесплатных улучшениях» — методах оптимизации, которые повышают точность во время обучения, но удаляются или объединяются во время вывода. Ключевые особенности включают:

  1. E-ELAN (Extended Efficient Layer Aggregation Network): Улучшенная структура backbone, которая повышает способность модели изучать разнообразные функции, контролируя кратчайшие и длиннейшие градиентные пути.
  2. Масштабирование модели: Вместо простого масштабирования глубины или ширины, YOLOv7 использует составной метод масштабирования для моделей на основе конкатенации, поддерживая оптимальную структуру во время масштабирования.
  3. Вспомогательная голова Coarse-to-Fine: Вспомогательная голова потерь используется во время обучения для помощи в контроле, которая затем повторно параметризуется в основную голову для инференции.

Репараметризация

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

YOLOX: Эволюция Anchor-Free

YOLOX, выпущенный в 2021 году, представил собой сдвиг в парадигме YOLO, отказавшись от anchor boxes в пользу механизма anchor-free, аналогичного подходам семантической сегментации.

Узнайте больше о сравнении YOLOX

Архитектурные особенности

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

  1. Механизм без Anchor: Прогнозируя центр объектов напрямую, YOLOX устраняет сложные гиперпараметры, связанные с anchor, улучшая обобщение на различных наборах данных.
  2. Разделенная голова (Decoupled Head): В отличие от предыдущих версий YOLO, в которых классификация и локализация были объединены в одной голове, YOLOX разделяет их. Это приводит к более быстрой сходимости и повышению точности.
  3. SimOTA: Продвинутая стратегия назначения меток, которая динамически назначает положительные примеры ground truth с наименьшей стоимостью, эффективно балансируя потери классификации и регрессии.

Почему модели Ultralytics являются предпочтительным выбором

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

1. Унифицированная экосистема и простота использования

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

from ultralytics import YOLO

# Load a model (YOLO11n recommended for speed)
model = YOLO("yolo11n.pt")

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

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

2. Превосходный баланс производительности

Как показано в бенчмарках, современные модели Ultralytics достигают лучшего компромисса между скоростью и точностью. YOLO11 использует оптимизированную архитектуру без привязки к якорям, которая учится на достижениях как YOLOX (дизайн без якорей), так и YOLOv7 (оптимизация градиентного пути). Это приводит к созданию моделей, которые не только быстрее при выводе на CPU, но и требуют меньше памяти CUDA во время обучения, что делает их доступными на более широком спектре оборудования.

3. Универсальность в различных задачах

YOLOv7 и YOLOX в первую очередь предназначены для обнаружения объектов. Модели Ultralytics расширяют эту возможность изначально до набора задач компьютерного зрения без изменения API:

4. Простая развертка и MLOps

Перевод модели из стадии исследований в производство является сложной задачей при использовании устаревших фреймворков. Экосистема Ultralytics включает встроенные режимы экспорта для ONNX, TensorRT, CoreML и OpenVINO, упрощая развертывание моделей. Кроме того, интеграция с Ultralytics HUB позволяет управлять наборами данных через веб-интерфейс, проводить удаленное обучение и развертывать модели на периферийных устройствах в один клик.

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

Заключение

И YOLOv7, и YOLOX внесли значительный вклад в область компьютерного зрения. YOLOv7 оптимизировал архитектуру для достижения максимальной производительности на GPU, максимизируя эффективность подхода "мешка бесплатных улучшений". YOLOX успешно продемонстрировал жизнеспособность detect без привязки к якорям, упростив конвейер и улучшив обобщение.

Однако, для современных рабочих процессов разработки Ultralytics YOLO11 выделяется как превосходный выбор. Он сочетает в себе архитектурные преимущества своих предшественников с непревзойденным Python API, более низкими требованиями к памяти и поддержкой широкого спектра задач компьютерного зрения. Независимо от того, развертываете ли вы его на периферийном устройстве или на облачном сервере, активное сообщество и обширная документация экосистемы Ultralytics обеспечивают более плавный путь к производству.

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

Если вам интересны дальнейшие технические сравнения, изучите эти ресурсы:

  • YOLOv7 vs. YOLOv8: Взгляд на скачок в производительности между поколениями.
  • RT-DETR vs. YOLOv7: Сравнение Transformer'ов с CNN.
  • YOLO11 vs. YOLOv10: Последние достижения в detect в реальном времени.

Комментарии