YOLOv8 против YOLOv5: всестороннее техническое сравнение
Выбор правильной архитектуры компьютерного зрения — критически важный шаг при создании надежных конвейеров машинного обучения. В этом подробном техническом сравнении мы исследуем различия между двумя самыми популярными моделями в экосистеме vision AI: YOLOv8 и YOLOv5. Обе модели были разработаны Ultralytics и оказали значительное влияние на развитие сферы обнаружения объектов в реальном времени, установив отраслевые стандарты скорости, точности и простоты использования.
Независимо от того, развертываешь ли ты решение на периферийных устройствах или масштабируешь облачный инференс, понимание архитектурных изменений, показателей производительности и методологий обучения этих моделей поможет тебе принять обоснованное решение для твоих проектов по компьютерному зрению.
Ultralytics YOLOv8: универсальный стандарт
Выпущенная в начале 2023 года, YOLOv8 ознаменовала собой серьезный архитектурный сдвиг по сравнению с предшественниками. Она была разработана с нуля как единый фреймворк, способный нативно выполнять несколько задач компьютерного зрения, включая сегментацию экземпляров, классификацию изображений и оценку позы.
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: ultralytics/ultralytics
- Документация: Документация YOLOv8
Архитектура и методологии
YOLOv8 introduced an anchor-free detection head, which simplifies the training process by eliminating the need to manually configure anchor boxes based on dataset distribution. This makes the model more robust when generalizing to custom datasets and reduces the number of box predictions, speeding up Non-Maximum Suppression (NMS).
Архитектура включает модуль C2f (Cross-Stage Partial bottleneck с двумя свертками), который заменяет модуль C3, используемый в YOLOv5. Модуль C2f улучшает градиентный поток и позволяет модели изучать более богатые представления признаков без значительного увеличения вычислительных затрат. Кроме того, в YOLOv8 используется структура развязанной головы (decoupled head), разделяющая задачи определения объекта, классификации и регрессии, что способствует повышению скорости сходимости и точности.
Модели Ultralytics YOLO, включая YOLOv8, оптимизированы для использования меньшего объема памяти CUDA во время обучения по сравнению со многими альтернативами на базе Transformer, такими как RT-DETR. Это позволяет разработчикам использовать большие размеры пакетов (batch sizes) на стандартных потребительских GPU, таких как серия NVIDIA RTX.
Сильные и слабые стороны
Сильные стороны:
- Непревзойденная универсальность в решении множества задач, выходящих за рамки простого обнаружения ограничивающих прямоугольников (bounding box).
- Упрощенный Python API через пакет
ultralytics, делающий обучение и экспорт крайне интуитивно понятными. - Higher mean Average Precision (mAP) across all size variants compared to YOLOv5.
Слабые стороны:
- Развязанная голова и модуль C2f вносят небольшое увеличение количества параметров и FLOPs для некоторых вариантов по сравнению с их прямыми аналогами в YOLOv5.
Ultralytics YOLOv5: Agile-пионер
Представленная в 2020 году, YOLOv5 привнесла YOLO в экосистему PyTorch, радикально улучшив доступность для разработчиков. Она быстро стала отраслевым стандартом для быстрых, надежных и легко развертываемых моделей обнаружения объектов.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 26.06.2020
- GitHub: ultralytics/yolov5
- Документация: Документация YOLOv5
Архитектура и методологии
YOLOv5 опирается на anchor-based (якорную) архитектуру и использует модифицированный бэкбон CSPDarknet53. Хотя подходы на основе якорей требуют тщательной кластеризации ограничивающих прямоугольников датасета для определения оптимальных якорей перед обучением, они очень эффективны для специфических, четко определенных наборов данных.
YOLOv5 включает модуль C3, который эффективно извлекает признаки, сохраняя при этом малый объем параметров. Ее функция потерь в значительной степени полагается на потери Objectness в сочетании с потерями классификации и регрессии ограничивающих прямоугольников, чтобы направлять сеть к точным предсказаниям.
Сильные и слабые стороны
Сильные стороны:
- Extremely lightweight, making the Nano (YOLOv5n) and Small (YOLOv5s) variants highly suitable for resource-constrained edge AI deployments.
- Исключительно высокая скорость инференса, особенно на CPU.
- Глубоко укоренившаяся экосистема с множеством руководств от сообщества и сторонних интеграций.
Слабые стороны:
- Требует настройки якорных боксов, что может усложнить процесс для очень разнообразных или пользовательских датасетов.
- Более низкая общая точность (mAP) по сравнению с современными безякорными архитектурами, такими как YOLOv8 и YOLO26.
Сравнение производительности
При оценке этих моделей достижение выгодного компромисса между скоростью и точностью имеет первостепенное значение. В приведенной ниже таблице представлены показатели производительности обеих архитектур, оцененные на датасете COCO. Скорость на CPU измерялась с использованием ONNX, а скорость на GPU — с использованием TensorRT.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 году, она представляет несколько революционных достижений:
- End-to-End NMS-Free дизайн: Устраняет постпроцессинг NMS для более быстрого и простого развертывания — концепция, впервые внедренная в YOLOv10.
- Оптимизатор MuSGD: Гибрид SGD и Muon, который привносит инновации в обучении LLM в компьютерное зрение, обеспечивая более стабильное обучение и быструю сходимость.
- До 43% более быстрый инференс на CPU: Значительно оптимизирована для сред периферийных вычислений без выделенных GPU.
- Удаление DFL: Distribution Focal Loss была удалена для упрощения экспорта и повышения совместимости с периферийными устройствами.
- ProgLoss + STAL: Продвинутые функции потерь, которые способствуют заметным улучшениям в распознавании мелких объектов, что критически важно для аэрофотосъемки и IoT.
Используя исчерпывающую документацию и инструменты, предоставляемые Ultralytics, ты можешь легко развернуть YOLOv8 или исследовать передовую YOLO26, чтобы решать сложные визуальные задачи с беспрецедентной скоростью и точностью. Для дальнейшего обучения рассмотри возможность изучения наших руководств по настройке гиперпараметров и практикам развертывания моделей.