YOLOX против YOLOv7: обзор эволюции обнаружения объектов в реальном времени
Область компьютерного зрения переживает бурное развитие, а архитектуры обнаружения объектов становятся все более сложными и эффективными. Двумя заметными вехами на этом пути являются YOLOX и YOLOv7. Обе модели стали значительным прорывом на момент своего выпуска, предложив разработчикам новые подходы к решению задач обнаружения. В этом сравнении подробно рассматриваются их технические характеристики, архитектурные различия и показатели производительности, чтобы помочь вам принять обоснованное решение для ваших приложений.
Анализ эталонных показателей производительности
При оценке моделей обнаружения крайне важно найти оптимальный баланс между скоростью и точностью. В следующей таблице представлены результаты работы стандартных YOLOv7 YOLOX и YOLOv7 на COCO .
| Модель | размер (пиксели) | 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 |
YOLOX: инноватор без якоря
Выпущенный в 2021 году исследователями из Megvii, YOLOX ознаменовал отход от анкерных парадигм, которые доминировали YOLO предыдущих YOLO . Благодаря использованию анкерного механизма и развязанной головки, он был призван упростить процесс обнаружения и улучшить обобщение по различным наборам данных.
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 2021-07-18
- Ссылки:Arxiv, GitHub, Документация
Архитектурные особенности
YOLOX отличается несколькими ключевыми конструктивными особенностями:
- Механизм без анкеров: в отличие от своих предшественников (таких как YOLOv4 или YOLOv5), которые полагались на заранее определенные анкерные рамки, YOLOX напрямую прогнозирует ограничительные рамки. Это сокращает количество параметров проектирования и устраняет необходимость в сложной настройке анкеров, что делает его особенно устойчивым к различным формам объектов.
- Разделенная головка: задачи классификации и регрессии разделены на разные ветви головки сети. Это разделение помогает разрешить конфликт между достоверностью классификации и точностью локализации, что приводит к более быстрой конвергенции во время обучения.
- SimOTA: усовершенствованная стратегия присвоения меток, называемая упрощенным оптимальным транспортным присвоением (SimOTA), динамически присваивает положительные образцы к эталонным данным, оптимизируя процесс обучения в глобальном, а не в локальном масштабе.
Идеальные варианты использования
YOLOX остается сильным конкурентом в определенных сценариях:
- Академические исследования: Благодаря своей чистой архитектуре, она является отличной базой для тестирования новых теорий в области обнаружения без анкеров.
- Устаревшие мобильные устройства: Варианты Nano и Tiny чрезвычайно легкие, подходят для старых мобильных чипсетов, где важен каждый милливатт энергопотребления.
- Общее обнаружение: для задач, связанных с объектами с экстремальными соотношениями сторон, конструкция без анкеров часто дает лучшие результаты, чем жесткие системы на основе анкеров.
YOLOv7: Мощный инструмент «Bag-of-Freebies»
Появившись годом позже, в 2022 году, YOLOv7 еще больше YOLOv7 границы скорости и точности. Разработанный теми же авторами, что и YOLOv4 и Scaled-YOLOv4, он был сосредоточен на оптимизации процесса обучения и архитектуры без увеличения затрат на вывод.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация: Институт информатики, Academia Sinica
- Дата: 2022-07-06
- Ссылки:Arxiv, GitHub, Документация
Ключевые архитектурные инновации
YOLOv7 несколько сложных методов для максимального повышения производительности:
- E-ELAN (Extended Efficient Layer Aggregation Network): эта архитектура улучшает обучаемость сети за счет управления градиентным путем. Она позволяет модели обучаться более разнообразным особенностям без нарушения исходного градиентного потока, что приводит к лучшей конвергенции.
- Масштабирование модели: YOLOv7 метод комбинированного масштабирования, который одновременно изменяет глубину и ширину сети, обеспечивая оптимальную эффективность для моделей разных размеров (от Tiny до E6E).
- Обучаемая сумка бесплатных подарков: модель включает в себя методы запланированной перепараметризации и стратегии динамического присвоения меток, которые повышают точность во время обучения, но объединяются во время вывода, не вызывая задержки.
Идеальные варианты использования
YOLOv7 часто YOLOv7 для высокопроизводительных промышленных приложений:
- Наблюдение в реальном времени: благодаря высокой частоте кадров на GPU , он отлично подходит для систем охранной сигнализации и мониторинга дорожного движения, где задержка имеет критическое значение.
- Робототехника: баланс скорости и точности обеспечивает автономную навигацию и выполнение задач по манипулированию роботами.
- Детальная проверка: более крупные варианты (YOLOv7, YOLOv7) обеспечивают превосходную точность обнаружения мелких дефектов на производственных линиях.
Преимущество Ultralytics
Хотя YOLOX и YOLOv7 впечатляющими архитектурами, развитие искусственного интеллекта движется в направлении интегрированных экосистем, в которых наряду с сырыми метриками приоритетным является опыт разработчиков. Именно здесь на помощь приходят Ultralytics , такие как YOLOv8, YOLO11и передовые YOLO26 .
Оптимизированный опыт разработки
Одним из самых больших препятствий для репозиториев, ориентированных на исследования (таких как оригинальные YOLOv7 YOLOX или YOLOv7 ), является сложность настройки и использования. Ultralytics эту проблему, объединяя все модели в рамках единого, согласованного Python .
Пример унифицированного API
Для переключения между архитектурами необходимо изменить всего одну строку, что гарантирует будущую совместимость вашего конвейера.
from ultralytics import YOLO
# Load YOLOX, YOLOv7, or the new YOLO26
model_yolox = YOLO("yolox_s.pt")
model_v7 = YOLO("yolov7.pt")
model_26 = YOLO("yolo26n.pt") # Recommended for new projects
# Train with a standard command
results = model_26.train(data="coco8.yaml", epochs=100)
Эффективность и управление ресурсами
Современные Ultralytics разработаны с учетом требований эффективности. В отличие от моделей на основе трансформаторов (таких как RT-DETR), которые могут требовать большого объема памяти,YOLO Ultralytics YOLO обычно требуют значительно меньшего GPU во время обучения. Такая демократизация позволяет разработчикам обучать современные модели на потребительском оборудовании или использовать более крупные пакеты данных для более стабильной конвергенции.
Невозможно обнаружить: настоящая универсальность
Хотя YOLOX в первую очередь является детектором объектов, Ultralytics поддерживает широкий спектр задач компьютерного зрения в рамках одной и той же структуры.
- Сегментация экземпляров: выделяйте объекты из фона с пиксельной точностью.
- Оценка позы: обнаружение ключевых точек на теле человека для аналитики в спорте или здравоохранении.
- Ориентированные ограничительные рамки (OBB): обнаружение повернутых объектов, таких как корабли на спутниковых снимках или посылки на конвейерной ленте.
- Классификация: эффективная категоризация целых изображений.
Производительность нового поколения: YOLO26
Для разработчиков, начинающих новые проекты в 2026 году, YOLO26 представляет собой вершину этой эволюции. Он устраняет ограничения как YOLOX, так и YOLOv7 радикальных усовершенствований архитектуры:
- ДизайнNMS: YOLO26 изначально является сквозным, что устраняет необходимость в немаксимальном подавлении (NMS). Это устраняет основное препятствие при развертывании, снижая изменчивость задержки и упрощая экспорт на пограничные устройства.
- Скорость и точность: благодаря увеличению скорости CPU на 43 % по сравнению с предыдущими поколениями, он специально оптимизирован для пограничных вычислений.
- Продвинутое обучение: использует оптимизатор MuSGD, привнося инновации в области стабильности из обучения больших языковых моделей в компьютерное зрение.
- Управление мелкими объектами: Улучшенные функции потерь (ProgLoss + STAL) обеспечивают заметные преимущества в обнаружении мелких объектов, что традиционно является слабым местом многих детекторов.
Заключение
Выбор между YOLOX и YOLOv7 зависит от конкретных ограничений или целей исследования. YOLOX предлагает более простой дизайн без анкоров, который отлично подходит для базовых исследований и конкретных мобильных ниш. YOLOv7 обеспечивает высокую мощность и скорость для высокопроизводительных GPU в промышленных условиях.
Однако для большинства современных приложений использование Ultralytics является оптимальным решением. Независимо от того, выберете ли вы проверенную в боях YOLOv8, универсальную YOLO11 или революционную YOLO26, вы получите преимущества хорошо поддерживаемой платформы, удобных вариантов развертывания и сообщества, которое гарантирует, что ваши решения в области искусственного интеллекта останутся на передовом крае.
Для получения дополнительной информации о подобных моделях ознакомьтесь с нашими сравнениями YOLOv6 и YOLOv9, или ознакомьтесь с Ultralytics , чтобы начать обучение своих собственных моделей уже сегодня.