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

EfficientDet vs. YOLOv10: эволюция эффективности detect object

В быстро развивающемся мире компьютерного зрения продолжается поиск оптимального баланса между вычислительной эффективностью и точностью обнаружения. Двумя архитектурами, определившими свои эпохи, являются EfficientDet, масштабируемое семейство моделей от Google Research, и YOLOv10, новейший детектор реального времени от исследователей из Университета Цинхуа.

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

Происхождение и обзор модели

Понимание исторического контекста этих моделей помогает оценить технологические скачки, сделанные в последние годы.

EfficientDet

EfficientDet был представлен в конце 2019 года с целью решения проблемы неэффективности масштабирования моделей detect object. Он предложил метод compound scaling, который равномерно масштабирует разрешение, глубину и ширину.

YOLOv10

Выпущенная в мае 2024 года, YOLOv10 расширяет границы обнаружения в реальном времени, устраняя необходимость в Non-Maximum Suppression (NMS) во время постобработки, что приводит к снижению задержки и упрощению развертывания.

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

Архитектурное Глубокое Погружение

Основное различие между этими моделями заключается в их подходе к объединению признаков и постобработке.

EfficientDet: Комбинированное масштабирование и BiFPN

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

Несмотря на теоретическую эффективность с точки зрения FLOPs (Floating Point Operations per Second), интенсивное использование depth-wise separable convolutions и сложная структура BiFPN иногда могут приводить к более низкой пропускной способности на оборудовании GPU по сравнению с более простыми архитектурами.

YOLOv10: Сквозное обнаружение без NMS

YOLOv10 представляет собой смену парадигмы, устраняя зависимость от NMS. Традиционные real-time detectors генерируют многочисленные избыточные прогнозы, которые необходимо отфильтровать, создавая узкое место задержки. YOLOv10 использует consistent dual assignments во время обучения: head «один ко многим» для богатых контрольных сигналов и head «один к одному» для точной inference без NMS.

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

Преимущество NMS-Free Inference

Non-Maximum Suppression (NMS) (Немаксимальное подавление) — это этап постобработки, используемый для фильтрации перекрывающихся ограничивающих рамок. Он является последовательным и вычислительно затратным, часто варьируясь по скорости в зависимости от количества обнаруженных объектов. Благодаря разработке архитектуры, которая естественным образом предсказывает одну рамку на объект (end-to-end), YOLOv10 стабилизирует задержку вывода, что делает ее очень предсказуемой для приложений edge AI.

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

При сравнении производительности YOLOv10 демонстрирует значительные преимущества на современном оборудовании, особенно на GPU. В то время как EfficientDet был оптимизирован для FLOPs, YOLOv10 оптимизирован для фактической задержки и пропускной способности.

Модельразмер
(пиксели)
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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

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

  • Задержка GPU: YOLOv10 предлагает значительное сокращение времени inference. Например, YOLOv10b достигает более высокого mAP (52.7), чем EfficientDet-d6 (52.6), и при этом более чем в 13 раз быстрее на GPU T4 (6.54 мс против 89.29 мс).
  • Эффективность параметров: Модели YOLOv10 обычно требуют меньше параметров для сопоставимой точности. Вариант YOLOv10n чрезвычайно легок (2,3 млн параметров), что делает его идеальным для мобильных развертываний.
  • Точность: В верхнем диапазоне YOLOv10x достигает современного mAP 54.4, превосходя крупнейший вариант EfficientDet-d7, сохраняя при этом малую часть задержки.

Эффективность обучения и простота использования

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

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

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

  • Простой API: Обучите модель в 3 строки кода.
  • Документация: Подробные руководства и примеры.
  • Сообщество: Обширное, активное сообщество, обеспечивающее поддержку и обновления.
  • Эффективность использования памяти: Модели Ultralytics YOLO оптимизированы для снижения использования памяти CUDA во время обучения по сравнению со старыми архитектурами или тяжелыми моделями на основе transformer.

Пример кода

Обучение YOLOv10 с Ultralytics не представляет сложности. Платформа автоматически обрабатывает увеличение объема данных, настройку гиперпараметров и ведение журнала.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Train the model on your custom dataset
# efficiently using available GPU resources
model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16)

# Run inference on an image
results = model("path/to/image.jpg")

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

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

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

YOLOv10: Приложения реального времени и периферийные вычисления

Благодаря своей конструкции без NMS и низкой задержке, YOLOv10 является превосходным выбором для задач, критичных ко времени.

  • Автономные системы: Критически важна для самоуправляемых автомобилей и дронов, где решения с миллисекундной задержкой предотвращают аварии.
  • Производство: Высокоскоростной контроль качества на конвейерных лентах, где объекты движутся очень быстро.
  • Интеллектуальная розничная торговля: Управление запасами в реальном времени и аналитика клиентов с использованием периферийных устройств.
  • Мобильные приложения: Компактный размер YOLOv10n обеспечивает плавное развертывание на устройствах iOS и Android через CoreML или TFLite.

EfficientDet: Академические и устаревшие системы

EfficientDet остается актуальным в определенных контекстах:

  • CPU с ограниченными ресурсами: Меньшие варианты EfficientDet (d0, d1) в высшей степени оптимизированы для режимов с низким FLOP, иногда хорошо работают на устаревшем оборудовании, работающем только на CPU.
  • Базовые показатели для исследований: Он служит отличной отправной точкой для академических исследований, сравнивающих законы масштабирования в нейронных сетях.
  • Существующие конвейеры: Организациям с устаревшими конвейерами TensorFlow может быть проще поддерживать существующие развертывания EfficientDet, чем выполнять миграцию.

Краткое изложение сильных и слабых сторон

YOLOv10

  • Преимущества:
    • Без NMS: Сквозное развертывание упрощает интеграцию.
    • Баланс производительности: Непревзойденный компромисс между скоростью и точностью на GPU.
    • Универсальность: Возможность эффективной обработки различных задач detect.
    • Хорошо поддерживается: Поддержка экосистемы Ultralytics с частыми обновлениями.
  • Слабые стороны:
    • Будучи более новой архитектурой, она может иметь меньше лет долгосрочного тестирования стабильности по сравнению с моделями 2019 года, хотя быстрое внедрение смягчает это.

EfficientDet

  • Преимущества:
    • Масштабируемость: Метод составного масштабирования теоретически элегантен и эффективен.
    • Эффективность параметров: Хорошее соотношение точности к параметрам для своего времени.
  • Слабые стороны:
    • Медленный вывод: Интенсивное использование depth-wise сверток часто происходит медленнее на GPU, чем стандартные свертки YOLO.
    • Сложность: BiFPN добавляет архитектурную сложность, которую может быть труднее отлаживать или оптимизировать для пользовательских аппаратных ускорителей.

Заключение

В то время как EfficientDet была новаторской архитектурой, которая представила важные концепции в масштабировании моделей, YOLOv10 представляет собой современный стандарт для обнаружения объектов. Переход к архитектурам без NMS, end-to-end позволяет YOLOv10 обеспечивать превосходную производительность, что имеет решающее значение для современных приложений реального времени.

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

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

Изучите другие сравнения

Чтобы принять наиболее обоснованное решение, рассмотрите возможность ознакомления с этими связанными техническими сравнениями:


Комментарии