EfficientDet против YOLOv5: подробное техническое сравнение
Выбор оптимальной архитектуры нейронной сети — определяющий шаг в любой инициативе в области компьютерного зрения. Баланс между задержкой вывода, эффективностью параметров и точностью обнаружения определяет, насколько хорошо модель будет работать в реальных условиях. Это подробное техническое руководство содержит глубокий анализ двух крайне влиятельных фреймворков для обнаружения объектов: EfficientDet от Google и Ultralytics YOLOv5.
Сравнивая их архитектурные инновации, методологии обучения и возможности развертывания, разработчики могут принимать обоснованные решения для своих конкретных сред развертывания, будь то масштабирование на облачных серверах или запуск на ограниченных периферийных устройствах.
EfficientDet: масштабируемая архитектура с BiFPN
Представленный Google Research, EfficientDet был разработан для систематического масштабирования как основы (backbone), так и сети признаков, чтобы достичь высокой точности при меньшем количестве параметров, чем у предыдущих моделей уровня state-of-the-art.
Детали модели
- Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
- Организация: Google Research
- Дата: 20 ноября 2019 г.
- Arxiv: EfficientDet: Scalable and Efficient Object Detection
- GitHub: google/automl/efficientdet
Архитектурные инновации
EfficientDet использует модель классификации EfficientNet в качестве основы, применяя метод составного масштабирования, который равномерно масштабирует ширину, глубину и разрешение сети. Его наиболее заметный вклад в обнаружение объектов — это внедрение двунаправленной пирамидальной сети признаков (BiFPN). В отличие от стандартных пирамидальных сетей признаков, которые просто агрегируют признаки сверху вниз, BiFPN обеспечивает сложные двунаправленные кросс-масштабные соединения и вводит обучаемые веса для определения важности различных входных признаков.
Несмотря на высокую точность, EfficientDet сильно зависит от экосистемы TensorFlow и специфических библиотек AutoML. Эта зависимость иногда может затруднить интеграцию в кастомные, легковесные конвейеры развертывания или среды, в которых предпочтительны динамические вычислительные графы.
Ultralytics YOLOv5: демократизация ИИ в реальном времени
Выпущенный вскоре после EfficientDet, Ultralytics YOLOv5 произвел революцию в индустрии, предложив невероятно доступную, нативную реализацию архитектуры YOLO на PyTorch. Он установил новый стандарт для удобства разработчиков, эффективности обучения и гибкости развертывания в реальном времени.
Детали модели
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 26 июня 2020 г.
- GitHub: ultralytics/yolov5
- Документация: Документация YOLOv5
Архитектурные инновации
YOLOv5 представил значительные улучшения по сравнению со своими предшественниками, используя основу CSPDarknet (Cross-Stage Partial), которая значительно улучшает прохождение градиента, сокращая при этом общее количество параметров. Кроме того, YOLOv5 включает функцию Auto-Learning Anchor Boxes, которая автоматически вычисляет оптимальные априорные параметры ограничивающих рамок на основе твоих конкретных обучающих данных, устраняя необходимость в ручной настройке гиперпараметров.
YOLOv5 также активно использует аугментацию Mosaic, смешивая четыре разрозненных изображения в одну тренировочную плитку. Это значительно улучшает способность модели обнаруживать мелкие объекты и обобщает контекстуальное понимание, делая её крайне устойчивой в разнообразных условиях.
Производительность и бенчмарки
Оценка моделей по стандартным бенчмаркам, таким как набор данных COCO, имеет решающее значение для понимания компромиссов между точностью и скоростью. В таблице ниже показано, как модели 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 во время обучения по сравнению со сложными сетями с составным масштабированием или большими моделями-трансформерами. Этот экономный профиль использования памяти демократизирует доступ к современному ИИ, позволяя исследователям обучать надежные модели на стандартном потребительском оборудовании.
Чтобы выжать максимум кадров в секунду (FPS) из своей модели YOLOv5 на периферийных устройствах, экспортируй веса PyTorch в TensorRT для NVIDIA GPU или OpenVINO для процессоров Intel. Этот шаг часто может удвоить скорость твоего вывода.
Экосистема обучения и опыт разработчика
Настоящее преимущество экосистемы Ultralytics заключается в её оптимизированном пользовательском опыте. В то время как EfficientDet требует глубоких знаний API обнаружения объектов TensorFlow, YOLOv5 предоставляет последовательный и простой Python API.
Хорошо поддерживаемая экосистема Ultralytics гарантирует, что у тебя есть доступ к частым обновлениям, активной поддержке сообщества и бесшовной интеграции с инструментами отслеживания экспериментов, такими как 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 эволюционировал для поддержки множества задач компьютерного зрения. Современные выпуски модели поддерживают высокоточное сегментирование экземпляров и классификацию изображений, позволяя разработчикам консолидировать свой стек машинного обучения.
Идеальные сценарии использования
- EfficientDet: лучше всего подходит для автономной обработки, академических исследований и облачной аналитики, где максимальная точность важнее задержки и где доступны серверные TPU или GPU с большим объемом памяти.
- YOLOv5: окончательный выбор для периферийного ИИ. Сочетание низкой задержки, крошечного объема параметров и высокой точности делает его идеальным для аналитики дронов, автоматизации ритейла в реальном времени и мобильных приложений через CoreML или TFLite.
Следующее поколение: обновление до YOLO26
Хотя YOLOv5 остается надежной и широко распространенной моделью, область ИИ развивается стремительно. Для команд, начинающих новые проекты или стремящихся к абсолютному пику современной производительности, Ultralytics представила YOLO26, выпущенный в январе 2026 года.
YOLO26 переопределяет границу Парето по скорости и точности, вводя новаторские архитектурные сдвиги, которые облегчают развертывание и ускоряют вывод.
Ключевые достижения YOLO26
- Сквозной дизайн без 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 для сегментации и специализированные функции потерь угла для ориентированных ограничивающих рамок (OBB). Чтобы изучить другие современные альтернативы в рамках экосистемы, ты также можешь ознакомиться с YOLO11 или архитектурой YOLOv8.
Заключение
Выбор между EfficientDet и YOLOv5 сильно зависит от твоей цели развертывания. EfficientDet предлагает математически элегантный подход к масштабированию, подходящий для вывода в облаке. Однако превосходный опыт разработчика YOLOv5, чрезвычайно быстрые циклы обучения на PyTorch и оптимизированные возможности развертывания на периферии делают его предпочтительным выбором для подавляющего большинства реальных приложений в реальном времени. Используя комплексные инструменты, предоставляемые Ultralytics, команды могут ускорить выход на рынок и создавать высокочувствительные ИИ-системы.