YOLOv7 против PP-YOLOE+: Техническое сравнение для обнаружения объектов
Выбор оптимальной архитектуры обнаружения объектов является ключевым решением при разработке компьютерного зрения, оказывающим значительное влияние на производительность и эффективность последующих приложений. Данный анализ обеспечивает глубокое техническое погружение в YOLOv7 и PP-YOLOE+, двух выдающихся моделей, которые сформировали ландшафт обнаружения объектов в реальном времени. Мы рассмотрим их архитектурные инновации, методики обучения и показатели производительности, чтобы помочь исследователям и инженерам сделать осознанный выбор.
YOLOv7: определение скорости и точности в реальном времени
YOLOv7 Появление YOLOv7 стало важной вехой в развитии семейства You Only Look Once, призванного расширить границы скорости и точности для приложений реального времени. В ней были реализованы архитектурные стратегии, улучшающие обучение функций без увеличения стоимости выводов, что фактически установило новый современный стандарт после ее выпуска.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация:Институт информационных наук, Академия Синика, Тайвань
- Дата: 06.07.2022
- ArXiv:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
- Документы:https://docs.ultralytics.com/models/yolov7/
Архитектурные инновации
Основой дизайна YOLOv7 является расширенная эффективная сеть агрегирования уровней (E-ELAN). Эта новая магистральная архитектура управляет кратчайшим и длинным путями градиента, чтобы эффективно изучать особенности, не нарушая поток градиента. Оптимизируя пути градиента, сеть достигает более глубоких возможностей обучения, сохраняя при этом эффективность.
Кроме того, в процессе обучения YOLOv7 использует стратегию "bag-of-freebies". Это методы оптимизации, которые повышают точность без дополнительных вычислительных затрат на этапе создания механизма вывода. Эти методы включают в себя перепараметризацию модели, которая объединяет отдельные модули в один отдельный модуль для развертывания, а также грубые и тонкие потери при наведении для наблюдения за вспомогательными головами.
Сильные и слабые стороны
- Сильные стороны: YOLOv7 обладает исключительным соотношением скорости и точности, что делает его очень эффективным для вычислений в реальном времени на GPU. Его подход, основанный на якорях, хорошо настроен для стандартных наборов данных, таких как COCO.
- Слабые стороны: Как детектор на основе якорей, он требует предопределенной конфигурации якорных ящиков, что может быть неоптимальным для пользовательских наборов данных с необычными соотношениями сторон объектов. Эффективное масштабирование модели при различных аппаратных ограничениях также может быть сложным по сравнению с новыми итерациями.
PP-YOLOE+: Безъякорный челленджер
PP-YOLOE+ - это эволюция PP-YOLOE, разработанная компанией Baidu в рамках пакета PaddleDetection. Его отличает безъякорная архитектура, направленная на упрощение конвейера обнаружения и уменьшение количества гиперпараметров, которые необходимо настраивать разработчикам.
- Авторы: Авторы 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+ используется механизм безъякорного детектора, исключающий необходимость кластеризации якорных блоков. В нем используется основа CSPRepResNet и упрощенная конструкция головы. Ключевым фактором эффективности является технология Task Alignment Learning (TAL), которая динамически назначает положительные образцы на основе согласования качества классификации и локализации.
В модель также интегрирована VariFocal Loss, специализированная функция потерь, разработанная для приоритетного обучения высококачественным примерам. Версия "+" включает улучшения для структур шеи и головы, оптимизируя пирамиду признаков для лучшего многомасштабного обнаружения.
Сильные и слабые стороны
- Сильные стороны: Безъякорная конструкция упрощает процесс обучения и улучшает обобщение на объектах различной формы. Она хорошо масштабируется для разных размеров (s, m, l, x) и сильно оптимизирована для фреймворка PaddlePaddle .
- Слабые стороны: Его основная зависимость от экосистемы PaddlePaddle может создать трения для команд, созданных в PyTorch или TensorFlow экосистемах. Поддержка сообщества и сторонние инструменты за пределами Китая, как правило, менее обширны по сравнению с глобальным сообществом YOLO .
Сравнение производительности
При сравнении этих моделей важно обратить внимание на соотношение между средней точностью (mAP) и задержкой вывода. В таблице ниже представлены ключевые показатели на наборе данных COCO .
| Модель | размер (пиксели) | 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 |
Анализ
Как видно, YOLOv7l демонстрирует впечатляющую эффективность, достигая 51,4% mAP при скорости TensorRT 6,84 мс. В отличие от него, PP-YOLOE+l достигает чуть более высокого значения 52,9 % mAP , но с меньшей скоростью 8,36 мс и с существенно большим количеством параметров (52,2 М против 36,9 М). Это подчеркивает превосходство YOLOv7 в эффективности использования параметров и скорости вывода для сопоставимых уровней точности. Хотя PP-YOLOE+x расширяет границы точности, это происходит за счет почти двукратного увеличения параметров сравнимых моделей YOLO .
Эффективность имеет значение
При развертывании ИИ на границе, где память и вычисления ограничены, меньшее количество параметров и FLOP в архитектурах YOLO часто приводит к более низкой производительности и энергопотреблению по сравнению с более тяжелыми альтернативами.
Преимущество Ultralytics : Зачем модернизировать?
Хотя YOLOv7 и PP-YOLOE+ - это эффективные модели, область компьютерного зрения быстро развивается. Принятие новейших моделей Ultralytics , таких как YOLO11дает явные преимущества, выходящие за рамки сырых показателей.
1. Оптимизированный пользовательский опыт
Приоритетом Ultralytics является простота использования. В отличие от сложных конфигурационных файлов и управления зависимостями, которые часто требуются в других фреймворках, модели Ultralytics можно использовать с помощью нескольких строк языка Python. Это снижает входной барьер для разработчиков и ускоряет цикл развертывания модели.
2. Единая экосистема и универсальность
Современные модели Ultralytics не ограничиваются обнаружением объектов. Они поддерживают широкий спектр задач в рамках единого фреймворка:
- Сегментация объектов: Точное маскирование объектов на уровне пикселей.
- Оценка позы: Определение ключевых точек на теле человека или животного.
- Обнаружение ориентированных объектов (OBB): работа с повернутыми объектами, например кораблями, на аэроснимках.
- Классификация: Категоризация всего изображения.
Такая универсальность позволяет командам стандартизировать одну библиотеку для различных задач компьютерного зрения, что упрощает обслуживание.
3. Тренировка и эффективность памяти
Модели Ultralytics разработаны с учетом эффективности использования памяти. Они обычно требуют меньше VRAM во время обучения по сравнению со старыми архитектурами или моделями на основе трансформаторов, такими как RT-DETR. Это позволяет обучать большие партии на стандартных потребительских графических процессорах, делая создание высокопроизводительных моделей доступным для большего числа исследователей.
4. Пример кода: Современный способ
Выполнение прогнозов с помощью современной модели Ultralytics интуитивно понятно. Ниже приведен полный, запускаемый пример с использованием YOLO11, демонстрирующий, как мало строк кода требуется для загрузки предварительно обученной модели и запуска прогнозирования.
from ultralytics import YOLO
# Load the YOLO11n model (nano version for speed)
model = YOLO("yolo11n.pt")
# Run inference on a local image
# This automatically downloads the model weights if not present
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
boxes = result.boxes # Boxes object for bbox outputs
result.show() # Display results on screen
result.save(filename="result.jpg") # Save results to disk
5. Хорошо поддерживаемая экосистема
Выбор Ultralytics означает присоединение к активному сообществу. Благодаря частым обновлениям, обширной документации и интеграции с MLOps-инструментами, такими как Ultralytics HUB, разработчики получают поддержку на протяжении всего жизненного цикла своего AI-проекта.
Заключение
Оба YOLOv7 и PP-YOLOE+ внесли значительный вклад в область обнаружения объектов. YOLOv7 отличается высокой скоростью обработки выводов на GPU благодаря эффективной архитектуре E-ELAN. PP-YOLOE+ предлагает надежную безъякорную альтернативу, которая особенно сильна в экосистеме PaddlePaddle .
Однако для разработчиков, которые ищут перспективное решение, сочетающее в себе современную производительность и непревзойденную простоту использования, Ultralytics YOLO11 является рекомендуемым выбором. Интеграция во всеобъемлющую экосистему, поддержка мультимодальных задач и высочайшая эффективность делают его идеальной платформой для создания масштабируемых приложений компьютерного зрения в 2025 году и далее.
Изучите другие модели
С помощью этих сравнений вы расширите свое представление об особенностях обнаружения объектов:
- YOLOv7 против YOLOv8
- PP-YOLOE+ vs. YOLOv8
- RT-DETR против YOLOv7
- YOLOX против YOLOv7
- Изучите новейшие возможности YOLO11.