YOLOv5 против EfficientDet: оценка архитектур детектирования объектов в реальном времени
Когда ты приступаешь к новому проекту по компьютерному зрению, выбор правильной архитектуры нейронной сети становится одним из самых важных решений. Это руководство содержит глубокий технический анализ сравнения Ultralytics YOLOv5 и EfficientDet от Google. Анализируя их архитектуры, метрики производительности и экосистемы обучения, мы стремимся помочь разработчикам и исследователям подобрать лучшую модель детектирования объектов для твоих конкретных сред развертывания.
В то время как EfficientDet представил новые концепции составного масштабирования и объединения признаков, YOLOv5 совершил революцию в отрасли, сделав высокопроизводительный ИИ доступным благодаря невероятно интуитивной реализации на PyTorch, оптимизированному пользовательскому опыту и непревзойденному балансу скорости и точности.
Ultralytics YOLOv5: отраслевой стандарт доступности
Выпущенный летом 2020 года, YOLOv5 ознаменовал поворотный момент в развитии семейства YOLO. Перейдя с C-ориентированного фреймворка Darknet на нативный PyTorch, он стал предпочтительной архитектурой для разработчиков, стремящихся быстро создавать, обучать и развертывать модели.
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 26.06.2020
- GitHub: https://github.com/ultralytics/yolov5
- Документация: https://platform.ultralytics.com/ultralytics/yolov5
Архитектурные инновации
YOLOv5 славится своей высокооптимизированной архитектурой, которая обеспечивает бесшовный жизненный цикл машинного обучения. В нем используется модифицированный бэкбон CSPDarknet53 в сочетании с неком Path Aggregation Network (PANet), что значительно улучшает распространение признаков по нескольким пространственным масштабам.
Ключевые достижения включают:
- Mosaic Data Augmentation: Эта техника обучения объединяет четыре разных обучающих изображения в одну мозаику. Это заставляет модель учиться распознавать объекты в сложных пространственных контекстах и значительно повышает ее способность обнаруживать мелкие объекты.
- Автоматическое обучение anchor-боксов: Перед началом обучения YOLOv5 анализирует твои пользовательские обучающие данные и автоматически вычисляет оптимальные размеры anchor-бокса с помощью кластеризации методом k-средних.
- Эффективность памяти: По сравнению с тяжелыми моделями на базе Transformer, YOLOv5 сохраняет значительно меньший объем используемой памяти как при обучении, так и при инференсе, что позволяет ему плавно работать на потребительском оборудовании.
EfficientDet: масштабируемое детектирование объектов
Представленный Google Research в 2019 году, EfficientDet был направлен на создание семейства масштабируемых детекторов объектов. Он основан на бэкбоне классификации изображений EfficientNet и внедряет новый механизм объединения признаков.
- Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
- Организация: Google
- Дата: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- Документация: https://github.com/google/automl/tree/master/efficientdet#readme
Архитектурные инновации
Основное предложение EfficientDet заключается в систематическом подходе к масштабированию и агрегации признаков:
- BiFPN (Bi-directional Feature Pyramid Network): В отличие от традиционных FPN, которые передают информацию только сверху вниз, BiFPN обеспечивает быстрое и простое многомасштабное объединение признаков путем внедрения обучаемых весов для определения важности различных входных данных.
- Составное масштабирование: EfficientDet совместно масштабирует разрешение, глубину и ширину для всех бэкбонов, сетей признаков и сетей предсказания bbox/классов, что позволяет создавать модели от облегченной D0 до массивной D7.
В то время как EfficientDet в значительной степени полагается на экосистему TensorFlow и библиотеки AutoML, YOLOv5 работает нативно в PyTorch, предлагая то, что многие разработчики считают более интуитивным, «pythonic» и отлаживаемым рабочим процессом.
Сравнение производительности и метрик
При сравнении этих моделей критически важно оценивать их производительность на стандартных бенчмарках, таких как набор данных COCO. Таблица ниже подчеркивает компромиссы между размером, вычислительными требованиями (FLOPs) и скоростью инференса.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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-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 |
Сбалансированный анализ
YOLOv5 сияет своей гибкостью развертывания и совместимостью с ускорением на различном «железе». Обрати внимание на молниеносную скорость TensorRT на GPU T4. Это делает YOLOv5 невероятно подходящим для высокопроизводительной видеоаналитики и конвейеров инференса в реальном времени. Более того, экосистема Ultralytics позволяет экспортировать модели в форматы вроде ONNX, CoreML и TensorRT одной командой.
EfficientDet предлагает отличную эффективность по количеству параметров. При заданном числе параметров он часто достигает высокого значения средней точности (mAP). Однако эта теоретическая эффективность не всегда переходит в более быстрое время инференса на edge-устройствах из-за сложной маршрутизации слоя BiFPN, которая может быть ограничена пропускной способностью памяти, а не вычислительной мощностью.
Экосистема и простота использования
Определяющее преимущество выбора модели Ultralytics заключается в сопутствующей экосистеме. YOLOv5 является частью активно поддерживаемого и развиваемого репозитория с огромной поддержкой сообщества.
С появлением платформы Ultralytics ты можешь легко перейти от сбора данных к развертыванию. Эта платформа поддерживает авторазметку, облачное обучение и мониторинг моделей «из коробки». Напротив, обучение EfficientDet часто требует преодоления сложностей устаревших API для детектирования объектов в TensorFlow, что может представлять собой крутую кривую обучения для быстрого прототипирования.
Более того, универсальность YOLOv5 выходит за рамки ограничивающих рамок bbox. Благодаря постоянным обновлениям фреймворк Ultralytics нативно поддерживает сегментацию экземпляров и классификацию изображений, предоставляя единый API для нескольких задач компьютерного зрения.
Идеальные сценарии использования
- Выбирай YOLOv5, если: Тебе нужно быстрое прототипирование, легкий процесс обучения и высокооптимизированное развертывание на edge-устройствах. Он идеально подходит для дронов, ритейл-аналитики и мобильных приложений, где критически важна низкая задержка.
- Выбирай EfficientDet, если: Ты работаешь строго в среде Google Cloud/TensorFlow AutoML и требуешь максимальной точности на параметр без строгих ограничений по задержке в реальном времени.
Новое поколение: знакомство с YOLO26
Хотя YOLOv5 остается надежной «рабочей лошадкой», ландшафт компьютерного зрения шагнул вперед. Для разработчиков, ищущих абсолютный state-of-the-art в 2026 году, YOLO26 представляет новую вершину линейки Ultralytics.
Опираясь на наследие своих предшественников (таких как YOLOv8 и YOLO11), YOLO26 внедряет революционные инновации:
- Сквозной дизайн без NMS: YOLO26 нативно исключает необходимость в постпроцессинге NMS (Non-Maximum Suppression). Это значительно снижает вариативность задержек и упрощает архитектуру развертывания.
- Up to 43% Faster CPU Inference: Heavily optimized for edge AI, it brings unprecedented speeds to low-power edge devices and standard CPUs without dedicated GPUs.
- Оптимизатор MuSGD: Вдохновленный методами обучения больших языковых моделей (LLM), этот гибрид SGD и Muon обеспечивает очень стабильное обучение и быструю сходимость.
- Продвинутые функции потерь: Интеграция ProgLoss и STAL радикально улучшает распознавание мелких объектов, что жизненно важно для аэрофотосъемки с дронов и робототехники.
- Удаление DFL: Благодаря удалению Distribution Focal Loss процесс экспорта модели становится проще, что дополнительно улучшает совместимость с различными аппаратными ускорителями.
Пользователям, заинтересованным в изучении других новых архитектур в экосистеме Ultralytics, возможно, стоит сравнить модели вроде YOLOv10 или RT-DETR.
Python API от Ultralytics разработан с учетом обратной и прямой совместимости. Обновление с YOLOv5 до YOLO26 буквально так же просто, как замена строки с весами модели в твоем коде!
Пример кода: обучение и инференс
Чтобы продемонстрировать непревзойденную простоту использования экосистемы Ultralytics, вот как ты можешь обучить и запустить инференс, используя современную модель YOLO. Этот код на 100% рабочий и автоматически обрабатывает скачивание наборов данных, циклы обучения и валидацию.
from ultralytics import YOLO
# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)
# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")
# Display the image with bounding boxes
inference_results[0].show()Приоритизируя пользовательский опыт, поддерживая мощную экосистему и постоянно раздвигая границы возможного с такими обновлениями, как YOLO26, Ultralytics гарантирует, что у разработчиков всегда есть лучшие инструменты для решения реальных задач визуального интеллекта.