YOLOv5 и YOLOv8#
При создании масштабируемых и эффективных приложений для компьютерного зрения крайне важно выбрать подходящую архитектуру. Экосистема Ultralytics постоянно расширяет границы скорости и точности, предоставляя разработчикам надёжные инструменты для реального развертывания. В этом техническом сравнении подробно рассматриваются различия между YOLOv5 и YOLOv8, особенности их архитектур и компромиссы в производительности, а также оптимальные сценарии применения, чтобы ты мог принять взвешенное решение для следующего проекта с ИИ.
Обе модели стали важными вехами в развитии обнаружения объектов в реальном времени. Для них характерны высокая оптимизация потребления памяти и простота использования, присущие экосистеме Ultralytics.
YOLOv5: надёжный отраслевой стандарт#
Выпущенная в 2020 году YOLOv5 быстро стала отраслевым стандартом быстрого, доступного и надёжного обнаружения объектов. Благодаря встроенной реализации на PyTorch она упростила для инженеров во всём мире процессы обучения и развертывания.
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: ultralytics/yolov5
- Документация: Документация YOLOv5
Преимущества архитектуры#
YOLOv5 использует парадигму обнаружения объектов на основе якорей и предопределённые якорные рамки для прогнозирования границ объектов. В её архитектуру входит базовая сеть Cross-Stage Partial (CSP), которая оптимизирует поток градиентов и сокращает избыточные вычисления. Благодаря этому модель занимает совсем мало памяти и очень быстро обучается даже на обычных потребительских GPU.
Оптимальные сценарии применения#
YOLOv5 особенно рекомендуется для проектов, где важны максимальная пропускная способность и минимальное потребление ресурсов. Модель отлично подходит для сред периферийного ИИ, например для развертывания на Raspberry Pi или мобильных устройствах. Благодаря зрелости модели, проверенной в тысячах коммерческих развертываний, она обеспечивает непревзойдённую стабильность в традиционных рабочих процессах обнаружения объектов.
YOLOv8: унифицированный фреймворк для компьютерного зрения#
Выпущенная в январе 2023 года YOLOv8 ознаменовала масштабный архитектурный сдвиг: узкоспециализированный детектор объектов превратился в универсальный фреймворк для решения различных задач компьютерного зрения.
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: ultralytics/ultralytics
- Документация: Документация YOLOv8
Архитектурные инновации#
В отличие от предшественницы, YOLOv8 использует безъякорную голову обнаружения. Это избавляет от необходимости вручную настраивать конфигурации якорей с учётом распределения данных в наборе и улучшает обобщающую способность на различных пользовательских наборах данных, таких как популярный набор данных COCO.
Кроме того, в архитектуре используется улучшенный базовый модуль C2f (узкое место Cross-Stage Partial с двумя свёртками), заменивший прежний модуль C3. Это улучшение расширяет представление признаков без значительного увеличения расхода памяти. Реализация разделённой головы, которая разделяет задачи классификации и регрессии, также значительно ускоряет сходимость при обучении модели.
Универсальность и Python API#
В YOLOv8 представлен современный Python API ultralytics, который стандартизирует рабочие процессы для различных задач компьютерного зрения. Для сегментации изображений, классификации изображений и оценки позы достаточно внести небольшие изменения в конфигурацию единого API.
from ultralytics import YOLO
# Загружаем предварительно обученную модель YOLOv8
model = YOLO("yolov8n.pt")
# Обучение на пользовательском наборе данных с эффективным использованием памяти из коробки
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Запуск инференса и простой разбор результатов
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()Подробное сравнение производительности#
При сравнении двух поколений моделей виден классический компромисс: YOLOv8 обеспечивает более высокую среднюю точность (mAP) в целом, тогда как YOLOv5 превосходит её по абсолютной скорости инференса и количеству параметров в самых маленьких вариантах.
Ниже приведено подробное сравнение показателей производительности моделей на наборе данных COCO при размере изображения 640 пикселей.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| 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.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Данные показывают, что YOLOv8 значительно повышает точность. Например, YOLOv8s обеспечивает mAP 44,9 против 37,4 у YOLOv5s — существенный прирост, который заметно улучшает результаты в условиях высокой плотности объектов или при обнаружении небольших объектов. Однако для сред с крайне жёсткими ограничениями YOLOv5n остаётся исключительно эффективным вариантом с наименьшим количеством параметров и FLOPs.
Обе модели оптимизированы для меньшего потребления памяти CUDA при обучении по сравнению с более ресурсоёмкими архитектурами, такими как модели на основе Transformer. Это позволяет специалистам использовать пакеты большего размера на стандартных GPU и ускорять цикл исследований.
Преимущества экосистемы#
При выборе YOLOv5 или YOLOv8 разработчики получают доступ к хорошо поддерживаемой платформе Ultralytics. Эта интегрированная среда предлагает простые инструменты для разметки наборов данных, обучения в облаке и мониторинга моделей, а пакет ultralytics включает встроенную настройку гиперпараметров. Активная разработка и поддержка сообщества помогают разработчикам быстро решать проблемы и интегрироваться с внешними инструментами, такими как Weights & Biases и ClearML.
Другие фреймворки могут быть сложны в освоении, но Ultralytics делает упор на удобство работы, обеспечивая оптимальный баланс скорости и точности для разнообразных сценариев реального развертывания.
После v8: изучаем YOLO11 и YOLO26#
YOLOv8 — мощный фреймворк, однако искусственный интеллект быстро развивается. Разработчикам, которым нужны передовые показатели производительности, стоит также изучить YOLO11, которая развивает возможности v8, повышая точность и скорость.
Тем, кто хочет использовать самые передовые технологии компьютерного зрения, мы настоятельно рекомендуем Ultralytics YOLO26. Выпущенная в 2026 году модель YOLO26 представляет собой огромный шаг вперёд:
- Сквозная архитектура без NMS: Впервые опробованная в экспериментальных архитектурах, опциональная однонаправленная голова YOLO26 (
nms=False) устраняет постобработку с подавлением немаксимумов, значительно упрощая и ускоряя конвейеры развёртывания. - Оптимизатор MuSGD: Вдохновлённый новыми методами обучения LLM, применёнными в таких моделях, как Kimi K2, YOLO26 использует гибридный оптимизатор для более стабильного обучения и быстрой сходимости.
- Эффективность на периферийных устройствах: Благодаря ускорению инференса на CPU до 43% по сравнению с предыдущими поколениями это идеальная модель для устройств без выделенного GPU.
- Повышенная точность: Новые функции потерь ProgLoss + STAL значительно улучшают распознавание небольших объектов, что особенно важно для робототехники и съёмки с воздушных дронов.
Для поддержки устаревшей системы на YOLOv5, масштабирования универсального приложения на YOLOv8 или внедрения новейших возможностей YOLO26 набор Ultralytics предоставляет полный инструментарий, необходимый для успеха в современном ИИ для компьютерного зрения.