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

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

Ландшафт object detection быстро развивался, и последовательные итерации архитектуры YOLO (You Only Look Once) расширяли границы скорости и точности. Двумя наиболее значительными недавними вкладами в эту область являются YOLOv10 и YOLOv9. Хотя обе модели демонстрируют современную производительность на наборе данных COCO, они значительно расходятся в своих философиях проектирования и архитектурных целях.

YOLOv10 отдает приоритет низкой задержке и сквозной эффективности, устраняя необходимость в немаксимальном подавлении (NMS), тогда как YOLOv9 фокусируется на максимизации удержания информации и точности с помощью программируемой градиентной информации (PGI). В этом руководстве представлено подробное техническое сравнение, которое поможет разработчикам и исследователям выбрать оптимальную модель для своих приложений компьютерного зрения.

YOLOv10: Детектор End-to-End реального времени

Выпущенная в мае 2024 года исследователями из Университета Цинхуа, YOLOv10 представляет собой смену парадигмы в линейке YOLO. Ее основным нововведением является удаление этапа постобработки Non-Maximum Suppression (NMS), который традиционно был узким местом для задержки при выводе.

Технические детали:

Архитектура и Ключевые Инновации

YOLOv10 достигает своей эффективности благодаря сочетанию Consistent Dual Assignments и Holistic Efficiency-Accuracy Driven Model Design.

  1. Обучение без NMS: Традиционные модели YOLO полагаются на NMS для фильтрации дублирующихся ограничивающих рамок. YOLOv10 использует стратегию двойного назначения во время обучения модели. Ветвь «один ко многим» предоставляет расширенные контрольные сигналы для обучения, а ветвь «один к одному» гарантирует, что модель генерирует единственный лучший прогноз для каждого объекта во время inference. Это позволяет развертывать модель без NMS, что значительно снижает задержку inference.
  2. Оптимизация модели: Архитектура включает в себя облегченные классификационные головки, пространственно-канальную развязанную понижающую дискретизацию и блочную структуру с ранговым управлением. Эти функции снижают вычислительную избыточность и использование памяти, что делает модель очень эффективной на оборудовании с ограниченными ресурсами.

Преимущество в эффективности

Удаление NMS в YOLOv10 особенно выгодно для развертывания на периферии. На устройствах, где ресурсы CPU ограничены, отказ от вычислительных затрат на сортировку и фильтрацию тысяч потенциальных ограничивающих рамок может привести к существенному ускорению.

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

YOLOv9: Освоение сохранения информации

YOLOv9, представленный в феврале 2024 года Chien-Yao Wang и Hong-Yuan Mark Liao, нацелен на решение проблемы «информационного узкого места», присущей глубоким нейронным сетям. Когда данные проходят через последовательные слои (извлечение признаков), важная информация может быть потеряна, что приводит к снижению точности, особенно для небольших или трудно обнаруживаемых объектов.

Технические детали:

Архитектура и Ключевые Инновации

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

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

Понимание глубокого обучения

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

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

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

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

Анализ:

  • Задержка (Latency): YOLOv10 стабильно превосходит YOLOv9 по задержке, особенно в моделях меньшего размера (N и S). Например, YOLOv10n достигает скорости инференса 1.56 мс на TensorRT, что значительно быстрее, чем сопоставимые модели.
  • Точность: YOLOv9 превосходен в точности в верхнем диапазоне спектра. Модель YOLOv9e достигает замечательных 55,6% mAP, что делает ее превосходным выбором для приложений, где точность имеет первостепенное значение.
  • Эффективность: YOLOv10 предлагает отличную точность на параметр. YOLOv10b достигает 52,7% mAP с меньшей задержкой, чем YOLOv9c, демонстрируя эффективность своей целостной конструкции.
Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
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

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

Понимание сильных сторон каждой модели помогает в выборе правильного инструмента для ваших конкретных целей проекта.

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

  • Развертывание Edge AI: Приложения, работающие на таких устройствах, как NVIDIA Jetson или Raspberry Pi, выигрывают от конструкции без NMS, которая снижает нагрузку на CPU.
  • Высокочастотный анализ видео: Сценарии, требующие обработки видеопотоков с высокой частотой кадров, такие как мониторинг трафика или спортивная аналитика.
  • Робототехника в реальном времени: Автономные системы, которые полагаются на контуры обратной связи с низкой задержкой для навигации и избежания препятствий.

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

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

Использование с Ultralytics

Одним из значительных преимуществ использования этих моделей является их интеграция в экосистему Ultralytics. И YOLOv10, и YOLOv9 можно использовать через один и тот же унифицированный Python API и интерфейс командной строки (CLI), что упрощает рабочий процесс от обучения до развертывания.

Пример на Python

Следующий код демонстрирует, как загружать и запускать вывод с обеими моделями, используя ultralytics пакет.

from ultralytics import YOLO

# Load a YOLOv10 model (NMS-free, high speed)
model_v10 = YOLO("yolov10n.pt")

# Load a YOLOv9 model (High accuracy)
model_v9 = YOLO("yolov9c.pt")

# Run inference on an image
# The API remains consistent regardless of the underlying architecture
results_v10 = model_v10("https://ultralytics.com/images/bus.jpg")
results_v9 = model_v9("https://ultralytics.com/images/bus.jpg")

# Print results
for r in results_v10:
    print(f"YOLOv10 Detections: {r.boxes.shape[0]}")

for r in results_v9:
    print(f"YOLOv9 Detections: {r.boxes.shape[0]}")

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

Выбор Ultralytics для ваших проектов в области компьютерного зрения предлагает несколько преимуществ, выходящих за рамки просто архитектуры модели:

  • Простота использования: Удобный API позволяет переключаться между YOLOv9, YOLOv10 и другими моделями, такими как YOLO11, просто изменив имя файла весов.
  • Баланс производительности: Реализации Ultralytics оптимизированы для реальной производительности, балансируя между скоростью и точностью.
  • Эффективность обучения: Фреймворк поддерживает такие функции, как автоматическое смешанное обучение (AMP) и обучение на нескольких GPU, что упрощает обучение пользовательских моделей на ваших собственных наборах данных.
  • Требования к памяти: Модели Ultralytics обычно демонстрируют меньшее использование памяти по сравнению с альтернативами на основе transformer, что облегчает обучение на GPU потребительского класса.

Заключение

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

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

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

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

Комментарии