YOLOv7 против YOLOv5: подробное техническое сравнение
Выбор правильной архитектуры для detect объектов — это критически важное решение, которое влияет на скорость, точность и возможность развертывания ваших проектов в области компьютерного зрения. На этой странице представлено всестороннее техническое сравнение между YOLOv7 и Ultralytics YOLOv5 — двумя влиятельными моделями в линейке YOLO. Мы углубляемся в их архитектурные инновации, сравнительные тесты производительности и идеальные варианты использования, чтобы помочь вам выбрать наиболее подходящий вариант для вашего приложения.
В то время как YOLOv7 представила значительные академические достижения в 2022 году, Ultralytics YOLOv5 остается доминирующей силой в отрасли благодаря своей беспрецедентной простоте использования, надежности и гибкости развертывания. Для тех, кто ищет самые последние достижения в производительности, мы также рассмотрим, как эти модели прокладывают путь к передовой Ultralytics YOLO11.
Сравнение метрик производительности
В следующей таблице показаны компромиссы в производительности между двумя архитектурами. В то время как YOLOv7 стремится к более высокому среднему значению точности (mAP), YOLOv5 предлагает явные преимущества в скорости инференса и меньшее количество параметров для конкретных размеров моделей.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
YOLOv7: Расширение границ точности
Выпущенный в июле 2022 года 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 масштабирует глубину и ширину одновременно для архитектур на основе конкатенации, обеспечивая оптимальное использование ресурсов.
- Обучаемые Bag-of-Freebies: Сюда входит запланированная репараметризованная свертка (RepConv) и обучение вспомогательной головы. Вспомогательные головы генерируют иерархические метки от грубого к точному, которые помогают направлять процесс обучения, но удаляются во время инференса для поддержания скорости.
Что такое 'Bag of Freebies'?
"Bag of Freebies" относится к набору методов обучения и техник увеличения данных, которые повышают точность модели detectирования объектов без увеличения стоимости inference. В YOLOv7 это включает в себя сложные стратегии, такие как Coarse-to-Fine Lead Guided Label Assignment.
Идеальные варианты использования для YOLOv7
Благодаря своей ориентации на высокую точность, YOLOv7 особенно хорошо подходит для:
- Академические исследования: Сравнение с моделями SOTA, где важна каждая доля mAP.
- Развертывание на высокопроизводительных GPU: Приложения, где доступно мощное оборудование (например, NVIDIA A100) для обработки больших размеров моделей и требований к памяти.
- Статический анализ: Сценарии, в которых задержка в реальном времени менее важна, чем точность, например, анализ спутниковых снимков высокого разрешения или медицинских сканов.
Ultralytics YOLOv5: Промышленный стандарт
Ultralytics YOLOv5 широко известен как одна из самых практичных и удобных моделей обнаружения объектов. С момента своего выпуска в 2020 году он стал основой бесчисленных коммерческих приложений благодаря балансу скорости, точности и инженерного совершенства.
Авторы: Гленн Джокер
Организация:Ultralytics
Дата: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Документация:https://docs.ultralytics.com/models/yolov5/
Архитектура и преимущества экосистемы
YOLOv5 использует основу CSP-Darknet53 с PANet neck и головой YOLOv3, оптимизированную для различных целей развертывания. Однако его истинная сила заключается в экосистеме Ultralytics:
- Простота использования: Известный своей философией «установи и работай», YOLOv5 позволяет разработчикам начать обучение на пользовательских наборах данных за считанные минуты. API интуитивно понятен, а документация исчерпывающая.
- Эффективность обучения: YOLOv5 обычно требует меньше памяти CUDA во время обучения по сравнению с новыми, более сложными архитектурами, что делает его доступным для разработчиков со средними GPU.
- Гибкость развертывания: Он поддерживает экспорт в один клик в ONNX, TensorRT, CoreML, TFLite и другие форматы, что облегчает развертывание на всем, от облачных серверов до мобильных телефонов.
- Хорошо поддерживаемая экосистема: Благодаря частым обновлениям, исправлениям ошибок и огромному сообществу Ultralytics обеспечивает стабильность и безопасность модели для производственных сред.
Идеальные варианты использования для YOLOv5
YOLOv5 превосходен в реальных сценариях, требующих надежности и скорости:
- Edge AI: Запуск на таких устройствах, как NVIDIA Jetson или Raspberry Pi из-за легковесного Nano (
yolov5n) и Small (yolov5s) вариантов. - Мобильные приложения: Интеграция в приложения iOS и Android через CoreML и TFLite для вывода на устройстве.
- Быстрое прототипирование: Стартапы и разработчики, которым необходимо быстро перейти от концепции к MVP, выигрывают от оптимизированного рабочего процесса.
- Промышленная автоматизация: Надежный detect для производственных линий, где задержка и стабильность имеют первостепенное значение.
Подробный сравнительный анализ
При выборе между YOLOv7 и YOLOv5 в игру вступают несколько технических факторов, выходящих за рамки простого показателя mAP.
1. Компромисс между скоростью и точностью
YOLOv7 достигает более высокой пиковой точности на наборе данных COCO. Например, YOLOv7x достигает 53,1% mAP по сравнению с 50,7% у YOLOv5x. Однако это достигается за счет усложнения. YOLOv5 предлагает более плавный градиент моделей; модель YOLOv5n (Nano) невероятно быстрая (73,6 мс скорость CPU) и легкая (2,6M параметров), создавая нишу для сред со сверхнизкими ресурсами, на которые YOLOv7 явно не нацелен с такой же детализацией.
2. Архитектура и сложность
YOLOv7 использует архитектуру на основе конкатенации с E-ELAN, что увеличивает пропускную способность памяти, необходимую во время обучения. Это может замедлить обучение и потребовать больше памяти, чем YOLOv5. В отличие от этого, Ultralytics YOLOv5 использует оптимизированную архитектуру, которая хорошо оптимизирована для эффективности обучения, что позволяет быстрее сходиться и снижать использование памяти, что является значительным преимуществом для инженеров с ограниченным вычислительным бюджетом.
3. Удобство использования и опыт разработчиков
Именно здесь Ultralytics YOLOv5 действительно проявляет себя. Платформа Ultralytics предоставляет унифицированный опыт с надежными инструментами для аугментации данных, эволюции гиперпараметров и отслеживания экспериментов.
import torch
# Example: Loading YOLOv5s from PyTorch Hub for inference
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Print results
results.print()
В то время как у YOLOv7 есть репозиторий, ему не хватает отлаженных, готовых к производству конвейеров CI/CD, обширных руководств по интеграции и поддержки сообщества, которые поддерживают экосистему Ultralytics.
4. Универсальность
Хотя обе модели в первую очередь являются архитектурами для обнаружения объектов, экосистема Ultralytics, окружающая YOLOv5, развилась для бесшовной поддержки сегментации экземпляров и классификации изображений. YOLOv7 также поддерживает эти задачи, но часто требует различных веток или форков кода, в то время как Ultralytics предлагает более унифицированный подход.
Простое развертывание
Модели Ultralytics поддерживают широкий спектр форматов экспорта из коробки. Вы можете легко преобразовать свою обученную модель в TFLite для Android, CoreML для iOS или TensorRT для оптимизированного вывода GPU с помощью простой команды CLI или скрипта python.
Заключение: какую модель вам следует выбрать?
Выбор между YOLOv7 и YOLOv5 зависит от приоритетов вашего проекта:
- Выберите YOLOv7, если ваше основное ограничение — максимальная точность, и вы работаете в исследовательской среде или на высокопроизводительном оборудовании, где скорость inference и объем памяти являются второстепенными проблемами.
- Выберите Ultralytics YOLOv5, если вам нужно надежное, готовое к производству решение. Простота использования, эффективное обучение, низкая задержка на периферийных устройствах и массивная экосистема поддержки делают его превосходным выбором для большинства коммерческих приложений и разработчиков, начинающих свой путь в компьютерном зрении.
Взгляд в будущее: YOLO11
Хотя YOLOv5 и YOLOv7 являются отличными моделями, область компьютерного зрения развивается стремительными темпами. Разработчикам, стремящимся к лучшему из обоих миров — превзойти точность YOLOv7 и скорость/удобство использования YOLOv5, — мы настоятельно рекомендуем изучить Ultralytics YOLO11.
YOLO11 представляет собой последнюю эволюцию, отличающуюся не привязанной к anchor архитектурой, которая упрощает конвейер обучения и повышает производительность во всех задачах, включая detect, segment, оценку позы и ориентированные ограничивающие рамки (obb).
Изучите другие модели
Если вам интересно сравнить другие модели семейства YOLO, ознакомьтесь с этими связанными страницами: