EfficientDet vs YOLOv7: техническое сравнение
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое уравновешивает требования к точности, скорости и вычислительным затратам. На этой странице представлено подробное техническое сравнение двух влиятельных моделей: EfficientDet, известной своей исключительной эффективностью параметров, и YOLOv7, знаковой модели для обнаружения объектов в реальном времени. Изучая их архитектуры, показатели производительности и идеальные варианты использования, мы стремимся предоставить информацию, необходимую для выбора лучшей модели для вашего проекта, а также выделить преимущества более современных альтернатив.
EfficientDet: Масштабируемость и эффективность
EfficientDet был представлен командой Google Brain как семейство высокоэффективных и масштабируемых детекторов объектов. Его основная инновация заключается в оптимизации архитектуры модели и принципов масштабирования для достижения более высокой производительности с меньшим количеством параметров и вычислительных ресурсов (FLOPs).
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация: Google
- Дата: 20.11.2019
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- Документация: https://github.com/google/automl/tree/master/efficientdet#readme
Архитектура и ключевые особенности
В основе конструкции EfficientDet лежат три ключевых компонента:
- EfficientNet Backbone: В качестве основы для извлечения признаков используется высокоэффективная сеть EfficientNet, которая была разработана с использованием поиска нейронной архитектуры (NAS).
- BiFPN (Bi-directional Feature Pyramid Network): Вместо стандартной FPN, EfficientDet представляет BiFPN, которая обеспечивает более насыщенное объединение многомасштабных признаков со взвешенными соединениями, повышая точность с минимальными накладными расходами.
- Комплексное масштабирование (Compound Scaling): Новый метод масштабирования, который равномерно масштабирует глубину, ширину и разрешение backbone, сети признаков и prediction head, используя единый составной коэффициент. Это позволяет масштабировать модель от легкой EfficientDet-D0 до высокоточной D7, удовлетворяя широкий спектр вычислительных бюджетов.
Сильные и слабые стороны
Преимущества:
- Исключительная эффективность: Обеспечивает высокую точность для заданного количества параметров и FLOPs, что делает его очень экономичным как для обучения, так и для развертывания.
- Масштабируемость: Метод масштабирования обеспечивает четкий путь для масштабирования модели вверх или вниз в зависимости от аппаратных ограничений, от устройств периферийного ИИ до мощных облачных серверов.
- Высокая производительность на стандартных бенчмарках: Достигнуты самые современные результаты на наборе данных COCO после его выпуска, что демонстрирует его эффективность.
Слабые стороны:
- Более медленная скорость инференса: Будучи эффективной по FLOPs, его архитектура может приводить к более высокой задержке по сравнению с моделями, специально разработанными для инференса в реальном времени, такими как семейство YOLO.
- Специфичность задачи: EfficientDet — это в первую очередь модель обнаружения объектов, и ей не хватает встроенной многозадачной универсальности, которая есть в современных фреймворках.
- Сложность: Концепции BiFPN и составного масштабирования, хотя и мощные, могут быть более сложными для реализации с нуля по сравнению с более простыми архитектурами.
YOLOv7: Расширение границ производительности в реальном времени
YOLOv7, разработанный авторами оригинальной YOLOv4, установил новый стандарт для детекторов объектов в реальном времени, значительно улучшив как скорость, так и точность. Он представил новые методы обучения и архитектурные оптимизации, чтобы расширить границы возможного на оборудовании GPU.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация: Institute of Information Science, Academia Sinica, Taiwan
- Дата: 06.07.2022
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Документация: https://docs.ultralytics.com/models/yolov7/
Архитектура и ключевые особенности
Улучшения YOLOv7 обусловлены несколькими ключевыми областями:
- Архитектурные изменения: Представлена расширенная эффективная сеть агрегирования слоев (E-ELAN) для улучшения способности сети к обучению без разрушения исходного пути градиента.
- Обучаемый набор бесплатных улучшений: Основным вкладом является использование стратегий оптимизации во время обучения, которые повышают точность, не увеличивая стоимость вывода. Это включает в себя такие методы, как повторно параметризованная свертка и поэтапное обучение с управляемым лидером.
- Масштабирование модели: YOLOv7 предоставляет методы масштабирования моделей на основе конкатенации, гарантируя, что архитектура остается оптимальной при масштабировании для повышения точности.
Сильные и слабые стороны
Преимущества:
- Превосходный компромисс между скоростью и точностью: На момент выпуска она предлагала лучший баланс mAP и скорости вывода среди детекторов реального времени.
- Эффективное обучение: Подход "bag-of-freebies" позволяет достичь высокой точности с более эффективными циклами обучения по сравнению с моделями, требующими более длительного обучения или более сложной постобработки.
- Проверенная производительность: Это хорошо зарекомендовавшая себя модель с высокими результатами на эталонных тестах, что делает ее надежным выбором для высокопроизводительных приложений.
Слабые стороны:
- Требовательность к ресурсам: Более крупные модели YOLOv7 требуют значительных GPU-ресурсов для обучения.
- Ограниченная универсальность: Хотя существуют версии от сообщества для других задач, официальная модель ориентирована на обнаружение объектов. Интегрированные фреймворки, такие как Ultralytics YOLOv8, предлагают встроенную поддержку сегментации, классификации и оценки позы.
- Сложность: Сочетание архитектурных изменений и передовых методов обучения может быть сложным для полного понимания и настройки.
Анализ производительности: эффективность в сравнении со скоростью
Основное различие между EfficientDet и YOLOv7 заключается в их философии проектирования. EfficientDet отдает приоритет вычислительной эффективности (FLOPs) и количеству параметров, в то время как YOLOv7 отдает приоритет скорости инференса (задержке) на GPU.
Модель | размер (пиксели) |
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Как показывает таблица, меньшие модели EfficientDet чрезвычайно легкие по параметрам и FLOPs. Однако YOLOv7x достигает сопоставимого mAP с EfficientDet-d6/d7 со значительно меньшей задержкой на GPU T4, что подчеркивает его пригодность для приложений реального времени.
Почему стоит выбрать модели Ultralytics YOLO?
Несмотря на то, что EfficientDet и YOLOv7 являются мощными моделями, область компьютерного зрения быстро продвинулась вперед. Новые модели Ultralytics YOLO, такие как YOLOv8 и YOLO11, предлагают существенные преимущества, которые делают их превосходным выбором для современной разработки.
- Простота использования: Модели Ultralytics разработаны с учетом потребностей пользователей и отличаются оптимизированным Python API, обширной документацией и простыми командами CLI, которые делают обучение, проверку и развертывание невероятно простыми.
- Хорошо поддерживаемая экосистема: Пользователи получают выгоду от активной разработки, большого open-source сообщества, частых обновлений и бесшовной интеграции с такими инструментами, как Ultralytics HUB, для комплексного MLOps.
- Баланс производительности: Модели Ultralytics обеспечивают превосходный компромисс между скоростью и точностью, что делает их подходящими для широкого спектра реальных сценариев, от периферийных устройств до облачных платформ.
- Эффективность использования памяти: Модели Ultralytics YOLO разработаны для эффективного использования памяти. Они часто требуют меньше памяти CUDA для обучения, чем модели на основе трансформеров и даже некоторые варианты EfficientDet или YOLOv7, что позволяет проводить обучение на более широком спектре оборудования.
- Универсальность: Такие модели, как YOLOv8 и YOLO11, — это не просто детекторы. Это многозадачные фреймворки, поддерживающие «из коробки» сегментацию экземпляров, классификацию изображений, оценку позы и ориентированное обнаружение объектов (OBB).
- Эффективность обучения: Воспользуйтесь преимуществами эффективных процессов обучения, готовых предварительно обученных весов на наборах данных, таких как COCO, и более быстрого времени сходимости.
Заключение
EfficientDet превосходен в сценариях, где эффективность параметров и FLOP имеет первостепенное значение, предлагая отличную масштабируемость в рамках различных бюджетов ресурсов. Это отличный выбор для приложений на устройствах с ограниченными ресурсами или в масштабных облачных средах, где вычислительные затраты являются основным фактором. YOLOv7 расширяет границы обнаружения объектов в реальном времени, обеспечивая исключительную скорость и точность, особенно на оборудовании GPU, за счет использования передовых методов обучения.
Однако, для разработчиков, ищущих современный, универсальный и удобный фреймворк с высокой производительностью, отличной документацией и всесторонней экосистемой, модели Ultralytics, такие как YOLOv8 и YOLO11, представляют собой более привлекательный выбор. Они предлагают унифицированное решение для широкого спектра задач компьютерного зрения, упрощая процесс разработки от исследований до внедрения в производство.
Сравнения с другими моделями
Для дальнейшего изучения рассмотрите эти сравнения с участием EfficientDet, YOLOv7 и других соответствующих моделей:
- EfficientDet в сравнении с YOLOv8
- EfficientDet в сравнении с YOLOv5
- YOLOv7 против YOLOv8
- YOLOv7 против YOLOv5
- RT-DETR против YOLOv7
- YOLOX против YOLOv7
- Ознакомьтесь с последними моделями, такими как YOLOv10 и YOLO11.