YOLOv5 против YOLOv7: баланс между экосистемой и архитектурой
Выбор правильной модели обнаружения объектов - критически важное решение как для разработчиков, так и для исследователей. В ходе эволюции семейства YOLO (You Only Look Once), YOLOv5 и YOLOv7 выделяются как ключевые архитектуры, которые сформировали ландшафт компьютерного зрения. В то время как YOLOv7 представила значительные архитектурные инновации для повышения точности, Ultralytics YOLOv5 произвела революцию в работе разработчиков, сосредоточившись на удобстве использования, развертывании и надежной экосистеме.
В данном руководстве приводится подробное техническое сравнение этих двух моделей, анализируются их архитектуры, показатели производительности на наборе данныхCOCO и пригодность для использования в реальных приложениях.
Ultralytics YOLOv5: инженерный стандарт
Выпущенный в 2020 году YOLOv5 переосмыслил ожидания от программного обеспечения для обнаружения объектов с открытым исходным кодом. В отличие от предыдущих итераций, которые существовали в основном в виде исследовательского кода, YOLOv5 был разработан как фреймворк, готовый к выпуску продукта. Приоритетом для него стали простота использования, возможность экспорта и скорость, что сделало его лучшим выбором для компаний, создающих приложения для анализа в реальном времени.
Авторы: Гленн Джочер
Организация:Ultralytics
Дата: 2020-06-26
GitHubyolov5
Docsyolov5
Ключевые преимущества YOLOv5
- Дизайн, ориентированный на пользователя: В YOLOv5 реализованы оптимизированный API и бесшовный процесс обучения, что позволило снизить барьер для обучения пользовательских моделей обнаружения объектов.
- Гибкость развертывания: Благодаря встроенной поддержке режимов экспорта модели YOLOv5 можно легко конвертировать в такие форматы, как ONNX, CoreML, TFLite и TensorRT для развертывания на различном оборудовании.
- Эффективное использование ресурсов: Архитектура оптимизирована для низкого потребления памяти, что делает ее идеальной для пограничных устройств ИИ, таких как NVIDIA Jetson или Raspberry Pi.
Поддержка экосистемы
YOLOv5 поддерживается обширной экосистемой Ultralytics . Она включает в себя бесшовную интеграцию с такими инструментами для отслеживания экспериментов, как Comet и MLflow, а также с платформами управления наборами данных.
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) для повышения способности сети к обучению. В ней также используются методы масштабирования модели, которые изменяют глубину и ширину архитектуры одновременно. Хотя эти сложные архитектурные изменения эффективны для повышения балловmAP , иногда они могут усложнить модификацию и развертывание модели по сравнению с более простой основой CSP-Darknet, используемой в YOLOv5.
Сравнение технических характеристик
При сравнении двух моделей компромисс обычно лежит между исходной точностью и скоростью практического развертывания. Модели YOLOv7 (особенно их более крупные варианты) в целом достигают более высокой mAP на наборе данных COCO val2017. Однако Ultralytics YOLOv5 сохраняет доминирование в скорости вывода и эффективности параметров, особенно в ее небольших вариантах (Nano и Small), которые имеют решающее значение для мобильного развертывания.
В таблице ниже представлены показатели производительности. Обратите внимание на исключительную скорость YOLOv5n, который остается одним из самых быстрых вариантов для сред с ограниченными ресурсами.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Анализ метрик
- Скорость и точность: YOLOv7x достигает более высокого показателя mAP в 53,1%, что делает его подходящим для высокотехнологичных систем безопасности или медицинского анализа, где важен каждый пиксель. Однако для таких приложений, как видеоаналитика или автономная навигация, время вычисления 1,12 мс YOLOv5n на TensorRT обеспечивает частоту кадров, с которой не могут сравниться более тяжелые модели.
- Эффективность обучения: В Ultralytics YOLOv5 используются стратегии "AutoAnchor" и расширенная эволюция гиперпараметров, что часто приводит к более быстрой сходимости в процессе обучения по сравнению со сложными схемами перепараметризации, требуемыми в YOLOv7.
- Объем памяти: Для обучения трансформаторов или сложных архитектур, таких как YOLOv7 , часто требуются высокопроизводительные графические процессоры (например, A100). В отличие от этого, эффективная конструкция YOLOv5 позволяет проводить обучение на аппаратном обеспечении потребительского класса, что демократизирует доступ к разработке ИИ.
Реализация кода
Одним из самых сильных аргументов в пользу Ultralytics YOLOv5 является простота его Python API. Загрузка предварительно обученной модели и проведение расчетов требуют всего нескольких строк кода, что свидетельствует о зрелости фреймворка.
import torch
# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image (url, local path, or numpy array)
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results and show the image with bounding boxes
results.print()
results.show()
Такой уровень абстракции позволяет разработчикам сосредоточиться на создании бизнес-решений, а не на отладке архитектуры модели.
Идеальные варианты использования
Когда выбирать YOLOv7
YOLOv7 - отличный выбор для академических исследований и сценариев, в которых аппаратные ограничения имеют второстепенное значение для производительности обнаружения.
- Академические исследования: Для сравнительного анализа современных методов обнаружения.
- Высокоточный контроль: Например, контроль качества на производстве, где обнаружение мельчайших дефектов имеет решающее значение, а задержка не так важна.
Когда стоит выбрать Ultralytics YOLOv5
YOLOv5 остается отраслевым стандартом для быстрой разработки и внедрения в производство.
- Пограничное развертывание: Идеально подходит для запуска на устройствах iOS и Android с помощью экспорта TFLite или CoreML .
- Робототехника: Низкая задержка очень важна для контуров обратной связи, необходимых в автономной робототехнике.
- Универсальность: Помимо обнаружения, репозиторий YOLOv5 поддерживает сегментацию экземпляров и классификацию изображений, предоставляя единую кодовую базу для решения множества задач технического зрения.
Заключение: Современный путь вперед
В то время как YOLOv7 продемонстрировал возможности архитектурного тюнинга, Ultralytics YOLOv5 остается лучшим выбором для разработчиков, которым нужно надежное, хорошо документированное и простое в развертывании решение. Баланс скорости, точности и поддержки экосистемы позволяет ему оставаться актуальным в производственных средах по всему миру.
Однако область компьютерного зрения развивается стремительно. Для тех, кто стремится к максимальной производительности, YOLO11 представляет собой новейшую разработку компании Ultralytics. YOLO11 основан на удобстве использования YOLOv5 , но включает в себя передовые модули на основе трансформаторов и безъякорные конструкции, превосходящие YOLOv5 и YOLOv7 по точности и эффективности.
Для создания перспективного решения, поддерживающего обнаружение объектов, оценку позы и ориентированные граничные поля (OBB), настоятельно рекомендуется перейти на фреймворк Ultralytics YOLO11 .
Узнайте больше сравнений
Изучите, как другие модели конкурируют с семейством Ultralytics YOLO :
- YOLOv5 против YOLOv8
- YOLOv7 против YOLOv8
- YOLOv7 против YOLO11
- RT-DETR против YOLOv7
- YOLOv6 против YOLOv7