Ultralytics YOLO27:

Сравнение EfficientDet и YOLOv9#

Ландшафт компьютерного зрения формировался благодаря постоянным прорывам в разработке нейронных сетей. При выборе модели крайне важно найти правильный баланс между вычислительной эффективностью и точностью обнаружения. Google EfficientDet задал высокую планку в 2019 году, представив масштабируемые архитектуры, а выпущенная в 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
  • Организация: Institute of Information Science, 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.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: систем, тесно интегрированных с Google Cloud Vision API или инфраструктурой TPU, где EfficientDet имеет нативную оптимизацию.
  • Исследований составного масштабирования: академических бенчмарков, посвящённых изучению влияния сбалансированного масштабирования глубины, ширины и разрешения сети.
  • Мобильного развертывания через TFLite: проектов, которым необходим экспорт в TensorFlow Lite для Android или встраиваемых устройств под управлением Linux.

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

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

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

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

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

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

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

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

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

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

  • Сквозная архитектура без NMS: YOLO26 полностью устраняет узкие места постобработки. Благодаря отказу от подавления немаксимумов графы развертывания унифицируются и работают быстрее на периферийных AI-чипах.
  • До 43% более быстрый вывод на CPU: Модель тщательно оптимизирована для встраиваемых устройств, что делает ее значительно быстрее YOLOv9 и EfficientDet при отсутствии GPU.
  • Оптимизатор MuSGD: Этот гибридный оптимизатор интегрирует инновации LLM в AI для компьютерного зрения, стабилизирует процессы обучения и позволяет моделям быстрее сходиться при меньших затратах ресурсов.
  • Низкие требования к памяти: В отличие от архитектур с большим количеством 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) делают ее превосходным вариантом для анализа городского трафика, мониторинга товарных запасов в розничной торговле и инспекций с помощью дронов, обеспечивая непревзойденный баланс высокой точности и быстрого вывода.
Участники

Комментарии