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

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

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

Прямое сравнение производительности

При выборе модели баланс между средней точностью (mAP) и задержкой вывода часто является решающим фактором. YOLOX предлагает масштабируемое семейство моделей от Nano до X, подчеркивая простоту благодаря своей конструкции без якорей. И наоборот, YOLOv7 фокусируется на максимизации компромисса между скоростью и точностью для приложений реального времени, используя передовые архитектурные оптимизации.

Модельразмер
(пиксели)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Данные иллюстрируют различные сильные стороны. YOLOXnano невероятно легкий, что делает его идеальным для сред с крайне ограниченными ресурсами. Однако для высокопроизводительных сценариев YOLOv7x демонстрирует превосходную точность (53,1% mAP) и эффективность, обеспечивая более высокую точность, чем YOLOXx, со значительно меньшим количеством операций с плавающей запятой (FLOPs) и более быстрым временем инференса на T4 GPU.

YOLOX: Простота благодаря дизайну Anchor-Free

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

Архитектура и Ключевые Инновации

YOLOX интегрирует структуру decoupled head, разделяя задачи классификации и регрессии. Это разделение позволяет модели изучать различные признаки для распознавания того, что представляет собой объект, и где он расположен, что приводит к более быстрой сходимости и повышению точности. Кроме того, YOLOX использует SimOTA, продвинутую стратегию назначения меток, которая динамически сопоставляет положительные примеры с объектами ground truth, улучшая устойчивость модели в переполненных сценах.

Без якорей и на основе якорей

Традиционные модели YOLO (до YOLOX) использовали предопределенные "anchor boxes" для прогнозирования размеров объектов. Anchor-free метод YOLOX предсказывает ограничивающие рамки непосредственно из местоположений пикселей, уменьшая количество гиперпараметров и делая модель более обобщаемой для различных наборов данных.

Варианты использования и ограничения

YOLOX превосходен в сценариях, где развертывание модели должно быть оптимизировано на различных аппаратных платформах без обширной настройки гиперпараметров. Его облегченные варианты (Nano/Tiny) популярны для мобильных приложений. Однако его пиковая производительность в более крупных масштабах была превзойдена новыми архитектурами, такими как YOLOv7 и YOLO11, которые используют более сложные сети агрегации признаков.

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

YOLOv7: Мощность "Bag-of-Freebies"

Выпущенная через год после YOLOX, YOLOv7 представила набор архитектурных реформ, направленных на оптимизацию процесса обучения для повышения результатов инференса исключительно за счет «обучаемых бесплатных улучшений» (trainable bag-of-freebies).

Архитектура и Ключевые Инновации

Основой YOLOv7 является Extended Efficient Layer Aggregation Network (E-ELAN). Эта архитектура позволяет сети изучать более разнообразные признаки, контролируя кратчайшие и длиннейшие градиентные пути, обеспечивая эффективную сходимость для очень глубоких сетей. Кроме того, YOLOv7 использует методы масштабирования модели, специально разработанные для моделей на основе конкатенации, гарантируя, что увеличение глубины и ширины модели линейно преобразуется в прирост производительности без уменьшения отдачи.

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

Варианты использования и ограничения

Благодаря исключительному соотношению скорости и точности, YOLOv7 является одним из лидеров для видеоаналитики в реальном времени и задач периферийных вычислений, где важна каждая миллисекунда. Она расширила границы возможного на стандартном оборудовании GPU (например, V100 и T4). Однако сложность ее архитектуры может затруднить модификацию или точную настройку для пользовательских задач, выходящих за рамки стандартного обнаружения объектов.

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

Преимущество Ultralytics: Зачем модернизировать?

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

Оптимизированный опыт разработки

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

from ultralytics import YOLO

# Load a model (YOLO11 or YOLOv8)
model = YOLO("yolo11n.pt")  # or "yolov8n.pt"

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

# Export to ONNX for deployment
model.export(format="onnx")

Основные преимущества моделей Ultralytics

  • Универсальность: В отличие от YOLOX и YOLOv7, которые в основном ориентированы на обнаружение, модели Ultralytics «из коробки» поддерживают сегментацию экземпляров, оценку позы, классификацию и обнаружение ориентированных объектов (OBB).
  • Хорошо поддерживаемая экосистема: Частые обновления обеспечивают совместимость с последними версиями PyTorch, CUDA и Python. Активное сообщество и подробная документация сокращают время, затрачиваемое на отладку проблем с окружением.
  • Баланс производительности: Такие модели, как YOLO11, представляют собой новейший уровень развития, предлагая превосходную точность и меньшую задержку по сравнению с YOLOX и YOLOv7. Они оптимизированы для вывода в реальном времени на различном оборудовании, от периферийных устройств до облачных серверов.
  • Эффективность обучения: Модели Ultralytics разработаны для более быстрой сходимости, что экономит ценные часы работы GPU. Предварительно обученные веса легко доступны для различных задач, что упрощает передачу обучения.
  • Требования к памяти: Эти модели разработаны для эффективности, обычно требуя меньше VRAM во время обучения и инференса по сравнению с альтернативами на основе transformer (такими как RT-DETR), что делает их доступными на оборудовании потребительского класса.

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

Заключение

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

Однако, для тех, кто сегодня создает AI-системы производственного уровня, рекомендация склоняется в сторону семейства Ultralytics YOLO. С YOLO11 вы получаете доступ к универсальной, надежной и удобной платформе, которая справляется со сложностями MLOps, позволяя вам сосредоточиться на решении реальных проблем.

Изучите другие сравнения

Чтобы получить больше информации для выбора модели, рассмотрите возможность изучения этих связанных сравнений:


Комментарии