YOLOv9: скачок в развитии технологии обнаружения объектов
YOLOv9 - это значительное достижение в области обнаружения объектов в реальном времени, в ней представлены такие революционные технологии, как программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегирования слоев (GELAN). Эта модель демонстрирует значительные улучшения в эффективности, точности и адаптивности, устанавливая новые стандарты на наборе данных MS COCO. Проект YOLOv9, хотя и разрабатывается отдельной командой с открытым исходным кодом, опирается на надежную кодовую базу, предоставленную Ultralytics YOLOv5и демонстрирует дух сотрудничества исследовательского сообщества ИИ.
Смотреть: Обучение YOLOv9 на пользовательских данных с использованием Ultralytics | Industrial Package Dataset
Введение в YOLOv9
В поисках оптимального обнаружения объектов в реальном времени YOLOv9 выделяется своим инновационным подходом к преодолению проблем потери информации, присущих глубоким нейронным сетям. Благодаря интеграции PGI и универсальной архитектуры GELAN, YOLOv9 не только повышает способность модели к обучению, но и обеспечивает сохранение важной информации на протяжении всего процесса обнаружения, достигая тем самым исключительной точности и производительности.
Основные инновации YOLOv9
Усовершенствования YOLOv9 направлены на решение проблем, связанных с потерей информации в глубоких нейронных сетях. Принцип информационного узкого места и инновационное использование обратимых функций занимают центральное место в его конструкции, обеспечивая YOLOv9 высокую эффективность и точность.
Принцип информационного узкого места
Принцип информационного узкого места раскрывает фундаментальную проблему глубокого обучения: по мере прохождения данных через последовательные слои сети возрастает вероятность потери информации. Математически это явление представляется как:
где I
обозначает взаимную информацию, и f
и g
представляют собой функции преобразования с параметрами theta
и phi
соответственно. YOLOv9 решает эту проблему путем внедрения программируемой информации о градиенте (PGI), которая помогает сохранить важные данные по всей глубине сети, обеспечивая более надежную генерацию градиента и, следовательно, лучшую сходимость и производительность модели.
Обратимые функции
Концепция обратимых функций - еще один краеугольный камень дизайна YOLOv9. Функция считается обратимой, если она может быть инвертирована без потери информации, что выражается в следующем:
с psi
и zeta
как параметры для обратимой и обратной функции соответственно. Это свойство имеет решающее значение для глубокое обучение архитектуры, так как позволяет сети сохранять полный поток информации, что обеспечивает более точное обновление параметров модели. YOLOv9 включает в свою архитектуру обратимые функции для снижения риска деградации информации, особенно в глубоких слоях, что обеспечивает сохранение критически важных данных для задач обнаружения объектов.
Влияние на легкие модели
Решение проблемы потери информации особенно важно для облегченных моделей, которые часто недостаточно параметризованы и склонны к потере значительной информации в ходе процесса усиления. Архитектура YOLOv9, благодаря использованию PGI и обратимых функций, гарантирует, что даже при использовании упрощенной модели будет сохранена и эффективно использована важная информация, необходимая для точного обнаружения объектов.
Программируемая информация о градиенте (PGI)
PGI - это новая концепция, представленная в YOLOv9 для борьбы с проблемой "узкого места" в информации, обеспечивающая сохранение важных данных на глубоких слоях сети. Это позволяет генерировать надежные градиенты, способствующие точному обновлению модели и улучшению общей эффективности обнаружения.
Обобщенная эффективная сеть агрегирования уровней (GELAN)
GELAN представляет собой стратегическое архитектурное достижение, позволяющее YOLOv9 достичь превосходного использования параметров и эффективности вычислений. Его дизайн позволяет гибко интегрировать различные вычислительные блоки, что делает YOLOv9 адаптируемым к широкому спектру приложений без ущерба для скорости и точности.
Бенчмарки YOLOv9
Бенчмаркинг в YOLOv9 с помощью Ultralytics включает в себя оценку производительности вашей обученной и проверенной модели в реальных сценариях. Этот процесс включает в себя:
- Оценка производительности: Оценка скорости и точности модели.
- Форматы экспорта: Тестирование модели в различных форматах экспорта, чтобы убедиться, что она соответствует необходимым стандартам и хорошо работает в различных средах.
- Поддержка рамок: Предоставление всеобъемлющей системы в рамках Ultralytics YOLOv8 для облегчения проведения этих оценок и обеспечения последовательных и надежных результатов.
С помощью бенчмаркинга вы можете убедиться, что ваша модель не только хорошо работает в контролируемых условиях тестирования, но и сохраняет высокую производительность в практических, реальных приложениях.
Смотреть: Как провести бенчмаркинг модели YOLOv9 с помощью пакета Ultralytics Python .
Производительность на наборе данных MS COCO
Производительность YOLOv9 на наборе данных COCO демонстрирует значительные достижения в области обнаружения объектов в реальном времени, устанавливая новые эталоны для моделей различных размеров. В таблице 1 представлено комплексное сравнение современных детекторов объектов в реальном времени, иллюстрирующее превосходную эффективность и точность YOLOv9.
Производительность
Модель | размер (пикселей) |
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 Команды доступны для прямого запуска моделей:
Поддерживаемые задачи и режимы
Серия 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 за их значительный вклад в область обнаружения объектов в реальном времени:
Оригинальную статью 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 выполните:
Узнайте больше о примерах использования тренировок и выводов.
В чем преимущества использования Ultralytics YOLOv9 для легких моделей?
YOLOv9 разработан для уменьшения потери информации, что особенно важно для легких моделей, часто склонных к потере значительной информации. Благодаря интеграции программируемой градиентной информации (PGI) и обратимых функций YOLOv9 обеспечивает сохранение важных данных, повышая точность и эффективность модели. Это делает его очень подходящим для приложений, требующих компактных моделей с высокой производительностью. Для получения более подробной информации изучите раздел о влиянии YOLOv9 на легкие модели.
Какие задачи и режимы поддерживает YOLOv9?
YOLOv9 поддерживает различные задачи, включая обнаружение объектов и сегментацию экземпляров. Он совместим с несколькими режимами работы, такими как вывод, проверка, обучение и экспорт. Такая универсальность делает YOLOv9 пригодным для использования в различных приложениях компьютерного зрения в реальном времени. Дополнительную информацию см. в разделе " Поддерживаемые задачи и режимы ".