YOLO11 vs EfficientDet: Всестороннее техническое сравнение
В быстро развивающейся области компьютерного зрения выбор правильной модели обнаружения объектов имеет решающее значение для создания успешных приложений искусственного интеллекта. Два известных имени, часто всплывающих в этих оценках, — это Ultralytics YOLO11 и EfficientDet от Google. Хотя обе архитектуры направлены на решение проблемы обнаружения объектов на изображениях, они подходят к этой задаче с принципиально разными философиями проектирования, архитектурными инновациями и приоритетами производительности.
В этом руководстве представлено углубленное техническое сравнение, чтобы помочь разработчикам и исследователям понять нюансы между этими двумя моделями. Мы рассмотрим их архитектуры, показатели производительности, методологии обучения и идеальные варианты использования, подчеркнув, почему современные разработки часто отдают предпочтение универсальности и скорости семейства YOLO.
Ultralytics YOLO11: Современный уровень в Real-Time Vision
Выпущенная в конце 2024 года, YOLO11 представляет собой последнюю итерацию знаменитой архитектуры "You Only Look Once" от Ultralytics. Она разработана для обеспечения оптимального компромисса между задержкой при выводе и точностью, что делает ее идеальным выбором для приложений реального времени, начиная от периферийных устройств и заканчивая облачными серверами.
Технические детали:
- Авторы: Гленн Джохер, Цзин Цю
- Организация:Ultralytics
- Дата: 2024-09-27
- GitHub:ultralytics/ultralytics
- Документация:Документация Ultralytics YOLO11
Архитектура и ключевые особенности
YOLO11 опирается на историю оптимизации. В ней используется усовершенствованная конструкция detect без привязки к якорям, что упрощает процесс обучения, устраняя необходимость в ручных расчетах ограничивающих рамок. Архитектура объединяет передовые слои извлечения признаков, которые уменьшают общее количество параметров, сохраняя при этом высокий mAP.
В отличие от своих предшественников или конкурентов, которые сосредотачиваются исключительно на detect, YOLO11 — это многозадачный фреймворк. Единая архитектура модели может быть адаптирована для:
- Обнаружение объектов
- Сегментация экземпляров
- Классификация изображений
- Оценка позы
- Oriented Bounding Box (OBB)
Преимущество Ultralytics
Одним из наиболее значительных преимуществ использования YOLO11 является экосистема Ultralytics. Модель поддерживается надежным Python API и CLI, активным обслуживанием сообществом и полной интеграцией с инструментами для MLOps. Это гарантирует, что разработчики будут тратить меньше времени на борьбу с кодом и больше времени на развертывание решений.
Сильные стороны
- Непревзойденная скорость: Оптимизирован для GPU inference, достигая производительности в реальном времени даже на потоках высокого разрешения.
- Универсальность: Встроенная поддержка нескольких задач компьютерного зрения устраняет необходимость переключаться между фреймворками для segmentation или pose estimation.
- Простота использования: Параметр
ultralyticsпакет позволяет обучать, проверять и развертывать модели всего в несколько строк кода. - Эффективность памяти: Разработан для более быстрого обучения с меньшими требованиями к памяти CUDA по сравнению с альтернативами на основе трансформеров или более старыми архитектурами.
EfficientDet от Google: Оптимизация для эффективности
EfficientDet, представленный командой Google Brain в конце 2019 года, был разработан для повышения эффективности моделей обнаружения объектов. Основное внимание уделялось оптимизации количества параметров и теоретических вычислений (FLOPs), необходимых для достижения высокой точности.
Технические детали:
- Авторы: Мингксинг Тан, Руоминг Панг, Куок В. Ле
- Организация:Google
- Дата: 20.11.2019
- Arxiv:EfficientDet: Масштабируемое и эффективное обнаружение объектов
- GitHub:google/automl/efficientdet
- Документация:EfficientDet README
Архитектура и ключевые особенности
EfficientDet построен на основе EfficientNet и представляет две ключевые концепции:
- BiFPN (двунаправленная пирамида признаков): Слой объединения признаков, который позволяет легко интегрировать признаки разных масштабов, взвешивая входные признаки по-разному, чтобы изучить их важность.
- Compound Scaling: Метод равномерного масштабирования разрешения, глубины и ширины сети, создающий семейство моделей от D0 (самой маленькой) до D7 (самой большой).
Сильные и слабые стороны
EfficientDet превосходен в эффективности параметров, часто достигая хорошей точности с меньшим количеством параметров, чем старые модели, такие как YOLOv3. Он хорошо масштабируется, позволяя пользователям выбирать размер модели, который соответствует их теоретическому бюджету FLOPs.
Однако EfficientDet имеет заметные ограничения в современных контекстах развертывания:
- Более медленный вывод на GPU: Несмотря на эффективность в FLOPs, depth-wise separable свертки, широко используемые в EfficientDet, часто менее оптимизированы на GPU по сравнению с плотными свертками, используемыми в моделях YOLO. Это приводит к более высокой задержке вывода.
- Ограниченная область применения: В основном это детектор объектов, в котором отсутствует встроенная унифицированная поддержка сложных задач, таких как OBB или оценка позы, которые есть в YOLO11.
- Сложный инструментарий: Исходный репозиторий ориентирован на исследования (TensorFlow), в нем отсутствуют отточенные, удобные для пользователя API и инструменты развертывания, которые характеризуют экосистему Ultralytics.
Узнайте больше об EfficientDet
Сравнение производительности
При сравнении YOLO11 и EfficientDet наиболее заметное различие заключается в скорости инференса в реальных условиях на оборудовании GPU. В то время как EfficientDet минимизирует FLOPs, YOLO11 минимизирует задержку, которая является наиболее важным показателем для приложений реального времени.
В таблице ниже показан этот разрыв. Например, YOLO11n превосходит EfficientDet-d0 как по точности (+4,9 mAP), так и по скорости (в 2,6 раза быстрее на GPU T4). По мере масштабирования разница становится еще более выраженной; YOLO11x предлагает более высокую точность, чем EfficientDet-d7, и при этом в 11 раз быстрее.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Анализ результатов
- Возможности реального времени: YOLO11 обеспечивает возможности вывода в реальном времени для всех размеров моделей на GPU, в то время как EfficientDet испытывает трудности с поддержанием частоты кадров в реальном времени (30 FPS или ~33 мс) со своими более крупными вариантами (d4-d7).
- Точность vs. Скорость: В каждой сопоставимой точке точности (например, 47,0 mAP) вариант YOLO11 (YOLO11s) значительно быстрее, чем эквивалент EfficientDet (EfficientDet-d3).
- Эффективность обучения: Модели Ultralytics обычно сходятся быстрее и эффективнее используют аппаратное ускорение, снижая затраты и время, необходимые для обучения на пользовательских наборах данных.
Идеальные варианты использования
Когда стоит выбирать Ultralytics YOLO11
YOLO11 является предпочтительным выбором для подавляющего большинства современных проектов компьютерного зрения, особенно для тех, которые требуют баланса между скоростью, точностью и простотой разработки.
- Edge AI и робототехника: Развертывание на таких устройствах, как NVIDIA Jetson или Raspberry Pi, где низкая задержка является обязательным условием для таких задач, как навигация или предотвращение столкновений.
- Коммерческие приложения: Аналитика розничной торговли, автоматизированное производство и мониторинг безопасности, где надежность и скорость напрямую влияют на рентабельность инвестиций.
- Системы для нескольких задач: Проекты, которым требуется нечто большее, чем просто ограничивающие рамки, например, проверка наличия защитной экипировки на работнике (detection) и правильности его осанки (оценка позы).
- Быстрая разработка: Команды, которым необходимо быстро выполнять итерации, используя удобный API и обширную документацию.
Когда следует выбирать EfficientDet
EfficientDet остается актуальным в определенных нишевых сценариях:
- Академическое сопоставление производительности: Исследователи, изучающие конкретные эффекты сложного масштабирования или архитектур BiFPN.
- Серьезные ограничения FLOPs: Чрезвычайно ограниченные среды CPU, где теоретическое количество операций (FLOPs) является единственным ограничивающим фактором, а не задержка или пропускная способность памяти.
Простота использования: опыт работы с кодом Ultralytics
Одной из определяющих особенностей YOLO11 является удобство работы для разработчиков. В то время как устаревшие модели часто требуют сложных файлов конфигурации и шаблонного кода, Ultralytics упрощает рабочий процесс до нескольких интуитивно понятных строк python.
Вот как просто загрузить предварительно обученную модель YOLO11 и запустить инференс:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Эта простота распространяется и на обучение на пользовательских данных:
# Train the model on a custom dataset (e.g., COCO8)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Поддержка экосистемы
Ultralytics обеспечивает простую интеграцию с популярными наборами данных и инструментами. Независимо от того, используете ли вы Roboflow для управления данными или TensorRT для оптимизации развертывания, экосистема создана для поддержки всего вашего конвейера.
Заключение
Несмотря на то, что EfficientDet представила важные концепции в масштабировании и эффективности моделей, Ultralytics YOLO11 является превосходным выбором для современных практических задач компьютерного зрения. Она предлагает убедительное сочетание:
- Превосходная производительность: Более высокая скорость inference и более высокая точность на современном оборудовании.
- Большая универсальность: Унифицированный фреймворк для detect, segment, pose и многого другого.
- Улучшенное удобство использования: Хорошо поддерживаемая экосистема с отличной документацией и поддержкой сообщества.
Для разработчиков, стремящихся создавать надежные, высокопроизводительные и масштабируемые приложения для машинного зрения с использованием ИИ, YOLO11 обеспечивает мощность и гибкость, необходимые для достижения успеха.
Сравнения с другими моделями
Узнайте, как YOLO11 сравнивается с другими ведущими архитектурами:
- YOLO11 vs. YOLOv10
- YOLO11 vs. YOLOv8
- YOLO11 vs. RT-DETR
- EfficientDet против YOLOv8
- EfficientDet vs. YOLOv7