YOLOv10 против EfficientDet: сравнение архитектур обнаружения объектов в реальном времени
Выбор оптимальной нейронной сети для обнаружения объектов — это критически важное решение, определяющее успех современных систем компьютерного зрения. Две заметные архитектуры, которые существенно повлияли на эту область, — это YOLOv10 и EfficientDet. Хотя обе нацелены на максимизацию точности при минимизации вычислительных затрат, они используют принципиально разные архитектурные подходы для достижения этих целей.
Это подробное руководство погружает в их уникальные структуры, методологии обучения и особенности развертывания, помогая разработчикам и ML-инженерам принимать обоснованные решения для приложений Vision AI. Мы рассмотрим, как они работают на оборудовании от встроенных устройств Edge AI до мощных облачных GPU.
YOLOv10: пионер без NMS
Разработанная для расширения границ задержки в реальном времени, YOLOv10 устранила один из самых стойких узких мест в семействе YOLO: не-максимальное подавление (NMS). Исключив этот этап постобработки, модель достигает высокой предсказуемости задержки, что критически важно для автономных транспортных средств и высокоскоростной робототехники.
Архитектурные инновации
YOLOv10 внедряет согласованные двойные назначения для обучения без NMS. В процессе обучения модель использует как one-to-many, так и one-to-one назначения меток, позволяя сети изучать богатые представления, одновременно выдавая один оптимальный ограничивающий прямоугольник (bbox) для каждого объекта во время инференса. Архитектура также включает целостный дизайн, ориентированный на эффективность и точность, оптимизируя классификационную головку и снижая вычислительную избыточность, характерную для предыдущих итераций.
Детали модели
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Tsinghua University
- Дата: 2024-05-23
- Статья: YOLOv10: обнаружение объектов в реальном времени от начала до конца
- GitHub: THU-MIG/yolov10
- Документация: Документация YOLOv10
Поскольку YOLOv10 исключает этап NMS, её по своей сути проще экспортировать в такие форматы, как ONNX format и NVIDIA TensorRT, не полагаясь на пользовательские плагины среды выполнения для фильтрации ограничивающих прямоугольников.
Сильные стороны:
- Предсказуемый инференс: Удаление NMS обеспечивает стабильное время инференса независимо от количества объектов в сцене.
- Более низкое потребление памяти: По сравнению с моделями на основе Transformer, такими как RT-DETR, YOLOv10 требует значительно меньше памяти как во время обучения, так и при инференсе.
- Отличный баланс скорости и точности: Специально оптимизирована для сценариев с низкой задержкой без ущерба для метрик производительности.
Слабые стороны:
- Фокус на одной задаче: В отличие от более широкой экосистемы Ultralytics, оригинальный репозиторий YOLOv10 сильно сфокусирован на обнаружении и не имеет встроенной поддержки сегментации экземпляров или оценки позы.
EfficientDet: масштабируемость и баланс
Представленная Google Brain, EfficientDet подходит к обнаружению объектов с точки зрения систематического масштабирования сети. Она опирается на основу классификации изображений EfficientNet и внедряет новый механизм слияния признаков.
Архитектурные инновации
Основой EfficientDet является Bi-directional Feature Pyramid Network (BiFPN), которая обеспечивает простое и быстрое слияние признаков на разных уровнях масштабирования. В отличие от традиционных FPN, которые суммируют признаки только сверху вниз, BiFPN вводит двунаправленные кросс-масштабные соединения и обучаемые веса для определения важности различных входных признаков. Кроме того, EfficientDet использует метод составного масштабирования, который равномерно масштабирует разрешение, глубину и ширину для всех сетей основы (backbone), сетей признаков и сетей предсказания bbox/класса.
Детали модели
- Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
- Организация: Google Brain
- Дата: 2019-11-20
- Статья: EfficientDet: масштабируемое и эффективное обнаружение объектов
- GitHub: Google AutoML EfficientDet
Сильные стороны:
- Высокая эффективность: Отличное соотношение параметров к точности, что делает меньшие варианты от
-d0до-d2очень легковесными. - Принципиальное масштабирование: Составное масштабирование позволяет легко выбирать размер модели, соответствующий твоему вычислительному бюджету.
Слабые стороны:
- Интеграция с устаревшими фреймворками: Оригинальная реализация сильно зависит от старых версий TensorFlow, что может усложнить современные конвейеры развертывания.
- Более медленное обучение: Обучение EfficientDet с нуля известно своей медлительностью и требует тщательной настройки гиперпараметров по сравнению с быстрой сходимостью архитектур YOLO.
- Скорость инференса: Несмотря на эффективность параметров, сложные операции BiFPN часто приводят к более медленной скорости инференса на стандартном оборудовании по сравнению с высоко оптимизированными моделями YOLO.
Производительность и бенчмарки
Истинная проверка этих моделей заключается в их эмпирической производительности на стандартных бенчмарках, таких как COCO dataset. Таблица ниже иллюстрирует критические различия в количестве параметров, операциях с плавающей запятой (FLOPs) и задержке инференса на NVIDIA T4 GPUs.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
Как показано выше, YOLOv10 сохраняет значительное преимущество в скорости инференса. Например, YOLOv10-S достигает 46.7 mAP при задержке TensorRT всего 2.66 мс, тогда как EfficientDet-d3 достигает схожих 47.5 mAP, но затрачивает почти 20 мс, что делает YOLOv10 значительно более подходящей для потокового видео в реальном времени или высокоскоростных производственных процессов.
Варианты использования и рекомендации
Выбор между YOLOv10 и EfficientDet зависит от требований твоего конкретного проекта, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать YOLOv10
YOLOv10 — хороший выбор для:
- Обнаружение в реальном времени без NMS: Приложения, которые выигрывают от комплексного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированные компромиссы скорости и точности: Проекты, требующие хорошего баланса между скоростью вывода и точностью обнаружения для моделей различных масштабов.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Когда выбирать EfficientDet
EfficientDet рекомендуется для:
- Конвейеров Google Cloud и TPU: Систем, глубоко интегрированных с API Google Cloud Vision или инфраструктурой TPU, где EfficientDet имеет нативную оптимизацию.
- Исследований в области составного масштабирования: Академических бенчмарков, сфокусированных на изучении эффектов сбалансированного масштабирования глубины, ширины и разрешения сети.
- Развертывания на мобильных устройствах через TFLite: Проектов, которые специально требуют экспорта в TensorFlow Lite для Android или встроенных Linux-устройств.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Современный стандарт: встречай Ultralytics YOLO26
Хотя YOLOv10 представила революционную парадигму без NMS, а EfficientDet продемонстрировала принципиальное масштабирование, ландшафт компьютерного зрения продолжает развиваться. Для разработчиков, начинающих новые проекты сегодня, Ultralytics YOLO26 представляет собой бесспорный современный уровень технологий. Выпущенная в январе 2026 года, она объединяет всё лучшее в хорошо отлаженный и готовый к продакшену пакет внутри Ultralytics Platform.
Почему YOLO26 превосходит конкурентов
- Сквозной дизайн без NMS: YOLO26 нативно использует сквозную архитектуру без NMS, впервые примененную в YOLOv10, что упрощает развертывание и ускоряет инференс.
- До 43% быстрее инференс на CPU: Для периферийных устройств, не имеющих специализированных ускорителей, YOLO26 специально оптимизирована для эффективной работы на стандартных CPU.
- Улучшенный оптимизатор MuSGD: Вдохновленная инновациями в обучении LLM, YOLO26 использует гибрид SGD и Muon для невероятно стабильного обучения и быстрой сходимости, что значительно повышает эффективность обучения по сравнению с EfficientDet.
- ProgLoss + STAL: Эти улучшенные функции потерь обеспечивают значительный прирост в распознавании мелких объектов — традиционно слабого места как YOLOv10, так и EfficientDet.
- Удаление DFL: Благодаря удалению Distribution Focal Loss, YOLO26 без проблем экспортируется практически в любой формат оборудования, включая OpenVINO и CoreML.
Более того, YOLO26 обеспечивает непревзойденную универсальность. В то время как EfficientDet и YOLOv10 являются исключительно моделями для обнаружения, YOLO26 легко справляется с ориентированными ограничивающими прямоугольниками, классификацией изображений и сегментацией экземпляров, используя тот же интуитивно понятный Ultralytics Python package.
Простота использования с Ultralytics
Хорошо поддерживаемая экосистема, предоставляемая Ultralytics, обеспечивает удобство для разработчика. Обучение модели, её валидация и экспорт в интеграцию TensorRT занимают всего несколько строк кода.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (or upgrade to YOLO26 natively)
model = YOLO("yolov10n.pt")
# Train the model efficiently on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and immediately visualize results
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()
# Export for rapid deployment
model.export(format="engine", half=True)Заключение
При сравнении YOLOv10 и EfficientDet выбор сильно зависит от предпочтений в фреймворке и ограничений по скорости. EfficientDet предлагает структурированный подход к масштабированию модели в экосистеме TensorFlow. Однако YOLOv10 обеспечивает превосходную производительность в реальном времени, меньшее потребление памяти и более простой путь развертывания благодаря своей архитектуре без NMS.
Для достижения наилучшего баланса производительности, простоты использования и многозадачной универсальности настоятельно рекомендуется перейти на Ultralytics Platform и использовать YOLO26. Она берет инновации YOLOv10 без NMS, применяет передовые методы обучения, такие как оптимизатор MuSGD, и упаковывает всё это в надежный open-source фреймворк, поддерживаемый огромным мировым сообществом.