stringtranslate.com

Ты смотришь только один раз

Объекты, обнаруженные с помощью модуля глубокой нейронной сети OpenCV с использованием модели YOLOv3, обученной на наборе данных COCO, способной обнаруживать объекты 80 распространенных классов.

You Only Look Once (YOLO) — это серия систем обнаружения объектов в реальном времени , основанных на сверточных нейронных сетях . Впервые представленная Джозефом Редмоном и др. в 2015 году, [1] YOLO претерпела несколько итераций и улучшений, став одной из самых популярных платформ обнаружения объектов. [2]

Название «Вы смотрите только один раз» связано с тем, что алгоритму требуется только один проход прямого распространения через нейронную сеть для составления прогнозов, в отличие от предыдущих методов, основанных на предложениях областей, таких как R-CNN , которым для одного изображения требовались тысячи проходов.

Обзор

По сравнению с предыдущими методами, такими как R-CNN и OverFeat, [3] вместо применения модели к изображению в нескольких местах и ​​масштабах, YOLO применяет одну нейронную сеть к полному изображению. Эта сеть делит изображение на регионы и предсказывает ограничивающие рамки и вероятности для каждого региона. Эти ограничивающие рамки взвешиваются по предсказанным вероятностям.

OverFeat

OverFeat была одной из первых влиятельных моделей для одновременной классификации и локализации объектов. [3] [4] Ее архитектура выглядит следующим образом:

Версии

Серия YOLO состоит из двух частей. Оригинальная часть содержала YOLOv1, v2 и v3, все они были опубликованы на веб-сайте, поддерживаемом Джозефом Редмоном. [5]

ЙОЛОв1

Оригинальный алгоритм YOLO, представленный в 2015 году, [1] делит изображение на сетку ячеек. Если центр ограничивающего прямоугольника объекта попадает в ячейку сетки, то говорят, что эта ячейка «содержит» этот объект. Каждая ячейка сетки предсказывает B ограничивающих прямоугольников и баллы уверенности для этих прямоугольников. Эти баллы уверенности отражают, насколько модель уверена в том, что прямоугольник содержит объект, и насколько точным она считает прямоугольник, который она предсказывает.

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

Архитектура сети имеет 24 сверточных слоя, за которыми следуют 2 полностью связанных слоя.

Во время обучения для каждой ячейки, если она содержит ограничивающий прямоугольник истинности, то для градиентного спуска используются только предсказанные ограничивающие прямоугольники с наивысшим IoU с ограничивающими прямоугольниками истинности. Конкретно, пусть будет предсказанным ограничивающим прямоугольником, а пусть будет меткой класса истинности, затем обучаются градиентным спуском, чтобы приблизиться к истинности, обучаются к , другие обучаются к нулю.

Если ячейка не содержит истинных данных, то она обучается только методом градиентного спуска для приближения к нулю.

YOLOv2

Выпущенный в 2016 году, YOLOv2 (также известный как YOLO9000) [6] [7] улучшил исходную модель, включив пакетную нормализацию, классификатор с более высоким разрешением и используя якорные рамки для прогнозирования ограничивающих рамок. Он мог обнаружить более 9000 категорий объектов. Он также был выпущен на GitHub под лицензией Apache 2.0. [8]

YOLOv3

YOLOv3, представленный в 2018 году, содержал только «постепенные» улучшения, включая использование более сложной магистральной сети, множественных шкал для обнаружения и более сложной функции потерь. [9]

YOLOv4 и далее

Последующие версии YOLO (v4, v5 и т. д.) [10] [11] [12] [13] были разработаны разными исследователями, еще больше улучшив производительность и внедрив новые функции. Эти версии официально не связаны с первоначальными авторами YOLO, но основываются на их работе. [5] По состоянию на 2023 год существует до YOLOv8. [2]

Смотрите также

Ссылки

  1. ^ ab Редмон, Джозеф; Диввала, Сантош; Гиршик, Росс; Фархади, Али (2016-05-09). «Вы смотрите только один раз: унифицированное обнаружение объектов в реальном времени». arXiv : 1506.02640 [cs.CV].
  2. ^ ab Terven, Juan; Córdova-Esparza, Diana-Margarita; Romero-González, Julio-Alejandro (2023-11-20). «Комплексный обзор архитектур YOLO в компьютерном зрении: от YOLOv1 до YOLOv8 и YOLO-NAS». Машинное обучение и извлечение знаний . 5 (4): 1680–1716. arXiv : 2304.00501 . doi : 10.3390/make5040083 . ISSN  2504-4990.
  3. ^ ab Sermanet, Pierre; Eigen, David; Zhang, Xiang; Mathieu, Michael; Fergus, Rob; LeCun, Yann (2014-02-23), OverFeat: Интегрированное распознавание, локализация и обнаружение с использованием сверточных сетей , arXiv : 1312.6229
  4. ^ sermanet (2024-09-09), sermanet/OverFeat , получено 2024-09-15
  5. ^ ab "YOLO: обнаружение объектов в реальном времени". pjreddie.com . Получено 2024-09-12 .
  6. ^ Редмон, Джозеф; Фархади, Али (25.12.2016). «YOLO9000: Лучше, Быстрее, Сильнее». arXiv : 1612.08242 [cs.CV].
  7. ^ "YOLOv2: Обнаружение объектов в реальном времени". pjreddie.com . Получено 2024-09-12 .
  8. ^ Реми, Филипп (05 сентября 2024 г.), philipperemy/yolo-9000 , получено 12 сентября 2024 г.
  9. ^ Редмон, Джозеф; Фархади, Али (08.04.2018). «YOLOv3: Постепенное улучшение». arXiv : 1804.02767 [cs.CV].
  10. ^ Бочковский, Алексей; Ван, Цзянь-Яо; Ляо, Хун-Юань Марк (2020-04-22). "YOLOv4: Оптимальная скорость и точность обнаружения объектов". arXiv : 2004.10934 [cs.CV].
  11. ^ Ван, Цзянь-Яо; Бочковский, Алексей; Ляо, Хун-Юань Марк (21.02.2021). "Scaled-YOLOv4: масштабирование кросс-этапной частичной сети". arXiv : 2011.08036 [cs.CV].
  12. ^ Ли, Чуи; Ли, Лулу; Цзян, Хунлян; Венг, Кайхэн; Гэн, Ифэй; Ли, Лян; Ке, Зайдан; Ли, Цинъюань; Ченг, Мэн; Не, Вэйцян; Ли, Идуо; Чжан, Бо; Лян, Юфэй; Чжоу, Линьюань; Сюй, Сяомин (07 сентября 2022 г.). «YOLOv6: платформа одноэтапного обнаружения объектов для промышленных приложений». arXiv : 2209.02976 [cs.CV].
  13. ^ Ван, Цзянь-Яо; Бочковский, Алексей; Ляо, Хун-Юань Марк (2022-07-06). "YOLOv7: Обучаемый пакет бесплатных вещей устанавливает новые стандарты для детекторов объектов в реальном времени". arXiv : 2207.02696 [cs.CV].

Внешние ссылки