PP-YOLOE+ против YOLOv7: техническое погружение в архитектуру обнаружения объектов
Выбор оптимальной модели обнаружения объектов предполагает баланс между точностью, скоростью вывода и сложностью развертывания. Двумя значимыми претендентами на это место являются PP-YOLOE+ и YOLOv7выпущенные в 2022 году с целью повышения современной производительности. В этом комплексном анализе рассматриваются их уникальные архитектуры, эталоны и пригодность для использования в реальных приложениях, что помогает разработчикам принимать решения, основанные на данных.
Сравнение показателей производительности
В следующей таблице представлено прямое сравнение ключевых показателей производительности, включая среднюю точность (mAP) и скорость вывода на поддерживаемом оборудовании. Эти данные помогают наглядно продемонстрировать компромиссы между безъякорным подходом PP-YOLOE+ и оптимизированной архитектурой YOLOv7.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
PP-YOLOE+: Усовершенствованное безъякорное обнаружение
PP-YOLOE+ - это эволюция серии YOLO , разработанная исследователями из Baidu. Он опирается на сильные стороны своего предшественника PP-YOLOE, внося усовершенствования в процесс обучения и архитектуру для дальнейшего повышения скорости сходимости и производительности последующих задач. Являясь безъякорным детектором, он устраняет необходимость в предопределенных якорных ящиках, что упрощает конструкцию и уменьшает настройку гиперпараметров.
- Авторы: Авторы PaddlePaddle
- Организация:Baidu
- Дата: 2022-04-02
- ArXiv:https://arxiv.org/abs/2203.16250
- GitHub:https://github.com/PaddlePaddle/PaddleDetection/
- Документы:PaddleDetection README
Архитектурные особенности
Архитектура PP-YOLOE+ включает в себя основу CSPResNet, оснащенную различными рецептивными полями для эффективного захвата признаков в различных масштабах. Ключевым нововведением является эффективная голова с выравниванием задач (ET-head), которая разделяет задачи классификации и регрессии, обеспечивая их выравнивание с помощью специальной функции потерь.
В PP-YOLOE+ используется Task Alignment Learning (TAL)- стратегия присвоения меток, которая динамически выбирает положительные образцы на основе согласования качества классификации и локализации. Благодаря этому модель фокусируется на высококачественных прогнозах во время обучения. Кроме того, модель использует стратегию распределенного обучения и избегает использования нестандартных операторов, что облегчает ее развертывание на различных аппаратных платформах, поддерживаемых экосистемой PaddlePaddle .
Ключевая особенность: Безъякорная конструкция
Удаляя якорные коробки, PP-YOLOE+ снижает сложность, связанную с кластеризацией и сопоставлением якорных блоков. Это часто приводит к лучшему обобщению на различных наборах данных, где объекты могут иметь экстремальные соотношения сторон.
YOLOv7: оптимизирована для работы в режиме реального времени
YOLOv7 Сразу после выхода YOLOv7 установила новую планку для обнаружения объектов в реальном времени, уделяя большое внимание архитектурной эффективности и методам "bag-of-freebies" - техникам, которые повышают точность без увеличения стоимости вывода. Она была разработана, чтобы превзойти предыдущие современные модели, такие как YOLOR и YOLOv5 , как по скорости, так и по точности.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация:Институт информационных наук, Академия Синика, Тайвань
- Дата: 06.07.2022
- ArXiv:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
- Документация:ДокументацияUltralytics YOLOv7
Архитектурные инновации
В YOLOv7 появилась расширенная эффективная сеть агрегации уровней (E-ELAN). Эта магистраль позволяет сети изучать более разнообразные характеристики, управляя кратчайшим и длинным градиентными путями, повышая способность к обучению без разрушения исходного градиентного пути.
Еще один значительный вклад - использование перепараметризации модели. Во время обучения модель использует многоразветвленную структуру, которая при выводе объединяется в более простую одноразветвленную структуру. Это позволяет YOLOv7 использовать богатые представления признаков в процессе обучения, сохраняя при этом высокую скорость развертывания. Модель также использует вспомогательные головки для обучения глубоких сетей, применяя стратегию присвоения меток "от грубого к тонкому".
Сравнительный анализ: Сильные и слабые стороны
Выбирая между этими двумя мощными моделями, необходимо учитывать конкретные требования вашего проекта по компьютерному зрению.
Точность в сравнении со скоростью
PP-YOLOE+ предлагает гранулированный ассортимент моделей. Сайт PP-YOLOE+s высокоэффективна для краевых устройств, в то время как PP-YOLOE+x достигает высшего уровня mAP, хотя и при более низкой частоте кадров. YOLOv7 отлично справляется с задачей обнаружения в реальном времени, часто обеспечивая более высокую частоту кадров в секунду на GPU для заданного уровня точности по сравнению со многими конкурентами. Для высокопроизводительных приложений, таких как мониторинг трафикаОптимизация выводов в YOLOv7 является преимуществом.
Экосистема и удобство использования
Одно из главных отличий заключается в их экосистемах. PP-YOLOE+ глубоко укоренился во фреймворке PaddlePaddle . Несмотря на свою мощь, он может представлять собой более сложную кривую обучения для команд, привыкших в основном к PyTorch. YOLOv7 является родным для PyTorch, что делает его в целом более доступным для широкого исследовательского сообщества.
Однако обе модели могут быть сложны в обучении и тонкой настройке по сравнению с современными стандартами. YOLOv7 включает в себя сложные расчеты якорей и чувствительности гиперпараметров, а PP-YOLOE+ требует навигации по конфигурациям обнаружения весла.
Преимущество Ultralytics : Зачем обновляться?
Хотя PP-YOLOE+ и YOLOv7 являются отличными моделями, область искусственного интеллекта быстро развивается. Ultralytics модели, такие как YOLOv8 и современная модель YOLO11представляют собой следующее поколение зрительного ИИ, решая многие проблемы, связанные с удобством использования и эффективностью предыдущих архитектур.
Превосходный пользовательский опыт и экосистема
Ultralytics ставит во главу угла простоту использования. В отличие от сложных конфигурационных файлов, часто требуемых другими фреймворками, модели Ultralytics могут быть обучены, проверены и развернуты с помощью всего нескольких строк кода Python или простых команд CLI .
- Унифицированный API: Легко переключайтесь между такими задачами, как обнаружение объектов, сегментация экземпляров, классификация, оценка позы и OBB.
- Хорошо поддерживаемая экосистема: Воспользуйтесь преимуществами частых обновлений, процветающего сообщества и обширной документации, которая помогает быстро решать проблемы.
- Интеграция: Встроенная поддержка отслеживания экспериментов (MLflow, Comet), управление наборами данных и упрощенный экспорт моделей в такие форматы, как ONNX, TensorRT и CoreML.
Производительность и эффективность
Модели Ultralytics разработаны для оптимального баланса производительности. Они часто достигают более высокой точности, чем YOLOv7 , при меньших вычислительных затратах. Кроме того, они разработаны для экономии памяти и требуют меньше CUDA памяти во время обучения по сравнению со многими альтернативами на основе трансформаторов или старыми версиями YOLO . Такая эффективность обучения позволяет ускорить итерации и снизить затраты на облачные вычисления.
Пример кода: Простота в действии
Оцените, насколько проще обучать современную модель Ultralytics по сравнению с устаревшими рабочими процессами:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model (recommended for best performance)
model = YOLO("yolo11n.pt")
# Train the model on a dataset (e.g., COCO8)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
# Export to ONNX format for deployment
model.export(format="onnx")
Защита проектов на будущее
Использование фреймворка Ultralytics гарантирует, что вы используете не просто модель, а развивающуюся платформу. Благодаря поддержке последних версий Python и аппаратных ускорителей, вы сокращаете технический долг и обеспечиваете долгосрочное сопровождение своих ИИ-решений.
Заключение
PP-YOLOE+ остается сильным выбором для тех, кто инвестирует в экосистему PaddlePaddle , предлагая надежную безъякорную архитектуру. YOLOv7 по-прежнему является грозным вариантом для проектов, требующих высокой производительности GPU . Однако для разработчиков, которые ищут универсальное, удобное и высокопроизводительное решение, охватывающее весь спектр задач компьютерного зрения, Ultralytics YOLO11 является рекомендуемым решением.
Изучите другие модели
С помощью этих сравнений вы расширите свое представление об особенностях обнаружения объектов:
- YOLOv7 против YOLOv8
- PP-YOLOE+ vs. YOLOv8
- RT-DETR против YOLOv7
- YOLOX против YOLOv7
- YOLOv6 против YOLOv7