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

Ты смотришь только один раз
Оригинальный автор(ы)Джозеф Редмон, Сантош Диввала, Росс Гиршик, Али Фархади
Первоначальный выпуск2015
Репозиторий
  • github.com/ultralytics/ultralytics
Написано вПитон
Тип
Веб-сайтpjreddie.com/darknet/yolo/
Объекты, обнаруженные с помощью модуля глубокой нейронной сети OpenCV с использованием модели YOLOv3, обученной на наборе данных COCO, способной обнаруживать объекты 80 распространенных классов.

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

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

Обзор

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

OverFeat

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

  • Обучить нейронную сеть только для классификации изображений («сеть, обученная классификации»). Это может быть что-то вроде AlexNet .
  • Последний слой обученной сети удаляется, и для каждого возможного класса объектов инициализируется сетевой модуль на последнем слое («сеть регрессии»). Базовая сеть имеет замороженные параметры. Сеть регрессии обучается предсказывать координаты двух углов ограничивающего прямоугольника объекта. ( х , у ) {\displaystyle (x,y)}
  • Во время вывода обученная по классификации сеть запускается на одном и том же изображении с использованием множества различных уровней масштабирования и обрезки. Для каждого из них она выводит метку класса и вероятность для этой метки класса. Затем каждый вывод обрабатывается регрессионной сетью соответствующего класса. Это приводит к тысячам ограничивающих рамок с метками класса и вероятностью. Эти рамки объединяются до тех пор, пока не останется только одна рамка с одной меткой класса.

Версии

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

ЙОЛОв1

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

Более подробно, сеть выполняет одну и ту же операцию свертки над каждым из патчей. Выход сети на каждом патче представляет собой кортеж следующим образом: где С 2 {\displaystyle S^{2}} ( п 1 , , п С , с 1 , х 1 , у 1 , ж 1 , час 1 , , с Б , х Б , у Б , ж Б , час Б ) {\displaystyle (p_{1},\dots ,p_{C},c_{1},x_{1},y_{1},w_{1},h_{1},\dots ,c_{B},x_{B},y_{B},w_{B},h_{B})}

  • п я {\displaystyle p_{i}} условная вероятность того, что ячейка содержит объект класса , при условии, что ячейка содержит хотя бы один объект. я {\displaystyle я}
  • х дж , у дж , ж дж , час дж {\displaystyle x_{j},y_{j},w_{j},h_{j}} являются координатами центра, шириной и высотой -го предсказанного ограничивающего прямоугольника, который центрирован в ячейке. Несколько ограничивающих прямоугольников предсказаны, чтобы позволить каждому предсказанию специализироваться на одном виде ограничивающего прямоугольника. Например, тонкие объекты могут быть предсказаны с помощью , а толстые объекты могут быть предсказаны с помощью . дж {\displaystyle j} дж = 2 {\displaystyle j=2} дж = 1 {\displaystyle j=1}
  • с дж {\displaystyle c_{j}} — это прогнозируемое пересечение по объединению (IoU) каждого ограничивающего прямоугольника с соответствующим ему истинным значением.

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

Во время обучения для каждой ячейки, если она содержит ограничивающий прямоугольник истинности, то для градиентного спуска используются только предсказанные ограничивающие прямоугольники с наивысшим IoU с ограничивающими прямоугольниками истинности. Конкретно, пусть будет предсказанным ограничивающим прямоугольником, а пусть будет меткой класса истинности, затем обучаются градиентным спуском, чтобы приблизиться к истинности, обучаются к , другие обучаются к нулю. дж {\displaystyle j} я {\displaystyle я} х дж , у дж , ж дж , час дж {\displaystyle x_{j},y_{j},w_{j},h_{j}} п я {\displaystyle p_{i}} 1 {\displaystyle 1} п я {\displaystyle p_{i'}}

Если ячейка не содержит истинных данных, то она обучается только методом градиентного спуска для приближения к нулю. с 1 , с 2 , , с Б {\displaystyle c_{1},c_{2},\точки ,c_{B}}

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].
  • Официальный сайт YOLO
  • Реализация YOLO в Darknet
Взято с "https://en.wikipedia.org/w/index.php?title=You_Only_Look_Once&oldid=1251958201"