Открыть сервис

YOLOv5

YOLOv5 — это версия алгоритма компьютерного зрения для обнаружения объектов в реальном времени, основанная на архитектуре свёрточной нейронной сети (CNN). Относится к семейству моделей YOLO (You Only Look Once), которые выполняют детекцию объектов за один проход нейросети, без использования скользящего окна или региональных предложений. YOLOv5 реализована на фреймворке PyTorch и отличается от предшественников (YOLOv3, YOLOv4) улучшенной архитектурой, оптимизацией обучения и высокой производительностью на потребительских графических процессорах.

История и происхождение

YOLOv5 была выпущена в июне 2020 года компанией Ultralytics. Разработчиком выступил Гленн Джочер (Glenn Jocher), который не являлся автором оригинальных версий YOLO (созданных Джозефом Редмоном и Алексеем Бочковским). Название «YOLOv5» вызвало споры в сообществе, поскольку алгоритм не был описан в рецензируемой научной статье, а его архитектура во многом повторяла YOLOv4, выпущенную ранее в 2020 году. Тем не менее, Ultralytics позиционировала YOLOv5 как самостоятельную версию, акцентируя внимание на практической применимости, удобстве использования и высокой скорости работы.

С момента выхода YOLOv5 неоднократно обновлялась. Основные версии: v5.0 (2020), v6.0 (2021), v7.0 (2022) и последующие. Каждое обновление включало улучшения архитектуры (например, использование модуля C3 вместо C2f), оптимизацию потерь и поддержку новых аппаратных платформ.

Архитектура и устройство

YOLOv5 построена на архитектуре «одноэтапного детектора» (one-stage detector). Основные компоненты:

Backbone (основа)

Backbone YOLOv5 основан на архитектуре CSPNet (Cross Stage Partial Network), которая уменьшает вычислительную сложность за счёт разделения карт признаков на две части и их последующего слияния. В YOLOv5 используется модифицированная версия CSPDarknet, включающая свёрточные слои, нормализацию и активацию SiLU (Sigmoid Linear Unit).

Neck (шея)

Neck YOLOv5 реализован на основе PANet (Path Aggregation Network) и FPN (Feature Pyramid Network). Он обеспечивает многомасштабное обнаружение объектов, объединяя признаки с разных уровней глубины сети. Это позволяет модели одинаково хорошо детектировать как крупные, так и мелкие объекты.

Head (голова)

Head YOLOv5 — это свёрточный детектор, который на выходе выдаёт три карты признаков для разных масштабов. Каждая карта содержит информацию о координатах ограничивающих рамок (bounding boxes), уверенности (confidence) и вероятностях классов. В отличие от YOLOv3, где использовались три отдельных детектора, YOLOv5 использует общую структуру с разделением по масштабам.

Аугментация данных

YOLOv5 активно применяет аугментацию для улучшения обобщения:

  • Мозаичная аугментация (Mosaic): четыре изображения случайным образом объединяются в одно, что повышает устойчивость к различным контекстам.
  • Горизонтальное и вертикальное отражение.
  • Изменение цвета, яркости, контраста.
  • Случайное масштабирование и обрезка.

Версии модели

YOLOv5 выпускается в нескольких вариантах, различающихся по размеру и производительности:

ВерсияРазмер (параметры)Скорость (FPS на GPU)Точность (mAP@0.5:0.95)
YOLOv5n1.9 млн~12028.0%
YOLOv5s7.2 млн~10037.4%
YOLOv5m21.2 млн~7045.4%
YOLOv5l46.5 млн~5049.0%
YOLOv5x86.7 млн~3050.7%

Данные приведены для датасета COCO 2017. Скорость измерена на графическом процессоре NVIDIA V100.

Применение

YOLOv5 широко используется в задачах компьютерного зрения, где требуется высокая скорость детекции:

  • Автоматизация производства: контроль качества продукции, обнаружение дефектов на конвейере.
  • Беспилотные автомобили: детекция пешеходов, транспортных средств, дорожных знаков.
  • Системы видеонаблюдения: распознавание лиц, обнаружение подозрительных объектов, подсчёт людей.
  • Медицинская диагностика: обнаружение опухолей на медицинских снимках (рентген, МРТ).
  • Робототехника: навигация, распознавание объектов для манипуляций.

В России YOLOv5 применяется в научных и коммерческих проектах, связанных с обработкой изображений, например, в системах мониторинга дорожного движения или сельскохозяйственного анализа.

Критика и ограничения

  1. Отсутствие научной публикации: YOLOv5 не была представлена в рецензируемом журнале или конференции, что вызвало критику со стороны академического сообщества. Некоторые исследователи считают её эволюционным улучшением YOLOv4, а не самостоятельной версией.
  2. Зависимость от фреймворка: YOLOv5 реализована на PyTorch, что ограничивает её использование на платформах, где требуется поддержка TensorFlow или ONNX без дополнительной конвертации.
  3. Проблемы с мелкими объектами: как и большинство одноэтапных детекторов, YOLOv5 уступает двухэтапным моделям (например, Faster R-CNN) в точности детекции очень мелких объектов.
  4. Лицензионные споры: исходная версия YOLOv5 распространялась под лицензией GPL-3.0, что ограничивало коммерческое использование. Позднее Ultralytics изменила лицензию на AGPL-3.0, а для коммерческих проектов предлагает платную лицензию.

Сравнение с другими версиями YOLO

YOLOv5 часто сравнивают с YOLOv4 (2020) и YOLOv8 (2023). Основные отличия:

  • YOLOv4 использует архитектуру CSPDarknet53 с PANet и Mish-активацией, но реализована на Darknet (C/CUDA). YOLOv5 проще в настройке и интеграции благодаря PyTorch.
  • YOLOv8 (Ultralytics, 2023) является преемником YOLOv5. Он предлагает улучшенную архитектуру (C2f вместо C3), поддержку сегментации и классификации, а также более высокую точность при аналогичной скорости.

Интересные факты

  • YOLOv5 стала одной из самых популярных моделей для детекции объектов на GitHub: репозиторий Ultralytics набрал более 50 000 звёзд (на 2024 год).
  • Название «YOLOv5» было выбрано маркетингово, чтобы подчеркнуть преемственность с YOLOv3, в то время как YOLOv4 вышла позже YOLOv5 по времени.
  • Модель поддерживает экспорт в форматы ONNX, TensorRT, CoreML, TFLite, что позволяет запускать её на мобильных устройствах и встраиваемых системах.

Источники

  • Ultralytics. YOLOv5: An Improved Version of YOLO. GitHub, 2020–2024.
  • Jocher, G. et al. ultralytics/yolov5: v7.0. Zenodo, 2022.
  • Bochkovskiy, A. et al. YOLOv4: Optimal Speed and Accuracy of Object Detection. arXiv, 2020.
  • Redmon, J. et al. You Only Look Once: Unified, Real-Time Object Detection. CVPR, 2016.
  • COCO Dataset: Common Objects in Context. 2017.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →