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

EfficientDet противYOLO: подробное исследование эволюции обнаружения объектов

В динамичном мире компьютерного зрения поиск оптимального баланса между точностью и задержкой стимулирует постоянные инновации. Две архитектуры, которые определили свои эпохи, — это EfficientDet Google и YOLO от Alibaba. В то время как EfficientDet представил принципиальный подход к масштабированию моделей,YOLO границы производительности в реальном времени с помощью Neural Architecture Search (NAS).

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

Обзор EfficientDet

Выпущенный в конце 2019 года, EfficientDet ознаменовал смену парадигмы в масштабировании моделей обнаружения объектов. До его выпуска масштабирование часто осуществлялось произвольно. Команда Google представила метод комбинированного масштабирования, который равномерно масштабирует разрешение, глубину и ширину, что привело к появлению семейства моделей (D0-D7), отвечающих различным ограничениям по ресурсам.

Авторы: Минсин Тан, Руоминг Панг и Куок В. Ле
Организация:Google
Дата: 20 ноября 2019 г.
Arxiv:EfficientDet Статья
GitHub:google

Ключевые архитектурные особенности

  • BiFPN (взвешенная двунаправленная пирамидальная сеть): в отличие от традиционных FPN, BiFPN позволяет осуществлять многомасштабное слияние признаков по принципу «сверху вниз» и «снизу вверх». Она вводит обучаемые веса для различных входных признаков, признавая, что не все признаки в равной степени влияют на выходные данные.
  • Комбинированное масштабирование: единый коэффициент $\phi$ контролирует ширину, глубину и разрешение сети, обеспечивая гармоничное масштабирование магистрали, сети признаков и головок прогнозирования.
  • EfficientNet Backbone: Использование EfficientNet в качестве основы позволяет добиться высокой эффективности параметров за счет использования слоев мобильной инвертированной свертки с узким горлышком (MBConv).

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

Обзор DAMO-YOLO

YOLO, разработанный Alibaba Group в 2022 году, был создан с упором на промышленные приложения, где задержка имеет первостепенное значение. Он отходит от ручного проектирования архитектуры, используя NAS для поиска эффективных структур, адаптированных для высокопроизводительного вывода.

Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сюю Сунь
Организация:Alibaba Group
Дата: 23 ноября 2022 г.
Arxiv:YOLO
GitHub:YOLO

Ключевые архитектурные инновации

  • MAE-NAS Backbone: Используя метод, называемый Method-Aware Efficiency Neural Architecture Search,YOLO базовые структуры, специально оптимизированные для скорости вывода, которые значительно отличаются от вручную разработанной CSPNet, используемой в YOLOv5 или YOLOv8.
  • RepGFPN: эффективная обобщенная FPN, которая использует перепараметризацию (в стиле RepVGG) для объединения признаков, сокращая задержку во время вывода и сохраняя высокую выразительность признаков во время обучения.
  • ZeroHead: легкая головка обнаружения, которая значительно снижает вычислительную нагрузку по сравнению с развязанными головками, используемыми в более ранних моделях.
  • AlignedOTA: Улучшенная стратегия назначения меток, которая решает проблему рассогласования между задачами классификации и регрессии во время обучения.

Узнайте больше о DAMO-YOLO

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

В следующей таблице сравниваются характеристики EfficientDet иYOLO различных масштабов моделей. EfficientDet предлагает широкий диапазон размеров (до D7 для задач с высоким разрешением), аYOLO на «зоне оптимальной производительности» с задержкой в реальном времени (T/S/M/L).

Модельразмер
(пиксели)
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
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Анализ

  • Задержка против точности: YOLO превосходную эффективность на GPU . Например, DAMO-YOLOs достигает 46,0 mAP с помощью 3,45 мс задержка на GPU процессоре T4. В отличие от этого, EfficientDet-d3 достигает немного более высокого 47,5 mAP но ценой 19,59 мс— почти в 5,5 раз медленнее.
  • Старение архитектуры: EfficientDet в значительной степени зависит от разделяемых по глубине сверток. Несмотря на эффективность параметров, эти операции часто ограничены памятью на современных графических процессорах, что приводит к более низкой эффективности использования по сравнению с плотными свертками, оптимизированными в структуре NASYOLO.
  • Вычислительные требования: EfficientDet-d7 требует огромных вычислительных ресурсов (325 ГФЛОП) для незначительного повышения точности (53,7 mAP), что затрудняет его развертывание на периферийных устройствах.

Обучение и экосистема

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

Экосистема EfficientDet

EfficientDet глубоко укоренился в экосистеме Google и TensorFlow. Несмотря на свою мощность, пользователи часто сталкиваются со следующими проблемами:

  • Сложность зависимостей: переход между версиями TensorFlow .x и 2.x может быть сложной задачей.
  • Ограничения статического графа: экспорт моделей в ONNX TensorRT требует сложных скриптов преобразования, которые могут не поддерживать все операции BiFPN в исходном виде.

YOLO

YOLO PyTorch, который в целом более гибкий для исследований. Однако:

  • Специализация: в первую очередь это хранилище исследований. Хотя оно отлично подходит для конкретных задач обнаружения, ему не хватает широкой «готовой» полезности для других задач, таких как сегментация или оценка позы.
  • Зависимость от дистилляции: для достижения максимальной производительностиYOLO использует дистилляцию из более крупных моделей, что усложняет процесс обучения.

Важность экосистемы

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

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

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

Почему стоит перейти на YOLO26?

YOLO26 устраняет недостатки предыдущих архитектур благодаря нескольким революционным функциям:

  1. Сквозной дизайн NMS: в отличие от EfficientDet иYOLO, которые требуют постобработки с помощью Non-Maximum Suppression (NMS), YOLO26 изначально является сквозным. Это устраняет основное препятствие в процессе развертывания, снижая изменчивость задержки и упрощая экспорт в такие форматы, как CoreML TensorRT.
  2. Оптимизатор MuSGD: вдохновленный стабильностью обучения LLM, новый оптимизатор MuSGD (гибрид SGD Muon) обеспечивает более быструю конвергенцию и более стабильное обучение даже на небольших наборах данных.
  3. ProgLoss + STAL: Новые функции потерь (ProgLoss и Soft-Target Assignment Loss) обеспечивают значительное улучшение в обнаружении мелких объектов, что традиционно является слабым местом моделей без якорей.
  4. ОптимизацияCPU периферийных устройств: благодаря удалению DFL (Distribution Focal Loss) и оптимизации архитектуры YOLO26 обеспечивает на 43 % более быстрое CPU , что делает его лучшим выбором для Raspberry Pi и мобильных устройств.

Краткое сравнение

ФункциональностьEfficientDetDAMO-YOLOUltralytics YOLO26
АрхитектураBiFPN + масштабирование соединенийNAS + RepGFPNСквозной NMS
ПостобработкаNMSNMSНет (от начала до конца)
Поддержка задачОбнаружениеОбнаружениеdetect, segment, Поза, obb, classify
ПлатформаTensorFlowPyTorchUltralytics Platform
РазвертываниеКомплексУмеренныйОдин клик (10+ форматов)

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

Простота использования и обучения

Одной из отличительных черт Ultralytics является унифицированный API. Независимо от того, обучаете ли вы детектор объектов, модель ориентированной ограничивающей рамки (OBB) или модель оценки позы, код остается неизменным и простым.

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

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train on the COCO8 dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate the model
metrics = model.val()
print(f"mAP50-95: {metrics.box.map}")

Реальные примеры использования

Когда использовать EfficientDet?

EfficientDet остается актуальным в следующих сценариях:

  • Устаревшие Google Pipelines: системы, глубоко интегрированные со старыми API Google Vision или инфраструктурой TPU .
  • Академический бенчмаркинг: в качестве стандартной базы для исследований в области масштабирования соединений.

Когда использоватьYOLO?

YOLO :

  • Строгие ограничения GPU : промышленные производственные линии, где важна каждая миллисекунда, и аппаратное обеспечение закреплено за NVIDIA .
  • Видеоаналитика: обработка видеопотоков с высокой частотой кадров, где пропускная способность (размер пакета 1) является основным показателем.

Когда использовать YOLO26?

YOLO26 — рекомендуемое решение для:

  • Edge AI: развертывание на мобильных телефонах, дронах или устройствах IoT, где вывод NMS упрощает логику приложения, а CPU имеет решающее значение.
  • Многозадачные приложения: проекты, требующие сегментации экземпляров или оценки позы наряду с обнаружением в рамках одной кодовой базы.
  • Быстрое развитие: команды, которым необходимо перейти от сбора данных на Ultralytics к развертыванию за считанные часы, а не недели.

Заключение

В то время как EfficientDet научил нас важности масштабирования, аYOLO мощь NAS, Ultralytics синтезирует эти уроки в готовую к производству мощную систему. Благодаря своей конструкцииNMS, универсальности в выполнении задач и хорошо поддерживаемой экосистеме, YOLO26 предлагает современным разработчикам самый надежный путь к успеху в области компьютерного зрения.

Для более подробного изучения архитектур моделей рекомендуем ознакомиться со сравнением с YOLOv10 или RT-DETR, в которых также рассматриваются инновации на основе трансформаторов.


Комментарии