YOLOv8 против YOLOv5: Подробное техническое сравнение
Выбор правильной архитектуры компьютерного зрения является критически важным шагом в построении надежных конвейеров машинного обучения. В этом подробном техническом сравнении мы исследуем различия между двумя наиболее популярными моделями в экосистеме компьютерного зрения: YOLOv8 и YOLOv5. Обе модели были разработаны Ultralytics и значительно изменили ландшафт обнаружения объектов в реальном времени, установив отраслевые стандарты скорости, точности и простоты использования.
Независимо от того, развертываете ли вы на граничных устройствах или масштабируете облачный вывод, понимание архитектурных изменений, метрик производительности и методологий обучения этих моделей поможет вам принять обоснованное решение для ваших проектов компьютерного зрения.
Ultralytics YOLOv8: универсальный стандарт
Выпущенный в начале 2023 года, YOLOv8 представил собой значительный архитектурный сдвиг по сравнению со своими предшественниками. Он был разработан с нуля, чтобы служить унифицированной платформой, способной нативно обрабатывать несколько задач компьютерного зрения, включая сегментацию экземпляров, классификацию изображений и оценку позы.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 2023-01-10
- GitHub:ultralytics/ultralytics
- Документация:Документация 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.
Ultralytics YOLOv5: Гибкий пионер
Представленный в 2020 году, YOLOv5 привнес YOLO в экосистему PyTorch, резко улучшив доступность для разработчиков. Он быстро стал отраслевым стандартом для быстрых, надежных и легко развертываемых моделей обнаружения объектов.
- Автор: Гленн Джокер
- Организация:Ultralytics
- Дата: 2020-06-26
- GitHub:ultralytics/yolov5
- Документация:Документация YOLOv5
Архитектура и методологии
YOLOv5 использует якорную архитектуру и модифицированный backbone CSPDarknet53. Хотя якорные подходы требуют тщательной кластеризации ограничивающих рамок набора данных для определения оптимальных якорей перед обучением, они очень эффективны для конкретных, хорошо определенных наборов данных.
YOLOv5 включает в себя модуль C3, который эффективно извлекает признаки, сохраняя при этом низкое количество параметров. Его функция потерь в значительной степени опирается на потери объектности (Objectness loss) в сочетании с потерями классификации и регрессии ограничивающих рамок, чтобы направлять сеть к точным предсказаниям.
Сильные и слабые стороны
Преимущества:
- Чрезвычайно легковесные, что делает варианты 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 привел к внедрению унифицированного 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 для решения сложных визуальных задач с беспрецедентной скоростью и точностью. Для дальнейшего изучения рассмотрите наши руководства по настройке гиперпараметров и практикам развертывания моделей.