YOLOv7 против YOLOv5: подробное техническое сравнение
Выбор правильной архитектуры обнаружения объектов - это критически важное решение, которое влияет на скорость, точность и возможность развертывания ваших проектов в области компьютерного зрения. На этой странице представлено всестороннее техническое сравнение между 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 был разработан, чтобы установить новый уровень для детекторов объектов в реальном времени. В ней большое внимание уделяется оптимизации архитектуры для повышения точности без значительного увеличения стоимости выводов.
Авторы: Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica, Taiwan
Date: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Docsultralytics
Архитектура и Ключевые Инновации
В YOLOv7 внесено несколько сложных архитектурных изменений, направленных на улучшение обучения признакам:
- E-ELAN (Extended Efficient Layer Aggregation Network): Расширенная магистральная структура, которая повышает способность сети к обучению, контролируя кратчайшие и длинные градиентные пути. Это позволяет модели изучать более разнообразные характеристики.
- Масштабирование модели для моделей на основе конкатенации: В отличие от стандартного масштабирования, YOLOv7 масштабирует глубину и ширину одновременно для архитектур на основе конкатенации, обеспечивая оптимальное использование ресурсов.
- Обучаемый пакет бесплатных предметов: Включает в себя запланированную свертку с повторной параметризацией (RepConv) и обучение вспомогательных головок. Вспомогательные головки генерируют грубые и тонкие иерархические метки, которые помогают направлять процесс обучения во время обучения, но удаляются во время вывода для поддержания скорости.
Что такое "мешок бесплатных вещей"?
Под "мешком халявы" понимается набор методов обучения и методов дополнения данных, которые повышают точность модели обнаружения объектов без увеличения стоимости вывода. В YOLOv7 это включает в себя такие сложные стратегии, как грубое и тонкое назначение меток по свинцу.
Идеальные случаи использования YOLOv7
Благодаря своей ориентации на высокую точность YOLOv7 особенно хорошо подходит для:
- Академические исследования: Сравнение с моделями SOTA, где каждая доля mAP имеет значение.
- Развертывание GPU высокого класса: Приложения, в которых доступно мощное оборудование (например, NVIDIA A100) для работы с моделями больших размеров и требований к памяти.
- Статический анализ: Сценарии, в которых задержка в реальном времени менее важна, чем точность, например, анализ спутниковых снимков высокого разрешения или медицинских сканов.
Ultralytics YOLOv5: отраслевой стандарт
Ultralytics YOLOv5 широко известна как одна из самых практичных и удобных моделей обнаружения объектов. С момента своего выхода в 2020 году она стала основой бесчисленных коммерческих приложений благодаря балансу скорости, точности и инженерного совершенства.
Авторы: Гленн Джочер
Организация:Ultralytics
Дата: 2020-06-26
GitHubyolov5
Docsyolov5
Архитектура и преимущества экосистемы
YOLOv5 использует магистраль CSP-Darknet53 с горловиной PANet и головой YOLOv3, оптимизированную для различных целей развертывания. Однако его истинная сила заключается в экосистемеUltralytics :
- Простота использования: Известный своей философией "установи и запусти", YOLOv5 позволяет разработчикам начать обучение на пользовательских наборах данных за считанные минуты. API интуитивно понятен, а документация исчерпывающая.
- Эффективность обучения: YOLOv5 обычно требует меньше памяти CUDA во время обучения по сравнению с новыми, более сложными архитектурами, что делает его доступным для разработчиков с GPU среднего уровня.
- Гибкость развертывания: Поддерживает экспорт в один клик в ONNX, TensorRT, CoreML, TFLite и другие, что облегчает развертывание на любых устройствах - от облачных серверов до мобильных телефонов.
- Хорошо поддерживаемая экосистема: Благодаря частым обновлениям, исправлениям ошибок и многочисленному сообществу Ultralytics обеспечивает стабильность и безопасность модели для производственных сред.
Идеальные случаи использования YOLOv5
YOLOv5 отлично работает в реальных сценариях, требующих надежности и скорости:
- Edge AI: Работает на таких устройствах, как NVIDIA Jetson или Raspberry Pi благодаря легкой модели Nano (
yolov5n) и Маленький (yolov5s) варианты. - Мобильные приложения: Интеграция в приложения для iOS и Android с помощью CoreML и TFLite для выводов на устройстве.
- Быстрое прототипирование: Стартапы и разработчики, которым необходимо быстро перейти от концепции к MVP, выигрывают от оптимизированного рабочего процесса.
- Промышленная автоматизация: Reliable detection for manufacturing lines where latency and stability are paramount.
Подробный сравнительный анализ
При выборе между YOLOv7 и YOLOv5 на первый план выходят не только показатели mAP , но и несколько технических факторов.
1. Компромисс между скоростью и точностью
YOLOv7 достигает более высокой пиковой точности на наборе данныхCOCO . Например, YOLOv7x достигает 53,1 % mAP по сравнению с 50,7 % у YOLOv5x. Однако это достигается за счет сложности. YOLOv5 предлагает более плавный градиент моделей; модель YOLOv5n (Nano) невероятно быстрая (скорость CPU 73,6 мс) и легкая (2,6 М параметров), что создает нишу для сред с ограниченными ресурсами, на которые 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, если вашим главным ограничением является максимальная точность, и вы работаете в исследовательской среде или на высокопроизводительном оборудовании, где скорость вывода и объем памяти являются второстепенными проблемами.
- Выбирайте Ultralytics YOLOv5, если вам нужно надежное, готовое к производству решение. Простота использования, эффективное обучение, низкая задержка на граничных устройствах и обширная экосистема поддержки делают его лучшим выбором для большинства коммерческих приложений и разработчиков, начинающих свой путь в компьютерном зрении.
Взгляд в будущее: YOLO11
Хотя YOLOv5 и YOLOv7 являются отличными моделями, область компьютерного зрения быстро развивается. Разработчикам, которые ищут лучшее из двух миров - превосходящую точность YOLOv7 и скорость/удобство YOLOv5настоятельно рекомендуем изучить Ultralytics YOLO11.
YOLO11 представляет собой новейшую разработку, в которой реализована архитектура без якорей, упрощающая конвейер обучения и повышающая производительность во всех задачах, включая обнаружение, сегментацию, оценку положения и ориентированные ограничительные рамки (ООБ).
Изучите другие модели
Если вы хотите сравнить другие модели семейства YOLO , посмотрите эти связанные страницы:
- YOLOv5 против YOLOv8
- YOLOv7 против YOLOv8
- YOLOv7 против YOLO11
- RT-DETR против YOLOv7
- YOLOv6 против YOLOv7