EfficientDet против YOLOv5#
Выбор оптимальной архитектуры нейронной сети — определяющий шаг в любой инициативе по computer vision. Баланс между задержкой инференса, эффективностью параметров и точностью детекции определяет, насколько хорошо модель проявит себя в реальных условиях. Это исчерпывающее техническое руководство предлагает глубокий анализ двух очень влиятельных фреймворков для детекции объектов: EfficientDet от Google и Ultralytics YOLOv5.
Сравнивая их архитектурные инновации, методологии обучения и возможности развертывания, разработчики могут принимать обоснованные решения для своих конкретных сред развертывания, будь то масштабирование на облачных серверах или работа на ограниченных по ресурсам граничных устройствах.
EfficientDet: Масштабируемая архитектура с BiFPN#
Представленная Google Research, модель EfficientDet была разработана для систематического масштабирования как основы (backbone), так и сети признаков, чтобы достичь высокой точности с меньшим количеством параметров по сравнению с предыдущими передовыми моделями.
Подробности о модели#
- Авторы: Минсин Тан, Руомин Пан и Куок В. Ле
- Организация: Google Research
- Дата: 20 ноября 2019 г.
- Arxiv: EfficientDet: Scalable and Efficient Object Detection
- GitHub: google/automl/efficientdet
Архитектурные инновации#
EfficientNet в качестве бэкбона лежит в основе EfficientDet, которая использует метод составного масштабирования, равномерно масштабирующий ширину, глубину и разрешение сети. Ее наиболее заметный вклад в object detection — внедрение двунаправленной пирамидальной сети признаков (BiFPN). В отличие от стандартных пирамидальных сетей признаков, которые просто агрегируют признаки сверху вниз, BiFPN обеспечивает сложные двунаправленные кросс-масштабные соединения и вводит обучаемые веса для определения важности различных входных признаков.
Обладая высокой точностью, EfficientDet сильно зависит от экосистемы TensorFlow и специфических библиотек AutoML. Эта зависимость иногда может затруднять интеграцию в пользовательские, легковесные пайплайны развертывания или среды, предпочитающие динамические вычислительные графы.
Ultralytics YOLOv5: Демократизация ИИ в реальном времени#
Выпущенный вскоре после EfficientDet, Ultralytics YOLOv5 произвел революцию в индустрии, предложив невероятно доступную нативную реализацию архитектуры YOLO на PyTorch. Он установил новый стандарт для опыта разработчиков, эффективности обучения и гибкости развертывания в реальном времени.
Подробности о модели#
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 26 июня 2020 г.
- GitHub: ultralytics/yolov5
- Документация: YOLOv5 Documentation
Архитектурные инновации#
YOLOv5 представила значительные улучшения по сравнению со своими предшественниками, используя основу CSPDarknet (Cross-Stage Partial), которая значительно улучшает градиентный поток, уменьшая при этом общее количество параметров. Кроме того, YOLOv5 включает функцию Auto-Learning Anchor Boxes, которая автоматически вычисляет оптимальные априорные данные ограничивающих рамок (bounding box) на основе твоих конкретных данных для обучения, устраняя необходимость в ручной настройке гиперпараметров.
YOLOv5 также активно использует Mosaic Data Augmentation, смешивая четыре разных изображения в один тренировочный тайл. Это значительно улучшает способность модели обнаруживать мелкие объекты и обобщает контекстное понимание, делая её очень устойчивой в различных условиях.
Производительность и бенчмарки#
Оценка моделей на стандартных бенчмарках, таких как COCO dataset, имеет решающее значение для понимания компромиссов между точностью и скоростью. Таблица ниже иллюстрирует, как различные размеры EfficientDet и YOLOv5 работают в стандартизированных условиях.
| Модель | размер (пиксели) | 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Анализ компромиссов#
Хотя EfficientDet-d7 масштабируется до впечатляющего пикового значения mAP в 53.7, она страдает от значительной задержки инференса на GPU-оборудовании по сравнению с архитектурами YOLO. И наоборот, YOLOv5 преуспевает в аппаратном ускорении. Вариант YOLOv5n достигает поразительно быстрого времени инференса в 1.12 мс на GPU T4 с использованием NVIDIA TensorRT, что делает её значительно превосходящей для приложений реального времени, таких как автономное вождение или высокоскоростные производственные линии.
Кроме того, модели YOLOv5 демонстрируют гораздо более низкие требования к памяти CUDA во время обучения по сравнению со сложными сетями с составным масштабированием или большими моделями Transformer. Этот экономный профиль памяти демократизирует доступ к современному ИИ, позволяя исследователям обучать надежные модели на стандартном потребительском оборудовании.
Чтобы извлечь максимум кадров в секунду (FPS) из своей модели YOLOv5 на периферийных устройствах, экспортируй веса PyTorch в TensorRT для GPU NVIDIA или в OpenVINO для CPU Intel. Этот шаг часто может удвоить скорость инференса.
Экосистема обучения и опыт разработчика#
Истинное преимущество экосистемы Ultralytics заключается в ее оптимизированном пользовательском опыте. В то время как EfficientDet требует глубоких знаний API обнаружения объектов TensorFlow, YOLOv5 предоставляет последовательный, простой Python API.
Поддерживаемая в актуальном состоянии Ultralytics ecosystem гарантирует разработчикам доступ к частым обновлениям, активной поддержке сообщества и бесшовным интеграциям с инструментами отслеживания экспериментов, такими как Weights & Biases и ClearML.
Пример кода: Начало работы с YOLOv5#
Запуск инференса с предобученной моделью YOLOv5 требует всего несколько строк кода через PyTorch Hub:
from ultralytics import YOLO
# Load the highly efficient YOLOv5s model
model = YOLO("yolov5su.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Display the detected bounding boxes
results[0].show()Универсальность и реальные приложения#
EfficientDet является строго фреймворком детекции объектов, что ограничивает его полезность в сложных пайплайнах компьютерного зрения. С другой стороны, YOLOv5 эволюционировала до поддержки множества задач компьютерного зрения. Современные релизы модели поддерживают высокоточную instance segmentation и image classification, позволяя разработчикам объединять свой стек машинного обучения.
Идеальные варианты использования#
- EfficientDet: Лучше всего подходит для автономной обработки, академических исследований и облачной аналитики, где максимальная точность важнее задержки, и где доступны серверные TPU или GPU с большим объемом памяти.
- YOLOv5: Определяющий выбор для edge AI deployments. Её комбинация низкой задержки, крошечного объема параметров и высокой точности делает её идеальной для дронов, автоматизации розничной торговли в реальном времени и мобильных приложений через CoreML или TFLite.
Следующее поколение: Обновление до YOLO26#
Хотя YOLOv5 остается надежной и широко развертываемой моделью, область ИИ движется быстро. Для команд, начинающих новые проекты или ищущих абсолютный пик современной производительности, Ultralytics представила YOLO26, выпущенную в январе 2026 года.
YOLO26 переопределяет границу Парето скорости и точности, вводя революционные архитектурные сдвиги, которые облегчают развертывание и ускоряют вывод.
Ключевые достижения YOLO26#
- Конструкция End-to-End без NMS: YOLO26 нативно исключает постобработку Non-Maximum Suppression. Это значительно упрощает логику развертывания и уменьшает дисперсию задержки — революционный подход, усовершенствованный на основе ранних экспериментов в YOLOv10.
- До 43% более быстрый вывод на CPU: Специально разработана для граничных вычислений и IoT-устройств с низким энергопотреблением, работающих без выделенных GPU.
- Оптимизатор MuSGD: Вдохновленный методами обучения больших языковых моделей (таких как Kimi K2 от Moonshot AI), этот гибрид SGD и Muon привносит инновации LLM в компьютерное зрение, обеспечивая более быструю сходимость и высокостабильную динамику обучения.
- ProgLoss + STAL: Эти продвинутые функции потерь дают заметные улучшения в распознавании мелких объектов, что критически важно для аэрофотосъемки и робототехники.
- Удаление DFL: Благодаря удалению Distribution Focal Loss заголовок модели значительно упрощен, что приводит к лучшей совместимости при экспорте на устаревшее или сильно ограниченное граничное оборудование.
Для команд, развертывающих многозадачные пайплайны, YOLO26 также представляет специфичные для задач улучшения, такие как multi-scale proto для сегментации и специализированную угловую потерю для oriented bounding boxes (OBB). Чтобы изучить другие современные альтернативы внутри экосистемы, ты также можешь ознакомиться с YOLO11 или архитектурой YOLOv8.
Заключение#
Выбор между EfficientDet и YOLOv5 сильно зависит от твоей цели развертывания. EfficientDet предлагает математически элегантный подход к масштабированию, подходящий для облачного вывода. Однако превосходный опыт разработчика YOLOv5, чрезвычайно быстрые циклы обучения PyTorch и высокооптимизированные возможности граничного развертывания делают ее предпочтительным выбором для подавляющего большинства реальных приложений реального времени. Используя комплексные инструменты, предоставляемые Ultralytics, команды могут ускорить выход на рынок и создавать высокочувствительные системы ИИ.