YOLOv8 и YOLOv5#
Выбор подходящей архитектуры компьютерного зрения — критически важный этап построения надежных конвейеров машинного обучения. В этом подробном техническом сравнении мы рассмотрим различия между двумя наиболее популярными моделями в экосистеме ИИ для компьютерного зрения: YOLOv8 и YOLOv5. Обе модели разработаны Ultralytics и значительно повлияли на развитие обнаружения объектов в реальном времени, установив отраслевые стандарты скорости, точности и удобства использования.
Развертываешь ли ты модель на периферийных устройствах или масштабируешь облачный инференс, понимание архитектурных изменений, показателей производительности и методик обучения этих моделей поможет тебе принять обоснованное решение для проектов в области компьютерного зрения.
Ultralytics YOLOv8: универсальный стандарт#
Выпущенная в начале 2023 года, YOLOv8 стала крупным архитектурным шагом вперед по сравнению с предшественниками. Она разработана с нуля как унифицированный фреймворк, способный нативно работать с несколькими задачами компьютерного зрения, включая сегментацию экземпляров, классификацию изображений и оценку позы.
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: ultralytics/ultralytics
- Документация: Документация YOLOv8
Архитектура и методики#
В YOLOv8 появилась безанкорная голова обнаружения, которая упрощает процесс обучения, устраняя необходимость вручную настраивать якорные блоки на основе распределения данных набора. Это повышает устойчивость модели при обобщении на пользовательские наборы данных и уменьшает количество предсказаний рамок, ускоряя подавление немаксимумов (NMS).
В архитектуре используется модуль C2f (узкое место с частичным разделением по этапам и двумя свертками), заменяющий модуль C3 из YOLOv5. Модуль C2f улучшает распространение градиентов и позволяет модели изучать более богатые представления признаков без значительного увеличения вычислительных затрат. Кроме того, в YOLOv8 используется структура разделенной головы, которая разделяет задачи оценки наличия объекта, классификации и регрессии, что, как показали исследования, повышает скорость сходимости и точность.
Модели Ultralytics YOLO, включая YOLOv8, оптимизированы для меньшего потребления памяти CUDA во время обучения по сравнению со многими альтернативами на базе Transformer, такими как RT-DETR. Это позволяет разработчикам использовать большие размеры пакетов на стандартных пользовательских GPU, например в серии NVIDIA RTX.
Преимущества и недостатки#
Преимущества:
- Непревзойденная универсальность при работе с множеством задач, выходящих за рамки простого обнаружения ограничивающих рамок.
- Упрощенный Python API через пакет
ultralytics, делающий обучение и экспорт интуитивно понятными. - Более высокая средняя точность (mAP) для всех вариантов размеров по сравнению с YOLOv5.
Недостатки:
- Разделенная голова и модуль C2f приводят к небольшому увеличению количества параметров и FLOPs у некоторых вариантов по сравнению с их точными аналогами на базе YOLOv5.
Ultralytics YOLOv5: проворный первопроходец#
Представленная в 2020 году, YOLOv5 перенесла YOLO в экосистему PyTorch, значительно повысив доступность для разработчиков. Она быстро стала отраслевым стандартом для быстрых, надежных и легко разворачиваемых моделей обнаружения объектов.
- Автор: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: ultralytics/yolov5
- Документация: Документация YOLOv5
Архитектура и методики#
YOLOv5 использует анкорную архитектуру и модифицированную базовую сеть CSPDarknet53. Хотя анкорные подходы требуют тщательной кластеризации ограничивающих рамок набора данных для определения оптимальных якорей до начала обучения, они очень эффективны для конкретных, четко определенных наборов данных.
В YOLOv5 используется модуль C3, который эффективно извлекает признаки, сохраняя небольшое количество параметров. Его функция потерь в значительной степени опирается на потери оценки наличия объекта в сочетании с потерями классификации и регрессии ограничивающих рамок, направляя сеть к точным предсказаниям.
Преимущества и недостатки#
Преимущества:
- Чрезвычайно легковесная модель, благодаря чему варианты Nano (YOLOv5n) и Small (YOLOv5s) особенно подходят для развертывания ИИ на периферии с ограниченными ресурсами.
- Исключительно высокая скорость инференса, особенно на CPU.
- Глубоко устоявшаяся экосистема с множеством обучающих материалов сообщества и сторонних интеграций.
Недостатки:
- Требует настройки якорных блоков, что может усложнить подготовку к работе с сильно различающимися или пользовательскими наборами данных.
- Более низкая общая точность (mAP) по сравнению с современными безанкорными архитектурами, такими как YOLOv8 и YOLO26.
Сравнение производительности#
При оценке этих моделей крайне важно добиться оптимального баланса между скоростью и точностью. В таблице ниже представлены показатели производительности обеих архитектур, протестированных на наборе данных COCO. Скорость на CPU измерялась с использованием ONNX, а скорость на GPU тестировалась с использованием TensorRT.
| Модель | размер (пиксели) | 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 |
| 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 |
Хотя YOLOv5 сохраняет небольшое преимущество по количеству параметров и абсолютной исходной скорости в варианте Nano, YOLOv8 обеспечивает значительный прирост mAP по всем направлениям, предлагая гораздо более сбалансированную производительность для требовательных сценариев развертывания в реальных условиях.
Удобство использования и экосистема Ultralytics#
Отличительная особенность современных моделей Ultralytics — хорошо поддерживаемая экосистема вокруг них. Переход от YOLOv5 к YOLOv8 ознаменовал появление унифицированного pip-пакета ultralytics, создавшего значительно более удобный пользовательский опыт.
Разработчики могут легко выполнять обучение моделей, валидацию, предсказание и экспорт всего несколькими строками кода на 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, чтобы решать сложные задачи компьютерного зрения с беспрецедентными скоростью и точностью. Для дальнейшего изучения ознакомься с нашими руководствами по настройке гиперпараметров и практикам развертывания моделей.