YOLOv9: Шаг вперед в технологии обнаружения объектов

YOLOv9 знаменует собой значительный прогресс в обнаружении объектов в реальном времени, внедряя прорывные методы, такие как программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегации слоев (GELAN). Эта модель демонстрирует заметные улучшения в эффективности, точности и адаптируемости, устанавливая новые стандарты на наборе данных MS COCO. Проект YOLOv9, хотя и разработан отдельной командой с открытым исходным кодом, базируется на надежной кодовой базе, предоставленной Ultralytics YOLOv5, что демонстрирует дух сотрудничества в сообществе AI-исследователей.



Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

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

Введение в YOLOv9

В стремлении к оптимальному обнаружению объектов в реальном времени YOLOv9 выделяется своим инновационным подходом к преодолению проблем потери информации, присущих глубоким нейронным сетям. Интегрируя PGI и универсальную архитектуру GELAN, YOLOv9 не только увеличивает обучающую способность модели, но и обеспечивает сохранение критически важной информации на протяжении всего процесса обнаружения, достигая тем самым исключительной точности и производительности.

Ключевые инновации YOLOv9

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

Принцип информационного узкого места

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

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

где I обозначает взаимную информацию, а f и g представляют функции преобразования с параметрами theta и phi соответственно. YOLOv9 противостоит этой проблеме путем внедрения программируемой градиентной информации (PGI), которая помогает сохранять важные данные по глубине сети, обеспечивая более надежную генерацию градиентов и, следовательно, лучшую сходимость и производительность модели.

Обратимые функции

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

X = v_zeta(r_psi(X))

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

Влияние на легкие модели

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

Программируемая градиентная информация (PGI)

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

Обобщенная эффективная сеть агрегации слоев (GELAN)

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

Сравнение архитектуры YOLOv9

Бенчмарки YOLOv9

Бенчмаркинг в YOLOv9 с использованием Ultralytics включает оценку производительности твоей обученной и валидированной модели в реальных сценариях. Этот процесс включает:

  • Оценка производительности: Оценка скорости и точности модели.
  • Форматы экспорта: Тестирование модели в различных форматах экспорта, чтобы убедиться, что она соответствует необходимым стандартам и хорошо работает в различных средах.
  • Поддержка фреймворка: Предоставление комплексного фреймворка в Ultralytics YOLOv8 для содействия этим оценкам и обеспечения согласованных и надежных результатов.

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



Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package

Производительность на наборе данных MS COCO

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

Производительность
Модельразмер
(пиксели)
mAPval
50-95
mAPval
50
параметры
(М)
FLOPs
(Б)
YOLOv9t64038.353.12.07.7
YOLOv9s64046.863.47.226.7
YOLOv9m64051.468.120.176.8
YOLOv9c64053.070.225.5102.8
YOLOv9e64055.672.858.1192.5

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

В сравнении YOLOv9 демонстрирует значительные успехи:

  • Легкие модели: YOLOv9s превосходит YOLO MS-S по эффективности параметров и вычислительной нагрузке, достигая при этом улучшения AP на 0.4∼0.6%.
  • Средние и большие модели: YOLOv9m и YOLOv9e показывают заметные достижения в балансировке компромисса между сложностью модели и эффективностью обнаружения, предлагая значительное сокращение параметров и вычислений на фоне повышенной точности.

Модель YOLOv9c, в частности, подчеркивает эффективность архитектурных оптимизаций. Она работает с использованием на 42% меньшего количества параметров и на 21% меньшими вычислительными затратами, чем YOLOv7 AF, при этом достигая сопоставимой точности, что демонстрирует значительные улучшения эффективности YOLOv9. Более того, модель YOLOv9e устанавливает новый стандарт для больших моделей: на 15% меньше параметров и на 25% меньше вычислительных потребностей, чем у YOLOv8x, наряду с дополнительным улучшением AP на 1.7%.

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

Заключение

YOLOv9, выпущенная в феврале 2024 года, стала ключевым событием в области обнаружения объектов в реальном времени, предложив значительные улучшения с точки зрения эффективности, точности и адаптируемости. Решая критические проблемы с помощью инновационных решений, таких как PGI и GELAN, YOLOv9 установила новые стандарты на момент своего выпуска. Хотя с тех пор были выпущены более новые модели, такие как YOLO11 и YOLO26 с дополнительными улучшениями, архитектурные инновации YOLOv9 продолжают оказывать влияние на эту область.

Примеры использования

Этот пример предоставляет простые примеры обучения и вывода 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")

Поддерживаемые задачи и режимы

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

МодельИмена файловЗадачиЛогический выводВалидацияОбучениеЭкспорт (Export)
YOLOv9yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.ptОбнаружение объектов
YOLOv9-segyolov9c-seg.pt yolov9e-seg.ptСегментация экземпляров

Эта таблица предоставляет подробный обзор вариантов моделей YOLOv9, подчеркивая их возможности в задачах обнаружения объектов и их совместимость с различными рабочими режимами, такими как Inference, Validation, Training и Export. Эта всесторонняя поддержка гарантирует, что ты сможешь в полной мере использовать возможности моделей YOLOv9 в широком спектре сценариев обнаружения объектов.

Примечание

Обучение моделей 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. Мы ценим их усилия по продвижению области и обеспечению доступа к их работе для более широкого сообщества.

Часто задаваемые вопросы (FAQ)

Какие инновации внедряет YOLOv9 для обнаружения объектов в реальном времени?

YOLOv9 внедряет прорывные методы, такие как программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегации слоев (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 разработан для уменьшения потери информации, что особенно важно для легких моделей, которые часто склонны к значительной потере данных. Интегрируя программируемую градиентную информацию (PGI) и обратимые функции, YOLOv9 гарантирует сохранение важных данных, повышая точность и эффективность модели. Это делает ее весьма подходящей для приложений, требующих компактных моделей с высокой производительностью. Более подробную информацию можно найти в разделе о влиянии YOLOv9 на легкие модели.

Какие задачи и режимы поддерживает YOLOv9?

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

Комментарии