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

В быстро развивающейся области computer vision выбор правильной архитектуры обнаружения объектов имеет решающее значение для баланса между точностью, задержкой и вычислительной эффективностью. В этом подробном техническом руководстве сравниваются две крайне влиятельные модели: EfficientDet от Google и YOLOv10 от Университета Цинхуа. Несмотря на то что обе модели представляют собой значительный скачок в обнаружении объектов, они подходят к проектированию архитектуры и model optimization с совершенно разных сторон.

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

EfficientDet: первопроходец составного масштабирования

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

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

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

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

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

YOLOv10: инноватор без использования NMS

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

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

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

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

Влияние отсутствия NMS

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

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

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

Модельразмер
(пиксели)
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
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,3 млн) и достигает гораздо более высокой скорости TensorRT (1,56 мс) по сравнению с ранними итерациями EfficientDet, что делает его гораздо более подходящим для real-time inference в производстве.

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

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

  1. Простота использования: пакет Ultralytics для Python предлагает единый интерфейс для model training, validation и экспорта, заменяя сотни строк шаблонного кода лаконичными командами.
  2. Экосистема и универсальность: в то время как EfficientDet узко специализирована для обнаружения, модели Ultralytics YOLO естественным образом расширяются до Instance Segmentation, Pose Estimation, Oriented Bounding Boxes (OBB) и классификации.
  3. Эффективность обучения: используя передовые методы, такие как автоматическая пакетная обработка и распределенное обучение, модели Ultralytics обучаются быстрее и потребляют значительно меньше памяти CUDA, чем тяжелые трансформеры или старые многоветвевые архитектуры TF.

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

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

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, что снижает сложность развертывания.
  • Сбалансированные компромиссы скорости и точности: Проекты, требующие хорошего баланса между скоростью вывода и точностью обнаружения для моделей различных масштабов.
  • Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.

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

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

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

Будущее уже здесь: встречай Ultralytics YOLO26

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

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

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

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

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

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

Заключение: подбор моделей под задачи

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

  • EfficientDet остается предметом академического интереса в отношении составного масштабирования и подходит для исследователей, поддерживающих существующие системы TensorFlow, где размер весов модели (на диске) важнее, чем скорость выполнения.
  • YOLOv10 феноменальна для приложений, требующих сверхнизкой задержки, таких как высокоскоростное multi-object tracking и мониторинг трафика, благодаря своей передовой архитектуре без NMS.
  • YOLO26, однако, является лучшей рекомендацией для современных computer vision projects, предлагая абсолютно лучший Performance Balance между точностью, минимальным потреблением памяти и многозадачностью, поддерживаемой надежной экосистемой Ultralytics.

Комментарии