EfficientDet против YOLOv9: архитектура, производительность и развертывание на границе сети

Ландшафт компьютерного зрения формируется благодаря постоянным прорывам в проектировании нейронных сетей. Поиск правильного баланса между вычислительной эффективностью и точностью обнаружения критически важен при выборе модели. Google EfficientDet задала прочную основу в 2019 году, представив масштабируемые архитектуры, в то время как YOLOv9, выпущенная в 2024 году, расширила границы обнаружения объектов с помощью программируемой градиентной информации (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
  • Организация: Institute of Information Science, Academia Sinica
  • Дата: 21 февраля 2024 г.
  • Ссылки: Arxiv, GitHub, Docs

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

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

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(М)
FLOPs
(Б)
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.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

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

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

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

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

Варианты использования и рекомендации

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

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

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

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

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

YOLOv9 рекомендуется для:

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

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

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

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

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

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

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

Технические особенности YOLO26

  • Комплексный дизайн без NMS: YOLO26 полностью устраняет узкие места постобработки. Благодаря исключению подавления немаксимумов графы развертывания становятся унифицированными и по своей сути быстрее работают на граничных ИИ-чипах.
  • До 43% более быстрый вывод на CPU: Оптимизирована для встроенных устройств, что делает ее существенно быстрее, чем YOLOv9 и EfficientDet, когда GPU недоступны.
  • Оптимизатор MuSGD: Интегрируя инновации LLM в ИИ зрения, этот гибридный оптимизатор стабилизирует процесс обучения, позволяя моделям сходиться быстрее при меньших ресурсах.
  • Низкие требования к памяти: В отличие от архитектур с большим количеством трансформеров или неоптимизированных CNN, YOLO26 минимизирует потребление памяти CUDA во время обучения, позволяя тебе использовать большие размеры пакетов на оборудовании потребительского уровня.
  • ProgLoss + STAL: Превосходный дизайн функции потерь значительно повышает точность обнаружения мелких объектов, что делает YOLO26 идеальной для аэрофотосъемки и сетей IoT.
  • Удаление DFL: Упрощенный структурный дизайн позволяет легко преобразовывать модель в мобильные форматы развертывания.

Узнай больше о YOLO26

Другие надежные варианты в экосистеме 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) делают ее лучшим вариантом для анализа дорожного движения в умных городах, мониторинга запасов в розничной торговле и инспекций с помощью дронов, предлагая непревзойденный баланс высокой точности и скорости вывода.

Комментарии