EfficientDet против YOLOv5: Всестороннее техническое сравнение
Выбор оптимальной архитектуры нейронной сети является определяющим шагом в любой инициативе в области компьютерного зрения. Баланс между задержкой вывода, эффективностью параметров и точностью обнаружения определяет, насколько хорошо модель будет работать в реальном мире. Это всестороннее техническое руководство содержит углубленный анализ двух весьма влиятельных фреймворков обнаружения объектов: EfficientDet от Google и Ultralytics YOLOv5.
Сравнивая их архитектурные инновации, методологии обучения и возможности развертывания, разработчики могут принимать обоснованные решения для своих конкретных сред развертывания, будь то масштабирование на облачных серверах или запуск на ограниченных граничных устройствах.
EfficientDet: Масштабируемая архитектура с BiFPN
Представленный Google Research, EfficientDet был разработан для систематического масштабирования как базовой сети (backbone), так и сети признаков с целью достижения высокой точности при меньшем количестве параметров по сравнению с предыдущими передовыми моделями.
Детали модели
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация:Google Research
- Дата: 20 ноября 2019 г.
- Arxiv:EfficientDet: Масштабируемое и эффективное обнаружение объектов
- GitHub:google/automl/efficientdet
Архитектурные инновации
EfficientDet использует классификационную модель EfficientNet в качестве своей базовой архитектуры, применяя метод составного масштабирования, который равномерно масштабирует ширину, глубину и разрешение сети. Его наиболее заметный вклад в обнаружение объектов — это внедрение двунаправленной пирамидальной сети признаков (BiFPN). В отличие от стандартных пирамидальных сетей признаков, которые просто агрегируют признаки сверху вниз, BiFPN обеспечивает сложные двунаправленные межмасштабные связи и вводит обучаемые веса для определения важности различных входных признаков.
Хотя EfficientDet является высокоточным, он сильно зависит от экосистемы TensorFlow и специфических библиотек AutoML. Эта зависимость иногда может затруднять его интеграцию в пользовательские, легковесные конвейеры развертывания или среды, которые отдают предпочтение динамическим вычислительным графам.
Узнайте больше об EfficientDet
Ultralytics YOLOv5: Демократизация ИИ реального времени
Выпущенный вскоре после EfficientDet, Ultralytics YOLOv5 произвел революцию в отрасли, предложив невероятно доступную нативную реализацию архитектуры YOLO на PyTorch. Он установил новый стандарт для удобства разработчиков, эффективности обучения и гибкости развертывания в реальном времени.
Детали модели
- Авторы: Гленн Джокер
- Организация:Ultralytics
- Дата: 26 июня 2020 г.
- GitHub:ultralytics/yolov5
- Документация:Документация YOLOv5
Архитектурные инновации
YOLOv5 представил значительные улучшения по сравнению со своими предшественниками, используя основу CSPDarknet (Cross-Stage Partial), которая значительно улучшает поток градиентов, одновременно уменьшая общее количество параметров. Кроме того, YOLOv5 включает в себя Auto-Learning Anchor Boxes (автоматически обучаемые опорные рамки), которые автоматически рассчитывают оптимальные априорные значения ограничивающих рамок на основе ваших конкретных пользовательских обучающих данных, устраняя необходимость в ручной настройке гиперпараметров.
YOLOv5 также активно использует мозаичную аугментацию данных (Mosaic Data Augmentation), объединяя четыре разрозненных изображения в одну обучающую плитку. Это значительно улучшает способность модели detect мелкие объекты и обобщает контекстное понимание, делая ее очень надежной в различных средах.
Производительность и сравнительное тестирование
Оценка моделей на стандартных бенчмарках, таких как набор данных COCO, имеет решающее значение для понимания компромиссов между точностью и скоростью. В таблице ниже показано, как различные размеры EfficientDet и YOLOv5 работают в стандартизированных условиях.
| Модель | размер (пиксели) | 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 |
| 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 мс на T4 GPU с использованием NVIDIA TensorRT, что делает его значительно превосходящим для приложений реального времени, таких как автономное вождение или высокоскоростные производственные линии.
Кроме того, модели YOLOv5 демонстрируют значительно более низкие требования к памяти CUDA во время обучения по сравнению со сложными сетями с составным масштабированием или большими моделями-трансформерами. Этот экономичный профиль памяти демократизирует доступ к передовому ИИ, позволяя исследователям обучать надежные модели на стандартном потребительском оборудовании.
Максимизация эффективности оборудования
Чтобы получить максимальное количество кадров в секунду (FPS) от вашей модели YOLOv5 на периферийных устройствах, экспортируйте веса PyTorch в TensorRT для NVIDIA GPU или в OpenVINO для Intel CPU. Этот шаг часто позволяет удвоить скорость инференса.
Экосистема обучения и опыт разработчика
Истинное преимущество экосистемы Ultralytics заключается в ее оптимизированном пользовательском опыте. В то время как EfficientDet требует глубоких знаний API object detect 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 — это строго фреймворк для detect объектов, что ограничивает его полезность в сложных конвейерах компьютерного зрения. С другой стороны, 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 также представляет обновления для конкретных задач, такие как многомасштабный прототип для сегментации и специализированная угловая функция потерь для ориентированных ограничивающих рамок (OBB). Чтобы изучить другие современные альтернативы в экосистеме, вы также можете рассмотреть YOLO11 или архитектуру YOLOv8.
Заключение
Выбор между EfficientDet и YOLOv5 во многом зависит от целевой среды развертывания. EfficientDet предлагает математически элегантный подход к масштабированию, подходящий для вывода данных с интенсивным использованием облачных ресурсов. Однако превосходный опыт разработчика с YOLOv5, чрезвычайно быстрые циклы обучения PyTorch и высокооптимизированные возможности развертывания на периферийных устройствах делают его предпочтительным выбором для подавляющего большинства реальных приложений, работающих в режиме реального времени. Используя комплексные инструменты, предоставляемые Ultralytics, команды могут ускорить вывод своих продуктов на рынок и создавать высокоотзывчивые системы ИИ.