Ultralytics YOLO27:
Get Started

YOLOv8 и YOLOv5#

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

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

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

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

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

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

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

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

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

Преимущества и недостатки#

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

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

Недостатки:

  • В небольших вариантах разделенная голова и модуль C2f увеличивают количество параметров и FLOPs по сравнению с соответствующими вариантами YOLOv5.

Ultralytics YOLOv5: гибкий первопроходец#

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

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

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

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

Преимущества и недостатки#

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

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

Недостатки:

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

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

При оценке этих моделей крайне важно найти удачный компромисс между скоростью и точностью. В таблице ниже представлены показатели производительности обеих архитектур, полученные при оценке на наборе данных 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.1
YOLOv8x64053.9479.114.3768.2257.8
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

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

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

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

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

from ultralytics import YOLO

# Загружаем предварительно обученную модель YOLOv8
model = YOLO("yolov8n.pt")

# Эффективно обучаем модель на пользовательских данных
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

# Экспортируем модель в ONNX для развертывания в промышленной среде
path = model.export(format="onnx")

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

Оптимальные сценарии применения#

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

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

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

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

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

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

Комментарии