YOLOX в сравнении с YOLOv7: техническое сравнение
Выбор подходящей модели обнаружения объектов — критически важное решение для любого проекта в области компьютерного зрения, напрямую влияющее на производительность, скорость и возможность развертывания. На этой странице представлено подробное техническое сравнение двух влиятельных моделей в семействе YOLO: YOLOX и YOLOv7. Мы рассмотрим их архитектурные различия, эталонные показатели производительности и идеальные варианты использования, чтобы помочь вам сделать осознанный выбор.
YOLOX: Превосходство без якорей
YOLOX был представлен как высокопроизводительный детектор без anchor, нацеленный на упрощение конвейера обнаружения при одновременном повышении производительности по сравнению с предыдущими версиями YOLO. Его философия проектирования устраняет разрыв между академическими исследованиями и промышленным применением за счет оптимизации процесса обучения.
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
Организация: Megvii
Дата: 2021-07-18
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
Документация: https://yolox.readthedocs.io/en/latest/
Архитектура и ключевые особенности
YOLOX выделяется несколькими ключевыми архитектурными инновациями, которые отличают его от предшественников:
- Anchor-Free Design: Отказ от предопределенных anchor boxes в YOLOX уменьшает количество параметров проектирования и сложность, связанную с настройкой anchor. Это делает модель более гибкой и улучшает ее способность к обобщению для объектов с разнообразными формами и размерами, особенно на наборах данных, таких как COCO.
- Decoupled Head (Разделенная голова): В отличие от связанных голов, которые выполняют классификацию и локализацию одновременно, YOLOX использует разделенную голову. Показано, что такое разделение разрешает конфликт между двумя задачами, что приводит к более быстрой сходимости во время обучения и более высокой точности.
- Продвинутая аугментация данных: Модель использует надежные методы аугментации данных, включая MixUp и Mosaic, для повышения своей устойчивости и предотвращения переобучения. Вы можете узнать больше об этих методах в нашем руководстве по аугментации данных.
- Назначение меток SimOTA: В YOLOX представлена продвинутая стратегия назначения меток под названием SimOTA (Simplified Optimal Transport Assignment, упрощенное оптимальное транспортное назначение). Она динамически назначает положительные примеры для обучения, что повышает эффективность обучения и помогает модели лучше изучать признаки.
Сильные и слабые стороны
Преимущества:
- Упрощенный конвейер: Подход без anchor-ов упрощает процесс обучения и развертывания, устраняя необходимость в кластеризации и настройке anchor-ов.
- Высокая способность к обобщению: Комбинация архитектуры без anchor и мощной аугментации данных помогает модели хорошо обобщать данные на новые домены и наборы данных.
- Хороший баланс производительности: YOLOX предлагает надежный компромисс между скоростью и точностью для различных масштабов моделей.
Слабые стороны:
- Превосходство новых моделей: Несмотря на свою эффективность, YOLOX был превзойден по скорости и точности новыми архитектурами, такими как YOLOv7 и последующие модели Ultralytics.
- Ограничения экосистемы: YOLOX не является частью интегрированной экосистемы, такой как Ultralytics, что может усложнить развертывание и MLOps. Ей не хватает бесшовной интеграции с такими инструментами, как Ultralytics HUB.
YOLOv7: Вершина скорости и точности
После выпуска YOLOv7 установила новый современный уровень для детекторов объектов в реальном времени, продемонстрировав значительные улучшения как в скорости, так и в точности. Это было достигнуто за счет внедрения нескольких архитектурных оптимизаций и стратегий обучения.
Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
Организация: Институт информатики, Academia Sinica, Тайвань
Дата: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Документация: https://docs.ultralytics.com/models/yolov7/
Архитектура и ключевые особенности
Превосходная производительность YOLOv7 основана на его передовых архитектурных компонентах и усовершенствованиях обучения:
- E-ELAN (Extended Efficient Layer Aggregation Network): Этот ключевой модуль в backbone позволяет сети изучать более разнообразные признаки, контролируя пути градиента, улучшая обучение без нарушения потока градиента.
- Обучаемый набор бесплатных улучшений: YOLOv7 представляет набор методов обучения, которые повышают точность, не увеличивая стоимость вывода. Это включает в себя такие методы, как поэтапное обучение с управляемым лидером и вспомогательные заголовки, которые направляют процесс обучения.
- Масштабирование модели: Модель использует методы сложного масштабирования для глубины и ширины, оптимизированные для архитектур на основе конкатенации, обеспечивая эффективную производительность для различных размеров моделей.
- Репараметризованная свертка: YOLOv7 использует репараметризацию модели для повышения производительности — метод, который с тех пор стал популярным в современном сетевом дизайне.
Сильные и слабые стороны
Преимущества:
- Исключительный компромисс между скоростью и точностью: YOLOv7 обеспечивает выдающийся баланс высокого mAP и быстрой скорости вывода, что делает ее идеальной для приложений реального времени.
- Эффективность обучения: Подход "bag-of-freebies" позволяет достичь высокой точности при эффективном обучении.
- Проверенная производительность: Она установила новый эталон для детекторов объектов реального времени на стандартных наборах данных.
Слабые стороны:
- Архитектурная сложность (Architectural Complexity): Сочетание E-ELAN, вспомогательных заголовков и других функций делает архитектуру более сложной, чем у более простых моделей.
- Интенсивное обучение с использованием ресурсов: Обучение больших моделей YOLOv7 может потребовать значительных вычислительных ресурсов и памяти GPU.
- Ограниченная универсальность: Хотя официальный репозиторий имеет расширения, разработанные сообществом, для таких задач, как оценка позы, он не является по своей сути многозадачным фреймворком, как более новые модели Ultralytics.
Прямое сравнение производительности: YOLOX против YOLOv7
При сравнении производительности обе модели предлагают ряд размеров, соответствующих различным вычислительным возможностям. 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 |
Из таблицы видно, что модели YOLOv7 обычно достигают более высоких показателей mAP. Например, YOLOv7l превосходит YOLOXx по точности (51,4% против 51,1%) со значительно меньшим количеством параметров (36,9M против 99,1M) и FLOPs (104,7B против 281,9B) и намного быстрее на GPU T4. Это подчеркивает превосходную архитектурную эффективность YOLOv7.
Почему модели Ultralytics YOLO — предпочтительный выбор
Несмотря на то, что YOLOX и YOLOv7 были значительными достижениями, новые модели Ultralytics YOLO, такие как YOLOv8 и YOLO11, предлагают более современный, универсальный и удобный для пользователя опыт.
- Простота использования: Модели Ultralytics разработаны с учетом потребностей разработчиков и отличаются оптимизированным Python API, обширной документацией и простыми командами CLI, которые делают обучение, проверку и развертывание простыми.
- Развитая экосистема: Воспользуйтесь преимуществами надежной экосистемы с активной разработкой, большим сообществом открытого исходного кода, частыми обновлениями и бесшовной интеграцией с такими инструментами, как Ultralytics HUB для сквозного MLOps.
- Универсальность: Такие модели, как YOLOv8 и YOLO11, являются настоящими многозадачными фреймворками, которые «из коробки» поддерживают обнаружение объектов, сегментацию, классификацию, оценку позы и ориентированное обнаружение объектов (OBB).
- Производительность и эффективность: Модели Ultralytics обеспечивают превосходный баланс между скоростью и точностью, оптимизированы для эффективного использования памяти и подходят для широкого спектра оборудования, от периферийных устройств до облачных серверов.
Заключение
YOLOX и YOLOv7 — мощные модели обнаружения объектов, которые расширили границы возможного в компьютерном зрении. YOLOX заслуживает похвалы за свою инновационную конструкцию без привязки к якорям, которая упрощает конвейер обнаружения. YOLOv7 выделяется своей исключительной скоростью и точностью, что делает его отличным выбором для требовательных приложений реального времени.
Однако для разработчиков и исследователей сегодня модели Ultralytics, такие как YOLOv8 и YOLO11, представляют собой следующий шаг вперед. Они предлагают превосходную производительность, большую универсальность и более комплексную, удобную экосистему, что делает их рекомендуемым выбором для создания современных, высокопроизводительных решений в области искусственного интеллекта для зрения.
Сравнения с другими моделями
Для получения дополнительной информации изучите другие сравнения моделей:
- YOLOX в сравнении с YOLOv5
- YOLOX в сравнении с YOLOv8
- YOLOv7 против YOLOv8
- RT-DETR против YOLOv7
- Изучите последние модели, такие как YOLOv10 и YOLO11.