Перейти к содержанию

YOLOv5 против EfficientDet: Оценка архитектур обнаружения объектов в реальном времени.

Приступая к новому проекту в области компьютерного зрения, выбор правильной архитектуры нейронной сети является одним из наиболее важных решений, которые вы примете. Это руководство представляет собой углубленное техническое сравнение между Ultralytics YOLOv5 и EfficientDet от Google. Анализируя их архитектуры, метрики производительности и экосистемы обучения, мы стремимся помочь разработчикам и исследователям определить лучшую модель обнаружения объектов для их конкретных сред развертывания.

Хотя EfficientDet представил новые концепции в области составного масштабирования и слияния признаков, YOLOv5 произвел революцию в отрасли, демократизировав доступ к высокопроизводительному ИИ благодаря своей невероятно интуитивной реализации на PyTorch, оптимизированному пользовательскому опыту и беспрецедентному балансу скорости и точности.

Ultralytics YOLOv5: Отраслевой стандарт доступности

Выпущенный летом 2020 года, YOLOv5 ознаменовал собой ключевой сдвиг в развитии YOLO. Переход от фреймворка Darknet на базе C к нативному PyTorch сделал его основной архитектурой для разработчиков, стремящихся быстро создавать, обучать и развертывать модели.

Архитектурные инновации

YOLOv5 ценится за свою высокооптимизированную архитектуру, которая обеспечивает бесшовный жизненный цикл машинного обучения. Он использует модифицированный backbone CSPDarknet53 в сочетании с шейкой Path Aggregation Network (PANet), что значительно улучшает распространение признаков по нескольким пространственным масштабам.

Ключевые достижения включают:

  • Аугментация данных Mosaic: Эта техника обучения объединяет четыре отдельных обучающих изображения в единый мозаичный коллаж. Это заставляет модель учиться идентифицировать объекты в сложных пространственных контекстах и значительно повышает ее способность detect мелкие цели.
  • Автоматическое обучение якорных боксов: Перед началом обучения YOLOv5 анализирует ваши пользовательские обучающие данные и автоматически вычисляет оптимальные размеры якорных боксов с использованием кластеризации методом k-средних.
  • Эффективность использования памяти: По сравнению с тяжелыми моделями на основе трансформеров, YOLOv5 поддерживает значительно меньший объем занимаемой памяти как во время обучения, так и во время инференса, что позволяет ему бесперебойно работать на потребительском оборудовании.

Узнайте больше о YOLOv5

EfficientDet: Масштабируемое обнаружение объектов

Представленный Google Research в 2019 году, EfficientDet был нацелен на создание семейства масштабируемых детекторов объектов. Он основывается на базовой архитектуре EfficientNet для классификации изображений и вводит новый механизм слияния признаков.

Архитектурные инновации

Основное преимущество EfficientDet заключается в ее систематическом подходе к масштабированию и агрегации признаков:

  • BiFPN (двунаправленная пирамидальная сеть признаков): В отличие от традиционных FPN, которые передают информацию только сверху вниз, BiFPN обеспечивает быстрое и простое слияние многомасштабных признаков за счет введения обучаемых весов для определения важности различных входных признаков.
  • Составное масштабирование: EfficientDet совместно масштабирует разрешение, глубину и ширину для всех базовых сетей, сетей признаков и сетей предсказания ограничивающих рамок/классов, что приводит к моделям, варьирующимся от легковесной D0 до массивной D7.

Узнайте больше об EfficientDet

Различия фреймворков

В то время как EfficientDet сильно зависит от экосистемы TensorFlow и библиотек AutoML, YOLOv5 работает нативно в PyTorch, предлагая то, что многие разработчики считают более интуитивным, pythonic-ориентированным и отлаживаемым рабочим процессом.

Сравнение производительности и метрик

При сравнении этих моделей крайне важно оценивать их производительность на стандартных бенчмарках, таких как набор данных COCO. В таблице ниже показаны компромиссы между размером, вычислительными требованиями (FLOPs) и скоростью инференса.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0

Сбалансированный анализ

YOLOv5 выделяется своей гибкостью развертывания и совместимостью с аппаратным ускорением. Обратите внимание на невероятно высокие скорости TensorRT на GPU T4. Это делает YOLOv5 невероятно подходящим для высокопроизводительной видеоаналитики и конвейеров вывода в реальном времени. Кроме того, экосистема Ultralytics позволяет экспортировать в такие форматы, как ONNX, CoreML и TensorRT, одной командой.

EfficientDet обеспечивает превосходную эффективность по параметрам. При заданном количестве параметров он часто достигает высокой средней точности (mAP). Однако эта теоретическая эффективность не всегда приводит к более быстрому реальному времени инференса на граничных GPU из-за сложной маршрутизации слоя BiFPN, который может быть ограничен пропускной способностью памяти, а не вычислительной мощностью.

Экосистема и простота использования

Ключевое преимущество выбора модели Ultralytics заключается в окружающей экосистеме. YOLOv5 является частью активно поддерживаемого и развиваемого репозитория с огромной поддержкой сообщества.

С появлением Ultralytics Platform пользователи могут бесшовно переходить от сбора данных к развертыванию. Эта платформа поддерживает автоматическую аннотацию, облачное обучение и мониторинг моделей из коробки. В отличие от этого, обучение EfficientDet часто требует преодоления сложностей старых TensorFlow API для detect объектов, что может представлять собой крутую кривую обучения для быстрого прототипирования.

Кроме того, универсальность YOLOv5 выходит за рамки ограничивающих рамок. Благодаря постоянным обновлениям, фреймворк Ultralytics нативно поддерживает сегментацию экземпляров и классификацию изображений, предоставляя унифицированный API для множества задач компьютерного зрения.

Идеальные варианты использования

  • Выбирайте YOLOv5, когда: Вам требуется быстрое прототипирование, беспроблемный процесс обучения и высокооптимизированное развертывание на периферийных устройствах. Он идеален для дронов, розничной аналитики и мобильных приложений, где низкая задержка критически важна.
  • Выберите EfficientDet, когда: Вы работаете строго в среде Google Cloud/TensorFlow AutoML и требуете максимальной точности на параметр без строгих ограничений по задержке в реальном времени.

Следующее поколение: Внедрение YOLO26

Хотя YOLOv5 остается надежной рабочей лошадкой, ландшафт компьютерного зрения продвинулся вперед. Для разработчиков, ищущих абсолютно передовые решения в 2026 году, YOLO26 представляет собой новую вершину в линейке Ultralytics.

Опираясь на наследие своих предшественников (таких как YOLOv8 и YOLO11), YOLO26 представляет новаторские инновации:

  • Сквозная архитектура без NMS: YOLO26 изначально исключает необходимость постобработки Non-Maximum Suppression. Это значительно снижает вариативность задержки и упрощает архитектуру развертывания.
  • До 43% более быстрый инференс на CPU: Значительно оптимизирован для периферийного ИИ, он обеспечивает беспрецедентную скорость для маломощных периферийных устройств и стандартных CPU без выделенных GPU.
  • Оптимизатор MuSGD: Вдохновленный методами обучения больших языковых моделей (LLM), этот гибрид SGD и Muon обеспечивает высокую стабильность обучения и быструю сходимость.
  • Расширенные функции потерь: Интеграция ProgLoss и STAL значительно улучшает распознавание мелких целей, что крайне важно для высотной съемки с дронов и робототехники.
  • Удаление DFL: Удаление Distribution Focal Loss оптимизирует процесс экспорта модели, дополнительно повышая совместимость с различными аппаратными ускорителями.

Пользователи, заинтересованные в изучении других современных архитектур в экосистеме Ultralytics, могут также сравнить такие модели, как YOLOv10 или RT-DETR.

Миграция проста

Ultralytics Python API разработан для обратной и прямой совместимости. Обновление с 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 гарантирует, что разработчики всегда имеют в своем распоряжении лучшие инструменты для решения реальных задач визуального интеллекта.


Комментарии