YOLOX против YOLOv7: подробное техническое сравнение
Навигация по ландшафту моделей обнаружения объектов требует глубокого понимания архитектурных нюансов и компромиссов в производительности. В данном руководстве приводится всестороннее техническое сравнение YOLOX и YOLOv7двух влиятельных архитектур, которые значительно повлияли на развитие компьютерного зрения. Мы рассмотрим их структурные инновации, эталонные метрики и практические приложения, чтобы помочь вам определить, что лучше всего подходит для ваших проектов. Хотя обе модели представляли собой передовые достижения на момент их выпуска, современные разработчики часто обращаются к экосистемеUltralytics за унифицированными рабочими процессами и передовой производительностью.
Прямое сравнение производительности
При выборе модели часто решающим фактором является баланс между средней точностьюmAP) и задержкой вывода. YOLOX предлагает высокомасштабируемое семейство моделей от Nano до X, подчеркивая простоту своей конструкции без якорей. И наоборот, YOLOv7 фокусируется на максимизации компромисса между скоростью и точностью для приложений реального времени с помощью передовых архитектурных оптимизаций.
| Модель | размер (пиксели) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Полученные данные свидетельствуют об очевидных достоинствах. YOLOXnano невероятно легкий, что делает его идеальным для сред с ограниченными ресурсами. Однако в высокопроизводительных сценариях YOLOv7x демонстрирует превосходную точность (53,1 % mAP) и эффективность, обеспечивая более высокую точность, чем YOLOXx, при значительно меньшем количестве операций с плавающей запятой (FLOP) и более быстром времени вычислений на графических процессорах T4.
YOLOX: простота через Anchor-Free Design
YOLOX ознаменовал смену парадигмы в серии YOLO , отказавшись от механизма, основанного на якорях, в пользу безъякорного подхода. Такой выбор дизайна упрощает процесс обучения и устраняет необходимость в ручной настройке якорного блока, которая часто требует эвристической оптимизации в конкретной области.
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 18.07.2021
- Arxiv:https://arxiv.org/abs/2107.08430
- GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Архитектура и Ключевые Инновации
В YOLOX реализована раздельная структура головы, разделяющая задачи классификации и регрессии. Такое разделение позволяет модели изучать отдельные характеристики для распознавания того, что представляет собой объект, и того, где он находится, что приводит к ускорению сходимости и повышению точности. Кроме того, в YOLOX используется SimOTA, передовая стратегия присвоения меток, которая динамически сопоставляет положительные образцы с объектами, находящимися на поверхности, что повышает устойчивость модели в переполненных сценах.
Безъякорные и основанные на якорях
Традиционные модели YOLO (до появления YOLOX) использовали предопределенные "якорные коробки" для предсказания размеров объектов. Безъякорный метод YOLOX предсказывает ограничительные рамки непосредственно по расположению пикселей, уменьшая количество гиперпараметров и делая модель более обобщенной для различных наборов данных.
Примеры использования и ограничения
YOLOX отлично подходит для сценариев, в которых необходимо упростить развертывание модели на различных аппаратных платформах без длительной настройки гиперпараметров. Его облегченные варианты (Nano/Tiny) популярны для мобильных приложений. Однако его пиковая производительность в больших масштабах была превзойдена более новыми архитектурами, такими как YOLOv7 и YOLO11в которых используются более сложные сети агрегации признаков.
YOLOv7: "Сумка бесплатных вещей"
Выпущенный через год после YOLOX, YOLOv7 представил набор архитектурных реформ, направленных на оптимизацию процесса обучения для повышения результатов вывода исключительно за счет "обучаемого мешка бесплатных вещей".
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация: Институт информационных наук, Academia Sinica
- Дата: 06.07.2022
- Arxiv:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
Архитектура и Ключевые Инновации
Ядром YOLOv7 является расширенная эффективная сеть агрегирования слоев (E-ELAN). Эта архитектура позволяет сети изучать более разнообразные характеристики, контролируя кратчайшие и длинные градиентные пути, обеспечивая эффективную сходимость для очень глубоких сетей. Кроме того, в YOLOv7 используются методы масштабирования моделей, специально разработанные для моделей на основе конкатенации, благодаря чему увеличение глубины и ширины модели линейно приводит к росту производительности без уменьшения отдачи.
YOLOv7 также эффективно использует вспомогательные головки во время обучения для обеспечения грубого и тонкого контроля. Эта техника позволяет повысить точность основной головки обнаружения без дополнительных вычислительных затрат во время развертывания.
Примеры использования и ограничения
Благодаря исключительному соотношению скорости и точности YOLOv7 - лучший соперник для видеоаналитики в реальном времени и задач пограничных вычислений, где важна каждая миллисекунда. Он раздвинул границы возможного на стандартном GPU (например, V100 и T4). Однако сложность его архитектуры может затруднить модификацию и тонкую настройку для решения пользовательских задач, выходящих за рамки стандартного обнаружения объектов.
Преимущество Ultralytics : Зачем модернизировать?
Хотя YOLOX и YOLOv7 остаются эффективными инструментами, область компьютерного зрения стремительно развивается. Современные разработчики и исследователи все чаще отдают предпочтение экосистемеUltralytics с такими моделями, как YOLO11 и YOLOv8 благодаря их всесторонней поддержке, унифицированному дизайну и простоте использования.
Оптимизированный опыт разработчиков
Одно из самых больших препятствий в старых моделях - фрагментация кодовых баз. Ultralytics решает эту проблему, предоставляя унифицированный Python API и CLI , который последовательно работает во всех версиях модели. Вы можете переключаться между обнаружением, сегментированием или классификацией с помощью одной строки кода.
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 при обучении и выводах по сравнению с альтернативами на основе трансформаторов (например, RT-DETR), что делает их доступными на аппаратном обеспечении потребительского класса.
Заключение
И YOLOX, и YOLOv7 заняли достойное место в истории компьютерного зрения. YOLOX демократизировал безъякорный подход, предложив упрощенный конвейер, который легко понять и развернуть на небольших устройствах. YOLOv7 расширил границы производительности, доказав, что эффективный архитектурный дизайн может дать огромный прирост в скорости и точности.
Однако для тех, кто создает системы искусственного интеллекта производственного уровня сегодня, рекомендация в значительной степени склоняется в сторону Ultralytics YOLO семейству. На сайте YOLO11вы получаете доступ к универсальной, надежной и удобной платформе, которая справляется со всеми сложностями MLOps, позволяя вам сосредоточиться на решении реальных проблем.
Изучите другие сравнения
Чтобы получить дополнительную информацию о выборе модели, изучите эти сравнения:
- YOLOX в сравнении с YOLOv8
- YOLOv7 против YOLOv8
- RT-DETR против YOLOv7
- YOLOv5 против YOLOX
- YOLOv6 против YOLOv7