Обнаружение объектов — это тип категоризации изображений, при котором нейронная сеть предвосхищает элементы на изображении и рисует вокруг них ограничивающие рамки. Обнаружение и локализация объектов на изображении, соответствующих заданному набору классов, называется обнаружением объектов.
Обнаружение объектов (также известное как распознавание объектов) является особенно важным поддоменом Computer Vision, поскольку такие задачи, как обнаружение, идентификация и локализация, находят широкое применение в реальных контекстах.
Подход YOLO может помочь вам выполнить эти задачи. В этом эссе мы более подробно рассмотрим YOLO, включая то, что это такое, как оно работает, различные варианты и многое другое.
Итак, что такое YOLO?
YOLO — это метод идентификации и распознавания объектов на фотографиях в реальном времени. Это аббревиатура от You Only Look Once. Редмонд и др. предложил подход в статье, которая была первоначально опубликована в 2015 году на конференции IEEE/CVF по компьютерному зрению и распознаванию образов (CVPR).
Газете была присуждена награда OpenCV People's Choice Award. В отличие от предыдущих методов идентификации объектов, которые переназначали классификаторы для обнаружения, YOLO предлагает использовать сквозной нейронной сети который одновременно предсказывает ограничивающие рамки и вероятности классов.
YOLO дает самые современные результаты, используя принципиально новый подход к распознаванию объектов, который легко превосходит предыдущие методы обнаружения объектов в реальном времени.
YOLO работает
Метод YOLO делит изображение на N сеток, каждая из которых имеет сектор одинакового размера SxS. Каждая из этих N сеток отвечает за обнаружение и определение местоположения объекта, который она содержит.
Эти сетки, в свою очередь, прогнозируют координаты ограничивающей рамки B относительно координат ячейки, а также имя элемента и вероятность присутствия объекта в ячейке. Из-за того, что многие ячейки предсказывают один и тот же элемент с различными предсказаниями ограничительной рамки, этот метод значительно сокращает вычисления, поскольку и обнаружение, и распознавание обрабатываются ячейками из изображения.
Тем не менее, он производит много повторяющихся прогнозов. Чтобы решить эту проблему, YOLO использует немаксимальное подавление. YOLO подавляет все ограничивающие рамки с более низкими показателями вероятности в немаксимальном подавлении.
YOLO делает это, изучая оценки вероятности, связанные с каждым вариантом, и выбирая вариант с наивысшим баллом. Ограничивающие рамки с наибольшим пересечением над объединением с текущей ограничивающей рамкой с высокой вероятностью затем подавляются.
Этот процесс продолжается до тех пор, пока не будут заполнены ограничивающие рамки.
Различные варианты YOLO
Мы рассмотрим некоторые из наиболее распространенных версий YOLO. Давайте начнем.
1. ЮЛОв1
Первоначальная версия YOLO была анонсирована в 2015 году в публикации «Вы только посмотрите один раз: унифицированное обнаружение объектов в реальном времениДжозеф Редмон, Сантош Диввала, Росс Гиршик и Али Фархади.
Благодаря своей скорости, точности и способности к обучению YOLO быстро доминировал в области идентификации объектов и стал наиболее широко используемым алгоритмом. Вместо того, чтобы рассматривать обнаружение объектов как проблему классификации, авторы подошли к ней как к проблеме регрессии с географически разделенными ограничивающими прямоугольниками и соответствующими вероятностями классов, которую они решили с помощью одного нейронной сети.
YOLOv1 обрабатывал фотографии со скоростью 45 кадров в секунду в режиме реального времени, тогда как меньший вариант, Fast YOLO, обрабатывал со скоростью 155 кадров в секунду и по-прежнему получал вдвое больше mAP, чем другие детекторы в реальном времени.
2. ЮЛОв2
Год спустя, в 2016 году, Джозеф Редмон и Али Фархади опубликовали YOLOv2 (также известную как YOLO9000) в статье «YOLO9000: лучше, быстрее, сильнее".
Способность модели прогнозировать даже 9000 различных категорий элементов при работе в режиме реального времени принесла ей обозначение 9000. Мало того, что новая версия модели была одновременно обучена наборам данных для обнаружения и классификации объектов, она также получила Darknet-19 в качестве новой базовой линии. модель.
Поскольку YOLOv2 также имел большой успех и быстро стал следующей современной моделью распознавания объектов, другие инженеры начали экспериментировать с алгоритмом и создавать свои собственные уникальные версии YOLO. Некоторые из них будут обсуждаться в различных местах статьи.
3. ЮЛОв3
В газете «YOLOv3: постепенное улучшение», Джозеф Редмон и Али Фархади опубликовали новую версию алгоритма в 2018 году. Он был построен на архитектуре Darknet-53. Независимые логистические классификаторы заменили механизм активации softmax в YOLOv3.
Во время обучения использовалась бинарная кросс-энтропийная потеря. Darknet-19 был усовершенствован и переименован в Darknet-53, который теперь имеет 53 сверточных слоя. Кроме того, прогнозы делались по трем различным шкалам, что помогло YOLOv3 повысить точность предсказания крошечных вещей.
YOLOv3 был последней версией YOLO Джозефа Редмона, поскольку он решил не работать над какими-либо дальнейшими улучшениями YOLO (или даже в области компьютерного зрения), чтобы его работа не оказала пагубного влияния на мир. В настоящее время он в основном используется в качестве отправной точки для создания уникальных архитектур обнаружения объектов.
4. Йолов4
Алексей Бочковский, Цзянь-Яо Ван и Хун-Юань Марк Ляо опубликовали «YOLOv4: Оптимальная скорость и точность обнаружения объектов” в апреле 2020 года, что стало четвертой итерацией алгоритма YOLO.
Взвешенные остаточные соединения, межстадийные частичные соединения, кросс-мини-пакетная нормализация, самосостязательное обучение, миш-активация, отбрасывание блокировки и потеря CIoU были представлены как часть архитектуры SPDarknet53.
YOLOv4 является потомком семейства YOLO, однако разработан отдельными учеными (не Джозефом Редмоном и Али Фархади). Магистраль SPDarknet53, объединение пространственных пирамид, агрегация путей PANet в качестве шеи и голова YOLOv3 составляют его архитектуру.
Как следствие, по сравнению со своим родителем, YOLOv3, YOLOv4 обеспечивает на 10% более высокую среднюю точность и на 12% лучшие показатели кадров в секунду.
5. ЮЛОв5
YOLOv5 — это проект с открытым исходным кодом, который включает в себя ряд моделей и алгоритмов идентификации объектов, основанных на модели YOLO, предварительно обученной на наборе данных COCO.
YOLOv5 — это набор моделей идентификации объектов в сложном масштабе. обучен набору данных COCO, с простыми возможностями для TTA, сборки модели, разработки гиперпараметров и экспорта в ONNX, CoreML и TFLite. Поскольку YOLOv5 не реализует и не разрабатывает каких-либо уникальных подходов, официальный документ не может быть опубликован. Это просто расширение YOLOv3 PyTorch.
Ultranytics воспользовались этим сценарием, чтобы опубликовать «новую версию YOLO» под своим спонсорством. Поскольку доступны также пять предварительно обученных моделей, домашняя страница YOLOv5 довольно проста, профессионально структурирована и написана с рядом уроков и предложений по обучению и использованию моделей YOLOv5.
Ограничения YOLO
Хотя YOLO кажется лучшей техникой для решения обнаружение объекта проблемы, он имеет ряд недостатков. Поскольку каждая сетка может идентифицировать только один элемент, YOLO с трудом обнаруживает и разделяет крошечные элементы на изображениях, которые встречаются группами. YOLO трудно идентифицировать и определить местонахождение мелких объектов в роях, таких как рой муравьев.
По сравнению со значительно более медленными методами идентификации объектов, такими как Fast RCNN, YOLO также характеризуется меньшей точностью.
Начните использовать YOLOv5
Если вам интересно увидеть YOLOv5 в действии, ознакомьтесь с официальный GitHub и YOLOv5 в PyTorch.
Заключение
Первоначальная версия YOLOv5 чрезвычайно быстра, производительна и проста в использовании. Хотя YOLOv5 не добавляет новую архитектуру модели в семейство YOLO, он предоставляет новую среду обучения и развертывания PyTorch, которая расширяет возможности детекторов объектов.
Кроме того, YOLOv5 чрезвычайно удобен для пользователя и поставляется «из коробки», готовым к использованию на сделанных на заказ объектах.
Оставьте комментарий