EfficientDet против YOLOv6-3.0: подробное руководство по промышленному обнаружению объектов
Выбор правильной архитектуры нейронной сети — это фундамент любой успешной инициативы в области компьютерного зрения. В этом подробном обзоре приводится глубокое техническое сравнение двух ключевых моделей в сфере обнаружения объектов: EfficientDet от Google и YOLOv6-3.0 от Meituan.
Хотя обе архитектуры стали значительным шагом вперед на момент своего выхода, быстрое развитие искусственного интеллекта привело к появлению более универсальных и оптимизированных для периферийных устройств решений. Ниже мы разбираем производительность, методы обучения и архитектурные особенности EfficientDet и YOLOv6-3.0, а также изучаем, почему разработчики всё чаще переходят на современные экосистемы, такие как Ultralytics YOLO26, для внедрения передовых решений.
EfficientDet: масштабируемая архитектура AutoML
Разработанный командой Google Brain, EfficientDet совершил сдвиг парадигмы, опираясь на автоматизированное машинное обучение (AutoML) для оптимизации как своей основы (backbone), так и сети признаков.
- Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
- Организация: Google Research
- Дата: 2019-11-20
- Arxiv: 1911.09070
- GitHub: google/automl
- Документация: README EfficientDet
Архитектурные инновации
Главная инновация EfficientDet — это BiFPN (двунаправленная пирамидальная сеть признаков). В отличие от традиционных FPN, которые просто агрегируют признаки сверху вниз, BiFPN обеспечивает сложные двусторонние кросс-масштабные связи и использует обучаемые веса для определения важности различных входных признаков. Это сочетается с методом составного масштабирования, который одновременно равномерно масштабирует разрешение, глубину и ширину сети.
Сильные и слабые стороны
EfficientDet достигает отличной средней точности (mAP) по отношению к количеству параметров, что делало её очень точной для своего времени. Однако она сильно зависит от устаревших сред TensorFlow. Эта зависимость часто приводит к сложностям при настройке гиперпараметров, повышенному потреблению памяти во время обучения и более медленной задержке вывода на стандартном оборудовании по сравнению с современными одностадийными детекторами на базе PyTorch.
YOLOv6-3.0: чемпион промышленной пропускной способности
Выпущенная для удовлетворения конкретных потребностей массовой обработки, YOLOv6-3.0 представляет собой сверточную нейронную сеть (CNN), разработанную с нуля для максимизации пропускной способности на аппаратных ускорителях, таких как графические процессоры NVIDIA T4 и A100.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng и др.
- Организация: Meituan Vision AI
- Дата: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
- Документация: Документация YOLOv6
Архитектурные инновации
В YOLOv6-3.0 традиционные модули заменены на модуль двунаправленной конкатенации (BiC) в «шее» сети для сохранения точных сигналов локализации. Кроме того, она использует стратегию обучения с поддержкой анкоров (AAT). AAT интегрирует вспомогательную ветвь на основе анкоров во время этапа обучения для обеспечения дополнительного градиентного руководства, которое затем отключается во время вывода для сохранения преимущества в скорости за счет отказа от анкоров.
Сильные и слабые стороны
Построенная на дружественной к аппаратному обеспечению основе EfficientRep, YOLOv6-3.0 превосходно работает в высокоскоростных промышленных производственных средах, где возможна пакетная обработка на выделенных GPU. Однако её сильная зависимость от операций репараметризации может привести к значительному снижению скорости при развертывании на периферийных устройствах или в средах, опирающихся исключительно на вычисления CPU.
Сравнение производительности
Понимание реальных метрик производительности имеет фундаментальное значение для выбора модели, которая соответствует твоим конкретным ограничениям развертывания. Ниже представлен подробный разбор точности, скорости и вычислительных затрат.
| Модель | размер (пиксели) | 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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Хотя YOLOv6-3.0 демонстрирует невероятно высокую скорость TensorRT на GPU T4, разработчикам, развертывающим решения на ограниченном периферийном оборудовании или CPU, значительно выгоднее использовать архитектуры, специально разработанные для маломощных сред, такие как Ultralytics YOLO26.
Варианты использования и рекомендации
Выбор между EfficientDet и YOLOv6 зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать EfficientDet
EfficientDet — это хороший выбор для:
- Конвейеров Google Cloud и TPU: Систем, глубоко интегрированных с API Google Cloud Vision или инфраструктурой TPU, где EfficientDet имеет нативную оптимизацию.
- Исследований в области составного масштабирования: Академических бенчмарков, сфокусированных на изучении эффектов сбалансированного масштабирования глубины, ширины и разрешения сети.
- Развертывания на мобильных устройствах через TFLite: Проектов, которые специально требуют экспорта в TensorFlow Lite для Android или встроенных Linux-устройств.
Когда выбирать YOLOv6
YOLOv6 рекомендуется для:
- Развертывания с учетом промышленного оборудования: Сценарии, где аппаратная оптимизация модели и эффективная репараметризация обеспечивают наилучшую производительность на конкретном целевом оборудовании.
- Быстрой одностадийной детекции: Приложения, ставящие во главу угла скорость логического вывода на GPU для обработки видео в реальном времени в контролируемых средах.
- Интеграции в экосистему Meituan: Команды, уже работающие внутри технологического стека и инфраструктуры развертывания Meituan.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Преимущество Ultralytics: почему YOLO26 — лучший выбор
Хотя EfficientDet и YOLOv6-3.0 были важными вехами в исследованиях зрения, их развертывание в современных производственных средах часто связано с борьбой со сложными зависимостями, разрозненными API и высокими требованиями к памяти. Экосистема Ultralytics нативно решает эти проблемы в рабочих процессах.
Для разработчиков, стремящихся к абсолютному пику производительности и простоте использования, Ultralytics YOLO26 (выпущенная в январе 2026 года) предлагает поколенческий скачок вперед. Это рекомендуемая модель для новых внедрений, превосходящая устаревшие архитектуры по всем параметрам.
Прорывные инновации YOLO26
- Сквозной дизайн без NMS: YOLO26 нативно работает по принципу «end-to-end», полностью устраняя необходимость в пост-обработке через немаксимальное подавление (NMS). Это радикально снижает вариативность задержек и упрощает развертывание моделей на разнообразном периферийном оборудовании.
- Оптимизатор MuSGD: Вдохновленный обучением больших языковых моделей (как Kimi K2 от Moonshot AI), YOLO26 использует гибрид SGD и Muon. Это приносит стабильность больших языковых моделей в компьютерное зрение, обеспечивая более быструю сходимость и высокоэффективные процессы обучения.
- До 43% более быстрый вывод на CPU: Оптимизированная специально для периферийных вычислений и маломощных устройств, YOLO26 обеспечивает непревзойденную скорость на CPU там, где традиционные промышленные модели работают с трудом.
- Удаление DFL: Distribution Focal Loss была удалена для упрощения графа экспорта, что обеспечивает бесшовную совместимость с рантаймами развертывания, такими как OpenVINO и CoreML.
- ProgLoss + STAL: Передовые функции потерь обеспечивают заметные улучшения в распознавании мелких объектов, что делает YOLO26 незаменимой для создания карт с дронов, IoT-датчиков и робототехники.
Непревзойденная универсальность
В отличие от EfficientDet, ограниченной обнаружением ограничивающих рамок (bounding boxes), YOLO26 является нативно многозадачной системой. Тот же унифицированный Python API «из коробки» поддерживает сегментацию экземпляров, оценку позы, классификацию изображений и обнаружение с помощью ориентированных ограничивающих рамок (OBB), с улучшениями для конкретных задач, такими как функция потерь семантической сегментации и оценка остаточного логарифмического правдоподобия (RLE), встроенными непосредственно в архитектуру.
Бесшовная интеграция кода
Обучение передовой нейронной сети больше не требует сотен строк шаблонного кода. Библиотека Ultralytics позволяет исследователям безупречно загружать, обучать и проверять модель на стандартных наборах данных, таких как COCO:
from ultralytics import YOLO
# Initialize the natively end-to-end YOLO26 Nano model
model = YOLO("yolo26n.pt")
# Train the model efficiently with automatic hardware detection
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
print(f"Achieved mAP50-95: {metrics.box.map:.3f}")
# Export directly to ONNX or TensorRT without NMS overhead
model.export(format="onnx")Другие модели, которые стоит рассмотреть
Если твой проект требует поддержки старых аппаратных профилей или ты поддерживаешь унаследованную кодовую базу, более широкая экосистема Ultralytics поможет тебе в этом.
- Ultralytics YOLO11: Непосредственный предшественник YOLO26, которому очень доверяют в корпоративных средах, требующих зрелых и хорошо документированных конвейеров.
- Ultralytics YOLOv8: Стандарт, который переопределил опыт разработчиков и остается отличным выбором для задач компьютерного зрения общего назначения, глубоко интегрированным с такими инструментами, как TensorBoard и Weights & Biases.