YOLOv9: скачок вперед в технологии detectирования объектов
YOLOv9 знаменует собой значительный прогресс в области обнаружения объектов в реальном времени, представляя новаторские методы, такие как Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN). Эта модель демонстрирует значительные улучшения в эффективности, точности и адаптируемости, устанавливая новые эталоны на наборе данных MS COCO. Проект YOLOv9, разработанный отдельной командой разработчиков с открытым исходным кодом, основан на надежной кодовой базе, предоставленной UltralyticsYOLOv5, демонстрируя дух сотрудничества исследовательского сообщества в области ИИ.
Смотреть: Обучение YOLOv9 на пользовательских данных с использованием Ultralytics | Набор промышленных пакетов данных

Введение в YOLOv9
В стремлении к оптимальному detect объектов в реальном времени YOLOv9 выделяется своим инновационным подходом к преодолению проблем потери информации, присущих глубоким нейронным сетям. Благодаря интеграции PGI и универсальной архитектуры GELAN, YOLOv9 не только повышает способность модели к обучению, но и обеспечивает сохранение важной информации на протяжении всего процесса detect, тем самым достигая исключительной точности и производительности.
Основные инновации YOLOv9
Усовершенствования YOLOv9 глубоко укоренены в решении проблем, связанных с потерей информации в глубоких нейронных сетях. Принцип информационного узкого места и инновационное использование обратимых функций являются центральными в ее конструкции, обеспечивая высокую эффективность и точность YOLOv9.
Принцип информационного узкого места
Принцип Information Bottleneck выявляет фундаментальную проблему в глубоком обучении: по мере прохождения данных через последовательные слои сети вероятность потери информации возрастает. Это явление математически представляется как:
I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))
где I обозначает взаимную информацию, и f и g представляют собой функции преобразования с параметрами theta и phi, соответственно. YOLOv9 решает эту проблему, внедряя Programmable Gradient Information (PGI), которая помогает сохранить важные данные по всей глубине сети, обеспечивая более надежную генерацию градиента и, следовательно, лучшую сходимость и производительность модели.
Обратимые функции
Концепция обратимых функций — еще один краеугольный камень конструкции YOLOv9. Функция считается обратимой, если ее можно инвертировать без какой-либо потери информации, что выражается следующим образом:
X = v_zeta(r_psi(X))
с psi и zeta в качестве параметров для обратимой и ее обратной функции, соответственно. Это свойство имеет решающее значение для фреймворк глубокого обучения архитектурах, поскольку это позволяет сети сохранять полный поток информации, тем самым обеспечивая более точные обновления параметров модели. YOLOv9 включает обратимые функции в свою архитектуру, чтобы снизить риск ухудшения информации, особенно в более глубоких слоях, обеспечивая сохранение критически важных данных для задач обнаружения объектов.
Влияние на легкие модели
Предотвращение потери информации особенно важно для облегченных моделей, которые часто недопараметризованы и склонны к потере значительной информации в процессе прямого распространения. Архитектура YOLOv9, благодаря использованию PGI и обратимых функций, гарантирует, что даже с оптимизированной моделью сохраняется и эффективно используется важная информация, необходимая для точного обнаружения объектов.
Programmable Gradient Information (PGI)
PGI — это новая концепция, представленная в YOLOv9 для борьбы с проблемой информационного узкого места, обеспечивающая сохранение важных данных на глубоких слоях сети. Это позволяет генерировать надежные градиенты, облегчая точное обновление модели и улучшая общую производительность detect.
Generalized Efficient Layer Aggregation Network (GELAN)
GELAN представляет собой стратегическое архитектурное достижение, позволяющее YOLOv9 достичь превосходного использования параметров и вычислительной эффективности. Его конструкция обеспечивает гибкую интеграцию различных вычислительных блоков, что делает YOLOv9 адаптируемой к широкому спектру приложений без ущерба для скорости или точности.

Бенчмарки YOLOv9
Эталонное тестирование в YOLOv9 с использованием Ultralytics включает в себя оценку производительности вашей обученной и проверенной модели в реальных сценариях. Этот процесс включает в себя:
- Оценка производительности: Оценка скорости и точности модели.
- Форматы экспорта: Тестирование модели в различных форматах экспорта, чтобы убедиться, что она соответствует необходимым стандартам и хорошо работает в различных средах.
- Поддержка фреймворков: Предоставление комплексного фреймворка в Ultralytics YOLOv8 для облегчения этих оценок и обеспечения согласованных и надежных результатов.
Благодаря бенчмаркингу вы можете быть уверены, что ваша модель не только хорошо работает в контролируемых средах тестирования, но и поддерживает высокую производительность в практических, реальных приложениях.
Смотреть: Как провести бенчмаркинг модели YOLOv9 с использованием пакета Ultralytics python
Производительность на MS COCO Dataset
Производительность YOLOv9 на наборе данных COCO демонстрирует значительные достижения в области обнаружения объектов в реальном времени, устанавливая новые стандарты для моделей различных размеров. В таблице 1 представлено всестороннее сравнение современных детекторов объектов в реальном времени, иллюстрирующее превосходную эффективность и точность YOLOv9.
Производительность
| Модель | размер (пиксели) | mAPval 50-95 | mAPval 50 | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | 53.1 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | 63.4 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | 68.1 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | 70.2 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | 72.8 | 58.1 | 192.5 |
| Модель | размер (пиксели) | mAPbox 50-95 | mAPmask 50-95 | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|
| YOLOv9c-seg | 640 | 52.4 | 42.2 | 27.9 | 159.4 |
| YOLOv9e-seg | 640 | 55.1 | 44.3 | 60.5 | 248.4 |
Итерации YOLOv9, начиная с tiny, t версии до расширенной e модель, демонстрируют улучшения не только в точности (метрики mAP), но и в эффективности за счет уменьшения количества параметров и вычислительных потребностей (FLOPs). Эта таблица подчеркивает способность YOLOv9 обеспечивать высокую точность при сохранении или снижении вычислительных затрат по сравнению с предыдущими версиями и конкурирующими моделями.
В сравнении, YOLOv9 демонстрирует значительные улучшения:
- Легковесные модели: YOLOv9s превосходит YOLO MS-S по эффективности параметров и вычислительной нагрузке, при этом достигая улучшения на 0,4∼0,6% в AP.
- Модели от среднего до большого размера: YOLOv9m и YOLOv9e демонстрируют заметные улучшения в балансировке компромисса между сложностью модели и производительностью обнаружения, предлагая значительное сокращение параметров и вычислений на фоне повышения точности.
Модель YOLOv9c, в частности, подчеркивает эффективность оптимизаций архитектуры. Она работает с на 42% меньшим количеством параметров и на 21% меньшими вычислительными потребностями, чем YOLOv7 AF, но при этом достигает сопоставимой точности, демонстрируя значительные улучшения эффективности YOLOv9. Кроме того, модель YOLOv9e устанавливает новый стандарт для больших моделей, с на 15% меньшим количеством параметров и на 25% меньшей вычислительной потребностью, чем YOLOv8x, наряду с постепенным улучшением AP на 1,7%.
Эти результаты демонстрируют стратегические достижения YOLOv9 в проектировании моделей, подчеркивая ее повышенную эффективность без ущерба для точности, необходимой для задач detect объектов в реальном времени. Модель не только расширяет границы показателей производительности, но и подчеркивает важность вычислительной эффективности, что делает ее ключевым событием в области компьютерного зрения.
Заключение
YOLOv9 представляет собой поворотный момент в обнаружении объектов в реальном времени, предлагая значительные улучшения с точки зрения эффективности, точности и адаптируемости. Решая критические задачи с помощью инновационных решений, таких как PGI и GELAN, YOLOv9 устанавливает новый прецедент для будущих исследований и применения в этой области. Поскольку ИИ-сообщество продолжает развиваться, YOLOv9 является свидетельством силы сотрудничества и инноваций в продвижении технологического прогресса.
Примеры использования
В этом примере представлены простые примеры обучения и inference YOLOv9. Полную документацию по этим и другим режимам см. на страницах документации Predict, Train, Val и Export.
Пример
PyTorch предварительно обученные *.pt модели, а также конфигурационные *.yaml файлы могут быть переданы в YOLO() класс для создания экземпляра модели в python:
from ultralytics import YOLO
# Build a YOLOv9c model from scratch
model = YOLO("yolov9c.yaml")
# Build a YOLOv9c model from pretrained weight
model = YOLO("yolov9c.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Для непосредственного запуска моделей доступны команды CLI:
# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640
# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg
Поддерживаемые задачи и режимы
Серия YOLOv9 предлагает ряд моделей, каждая из которых оптимизирована для высокопроизводительного Object Detection. Эти модели отвечают различным вычислительным потребностям и требованиям к точности, что делает их универсальными для широкого спектра приложений.
| Модель | Имена файлов | Задачи | Инференс | Валидация | Обучение | Экспорт |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | Сегментация экземпляров | ✅ | ✅ | ✅ | ✅ |
В этой таблице представлен подробный обзор вариантов модели YOLOv9, освещены их возможности в задачах detect объектов и их совместимость с различными режимами работы, такими как Inference, Validation, Training и Export. Эта всесторонняя поддержка гарантирует, что пользователи смогут в полной мере использовать возможности моделей YOLOv9 в широком спектре сценариев detect объектов.
Примечание
Обучение моделей YOLOv9 потребует больше ресурсов и займет больше времени, чем для YOLOv8 модели аналогичного размера.
Цитирование и благодарности
Мы хотели бы выразить признательность авторам YOLOv9 за их значительный вклад в область обнаружения объектов в реальном времени:
@article{wang2024yolov9,
title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
author={Wang, Chien-Yao and Liao, Hong-Yuan Mark},
booktitle={arXiv preprint arXiv:2402.13616},
year={2024}
}
Оригинальная статья YOLOv9 доступна на arXiv. Авторы сделали свою работу общедоступной, и доступ к кодовой базе можно получить на GitHub. Мы ценим их усилия по продвижению этой области и обеспечению доступности их работы для широкой общественности.
Часто задаваемые вопросы
Какие инновации YOLOv9 представляет для обнаружения объектов в реальном времени?
YOLOv9 представляет новаторские методы, такие как Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN). Эти инновации решают проблемы потери информации в глубоких нейронных сетях, обеспечивая высокую эффективность, точность и адаптируемость. PGI сохраняет важные данные на всех слоях сети, а GELAN оптимизирует использование параметров и вычислительную эффективность. Узнайте больше об основных инновациях YOLOv9, которые устанавливают новые бенчмарки на наборе данных MS COCO.
Как YOLOv9 показывает себя на наборе данных MS COCO по сравнению с другими моделями?
YOLOv9 превосходит современные детекторы объектов в реальном времени, достигая более высокой точности и эффективности. В наборе данных COCO модели YOLOv9 демонстрируют превосходные показатели mAP для различных размеров, сохраняя или уменьшая вычислительные затраты. Например, YOLOv9c достигает сопоставимой точности с на 42% меньшим количеством параметров и на 21% меньшими вычислительными затратами, чем YOLOv7 AF. Изучите сравнения производительности для получения подробных метрик.
Как я могу обучить модель YOLOv9, используя python и CLI?
Вы можете обучить модель YOLOv9, используя команды Python и CLI. Для Python создайте экземпляр модели, используя YOLO класс и вызовите train метод:
from ultralytics import YOLO
# Build a YOLOv9c model from pretrained weights and train
model = YOLO("yolov9c.pt")
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Для обучения через CLI выполните:
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640
Узнайте больше о примерах использования для обучения и инференса.
Каковы преимущества использования Ultralytics YOLOv9 для облегченных моделей?
YOLOv9 разработан для смягчения потери информации, что особенно важно для легких моделей, часто склонных к потере значительной информации. Благодаря интеграции Programmable Gradient Information (PGI) и обратимых функций, YOLOv9 обеспечивает сохранение важных данных, повышая точность и эффективность модели. Это делает его очень подходящим для приложений, требующих компактных моделей с высокой производительностью. Для получения более подробной информации изучите раздел о влиянии YOLOv9 на легкие модели.
Какие задачи и режимы поддерживает YOLOv9?
YOLOv9 поддерживает различные задачи, включая object detection и instance segmentation. Он совместим с различными режимами работы, такими как inference, валидация, обучение и экспорт. Эта универсальность делает YOLOv9 адаптируемым к различным приложениям компьютерного зрения в реальном времени. Обратитесь к разделу поддерживаемые задачи и режимы для получения дополнительной информации.