YOLOv5 против YOLOv8: подробное сравнение
Сравнение Ultralytics YOLOv5 и Ultralytics YOLOv8 для обнаружения объектов выявляет значительные достижения и различные сильные стороны каждой модели. Обе модели, разработанные Ultralytics, известны своей скоростью и точностью, но предназначены для различных потребностей и приоритетов пользователей в области компьютерного зрения. Эта страница содержит техническое сравнение, чтобы помочь пользователям принимать обоснованные решения, основываясь на требованиях своего проекта, и подчеркивает преимущества экосистемы Ultralytics.
YOLOv5: Устоявшийся и универсальный стандарт
Автор: Гленн Джокер
Организация: Ultralytics
Дата: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Документация: https://docs.ultralytics.com/models/yolov5/
После выпуска Ultralytics YOLOv5 быстро стал отраслевым стандартом, получив признание за исключительный баланс скорости, точности и простоты использования. YOLOv5, полностью разработанный на PyTorch, имеет надежную архитектуру с основой CSPDarknet53 и модулем PANet для эффективной агрегации признаков. Его head обнаружения на основе anchor-ов очень эффективен, и модель доступна в различных размерах (n, s, m, l, x), что позволяет разработчикам выбирать оптимальный компромисс для своих конкретных потребностей в производительности и вычислительных ресурсах.
Сильные стороны
- Исключительная скорость и эффективность: YOLOv5 высоко оптимизирована для быстрого вывода, что делает ее отличным выбором для приложений реального времени на различном оборудовании, от мощных серверов до периферийных устройств с ограниченными ресурсами.
- Простота использования: YOLOv5, известный своим оптимизированным пользовательским интерфейсом, предлагает простые интерфейсы Python и CLI, подкрепленные обширной документацией.
- Развитая и хорошо поддерживаемая экосистема: Будучи долгосрочной моделью, она выигрывает от большого, активного сообщества, частых обновлений и бесшовной интеграции с экосистемой Ultralytics, включая такие инструменты, как Ultralytics HUB для обучения без кода.
- Эффективность обучения: YOLOv5 предлагает эффективный процесс обучения с легкодоступными предварительно обученными весами, что позволяет ускорить циклы разработки. Как правило, для обучения и логического вывода требуется меньше памяти по сравнению с более сложными архитектурами, такими как трансформеры.
Слабые стороны
- Детектирование на основе Anchor: Его опора на предопределенные anchor boxes иногда может потребовать ручной настройки для достижения оптимальной производительности на наборах данных с объектами необычной формы, в отличие от современных детекторов без anchor.
- Точность: Несмотря на высокую точность, новые модели, такие как YOLOv8, превзошли ее производительность в стандартных бенчмарках, таких как набор данных COCO.
Идеальные варианты использования
Скорость и эффективность YOLOv5 делают его идеальным для:
- Видеонаблюдение в реальном времени и системы безопасности.
- Развертывание на периферийных устройствах, таких как NVIDIA Jetson и Raspberry Pi.
- Промышленная автоматизация и контроль качества в производстве.
- Быстрое прототипирование для проектов компьютерного зрения благодаря простоте и быстрому времени обучения.
YOLOv8: современная платформа нового поколения
Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
Организация: Ultralytics
Дата: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Документация: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8 представляет собой следующую эволюцию в серии YOLO, разработанную как унифицированный фреймворк, поддерживающий полный спектр задач AI в области компьютерного зрения. Помимо обнаружения объектов, она превосходно справляется с сегментацией экземпляров, классификацией изображений, оценкой позы и обнаружением ориентированных объектов. YOLOv8 представляет ключевые архитектурные улучшения, такие как головка обнаружения без привязки к якорям (anchor-free detection head) и новый модуль C2f, для обеспечения современной производительности.
Сильные стороны
- Улучшенная точность и скорость: YOLOv8 предлагает превосходный баланс скорости и точности, достигая более высоких показателей mAP, чем YOLOv5, для всех размеров моделей, сохраняя при этом конкурентоспособную скорость inference.
- Универсальность: Его поддержка нескольких задач компьютерного зрения в рамках единой, связной структуры делает его невероятно мощным и гибким инструментом для разработки сложных систем искусственного интеллекта.
- Современная архитектура: Детекционная головка без anchor упрощает выходной слой и повышает производительность, устраняя необходимость в настройке anchor box.
- Хорошо поддерживаемая экосистема: Будучи флагманской моделью, YOLOv8 выигрывает от активной разработки, частых обновлений и сильной поддержки сообщества. Она полностью интегрирована в экосистему Ultralytics, включая платформу Ultralytics HUB для оптимизированного MLOps.
- Эффективность памяти: Несмотря на свою продвинутую архитектуру, YOLOv8 оптимизирован для низкого потребления памяти, что делает его доступным на широком спектре оборудования.
Слабые стороны
- Вычислительные требования: Самые большие модели YOLOv8 (например, YOLOv8x) требуют значительных вычислительных ресурсов, что может быть важным фактором при развертывании в средах с высокой степенью ограничения ресурсов.
Идеальные варианты использования
YOLOv8 - рекомендуемый выбор для приложений, требующих высочайшей точности и гибкости:
- Продвинутая робототехника, требующая сложного понимания сцены и взаимодействия с несколькими объектами.
- Анализ изображений с высоким разрешением для медицинской или спутниковой визуализации, где важна детализация.
- Многозадачные системы машинного зрения, которым необходимо одновременно выполнять обнаружение объектов, сегментацию и оценку позы.
- Новые проекты, в которых приоритетом является использование новейшей современной модели.
Тесты производительности: YOLOv5 против YOLOv8
Разница в производительности между YOLOv5 и YOLOv8 очевидна при сравнении их метрик на наборе данных COCO. В целом, модели YOLOv8 демонстрируют более высокую точность (mAP) при сопоставимом количестве параметров и вычислительных затратах (FLOPs). Например, YOLOv8n достигает mAP 37.3, почти соответствуя YOLOv5s (37.4 mAP), но с на 68% меньшим количеством параметров и значительно более быстрым инференсом на CPU.
Тем не менее, YOLOv5 остается грозным конкурентом, особенно в сценариях, где скорость GPU является главным приоритетом. Модель YOLOv5n, например, может похвастаться самым быстрым временем инференса на GPU T4. Это делает ее отличным выбором для приложений реального времени, работающих на оптимизированном оборудовании.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
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 |
Ключевые архитектурные различия
Переход от YOLOv5 к YOLOv8 ознаменовался несколькими значительными архитектурными изменениями, которые способствуют его превосходной производительности и гибкости.
Backbone и Neck
YOLOv5 использует модуль C3 в своей backbone и neck. В отличие от этого, YOLOv8 заменяет его модулем C2f. Модуль C2f (Cross Stage Partial BottleNeck с 2 свертками) обеспечивает более эффективное слияние признаков и более насыщенный градиентный поток, что повышает общую точность модели.
Обнаружение Head
Основное различие заключается в детектирующей голове. В YOLOv5 используется связанная голова на основе anchor, что означает, что один и тот же набор признаков используется как для классификации объектов, так и для регрессии ограничивающих рамок. YOLOv8 использует несвязанную голову без anchor. Такое разделение задач (одна голова для классификации, другая для регрессии) позволяет каждой из них специализироваться, повышая точность. Подход без anchor также упрощает процесс обучения и устраняет необходимость настройки априорных параметров anchor box, что делает модель более адаптируемой к различным наборам данных.
Методологии обучения и экосистема
И YOLOv5, и YOLOv8 построены на PyTorch и используют оптимизированные конвейеры обучения Ultralytics, предлагая последовательный и удобный для пользователя опыт.
- Простота использования: Обе модели можно легко обучить с помощью предоставленных интерфейсов CLI или python с минимальной настройкой. Обширная документация (Документация YOLOv5, Документация YOLOv8) и простые API делают пользовательское обучение простым.
- Эффективное обучение: Оптимизированные скрипты обучения и готовые предварительно обученные веса значительно сокращают время обучения и вычислительные затраты.
- Аугментация данных: Обе модели включают в себя надежный набор встроенных методов аугментации данных для улучшения обобщения модели и уменьшения переобучения.
- Экосистема Ultralytics: Интеграция с такими инструментами, как Ultralytics HUB и платформами ведения журналов, такими как TensorBoard и Comet, упрощает отслеживание экспериментов, управление моделями и развертывание.
Заключение: какую модель вам следует выбрать?
И YOLOv5, и YOLOv8 — это мощные модели обнаружения объектов, разработанные Ultralytics, предлагающие отличную производительность и простоту использования. Выбор между ними во многом зависит от конкретных требований вашего проекта.
-
YOLOv5 остается сильным и надежным претендентом, особенно для приложений, где критически важно максимизировать скорость инференса на конкретном оборудовании. Ее зрелость означает, что у нее есть обширная экосистема, и она прошла проверку боем в бесчисленных реальных развертываниях. Это отличный выбор для проектов с ограниченным бюджетом ресурсов или требующих быстрого развертывания на edge-устройствах.
-
YOLOv8 представляет собой передовой уровень серии YOLO, предлагая превосходную точность, повышенную универсальность для решения различных задач компьютерного зрения и более современную архитектуру. Ее безанкерная конструкция и расширенные функции делают ее идеальным выбором для новых проектов, стремящихся к современной производительности и гибкости для решения сложных, многогранных задач ИИ.
Ultralytics продолжает внедрять инновации, обеспечивая хорошую поддержку обеих моделей, простоту использования и отличный баланс скорости и точности, подходящий для различных реальных сценариев.
Изучите другие модели Ultralytics
Пользователям, изучающим другие современные варианты, Ultralytics также предлагает модели, такие как YOLOv9, YOLOv10 и новейшая YOLO11, каждая из которых предоставляет уникальные преимущества в производительности и эффективности. Дополнительные сравнения доступны в документации Ultralytics.