YOLO Vision 2026:

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 использует несколько инновационных функций, которые работают вместе для оптимизации его производительности. К ним относятся взвешенные остаточные соединения (WRC), кросс-стадийные частичные соединения (CSP), кросс-мини-нормализация пакетов (CmBN), самосостязательное обучение (SAT), активация Mish, мозаичная аугментация данных, регуляризация DropBlock и функция потерь CIoU. Эти функции объединены для достижения передовых результатов.

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

Bag of Freebies#

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

Функции и производительность#

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

По сравнению с другими моделями семейства YOLO, такими как YOLOv5 и YOLOv7, YOLOv4 сохраняет прочные позиции в балансе между скоростью и точностью. Хотя более новые модели могут предлагать определенные преимущества, архитектурные инновации YOLOv4 продолжают делать его актуальным для многих приложений, требующих работы в реальном времени.

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

YOLOv4 — это модель на базе Darknet, которая не поддерживается изначально пакетом Ultralytics Python: в ultralytics/assets не опубликованы предварительно обученные веса yolov4.pt и нет файлов YAML ultralytics/cfg/models/v4/. Эта страница сохраняется как архитектурная справка. Пользователям, желающим запустить YOLOv4, следует обратиться непосредственно к репозиторию YOLOv4 на GitHub за инструкциями по установке и использованию.

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

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

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

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

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

Для обучения и инференса в рамках фреймворка Ultralytics смотри YOLO11 или YOLO26.

Заключение#

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

Для тех, кто хочет внедрить обнаружение объектов в свои проекты, YOLOv4 остается сильным конкурентом, особенно когда приоритетом является производительность в реальном времени. Хотя Ultralytics в настоящее время фокусируется на поддержке более новых версий YOLO, таких как YOLO11 и YOLO26, архитектурные инновации, представленные в YOLOv4, повлияли на разработку этих более поздних моделей.

Цитирование и благодарности#

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

FAQ#

  • YOLOv4, что означает «You Only Look Once version 4», — это современная модель обнаружения объектов в реальном времени, разработанная Алексеем Бочковским в 2020 году. Она достигает оптимального баланса между скоростью и точностью, что делает ее очень подходящей для приложений реального времени. Архитектура YOLOv4 включает в себя несколько инновационных функций, таких как взвешенные остаточные соединения (WRC), кросс-стадийные частичные соединения (CSP) и самосостязательное обучение (SAT), среди прочих, для достижения передовых результатов. Если ты ищешь высокопроизводительную модель, которая эффективно работает на обычных графических процессорах, YOLOv4 — отличный выбор.

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

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

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

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

Комментарии