YOLO11 против EfficientDet: Всестороннее техническое сравнение
В быстро развивающейся области компьютерного зрения выбор правильной модели обнаружения объектов имеет решающее значение для создания успешных приложений искусственного интеллекта. Два известных имени, которые часто всплывают в этих оценках, - это Ultralytics YOLO11 Хотя обе архитектуры нацелены на решение проблемы обнаружения объектов на изображениях, они подходят к этой задаче с принципиально разными философиями проектирования, архитектурными инновациями и приоритетами производительности.
В данном руководстве приводится подробное техническое сравнение, которое поможет разработчикам и исследователям разобраться в нюансах этих двух моделей. Мы рассмотрим их архитектуры, показатели производительности, методики обучения и идеальные сценарии использования, подчеркнув, почему современные разработки часто предпочитают универсальность и скорость семейства YOLO .
Ultralytics YOLO11: современное состояние системы технического зрения в режиме реального времени
Выйдет в конце 2024 года, YOLO11 представляет собой последнюю итерацию знаменитой архитектуры "You Only Look Once" от Ultralytics. Она разработана таким образом, чтобы обеспечить оптимальный компромисс между задержкой вывода и точностью, что делает ее лучшим выбором для приложений реального времени - от периферийных устройств до облачных серверов.
Технические детали:
- Авторы: Гленн Джохер, Цзин Цю
- Организация:Ultralytics
- Дата: 2024-09-27
- GitHub:ultralytics
- Док-ты:Ultralytics YOLO11 Docs
Архитектура и ключевые особенности
YOLO11 опирается на историю оптимизации. В нем используется усовершенствованная конструкция безъякорного детектора, которая упрощает процесс обучения, устраняя необходимость в ручных расчетах якорных блоков. В архитектуру интегрированы усовершенствованные слои извлечения признаков, которые уменьшают общее количество параметров, сохраняя при этом высокий уровень mAP.
В отличие от своих предшественников и конкурентов, ориентированных исключительно на обнаружение, YOLO11 является многозадачным фреймворком. Архитектура одной модели может быть адаптирована для:
- Обнаружение объектов
- Сегментация экземпляров
- Классификация изображений
- Оценка позы
- Ориентированная граница (Oriented Bounding Box, OBB)
Преимущество Ultralytics
Одним из наиболее значимых преимуществ использования YOLO11 является экосистемаUltralytics . Модель поддерживается надежным Python API и CLI, активно поддерживается сообществом и легко интегрируется с инструментами для MLOps. Благодаря этому разработчики тратят меньше времени на борьбу с кодом и больше - на развертывание решений.
Сильные стороны
- Непревзойденная скорость: Оптимизировано для GPU для вычислений, обеспечивая производительность в реальном времени даже при работе с потоками высокого разрешения.
- Универсальность: Встроенная поддержка множества задач компьютерного зрения избавляет от необходимости переключать фреймворки для сегментации или оценки позы.
- Простота использования: Параметр
ultralyticsПакет позволяет проводить обучение, проверку и развертывание всего за несколько строк кода. - Эффективность памяти: Разработан для более быстрого обучения с меньшими требованиями к памяти CUDA по сравнению с альтернативами на основе трансформаторов или более старыми архитектурами.
EfficientDet от Google: Оптимизация для повышения эффективности
EfficientDet, представленный командой Google Brain в конце 2019 года, был разработан для повышения эффективности моделей обнаружения объектов. Он был ориентирован на оптимизацию количества параметров и теоретических вычислений (FLOPs), необходимых для достижения высокой точности.
Технические детали:
- Авторы: Мингксинг Тан, Руоминг Панг, Куок В. Ле
- Организация:Google
- Дата: 20.11.2019
- Arxiv:EfficientDet: Масштабируемое и эффективное обнаружение объектов
- GitHub:google
- Документы:EfficientDet README
Архитектура и ключевые особенности
EfficientDet построен на базе EfficientNet и представляет собой две ключевые концепции:
- BiFPN (Bi-directional Feature Pyramid Network): Слой слияния признаков, который позволяет легко интегрировать многомасштабные признаки, по-разному взвешивая входные признаки, чтобы узнать их важность.
- Составное масштабирование: Метод равномерного масштабирования разрешения, глубины и ширины сети, создающий семейство моделей от D0 (наименьшая) до D7 (наибольшая).
Сильные и слабые стороны
EfficientDet превосходит по эффективности параметров, часто достигая хорошей точности с меньшим количеством параметров, чем старые модели, такие как YOLOv3. Она хорошо масштабируется, позволяя пользователям выбирать размер модели, который соответствует их теоретическому бюджету FLOPs.
Однако EfficientDet имеет заметные ограничения в современных условиях развертывания:
- Более медленный вывод GPU : Несмотря на эффективность в FLOPs, разделимые по глубине свертки, широко используемые в 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).
- Точность против скорости: В каждой сопоставимой точке точности (например, 47,0 mAP) вариант YOLO11 (YOLO11s) значительно быстрее, чем эквивалент EfficientDet (EfficientDet-d3).
- Эффективность обучения: Модели Ultralytics обычно сходятся быстрее и эффективнее используют аппаратное ускорение, сокращая затраты и время на обучение на пользовательских наборах данных.
Идеальные варианты использования
Когда стоит выбирать Ultralytics YOLO11
YOLO11 является предпочтительным выбором для подавляющего большинства современных проектов в области компьютерного зрения, особенно для тех, где требуется баланс скорости, точности и простоты разработки.
- Edge AI & Robotics: Развертывание на таких устройствах, как NVIDIA Jetson или Raspberry Pi, где низкая задержка является обязательным условием для таких задач, как навигация или предотвращение столкновений.
- Коммерческие приложения: Аналитика в розничной торговле, автоматизированное производство и мониторинг безопасности, где надежность и скорость напрямую влияют на окупаемость инвестиций.
- Многозадачные системы: Проекты, требующие не только ограничивающих рамок, например, проверка, надета ли на работнике защитная экипировка (обнаружение) и правильна ли его поза (оценка позы).
- Быстрая разработка: Команды, которым необходимо быстро выполнять итерации, используя удобный 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 является лучшим выбором для современных практических задач компьютерного зрения. Он предлагает привлекательное сочетание:
- Превосходная производительность: Более высокая скорость вывода и точность на современном оборудовании.
- Большая универсальность: Единая система для обнаружения, сегментации, позирования и многого другого.
- Лучшее удобство использования: Хорошо поддерживаемая экосистема с отличной документацией и поддержкой сообщества.
Разработчикам, стремящимся создать надежные, высокопроизводительные и масштабируемые приложения ИИ для технического зрения, YOLO11 предоставляет мощь и гибкость, необходимые для достижения успеха.
Сравнения с другими моделями
Узнайте, как YOLO11 сравнивается с другими ведущими архитектурами:
- YOLO11 против YOLOv10
- YOLO11 vs. YOLOv8
- YOLO11 vs. RT-DETR
- EfficientDet против YOLOv8
- EfficientDet против YOLOv7