YOLOv7 против PP-YOLOE+: техническое сравнение для обнаружения объектов
Выбор правильной модели обнаружения объектов — это критически важное решение в компьютерном зрении, требующее тщательного баланса точности, скорости и вычислительных ресурсов. На этой странице представлено подробное техническое сравнение между YOLOv7 и PP-YOLOE+, двумя влиятельными моделями, которые установили высокие стандарты в этой области. Мы изучим их архитектурные проекты, показатели производительности и идеальные варианты использования, чтобы помочь вам сделать осознанный выбор для ваших проектов.
YOLOv7: Оптимизирована для скорости и точности
YOLOv7 представляет собой важную веху в семействе YOLO, получившую признание за исключительный баланс между скоростью логического вывода в реальном времени и высокой точностью. Она представила новые архитектурные и обучающие оптимизации, которые расширили границы возможного для детекторов объектов на момент ее выпуска.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация: 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 включает в себя несколько ключевых инноваций, подробно описанных в ее статье. Одним из основных ее вкладов является Extended Efficient Layer Aggregation Network (E-ELAN), новая конструкция backbone, которая повышает способность сети к обучению, не нарушая градиентный путь, что приводит к более эффективному извлечению признаков.
Кроме того, YOLOv7 использует подход "trainable bag-of-freebies". Он включает в себя использование передовых методов оптимизации и стратегий обучения, таких как coarse-to-fine lead guided loss, которые повышают точность обнаружения без добавления каких-либо вычислительных затрат во время инференса. Модель также использует методы повторной параметризации для создания более эффективной архитектуры для развертывания после завершения обучения.
Производительность и варианты использования
YOLOv7 славится своей выдающейся производительностью, особенно в сценариях, требующих высокоскоростной обработки без значительного компромисса в точности. Его эффективность делает его отличным выбором для inference в реальном времени на оборудовании GPU.
Идеальные области применения включают:
- Автономные системы: Обеспечение систем восприятия в автономных транспортных средствах и дронах, где низкая задержка имеет решающее значение для безопасности.
- Безопасность и видеонаблюдение: Используется в передовых системах безопасности для немедленного обнаружения угроз в прямых видеотрансляциях.
- Робототехника: Позволяет роботам воспринимать окружающую среду и взаимодействовать с ней в режиме реального времени, что крайне важно для автоматизации производства и логистики.
Сильные и слабые стороны
- Преимущества: Современный компромисс между скоростью и точностью, высокоэффективная архитектура для инференса на GPU и передовые стратегии обучения, повышающие производительность.
- Недостатки: Как модель, основанная на anchor-box, она может потребовать тщательной настройки конфигураций anchor-box для достижения оптимальной производительности на пользовательских наборах данных. Процесс обучения для более крупных вариантов может быть вычислительно интенсивным.
PP-YOLOE+: Без привязки к anchor и универсальность
PP-YOLOE+, разработанный Baidu, — это высокопроизводительный детектор без anchor boxes из пакета PaddleDetection. Он выделяется своей масштабируемостью и высокой производительностью в широком диапазоне размеров моделей, упрощая конвейер обнаружения за счет устранения anchor boxes.
- Авторы: Авторы PaddlePaddle
- Организация: Baidu
- Дата: 2022-04-02
- Arxiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- Документация: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Документация PP-YOLOE+ (PaddleDetection)
Архитектура и ключевые особенности
Основным нововведением PP-YOLOE+ является его конструкция без привязки к якорям, которая упрощает модель, устраняя необходимость в предварительно определенных ограничивающих рамках и связанных с ними гиперпараметрах. Это делает модель более гибкой и легкой в адаптации к различным формам и размерам объектов. Она имеет разделенную головную часть для задач классификации и локализации, что помогает разрешить конфликты оптимизации между ними. Модель также использует VariFocal Loss, специализированную функцию потерь, для приоритизации сложных примеров во время обучения. Версия "+" включает в себя улучшения магистральной сети, промежуточного слоя (Path Aggregation Network) и головной части для повышения производительности.
Производительность и варианты использования
PP-YOLOE+ предоставляет семейство моделей (t, s, m, l, x), которые предлагают гибкий компромисс между скоростью и точностью. Эта масштабируемость делает его адаптируемым к различным аппаратным ограничениям, от периферийных устройств с ограниченными ресурсами до мощных облачных серверов.
Идеальные области применения включают:
- Промышленная автоматизация: Подходит для проверки качества в производстве, где необходим баланс между скоростью и точностью.
- Аналитика розничной торговли: Может использоваться для управления запасами на полках и анализа поведения клиентов.
- Экологический мониторинг: Ее эффективность полезна для таких приложений, как автоматизированная сортировка отходов и переработка.
Сильные и слабые стороны
- Преимущества: Anchor-free дизайн упрощает архитектуру и процесс обучения. Обеспечивает отличную масштабируемость с несколькими размерами моделей и достигает хорошего баланса между точностью и скоростью.
- Недостатки: Модель в первую очередь разработана для фреймворка глубокого обучения PaddlePaddle, что может потребовать дополнительных усилий для интеграции в рабочие процессы на основе PyTorch. Ее сообщество и поддержка сторонних инструментов менее обширны, чем у семейства YOLO.
Прямое сравнение производительности
При сравнении YOLOv7 и PP-YOLOE+ выбор часто зависит от конкретных требований к производительности и оборудования. YOLOv7 обычно превосходит в обеспечении максимальной пропускной способности на GPU, что видно по его высоким показателям FPS. PP-YOLOE+, с другой стороны, предоставляет более детальный выбор моделей, позволяя разработчикам выбрать именно ту точку компромисса, которая им нужна. Например, PP-YOLOE+s исключительно быстр, в то время как PP-YOLOE+x достигает очень высокого mAP за счет скорости.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
Почему Ultralytics YOLO — лучший выбор
Несмотря на то, что YOLOv7 и PP-YOLOE+ являются мощными моделями, разработчики и исследователи, ищущие современную, универсальную и удобную структуру, найдут превосходную ценность в экосистеме Ultralytics, особенно с такими моделями, как Ultralytics YOLOv8 и новейшая YOLO11.
Вот почему модели Ultralytics YOLO выделяются:
- Простота использования: Ultralytics предоставляет оптимизированный Python API и CLI, которые делают обучение, проверку и развертывание невероятно простыми. Это подкрепляется обширной документацией и многочисленными учебными пособиями.
- Хорошо поддерживаемая экосистема: Модели являются частью всесторонней экосистемы, которая включает активную разработку, большое сообщество с открытым исходным кодом и интеграцию с такими инструментами, как Ultralytics HUB, для простой MLOps.
- Универсальность: Модели Ultralytics, такие как YOLOv8 и YOLO11, не ограничиваются обнаружением объектов. Они предлагают встроенную поддержку других ключевых задач компьютерного зрения, включая сегментацию экземпляров, оценку позы, классификацию и обнаружение ориентированных объектов (OBB), предоставляя унифицированное решение.
- Производительность и эффективность: Модели Ultralytics разработаны для оптимального баланса скорости и точности. Они также эффективно используют память, часто требуя меньше памяти CUDA для обучения и вывода по сравнению с другими архитектурами, что является значительным преимуществом.
- Эффективность обучения: Благодаря готовым предварительно обученным весам на наборах данных, таких как COCO, и эффективным процессам обучения, получение высокопроизводительной пользовательской модели становится быстрее и доступнее.
Заключение
YOLOv7 — отличный выбор для приложений, где производительность GPU в реальном времени является главным приоритетом. PP-YOLOE+ предлагает отличную масштабируемость и упрощенный подход без anchor-ов, но его зависимость от фреймворка PaddlePaddle может быть ограничением для многих разработчиков.
Однако для большинства современных приложений модели Ultralytics, такие как YOLOv8 и YOLO11, представляют собой более убедительный и перспективный вариант. Они сочетают в себе современную производительность с непревзойденным удобством использования, широкой поддержкой задач и надежной, хорошо поддерживаемой экосистемой. Это делает их идеальным выбором для разработчиков и исследователей, стремящихся эффективно создавать и развертывать высококачественные решения в области компьютерного зрения.
Изучите другие модели
Для дальнейшего изучения рассмотрите эти сравнения с участием YOLOv7, PP-YOLOE+ и других ведущих моделей:
- YOLOv7 против YOLOv8
- PP-YOLOE+ vs. YOLOv8
- YOLOX в сравнении с YOLOv7
- RT-DETR против YOLOv7
- Ознакомьтесь с последними моделями, такими как YOLOv10 и YOLO11.