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

YOLOv9: скачок в развитии технологии обнаружения объектов

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



Смотреть: Обучение YOLOv9 на пользовательских данных с использованием 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 для облегчения проведения этих оценок и обеспечения последовательных и надежных результатов.

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



Смотреть: Как провести бенчмаркинг модели YOLOv9 с помощью пакета Ultralytics Python .

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

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

Производительность

Модель размер
(пикселей)
mAPval
50-95
mAPval
50
params
(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
params
(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, начиная от крошечного 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 в разработке модели, подчеркивая ее повышенную эффективность без ущерба для точности, необходимой для задач обнаружения объектов в реальном времени. Модель не только расширяет границы показателей производительности, но и подчеркивает важность вычислительной эффективности, что делает ее важнейшей разработкой в области компьютерного зрения.

Заключение

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

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

В этом примере представлены простые примеры обучения и вывода YOLOv9. Полную документацию по этим и другим режимам можно найти на страницах Predict, Train, Val и Export docs.

Пример

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 предлагает ряд моделей, каждая из которых оптимизирована для высокопроизводительного обнаружения объектов. Эти модели отвечают различным вычислительным потребностям и требованиям к точности, что делает их универсальными для широкого спектра приложений.

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

В этой таблице представлен подробный обзор вариантов моделей YOLOv9, подчеркивающий их возможности в задачах обнаружения объектов и совместимость с различными режимами работы, такими как "Вывод", "Проверка", "Обучение" и "Экспорт". Благодаря такой всесторонней поддержке пользователи могут полностью использовать возможности моделей 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. Мы ценим их усилия, направленные на развитие области и доступность их работы для широкого сообщества.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Какие новшества появились в 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 пригодным для использования в различных приложениях компьютерного зрения в реальном времени. Дополнительную информацию см. в разделе " Поддерживаемые задачи и режимы ".

📅 Создано 1 год назад ✏️ Обновлено 10 дней назад

Комментарии