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

YOLOv9 в сравнении с YOLOv5: техническое сравнение

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

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

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

Авторы: Чен-Яо Ван, Хун-Юань Марк Ляо
Организация:Институт информатики, Academia Sinica, Тайвань
Дата: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Документация:Документация YOLOv9

Основная архитектура

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

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

Основным преимуществом YOLOv9 является ее высочайшая точность на таких бенчмарках, как датасет COCO. Она превосходно справляется с обнаружением маленьких или перекрытых объектов, где другие модели могут потерпеть неудачу. Однако эта ориентация на точность обнаружения имеет свои компромиссы. Процесс обучения может потребовать больше ресурсов, и, хотя она интегрирована в экосистему Ultralytics, поддержка со стороны широкого сообщества и сторонние инструменты все еще развиваются по сравнению с более устоявшимися моделями. Кроме того, основное внимание по-прежнему уделяется обнаружению, в то время как другие модели предлагают более широкую встроенную поддержку многозадачности.

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

Ultralytics YOLOv5: Универсальный промышленный стандарт

С момента выпуска в 2020 году Ultralytics YOLOv5 определил стандарт для практического AI-развертывания в реальном мире. Он обеспечивает точный баланс между производительностью и удобством использования, что делает его одной из самых широко используемых моделей в истории.

Author: Glenn Jocher
Organization:Ultralytics
Date: 2020-06-26
GitHub:ultralytics/yolov5
Docs:YOLOv5 Documentation

Основная архитектура

YOLOv5 использует усовершенствованную архитектуру, основанную на anchor boxes, с бэкбоном CSPDarknet53 и neck PANet для надежной агрегации признаков. В его конструкции приоритет отдается скорости inference и инженерной оптимизации. Модель поставляется в различных масштабах (от Nano до Extra Large), что позволяет разработчикам идеально адаптировать модель к своим аппаратным ограничениям, от встроенных периферийных устройств до облачных GPU.

Преимущество Ultralytics

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

  • Простота использования: YOLOv5 известна своей возможностью «установил и запустил». Оптимизированный Python API и исчерпывающая документация значительно сокращают время разработки.
  • Хорошо поддерживаемая экосистема: Поддерживаемый Ultralytics, YOLOv5 пользуется активной поддержкой, огромным сообществом на GitHub и бесшовной интеграцией с инструментами MLOps.
  • Универсальность: Помимо detect, YOLOv5 изначально поддерживает instance segmentation и image classification, предлагая унифицированное решение для различных задач компьютерного зрения.
  • Эффективность памяти: Модели Ultralytics оптимизированы для снижения объема занимаемой памяти как во время обучения, так и во время инференса, что контрастирует с высокими требованиями альтернатив на основе трансформеров.

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

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

В приведенном ниже сравнении выделены различные роли этих моделей. YOLOv9 обычно достигает более высокого mAP (средняя точность), особенно при больших размерах модели (c и e). Это делает его превосходным для задач, требующих детальной детализации.

И наоборот, YOLOv5 предлагает непревзойденную скорость inference, особенно с вариантами Nano (n) и Small (s). Для приложений реального времени на периферийном оборудовании, таком как NVIDIA Jetson или Raspberry Pi, YOLOv5 остается главным претендентом благодаря своей легкости и зрелости оптимизации TensorRT.

Модельразмер
(пиксели)
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Совет по развертыванию

Для максимальной гибкости развертывания обе модели можно экспортировать в такие форматы, как ONNX, TensorRT и CoreML, используя режим экспорта Ultralytics. Это гарантирует эффективную работу ваших моделей на любом целевом оборудовании.

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

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

YOLOv9, хотя и является мощной моделью, может потребовать более тщательной настройки гиперпараметров для достижения стабильности и сходимости, особенно на небольших наборах данных. Однако, благодаря интеграции в ultralytics Благодаря пакету Python разработчики теперь могут обучать YOLOv9, используя тот же простой синтаксис, что и YOLOv5, что устраняет пробелы в удобстве использования.

Пример кода

С библиотекой Ultralytics переключение между этими архитектурами так же просто, как изменение имени модели. Этот фрагмент демонстрирует, как загружать и запускать вывод с обеими моделями:

from ultralytics import YOLO

# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")

# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")

# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")

# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")

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

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

  • Высокоточная инспекция: Обнаружение мельчайших дефектов на производственных сборочных линиях, где важен каждый пиксель.
  • Передовые исследования: Проекты, изучающие новые архитектуры глубокого обучения, такие как Programmable Gradient Information.
  • Сложные условия: Сценарии с высокой степенью перекрытия или беспорядка, где расширенная агрегация признаков GELAN обеспечивает решающее преимущество.

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

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

Заключение

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

Для разработчиков, стремящихся к абсолютному лучшему из обоих миров — сочетанию простоты использования YOLOv5 с производительностью, превосходящей YOLOv9, — мы рекомендуем изучить YOLO11. Как последняя итерация от Ultralytics, YOLO11 обеспечивает современную скорость и точность во всех задачах машинного зрения, представляя будущее семейства YOLO.

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

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

Комментарии