Ultralytics YOLO27:

YOLOv9 и YOLOv7#

Эволюция обнаружения объектов в реальном времени определялась постоянным стремлением найти баланс между вычислительной эффективностью и высокой точностью. Двумя знаковыми архитектурами на этом пути стали YOLOv9 и YOLOv7, разработанные исследователями из Института информационных наук Академии Синика на Тайване. Если YOLOv7 представила революционные обучаемые «бесплатные улучшения», то более новая YOLOv9 напрямую решает проблему информационных узких мест глубокого обучения.

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

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

При сравнении этих моделей ключевое значение имеют фактическая производительность и эффективность. В таблице ниже приведены средняя точность (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 — Extended Efficient Layer Aggregation Network (E-ELAN). Эта архитектура позволяет модели непрерывно обучаться более разнообразным признакам. Кроме того, YOLOv7 использует «обучаемые бесплатные улучшения» — такие методы, как запланированные свёртки с повторной параметризацией и динамическое назначение меток. Эти методы повышают точность модели во время обучения, не увеличивая вычислительные затраты при выводе в процессе развертывания.

Преимущества и ограничения#

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: значительно повышает производительность при обнаружении небольших объектов, делая модель оптимальным выбором для аэрофотосъёмки и наблюдения.

К другим популярным альтернативам в экосистеме относятся Ultralytics YOLOv8 и YOLO11, которые предлагают широкую универсальность для таких задач, как сегментация экземпляров и оценка позы.

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

Обучать и экспортировать любую из этих архитектур с помощью унифицированного 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")
Требования к памяти

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

Применение в реальных условиях и оптимальные сценарии использования#

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

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

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

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

Комментарии