YOLOv10 и EfficientDet#
Выбор оптимальной нейронной сети для обнаружения объектов — важное решение, от которого зависит успех современных систем компьютерного зрения. Среди архитектур, оказавших значительное влияние на эту область, — YOLOv10 и EfficientDet. Обе модели стремятся повысить точность и снизить вычислительные затраты, но для этого используют совершенно разные архитектурные подходы.
В этом подробном руководстве рассматриваются особенности архитектуры, методы обучения и характеристики развертывания этих моделей. Руководство поможет разработчикам и ML-инженерам принимать решения на основе данных при выборе моделей для задач компьютерного зрения на базе ИИ. Мы сравним их производительность на оборудовании — от встраиваемых периферийных устройств для ИИ до мощных облачных GPU.
YOLOv10: первопроходец в области моделей без NMS#
YOLOv10 разработали, чтобы уменьшить задержку при инференсе в реальном времени. Модель устранила одно из самых устойчивых узких мест семейства YOLO: подавление немаксимумов (NMS). Благодаря отказу от этого шага постобработки модель обеспечивает предсказуемую задержку, что крайне важно для автономных транспортных средств и высокоскоростных робототехнических систем.
Архитектурные инновации#
YOLOv10 использует согласованное двойное назначение для обучения без NMS. Во время обучения модель задействует назначение меток по схемам «один ко многим» и «один к одному». Это позволяет сети формировать насыщенные представления и при инференсе сразу выдавать одну оптимальную ограничивающую рамку для каждого объекта. Архитектура также использует целостный подход к проектированию с учетом эффективности и точности: упрощает голову классификации и сокращает избыточные вычисления, характерные для предыдущих версий.
Сведения о модели#
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- Статья: YOLOv10: сквозное обнаружение объектов в реальном времени
- GitHub: THU-MIG/yolov10
- Документация: Документация YOLOv10
Поскольку YOLOv10 не использует этап NMS, модель проще экспортировать в такие форматы, как ONNX и NVIDIA TensorRT, без специальных плагинов среды выполнения для фильтрации ограничивающих рамок.
Преимущества:
- Предсказуемый инференс: Отказ от NMS обеспечивает стабильное время инференса независимо от количества объектов в сцене.
- Меньшее потребление памяти: По сравнению с моделями на базе Transformer, такими как RT-DETR, YOLOv10 требует значительно меньше памяти как при обучении, так и при инференсе.
- Отличный баланс скорости и точности: Модель специально оптимизирована для сценариев с низкой задержкой без ущерба для метрик производительности.
Недостатки:
- Только одна задача: В отличие от более широкой экосистемы Ultralytics, исходный репозиторий YOLOv10 ориентирован исключительно на обнаружение объектов и не поддерживает нативно сегментацию экземпляров или оценку позы.
EfficientDet: масштабируемость и сбалансированность#
EfficientDet, разработанная Google Brain, использует системный подход к масштабированию сети для обнаружения объектов. В основе модели лежит магистраль EfficientNet для классификации изображений, дополненная новым механизмом объединения признаков.
Архитектурные инновации#
Основа EfficientDet — двунаправленная пирамидальная сеть признаков (BiFPN), которая обеспечивает простое и быстрое объединение признаков разных масштабов. В отличие от традиционных FPN, которые лишь суммируют признаки при движении сверху вниз, BiFPN добавляет двунаправленные межмасштабные связи и обучаемые веса, позволяющие определять важность разных входных признаков. Кроме того, EfficientDet использует метод составного масштабирования, который равномерно изменяет разрешение, глубину и ширину магистрали, сети признаков и сетей предсказания рамок и классов.
Сведения о модели#
- Авторы: 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. Таблица ниже показывает ключевые различия в количестве параметров, операциях с плавающей точкой (FLOPs) и задержке инференса на GPU NVIDIA T4.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 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.3 mAP при задержке TensorRT всего 2.49 мс, тогда как EfficientDet-d3 обеспечивает сопоставимые 47.5 mAP, но тратит почти 20 мс. Поэтому YOLOv10 намного лучше подходит для потоковой передачи видео в реальном времени и производственных конвейеров с быстро движущимися объектами.
Сценарии использования и рекомендации#
Выбор между YOLOv10 и EfficientDet зависит от требований твоего проекта, ограничений среды развертывания и предпочтений в отношении экосистемы.
Когда выбирать YOLOv10#
YOLOv10 — хороший выбор для:
- Детектирование в реальном времени без NMS: Приложения, которым полезно сквозное детектирование без подавления немаксимумов, что упрощает развертывание.
- Сбалансированное соотношение скорости и точности: Проекты, в которых важно найти оптимальный баланс между скоростью инференса и точностью детектирования для моделей разных размеров.
- Приложения с постоянной задержкой: Сценарии развертывания, где важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда стоит выбрать EfficientDet#
EfficientDet подойдёт для следующих задач:
- Google Cloud и конвейеры TPU: Системы, тесно интегрированные с API Google Cloud Vision или инфраструктурой TPU, где EfficientDet оптимизирована изначально.
- Исследования составного масштабирования: Академические исследования и сравнительное тестирование, посвящённые влиянию сбалансированного масштабирования глубины, ширины и разрешения сети.
- Развертывание на мобильных устройствах через LiteRT: Проекты, для которых требуется экспорт в LiteRT (ранее TensorFlow Lite) для Android или встраиваемых устройств с Linux.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Современный стандарт: встречай Ultralytics YOLO26#
YOLOv10 представила революционный подход без NMS, а EfficientDet продемонстрировала обоснованное масштабирование. Тем временем компьютерное зрение продолжает развиваться. Разработчикам, которые начинают новые проекты сегодня, мы рекомендуем Ultralytics YOLO26 — бесспорную передовую модель. Выпущенная в январе 2026 года, она объединяет лучшие решения в готовом к промышленному использованию пакете на платформе Ultralytics.
Почему YOLO26 превосходит конкурентов#
- Сквозная архитектура без NMS: YOLO26 предлагает сквозную архитектуру без NMS, впервые реализованную в YOLOv10, в виде необязательной головы «один к одному» (
nms=False). Это упрощает развертывание и ускоряет инференс. - Инференс на CPU до 43% быстрее: 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.
Простота использования с Ultralytics#
Поддерживаемая экосистема Ultralytics обеспечивает комфортную работу разработчиков. Для обучения модели, ее проверки и экспорта в интеграцию с TensorRT достаточно всего нескольких строк кода.
from ultralytics import YOLO
# Загрузи предварительно обученную модель YOLOv10 (или сразу перейди на YOLO26)
model = YOLO("yolov10n.pt")
# Эффективное обучение модели на пользовательском наборе данных
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Выполни инференс и сразу визуализируй результаты
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()
# Экспортируй модель для быстрого развертывания
model.export(format="engine", quantize=16)Заключение#
При сравнении YOLOv10 и EfficientDet выбор во многом зависит от предпочтений в отношении фреймворка и требований к скорости. EfficientDet предлагает структурированный подход к масштабированию моделей в экосистеме TensorFlow. Однако YOLOv10 обеспечивает более высокую производительность в реальном времени, потребляет меньше памяти и проще разворачивается благодаря архитектуре без NMS.
Для оптимального сочетания производительности, простоты использования и универсальности в решении разных задач настоятельно рекомендуем перейти на платформу Ultralytics и использовать YOLO26. Модель развивает инновации YOLOv10, связанные с отказом от NMS, применяет передовые методы обучения, например оптимизатор MuSGD, и входит в надежный фреймворк с открытым исходным кодом, который поддерживает огромное мировое сообщество.