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

YOLOv9 против YOLOv7: Технический глубокий анализ современного обнаружения объектов

Эволюция обнаружения объектов в реальном времени обусловлена непрерывным стремлением к балансу между вычислительной эффективностью и высокой точностью. Две знаковые архитектуры на этом пути — YOLOv9 и YOLOv7, обе разработаны исследователями Института информатики, Academia Sinica на Тайване. В то время как YOLOv7 представила революционные обучаемые «bag-of-freebies», более новая YOLOv9 напрямую решает проблемы информационных узких мест в глубоком обучении.

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

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

При сравнении этих моделей ключевыми факторами являются чистая производительность и эффективность. В следующей таблице подробно представлены средняя точность (mAP) и вычислительные требования для стандартных бенчмарков набора данных 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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

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

Обратите внимание, как YOLOv9c достигает примерно той же точности (53.0 mAP), что и YOLOv7x (53.1 mAP), при этом используя значительно меньше параметров (25.3M против 71.3M) и FLOPs. Это демонстрирует улучшения баланса производительности в современных архитектурах.

YOLOv9: Решение проблемы узкого места информации

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

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

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

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

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

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

YOLOv7: Пионер «Бесплатных приемов»

Выпущенный в 2022 году, YOLOv7 установил новый эталон для возможностей на потребительском оборудовании, представив структурные инновации, которые значительно увеличили скорость инференса в реальном времени.

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

Основной вклад YOLOv7 — это сеть расширенной эффективной агрегации слоев (E-ELAN). Эта архитектура позволяет модели непрерывно изучать более разнообразные признаки. Кроме того, YOLOv7 использует «обучаемые бесплатные приемы» (trainable bag-of-freebies) — такие методы, как запланированные репараметризованные свертки и динамическое присвоение меток. Эти методы повышают точность модели во время обучения без увеличения затрат на инференс при развертывании.

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

YOLOv7 высоко оптимизирован для обработки в реальном времени на периферийных устройствах и остается основным элементом в устаревших системах и старых средах CUDA. Его основным ограничением сегодня является больший размер параметров по сравнению с новыми моделями. Как показано в таблице производительности, достижение высочайшей точности требует использования тяжелой модели YOLOv7x, которая требует значительно больше памяти GPU, чем эквивалентные современные архитектуры.

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

Преимущества Ultralytics: Оптимизированное развертывание

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

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

Обеспечение перспективности с YOLO26

Если вы начинаете новый проект компьютерного зрения, мы настоятельно рекомендуем изучить недавно выпущенную YOLO26 вместо YOLOv9 и YOLOv7. Выпущенная как новый передовой стандарт, YOLO26 приносит новаторские достижения:

  • Сквозная архитектура без NMS: Устраняет постобработку подавления немаксимумов, значительно снижая сложность и задержку развертывания.
  • До 43% более быстрый инференс на CPU: Оптимизированный для сред периферийных вычислений, он обеспечивает бесперебойную работу вашего приложения даже без выделенных GPU.
  • Оптимизатор MuSGD: Гибридный оптимизатор, вдохновленный обучением LLM, обеспечивающий высокостабильную сходимость и сокращающий время обучения.
  • Удаление DFL: Упрощенный экспорт модели за счет удаления Distribution Focal Loss, повышающий совместимость с маломощными мобильными устройствами.
  • ProgLoss + STAL: Значительно улучшает производительность в detect мелких объектов, делая его лучшим выбором для аэрофотосъемки и наблюдения.

Среди других популярных альтернатив в экосистеме — Ultralytics YOLOv8 и YOLO11, обе из которых предлагают огромную универсальность для таких задач, как instance segmentation и pose estimation.

Пример реализации

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

from ultralytics import YOLO

# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt")  # Swap with "yolo26n.pt" for faster edge performance

# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)

# Export the trained model to ONNX format for deployment
model.export(format="onnx")

Требования к памяти

При обучении на потребительском оборудовании эффективность использования памяти имеет решающее значение. Реализации Ultralytics для YOLOv9 и YOLO26 значительно оптимизированы для снижения пиков потребления VRAM, в отличие от моделей на основе трансформеров (таких как RT-DETR), которые часто страдают от значительного разрастания памяти во время обучения.

Реальные приложения и идеальные сценарии использования

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

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

Когда использовать YOLOv7: YOLOv7 остается сильным кандидатом для устаревших конвейеров развертывания. Если вы интегрируете его в старые аппаратные системы (например, определенные поколения Google Coral Edge TPU), простая архитектура CNN YOLOv7 может быть легче скомпилирована, чем более сложные градиентные ветви новых моделей.

Когда использовать YOLO26 (Рекомендуется): Для любого современного развертывания — от автономных дронов до управления дорожным движением в умном городе — YOLO26 является превосходным выбором. Его архитектура без NMS гарантирует детерминированное время инференции, что крайне важно для критически важной для безопасности робототехники, а его высокая точность превосходит как YOLOv9, так и YOLOv7 по всем параметрам.


Комментарии