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

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

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

YOLOv9: решение проблемы потери информации с помощью новой архитектуры

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

Ключевые инновации: PGI и GELAN

В YOLOv9 реализованы два основных архитектурных усовершенствования для борьбы с информационными узкими местами:

  1. Программируемая градиентная информация (PGI): Вспомогательная система управления, которая генерирует надежные градиенты для обновления весов сети, обеспечивая сохранение ключевых входных корреляций во всех слоях. Это особенно эффективно для обучения очень глубоких моделей.
  2. Обобщенная эффективная сеть агрегирования уровней (GELAN): Облегченная сетевая архитектура, в которой приоритет отдается эффективности параметров и скорости вычислений (FLOPs). GELAN позволяет YOLOv9 достигать высокой точности при приемлемой скорости вычислений.

Сильные стороны и ограничения

YOLOv9 превосходит всех в академических тестах, при этом YOLOv9-E вариант достижения высшего уровня показатели mAP. Это отличный выбор для исследователей, стремящихся расширить границы точности обнаружения. Однако, будучи моделью, уходящей корнями глубоко в исследования, она не имеет широкой многозадачной поддержки, которая есть в более развитых экосистемах. Ее основная реализация сосредоточена на обнаружении границ, а рабочие процессы обучения могут быть более ресурсоемкими по сравнению с оптимизированными промышленными решениями.

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

Ultralytics YOLOv8: стандарт для производственного ИИ

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

Архитектура и преимущества экосистемы

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

  • Простота использования: Благодаря унифицированному APIPython и интерфейсу командной строки (CLI), обучение и развертывание модели занимает всего несколько строк кода.
  • Универсальность: В отличие от конкурентов, часто ограничивающихся обнаружением, YOLOv8 поддерживает сегментацию объектов, оценку позы, ориентированные граничные коробки (OBB) и классификацию изображений.
  • Баланс производительности: Он предлагает исключительный компромисс между задержкой и точностью, что делает его подходящим для вычислений в реальном времени на пограничных устройствах, таких как NVIDIA Jetson или Raspberry Pi .
  • Эффективность использования памяти: YOLOv8 обычно требует меньше памятиCUDA во время обучения по сравнению с архитектурами на основе трансформаторов, что снижает входной барьер для оборудования.

Интегрированные рабочие процессы

Модели Ultralytics легко интегрируются с такими инструментами, как TensorBoard для визуализации и MLflow для отслеживания экспериментов, оптимизируя жизненный цикл MLOps.

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

Анализ производительности: скорость, точность и эффективность

Выбор между моделями часто сводится к конкретным требованиям проекта, касающимся соотношения скорости и чистой точности. В таблице ниже приведено сравнение стандартных вариантов на проверочном наборе COCO .

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
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

Основные выводы

  1. Точность высшего класса: Параметр YOLOv9e Модель достигает замечательных 55,6% mAP, превосходя YOLOv8x. Если ваше приложение требует обнаружения самых сложных объектов, а задержка имеет второстепенное значение, YOLOv9e - сильный соперник.
  2. Скорость в реальном времени: Для применений, зависящих от скорости, YOLOv8n и YOLOv8s демонстрируют превосходную производительность. YOLOv8n особенно эффективен для мобильное развертываниеЛегкое решение, невероятно быстрое как на CPU , так и на GPU.
  3. Готовность к развертыванию: В таблице показаны скорости CPU ONNX для YOLOv8- критическая метрика для сред без GPU . Такая прозрачность данных отражает разработку YOLOv8 для широких сценариев развертывания, в то время как YOLOv9 часто тестируется преимущественно на high-end GPU, таких как V100 или T4, в исследовательских контекстах.

Обучение и удобство использования

Одно из самых значительных различий заключается в опыте разработчиков. В Ultralytics приоритетным является подход "батарейки в комплекте".

Простота с Ultralytics

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

from ultralytics import YOLO

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

# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")

Сложность исследования

Хотя YOLOv9 интегрирован в кодовую базу Ultralytics для облегчения доступа, оригинальные исследовательские репозитории часто требуют сложной настройки окружения и ручного управления гиперпараметрами. Хорошо поддерживаемая экосистема Ultralytics гарантирует, что независимо от того, используете ли вы YOLOv8 или портированный YOLOv9, вы получите преимущества от стабильных конвейеров CI/CD, обширной документации и поддержки сообщества через Discord.

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

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

  • Максимальная точность имеет решающее значение: Такие проекты, как анализ медицинских изображений (например, обнаружение опухолей), где важен каждый процентный пункт mAP .
  • Академические исследования: Вы изучаете новые архитектуры, такие как PGI, или проводите сравнительные исследования эффективности нейронных сетей.
  • Среды с высокими вычислениями: Цели развертывания - мощные серверы (например, NVIDIA A100), где допустимы более высокие показатели FLOP.

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

  • Требуются разнообразные задачи: Вам необходимо выполнить отслеживание объектов, сегментацию или оценку положения в рамках одной структуры проекта.
  • Пограничное развертывание: Приложения, работающие на ограниченном аппаратном обеспечении, таком как интеллектуальные камеры или беспилотники, где не хватает памяти и циклов CPU .
  • Быстрая разработка: Стартапы и корпоративные команды, которым необходимо быстро перейти от концепции к производству, используя такие форматы экспорта, как ONNX, TensorRT или OpenVINO.
  • Стабильность и поддержка: Вам нужна модель, поддерживаемая частыми обновлениями и большим сообществом для эффективного устранения неполадок.

Заключение

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

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

Изучите другие модели

Если вас интересуют другие архитектуры, в документации Ultralytics приведены сравнения для нескольких других моделей:

  • RT-DETR: Детектор на основе трансформатора, обеспечивающий высокую точность, но имеющий другие требования к ресурсам.
  • YOLOv5: Легендарный предшественник, известный своей исключительной стабильностью и широким распространением.
  • YOLO11: Последняя итерация от Ultralytics, еще больше повышающая эффективность.

Комментарии