EfficientDet против YOLOv10: анализ эволюции моделей обнаружения объектов
В быстро развивающейся области computer vision выбор правильной архитектуры обнаружения объектов имеет решающее значение для баланса между точностью, задержкой и вычислительной эффективностью. В этом подробном техническом руководстве сравниваются две крайне влиятельные модели: EfficientDet от Google и YOLOv10 от Университета Цинхуа. Несмотря на то что обе модели представляют собой значительный скачок в обнаружении объектов, они подходят к проектированию архитектуры и model optimization с совершенно разных сторон.
Мы изучим их основные архитектуры, рассмотрим показатели производительности на standard datasets like COCO и обсудим, как они интегрируются в современные конвейеры машинного обучения, особо выделив преимущества комплексной Ultralytics ecosystem.
EfficientDet: первопроходец составного масштабирования
Представленная в конце 2019 года, EfficientDet установила новый стандарт для масштабируемого и высокоточного обнаружения объектов, внедрив принципиальный подход к масштабированию параметров сети.
Ключевые инновации и архитектура
- Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
- Организация: Google Brain
- Дата: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: EfficientDet Repository
EfficientDet построена на базе EfficientNet и использует инновационную двунаправленную пирамидальную сеть признаков (BiFPN). В отличие от традиционных Feature Pyramid Networks (FPN), которые суммируют признаки без учета их важности, BiFPN применяет обучаемые веса для объединения признаков разных масштабов. Это позволяет сети эффективно определять, какие признаки с каким разрешением вносят наибольший вклад в итоговый прогноз. Более того, EfficientDet использует метод составного масштабирования, который одновременно и равномерно масштабирует разрешение, глубину и ширину для основной сети, сети признаков и сетей предсказания рамок/классов.
Хотя EfficientDet остается надежным выбором для устаревших систем, глубоко интегрированных со старыми конвейерами TensorFlow, она требует значительных memory requirements во время обучения и опирается на более старую экосистему, которая может быть громоздкой по сравнению с современными динамическими фреймворками.
YOLOv10: инноватор без использования NMS
Выпущенная в середине 2024 года, YOLOv10 фундаментально изменила парадигму обнаружения объектов в реальном времени, устранив необходимость в подавлении немаксимумов (NMS) при постобработке, что значительно снижает inference latency.
Ключевые инновации и архитектура
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Tsinghua University
- Дата: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: Репозиторий YOLOv10
YOLOv10 представляет последовательную стратегию двойного присвоения для обучения без NMS. Используя как «один-ко-многим», так и «один-к-одному» присвоение меток во время обучения, сеть учится создавать уникальные ограничивающие рамки, не полагаясь на NMS для фильтрации дубликатов. Этот целостный дизайн модели, ориентированный на эффективность и точность, уменьшает вычислительную избыточность, что делает ее отличным кандидатом для edge computing и приложений для потоковой передачи видео с низкой задержкой. Она легко интегрируется в экосистему Ultralytics, предоставляя разработчикам доступ к чрезвычайно простому API на Python.
Устраняя шаг NMS, YOLOv10 гарантирует стабильную скорость вывода независимо от количества объектов, обнаруженных в сцене, исключая скачки задержки, часто наблюдаемые в загруженных computer vision applications.
Сравнение производительности: точность, скорость и эффективность
При развертывании моделей в реальных сценариях разработчики должны сопоставлять mean Average Precision (mAP) с количеством параметров и вычислительными операциями (FLOPs). В приведенной ниже таблице подробно описаны эти показатели для масштабируемых вариантов обеих моделей.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Примечание: Вариант YOLOv10n требует значительно меньше параметров (2,3 млн) и достигает гораздо более высокой скорости TensorRT (1,56 мс) по сравнению с ранними итерациями EfficientDet, что делает его гораздо более подходящим для real-time inference в производстве.
Почему стоит выбрать Ultralytics для развертывания моделей?
Хотя обе модели имеют историческое и структурное значение, интеграция их в современные конвейеры может быть сложной задачей. Именно здесь сияет Ultralytics Platform. Предоставляя единую экосистему, Ultralytics упрощает весь жизненный цикл — от data annotation до развертывания.
- Простота использования: пакет Ultralytics для Python предлагает единый интерфейс для model training, validation и экспорта, заменяя сотни строк шаблонного кода лаконичными командами.
- Экосистема и универсальность: в то время как EfficientDet узко специализирована для обнаружения, модели Ultralytics YOLO естественным образом расширяются до Instance Segmentation, Pose Estimation, Oriented Bounding Boxes (OBB) и классификации.
- Эффективность обучения: используя передовые методы, такие как автоматическая пакетная обработка и распределенное обучение, модели 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. Она предлагает непревзойденную гибкость и простоту использования через Ultralytics Platform.
Ключевые прорывы в YOLO26:
- Комплексный дизайн без NMS: основываясь на фундаменте YOLOv10, YOLO26 изначально является сквозным решением, упрощающим логику развертывания до минимума.
- До 43% быстрее вывод на CPU: благодаря удалению Distribution Focal Loss (DFL), YOLO26 значительно снижает вычислительные затраты, что делает ее безоговорочным лидером для edge AI devices.
- Оптимизатор MuSGD: YOLO26 заимствует инновации из обучения больших языковых моделей (LLM). Объединяя стабильность SGD со скоростью Muon, она сходится быстрее и надежнее, чем любой предшественник.
- ProgLoss + STAL: превосходные формулировки функции потерь эффективно решают давние проблемы с обнаружением мелких объектов, область, в которой EfficientDet традиционно испытывала трудности.
Заключение: подбор моделей под задачи
Выбор между этими сетями в конечном итоге зависит от твоих ограничений при развертывании:
- EfficientDet остается предметом академического интереса в отношении составного масштабирования и подходит для исследователей, поддерживающих существующие системы TensorFlow, где размер весов модели (на диске) важнее, чем скорость выполнения.
- YOLOv10 феноменальна для приложений, требующих сверхнизкой задержки, таких как высокоскоростное multi-object tracking и мониторинг трафика, благодаря своей передовой архитектуре без NMS.
- YOLO26, однако, является лучшей рекомендацией для современных computer vision projects, предлагая абсолютно лучший Performance Balance между точностью, минимальным потреблением памяти и многозадачностью, поддерживаемой надежной экосистемой Ultralytics.