Перейти к содержанию

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)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Основные выводы

  • Эффективность: Модель YOLOv8n (nano) достигает замечательной скорости (1.47 мс на GPU), что делает ее идеальной для приложений edge AI, где задержка имеет решающее значение.
  • Точность:YOLOv8x превосходит YOLOv7x по точности (53,9% против 53,1% mAP), сохраняя при этом конкурентоспособное количество параметров.
  • Оптимизация: Модели YOLOv8 демонстрируют лучшую эффективность параметров, обеспечивая более высокую производительность на FLOP, что приводит к снижению энергопотребления во время инференса.

Ultralytics YOLOv8: Современный стандарт

YOLOv8, выпущенная Ultralytics в начале 2023 года, была разработана как передовая (SOTA) не только по производительности, но и по гибкости и простоте использования. Она объединяет несколько задач компьютерного зрения в единую, оптимизированную структуру.

Архитектура и инновации

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.

Узнайте больше о YOLOv8

YOLOv7: эталон эффективности

YOLOv7 произвела значительный фурор после своего выпуска, представив архитектурные оптимизации, ориентированные на "bag-of-freebies" — методы повышения точности без увеличения стоимости inference.

Архитектура и подход

YOLOv7 использует Extended Efficient Layer Aggregation Network (E-ELAN), который контролирует кратчайшие и длиннейшие градиентные пути, чтобы позволить сети более эффективно изучать признаки. Он делает большой упор на масштабирование модели (одновременное изменение глубины и ширины) и внедряет методы репараметризации для объединения слоев во время инференса, ускоряя модель без потери точности обучения.

Сильные стороны и ограничения

YOLOv7 — это мощная модель, которая предлагает отличное соотношение скорости и точности, особенно на GPU устройствах. Ее подход "bag-of-freebies" гарантирует, что модель остается легкой во время развертывания. Однако, по сравнению с YOLOv8, ей не хватает встроенной унифицированной поддержки нескольких задач, и она требует более сложных процедур настройки, включающих клонирование репозиториев и управление зависимостями вручную. Это, прежде всего, специалист по object detection, и другие задачи часто требуют отдельных веток или реализаций.

Узнайте больше о YOLOv7

Подробное техническое сравнение

Удобство использования и экосистема

Одно из самых заметных различий заключается в простоте использования. 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.

Комментарии