Перейти к содержанию

YOLOv8 vs YOLOv10: Подробное техническое сравнение

Выбор правильной модели для detect объектов имеет решающее значение для успеха любого проекта в области компьютерного зрения. В этом руководстве представлено подробное техническое сравнение между Ultralytics YOLOv8 и YOLOv10, анализирующее их архитектурные инновации, показатели производительности и идеальные варианты использования. В то время как YOLOv10 представляет новые оптимизации эффективности, Ultralytics YOLOv8 остается доминирующей силой благодаря своей надежной экосистеме, беспрецедентной универсальности и проверенной надежности в различных сценариях развертывания.

Ultralytics YOLOv8: универсальный стандарт

Выйдет в январе 2023 года, Ultralytics YOLOv8 представляет собой значительный скачок вперед в серииYOLO , разработанной не просто как модель, а как комплексная основа для ИИ зрения. Приоритет отдается удобству использования и гибкости, что делает его лучшим выбором для разработчиков - от любителей до корпоративных инженеров.

Архитектура и возможности

YOLOv8 использует механизм anchor-free обнаружения, который упрощает процесс обучения, устраняя необходимость в ручной спецификации anchor box. Этот подход улучшает обобщение для различных форм объектов. Ее архитектура включает decoupled head и современный backbone, который балансирует вычислительные затраты с высокой точностью.

Определяющей характеристикой YOLOv8 является его собственная поддержка нескольких задач. В отличие от многих специализированных моделей, YOLOv8 предлагает готовые возможности для:

Основные преимущества

Хорошо поддерживаемая экосистема, окружающая YOLOv8, является огромным преимуществом. Она легко интегрируется с Ultralytics HUB для обучения и управления моделями и предлагает широкие возможности экспорта в такие форматы, как ONNX, TensorRT и CoreML. Кроме того, ее требования к памяти во время обучения и вывода значительно ниже, чем у архитектур на основе transformer, что обеспечивает ее эффективную работу на стандартном оборудовании.

Узнайте больше о YOLOv8

YOLOv10: Расширение границ эффективности

YOLOv10, разработанная исследователями из Университета Цинхуа, уделяет большое внимание оптимизации конвейера инференса путем устранения узких мест, связанных с постобработкой.

Архитектурные инновации

Отличительной особенностью YOLOv10 является ее стратегия обучения без NMS. Традиционные детекторы объектов полагаются на Non-Maximum Suppression (NMS) для фильтрации перекрывающихся ограничивающих рамок во время вывода, что может привести к задержке. YOLOv10 использует согласованные двойные назначения во время обучения — объединяя контроль «один ко многим» для получения богатых контрольных сигналов с сопоставлением «один к одному» для эффективного вывода. Это позволяет модели предсказывать точные ограничивающие рамки без необходимости в NMS, тем самым уменьшая сквозную задержку.

Архитектура также включает в себя целостный дизайн, ориентированный на эффективность и точность, с использованием облегченных классификационных голов и пространственно-канальной разделенной дискретизации для уменьшения вычислительной избыточности (FLOPs) и количества параметров.

Узнайте больше о YOLOv10

Метрики производительности и анализ

При сравнении этих двух моделей важно смотреть не только на чистые цифры точности. В то время как YOLOv10 демонстрирует впечатляющую эффективность с точки зрения параметров, YOLOv8 поддерживает надежную производительность в более широком диапазоне оборудования и задач.

Сравнительная таблица

В таблице ниже показана производительность на наборе данных COCO. YOLOv10 достигает более высокого mAP с меньшим количеством параметров в некоторых случаях, но YOLOv8 остается весьма конкурентоспособной по скорости вывода, особенно на стандартных тестах CPU и GPU.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Критический анализ

  1. Баланс производительности: YOLOv8 обеспечивает превосходный компромисс между скоростью и точностью. Его скорость на CPU (через ONNX) хорошо задокументирована и оптимизирована, что делает его надежным выбором для развертываний, в которых отсутствует специализированное оборудование GPU.
  2. Эффективность обучения: Модели Ultralytics известны своими эффективными процессами обучения. Пользователи часто могут быстрее достичь сходимости благодаря оптимизированным гиперпараметрам YOLOv8 и легкодоступным предварительно обученным весам.
  3. Развитость экосистемы: Хотя YOLOv10 предлагает теоретические преимущества в эффективности, YOLOv8 выигрывает от многолетней доработки в экосистеме Ultralytics. Это включает в себя широкую поддержку аугментации данных, активную отладку сообществом и интеграцию с такими инструментами, как Weights & Biases и Comet.

Важность универсальности

Если ваш проект требует большего, чем просто ограничивающие рамки, например, понимание языка тела с помощью оценки позы или точное определение границ с помощью сегментации, YOLOv8 является явным победителем, поскольку YOLOv10 в настоящее время специализируется в основном на object detection.

Идеальные варианты использования

Когда следует выбирать Ultralytics YOLOv8

YOLOv8 — рекомендуемый выбор для подавляющего большинства реальных приложений благодаря своей универсальности и простоте использования.

  • Многогранные AI-решения: Идеально подходят для проектов, требующих сегментацию экземпляров или классификацию наряду с detect.
  • Корпоративное развертывание: Идеально подходит для предприятий, нуждающихся в стабильной, поддерживаемой структуре с четкими вариантами лицензирования и интеграцией в существующие конвейеры MLOps.
  • Интеллектуальная розничная торговля: Его способность обрабатывать несколько задач делает его подходящим для сложной аналитики розничной торговли, такой как мониторинг полок и анализ поведения клиентов.
  • Быстрое прототипирование: Простой Python API позволяет разработчикам перейти от концепции к обученной модели за считанные минуты.

Когда следует выбирать YOLOv10

YOLOv10 лучше всего использовать для конкретных ниш, где аппаратные ограничения чрезвычайно высоки.

  • Критически важный по задержке Edge AI (Latency-Critical Edge AI): Приложения на микроконтроллерах или устаревших встроенных системах, где важна каждая миллисекунда задержки инференса.
  • Высокопроизводительная обработка видео: Сценарии, такие как управление трафиком, где сокращение времени постобработки на кадр может в совокупности сэкономить значительные вычислительные ресурсы.

Реализация кода

Одной из отличительных черт экосистемы Ultralytics является простота использования. Обе модели доступны через унифицированный ultralytics Пакет Python, обеспечивающий единообразный опыт для разработчиков.

Ниже приведен пример того, как запустить inference с помощью 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, что делает его сильным претендентом на выполнение узкоспециализированных задач detect, чувствительных к задержкам.

Однако для надежной, универсальной и перспективной разработки, Ultralytics YOLOv8 остается превосходным выбором. Ее способность обрабатывать классификацию, segmentацию и оценку позы в рамках единого фреймворка обеспечивает непревзойденную ценность. В сочетании с обширной документацией, активной поддержкой сообщества и бесшовной интеграцией с Ultralytics HUB, YOLOv8 позволяет разработчикам быстрее и надежнее создавать комплексные решения ИИ.

Для тех, кто ищет самые последние достижения в области производительности, мы также рекомендуем изучить YOLO11, которая опирается на сильные стороны YOLOv8 для обеспечения еще большей точности и скорости.

Дополнительная литература


Комментарии