YOLOv10 против EfficientDet: техническое сравнение
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое уравновешивает точность, скорость вывода и вычислительные затраты. На этой странице представлено подробное техническое сравнение YOLOv10, современной системы обнаружения объектов в реальном времени, и EfficientDet, семейства моделей, известного своей архитектурной эффективностью. Мы проанализируем их основные различия, показатели производительности и идеальные варианты использования, чтобы помочь вам выбрать лучшую модель для вашего проекта, выделив преимущества YOLOv10 в рамках всеобъемлющей экосистемы Ultralytics.
YOLOv10: Сквозная эффективность в реальном времени
YOLOv10, представленная исследователями из Университета Цинхуа в мае 2024 года, знаменует собой значительный скачок вперед в области обнаружения объектов в реальном времени. Она разработана для сквозной эффективности, устраняя ключевые узкие места как в архитектуре модели, так и в постобработке, чтобы обеспечить исключительную скорость без ущерба для точности.
Технические детали:
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация: Университет Цинхуа
- Дата: 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: Ключевой особенностью является возможность обучения без Non-Maximum Suppression (NMS). Благодаря использованию согласованных двойных назначений, YOLOv10 устраняет необходимость в этом этапе постобработки, что значительно снижает задержку при выводе и упрощает конвейер развертывания.
- Комплексный подход к эффективности и точности: Архитектура модели была переработана с нуля для повышения эффективности. Это включает в себя облегченные классификационные головы и пространственно-канальную разделенную дискретизацию, которые снижают вычислительную избыточность, одновременно расширяя возможности модели по извлечению признаков.
- Интеграция в экосистему Ultralytics: YOLOv10 легко интегрируется в фреймворк Ultralytics. Это обеспечивает пользователям оптимизированный опыт, включая простой Python API, мощные команды CLI и доступ к Ultralytics HUB для обучения и развертывания без написания кода. Эта экосистема обеспечивает эффективное обучение, легкий доступ к предварительно обученным весам и обширную документацию.
Сильные и слабые стороны
Преимущества:
- Исключительная скорость инференса: Оптимизирован для производительности в реальном времени, что делает его идеальным для приложений, требующих низкой задержки на оборудовании GPU.
- Сквозная эффективность: Отсутствие NMS упрощает развертывание и снижает вычислительные издержки.
- Превосходный баланс производительности: Достигает современной точности с меньшим количеством параметров и FLOPs по сравнению со многими конкурентами.
- Простота использования: Преимущества хорошо поддерживаемой экосистемы Ultralytics, которая упрощает все, от обучения до развертывания.
- Меньшие требования к памяти: Разработан для эффективного использования памяти, что позволяет проводить обучение и инференс на более широком спектре оборудования.
Слабые стороны:
- Более новая модель: Будучи недавним релизом, ее сообщество и интеграция инструментов сторонних разработчиков все еще растут по сравнению с более устоявшимися моделями.
Идеальные варианты использования
Благодаря своей скорости и эффективности, YOLOv10 является идеальным выбором для требовательных приложений реального времени:
- Автономные системы: Обеспечение восприятия в автомобилях с автоматическим управлением и дронах, где быстрое принятие решений имеет решающее значение.
- Робототехника: Обеспечение быстрого взаимодействия с объектами и навигации в динамических средах, что является ключевым аспектом роли ИИ в робототехнике.
- Edge AI: Развертывание на устройствах с ограниченными ресурсами, таких как NVIDIA Jetson и Raspberry Pi, для обработки на устройстве.
- Аналитика в реальном времени: Мониторинг зон с высокой проходимостью для таких приложений, как охранное видеонаблюдение и управление умным городом.
EfficientDet: Масштабируемая и эффективная архитектура
EfficientDet был представлен командой Google Brain в 2019 году как семейство масштабируемых и эффективных детекторов объектов. Его философия проектирования сосредоточена на создании высокооптимизированной архитектуры, которую можно масштабировать вверх или вниз в соответствии с различными вычислительными бюджетами.
Технические детали:
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация: Google
- Дата: 20.11.2019
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
Узнайте больше об EfficientDet
Архитектура и ключевые особенности
Архитектура EfficientDet построена на трех ключевых компонентах:
- EfficientNet Backbone: Он использует высокоэффективный EfficientNet в качестве своей базовой сети для извлечения признаков, которая известна своим отличным соотношением точности и вычислительных затрат.
- BiFPN (Bi-directional Feature Pyramid Network): Вместо стандартной FPN, EfficientDet использует взвешенную двунаправленную FPN, которая обеспечивает более эффективное многомасштабное слияние признаков с меньшим количеством параметров.
- Комплексное масштабирование (Compound Scaling): Новый метод масштабирования, который равномерно масштабирует глубину, ширину и разрешение backbone, сети признаков и prediction head. Это позволяет масштабировать модель от малого D0 до большого варианта D7, сохраняя при этом архитектурную согласованность.
Сильные и слабые стороны
Преимущества:
- Высокая эффективность параметров: Отлично подходит для достижения хорошей точности при очень небольшом количестве параметров и FLOPs.
- Масштабируемость: Метод масштабирования обеспечивает четкий путь для достижения компромисса между точностью и вычислительными затратами в широком диапазоне моделей (D0-D7).
- Высокая точность: Более крупные варианты, такие как D6 и D7, достигают высоких показателей mAP на стандартных бенчмарках, таких как COCO.
Слабые стороны:
- Более медленная скорость инференса: Несмотря на свою эффективность по параметрам, модели EfficientDet часто имеют более высокую задержку инференса по сравнению с моделями YOLO, особенно на GPU.
- Сложная архитектура: BiFPN и составное масштабирование, хотя и эффективны, могут сделать модель менее интуитивно понятной для модификации или оптимизации.
- Ограниченная экосистема: Отсутствует унифицированная, активно поддерживаемая экосистема, как у Ultralytics, что затрудняет обучение, развертывание и поддержку для разработчиков.
- Ориентированность на задачу: В первую очередь предназначен для обнаружения объектов, не обладает встроенной универсальностью для других задач, таких как сегментация или оценка позы, которая есть в таких фреймворках, как Ultralytics YOLOv8.
Идеальные варианты использования
EfficientDet лучше всего подходит для приложений, где размер модели и FLOPs являются наиболее важными ограничениями, а скорость в реальном времени не является основной целью:
- Пакетная обработка в облаке: Анализ больших наборов изображений, где задержка не является проблемой для пользователя.
- Академические исследования: Изучение законов масштабирования моделей и архитектурной эффективности.
- Мобильные приложения: Когда модель должна соответствовать очень строгим ограничениям памяти на устройстве, и некоторая задержка может быть допустима.
Прямое сравнение производительности: скорость против эффективности
При сравнении YOLOv10 и EfficientDet выявляется явный компромисс между скоростью инференса и эффективностью параметров.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
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 |
Как показывает таблица, модели YOLOv10 стабильно демонстрируют превосходную производительность на современном оборудовании. Например, YOLOv10-S достигает 46,7 mAP с молниеносной задержкой всего 2,66 мс на GPU T4. В отличие от этого, столь же точный EfficientDet-d3 (47,5 mAP) более чем в 7 раз медленнее - 19,59 мс. Этот разрыв в производительности увеличивается с увеличением моделей, что делает YOLOv10 явным победителем для любого приложения, где скорость является фактором. В то время как модели EfficientDet показывают конкурентоспособную скорость CPU, их производительность GPU значительно отстает от высокооптимизированной архитектуры YOLO.
Заключение: какую модель вам следует выбрать?
В то время как EfficientDet была значительным шагом вперед в создании моделей с эффективным использованием параметров, YOLOv10 является превосходным выбором для подавляющего большинства современных приложений компьютерного зрения. Ее архитектура явно разработана для высокоскоростного инференса в реальном времени на GPU, а ее сквозная конструкция без NMS делает ее гораздо более практичной для развертывания в продакшене.
Для разработчиков и исследователей преимущества выбора YOLOv10 в экосистеме Ultralytics огромны:
- Простота использования: Оптимизированный пользовательский опыт с простым API и подробной документацией.
- Хорошо поддерживаемая экосистема: Активная разработка, сильная поддержка сообщества и бесшовная интеграция с такими инструментами, как Ultralytics HUB для MLOps.
- Баланс производительности: Выдающийся компромисс между скоростью и точностью, подходящий для различных реальных сценариев.
- Эффективность обучения: Более быстрое время обучения и готовые предварительно обученные веса для ускорения разработки.
Если вы ищете модель, сочетающую в себе передовую производительность с беспрецедентной простотой использования, YOLOv10 — это оптимальный выбор. Тем, кто заинтересован в изучении других современных моделей, стоит обратить внимание на универсальную Ultralytics YOLOv8 или новейшую YOLO11 для еще более продвинутых возможностей. Вы также можете изучить другие сравнения, такие как YOLOv10 vs. YOLOv8 или EfficientDet vs. YOLOv8, чтобы получить больше информации.