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

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

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

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

YOLOv10: обнаружение объектов в реальном времени от конца до конца

YOLOv10 представляет собой значительный скачок в серии YOLO (You Only Look Once), сфокусированный на устранении шага постобработки не-максимального подавленияNMS), который часто снижает скорость вывода. Благодаря использованию последовательных двойных назначений для обучения NMS, достигается конкурентоспособная производительность с меньшей задержкой по сравнению с предыдущими итерациями.

Технические детали:

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

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

YOLOv10 представляет целостный дизайн модели, ориентированный на эффективность и точность. Основное новшество заключается в двойной стратегии назначений. Во время обучения модель использует как назначения "один ко многим" (обычные для YOLOv8) для богатого контроля, так и назначения "один к одному" для обеспечения сквозного развертывания без NMS.

  1. ОбучениеNMS: Традиционные детекторы требуют NMS для фильтрации дублирующихся ограничивающих боксов, что вносит задержку в вывод. Архитектура YOLOv10 позволяет модели предсказывать только одну рамку для каждого объекта во время вывода, эффективно устраняя эти накладные расходы.
  2. Дизайн, ориентированный на эффективность: В модели используются облегченные классификационные головки и пространственно-канальная понижающая дискретизация для снижения вычислительных затрат (FLOPs) и количества параметров.
  3. Свертки с большими ядрами: Благодаря выборочному использованию сверток с большими ядрами по глубине YOLOv10 расширяет свое рецептивное поле и увеличивает способность detect мелкие объекты без значительного увеличения объема вычислений.

Почему NMS имеет значение

Устранение немаксимального подавленияNMS) создает действительно сквозной конвейер. Это очень важно для краевых приложений ИИ, где каждая миллисекунда на счету, например, на устройствах NVIDIA Jetson, обеспечивая стабильную и предсказуемую задержку.

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

  • Высочайшая скорость: Оптимизированы для проведения выводов в реальном времени, значительно превосходят старые модели на аппаратном обеспечении GPU .
  • Интеграция сUltralytics : Являясь частью экосистемы Ultralytics , YOLOv10 имеет простой API на Python , что значительно упрощает обучение, проверку и развертывание.
  • Меньшее потребление памяти: Эффективная архитектура требует меньше памяти CUDA во время обучения по сравнению с детекторами на основе трансформаторов, такими как RT-DETR.

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

Система EfficientDet, разработанная командой Google Brain, была призвана оптимизировать точность и эффективность. В ней было представлено семейство моделей (D0-D7), масштабированных с помощью комбинированного метода масштабирования, который равномерно регулирует разрешение, глубину и ширину.

Технические детали:

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

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

EfficientDet построен на базе EfficientNet и представляет BiFPN (Bi-directional Feature Pyramid Network).

  1. BiFPN: В отличие от стандартных FPN, BiFPN допускает двунаправленный поток информации и использует обучаемые веса для объединения признаков из разных масштабов. Это приводит к лучшему многомасштабному представлению признаков с меньшим количеством параметров.
  2. Компаунд-масштабирование: Этот метод обеспечивает эффективное совместное масштабирование магистрали, сети признаков и сети предсказания ящиков/классов. Модель D0 - маленькая и быстрая для мобильных устройств, а модель D7 обеспечивает самую высокую точность в средах с большими ресурсами.

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

  • Эффективность параметров: EfficientDet известен тем, что обеспечивает высокую mAP при относительно небольшом количестве параметров и FLOP.
  • Масштабируемость: Линейка D0-D7 обеспечивает гибкость для различных вычислительных бюджетов.
  • Высокая латентность: Несмотря на низкое количество FLOP, сложные соединения в BiFPN и разделяемые по глубине свертки могут привести к более высокой задержке на GPU по сравнению с оптимизированными архитектурами CNN в моделях YOLO .
  • Сложность: Архитектуру сложнее настраивать и регулировать по сравнению с простым дизайном Ultralytics YOLOv8 или YOLOv10.

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

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

Приведенная ниже таблица демонстрирует, что, несмотря на компактность моделей EfficientDet, YOLOv10 обеспечивает гораздо лучший компромисс для приложений реального времени. Например, YOLOv10 обеспечивает конкурентоспособную производительность 46,7 % mAP при задержке всего 2,66 мс на GPU T4, в то время как EfficientDet-d3 (47,5 % mAP) работает почти в 7 раз медленнее - 19,59 мс.

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

Интерпретация

  • ДоминированиеGPU : В YOLOv10 используются аппаратно-ориентированные конструктивные решения, которые хорошо подходят для архитектур GPU , что обеспечивает значительно более высокую пропускную способность.
  • Паритет точности: Новые стратегии обучения позволяют YOLOv10 соответствовать или превосходить по точности гораздо более медленные варианты EfficientDet.
  • Развертывание: NMS в YOLOv10 упрощает процесс экспорта в такие форматы, как TensorRT и ONNX, что снижает сложность конвейера развертывания.

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

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

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

YOLOv10 интегрирован в пакет Ultralytics Python , обеспечивая бесшовный опыт от аннотации данных до развертывания.

  • Простой API: Вы можете загружать, обучать и прогнозировать с помощью всего нескольких строк кода.
  • Хорошо поддерживается: Частые обновления, поддержка сообщества и обширная документация гарантируют, что вам не придется отлаживать непонятные ошибки.
  • Эффективность обучения: Модели Ultralytics оптимизированы для быстрой сходимости. Предварительно обученные веса легко доступны, что позволяет эффективно проводить трансферное обучение на пользовательских наборах данных.

Обучение YOLOv10 с помощью Ultralytics

Обучение модели YOLOv10 на наборе данных COCO8 осуществляется с помощью API Ultralytics .

from ultralytics import YOLO

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

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

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

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

Выбор между YOLOv10 и EfficientDet зависит от ваших конкретных ограничений.

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

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

  • Автономные системы: Самоуправляемые автомобили и беспилотники требуют низких задержек обнаружения для обеспечения безопасности. Скорость YOLOv10 обеспечивает быстрое время реакции.
  • Видеоаналитика: Обработка видеопотоков с высокой частотой кадров для охранного видеонаблюдения или мониторинга трафика.
  • Пограничное развертывание: Развертывание на встраиваемых устройствах, таких как Raspberry Pi или NVIDIA Jetson, где ресурсы ограничены, но производительность в реальном времени не подлежит обсуждению.

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

EfficientDet остается актуальным в специфических нишевых сценариях:

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

Заключение

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

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

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

Посмотреть больше сравнений


Комментарии