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

EfficientDet против YOLOv10: эволюция эффективности обнаружения объектов

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

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

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

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

EfficientDet

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

YOLOv10

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

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

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

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

EfficientDet: Масштабирование соединений и BiFPN

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

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

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

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

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

Преимущество умозаключений NMS

Немаксимальное подавлениеNMSНМП) - это этап постобработки, используемый для фильтрации перекрывающихся ограничительных рамок. Это последовательный и вычислительно затратный процесс, скорость которого часто зависит от количества обнаруженных объектов. Благодаря архитектуре, которая естественным образом предсказывает один бокс на объект (из конца в конец), YOLOv10 стабилизирует задержку вывода, делая ее высоко предсказуемой для приложений краевого ИИ.

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

При сравнении производительности YOLOv10 демонстрирует значительные преимущества на современном оборудовании, особенно на графических процессорах. В то время как 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 обеспечивает значительное сокращение времени вывода. Например, 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 во время обучения по сравнению со старыми архитектурами или моделями на основе тяжелых трансформаторов.

Пример кода

Обучение 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 остается актуальным в определенных контекстах:

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

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

YOLOv10

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

EfficientDet

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

Заключение

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

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

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

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

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


Комментарии