Ultralytics YOLO27:
Get Started

EfficientDet и YOLOv9#

Развитие компьютерного зрения определяют непрерывные прорывы в проектировании нейронных сетей. При выборе модели крайне важно найти баланс между вычислительной эффективностью и точностью обнаружения. В 2019 году EfficientDet от Google задала высокую планку, представив масштабируемые архитектуры, а выпущенная в 2024 году YOLOv9 расширила возможности обнаружения объектов с помощью программируемой градиентной информации (PGI).

В этом руководстве подробно сравниваются эти две модели и представляется современный фреймворк Ultralytics YOLO26, который предлагает надёжное сквозное решение, оптимизированное для производственной эксплуатации.

Архитектуры моделей и инновации#

Понимание принципов работы EfficientDet и YOLOv9 необходимо, чтобы определить оптимальные сценарии их применения.

EfficientDet: составное масштабирование и BiFPN#

Разработанная Google Research модель EfficientDet ориентирована на систематическое масштабирование и эффективное объединение признаков. В качестве основы она использует EfficientNet и предлагает новую архитектуру сети признаков.

  • Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
  • Организация: Google
  • Дата: 20 ноября 2019 года
  • Ссылки: Arxiv, GitHub

Ключевые особенности архитектуры: EfficientDet активно использует двунаправленную пирамидальную сеть признаков (BiFPN), которая позволяет легко и быстро объединять признаки разных масштабов. Кроме того, в модели применяется метод составного масштабирования, который равномерно изменяет разрешение, глубину и ширину сети. Несмотря на высокую точность для своего времени, EfficientDet сильно зависит от устаревших сред TensorFlow, что усложняет современные конвейеры развертывания.

Подробнее об EfficientDet

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

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

  • Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
  • Организация: Институт информатики, Academia Sinica
  • Дата: 21 февраля 2024 года
  • Ссылки: Arxiv, GitHub, Документация

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

Подробнее о YOLOv9

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5

Критический анализ#

YOLOv9 обеспечивает скачок в скорости на целое поколение. Например, YOLOv9e достигает 55.6% mAP при задержке TensorRT 16.77ms. Для сравнения, EfficientDet-d7 показывает более низкий показатель mAP — 53.7%, а его задержка огромна (128.07ms), что делает развертывание модели для видеопотоков в реальном времени крайне сложным.

Экспорт моделей для производственной среды

Экспорт архитектуры в оптимизированные форматы, такие как TensorRT или OpenVINO, значительно сокращает время инференса по сравнению с запуском исходной модели в PyTorch.

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

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

Когда стоит выбрать EfficientDet#

EfficientDet — хороший выбор для:

  • Google Cloud и конвейеры TPU: Системы, тесно интегрированные с API Google Cloud Vision или инфраструктурой TPU, где EfficientDet оптимизирована изначально.
  • Исследования составного масштабирования: Академические исследования и сравнительное тестирование, посвящённые влиянию сбалансированного масштабирования глубины, ширины и разрешения сети.
  • Развертывание на мобильных устройствах через LiteRT: Проекты, для которых требуется экспорт в LiteRT (ранее TensorFlow Lite) для Android или встраиваемых устройств с Linux.

Когда выбирать YOLOv9#

YOLOv9 рекомендуется для таких задач:

  • Исследование информационного узкого места: Академические проекты, изучающие архитектуры программируемой информации о градиентах (PGI) и обобщённой эффективной сети агрегации слоёв (GELAN).
  • Исследования оптимизации потока градиентов: Работы, посвящённые изучению и устранению потери информации в глубоких слоях сети во время обучения.
  • Сравнительное тестирование точного детектирования: Сценарии, в которых высокая результативность YOLOv9 на тестах COCO нужна в качестве ориентира для сравнения архитектур.

Когда выбирать Ultralytics (YOLO26)#

Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:

  • Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
  • Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
  • Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.

Преимущества Ultralytics: выбор YOLO26#

Хотя YOLOv9 и EfficientDet проложили путь к новым решениям, разработчикам, которым нужна по-настоящему современная и готовая к эксплуатации платформа, стоит рассмотреть модели Ultralytics YOLO, в частности недавно выпущенную YOLO26.

Платформа Ultralytics отличается исключительной простотой использования: она объединяет мощные локальные скрипты обучения с облачным интерфейсом. YOLO26 существенно обновляет архитектуру моделей, делая более старые архитектуры устаревшими для многих коммерческих задач.

Основные технические особенности YOLO26#

  • Сквозная архитектура без NMS: необязательная сквозная голова YOLO26 (nms=False) устраняет узкие места постобработки. Отказ от подавления немаксимумов объединяет графы развертывания и изначально обеспечивает более высокую скорость на периферийных AI-чипах.
  • Инференс на CPU до 43% быстрее: YOLO26 оптимизирована для встраиваемых устройств; YOLO26n на CPU с ONNX работает до 43% быстрее YOLO11n, когда GPU недоступен.
  • Оптимизатор MuSGD: этот гибридный оптимизатор переносит инновации из области LLM в компьютерное зрение и стабилизирует обучение, позволяя моделям быстрее сходиться с меньшими затратами ресурсов.
  • Низкие требования к памяти: в отличие от архитектур с большим количеством Transformer-блоков или неоптимизированных CNN, YOLO26 минимизирует потребление памяти CUDA во время обучения, позволяя использовать большие размеры пакетов на потребительском оборудовании.
  • ProgLoss + STAL: улучшенная функция потерь значительно повышает точность обнаружения небольших объектов, что делает YOLO26 идеальным решением для аэрофотоснимков и сетей IoT.
  • Удаление DFL: упрощенная архитектура обеспечивает беспрепятственное преобразование модели в форматы для развертывания на мобильных устройствах.

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

Упрощенное обучение с помощью Python SDK#

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

from ultralytics import YOLO

# Initialize the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")

# Train with optimized memory usage and built-in augmentations
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate the model's performance easily
metrics = model.val()
print(f"Validation mAP: {metrics.box.map}")

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

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

  • Устаревшие облачные развертывания: EfficientDet была популярна для пакетной обработки в автономном облаке, где требовалась высокая точность, а строгих требований к работе в реальном времени не было.
  • Академические исследования: YOLOv9 по-прежнему представляет интерес для исследователей, изучающих теоретические пределы CNN и анализирующих распространение градиентов по слоям сети.
  • Периферийные вычисления и IoT: в реальных приложениях лидирует YOLO26. Конвейер модели без NMS и поддержка ориентированных ограничивающих рамок (OBB) делают ее оптимальным решением для анализа дорожного движения в умных городах, контроля запасов в рознице и инспекций с помощью дронов, обеспечивая непревзойденный баланс высокой точности и быстрого инференса.
Участники

Комментарии