EfficientDet vs. YOLOv10: техническое сравнение
Выбор оптимальной модели обнаружения объектов — это критически важное решение, которое балансирует точность, скорость инференса и вычислительные затраты. На этой странице представлено подробное техническое сравнение между EfficientDet и YOLOv10, двумя влиятельными моделями в области компьютерного зрения. Мы проанализируем их архитектуры, показатели производительности и идеальные варианты использования, чтобы помочь вам выбрать лучшую модель для вашего проекта, с особым акцентом на преимущества, предлагаемые YOLOv10 в экосистеме Ultralytics.
EfficientDet: Масштабируемая и эффективная архитектура
EfficientDet был представлен командой Google Brain как семейство высокоэффективных и масштабируемых детекторов объектов. Его основной инновацией стал систематический подход к масштабированию модели, направленный на оптимизацию как точности, так и эффективности в широком диапазоне вычислительных бюджетов.
Технические детали:
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация: Google
- Дата: 20.11.2019
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
Архитектура и ключевые особенности
Архитектура EfficientDet построена на трех ключевых компонентах:
- EfficientNet Backbone: В качестве основы для извлечения признаков используется высокоэффективная сеть EfficientNet, которая была разработана с использованием поиска нейронной архитектуры.
- BiFPN (Bi-directional Feature Pyramid Network): Новая сеть признаков, которая обеспечивает простое и быстрое объединение многомасштабных признаков. В отличие от традиционных FPN, BiFPN имеет двунаправленные перекрестные соединения и использует взвешенное объединение признаков для определения важности различных входных признаков.
- Комплексное масштабирование (Compound Scaling): Уникальный метод масштабирования, который равномерно масштабирует глубину, ширину и разрешение для backbone, сети признаков и prediction head одновременно, используя простой составной коэффициент. Это обеспечивает сбалансированную и оптимизированную архитектуру в любом масштабе.
Сильные и слабые стороны
Преимущества:
- Превосходная масштабируемость: Метод сложного масштабирования обеспечивает четкий путь для масштабирования модели вверх или вниз (от EfficientDet-D0 до D7) для удовлетворения различных ограничений ресурсов.
- Эффективность параметров и FLOP: На момент выпуска он установил новые стандарты эффективности, достигнув высокой точности с меньшим количеством параметров и FLOPs, чем предыдущие детекторы.
Слабые стороны:
- Возраст и производительность: Несмотря на то, что архитектура является основополагающей, ей несколько лет. Более новые модели, такие как YOLOv10, превзошли ее как по скорости, так и по компромиссу между точностью и эффективностью, особенно на современном оборудовании, таком как GPU.
- Экосистема и обслуживание: Оригинальный репозиторий не так активно поддерживается, как более современные альтернативы. Ему не хватает комплексной экосистемы, обширной документации и поддержки сообщества, которые есть у моделей Ultralytics.
- Универсальность задач: EfficientDet разработан специально для обнаружения объектов и изначально не поддерживает другие задачи, такие как сегментация экземпляров или оценка позы.
Идеальные варианты использования
EfficientDet остается актуальной моделью для сценариев, где FLOPs и количество параметров являются основными ограничениями.
- Аппаратное обеспечение с ограниченными ресурсами: Его меньшие варианты подходят для развертывания на устройствах с ограниченной вычислительной мощностью, где важен каждый FLOP.
- Академическое тестирование: Служит надежной отправной точкой для исследований эффективности моделей и архитектурного дизайна.
Узнайте больше об EfficientDet
YOLOv10: Сквозное обнаружение в реальном времени
Ultralytics YOLOv10 — это современный детектор объектов в реальном времени от Университета Цинхуа. Он расширяет границы производительности за счет внедрения архитектурных инноваций, которые уменьшают вычислительную избыточность и устраняют необходимость в Non-Maximum Suppression (NMS), обеспечивая сквозное обнаружение.
Технические детали:
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация: Tsinghua University
- Дата: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Документация: https://docs.ultralytics.com/models/yolov10/
Архитектура и ключевые особенности
В основе разработки YOLOv10 лежит целостный подход к эффективности и точности.
- Обучение без NMS: Он использует согласованные двойные назначения для меток во время обучения, что позволяет ему достигать конкурентоспособной производительности, не требуя NMS во время постобработки. Это значительно снижает задержку при выводе и упрощает развертывание.
- Комплексный подход к эффективности и точности: Архитектура модели оптимизирована от начала и до конца. Это включает в себя облегченную классификационную голову для снижения вычислительных затрат и пространственно-канальную разделенную дискретизацию для более эффективного сохранения богатой информации о признаках.
- Интеграция в экосистему Ultralytics: YOLOv10 легко интегрируется в фреймворк Ultralytics, извлекая выгоду из оптимизированного пользовательского опыта, простых интерфейсов Python и CLI, эффективных процессов обучения и легкодоступных предварительно обученных весов.
Сильные и слабые стороны
Преимущества:
- Передовая производительность: Обеспечивает исключительный баланс между скоростью и точностью, часто значительно превосходя старые модели, такие как EfficientDet, по задержке в реальных условиях.
- Сквозное развертывание: Отсутствие NMS делает его по-настоящему сквозным, что является значительным преимуществом для вывода в реальном времени.
- Простота использования: Являясь частью экосистемы Ultralytics, YOLOv10 невероятно прост в использовании. Разработчики могут обучать, проверять и развертывать модели всего несколькими строками кода.
- Хорошо поддерживаемая экосистема: Преимущества активной разработки, сильного сообщества с открытым исходным кодом, частых обновлений и интеграции с такими инструментами, как Ultralytics HUB, для бесшовного MLOps.
- Эффективность использования памяти: Модели YOLOv10 разработаны для эффективного использования памяти, часто требуя меньше памяти CUDA во время обучения и инференса по сравнению с другими сложными архитектурами.
Слабые стороны:
- Специализация по задачам: Как и EfficientDet, YOLOv10 в основном ориентирован на обнаружение объектов. Для проектов, требующих многозадачности, больше подойдет такая модель, как Ultralytics YOLOv8, поскольку она поддерживает сегментацию, классификацию и оценку позы в единой структуре.
Идеальные варианты использования
YOLOv10 превосходно подходит для приложений, где критически важны скорость и эффективность.
- Приложения реального времени: Низкая задержка делает его идеальным для автономных систем, робототехники и высокоскоростного видеонаблюдения.
- Edge AI: Меньшие варианты (YOLOv10n, YOLOv10s) высоко оптимизированы для развертывания на периферийных устройствах с ограниченными ресурсами, таких как NVIDIA Jetson и Raspberry Pi.
- Промышленная автоматизация: Идеально подходит для контроля качества на производственных линиях, где для поддержания темпа производственных процессов необходимы быстрое и точное обнаружение.
Анализ производительности: скорость, точность и эффективность
Сравнение производительности EfficientDet и YOLOv10 подчеркивает быстрый прогресс в архитектуре и оптимизации моделей.
Модель | размер (пиксели) |
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 |
YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
- Скорость GPU: YOLOv10 демонстрирует огромное преимущество в задержке на GPU. Например, YOLOv10-B достигает более высокого mAP, чем EfficientDet-d6 (52,7 против 52,6), но более чем в 13 раз быстрее на GPU T4 с TensorRT.
- Точность и количество параметров: Модели YOLOv10 стабильно обеспечивают лучшую точность для заданного количества параметров. YOLOv10-L превосходит EfficientDet-d7 по точности (53,3 против 53,7 очень близко), при этом работает более чем в 10 раз быстрее и использует почти вдвое меньше параметров.
- Общая эффективность: Хотя EfficientDet-d0 имеет наименьшее количество FLOPs, YOLOv10n обеспечивает гораздо более высокий mAP (39,5 против 34,6) и значительно быстрее работает на GPU с сопоставимым количеством параметров. Это показывает, что современные архитектуры, такие как YOLOv10, обеспечивают более выгодный компромисс с точки зрения практической эффективности, чем просто минимизация FLOPs.
Заключение: какую модель вам следует выбрать?
В то время как EfficientDet была новаторской моделью для своего времени, YOLOv10 является явным победителем почти для всех современных приложений. Она обеспечивает превосходную скорость и точность, а ее сквозная конструкция без NMS является значительным преимуществом для реального развертывания.
Для разработчиков и исследователей выбор становится еще более очевидным благодаря преимуществам экосистемы Ultralytics. YOLOv10 предлагает:
- Превосходная производительность: Лучший компромисс между скоростью и точностью на современном оборудовании.
- Простота использования: Простой, унифицированный API для обучения, валидации и инференса.
- Надежная экосистема: Доступ к обширной документации, активная поддержка сообщества и инструменты, такие как Ultralytics HUB, для оптимизации всего конвейера MLOps.
Для проектов, которым требуется не только обнаружение объектов, мы рекомендуем изучить Ultralytics YOLOv8, которая предоставляет универсальную современную платформу для обнаружения, сегментации, оценки позы, классификации и отслеживания.
Изучите другие сравнения моделей
Чтобы принять более взвешенное решение, изучите другие сравнения с участием этих и других современных моделей:
- EfficientDet в сравнении с YOLOv8
- YOLOv10 в сравнении с YOLOv8
- YOLOv10 vs RT-DETR
- Ознакомьтесь с последними моделями, такими как YOLO11, чтобы узнать о новейших достижениях от Ultralytics.