Перейти к содержанию

YOLOv7 против YOLOv9: всестороннее техническое сравнение

Эволюция семейства YOLO (You Only Look Once) была отмечена постоянными инновациями в архитектуре нейронных сетей, балансирующими на грани компромисса между скоростью вывода, точностью и вычислительной эффективностью. В данном сравнении рассматривается YOLOv7который был выпущен в 2022 году и известен своим обучаемым "мешком бесплатных вещей", и YOLOv9архитектура 2024 года, в которой представлена программируемая градиентная информация (Programmable Gradient Information, PGI) для преодоления информационных узких мест в глубоких сетях.

Анализ производительности и эффективности

Переход от YOLOv7 к YOLOv9 представляет собой значительный скачок в эффективности параметров. В то время как YOLOv7 был оптимизирован для расширения границ обнаружения объектов в реальном времени с использованием расширенных эффективных сетей агрегации уровней (E-ELAN), YOLOv9 вносит архитектурные изменения, которые позволяют ему достичь более высокой средней точностиmAP) с меньшим количеством параметров и операций с плавающей запятой (FLOP).

Для разработчиков, нацеленных на развертывание ИИ на границах, такая эффективность имеет решающее значение. Как показано в таблице ниже, YOLOv9e достигает доминирующего показателя mAP в 55,6 %, превосходя более крупный YOLOv7x при сохранении конкурентоспособной вычислительной площади. И наоборот, более компактный YOLOv9t предлагает легкое решение для устройств с жесткими ограничениями - уровень, на который YOLOv7 не ориентирован с той же степенью детализации.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

YOLOv7: оптимизация обучаемой сумки бесплатных вещей

Выпущенная в июле 2022 года, YOLOv7 внесла несколько структурных изменений в архитектуру YOLO , сосредоточившись на оптимизации процесса обучения без увеличения стоимости вывода.

Основные моменты архитектуры

В YOLOv7 используется E-ELAN (Extended Efficient Layer Aggregation Network), которая управляет кратчайшим и длинным градиентными путями, позволяя сети эффективно изучать больше признаков. Кроме того, в ней популяризировано масштабирование моделей на основе конкатенации, позволяющее одновременно масштабировать глубину и ширину. Ключевым нововведением стала планируемая повторная параметризованная свертка, которая оптимизирует архитектуру модели во время вывода для повышения скорости.

Статус наследия

Несмотря на то, что YOLOv7 остается функциональной моделью, ей не хватает встроенной поддержки новых оптимизаций, которые можно найти в экосистемеUltralytics . Разработчики могут столкнуться с проблемами интеграции с современными инструментами MLOps по сравнению с более новыми итерациями.

Узнайте больше о YOLOv7

YOLOv9: решение проблемы узкого места в информации

YOLOv9, представленный в начале 2024 года, решает фундаментальную проблему глубокого обучения: потерю информации при прохождении данных через последовательные слои.

Основные моменты архитектуры

Основная инновация в YOLOv9 - программируемая информация о градиенте (PGI). В глубоких сетях полезная информация может быть утеряна в ходе процесса передачи данных, что приводит к ненадежным градиентам. PGI обеспечивает вспомогательный механизм контроля, который гарантирует сохранение ключевой информации для функции потерь. Кроме того, обобщенная эффективная сеть агрегирования слоев (GELAN) расширяет возможности ELAN, позволяя произвольно блокировать параметры, максимально используя параметры и вычислительные ресурсы.

Такая архитектура делает YOLOv9 исключительно сильной для сложных задач обнаружения, таких как обнаружение мелких объектов в загроможденном окружении или анализ аэрофотоснимков высокого разрешения.

Узнайте больше о YOLOv9

Почему модели 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 Platform) для облачного обучения и управления наборами данных. Кроме того, активное сообщество и частые обновления обеспечивают совместимость с новейшим оборудованием, например, экспорт в TensorRT или OpenVINO для оптимальной скорости вычислений.

Память и эффективность обучения

Модели Ultralytics известны своей эффективностью в обучении. В отличие от моделей на основе трансформаторов (таких как RT-DETR), которые могут занимать много памяти и медленно сходиться, модели Ultralytics YOLO используют оптимизированные загрузчики данных и дополнения Mosaic для быстрого обучения при меньших требованиях к памяти CUDA . Это позволяет разработчикам обучать самые современные модели на графических процессорах потребительского класса.

Узнайте больше о YOLO11

Идеальные варианты использования

Выбор подходящей модели зависит от конкретных ограничений вашего проекта.

Применение YOLOv9 в реальном мире

  • Исследования и бенчмаркинг: Идеально подходит для академических исследований, требующих абсолютной точности на наборе данныхCOCO .
  • Высокоточное наблюдение: В таких сценариях, как системы охранной сигнализации, когда повышение точности на 1-2% оправдывает более высокую сложность реализации.

Реальные приложения для YOLOv7

  • Наследные системы: Проекты, уже построенные на Darknet или ранних экосистемах PyTorch , которым требуется стабильная, известная величина без рефакторинга всей кодовой базы.

Применение Ultralytics в реальном миреYOLO11

  • Умные города: Использование отслеживания объектов для анализа транспортных потоков, где скорость и простота развертывания имеют первостепенное значение.
  • Здравоохранение:Анализ медицинских изображений, где часто требуется одновременная сегментация и обнаружение.
  • Производство: Развертывание систем контроля качества на пограничных устройствах, таких как NVIDIA Jetson или Raspberry Pi, с использованием возможностей простого экспорта в TFLite и ONNX.

Заключение

И YOLOv7 , и YOLOv9 представляют собой значительные вехи в истории компьютерного зрения. YOLOv9 предлагает значительное усовершенствование по сравнению с v7 благодаря архитектуре PGI, обеспечивающей более высокую эффективность и точность. Однако для разработчиков, которым нужно универсальное, простое в использовании и хорошо поддерживаемое решение, Ultralytics YOLO11 остается рекомендованным выбором. Его баланс производительности, исчерпывающая документация и многозадачные возможностиdetect, segment, classify, позиционирование) обеспечивают самый быстрый путь от концепции к производству.

Изучите другие модели

Чтобы найти идеальный вариант для решения конкретных задач компьютерного зрения, рассмотрите другие сравнения:


Комментарии