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

EfficientDet против YOLOv7: всестороннее техническое сравнение

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

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

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

Модельразмер
(пиксели)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Основные выводы

  • Эффективность по сравнению с задержкой: EfficientDet достигает замечательной эффективности по параметрам (малый размер модели) благодаря составному масштабированию. Однако на аппаратном обеспечении GPU (T4 TensorRT), YOLOv7 демонстрирует более высокую задержку. Например, YOLOv7l достигает 51,4 % mAP всего за 6,84 мс, в то время как EfficientDet-d5 требуется 67,86 мс для аналогичного mAP в 51,5 %.
  • Влияние на архитектуру: Глубинные сепарабельные свертки, используемые в EfficientDet, минимизируют количество FLOP, но могут быть менее оптимизированы на GPU по сравнению с плотными свертками в YOLOv7, что и приводит к наблюдаемым расхождениям в скорости.

Обзор EfficientDet

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

EfficientDet Подробнее: Авторы: Mingxing Tan, Ruoming Pang, and Quoc V. Le
Организация: Google
Дата: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https:google

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

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

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

Обзор YOLOv7

YOLOv7, выпущенная в 2022 году, расширила границы обнаружения объектов в реальном времени, сосредоточившись на оптимизации процесса обучения и архитектуры для повышения скорости вывода. В ней появилось несколько "бесплатных мешков", которые повышают точность без увеличения стоимости вывода.

YOLOv7 Подробнее: Авторы: Chien-Yao Wang, Алексей Бочковский, и Hong-Yuan Mark Liao
Организация: Институт информационных наук, Academia Sinica, Тайвань
Дата: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7

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

В YOLOv7 используется E-ELAN (Extended Efficient Layer Aggregation Network), которая контролирует кратчайшие и длинные градиентные пути, позволяя сети изучать более разнообразные характеристики. В ней также используется масштабирование модели для моделей на основе конкатенации, что позволяет ей сохранять оптимальную структуру при различных размерах. Архитектура специально настроена на эффективность работы с GPU , избегая операций, которые имеют высокую стоимость доступа к памяти, несмотря на низкое количество FLOP.

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

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

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

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

EfficientDet идеально подходит для средCPU или граничных устройств, где пропускная способность памяти и объем хранения строго ограничены. Благодаря малому количеству параметров он подходит для:

  • Мобильные приложения: Приложения для iOS , для которых размер приложения (размер APK) является критическим ограничением.
  • Встраиваемые системы: Устройства типа Raspberry Pi (старших поколений), работающие на CPU.
  • Академические исследования: Изучение эффектов комбинированного масштабирования и методов объединения признаков.

Когда выбирать YOLOv7

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

  • Наблюдение в реальном времени: Обработка нескольких видеопотоков одновременно на пограничных серверах.
  • Автономное вождение: Где миллисекундная задержка может повлиять на безопасность.
  • Робототехника: Для быстрого обнаружения объектов и взаимодействия в динамических средах.

Современные альтернативы

Несмотря на мощный потенциал EfficientDet и YOLOv7 , в этой области произошли изменения. Для новых проектов, YOLO11 обычно рекомендуется. Он сочетает в себе концепции эффективности современных магистралей и скорость работы в реальном времени семейства YOLO , часто превосходя обоих предшественников по точности и простоте развертывания.

Почему стоит выбрать модели Ultralytics YOLO?

В то время как EfficientDet и YOLOv7 остаются значительным вкладом в компьютерное зрение, экосистема Ultralytics , включающая такие модели, как YOLOv8 и передовая YOLO11-предлагает разработчикам и исследователям явные преимущества.

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

Устаревшие модели часто требуют сложных этапов установки, специальных версий CUDA или фрагментированных кодовых баз. В отличие от них, Ultralytics ориентирована на унифицированный, упрощенный пользовательский опыт. С помощью простого pip install ultralyticsпользователи получают доступ к надежному API на Python и Команды CLI которые стандартизируют обучение, проверку и развертывание. Сайт Хорошо поддерживаемая экосистема Обеспечивает частые обновления, широкую поддержку оборудования и интеграцию с такими инструментами, как Ultralytics HUB для бесперебойной работы MLOps.

Баланс производительности и эффективность памяти

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

Универсальность и эффективность обучения

В отличие от многих специфических детекторов, модели Ultralytics очень универсальны. Один фреймворк поддерживает:

Эта универсальность в сочетании с эффективностью обучения - благодаряоптимизированным загрузчикам данных и легкодоступным предварительно обученным весам на COCO-значительно сокращает время вывода решений ИИ на рынок.

Пример: Запуск современной модели YOLO

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

from ultralytics import YOLO

# Load the latest YOLO11 model (pre-trained on COCO)
model = YOLO("yolo11n.pt")

# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Process results
for result in results:
    result.save()  # Save the annotated image to disk
    print(f"Detected {len(result.boxes)} objects.")

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

Заключение

EfficientDet и YOLOv7 представляют две разные философии в истории компьютерного зрения: одна оптимизирует теоретическую эффективность (FLOPs/Params), а другая - практическую аппаратную задержку. EfficientDet остается сильным эталоном для приложений на CPU с ограниченными параметрами, в то время как YOLOv7 хорошо подходит для высокоскоростных рабочих нагрузок на GPU .

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

Сравнения с другими моделями

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


Комментарии