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

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,9 М параметров, превосходя YOLOXx (51,1 % mAP, 99,1 М параметров) при значительно меньшем количестве вычислительных ресурсов. Это делает YOLOv7 сильным кандидатом для сценариев, где эффективностьGPU критична, но память ограничена.

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

YOLOv7: Оптимизированный мешок бесплатных вещей

Выпущенный в июле 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): Улучшенная магистральная структура, которая повышает способность модели к изучению различных характеристик за счет управления кратчайшими и длинными градиентными путями.
  2. Масштабирование моделей: Вместо того чтобы просто масштабировать глубину или ширину, YOLOv7 использует метод составного масштабирования для моделей на основе конкатенации, сохраняя оптимальную структуру при масштабировании.
  3. Вспомогательная головка с грубыми и точными потерями: вспомогательная головка с потерями используется во время обучения для контроля, а затем перепараметризуется в основную головку для вывода.

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

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

YOLOX: Эволюция без якоря

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

Подробнее о Сравнение YOLOX

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

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

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

Почему модели 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 , максимально повысив эффективность подхода "bag-of-freebies". YOLOX успешно продемонстрировал жизнеспособность безъякорного обнаружения, упростив конвейер и улучшив обобщение.

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

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

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


Комментарии