YOLOv8 против YOLOv10: всестороннее техническое сравнение
Выбор правильной модели обнаружения объектов имеет решающее значение для успеха любого проекта по компьютерному зрению. В данном руководстве приводится подробное техническое сравнение между Ultralytics YOLOv8 и YOLOv10анализируя их архитектурные инновации, показатели производительности и идеальные сценарии использования. В то время как YOLOv10 представляет новые оптимизации эффективности, Ultralytics YOLOv8 остается доминирующей силой благодаря своей надежной экосистеме, беспрецедентной универсальности и проверенной надежности в различных сценариях развертывания.
Ultralytics YOLOv8: универсальный стандарт
Выйдет в январе 2023 года, Ultralytics YOLOv8 представляет собой значительный скачок вперед в серииYOLO , разработанной не просто как модель, а как комплексная основа для ИИ зрения. Приоритет отдается удобству использования и гибкости, что делает его лучшим выбором для разработчиков - от любителей до корпоративных инженеров.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 10.01.2023
- GitHub:ultralytics
- Документация:Документация поYOLOv8
Архитектура и возможности
В YOLOv8 используется механизм безъякорного обнаружения, который упрощает процесс обучения, устраняя необходимость в ручном задании якорного поля. Этот подход улучшает обобщение для различных форм объектов. Архитектура YOLOv8 включает в себя отсоединенную голову и современную основу, что позволяет сбалансировать вычислительные затраты и высокую точность.
Определяющей характеристикой YOLOv8 является встроенная поддержка многозадачности. В отличие от многих специализированных моделей, YOLOv8 предлагает готовые возможности для:
- Обнаружение объектов
- Сегментация экземпляров
- Классификация изображений
- Оценка позы
- Ориентированные ограничивающие рамки (OBB)
Ключевые преимущества
Поддерживаемая экосистема, окружающая YOLOv8 , является огромным преимуществом. Он легко интегрируется с Ultralytics HUB для обучения и управления моделями, а также предлагает широкие возможности экспорта в такие форматы, как ONNX, TensorRT и CoreML. Кроме того, требования к памяти во время обучения и вывода значительно ниже, чем у архитектур на основе трансформаторов, что обеспечивает эффективную работу на стандартном оборудовании.
YOLOv10: расширяя границы эффективности
YOLOv10разработанная исследователями из Университета Цинхуа, уделяет большое внимание оптимизации конвейера выводов, устраняя узкие места, связанные с постобработкой.
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация:Университет Цинхуа
- Дата: 2024-05-23
- Arxiv:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
- Документы:ДокументацияYOLOv10
Архитектурные инновации
Отличительной особенностью YOLOv10 является стратегия обученияNMS. Традиционные детекторы объектов полагаются на немаксимальное подавление (NMS), чтобы отфильтровать перекрывающиеся ограничительные рамки во время вывода, что может вызвать задержку. YOLOv10 использует последовательное двойное назначение в процессе обучения, сочетая наблюдение "один ко многим" для получения богатых сигналов наблюдения и сопоставление "один к одному" для эффективного вывода. Это позволяет модели предсказывать точные граничные поля без использования NMS, тем самым уменьшая время ожидания от конца к концу.
Архитектура также включает в себя целостный дизайн эффективности и точности, включающий легкие классификационные головки и пространственно-канальную развязанную понижающую дискретизацию для сокращения вычислительной избыточности (FLOPs) и количества параметров.
Показатели и анализ производительности
Сравнивая эти две модели, важно смотреть не только на чистые цифры точности. В то время как YOLOv10 демонстрирует впечатляющую эффективность по параметрам, YOLOv8 сохраняет стабильную производительность на более широком спектре оборудования и задач.
Сравнительная таблица
В таблице ниже показана производительность на наборе данныхCOCO . В некоторых случаях YOLOv10 достигает более высокого mAP с меньшим количеством параметров, но YOLOv8 остается весьма конкурентоспособным по скорости вывода, особенно в стандартных бенчмарках для CPU и GPU .
| Модель | размер (пиксели) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Критический анализ
- Баланс производительности: YOLOv8 обеспечивает отличный компромисс между скоростью и точностью. Его скорость на CPU (через ONNX) хорошо документирована и оптимизирована, что делает его надежным выбором для развертываний, не имеющих специализированного оборудования GPU .
- Эффективность обучения: Модели Ultralytics известны своими эффективными процессами обучения. Пользователи часто могут быстрее достичь сходимости благодаря оптимизированным гиперпараметрам YOLOv8 и легкодоступным предварительно обученным весам.
- Зрелость экосистемы: В то время как YOLOv10 обеспечивает теоретический прирост эффективности, YOLOv8 пользуется преимуществами многолетней доработки в экосистеме Ultralytics . Это включает в себя широкую поддержку расширения данных, активную отладку в сообществе и интеграцию с такими инструментами, как Weights & Biases и Comet.
Универсальность имеет значение
Если в вашем проекте требуется нечто большее, чем просто ограничивающие рамки, - например, понимание языка тела с помощью оценки позы или точное определение границ с помощью сегментации, -YOLOv8 будет явным победителем, поскольку YOLOv10 в настоящее время специализируется в основном на обнаружении объектов.
Идеальные варианты использования
Когда следует выбирать Ultralytics YOLOv8
Благодаря своей универсальности и простоте использования YOLOv8 является рекомендованным выбором для подавляющего большинства реальных приложений.
- Многогранные решения в области искусственного интеллекта: Идеально подходит для проектов, требующих сегментации или классификации экземпляров наряду с обнаружением.
- Корпоративное развертывание: Идеально подходит для предприятий, которым нужна стабильная, поддерживаемая платформа с понятными вариантами лицензирования и интеграцией в существующие конвейеры MLOps.
- Интеллектуальная розничная торговля: Способность решать множество задач делает его подходящим для сложной аналитики розничной торговли, такой как мониторинг полок и анализ поведения покупателей.
- Быстрое прототипирование: Простой Python API позволяет разработчикам за считанные минуты перейти от концепции к обученной модели.
Когда выбирать YOLOv10
YOLOv10 лучше всего использовать в специфических нишах, где аппаратные ограничения являются экстремальными.
- Edge AI, критичный к задержкам: приложения на микроконтроллерах или устаревших встраиваемых системах, где важна каждая миллисекунда задержки вывода.
- Высокопроизводительная обработка видео: Сценарии, подобные управлению трафиком, где сокращение времени постобработки каждого кадра может в совокупности сэкономить значительные вычислительные ресурсы.
Реализация кода
Одной из отличительных черт экосистемы Ultralytics является простота использования. Доступ к обеим моделям можно получить через унифицированный ultralytics Пакет Python , обеспечивающий согласованность действий разработчиков.
Ниже приведен пример того, как запустить вывод с помощью YOLOv8демонстрирующий простоту API.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Perform object detection on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Кроме того, поскольку Ultralytics поддерживает широкую экосистему, вы можете легко менять весовые коэффициенты для экспериментов с другими архитектурами, если они поддерживаются в библиотеке.
Бесшовный экспорт
Ultralytics предоставляет однострочную команду для экспорта обученных моделей в удобные для развертывания форматы. Она безупречно работает с YOLOv8 для создания оптимизированных моделей для производства:
# Export YOLOv8 model to ONNX format
model.export(format="onnx")
Заключение
И YOLOv8 , и YOLOv10 - впечатляющие достижения в области компьютерного зрения. YOLOv10 перешагнул порог архитектурной эффективности благодаря NMS, что делает его сильным соперником для узкоспециализированных задач обнаружения, чувствительных к задержкам.
Однако для надежной, универсальной и перспективной разработки, Ultralytics YOLOv8 остается лучшим выбором. Его способность обрабатывать классификацию, сегментацию и оценку позы в рамках одного фреймворка обеспечивает непревзойденную ценность. В сочетании с обширной документацией, активной поддержкой сообщества и бесшовной интеграцией с Ultralytics HUB YOLOv8 позволяет разработчикам быстрее и надежнее создавать комплексные ИИ-решения.
Для тех, кто ищет абсолютную производительность, мы также рекомендуем обратить внимание на YOLO11который, опираясь на сильные стороны YOLOv8 , обеспечивает еще большую точность и скорость.