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

YOLOv5 vs. EfficientDet: Подробное техническое сравнение

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

Анализ производительности: Скорость против эффективности

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

Приведенная ниже таблица иллюстрирует этот компромисс на наборе данныхCOCO val2017. В то время как модели EfficientDet достигают высоких mAP с меньшим количеством параметров, YOLOv5 демонстрирует значительно более быстрое время вывода на графических процессорах NVIDIA T4 с использованием TensorRT.

Модельразмер
(пиксели)
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

Как показано на рисунке, YOLOv5n достигает впечатляющей задержки в 1,12 мс на GPU, значительно превосходя самый маленький вариант EfficientDet. Для приложений, где важны миллисекунды, таких как автономные транспортные средства или высокоскоростные производственные линии, такое преимущество в скорости очень важно.

Архитектурные различия

Понимание структурной схемы каждой модели помогает прояснить их эксплуатационные характеристики.

Ultralytics YOLOv5

В YOLOv5 используется магистраль CSPDarknet в сочетании с горловиной PANet. Эта архитектура разработана для максимизации градиентного потока и эффективности извлечения признаков.

  • Магистраль: Использует соединения Cross Stage Partial (CSP) для уменьшения избыточной информации о градиенте, улучшая способность к обучению при уменьшении параметров.
  • Шея: Сеть Path Aggregation Network (PANet) для надежного слияния разномасштабных признаков, улучшающая обнаружение объектов различных размеров.
  • Голова: стандартная голова обнаружения на основе якорей YOLO предсказывает классы и ограничительные рамки напрямую.

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

EfficientDet

EfficientDet построен на основе EfficientNet и представляет собой взвешенную двунаправленную сеть Feature Pyramid Network (BiFPN).

  • Магистраль: Использует EfficientNet, который равномерно масштабирует глубину, ширину и разрешение с помощью составного коэффициента.
  • Шея (BiFPN): Сложный слой интеграции признаков, который позволяет информации поступать как сверху вниз, так и снизу вверх, применяя весовые коэффициенты к различным входным признакам, чтобы подчеркнуть их важность.
  • Масштабирование соединений: Ключевое нововведение, при котором магистраль, BiFPN и сети предсказания боксов/классов масштабируются вместе.

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

Преимущество Ultralytics : Экосистема и удобство использования

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

Простота использования и интеграции

YOLOv5 славится своим удобством использования "из коробки". Модель можно установить с помощью простой команды pip и использовать с минимальным количеством кода. В отличие от этого, реализации EfficientDet часто требуют более сложной настройки в экосистеме TensorFlow или в специальных исследовательских репозиториях.

Оптимизированный рабочий процесс

С Ultralytics вы можете перейти от набора данных к обученной модели за считанные минуты. Интеграция с такими инструментами, как Ultralytics HUB, позволяет легко управлять моделями, визуализировать и развертывать их без использования большого количества шаблонов кода.

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

Модели Ultralytics оптимизированы для повышения эффективности обучения. Они обычно сходятся быстрее и требуют меньше памяти CUDA по сравнению со сложными архитектурами, такими как более высокие уровни масштабирования EfficientDet или модели на основе трансформаторов. Такой низкий барьер для входа позволяет разработчикам обучать самые современные модели на оборудовании потребительского класса или стандартных облачных инстансах, таких как Google Colab.

Универсальность и многозадачность

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

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

Выбор между YOLOv5 и EfficientDet во многом зависит от ограничений и целей развертывания.

Когда стоит выбрать Ultralytics YOLOv5

  • Приложения реального времени: Проекты, требующие низкой задержки, такие как видеонаблюдение, робототехника или спортивная аналитика в реальном времени.
  • Пограничное развертывание: Работа на таких устройствах, как NVIDIA Jetson или Raspberry Pi, где эффективное использование GPU является ключевым фактором.
  • Быстрое прототипирование: Когда приоритетны быстрые циклы итераций и простота использования для быстрой демонстрации ценности.
  • Производственные системы: Для надежных, удобных в обслуживании развертываний, поддерживаемых многочисленным сообществом разработчиков с открытым исходным кодом.

Когда следует выбирать EfficientDet

  • Исследования и бенчмаркинг: Академические исследования, посвященные эффективности FLOPs или законам масштабирования архитектуры.
  • Автономная обработка: Сценарии, в которых допустима высокая задержка, а цель - выжать последние проценты точности на статичных изображениях.
  • Маломощный CPU вывод: В очень специфических средах с CPU, где операции BiFPN сильно оптимизированы для конкретного набора аппаратных инструкций.

Происхождение и детализация модели

Понимание контекста этих моделей позволяет понять цели их разработки.

Ultralytics YOLOv5

EfficientDet

Пример кода: Начало работы с YOLOv5

Ultralytics делает выводы невероятно простыми. Ниже приведен действующий и выполнимый пример с использованием API Python для detect объектов на изображении.

import torch

# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image URL
img_url = "https://ultralytics.com/images/zidane.jpg"

# Perform inference
results = model(img_url)

# Display results
results.show()

# Print detection data (coordinates, confidence, class)
print(results.pandas().xyxy[0])

Этот простой фрагмент справляется с загрузкой модели, предварительной обработкой изображения, выполнением прямого прохода и декодированием выходных данных - задачами, которые потребовали бы значительно большего объема кода в сырых реализациях EfficientDet.

Заключение

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

Для тех, кто хочет использовать самые последние достижения в области технологий компьютерного зрения, Ultralytics продолжает внедрять инновации и после YOLOv5. Такие модели, как YOLOv8 и передовая YOLO11 предлагают дальнейшие улучшения в архитектуре, поддерживая еще больше задач, таких как оценка позы и ориентированное обнаружение объектов, сохраняя при этом фирменную простоту использования, которая определяет опыт Ultralytics .

Изучите другие модели

Если вы хотите изучить больше сравнений, чтобы найти идеальную модель для ваших нужд, обратите внимание на эти ресурсы:


Комментарии