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

YOLOv8 и YOLOv9: техническое сравнение для detect объектов

Выбор оптимальной модели компьютерного зрения является ключевым решением, которое влияет на успех проектов AI, балансируя требования к точности, скорости inference и вычислительной эффективности. В этом всестороннем руководстве сравниваются Ultralytics YOLOv8, универсальная и готовая к производству модель, с YOLOv9, архитектурой, ориентированной на максимизацию точности detection с помощью новых градиентов. Мы анализируем их архитектурные различия, показатели производительности и идеальные сценарии развертывания, чтобы помочь вам сделать осознанный выбор.

Ultralytics YOLOv8: Стандарт универсальности и простоты использования

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

Архитектура и экосистема

YOLOv8 представляет детектирующий слой без anchor boxes и модуль C2f (Cross-Stage Partial with 2 convolutions), который улучшает интеграцию признаков, сохраняя при этом легкость выполнения. В отличие от моделей, ориентированных на исследования, YOLOv8 создана с учетом развертывания. Она изначально поддерживает классификацию изображений, сегментацию экземпляров, оценку позы и обнаружение ориентированных ограничивающих рамок (OBB).

Истинная сила YOLOv8 заключается в экосистеме Ultralytics. Разработчики получают выгоду от унифицированного Python API и CLI, которые стандартизируют обучение, валидацию и развертывание. Этот подход "все включено" значительно сокращает время выхода на рынок приложений компьютерного зрения.

Сильные стороны

  • Непревзойденная универсальность: Обрабатывает detect, segment, classify и оценку позы в единой библиотеке.
  • Готовность к развертыванию: Встроенная поддержка экспорта для ONNX, OpenVINO, TensorRT и CoreML упрощает интеграцию в периферийные устройства и облачные серверы.
  • Эффективность памяти: Оптимизирован для снижения использования памяти CUDA во время обучения по сравнению с архитектурами на основе трансформеров, что делает его доступным на стандартных потребительских GPU.
  • Баланс скорости и точности: Обеспечивает исключительную скорость инференса в реальном времени, часто превосходя конкурентов на CPU и периферийном оборудовании.
  • Активная поддержка: Поддержка крупного сообщества open-source и частые обновления от Ultralytics, обеспечивающие совместимость с последними библиотеками и оборудованием.

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

YOLOv9: Архитектурные инновации для высокой точности

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

Основные инновации

Архитектура YOLOv9 опирается на два основных компонента: Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN). PGI работает для предотвращения потери критической входной информации в процессе прямого распространения в глубоких сетях, обеспечивая генерацию надежных градиентов для обновлений. GELAN предназначен для оптимизации эффективности параметров, позволяя модели достигать высокой точности при достойном объеме вычислений.

Сильные стороны

  • Высокая точность: Самый крупный вариант, YOLOv9-E, устанавливает впечатляющие эталонные показатели для mAP на наборе данных COCO, превосходно справляясь со сценариями, где точность имеет первостепенное значение.
  • Эффективность параметров: Благодаря GELAN, модели YOLOv9 среднего размера достигают конкурентоспособной точности с меньшим количеством параметров, чем некоторые старые архитектуры.
  • Теоретический прогресс: Решает фундаментальные проблемы в обучении глубоких сетей, касающиеся сохранения информации.

Слабые стороны

  • Ограниченная универсальность: В первую очередь ориентирован на object detection. Несмотря на возможности, ему не хватает встроенной, оптимизированной поддержки segment, pose и classification, которые есть в основной линейке Ultralytics.
  • Сложное обучение: Введение вспомогательных ветвей для PGI может сделать процесс обучения более ресурсоемким и сложным в настройке по сравнению с оптимизированным конвейером YOLOv8.
  • Скорость инференса: Несмотря на эффективность, архитектурная сложность может приводить к более медленному времени инференса на определенном оборудовании по сравнению с высокооптимизированными блоками, используемыми в YOLOv8.

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

Прямое сравнение производительности

При сравнении YOLOv8 и YOLOv9 выбор часто сводится к конкретным ограничениям вашей среды развертывания. YOLOv8 доминирует в скорости инференса и гибкости развертывания, в то время как YOLOv9 поднимает потолок метрик обнаружения.

Модельразмер
(пиксели)
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
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Данные подчеркивают четкое различие: YOLOv8 предлагает превосходную скорость, особенно на GPU (TensorRT) и CPU (ONNX), что имеет решающее значение для периферийных AI-приложений. Например, YOLOv8n значительно быстрее, чем YOLOv9t, на T4 GPU (1,47 мс против 2,3 мс). И наоборот, YOLOv9e достигает наивысшего mAP (55,6%), что делает его пригодным для обработки на стороне сервера, где задержка менее важна, чем обнаружение мельчайших деталей.

Вы знали?

Ultralytics YOLOv8 разработана с нативной поддержкой для all основные задачи компьютерного зрения. Вы можете переключиться с обнаружения объектов на сегментация экземпляров просто изменив файл весов модели (например, yolov8n.pt в yolov8n-seg.pt), уровень гибкости, недоступный в стандартном репозитории YOLOv9.

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

Выберите Ultralytics YOLOv8, если:

  • Вам нужно готовое к производству решение: Обширная документация, поддержка сообщества и готовые интеграции (например, MLFlow и TensorBoard) упрощают путь от прототипа к продукту.
  • Скорость имеет решающее значение: Для видеоаналитики в реальном времени, автономной навигации или мобильных приложений оптимизированная скорость инференса YOLOv8 обеспечивает явное преимущество.
  • Вам требуется несколько задач компьютерного зрения: Проекты, включающие оценку позы или segment наряду с detect, лучше всего обслуживаются унифицированной структурой YOLOv8.
  • Существуют ограничения по ресурсам: Модели YOLOv8 высоко оптимизированы для различного оборудования, что обеспечивает эффективную работу на устройствах от Raspberry Pi до NVIDIA Jetson.

Выберите YOLOv9, если:

  • Максимальная точность - единственный показатель: Для академических исследований или специализированных задач инспекции, где каждая доля процента в mAP важнее скорости или удобства использования.
  • Вы изучаете архитектуру: Концепции PGI и GELAN ценны для исследователей, изучающих поток градиента в глубоких сетях.

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

Одним из основных преимуществ экосистемы Ultralytics является то, что она поддерживает обе модели с помощью одного и того же простого API. Это позволяет легко сравнивать их на ваших собственных пользовательских наборах данных.

Вот как можно обучить модель YOLOv8 всего в нескольких строках кода:

from ultralytics import YOLO

# Load a YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model on your data
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

Поскольку Ultralytics интегрирует YOLOv9, вы можете заменить строку модели на yolov9c.pt для экспериментов с YOLOv9 в рамках того же надежного конвейера, хотя собственные модели YOLOv8 часто выигрывают от более тесной интеграции с инструментами развертывания.

Заключение

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

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

Для тех, кто ищет самые последние достижения в области компьютерного зрения, обязательно ознакомьтесь с YOLO11, которая еще больше повышает эффективность и производительность, установленные YOLOv8. Кроме того, исследователи, интересующиеся подходами на основе трансформеров, могут изучить RT-DETR для различных архитектурных компромиссов.

Ознакомьтесь с другими сравнениями на нашей странице сравнения моделей.


Комментарии