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

YOLOv7 против YOLOv9: Глубокий технический анализ современных методов обнаружения объектов

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

Мы проанализируем их архитектурные прорывы, показатели производительности и идеальные сценарии развертывания, чтобы помочь вам выбрать подходящую модель для вашего приложения. Мы также рассмотрим, как платформа Ultralytics объединяет эти модели, упрощая их обучение, валидацию и развертывание.

Происхождение модели и технические характеристики

Понимание истоков и философии проектирования этих моделей обеспечивает важный контекст для понимания их возможностей. Обе модели имеют общее исследовательское происхождение, но нацелены на различные архитектурные узкие места.

YOLOv7: Пионер «Бесплатных приемов»

Выпущенный в середине 2022 года, YOLOv7 зарекомендовал себя как высоконадежная и значительно оптимизированная архитектура. Он представил структурную репараметризацию и подход «обучаемый набор бесплатных приемов» для поддержания высокой скорости инференса без ущерба для средней точности (mAP).

Архитектурные инновации: YOLOv7 использует расширенную эффективную сеть агрегации слоев (E-ELAN), которая позволяет модели изучать более разнообразные признаки путем расширения, перемешивания и объединения кардинальности. Эта конструкция обеспечивает превосходное использование GPU и низкую задержку инференса. Однако она может требовать значительного объема памяти во время сложных тренировочных прогонов по сравнению с современными итерациями.

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

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

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

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

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

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

При выборе между архитектурами инженеры по ИИ должны балансировать точность, скорость инференса и вычислительные затраты. Таблица ниже подчеркивает различия в производительности этих моделей на стандартном наборе данных COCO.

Модельразмер
(пиксели)
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

Основные выводы

  • Эффективность по параметрам: YOLOv9m соответствует точности YOLOv7l (51.4% mAP), используя при этом почти на 45% меньше параметров (20.0 млн против 36.9 млн). Такое значительное сокращение значительно упрощает развертывание YOLOv9m на периферийных AI-устройствах с ограниченной памятью.
  • Микро-развертывания: Внедрение варианта YOLOv9t (tiny) обеспечивает невероятную скорость (2,3 мс на T4 TensorRT) для сред, где ограничения реального времени являются критически важными.
  • Максимальная точность: Для приложений, где точность имеет первостепенное значение, YOLOv9e доводит точность detect до 55.6% mAP, значительно превосходя YOLOv7x.

Подготовка ваших проектов компьютерного зрения к будущему

Хотя YOLOv7 и YOLOv9 мощны, недавно выпущенная YOLO26 представляет собой окончательный шаг вперед. YOLO26 внедряет нативную сквозную NMS-free архитектуру, устраняя сложную постобработку и увеличивая скорость вывода на CPU до 43%. Используя новый оптимизатор MuSGD и улучшенные функции потерь ProgLoss + STAL, YOLO26 обеспечивает беспрецедентную стабильность обучения и точность detect мелких объектов.

Преимущество Ultralytics

Выбор архитектуры модели — это только первый шаг. Программная экосистема, окружающая модель, определяет скорость перехода от прототипа к производству. Интеграция этих моделей через Ultralytics Python API предоставляет значительные преимущества для разработчиков и исследователей.

Простота использования и эффективность обучения

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

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

Пример кода: Оптимизированное обучение

Обучение передовых моделей бесшовно интегрировано в экосистему Ultralytics. Ниже представлен полностью рабочий пример, демонстрирующий, как обучать и валидировать модель YOLOv9:

from ultralytics import YOLO

# Initialize the model (you can swap 'yolov9c.pt' with 'yolov7.pt' or 'yolo26n.pt')
model = YOLO("yolov9c.pt")

# Train the model on the COCO8 sample dataset
train_results = model.train(
    data="coco8.yaml",
    epochs=50,
    imgsz=640,
    device="0",  # Use GPU 0 if available
    batch=16,  # Optimized batch size for memory efficiency
)

# Validate the model's performance on the validation set
metrics = model.val()

# Export the trained model to ONNX format for deployment
model.export(format="onnx")

Непревзойденная универсальность в задачах

Хорошо поддерживаемая экосистема означает доступ к разнообразным задачам компьютерного зрения. В то время как YOLOv7 был в первую очередь разработан для обнаружения объектов (с последующими экспериментальными форками для других задач), современные модели Ultralytics изначально созданы для универсальности. Из коробки вы можете беспрепятственно выполнять сегментацию экземпляров, оценку позы, классификацию изображений и обнаружение ориентированных ограничивающих рамок (OBB).

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

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

Когда применять YOLOv7

  • Устаревшие граничные развертывания: Для аппаратных сред, уже тщательно настроенных и оптимизированных для архитектуры E-ELAN YOLOv7, это остается надежным выбором для промышленного IoT.
  • Мониторинг трафика: Высокая частота кадров и доказанная стабильность YOLOv7 делают его отличным решением для инфраструктуры умного города и управления дорожным движением в реальном времени.
  • Интеграция в робототехнику: Навигация в динамичных средах требует обработки с низкой задержкой, сценарий, в котором варианты YOLOv7 были тщательно протестированы.

Когда применять YOLOv9

  • Медицинская визуализация: Архитектура PGI в YOLOv9 исключительно хорошо сохраняет мелкие детали через глубокие слои, что критически важно при анализе сложных задач анализа медицинских изображений, таких как обнаружение опухолей.
  • Аналитика плотно расположенных товаров в розничной торговле: Для отслеживания и подсчета плотно расположенных товаров на полках магазинов интеграция признаков YOLOv9 обеспечивает превосходную точность и уменьшает количество ложных отрицаний.
  • Аэро- и дрон-съемка: Эффективность параметров YOLOv9m позволяет обрабатывать изображения высокого разрешения на дронах, способствуя сохранению дикой природы и мониторингу сельского хозяйства без значительного расхода заряда батареи.

Заключение

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

Однако для разработчиков, начинающих новые проекты сегодня, использование экосистемы Ultralytics — в частности, моделей следующего поколения, таких как YOLO11 и YOLO26 — предлагает наиболее выгодный компромисс между скоростью, точностью и удобством для разработчика. Благодаря таким инновациям, как оптимизатор MuSGD и отказ от Distribution Focal Loss (DFL) для более широкой аппаратной совместимости, Ultralytics продолжает предоставлять самые доступные и мощные инструменты для профессионалов в области визуального ИИ.


Комментарии