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

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

Ландшафт object detection быстро развивался, что было обусловлено постоянной необходимостью сбалансировать точность и вычислительную эффективность. Двумя архитектурами, которые оказали значительное влияние на эту область, являются EfficientDet, разработанная командой Google Brain, и YOLOv5, созданная Ultralytics. Хотя обе модели направлены на эффективное обнаружение объектов на изображениях, они подходят к проблеме с принципиально разными философиями проектирования и архитектурными стратегиями.

В этом руководстве представлено углубленное техническое сравнение, чтобы помочь разработчикам, исследователям и инженерам выбрать правильный инструмент для их конкретных приложений компьютерного зрения.

EfficientDet: Масштабируемый и эффективный

Выпущенная в конце 2019 года система EfficientDet была разработана с целью оптимизации точности и эффективности одновременно. Она представила концепцию "Compound Scaling" для обнаружения объектов - метод, который равномерно масштабирует разрешение, глубину и ширину опорной сети.

Основные характеристики архитектуры

EfficientDet построен на основе EfficientNet и представляет собой новую сеть слияния признаков под названием BiFPN (Bidirectional Feature Pyramid Network). В отличие от традиционных Feature Pyramid Networks (FPN), которые ограничивают поток информации сверху вниз, BiFPN обеспечивает сложный двунаправленный поток информации между различными слоями разрешения.

Модель также использует Compound Scaling, что позволяет пользователям выбирать из семейства моделей (D0–D7) в зависимости от ограничений ресурсов. Это гарантирует, что, если у вас больше вычислительных ресурсов, вы можете линейно увеличить размер модели, чтобы повысить точность.

Сильные и слабые стороны

Основная сила EfficientDet заключается в ее теоретической эффективности. Она достигает высоких показателей mAP с удивительно низким количеством FLOPs (операций с плавающей запятой). Это делает ее интересным кандидатом для академических исследований, где эффективность параметров является ключевой метрикой.

Однако EfficientDet страдает от практического недостатка: задержки вывода. Сложные соединения в BiFPN и широкое использование depth-wise separable convolutions — хотя и математически эффективны — часто не полностью оптимизированы на GPU по сравнению со стандартными convolutions. Следовательно, несмотря на более низкие FLOPs, EfficientDet может работать медленнее на GPU, чем модели с более высокими теоретическими вычислительными затратами.

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

Ultralytics YOLOv5: Производительность и удобство использования в реальных условиях

Ultralytics YOLOv5 ознаменовала собой сдвиг парадигмы, когда была выпущена в 2020 году. В отличие от своих предшественников, это была первая модель YOLO, реализованная изначально на PyTorch, что сделало ее доступной для огромной экосистемы разработчиков. В ней приоритет отдавался «удобству развертывания» наряду с чистой производительностью.

Основные характеристики архитектуры

YOLOv5 использует бэкбон CSPDarknet, который оптимизирует градиентный поток и уменьшает вычислительную нагрузку. Он впервые использовал Mosaic Augmentation во время обучения — технику, которая сшивает четыре изображения вместе, — улучшая способность модели detect мелкие объекты и уменьшая потребность в больших размерах мини-пакетов.

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

Преимущество экосистемы Ultralytics

Одним из наиболее значительных преимуществ YOLOv5 является окружающая экосистема. Ultralytics обеспечивает бесперебойный рабочий процесс, включающий генерацию автоматических якорей, эволюцию гиперпараметров и встроенную поддержку экспорта в ONNX, TensorRT, CoreML и TFLite. Такой подход «все включено» значительно сокращает время от концепции до производства.

Сильные и слабые стороны

YOLOv5 превосходен в inference в реальном времени и простоте использования. Его простой API и надежная документация позволяют разработчикам обучать пользовательские модели на своих собственных данных за считанные минуты. Он балансирует скорость и точность таким образом, чтобы это было оптимально для периферийного AI и облачных развертываний. Хотя новые модели, такие как YOLO11, с тех пор превзошли его по точности, YOLOv5 остается надежной, отраслевой рабочей лошадкой.

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

Метрики производительности: Скорость в сравнении с точностью

В следующей таблице сравнивается производительность EfficientDet и YOLOv5 на COCO val2017 dataset. Ключевой вывод — различие между теоретической стоимостью (FLOPs) и фактической скоростью (Latency).

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
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

Как показано, YOLOv5 доминирует по задержке на GPU. Например, YOLOv5s (37.4 mAP) работает при 1,92 мс на GPU T4, тогда как EfficientDet-d0 (34.6 mAP) занимает 3.92 мс—что делает YOLOv5 примерно В 2 раза быстрее при этом обеспечивая более высокую точность. Эта разница увеличивается с увеличением размера моделей; YOLOv5l (49.0 mAP) почти в 5 раз быстрее чем сопоставимый EfficientDet-d4 (49.7 mAP).

И наоборот, EfficientDet превосходно проявляет себя в средах, где используется только CPU, где низкое количество FLOPs часто лучше сказывается на производительности, как видно на скоростях ONNX CPU для небольших вариантов D0.

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

Выбор между этими моделями зависит от ваших конкретных ограничений:

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

  • Академическое сопоставление производительности: Когда основная цель состоит в демонстрации эффективности параметров или законов масштабирования архитектуры.
  • Строгие ограничения CPU: Если развертывание строго ограничено старым оборудованием CPU, где FLOPs являются абсолютным узким местом, самые маленькие варианты EfficientDet (D0-D1) предлагают конкурентоспособную производительность.
  • Исследования: Для изучения вариаций feature pyramid network, таких как BiFPN.

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

  • Приложения реального времени: Необходимы для автономных транспортных средств, робототехники и видеонаблюдения, где низкая задержка является обязательным условием.
  • Развертывание на производстве: Хорошо поддерживаемая экосистема и легкий экспорт в такие движки, как TensorRT и OpenVINO , делают YOLOv5 лучшим для коммерческих продуктов.
  • Эффективность обучения: Модели YOLOv5 обычно обучаются быстрее и требуют меньше памяти, чем сложные архитектуры, такие как EfficientDet или модели на основе трансформеров, что снижает затраты на облачные вычисления.
  • Универсальность: Помимо простых ограничивающих рамок, фреймворк Ultralytics обеспечивает плавный переход к задачам segment и classification.

Пример кода: Простота Ultralytics

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

import torch

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

# Define an image (URL or local path)
img = "https://ultralytics.com/images/zidane.jpg"

# Perform inference
results = model(img)

# Display results
results.print()  # Print predictions to console
results.show()  # Show image with bounding boxes

Заключение и перспективы на будущее

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

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

Для более подробного ознакомления со сравнением моделей Ultralytics с другими архитектурами изучите наши сравнения с YOLOv8 и RT-DETR.


Комментарии