YOLOv8 vs YOLOv7: Подробное техническое сравнение
Эволюция моделей detect объектов была стремительной, и семейство YOLO (You Only Look Once) лидирует в обеспечении производительности в реальном времени. Выбор между YOLOv8 и YOLOv7 включает в себя понимание не только их необработанных показателей, но также архитектурных принципов, опыта разработчиков и поддержки экосистемы, которые их окружают. В то время как YOLOv7 установила впечатляющие эталоны после своего выпуска, Ultralytics YOLOv8 представила сдвиг парадигмы в удобстве использования и универсальности.
В этом руководстве представлен подробный технический анализ, который поможет разработчикам и исследователям выбрать правильный инструмент для своих computer vision projects.
Анализ производительности
При сравнении производительности крайне важно учитывать компромисс между скоростью инференса и точностью detect (mAP). YOLOv8 обычно предлагает превосходный баланс, обеспечивая более высокую точность при сопоставимых размерах моделей и более высокую скорость инференса на современном оборудовании.
В следующей таблице показаны различия в производительности на датасете COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Основные выводы
- Эффективность: Модель YOLOv8n (nano) достигает замечательной скорости (1.47 мс на GPU), что делает ее идеальной для приложений edge AI, где задержка имеет решающее значение.
- Точность:YOLOv8x превосходит YOLOv7x по точности (53,9% против 53,1% mAP), сохраняя при этом конкурентоспособное количество параметров.
- Оптимизация: Модели YOLOv8 демонстрируют лучшую эффективность параметров, обеспечивая более высокую производительность на FLOP, что приводит к снижению энергопотребления во время инференса.
Ultralytics YOLOv8: Современный стандарт
YOLOv8, выпущенная Ultralytics в начале 2023 года, была разработана как передовая (SOTA) не только по производительности, но и по гибкости и простоте использования. Она объединяет несколько задач компьютерного зрения в единую, оптимизированную структуру.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 10.01.2023
- GitHub:ultralytics/ultralytics
- Документация:Документация YOLOv8
Архитектура и инновации
YOLOv8 представляет механизм обнаружения без anchor boxes, который упрощает процесс обучения, устраняя необходимость в ручных вычислениях anchor boxes. Это уменьшает количество прогнозов ограничивающих рамок и ускоряет Non-Maximum Suppression (NMS).
Архитектура включает в себя модуль C2f (Cross-Stage Partial Bottleneck с двумя свертками), который более эффективно объединяет высокоуровневые признаки с контекстной информацией, чем предыдущие итерации. Это приводит к более насыщенному потоку градиентов и улучшенной сходимости обучения. Кроме того, YOLOv8 использует разделенную голову, обрабатывая задачи определения объекта, классификации и регрессии независимо для повышения точности.
Сильные стороны
- Интеграция в экосистему: Полностью интегрирован с экосистемой Ultralytics, что обеспечивает беспрепятственное обучение моделей, проверку и развертывание с помощью простого Python API или CLI.
- Универсальность: Изначально поддерживает Object Detection, Instance Segmentation, Pose Estimation, Image Classification и Oriented Bounding Boxes (OBB).
- Опыт разработчика: Установка так же проста, как
pip install ultralytics, с обширной документацией и активной поддержкой сообщества на GitHub и Discord.
YOLOv7: эталон эффективности
YOLOv7 произвела значительный фурор после своего выпуска, представив архитектурные оптимизации, ориентированные на "bag-of-freebies" — методы повышения точности без увеличения стоимости inference.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация:Институт информатики, Academia Sinica
- Дата: 06.07.2022
- Arxiv:YOLOv7: Trainable bag-of-freebies sets new state-of-the-art
- GitHub:WongKinYiu/yolov7
Архитектура и подход
YOLOv7 использует Extended Efficient Layer Aggregation Network (E-ELAN), который контролирует кратчайшие и длиннейшие градиентные пути, чтобы позволить сети более эффективно изучать признаки. Он делает большой упор на масштабирование модели (одновременное изменение глубины и ширины) и внедряет методы репараметризации для объединения слоев во время инференса, ускоряя модель без потери точности обучения.
Сильные стороны и ограничения
YOLOv7 — это мощная модель, которая предлагает отличное соотношение скорости и точности, особенно на GPU устройствах. Ее подход "bag-of-freebies" гарантирует, что модель остается легкой во время развертывания. Однако, по сравнению с YOLOv8, ей не хватает встроенной унифицированной поддержки нескольких задач, и она требует более сложных процедур настройки, включающих клонирование репозиториев и управление зависимостями вручную. Это, прежде всего, специалист по object detection, и другие задачи часто требуют отдельных веток или реализаций.
Подробное техническое сравнение
Удобство использования и экосистема
Одно из самых заметных различий заключается в простоте использования. Ultralytics YOLOv8 поставляется в виде стандартной библиотеки python. Это означает, что разработчики могут интегрировать ее в существующие конвейеры с минимальным количеством кода. В отличие от этого, YOLOv7 обычно работает как отдельная кодовая база, которую необходимо клонировать и изменять.
Опыт разработчика
YOLOv8 позволяет обучить модель всего в три строки кода на python. Этот оптимизированный пользовательский опыт значительно сокращает время выхода на рынок для решений на основе ИИ.
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100)
Универсальность задач
Современные проекты компьютерного зрения часто требуют больше, чем просто ограничивающие рамки.
- YOLOv8: Настоящая многозадачная модель. Вы можете переключиться с detection на сегментация или оценка позы просто изменив файл весов модели (например,
yolov8n-seg.pt). - YOLOv7: В первую очередь ориентирована на object detection. Хотя расширения существуют, они не так тесно интегрированы или поддерживаются в рамках единого унифицированного фреймворка.
Эффективность обучения и память
YOLOv8 оптимизирует требования к памяти во время обучения. В ней реализованы интеллектуальные стратегии расширения данных, которые отключаются к концу обучения для повышения точности. Кроме того, фреймворк Ultralytics поддерживает различные форматы наборов данных и обеспечивает автоматическую загрузку стандартных наборов данных, что значительно повышает эффективность обучения.
Модели на основе Transformer часто требуют огромных объемов памяти CUDA и медленно обучаются. Для сравнения, и YOLOv7, и YOLOv8 основаны на CNN и эффективны, но современные архитектурные решения YOLOv8 (например, блок C2f) часто приводят к более быстрой сходимости и лучшей эффективности памяти на оборудовании потребительского класса.
Реальные примеры использования
Розничная торговля и управление запасами
Для аналитики розничной торговли скорость имеет первостепенное значение. YOLOv8n может работать на периферийных устройствах, таких как камеры или модули NVIDIA Jetson, для отслеживания запасов в режиме реального времени. Его высокая скорость инференса гарантирует точный подсчет перемещаемых продуктов без задержек.
Автономные системы и робототехника
Робототехника требует точного пространственного понимания. Возможности segment YOLOv8 позволяют роботам различать точную форму препятствий, а не просто ограничивающую рамку. Эта универсальность повышает безопасность навигации. Хотя YOLOv7 и способен на это, реализация segment требует больше усилий и разрозненных кодовых баз.
Сельское хозяйство
В точном земледелии модели detect болезни сельскохозяйственных культур или отслеживают рост. Хорошо поддерживаемая экосистема Ultralytics означает, что исследователи имеют доступ к предварительно обученным весам и учебным пособиям сообщества, специально предназначенным для этих нишевых наборов данных, что снижает входной барьер.
Заключение
В то время как YOLOv7 остается респектабельной и мощной архитектурой в истории компьютерного зрения, Ultralytics YOLOv8 представляет собой превосходный выбор для современной разработки. Ее сочетание современной производительности, непревзойденной универсальности и экосистемы, ориентированной на разработчиков, делает ее идеальным решением как для академических исследований, так и для корпоративного развертывания.
Для тех, кто ищет самые последние достижения в области эффективности и архитектурного совершенствования, Ultralytics также выпустила YOLO11, которая еще больше расширяет границы. Однако, для прямого сравнения с поколением v7, YOLOv8 выделяется как надежный, стабильный и простой в использовании победитель.
Дополнительная литература
Изучите другие сравнения моделей, чтобы углубить свое понимание ландшафта YOLO:
- YOLO11 vs YOLOv8 - Сравните последние итерации.
- YOLOv5 vs YOLOv8 — Узнайте, как развивалась архитектура, начиная с v5.
- YOLOv10 vs YOLOv8 - Проанализируйте различные архитектурные подходы.
- Глоссарий Ultralytics — разберитесь в ключевых терминах, таких как mAP и IoU.