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

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

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

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



Создано 2023-11-12, Обновлено 2024-01-07
Авторы: glenn-jocher (6), sergiuwaxmann (1)

Комментарии