EfficientDet против YOLO11: баланс между эффективностью и производительностью в реальном времени
Область обнаружения объектов стремительно развивается, что обусловлено необходимостью создания моделей, которые были бы не только точными, но и достаточно эффективными для применения в реальном мире. Двумя важными вехами в этой эволюции стали разработки Google EfficientDet и Ultralytics YOLO11. Хотя обе архитектуры нацелены на оптимизацию компромисса между скоростью и точностью, они подходят к проблеме с разной философией проектирования и нацелены на разные основные сценарии использования.
EfficientDet произвел революцию в этой области, представив систематический метод масштабирования размеров модели, уделяя особое внимание эффективности параметров и теоретическим затратам на вычисления (FLOPs). В отличие от них, YOLO11 представляет собой передовой край компьютерного зрения в реальном времени, ставя во главу угла практическую скорость вывода выводов на современном оборудовании, универсальность для разных задач и ориентированность на разработчиков. Это всестороннее сравнение позволяет изучить их технические характеристики, архитектурные инновации и эталоны производительности, чтобы помочь вам выбрать подходящий инструмент для вашего проекта.
EfficientDet от Google
EfficientDet - это семейство моделей обнаружения объектов, разработанное командой Google Brain. Оно было выпущено в конце 2019 года и призвано решить проблему неэффективности предыдущих современных детекторов, которые часто опирались на массивные магистрали или неоптимизированные сети слияния признаков.
Технические детали:
- Авторы: Мингксинг Тан, Руоминг Панг, Куок В. Ле
- Организация:Google
- Дата: 20.11.2019
- Arxiv:EfficientDet: Масштабируемое и эффективное обнаружение объектов
- GitHub:google
- Документы:EfficientDet README
Архитектура и Ключевые Инновации
Успех EfficientDet заключается в двух основных архитектурных решениях, которые работают в тандеме для достижения максимальной эффективности:
- BiFPN (Bi-directional Feature Pyramid Network): Традиционные сети пирамид признаков (FPN) объединяли признаки разных масштабов по принципу "сверху вниз". Компания EfficientDet представила BiFPN, которая позволяет передавать информацию как сверху вниз, так и снизу вверх. Кроме того, в ней используется механизм взвешенного объединения признаков, учитывающий важность каждого входного признака, что позволяет сети отдавать предпочтение более информативным сигналам.
- Компаунд-масштабирование: Вдохновленный EfficientNet, этот метод создает семейство моделей (от D0 до D7) путем равномерного масштабирования разрешения, глубины и ширины опорной сети, сети признаков и сети предсказаний. Это гарантирует, что по мере роста модели будет поддерживаться баланс между ее различными компонентами, оптимизируя количество FLOP и количество параметров.
Магистраль EfficientNet
В качестве основы EfficientDet использует EfficientNet - классификационную сеть, также разработанную Google. EfficientNet была оптимизирована с помощью поиска нейронной архитектуры (NAS), чтобы найти наиболее эффективную структуру сети, в значительной степени используя разделимые по глубине свертки для сокращения вычислений.
Сильные и слабые стороны
EfficientDet славится высокой эффективностью параметров, достигая конкурентоспособных mAPval при значительно меньшем числе параметров, чем у многих других аналогов. Его масштабируемость позволяет исследователям выбирать размер модели, который точно соответствует их теоретическому бюджету вычислений.
Однако теоретическая эффективность не всегда переходит в практическую скорость. Широкое использование делимых по глубине сверток и сложная связность BiFPN могут привести к снижению загрузки GPU . Следовательно, задержка вывода на графических процессорах часто выше по сравнению с моделями, оптимизированными для параллельной обработки, такими как серия YOLO . Кроме того, EfficientDet является исключительно детектором объектов, не имея встроенной поддержки других задач компьютерного зрения, таких как сегментация объектов или оценка позы в рамках одной и той же кодовой базы.
Идеальные варианты использования
- Edge AI на центральных процессорах: Устройства, где память является жестким ограничением, а GPU недоступно.
- Академические исследования: Исследования, посвященные эффективности нейронных сетей и законам масштабирования.
- Приложения с низким энергопотреблением: Сценарии, в которых минимизация потребления батареи (привязанная к FLOPs) более критична, чем сырая задержка.
Узнайте больше об EfficientDet
Ultralytics YOLO11
Ultralytics YOLO11 это последняя итерация известной серии YOLO (You Only Look Once). Она опирается на наследие производительности в реальном времени, внедряя архитектурные усовершенствования, которые расширяют границы точности, сохраняя при этом молниеносную скорость выводов, которую ожидают разработчики.
Технические детали:
- Авторы: Гленн Джохер, Цзин Цю
- Организация:Ultralytics
- Дата: 2024-09-27
- GitHub:ultralytics
- Документы:ДокументацияYOLO11
Архитектура и особенности
В YOLO11 используется современная головка обнаружения без якорей, что устраняет необходимость в ручной настройке якорных блоков и упрощает процесс обучения. Архитектуры ее "позвоночника" и "шеи" были оптимизированы для расширения возможностей извлечения признаков, что повышает производительность при решении таких сложных задач, как обнаружение мелких объектов и загроможденных сцен.
В отличие от EfficientDet, в котором основное внимание уделяется сокращению количества FLOP, YOLO11 разработан с учетом аппаратной эффективности. Это означает, что его слои и операции подобраны таким образом, чтобы максимизировать производительность на GPU и NPU-ускорителях.
Универсальность без границ
Одна архитектура модели YOLO11 поддерживает широкий спектр задач технического зрения. В рамках одной и той же структуры вы можете выполнять обнаружение объектов, сегментацию объектов, Классификация изображений, Оценка позыи Ориентированная граница (OBB) обнаружение.
Сильные и слабые стороны
Главное достоинство YOLO11- исключительный баланс скорости и точности. Он обеспечивает современную точность, которая конкурирует или превосходит более крупные модели, и при этом работает с меньшей задержкой. Это делает его идеальным для приложений, работающих в режиме реального времени. Кроме того, экосистема Ultralytics обеспечивает простоту использования благодаря унифицированному API, что делает обучение и развертывание беспроблемными.
Одно из соображений заключается в том, что самые маленькие варианты YOLO11 , хотя и невероятно быстрые, могут иметь небольшой запас точности по сравнению с самыми большими, тяжелыми в вычислительном отношении моделями, доступными в научных кругах. Однако для практического применения этот компромисс почти всегда оказывается выгодным.
Идеальные варианты использования
- Автономные системы: Восприятие в реальном времени для робототехники и автономных транспортных средств.
- Промышленная автоматизация: Высокоскоростной контроль качества производства и обнаружение дефектов.
- Умные города: Эффективный мониторинг дорожного движения и наблюдение за безопасностью.
- Интерактивные приложения: Мобильные приложения, требующие мгновенной визуальной обратной связи.
Сравнение производительности
При сравнении EfficientDet и YOLO11 наиболее заметная разница заключается в скорости вывода, особенно на аппаратном обеспечении GPU . Хотя модели EfficientDet (D0-D7) демонстрируют хорошую эффективность по параметрам, их сложные операции (например, BiFPN) не позволяют в полной мере использовать возможности параллельной обработки.
Как показано в таблице ниже, YOLO11n достигает более высокого mAP (39,5), чем EfficientDet-d0 (34,6), и при этом работает значительно быстрее. Что еще более впечатляет, YOLO11m соответствует точности гораздо более тяжелого EfficientDet-d5 (51,5 mAP), но работает примерно в 14 раз быстрее на GPU T4 (4,7 мс против 67,86 мс). Такое значительное преимущество в скорости позволяет YOLO11 обрабатывать видеопотоки высокого разрешения в режиме реального времени, что является сложной задачей для более высокоуровневых моделей EfficientDet.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Преимущество Ultralytics
Хотя технические показатели имеют решающее значение, опыт разработчиков и поддержка экосистемы не менее важны для успеха проекта. Ultralytics предоставляет полный набор инструментов, упрощающих весь жизненный цикл MLOps, и предлагает явные преимущества по сравнению с репозиторием EfficientDet, ориентированным на исследования.
- Простота использования: Ultralytics Python API и CLI разработаны для простоты. Вы можете загрузить, обучить и развернуть самую современную модель всего несколькими строками кода, в то время как EfficientDet часто требует сложных конфигурационных файлов и управления зависимостями в TensorFlow.
- Хорошо поддерживаемая экосистема: Модели Ultralytics поддерживаются активным сообществом и часто обновляются. Начиная с репозитория GitHub и заканчивая обширной документацией, разработчики имеют доступ к множеству ресурсов, руководств и каналов поддержки.
- Эффективность обучения: YOLO11 оптимизирован для быстрой сходимости. Он поддерживает эффективную загрузку данных и стратегии дополнения, которые сокращают время обучения. Кроме того, более низкие требования к памяти по сравнению со старыми архитектурами или моделями на основе трансформаторов позволяют проводить обучение на графических процессорах потребительского класса, не исчерпывая память CUDA .
- Гибкость развертывания: Фреймворк поддерживает экспорт моделей в различные форматы, включая ONNX, TensorRT, CoreML и OpenVINO. Это гарантирует, что ваша модель YOLO11 может быть развернута где угодно, от облачных серверов до пограничных устройств, таких как Raspberry Pi.
Практическая работа с YOLO11
Оцените простоту API Ultralytics . В следующем примере показано, как загрузить предварительно обученную модель YOLO11 и выполнить вывод на изображении:
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image source
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Заключение
И EfficientDet, и YOLO11 являются знаковыми достижениями в области компьютерного зрения. EfficientDet остается ценным эталоном для проектирования масштабируемой архитектуры и подходит для нишевых приложений, где теоретические FLOP являются основным ограничением.
Однако для подавляющего большинства современных приложений компьютерного зрения, Ultralytics YOLO11 является лучшим выбором. Его архитектура обеспечивает гораздо лучший баланс точности и скорости, особенно на GPU , используемом в большинстве производственных сред. В сочетании с универсальным многозадачным фреймворком, надежной экосистемой и непревзойденной простотой использования YOLO11 позволяет разработчикам уверенно создавать и внедрять высокопроизводительные решения в области ИИ.
Изучите другие сравнения
Чтобы лучше понять ландшафт моделей обнаружения объектов, рассмотрите эти дополнительные сравнения:
- YOLO11 против YOLOv10
- YOLO11 vs. RT-DETR
- YOLO11 против YOLOv9
- YOLOv8 vs. EfficientDet
- YOLOX в сравнении с EfficientDet