EfficientDet и YOLOv8#
Область компьютерного зрения постоянно развивается, и новые архитектуры регулярно расширяют границы возможного. Выбор правильной архитектуры нейронной сети крайне важен для достижения баланса между точностью, задержкой и потреблением ресурсов. В этом подробном техническом анализе мы сравним две мощные модели обнаружения объектов: EfficientDet от Google и Ultralytics YOLOv8.
Если ты планируешь развернуть модели на сильно ограниченных в ресурсах устройствах для периферийных вычислений или выполнять крупномасштабную аналитику на облачных серверах, понимание различий между этими моделями поможет сделать оптимальный выбор.
Обзор моделей и их происхождение#
Понимание принципов проектирования каждой модели дает важный контекст для оценки ее характеристик производительности.
EfficientDet: масштабируемая точность#
Разработанная исследователями Google модель EfficientDet была представлена как легко масштабируемая система обнаружения объектов. Ее задача — максимально повысить точность, тщательно контролируя количество операций с плавающей точкой (FLOPs) и параметров.
- Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
- Организация: Google Research
- Дата: 2019-11-20
- Arxiv: 1911.09070
- GitHub: google/automl
В основе EfficientDet лежит EfficientNet; модель также использует двунаправленную пирамидальную сеть признаков (BiFPN). Это позволяет легко и быстро объединять признаки разных масштабов. Кроме того, метод составного масштабирования одновременно и равномерно изменяет разрешение, глубину и ширину базовой сети, сети признаков и сетей предсказания рамок и классов. Несмотря на эффективность, сильная зависимость от экосистемы TensorFlow иногда осложняет развертывание в средах, ориентированных на PyTorch.
Ultralytics YOLOv8: универсальный стандарт#
Выпущенная в начале 2023 года модель Ultralytics YOLOv8 стала поворотным моментом для семейства YOLO: она была разработана не только для обнаружения объектов с помощью ограничивающих рамок, но и как унифицированная система для решения множества задач компьютерного зрения.
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: ultralytics/ultralytics
В YOLOv8 появилась голова обнаружения без якорей, благодаря чему отпала необходимость вручную настраивать якорные рамки на основе распределения данных в наборе. Это значительно упрощает обучение. Архитектура модели включает высокооптимизированный модуль C2f, который улучшает распространение градиента и позволяет модели изучать более разнообразные представления признаков. Важно, что во время обучения YOLOv8 требует гораздо меньше памяти GPU, чем крупные модели на основе Transformer, делая передовые исследования в области AI доступнее.
В отличие от EfficientDet, предназначенной исключительно для работы с ограничивающими рамками, YOLOv8 отличается исключительной универсальностью. Сразу после установки она поддерживает обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB).
Производительность и тесты#
Сравнение этих моделей на стандартных бенчмарках, таких как набор данных COCO, показывает компромисс между скоростью и точностью. В таблице ниже сравнивается семейство EfficientDet (d0–d7) и серия YOLOv8 (n–x).
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Анализ данных#
Данные бенчмарка наглядно показывают баланс производительности, который инженеры Ultralytics закладывают в архитектуры. Хотя EfficientDet-d0 обеспечивает чрезвычайно низкую задержку ONNX на CPU, YOLOv8 лидирует в средах с ускорением на GPU. Модель YOLOv8n выполняет инференс за впечатляющие 1.47 ms на NVIDIA T4 с помощью TensorRT, что делает её несравнимо лучшим вариантом для аналитики видеопотоков в реальном времени.
Кроме того, YOLOv8x обеспечивает самую высокую общую точность — внушительные 53.9 mAP. Она превосходит крупную EfficientDet-d7 и при этом требует значительно меньше FLOPs (257.8B против 325.0B). Такая вычислительная эффективность напрямую снижает требования к памяти и энергозатраты при развертывании в корпоративной среде.
Экосистема и простота использования#
Для многих современных инженерных команд решающее значение имеет не только скорость модели, но и поддерживающая ее экосистема.
Реализация EfficientDet во многом зависит от устаревших библиотек AutoML, что может создавать серьезные трудности при освоении и приводить к нестабильным цепочкам зависимостей для разработчиков, привыкших к современным рабочим процессам PyTorch.
В свою очередь, Ultralytics отличается исключительной простотой использования. Хорошо поддерживаемая экосистема предоставляет единый API Python, значительно упрощающий жизненный цикл машинного обучения. Она легко интегрируется с мощной платформой Ultralytics, которая берет на себя все: от автоматической разметки до облачного обучения и мониторинга в реальном времени.
Пример кода: обучение и инференс с YOLOv8#
Эффективность обучения в экосистеме Ultralytics лучше всего демонстрирует код. Чтобы начать работу, достаточно нескольких строк на Python:
from ultralytics import YOLO
# Загрузи предварительно обученную модель YOLOv8 nano
model = YOLO("yolov8n.pt")
# Обучи модель на датасете COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Выполнить инференс на удаленном изображении
predictions = model("https://ultralytics.com/images/bus.jpg")
# Экспортируй модель в ONNX для развёртывания в production
export_path = model.export(format="onnx")Такой упрощенный подход автоматически обрабатывает загрузку набора данных, аугментацию данных и распределение ресурсов оборудования, позволяя исследователям сосредоточиться на результатах, а не на шаблонном коде.
Сценарии использования и рекомендации#
Выбор между EfficientDet и YOLOv8 зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда стоит выбрать EfficientDet#
EfficientDet — хороший выбор для:
- Google Cloud и конвейеры TPU: Системы, тесно интегрированные с API Google Cloud Vision или инфраструктурой TPU, где EfficientDet оптимизирована изначально.
- Исследования составного масштабирования: Академические исследования и сравнительное тестирование, посвящённые влиянию сбалансированного масштабирования глубины, ширины и разрешения сети.
- Развертывание на мобильных устройствах через LiteRT: Проекты, для которых требуется экспорт в LiteRT (ранее TensorFlow Lite) для Android или встраиваемых устройств с Linux.
Когда выбрать YOLOv8#
YOLOv8 подойдет для:
- Универсальное решение для нескольких задач: проекты, которым нужна проверенная модель для обнаружения объектов, сегментации, классификации и оценки позы в экосистеме Ultralytics.
- Уже работающие системы: существующие промышленные среды, построенные на архитектуре YOLOv8 и использующие стабильные, тщательно проверенные конвейеры развертывания.
- Широкая поддержка сообщества и экосистемы: приложения, которым помогают многочисленные руководства по YOLOv8, сторонние интеграции и активное сообщество.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Что дальше: преимущества YOLO26#
Хотя YOLOv8 — отличная универсальная модель, компьютерное зрение продолжает развиваться. Тем, кто выбирает архитектуру сегодня, настоятельно рекомендуется изучить недавно выпущенную Ultralytics YOLO26, воплощающую передовые достижения в области обнаружения объектов.
Выпущенная в январе 2026 года YOLO26 развивает успех предшественников, включая YOLO11 и YOLOv10, и предлагает революционные возможности:
- Сквозная архитектура без NMS: необязательная голова YOLO26 «один к одному» (
nms=False) избавляет от постобработки с подавлением немаксимумов (NMS), значительно упрощая логику развертывания и уменьшая разброс задержки. - Оптимизатор MuSGD: этот гибридный оптимизатор, объединяющий инновации из обучения больших языковых моделей (LLM), обеспечивает более стабильное обучение и быстрое схождение.
- Инференс на CPU до 43% быстрее: модель тщательно оптимизирована для сценариев периферийного AI, в которых нет специализированных GPU.
- ProgLoss + STAL: эти усовершенствованные функции потерь заметно улучшают распознавание небольших объектов — области, которая исторически была слабым местом многих детекторов реального времени.
Заключение#
EfficientDet остается математически элегантной архитектурой, которая впервые предложила методы составного масштабирования. Однако для готовых к эксплуатации приложений Ultralytics YOLOv8 обеспечивает более удобную работу для разработчиков, большую универсальность при решении задач компьютерного зрения и непревзойденную скорость инференса на современных GPU.
Команды, начинающие новые проекты, благодаря экосистеме Ultralytics получают доступ к активной разработке, подробной документации и понятному пути перехода на самые современные модели, такие как YOLO26.