EfficientDet vs. YOLO11: баланс эффективности и производительности в реальном времени
Ландшафт object detection быстро развивался, что было обусловлено потребностью в моделях, которые были бы не только точными, но и достаточно эффективными для развертывания в реальных условиях. Двумя важными вехами в этой эволюции являются EfficientDet от Google и Ultralytics YOLO11. Хотя обе архитектуры направлены на оптимизацию компромисса между скоростью и точностью, они подходят к проблеме с разными философиями проектирования и ориентированы на разные основные варианты использования.
EfficientDet произвел революцию в этой области, представив систематический метод масштабирования размеров модели, уделяя особое внимание эффективности параметров и теоретическим вычислительным затратам (FLOPs). В отличие от этого, YOLO11 представляет собой передовой уровень компьютерного зрения в реальном времени, уделяя приоритетное внимание практической скорости логического вывода на современном оборудовании, универсальности задач и удобству для разработчиков. Это всестороннее сравнение углубляется в их технические характеристики, архитектурные инновации и эталонные показатели производительности, чтобы помочь вам выбрать правильный инструмент для вашего проекта.
EfficientDet от Google
EfficientDet — это семейство моделей detect объектов, разработанных командой Google Brain. Выпущенный в конце 2019 года, он был разработан для решения проблемы неэффективности предыдущих современных детекторов, которые часто полагались на массивные backbone или неоптимизированные сети слияния признаков.
Технические детали:
- Авторы: Мингксинг Тан, Руоминг Панг, Куок В. Ле
- Организация:Google
- Дата: 20.11.2019
- Arxiv:EfficientDet: Масштабируемое и эффективное обнаружение объектов
- GitHub:google/automl/efficientdet
- Документация:EfficientDet README
Архитектура и Ключевые Инновации
Успех EfficientDet заключается в двух основных архитектурных вкладах, которые работают в тандеме для максимального повышения эффективности:
- BiFPN (Bi-directional Feature Pyramid Network): Традиционные Feature Pyramid Networks (FPN) объединяли признаки из разных масштабов сверху вниз. EfficientDet представила BiFPN, которая позволяет информации перемещаться как сверху вниз, так и снизу вверх. Кроме того, она использует механизм взвешенного объединения признаков, определяя важность каждого входного признака, что позволяет сети уделять приоритетное внимание более информативным сигналам.
- Compound Scaling: Вдохновленный EfficientNet, этот метод создает семейство моделей (от D0 до D7), равномерно масштабируя разрешение, глубину и ширину backbone, сети признаков и сетей предсказаний. Это гарантирует, что по мере роста модель поддерживает баланс между различными компонентами, оптимизируя FLOPs и количество параметров.
EfficientNet в качестве базовой сети
EfficientDet использует EfficientNet в качестве основы, классификационную сеть, также разработанную Google. EfficientNet был оптимизирован с использованием Neural Architecture Search (NAS), чтобы найти наиболее эффективную структуру сети, широко используя depth-wise separable convolutions для уменьшения вычислений.
Сильные и слабые стороны
EfficientDet известен своей высокой эффективностью параметров, достигая конкурентоспособных показателей mAPval со значительно меньшим количеством параметров, чем многие его современники. Его масштабируемость позволяет исследователям выбирать размер модели, который точно соответствует их теоретическому вычислительному бюджету.
Однако, теоретическая эффективность не всегда приводит к практической скорости. Обширное использование depth-wise separable convolutions и сложная связность BiFPN могут привести к снижению использования GPU. Следовательно, задержка inference на GPU часто выше по сравнению с моделями, оптимизированными для параллельной обработки, такими как серия YOLO. Кроме того, EfficientDet является строго детектором объектов, не имеющим встроенной поддержки других задач компьютерного зрения, таких как instance segmentation или оценка позы, в рамках одной и той же кодовой базы.
Идеальные варианты использования
- Edge AI на CPUs: Устройства, где память является жестким ограничением и ускорение GPU недоступно.
- Академические исследования: Исследования, посвященные эффективности нейронных сетей и законам масштабирования.
- Приложения с низким энергопотреблением: Сценарии, в которых минимизация потребления заряда батареи (связанного с FLOPs) более важна, чем необработанная задержка.
Узнайте больше об EfficientDet
Ultralytics YOLO11
Ultralytics YOLO11 — это последняя итерация в известной серии YOLO (You Only Look Once). Она опирается на наследие производительности в реальном времени, представляя архитектурные усовершенствования, которые расширяют границы точности, сохраняя при этом молниеносную скорость inference, которую ожидают разработчики.
Технические детали:
- Авторы: Гленн Джохер, Цзин Цю
- Организация:Ultralytics
- Дата: 2024-09-27
- GitHub:ultralytics/ultralytics
- Документация:Документация YOLO11
Архитектура и особенности
В YOLO11 используется современная anchor-free головка обнаружения, устраняющая необходимость в ручной настройке anchor box и упрощающая процесс обучения. Ее архитектуры backbone и neck были оптимизированы для улучшения возможностей извлечения признаков, повышения производительности при решении сложных задач, таких как обнаружение мелких объектов и загроможденные сцены.
В отличие от основного внимания EfficientDet к сокращению FLOP, YOLO11 разработан для аппаратно-ориентированной эффективности. Это означает, что его слои и операции выбираются для максимального увеличения пропускной способности на GPU и NPU ускорителях.
Раскрытие универсальности
Единая архитектура модели YOLO11 поддерживает широкий спектр задач компьютерного зрения. В рамках одной и той же платформы вы можете выполнять Object Detection, Instance Segmentation, Image Classification, Pose Estimation и Oriented Bounding Box (OBB) detection.
Сильные и слабые стороны
Основным преимуществом YOLO11 является исключительный баланс между скоростью и точностью. Она обеспечивает современную точность, которая конкурирует с более крупными моделями или превосходит их, при этом работая с меньшей задержкой. Это делает ее идеальной для приложений инференса в реальном времени. Кроме того, экосистема Ultralytics обеспечивает простоту использования благодаря унифицированному API, что делает обучение и развертывание беспроблемными.
Стоит учитывать, что самые маленькие варианты YOLO11, несмотря на свою невероятную скорость, могут незначительно уступать в точности самым большим и ресурсоемким моделям, доступным в научных кругах. Однако для практического применения этот компромисс почти всегда выгоден.
Идеальные варианты использования
- Автономные системы: Восприятие в реальном времени для робототехники и автономных транспортных средств.
- Промышленная автоматизация: Высокоскоростной контроль качества производства и detect дефектов.
- Умные города: Эффективный мониторинг трафика и охранное наблюдение.
- Интерактивные приложения: Мобильные приложения, требующие мгновенной визуальной обратной связи.
Сравнение производительности
При сравнении EfficientDet и YOLO11 наиболее заметное различие заключается в скорости инференса, особенно на оборудовании GPU. Хотя модели EfficientDet (D0-D7) демонстрируют хорошую эффективность параметров, их сложные операции (например, BiFPN) не позволяют им в полной мере использовать возможности параллельной обработки.
Как показано в таблице ниже, YOLO11n достигает более высокого mAP (39.5), чем EfficientDet-d0 (34.6), при этом значительно быстрее. Что еще более впечатляюще, YOLO11m соответствует точности гораздо более тяжелого EfficientDet-d5 (51.5 mAP), но работает примерно в 14 раз быстрее на T4 GPU (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 оптимизирован для быстрой сходимости. Он поддерживает эффективную загрузку данных и стратегии аугментации, которые сокращают время обучения. Кроме того, его более низкие требования к памяти по сравнению со старыми архитектурами или моделями на основе трансформеров позволяют проводить обучение на GPU потребительского класса без нехватки памяти 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 vs. YOLOv10
- YOLO11 vs. RT-DETR
- YOLO11 против YOLOv9
- YOLOv8 vs. EfficientDet
- YOLOX в сравнении с EfficientDet