YOLOv9 против YOLOv7: глубокое погружение в эволюцию обнаружения объектов
Компьютерное зрение характеризуется стремительными инновациями, где архитектурные прорывы постоянно перекраивают границы скорости и точности. Две важные вехи на этом пути - YOLOv9 и YOLOv7. Обе модели появились благодаря исследованиям Чиен-Яо Ванга и его коллег, представляя собой разные поколения семейства "You Only Look Once".
Пока YOLOv7 установила стандарт обнаружения объектов в реальном времени после своего выхода в 2022 году, YOLOv9 появилась в 2024 году с новыми механизмами для решения проблемы потери информации в глубоких сетях. В этом сравнении рассматриваются их технические характеристики, архитектурные различия и практические приложения, чтобы помочь разработчикам выбрать оптимальную модель для своих нужд.
Показатели производительности и эффективности
Эволюция от YOLOv7 к YOLOv9 наиболее заметна в компромиссе между вычислительными затратами и эффективностью обнаружения. YOLOv9 значительно повышает эффективность, позволяя достичь более высокой средней точности (mAP) с меньшим количеством параметров по сравнению с предшественником.
Например, модель YOLOv9m достигает того же показателя mAPval 51,4%, что и YOLOv7l, но при этом использует почти вдвое меньше параметров (20,0M против 36,9M) и значительно меньше FLOP. Такая эффективность делает YOLOv9 особенно привлекательной для приложений краевого ИИ, где аппаратные ресурсы ограничены.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
YOLOv9: программируемая информация о градиенте
YOLOv9 представляет собой смену парадигмы в том, как глубокие нейронные сети справляются с передачей данных через слои. Выпущенная в начале 2024 года, она специально направлена на решение проблемы "информационного узкого места", когда данные теряются при прохождении через последовательные слои глубокой сети.
Авторы: Chien-Yao Wang, Hong-Yuan Mark Liao
Организация:Institute of Information Science, Academia Sinica
Дата: 2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9
Архитектурные инновации
Основным новшеством YOLOv9 является внедрение программируемой информации о градиентах (PGI). PGI - это вспомогательная система контроля, которая обеспечивает надежную передачу градиентов обратно в начальные слои, сохраняя важную входную информацию, которая в противном случае может быть потеряна при извлечении признаков.
Дополнением к PGI является обобщенная эффективная сеть агрегирования слоев (GELAN). Эта архитектура позволяет разработчикам гибко укладывать различные вычислительные блоки (например, CSP или ResBlocks), оптимизируя весовые коэффициенты моделей под конкретные аппаратные ограничения без ущерба для точности.
Сильные и слабые стороны
- Преимущества:
- Превосходная точность: Достигнуты передовые результаты на наборе данныхCOCO : модель YOLOv9 достигла 55,6% mAP.
- Эффективность параметров: Обеспечивает производительность, сравнимую с более старыми моделями, используя значительно меньшее количество параметров, что снижает требования к памяти при выводе.
- Сохранение информации: Теоретические усовершенствования градиентного потока приводят к улучшению сходимости и представления характеристик.
- Слабые стороны:
- Сложность обучения: Вспомогательные ветви, используемые во время обучения (и удаляемые при выводе), могут увеличить потребление памятиGPU на этапе обучения по сравнению с более простыми архитектурами.
YOLOv7: стандарт "Сумка бесплатных вещей
До YOLOv9, YOLOv7 была действующим чемпионом семейства YOLO . В ней были представлены архитектурные усовершенствования, направленные на оптимизацию процесса обучения без увеличения стоимости выводов - концепция, известная как "мешок бесплатных вещей".
Авторы: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
Организация: Institute of Information Science, Academia Sinica
Date: 2022-07-06
Arxiv:2207.02696
GitHub:WongKinYiu/yolov7
Docs:Ultralytics YOLOv7
Архитектурный обзор
В YOLOv7 появилась сеть E-ELAN (Extended Efficient Layer Aggregation Network), которая управляет кратчайшим и длинным градиентными путями для улучшения способности сети к обучению. В ней также используются методы масштабирования модели, которые изменяют глубину и ширину сети одновременно, обеспечивая оптимальную архитектуру для различных целевых устройств.
Сильные и слабые стороны
- Преимущества:
- Проверенная надежность: Широкое использование в сообществе и проверка в течение нескольких лет делают его стабильным выбором для устаревших систем.
- Высокая скорость: Оптимизирован специально для проведения выводов в реальном времени на стандартном оборудовании GPU .
- Слабые стороны:
- Более низкая эффективность: Требуется больше параметров и FLOPов, чтобы соответствовать уровню точности, который обеспечивают более новые модели, такие как YOLOv9 или YOLO11 достигаются с помощью более легких архитектур.
- Старый инструментарий: Не хватает некоторых встроенных интеграций и простых в использовании функций, которые есть в современной экосистеме Ultralytics .
Идеальные варианты использования и применения
Выбор между этими двумя моделями часто зависит от конкретных ограничений среды развертывания и требуемой точности задачи.
Когда выбирать YOLOv9
YOLOv9 отлично подходит для сценариев, требующих высочайшего соотношения точности и эффективности.
- Автономная навигация: В самоуправляемых автомобилях обнаружение мелких объектов на больших расстояниях имеет решающее значение. Способность YOLOv9 сохранять информацию помогает распознавать удаленные опасности.
- Медицинская визуализация: Для таких задач, как обнаружение опухолей, где отсутствие положительного результата является критическим, высокая запоминаемость и точность YOLOv9 являются полезными.
- Краевые устройства: Параметр
yolov9tвариант обеспечивает надежное решение для IoT-устройства например, Raspberry Pis, обеспечивая высокую точность при минимальных вычислительных затратах.
Когда выбирать YOLOv7
YOLOv7 остается актуальным для существующих конвейеров, которые уже оптимизированы под его архитектуру.
- Устаревшие системы: Промышленные производственные линии, в которых YOLOv7 был проверен для контроля качества, могут предпочесть сохранить согласованность, а не переходить к немедленному обновлению.
- Исследовательские базы: Он служит отличным эталоном для сравнения новых стратегий обнаружения с установленными стандартами в академических исследованиях.
Баланс производительности с помощью Ultralytics
Хотя YOLOv9 и YOLOv7 являются мощными, разработчикам, которые ищут оптимальный баланс скорости, точности и опыта разработчиков, стоит обратить внимание на Ultralytics YOLO11. YOLO11 объединяет лучшие функции предыдущих поколений с оптимизированным API, поддерживая обнаружение, сегментацию, оценку позы и классификацию в едином фреймворке.
Преимущество Ultralytics
Использование этих моделей в экосистемеUltralytics дает явные преимущества перед использованием необработанных исследовательских репозиториев. API Ultralytics Python абстрагирует сложный шаблонный код, позволяя исследователям и инженерам сосредоточиться на данных и результатах.
- Простота использования: Унифицированный интерфейс позволяет переключаться между YOLOv8, YOLOv9 и YOLO11 с помощью одной строки кода.
- Эффективность обучения: Модели Ultralytics оптимизированы для более быстрой сходимости, поэтому для достижения высокой точности часто требуется меньше обучающих данных.
- Требования к памяти: Фреймворк спроектирован таким образом, чтобы минимизировать использование памятиCUDA , что позволяет обучать большие объемы партий на оборудовании потребительского класса по сравнению с моделями Transformer, занимающими много памяти.
- Универсальность: Помимо простых ограничительных блоков, экосистема поддерживает сегментацию экземпляров, оценку позы и задачи ориентированного ограничительного блока (OBB), что делает ее комплексным инструментом для решения различных задач ИИ.
Пример реализации
Запускать эти модели очень просто с помощью библиотеки Ultralytics . Следующий фрагмент кода демонстрирует, как загрузить предварительно обученную модель и выполнить вывод на изображении.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)
# Process results
for result in results:
result.show() # Display predictions
Для тех, кто заинтересован в обучении на пользовательских наборах данных, процесс не менее прост: для этого используются надежные стратегии настройки гиперпараметров и расширения данных, встроенные в фреймворк.
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Заключение
И YOLOv9 , и YOLOv7 представляют собой значительные достижения в области компьютерного зрения. YOLOv9 является явным техническим преемником, предлагая превосходную эффективность и точность параметров благодаря инновационным архитектурам PGI и GELAN. Это рекомендуемый выбор для пользователей, которые ищут высокую производительность от конкретной линии исследований Wang et al.
Однако для разработчиков, стремящихся к наиболее целостному опыту разработки ИИ, Ultralytics YOLO11 остается главной рекомендацией. Благодаря активному сопровождению, обширной документации и широкой поддержке мультимодальных задач YOLO11 гарантирует, что ваши проекты будут перспективными и готовыми к производству.
Изучите другие модели
Чтобы еще больше расширить свое представление о ландшафте обнаружения объектов, изучите эти связанные модели и сравнения:
- YOLO11 vs. YOLOv9 - сравнение последней модели Ultralytics с YOLOv9.
- YOLOv8 против YOLOv7 - посмотрите, как обстоят дела с предыдущим поколением.
- RT-DETR против YOLOv9 - взгляд на обнаружение на основе трансформаторов в сравнении с CNN.
- YOLOv10 - Изучите модель сквозного обнаружения объектов в режиме реального времени.
- Ultralytics HUB - самый простой способ обучения и развертывания моделей.