YOLOv4: высокоскоростное и точное обнаружение объектов
Добро пожаловать на страницу документации Ultralytics для YOLOv4, современного детектора объектов в реальном времени, запущенного в 2020 году Алексеем Бочковским на сайте https://github.com/AlexeyAB/darknet. YOLOv4 разработан для обеспечения оптимального баланса между скоростью и точностью, что делает его отличным выбором для многих приложений.
Схема архитектуры YOLOv4. Демонстрация сложного сетевого дизайна YOLOv4, включая позвоночник, шею и голову, и их взаимосвязанные слои для оптимального обнаружения объектов в реальном времени.
Введение
YOLOv4 расшифровывается как You Only Look Once version 4. Это модель обнаружения объектов в реальном времени, разработанная для устранения ограничений предыдущих версий YOLO , таких как YOLOv3 и другие модели обнаружения объектов. В отличие от других детекторов объектов на основе конволюционных нейронных сетей (CNN), YOLOv4 применима не только в рекомендательных системах, но и для автономного управления процессами и сокращения человеческого фактора. Его работа на обычных графических процессорах (GPU) обеспечивает массовое использование по доступной цене, и он разработан для работы в реальном времени на обычном GPU , при этом для обучения требуется только один такой GPU .
Архитектура
YOLOv4 использует несколько инновационных функций, которые работают вместе, чтобы оптимизировать его производительность. К ним относятся: взвешенные связи (Weighted-Residual-Connections, WRC), перекрестные частичные связи (Cross-Stage-Partial-connections, CSP), перекрестная мини-пакетная нормализация (CmBN), самоадверсариальное обучение (SAT), Mish-активация, увеличение данных Mosaic, регуляризация DropBlock и потери CIoU. Сочетание этих функций позволяет достичь самых современных результатов.
Типичный детектор объектов состоит из нескольких частей, включая вход, позвоночник, шею и голову. Костяк YOLOv4 предварительно обучен на ImageNet и используется для предсказания классов и ограничивающих рамок объектов. В качестве основы может использоваться несколько моделей, включая VGG, ResNet, ResNeXt или DenseNet. Шейная часть детектора используется для сбора карт признаков с разных этапов и обычно включает несколько восходящих и несколько нисходящих путей. Головная часть используется для окончательного обнаружения и классификации объектов.
Сумка бесплатных подарков
В YOLOv4 также используются методы, известные как "мешок бесплатных данных", которые повышают точность модели в процессе обучения без увеличения стоимости вывода. Увеличение объема данных - распространенный метод "мешка свободных данных", используемый при обнаружении объектов, который увеличивает вариативность входных изображений для повышения устойчивости модели. Некоторые примеры дополнения данных включают фотометрические искажения (регулировка яркости, контраста, оттенка, насыщенности и шума изображения) и геометрические искажения (добавление случайного масштабирования, кадрирования, переворачивания и вращения). Эти методы помогают модели лучше адаптироваться к различным типам изображений.
Характеристики и производительность
YOLOv4 разработан для оптимальной скорости и точности обнаружения объектов. Архитектура YOLOv4 включает в себя CSPDarknet53 в качестве основы, PANet в качестве шеи и YOLOv3 в качестве головки обнаружения. Такая конструкция позволяет YOLOv4 выполнять обнаружение объектов с впечатляющей скоростью, что делает его подходящим для приложений реального времени. YOLOv4 также отличается высокой точностью, достигая самых высоких результатов в тестах на обнаружение объектов.
Примеры использования
На момент написания статьи Ultralytics не поддерживает модели YOLOv4. Поэтому все пользователи, заинтересованные в использовании YOLOv4, должны обратиться непосредственно к репозиторию YOLOv4 на GitHub за инструкциями по установке и использованию.
Ниже приведен краткий обзор типичных шагов, которые вы можете предпринять для использования YOLOv4:
-
Посетите репозиторий YOLOv4 на GitHub: https://github.com/AlexeyAB/darknet.
-
Для установки следуйте инструкциям, приведенным в файле README. Обычно это включает клонирование репозитория, установку необходимых зависимостей и настройку всех необходимых переменных окружения.
-
После завершения установки вы можете обучать и использовать модель в соответствии с инструкциями по использованию, предоставленными в репозитории. Обычно это включает подготовку набора данных, настройку параметров модели, обучение модели, а затем использование обученной модели для обнаружения объектов.
Обратите внимание, что конкретные шаги могут отличаться в зависимости от вашего конкретного случая использования и текущего состояния репозитория YOLOv4. Поэтому настоятельно рекомендуется обращаться непосредственно к инструкциям, представленным в репозитории YOLOv4 на GitHub.
Мы сожалеем о возможных неудобствах и постараемся обновить этот документ с примерами использования для Ultralytics , как только поддержка YOLOv4 будет реализована.
Заключение
YOLOv4 - это мощная и эффективная модель обнаружения объектов, в которой соблюден баланс между скоростью и точностью. Использование в процессе обучения уникальных возможностей и техники "мешок халявы" позволяет ей превосходно справляться с задачами обнаружения объектов в реальном времени. YOLOv4 может обучить и использовать любой человек с обычным компьютером GPU, что делает ее доступной и практичной для широкого круга приложений.
Цитаты и благодарности
Мы хотели бы выразить признательность авторам YOLOv4 за их значительный вклад в область обнаружения объектов в реальном времени:
Оригинальную статью YOLOv4 можно найти на arXiv. Авторы сделали свою работу общедоступной, и кодовая база доступна на GitHub. Мы ценим их усилия, направленные на развитие области и обеспечение доступности их работы для широкой общественности.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Что такое YOLOv4 и почему я должен использовать его для обнаружения объектов?
YOLOv4, что расшифровывается как "You Only Look Once version 4", - это современная модель обнаружения объектов в реальном времени, разработанная Алексеем Бочковским в 2020 году. В ней достигнут оптимальный баланс между скоростью и точностью, что делает ее очень подходящей для приложений реального времени. Архитектура YOLOv4 включает в себя несколько инновационных функций, таких как взвешенно-резидуальные связи (WRC), перекрестные частичные связи (CSP), самоаверсариальное обучение (SAT) и другие, что позволяет достичь самых современных результатов. Если вы ищете высокопроизводительную модель, которая эффективно работает на обычных графических процессорах, YOLOv4 - отличный выбор.
Как архитектура YOLOv4 повышает ее производительность?
Архитектура YOLOv4 включает в себя несколько ключевых компонентов: позвоночник, шею и голову. Хребет, который может представлять собой такие модели, как VGG, ResNet или CSPDarknet53, предварительно обучен предсказывать классы и ограничивающие рамки. Шея, использующая PANet, соединяет карты признаков с разных этапов для комплексного извлечения данных. Наконец, голова, использующая конфигурации из YOLOv3, производит окончательное обнаружение объектов. В YOLOv4 также используются методы "мешка с бесплатными данными", такие как увеличение мозаичных данных и регуляризация DropBlock, что еще больше оптимизирует его скорость и точность.
Что такое "мешок халявы" в контексте YOLOv4?
Под "мешком халявы" понимаются методы, которые повышают точность обучения YOLOv4 без увеличения стоимости вывода. Эти методы включают различные формы дополнения данных, такие как фотометрические искажения (регулировка яркости, контраста и т. д.) и геометрические искажения (масштабирование, кадрирование, переворачивание, вращение). Увеличивая вариативность входных изображений, эти дополнения помогают YOLOv4 лучше адаптироваться к различным типам изображений, тем самым повышая его устойчивость и точность без ущерба для производительности в реальном времени.
Почему YOLOv4 считается подходящим для обнаружения объектов в реальном времени на обычных графических процессорах?
YOLOv4 разработан для оптимизации скорости и точности, что делает его идеальным для задач обнаружения объектов в реальном времени, требующих быстрой и надежной работы. Он эффективно работает на обычных графических процессорах, требуя только один для обучения и вывода. Это делает его доступным и практичным для различных приложений, от рекомендательных систем до автономного управления процессами, снижая потребность в обширных аппаратных установках и делая его экономически эффективным решением для обнаружения объектов в реальном времени.
Как я могу начать работу с YOLOv4, если Ultralytics в настоящее время не поддерживает его?
Чтобы начать работу с YOLOv4, вам следует посетить официальный репозиторий YOLOv4 на GitHub. Следуйте инструкциям по установке, приведенным в файле README, которые обычно включают клонирование репозитория, установку зависимостей и настройку переменных окружения. После установки вы можете обучать модель, подготовив набор данных, настроив параметры модели и следуя приведенным инструкциям по использованию. Поскольку Ultralytics в настоящее время не поддерживает YOLOv4, рекомендуется обратиться непосредственно к YOLOv4 GitHub для получения наиболее актуального и подробного руководства.