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) |
|---|---|---|---|
| YOLOv5n | 1.9 млн | ~120 | 28.0% |
| YOLOv5s | 7.2 млн | ~100 | 37.4% |
| YOLOv5m | 21.2 млн | ~70 | 45.4% |
| YOLOv5l | 46.5 млн | ~50 | 49.0% |
| YOLOv5x | 86.7 млн | ~30 | 50.7% |
Данные приведены для датасета COCO 2017. Скорость измерена на графическом процессоре NVIDIA V100.
Применение
YOLOv5 широко используется в задачах компьютерного зрения, где требуется высокая скорость детекции:
- Автоматизация производства: контроль качества продукции, обнаружение дефектов на конвейере.
- Беспилотные автомобили: детекция пешеходов, транспортных средств, дорожных знаков.
- Системы видеонаблюдения: распознавание лиц, обнаружение подозрительных объектов, подсчёт людей.
- Медицинская диагностика: обнаружение опухолей на медицинских снимках (рентген, МРТ).
- Робототехника: навигация, распознавание объектов для манипуляций.
В России YOLOv5 применяется в научных и коммерческих проектах, связанных с обработкой изображений, например, в системах мониторинга дорожного движения или сельскохозяйственного анализа.
Критика и ограничения
- Отсутствие научной публикации: YOLOv5 не была представлена в рецензируемом журнале или конференции, что вызвало критику со стороны академического сообщества. Некоторые исследователи считают её эволюционным улучшением YOLOv4, а не самостоятельной версией.
- Зависимость от фреймворка: YOLOv5 реализована на PyTorch, что ограничивает её использование на платформах, где требуется поддержка TensorFlow или ONNX без дополнительной конвертации.
- Проблемы с мелкими объектами: как и большинство одноэтапных детекторов, YOLOv5 уступает двухэтапным моделям (например, Faster R-CNN) в точности детекции очень мелких объектов.
- Лицензионные споры: исходная версия 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 →