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

YOLOv8 против YOLOv5: Подробное техническое сравнение

Выбор правильной архитектуры компьютерного зрения является критически важным шагом в построении надежных конвейеров машинного обучения. В этом подробном техническом сравнении мы исследуем различия между двумя наиболее популярными моделями в экосистеме компьютерного зрения: YOLOv8 и YOLOv5. Обе модели были разработаны Ultralytics и значительно изменили ландшафт обнаружения объектов в реальном времени, установив отраслевые стандарты скорости, точности и простоты использования.

Независимо от того, развертываете ли вы на граничных устройствах или масштабируете облачный вывод, понимание архитектурных изменений, метрик производительности и методологий обучения этих моделей поможет вам принять обоснованное решение для ваших проектов компьютерного зрения.

Ultralytics YOLOv8: универсальный стандарт

Выпущенный в начале 2023 года, YOLOv8 представил собой значительный архитектурный сдвиг по сравнению со своими предшественниками. Он был разработан с нуля, чтобы служить унифицированной платформой, способной нативно обрабатывать несколько задач компьютерного зрения, включая сегментацию экземпляров, классификацию изображений и оценку позы.

Архитектура и методологии

YOLOv8 представил безякорную голову обнаружения, которая упрощает процесс обучения, устраняя необходимость вручную настраивать якорные рамки на основе распределения данных в наборе. Это делает модель более надежной при обобщении на пользовательские наборы данных и сокращает количество предсказаний ограничивающих рамок, ускоряя Non-Maximum Suppression (NMS).

Архитектура включает модуль C2f (Cross-Stage Partial bottleneck с двумя свертками), который заменяет модуль C3, используемый в YOLOv5. Модуль C2f улучшает поток градиентов и позволяет модели изучать более богатые представления признаков без значительного увеличения вычислительных затрат. Кроме того, YOLOv8 использует структуру разделенной головы, разделяющую задачи обнаружения объектов, классификации и регрессии, что, как было показано, улучшает скорость сходимости и точность.

Эффективность памяти

Модели Ultralytics YOLO, включая YOLOv8, оптимизированы для более низкого потребления памяти CUDA во время обучения по сравнению со многими альтернативами на основе трансформеров, такими как RT-DETR. Это позволяет разработчикам использовать большие размеры пакетов на стандартных потребительских GPU, таких как серия NVIDIA RTX.

Сильные и слабые стороны

Преимущества:

  • Непревзойденная универсальность для множества задач, выходящих за рамки простого обнаружения ограничивающих рамок.
  • Оптимизированный Python API через ultralytics пакет, делая обучение и экспорт крайне интуитивными.
  • Более высокая средняя точность (mAP) для всех вариантов размеров по сравнению с YOLOv5.

Слабые стороны:

  • Разделенная голова (decoupled head) и модуль C2f приводят к небольшому увеличению количества параметров и FLOPs для некоторых вариантов по сравнению с их точными аналогами YOLOv5.

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

Ultralytics YOLOv5: Гибкий пионер

Представленный в 2020 году, YOLOv5 привнес YOLO в экосистему PyTorch, резко улучшив доступность для разработчиков. Он быстро стал отраслевым стандартом для быстрых, надежных и легко развертываемых моделей обнаружения объектов.

Архитектура и методологии

YOLOv5 использует якорную архитектуру и модифицированный backbone CSPDarknet53. Хотя якорные подходы требуют тщательной кластеризации ограничивающих рамок набора данных для определения оптимальных якорей перед обучением, они очень эффективны для конкретных, хорошо определенных наборов данных.

YOLOv5 включает в себя модуль C3, который эффективно извлекает признаки, сохраняя при этом низкое количество параметров. Его функция потерь в значительной степени опирается на потери объектности (Objectness loss) в сочетании с потерями классификации и регрессии ограничивающих рамок, чтобы направлять сеть к точным предсказаниям.

Сильные и слабые стороны

Преимущества:

  • Чрезвычайно легковесные, что делает варианты Nano (YOLOv5n) и Small (YOLOv5s) очень подходящими для развертываний граничного ИИ с ограниченными ресурсами.
  • Исключительно высокая скорость инференса, особенно на CPU.
  • Глубоко укоренившаяся экосистема с обширными обучающими материалами сообщества и сторонними интеграциями.

Слабые стороны:

  • Требует конфигурации якорных боксов, что может усложнить настройку для сильно различающихся или пользовательских наборов данных.
  • Более низкая общая точность (mAP) по сравнению с современными безанкерными архитектурами, такими как YOLOv8 и YOLO26.

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

Сравнение производительности

При оценке этих моделей достижение благоприятного компромисса между скоростью и точностью имеет первостепенное значение. В таблице ниже представлены метрики производительности обеих архитектур, оцененных на наборе данных COCO. Скорость на CPU измерялась с использованием ONNX, а скорость на GPU тестировалась с использованием TensorRT.

Модельразмер
(пиксели)
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Хотя YOLOv5 сохраняет небольшое преимущество в количестве параметров и абсолютной чистой скорости для своего варианта Nano, YOLOv8 предлагает значительный скачок в mAP по всем направлениям, обеспечивая гораздо более сильный баланс производительности для требовательных сценариев развертывания в реальном мире.

Простота использования и экосистема Ultralytics

Определяющей характеристикой современных моделей Ultralytics является хорошо поддерживаемая экосистема, окружающая их. Переход от YOLOv5 к YOLOv8 привел к внедрению унифицированного ultralytics пакет pip, создавая максимально оптимизированный пользовательский опыт.

Разработчики могут беспрепятственно выполнять обучение моделей, валидацию, прогнозирование и экспорт всего несколькими строками кода на Python, обходя сложные шаблонные скрипты, исторически необходимые в проектах глубокого обучения.

from ultralytics import YOLO

# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model on custom data efficiently
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

# Export the model to ONNX for production deployment
path = model.export(format="onnx")

Кроме того, интеграция с такими инструментами, как Ultralytics Platform, упрощает управление наборами данных, облачное обучение и развертывание, обеспечивая активную разработку и мощную поддержку сообщества.

Идеальные варианты использования

Когда выбрать YOLOv5: Если вы поддерживаете устаревшие системы, выполняете инференс на сильно ограниченных CPU, таких как Raspberry Pi, или работаете над проектом, где экономия каждой доли мегабайта в размере модели критически важна, YOLOv5 остается надежной рабочей лошадкой.

Когда выбрать YOLOv8: Для практически всех новых проектов, начинающихся сегодня, YOLOv8 настоятельно рекомендуется вместо YOLOv5. Его передовая архитектура без усилий справляется со сложным отслеживанием, ориентированными ограничивающими рамками (OBB) и сегментацией. Он идеально подходит для современных приложений, начиная от автономной робототехники и заканчивая анализом медицинских изображений и инфраструктурой умного города.

Ищете самые современные решения?

Хотя YOLOv8 невероятно функционален, разработчикам, ищущим абсолютный предел производительности, следует рассмотреть YOLO26. Выпущенная в 2026 году, она представляет несколько новаторских достижений:

  • Сквозная архитектура без NMS: Устраняет постобработку NMS для более быстрого и простого развертывания — концепция, впервые разработанная в YOLOv10.
  • Оптимизатор MuSGD: Гибрид SGD и Muon, который переносит инновации в обучении LLM в компьютерное зрение, обеспечивая более стабильное обучение и более быструю сходимость.
  • До 43% более быстрый инференс на CPU: Значительно оптимизированный для сред периферийных вычислений без выделенных GPU.
  • Удаление DFL: Distribution Focal Loss была удалена для упрощенного экспорта и улучшенной совместимости с периферийными устройствами.
  • ProgLoss + STAL: Передовые функции потерь, которые обеспечивают заметные улучшения в распознавании мелких объектов, что критически важно для аэросъемки и IoT.

Используя обширную документацию и инструменты, предоставляемые Ultralytics, вы можете легко развернуть YOLOv8 или изучить передовой YOLO26 для решения сложных визуальных задач с беспрецедентной скоростью и точностью. Для дальнейшего изучения рассмотрите наши руководства по настройке гиперпараметров и практикам развертывания моделей.


Комментарии