YOLOv7 против YOLOv9: всестороннее техническое сравнение
Эволюция семейства YOLO (You Only Look Once) была отмечена непрерывными инновациями в архитектуре нейронных сетей, балансирующими критические компромиссы между скоростью логического вывода, точностью и вычислительной эффективностью. Это сравнение углубляется в YOLOv7, важный выпуск 2022 года, известный своими обучаемыми «мешками с бесплатными дополнениями», и YOLOv9, архитектуру 2024 года, представляющую Programmable Gradient Information (PGI) для преодоления информационных узких мест в глубоких сетях.
Анализ производительности и эффективности
Переход от YOLOv7 к YOLOv9 представляет собой значительный скачок в эффективности параметров. В то время как YOLOv7 была оптимизирована для расширения границ object detection в реальном времени с использованием Extended Efficient Layer Aggregation Networks (E-ELAN), YOLOv9 вводит архитектурные изменения, которые позволяют ей достигать более высокого Mean Average Precision (mAP) с меньшим количеством параметров и операций с плавающей запятой (FLOPs).
Для разработчиков, ориентированных на развертывание edge AI, эта эффективность имеет решающее значение. Как показано в таблице ниже, YOLOv9e достигает доминирующего 55,6% mAP, превосходя более крупный YOLOv7x, сохраняя при этом конкурентоспособный вычислительный след. И наоборот, меньший YOLOv9t предлагает легкое решение для устройств с высокой степенью ограничений, уровень, на который YOLOv7 явно не нацелен с такой же детализацией.
| Модель | размер (пиксели) | 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
YOLOv7: Оптимизация обучаемого набора Bag-of-Freebies
Выпущенная в июле 2022 года, YOLOv7 внесла несколько структурных изменений в архитектуру YOLO , сосредоточившись на оптимизации процесса обучения без увеличения стоимости вывода.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация:Институт информатики, Academia Sinica, Тайвань
- Дата: 06.07.2022
- Arxiv:YOLOv7: Trainable bag-of-freebies sets new state-of-the-art
- GitHub:WongKinYiu/yolov7
Основные характеристики архитектуры
YOLOv7 использует E-ELAN (Extended Efficient Layer Aggregation Network), который контролирует кратчайшие и длиннейшие градиентные пути, чтобы позволить сети более эффективно изучать признаки. Он также популяризировал масштабирование моделей для моделей на основе конкатенации, позволяя одновременно масштабировать глубину и ширину. Ключевым нововведением была запланированная повторная параметризованная свертка, которая упрощает архитектуру модели во время инференса для повышения скорости.
Устаревший статус
В то время как YOLOv7 остается способной моделью, ей не хватает встроенной поддержки новых оптимизаций, найденных в экосистеме Ultralytics. Разработчики могут столкнуться с большими трудностями при интеграции с современными инструментами MLOps по сравнению с более новыми итерациями.
YOLOv9: Решение проблемы узкого места информации
YOLOv9, представленная в начале 2024 года, решает фундаментальную проблему в глубоком обучении: потерю информации при прохождении данных через последовательные слои.
- Авторы: Чен-Яо Ванг и Хонг-Юань Марк Ляо
- Организация:Институт информатики, Academia Sinica, Тайвань
- Дата: 21.02.2024
- Arxiv:YOLOv9: Learning What You Want to Learn Using PGI
- GitHub:WongKinYiu/yolov9
Основные характеристики архитектуры
Основным нововведением в YOLOv9 является Programmable Gradient Information (PGI). В глубоких сетях полезная информация может быть потеряна в процессе прямого распространения, что приводит к ненадежным градиентам. PGI предоставляет вспомогательную структуру контроля, которая гарантирует сохранение ключевой информации для функции потерь. Кроме того, Generalized Efficient Layer Aggregation Network (GELAN) расширяет возможности ELAN, позволяя произвольную блокировку, максимизируя использование параметров и вычислительных ресурсов.
Эта архитектура делает YOLOv9 исключительно сильной для сложных задач detection, таких как обнаружение мелких объектов в загроможденной среде или анализ аэроснимков с высоким разрешением.
Почему модели Ultralytics (YOLO11 и YOLOv8) являются предпочтительным выбором
В то время как YOLOv7 и YOLOv9 являются впечатляющими академическими достижениями, серия Ultralytics YOLO—включая YOLOv8 и современную YOLO11—разработана специально для практической разработки приложений в реальном мире. Эти модели уделяют первостепенное внимание простоте использования, интеграции в экосистему и операционной эффективности, что делает их превосходным выбором для большинства инженерных команд.
Оптимизированный пользовательский опыт
Модели Ultralytics обернуты в унифицированный Python API, который абстрагирует сложности конвейеров обучения. Переключение между задачами обнаружения объектов, сегментации экземпляров, оценки позы и ориентированных ограничивающих рамок (OBB) требует всего лишь одного изменения аргумента, что является универсальностью, которой не хватает в стандартных реализациях YOLOv7 или YOLOv9.
from ultralytics import YOLO
# Load a model (YOLO11 automatically handles architecture)
model = YOLO("yolo11n.pt") # Load a pretrained model
# Train the model with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Perform inference on an image
results = model("path/to/image.jpg")
Хорошо поддерживаемая экосистема
Выбор модели Ultralytics предоставляет доступ к надежной экосистеме. Это включает в себя простую интеграцию с Ultralytics HUB (и будущей платформой Ultralytics) для облачного обучения и управления наборами данных. Кроме того, активное сообщество и частые обновления обеспечивают совместимость с новейшим оборудованием, например, экспорт в TensorRT или OpenVINO для оптимальной скорости inference.
Память и эффективность обучения
Модели Ultralytics известны своей эффективностью обучения. В отличие от моделей на основе трансформеров (таких как RT-DETR), которые могут быть требовательны к памяти и медленно сходиться, модели Ultralytics YOLO используют оптимизированные загрузчики данных и аугментацию Mosaic для обеспечения быстрого времени обучения с меньшими требованиями к памяти CUDA. Это позволяет разработчикам обучать современные модели на GPU потребительского класса.
Идеальные варианты использования
Выбор правильной модели зависит от конкретных ограничений вашего проекта.
Приложения YOLOv9 в реальном мире
- Исследования и бенчмаркинг: Идеально подходит для академических исследований, требующих абсолютно высокой заявленной точности на наборе данных COCO.
- Высокоточное видеонаблюдение: В таких сценариях, как системы охранной сигнализации, где повышение точности на 1-2% оправдывает более высокую сложность реализации.
Приложения YOLOv7 в реальном мире
- Устаревшие системы: Проекты, уже построенные на базе Darknet или ранних экосистем PyTorch, которым требуется стабильное, известное количество без рефакторинга всей кодовой базы.
Приложения Ultralytics YOLO11 в реальном мире
- Умные города: Использование отслеживания объектов для анализа транспортного потока, где скорость и простота развертывания имеют первостепенное значение.
- Здравоохранение:Анализ медицинских изображений, где сегментация и detect часто необходимы одновременно.
- Производство: Развертывание систем контроля качества на периферийных устройствах, таких как NVIDIA Jetson или Raspberry Pi, с использованием простых опций экспорта в TFLite и ONNX.
Заключение
И YOLOv7, и YOLOv9 представляют собой важные вехи в истории компьютерного зрения. YOLOv9 предлагает убедительное обновление по сравнению с v7 благодаря своей архитектуре PGI, обеспечивая лучшую эффективность и точность. Однако, для разработчиков, ищущих универсальное, простое в использовании и хорошо поддерживаемое решение, Ultralytics YOLO11 остается рекомендуемым выбором. Его баланс производительности, исчерпывающая документация и многозадачные возможности (detect, segment, classify, pose) обеспечивают самый быстрый путь от концепции до производства.
Изучите другие модели
Чтобы найти идеальное решение для ваших конкретных задач компьютерного зрения, рассмотрите возможность изучения этих других сравнений:
- YOLOv8 vs. YOLOv9 — Сравните широко используемую v8 с v9, ориентированной на исследования.
- YOLOv10 vs. YOLOv9 - Посмотрите, как работает сквозная YOLOv10.
- YOLO11 vs. YOLOv8 - Оцените улучшения в последнем выпуске Ultralytics.
- RT-DETR vs. YOLOv9 — Взгляд на детектирование на основе Transformer'ов и CNN.