Перейти к содержимому

YOLOv4: высокоскоростное и точное обнаружение объектов

Добро пожаловать на страницу документации Ultralytics по YOLOv4, современному детектору объектов в реальном времени, запущенному в 2020 году Алексеем Бочковским на сайте https://github.com/AlexeyAB/darknet. YOLOv4 разработан таким образом, чтобы обеспечить оптимальный баланс между скоростью и точностью, что делает его отличным выбором для многих приложений.

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

Введение

YOLOv4 stands for You Only Look Once version 4. It is a real-time object detection model developed to address the limitations of previous YOLO versions like YOLOv3 and other object detection models. Unlike other convolutional neural network (CNN) based object detectors, YOLOv4 is not only applicable for recommendation systems but also for standalone process management and human input reduction. Its operation on conventional graphics processing units (GPUs) allows for mass usage at an affordable price, and it is designed to work in real-time on a conventional GPU while requiring only one such GPU for training.

Архитектура

YOLOv4 makes use of several innovative features that work together to optimize its performance. These include Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), Cross mini-Batch Normalization (CmBN), Self-adversarial-training (SAT), Mish-activation, Mosaic data augmentation, DropBlock regularization, and CIoU loss. These features are combined to achieve state-of-the-art results.

Типичный детектор объектов состоит из нескольких частей, включая вход, позвоночник, шею и голову. Костяк YOLOv4 предварительно обучен на ImageNet и используется для предсказания классов и ограничительных рамок объектов. Костяк может состоять из нескольких моделей, включая VGG, ResNet, ResNeXt или DenseNet. Шейная часть детектора используется для сбора карт признаков с разных этапов и обычно включает в себя несколько восходящих путей и несколько нисходящих путей. Головная часть - это то, что используется для окончательного обнаружения и классификации объектов.

Сумка бесплатных подарков

В YOLOv4 также используются методы, известные как "bag of freebies", то есть техники, которые повышают точность модели во время обучения без увеличения стоимости вывода. Увеличение данных - это распространенная техника "мешка с халявой", используемая в обнаружении объектов, которая увеличивает вариативность входных изображений для повышения робастности модели. Некоторые примеры дополнения данных включают фотометрические искажения (регулировка яркости, контраста, оттенка, насыщенности и шума изображения) и геометрические искажения (добавление случайного масштабирования, кадрирования, переворачивания и вращения). Эти приемы помогают модели лучше обобщаться на разные типы изображений.

Характеристики и производительность

YOLOv4 разработана для оптимальной скорости и точности обнаружения объектов. Архитектура YOLOv4 включает в себя CSPDarknet53 в качестве основы, PANet в качестве шеи и YOLOv3 в качестве головки обнаружения. Такая конструкция позволяет YOLOv4 выполнять обнаружение объектов с впечатляющей скоростью, что делает его подходящим для приложений реального времени. YOLOv4 также превосходит по точности, достигая самых современных результатов в тестах на обнаружение объектов.

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

На момент написания статьи Ultralytics не поддерживает модели YOLOv4. Поэтому все пользователи, заинтересованные в использовании YOLOv4, должны будут обратиться непосредственно к репозиторию YOLOv4 на GitHub за инструкциями по установке и использованию.

Вот краткий обзор типичных шагов, которые ты можешь предпринять, чтобы использовать YOLOv4:

  1. Посети репозиторий YOLOv4 на GitHub: https://github.com/AlexeyAB/darknet.

  2. Для установки следуй инструкциям, приведенным в файле README. Обычно это включает в себя клонирование репозитория, установку необходимых зависимостей и настройку всех необходимых переменных окружения.

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

Обрати внимание, что конкретные шаги могут отличаться в зависимости от твоего конкретного случая использования и текущего состояния репозитория YOLOv4. Поэтому настоятельно рекомендуется обращаться непосредственно к инструкциям, представленным в репозитории YOLOv4 на GitHub.

Мы сожалеем о возможных неудобствах и постараемся обновить этот документ примерами использования Ultralytics, как только поддержка YOLOv4 будет реализована.

Заключение

YOLOv4 - это мощная и эффективная модель обнаружения объектов, в которой соблюден баланс между скоростью и точностью. Использование уникальных возможностей и техники bag of freebies во время обучения позволяет ей отлично справляться с задачами по обнаружению объектов в реальном времени. YOLOv4 может обучить и использовать любой человек с обычным компьютером GPU, что делает ее доступной и практичной для широкого круга приложений.

Цитаты и благодарности

Мы хотели бы поблагодарить авторов YOLOv4 за их значительный вклад в область обнаружения объектов в реальном времени:

@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Оригинальную статью YOLOv4 можно найти на arXiv. Авторы сделали свою работу общедоступной, а кодовую базу можно найти на GitHub. Мы ценим их усилия, направленные на развитие области и обеспечение доступности их работы для широкой общественности.

ВОПРОСЫ И ОТВЕТЫ

What is YOLOv4 and why should I use it for object detection?

YOLOv4, which stands for "You Only Look Once version 4," is a state-of-the-art real-time object detection model developed by Alexey Bochkovskiy in 2020. It achieves an optimal balance between speed and accuracy, making it highly suitable for real-time applications. YOLOv4's architecture incorporates several innovative features like Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), and Self-adversarial-training (SAT), among others, to achieve state-of-the-art results. If you're looking for a high-performance model that operates efficiently on conventional GPUs, YOLOv4 is an excellent choice.

Как архитектура YOLOv4 повышает ее производительность?

Архитектура YOLOv4 включает в себя несколько ключевых компонентов: позвоночник, шею и голову. Хребет, который может представлять собой такие модели, как VGG, ResNet или CSPDarknet53, предварительно обучен предсказывать классы и ограничительные рамки. Шея, использующая PANet, соединяет карты признаков с разных этапов для комплексного извлечения данных. Наконец, голова, которая использует конфигурации из YOLOv3, производит окончательное обнаружение объектов. В YOLOv4 также используются техники "bag of freebies", такие как увеличение мозаичных данных и регуляризация DropBlock, что еще больше оптимизирует его скорость и точность.

Что такое "мешок халявы" в контексте YOLOv4?

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

Почему YOLOv4 считается подходящим для обнаружения объектов в реальном времени на обычных GPU?

YOLOv4 is designed to optimize both speed and accuracy, making it ideal for real-time object detection tasks that require quick and reliable performance. It operates efficiently on conventional GPUs, needing only one for both training and inference. This makes it accessible and practical for various applications ranging from recommendation systems to standalone process management, thereby reducing the need for extensive hardware setups and making it a cost-effective solution for real-time object detection.

Как я могу начать работать с YOLOv4, если Ultralytics в данный момент не поддерживает его?

Чтобы начать работу с YOLOv4, тебе следует посетить официальный репозиторий YOLOv4 на GitHub. Следуй инструкциям по установке, приведенным в файле README, которые обычно включают клонирование репозитория, установку зависимостей и настройку переменных окружения. После установки ты можешь обучать модель, подготовив свой набор данных, настроив параметры модели и следуя приведенным инструкциям по использованию. Поскольку Ultralytics в настоящее время не поддерживает YOLOv4, рекомендуется обратиться непосредственно к YOLOv4 GitHub для получения наиболее актуального и подробного руководства.

📅 Created 11 months ago ✏️ Updated 28 days ago

Комментарии