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

EfficientDet против YOLOv10: Анализ эволюции моделей обнаружения объектов

В быстроразвивающейся области компьютерного зрения выбор правильной архитектуры detect объектов критически важен для баланса между точностью, задержкой и вычислительной эффективностью. Это всеобъемлющее техническое руководство сравнивает две очень влиятельные модели: EfficientDet от Google и YOLOv10 от Университета Цинхуа. Хотя обе модели представляют собой значительные прорывы в detect объектов, они подходят к архитектурному проектированию и оптимизации моделей с совершенно разных точек зрения.

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

EfficientDet: Пионер составного масштабирования

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

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

EfficientDet построен на основе backbone-сети EfficientNet, используя новую двунаправленную пирамидальную сеть признаков (BiFPN). В отличие от традиционных пирамидальных сетей признаков (FPN), которые суммируют признаки без учета их важности, BiFPN использует обучаемые веса для слияния многомасштабных признаков. Это позволяет сети эффективно определять, какие признаки разрешения вносят наибольший вклад в конечное предсказание. Кроме того, EfficientDet использует метод составного масштабирования, который равномерно масштабирует разрешение, глубину и ширину для backbone-сети, сети признаков и сетей предсказания ограничивающих рамок/классов одновременно.

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

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

YOLOv10: Инноватор без NMS

Выпущенный в середине 2024 года, YOLOv10 кардинально изменил парадигму обнаружения объектов в реальном времени, устранив необходимость в подавлении немаксимумов (NMS) на этапе постобработки, что значительно сократило задержку инференса.

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

YOLOv10 представляет согласованную стратегию двойного назначения для обучения без NMS. Используя как назначения меток "один-ко-многим", так и "один-к-одному" во время обучения, сеть учится генерировать уникально соответствующие ограничивающие прямоугольники, не полагаясь на NMS для фильтрации дубликатов. Этот комплексный подход к проектированию модели, ориентированный на эффективность и точность, снижает вычислительную избыточность, делая ее отличным кандидатом для периферийных вычислений и приложений потоковой передачи видео с низкой задержкой. Она легко интегрируется в экосистему Ultralytics, предоставляя разработчикам доступ к чрезвычайно простому API на python.

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

Влияние без NMS

Устраняя шаг NMS, YOLOv10 гарантирует стабильную скорость инференса независимо от количества объектов, обнаруженных в сцене, устраняя скачки задержки, часто наблюдаемые в перегруженных приложениях компьютерного зрения.

Сравнение производительности: точность, скорость и эффективность

При развертывании моделей в реальных сценариях разработчики должны сопоставлять среднюю точность (mAP) с количеством параметров и вычислительными операциями (FLOPs). В таблице ниже подробно описаны эти метрики для различных масштабируемых вариантов обеих моделей.

Модельразмер
(пиксели)
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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Примечание: Вариант YOLOv10n требует значительно меньше параметров (2.3M) и достигает значительно более высоких скоростей TensorRT (1.56 мс) по сравнению с ранними итерациями EfficientDet, что делает его гораздо более пригодным для инференции в реальном времени в продакшене.

Почему стоит выбрать Ultralytics для развертывания моделей?

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

  1. Простота использования: Пакет Ultralytics Python предлагает единый интерфейс для обучения моделей, валидации и экспорта, заменяя сотни строк шаблонного кода лаконичными командами.
  2. Экосистема и универсальность: В то время как EfficientDet сильно специализирован для обнаружения, модели Ultralytics YOLO естественным образом расширяются до сегментации экземпляров, оценки позы, ориентированных ограничивающих рамок (OBB) и классификации.
  3. Эффективность обучения: Используя передовые методы, такие как автоматическое пакетирование (auto-batching) и распределенное обучение, модели Ultralytics обучаются быстрее и потребляют значительно меньше памяти CUDA по сравнению с тяжелыми трансформерными или старыми многоветочными TF-архитектурами.

Пример кода: Обучение YOLOv10

Развертывание YOLOv10 с Ultralytics невероятно просто. Следующий фрагмент кода демонстрирует, как инициализировать, обучить и оценить сеть YOLOv10 полностью в рамках Python API.

from ultralytics import YOLO

# Load a pre-trained YOLOv10 model (nano variant for edge speed)
model = YOLO("yolov10n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)

# Evaluate the model on the validation set
metrics = model.val()

# Export the model to ONNX for production deployment
model.export(format="onnx")

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

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

Когда следует выбирать EfficientDet

EfficientDet является отличным выбором для:

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

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

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

  • Обнаружение в реальном времени без NMS: Приложения, выигрывающие от сквозного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
  • Сбалансированный компромисс между скоростью и точностью: Проекты, требующие оптимального баланса между скоростью инференса и точностью обнаружения для моделей различных масштабов.
  • Приложения с предсказуемой задержкой: Сценарии развертывания, где критически важны предсказуемые времена инференса, например, в робототехнике или автономных системах.

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

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

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

Будущее уже здесь: Представляем Ultralytics YOLO26

Хотя YOLOv10 представила революционный дизайн без NMS, технология развивалась. Выпущенная в январе 2026 года, Ultralytics YOLO26 представляет собой окончательное состояние передовых технологий для ИИ в области зрения. Она объединяет лучшие аспекты предыдущих архитектур — такие как многозадачные возможности YOLO11 и стабильность RT-DETR — в единую, высокооптимизированную мощную систему.

Преимущество YOLO26

Если вы начинаете новый проект, мы настоятельно рекомендуем обновиться до YOLO26. Он предлагает непревзойдённую гибкость и простоту использования через платформу Ultralytics.

Ключевые прорывы в YOLO26:

  • Сквозная архитектура без NMS: Основываясь на принципах, заложенных в YOLOv10, YOLO26 изначально является сквозной (end-to-end) системой, упрощая логику развертывания до минимума.
  • До 43% более быстрая инференция на CPU: Благодаря удалению Distribution Focal Loss (DFL) YOLO26 значительно сокращает вычислительные издержки, что делает его бесспорным лидером для периферийных AI-устройств.
  • Оптимизатор MuSGD: YOLO26 заимствует инновации из обучения больших языковых моделей (LLM). Объединяя стабильность SGD со скоростью Muon, он сходится быстрее и надежнее, чем любой предшественник.
  • ProgLoss + STAL: Превосходные формулировки функций потерь эффективно решают давние проблемы с detect мелких объектов, область, в которой EfficientDet традиционно испытывал трудности.

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

Заключение: Сопоставление моделей с вариантами использования

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

  • EfficientDet остается предметом академического интереса в отношении комбинированного масштабирования и подходит для исследователей, поддерживающих существующие системы TensorFlow, где размер весов модели (на диске) более критичен, чем скорость выполнения.
  • YOLOv10 феноменально подходит для приложений, требующих сверхнизкой задержки, таких как высокоскоростной track нескольких объектов и мониторинг трафика, благодаря своей новаторской архитектуре без NMS.
  • YOLO26, однако, является окончательной рекомендацией для современных проектов компьютерного зрения, предлагая абсолютно высочайший баланс производительности точности, минимального потребления памяти и многозадачной универсальности, поддерживаемой надежной экосистемой Ultralytics.

Комментарии