YOLOv5 vs. EfficientDet: Подробное техническое сравнение
На этой странице представлено всестороннее техническое сравнение двух влиятельных моделей обнаружения объектов: Ultralytics YOLOv5 и EfficientDet от Google. Хотя обе модели разработаны для высокой производительности, они происходят из разных исследовательских концепций и архитектурных решений. Мы углубимся в их ключевые различия в архитектуре, показателях производительности и идеальных вариантах использования, чтобы помочь вам выбрать лучшую модель для ваших проектов в области компьютерного зрения.
Ultralytics YOLOv5: Универсальная и широко используемая модель
Автор: Гленн Джокер
Организация: Ultralytics
Дата: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Документация: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5 – это одностадийный детектор объектов, который быстро стал отраслевым стандартом благодаря исключительному балансу скорости, точности и простоте использования. Построенный полностью на PyTorch, его архитектура включает в себя бэкбон CSPDarknet53, neck PANet для эффективной агрегации признаков и эффективный anchor-based detection head. YOLOv5 обладает высокой масштабируемостью, предлагая ряд моделей от nano (n) до extra-large (x), что позволяет разработчикам выбрать идеальный компромисс для своих конкретных вычислительных потребностей и требований к производительности.
Сильные стороны
- Исключительная скорость: YOLOv5 высоко оптимизирована для быстрого инференса, что делает ее отличным выбором для приложений реального времени, где критически важна низкая задержка, например, в видеонаблюдении.
- Простота использования: Основным преимуществом является удобство работы. Благодаря простому Python API и CLI, обширной документации и простым процессам обучения, YOLOv5 значительно снижает порог вхождения для пользовательского обнаружения объектов.
- Хорошо поддерживаемая экосистема: YOLOv5 поддерживается надежной экосистемой Ultralytics, которая включает активную разработку, большое и полезное сообщество, частые обновления и мощные инструменты, такие как Ultralytics HUB для обучения и управления моделями без написания кода.
- Эффективность обучения: Модель разработана для эффективного обучения, извлекая выгоду из легкодоступных предварительно обученных весов на наборах данных, таких как COCO, и более быстрого времени сходимости. Она также имеет более низкие требования к памяти во время обучения и инференса по сравнению с более сложными архитектурами, такими как трансформеры.
- Универсальность: Помимо обнаружения объектов, YOLOv5 поддерживает такие задачи, как сегментация экземпляров и классификация изображений, предоставляя гибкое решение в рамках единой структуры.
Слабые стороны
- Несмотря на высокую точность, более крупные модели EfficientDet иногда могут достигать более высоких показателей mAP на академических тестах, особенно при обнаружении очень маленьких объектов.
- Его зависимость от предопределенных anchor boxes может потребовать настройки для наборов данных с нестандартными формами и размерами объектов для достижения оптимальной производительности.
Идеальные варианты использования
- Анализ видео в реальном времени для систем безопасности и мониторинга дорожного движения.
- Развертывание на периферийных устройствах с ограниченными ресурсами, таких как NVIDIA Jetson и Raspberry Pi.
- Восприятие с низкой задержкой для робототехники и автономных транспортных средств.
- Мобильные приложения, требующие быстрого вывода на устройстве.
EfficientDet: Масштабируемая и эффективная архитектура
Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
Организация: Google
Дата: 2019-11-20
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, разработанный командой Google Brain, представил семейство масштабируемых и эффективных детекторов объектов. Его основные нововведения включают использование высокоэффективной сети EfficientNet в качестве базовой, новую двунаправленную пирамидальную сеть признаков (BiFPN) для быстрого многомасштабного объединения признаков и метод составного масштабирования. Этот метод равномерно масштабирует глубину, ширину и разрешение модели, позволяя создавать ряд моделей (D0-D7), оптимизированных для различных вычислительных ресурсов.
Сильные стороны
- Высокая точность и эффективность: Модели EfficientDet известны тем, что достигают современной точности с меньшим количеством параметров и FLOPs по сравнению с другими моделями на момент их выпуска.
- Масштабируемость: Комплексный подход к масштабированию обеспечивает четкий путь для масштабирования модели вверх или вниз, что делает ее адаптируемой к различным аппаратным ограничениям, от мобильных устройств до облачных серверов.
- Эффективное слияние признаков: BiFPN обеспечивает более насыщенное слияние признаков за счет включения взвешенных двунаправленных соединений, что способствует его высокой точности.
Слабые стороны
- Более медленная скорость инференса: Несмотря на свою эффективность по параметрам, EfficientDet обычно медленнее, чем YOLOv5, особенно в реальных сценариях развертывания. Это делает его менее подходящим для приложений, требующих производительности в реальном времени.
- Сложность: Архитектура, особенно BiFPN, сложнее, чем простая конструкция YOLOv5. Это может затруднить понимание, настройку и отладку для разработчиков.
- Менее интегрированная экосистема: Несмотря на поддержку Google, репозиторий с открытым исходным кодом не так активно поддерживается и удобен для пользователей, как экосистема Ultralytics. Ему не хватает обширной документации, учебных пособий и интегрированных инструментов, которые упрощают жизненный цикл MLOps.
Идеальные варианты использования
- Оффлайн-анализ изображений высокого разрешения, где максимальная точность имеет первостепенное значение.
- Анализ медицинских изображений для обнаружения незначительных аномалий.
- Высокоточный контроль качества в производстве, где вывод может быть выполнен пакетами.
- Академические исследования и бенчмаркинг, где точность является основным показателем.
Узнайте больше об EfficientDet
Производительность и сравнительное тестирование: детальное сравнение
Выбор между YOLOv5 и EfficientDet часто сводится к компромиссу между скоростью и точностью. В следующей таблице и анализе представлено четкое сравнение их производительности на наборе данных COCO val2017.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.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 |
Таблица наглядно иллюстрирует различные приоритеты проектирования двух моделей. Модели EfficientDet, особенно более крупные варианты, такие как D7, достигают наивысшего балла mAP 53,7. Они также демонстрируют высокую эффективность с точки зрения вычислительных затрат, при этом EfficientDet-d0 имеет наименьшее количество FLOPs. Однако, когда дело доходит до развертывания для приложений реального времени, скорость логического вывода имеет первостепенное значение. Здесь Ultralytics YOLOv5 демонстрирует решающее преимущество, особенно на оборудовании GPU. Модель YOLOv5n достигает молниеносного времени логического вывода 1,12 мс на GPU T4 с TensorRT, что делает ее более чем в 3 раза быстрее, чем самая легкая модель EfficientDet. Кроме того, модели YOLOv5 чрезвычайно легкие, при этом YOLOv5n имеет всего 2,6M параметров, что делает ее идеальной для развертывания на периферийных устройствах с ограниченными ресурсами. Этот баланс производительности скорости, точности и небольшого размера модели делает YOLOv5 весьма практичным выбором для широкого спектра производственных сред.
Заключение: какую модель вам следует выбрать?
EfficientDet и Ultralytics YOLOv5 — мощные модели обнаружения объектов, но они ориентированы на разные приоритеты. EfficientDet превосходен, когда максимальная точность является основной целью, а задержка при выводе менее важна. Его масштабируемая архитектура делает его сильным кандидатом для академических тестов и задач автономной обработки.
Однако, для подавляющего большинства реальных приложений Ultralytics YOLOv5 выделяется как превосходный выбор. Его исключительный баланс скорости и точности делает его идеальным для систем реального времени. Ключевые преимущества YOLOv5 заключаются в его простоте использования, комплексной и хорошо поддерживаемой экосистеме и замечательной эффективности обучения. Разработчики могут быстро приступить к работе, обучать пользовательские модели с минимальными усилиями и развертывать их на широком спектре оборудования. Активное сообщество и такие инструменты, как Ultralytics HUB, обеспечивают беспрецедентную поддержку, что делает его очень практичной и удобной для разработчиков структурой.
Тем, кто стремится использовать новейшие достижения, также стоит изучить более новые модели в экосистеме Ultralytics, такие как универсальная YOLOv8 или современная YOLO11, которые, опираясь на прочный фундамент YOLOv5, предлагают еще более высокую производительность и больше возможностей. Для сравнения посетите страницу сравнения моделей Ultralytics model comparison page.