YOLOv10 и EfficientDet#
Выбор оптимальной нейронной сети для обнаружения объектов — критически важное решение, определяющее успех современных систем компьютерного зрения. Две заметные архитектуры, оказавшие значительное влияние на эту область, — YOLOv10 и EfficientDet. Хотя обе они стремятся повысить точность при минимальных вычислительных затратах, для достижения этих целей они используют совершенно разные архитектурные подходы.
Это подробное руководство рассматривает их уникальные архитектуры, методики обучения и особенности развертывания, помогая разработчикам и ML-инженерам принимать решения на основе данных для приложений компьютерного зрения. Мы изучим их производительность на оборудовании — от встраиваемых периферийных AI-устройств до мощных облачных GPU.
YOLOv10: первопроходец без NMS#
Разработанная для минимизации задержки в режиме реального времени, YOLOv10 устраняет одно из самых устойчивых узких мест семейства YOLO: подавление немаксимумов (NMS). Благодаря исключению этого этапа постобработки модель обеспечивает высокопредсказуемую задержку, что критически важно для автономных транспортных средств и высокоскоростной робототехники.
Архитектурные инновации#
YOLOv10 вводит согласованные двойные назначения для обучения без NMS. Во время обучения она использует назначения меток «один-ко-многим» и «один-к-одному», позволяя сети изучать богатые представления и одновременно естественным образом выдавать один наиболее подходящий BBox для каждого объекта во время инференса. Архитектура также включает целостный дизайн, ориентированный на эффективность и точность, упрощая голову классификации и сокращая вычислительную избыточность, присутствовавшую в предыдущих версиях.
Сведения о модели#
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- Статья: YOLOv10: обнаружение объектов в реальном времени от начала до конца
- GitHub: THU-MIG/yolov10
- Документация: Документация YOLOv10
Поскольку YOLOv10 исключает этап NMS, ее проще экспортировать в такие форматы, как формат ONNX и NVIDIA TensorRT, без зависимости от пользовательских подключаемых модулей среды выполнения для фильтрации BBox.
Преимущества:
- Предсказуемый инференс: исключение NMS обеспечивает стабильное время инференса независимо от количества объектов в сцене.
- Меньшее потребление памяти: по сравнению с моделями на основе Transformer, такими как RT-DETR, YOLOv10 требует значительно меньше памяти как во время обучения, так и во время инференса.
- Отличный компромисс между скоростью и точностью: модель специально оптимизирована для сценариев с низкой задержкой без ущерба для метрик производительности.
Недостатки:
- Фокус на одной задаче: в отличие от более широкой экосистемы Ultralytics, исходный репозиторий YOLOv10 ориентирован преимущественно на обнаружение объектов и не поддерживает изначально сегментацию экземпляров или оценку позы.
EfficientDet: масштабируемость и сбалансированность#
Представленная Google Brain, EfficientDet подходит к обнаружению объектов с точки зрения систематического масштабирования сети. Она основывается на магистральной сети EfficientNet для классификации изображений и вводит новый механизм объединения признаков.
Архитектурные инновации#
В основе EfficientDet лежит двунаправленная сеть пирамиды признаков (BiFPN), обеспечивающая простое и быстрое объединение признаков разных масштабов. В отличие от традиционных FPN, которые суммируют признаки только сверху вниз, BiFPN вводит двунаправленные межмасштабные связи и обучаемые веса, чтобы изучать важность различных входных признаков. Кроме того, EfficientDet использует метод составного масштабирования, который равномерно изменяет разрешение, глубину и ширину всех сетей магистральной, признаковой и отвечающей за предсказание BBox и классов.
Сведения о модели#
- Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
- Организация: Google Brain
- Дата: 20.11.2019
- Статья: EfficientDet: масштабируемое и эффективное обнаружение объектов
- GitHub: Google AutoML EfficientDet
Преимущества:
- Высокая эффективность: отличное соотношение количества параметров и точности, благодаря чему небольшие варианты от
-d0до-d2отличаются очень малым размером. - Обоснованное масштабирование: составное масштабирование позволяет легко выбрать размер модели, соответствующий конкретному вычислительному бюджету.
Недостатки:
- Интеграция с устаревшими фреймворками: исходная реализация в значительной степени зависит от старых версий TensorFlow, что может усложнять современные конвейеры развертывания.
- Медленное обучение: обучение EfficientDet с нуля общеизвестно занимает много времени и требует тщательной настройки гиперпараметров по сравнению с быстрым схождением архитектур YOLO.
- Скорость инференса: несмотря на эффективное использование параметров, сложные операции BiFPN часто приводят к более низкой фактической скорости инференса на стандартном оборудовании по сравнению с высокооптимизированными моделями YOLO.
Производительность и бенчмарки#
Настоящая проверка этих моделей — их эмпирическая производительность на стандартных бенчмарках, таких как датасет COCO. В таблице ниже показаны ключевые различия в количестве параметров, операциях с плавающей точкой (FLOPs) и задержке инференса на GPU NVIDIA T4.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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: приложений, которым полезно сквозное обнаружение без подавления немаксимумов, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: проектов, требующих удачного баланса между скоростью инференса и точностью обнаружения для моделей разных размеров.
- Приложений со стабильной задержкой: сценариев развертывания, где критически важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда стоит выбрать EfficientDet#
EfficientDet рекомендуется для:
- Конвейеров Google Cloud и TPU: систем, тесно интегрированных с Google Cloud Vision API или инфраструктурой TPU, где EfficientDet имеет нативную оптимизацию.
- Исследований составного масштабирования: академических бенчмарков, посвящённых изучению влияния сбалансированного масштабирования глубины, ширины и разрешения сети.
- Мобильного развертывания через TFLite: проектов, которым необходим экспорт в TensorFlow Lite для Android или встраиваемых устройств под управлением Linux.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на 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 без проблем работает с ориентированными BBox, классификацией изображений и сегментацией экземпляров, используя один и тот же интуитивно понятный пакет Ultralytics для Python.
Удобство использования с 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", quantize=16)Заключение#
При сравнении YOLOv10 и EfficientDet выбор во многом зависит от предпочтений в отношении фреймворка и требований к скорости. EfficientDet предлагает структурированный подход к масштабированию моделей в экосистеме TensorFlow. Однако YOLOv10 обеспечивает более высокую производительность в реальном времени, меньшее потребление памяти и более простой путь развертывания благодаря архитектуре без NMS.
Для достижения оптимального баланса производительности, удобства использования и универсальности в работе с несколькими задачами настоятельно рекомендуется перейти на Ultralytics Platform и использовать YOLO26. Она использует инновации YOLOv10 в области архитектур без NMS, применяет передовые методы обучения, такие как оптимизатор MuSGD, и объединяет их в надежном фреймворке с открытым исходным кодом, который поддерживает огромное мировое сообщество.