Обнаружение объектов снижает человеческие усилия во многих областях. В нашем случае мы используем YOLO v3 для обнаружения объекта. YOLO v3 имеет DARKNET-53 с этими 53 слоями; Модель более эффективна для идентификации даже небольших объектов на изображении. YOLO v3 может идентифицировать более 80 различных объектов на одном изображении. YOLO v3 может значительно снизить количество ошибок. YOLO v3 использует ограничительную рамку тонкого размера.

Как работают YOLO:

Алгоритм YOLO делит любое заданное входное изображение на сеточную систему SxS. Каждая шлифовка на входном изображении отвечает за обнаружение на объекте. Теперь ячейка сетки предсказывает количество граничных рамок для объекта. [8]

Для каждого граничного блока есть пять элементов (x, y, w, h, оценка достоверности). X и y - координаты объекта на входном изображении, w и h - ширина и высота объекта соответственно. Оценка достоверности - это вероятность того, что коробка содержит объект, и насколько точна граничная рамка.

Алгоритм YOLO:

Он основан на регрессии, при которой обнаружение и локализация объекта, а также классификация объекта для входного изображения будут выполняться за один раз. Этот тип алгоритмов обычно используется для обнаружения объектов в реальном времени.

YOLO v1:

Архитектура YOLO v1:

Он использует структуру Darknet, которая обучена на наборе данных ImageNet-1000. Это работает, как упомянуто выше, но имеет много ограничений, потому что использование YOL v1 ограничено. Он не может найти мелкие объекты, если они представлены в виде кластера. Эта архитектура обнаружила трудности при обобщении объектов, если изображение имеет другие размеры, отличные от обученного изображения. Основная проблема - это локализация объектов во входном изображении. [8].

Проблема с YOLO v1:

YOLO v2:

Вторая версия YOLO называется YOLO9000 и была опубликована Джозефом Редмоном и Али Фархади в конце 2016 года. Основные улучшения этой версии стали лучше, быстрее и более продвинутыми, чтобы соответствовать Faster R-CNN, который также является объектом алгоритм обнаружения, который использует сеть предложений региона для идентификации объектов на входе изображения [1] и SSD (детектор одиночных снимков).

Изменения с YOLO на YOLO v2:

Пакетная нормализация: нормализует входной слой, слегка изменяя и масштабируя активации. Пакетная нормализация уменьшает сдвиг в единице измерения в скрытом слое и тем самым улучшает стабильность нейронной сети. За счет добавления пакетной нормализации к сверточным слоям в архитектуре MAP (средняя средняя точность) была улучшена на 2% [2]. Это также помогло упорядочить модель и в целом сократить переоснащение.

Классификатор с более высоким разрешением: размер ввода в YOLO v2 был увеличен с 224 * 224 до 448 * 448. Увеличение входного размера изображения улучшило MAP (средняя средняя точность) до 4%. Это увеличение размера ввода было применено при обучении архитектуры YOLO v2 DarkNet 19 на наборе данных ImageNet. [3]

Якорные блоки: одно из наиболее заметных изменений, которые заметны в YOLO v2, - это введение якорных ящиков. YOLO v2 выполняет классификацию и прогнозирование в единой структуре. Эти якорные блоки отвечают за прогнозирование ограничивающего прямоугольника, и эти якорные блоки предназначены для данного набора данных с использованием кластеризации (кластеризация k-средних). [4]

Детализированные функции: одна из основных проблем, которую необходимо решить в YOLO v1, - это обнаружение более мелких объектов на изображении. Это было решено в YOLO v2, который делит изображение на 13 * 13 ячеек сетки, что меньше по сравнению с предыдущей версией. Это позволяет yolo v2 идентифицировать или локализовать более мелкие объекты на изображении, а также эффективно работать с более крупными объектами. [4, 5]

Многоуровневое обучение: на YOLO v1 есть слабость, обнаруживающая объекты с разными входными размерами, что говорит о том, что если YOLO обучается с небольшими изображениями определенного объекта, у него возникают проблемы с обнаружением того же объекта на изображении большего размера. . Это было решено в значительной степени в YOLO v2, где он обучается со случайными изображениями с различными размерами в диапазоне от 320 * 320 до 608 * 608 [5]. Это позволяет сети точно изучать и предсказывать объекты по различным входным измерениям.

Darknet 19: YOLO v2 использует архитектуру Darknet 19 с 19 сверточными слоями, 5 максимальными уровнями объединения и слоем softmax для классификации объектов. Архитектура Darknet 19 показана ниже. Darknet - это фреймворк нейронной сети, написанный на Clanguage и CUDA. Он действительно быстро обнаруживает объекты, что очень важно для прогнозирования в реальном времени.

С достижениями в нескольких категориях в YOLO v2 стало лучше, быстрее и сильнее, как сказано в [6]. Благодаря многомасштабному обучению теперь сеть может обнаруживать и классифицировать объекты с различными конфигурациями и размерами. YOLO v2 значительно улучшился в обнаружении более мелких объектов с гораздо большей точностью, которой не хватало в предыдущей версии.

YOLO v3:

Предыдущая версия была улучшена для постепенного улучшения, которое теперь называется YOLO v3. Поскольку многие алгоритмы обнаружения объектов существуют уже давно, конкуренция заключается в том, насколько точно и быстро обнаруживаются объекты. YOLO v3 имеет все необходимое для обнаружения объектов в реальном времени с точной классификацией объектов. Авторы назвали это постепенным улучшением [7].

Здесь мы посмотрим, что такое так называемые инкрементальные улучшения в YOLO v3.

Прогнозы ограничивающего прямоугольника: в YOLO v3 дает оценку объектам для каждого ограничивающего прямоугольника. Он использует логистическую регрессию для прогнозирования оценки объективности.

Прогнозы классов: в YOLO v3 он использует логистические классификаторы для каждого класса вместо softmax, который использовался в предыдущем YOLO v2. Благодаря этому в YOLO v3 мы можем получить классификацию по нескольким меткам. Со слоем softmax, если сеть обучена и для человека, и для человека, она дает вероятность между человеком и человеком, скажем, 0,4 и 0,47. С независимым классификатором дает вероятность для каждого класса объектов. Например, если сеть обучена для человека и человека, она даст вероятность 0,85 для человека и 0,8 для человека и пометит объект на картинке как мужчина и человек.

Сети пирамид функций (FPN): YOLO v3 делает прогнозы, аналогичные FPN, где для каждого местоположения входного изображения делаются 3 прогноза, а функции извлекаются из каждого прогноза. Таким образом, YOLO v3 имеет лучшие возможности в разных масштабах. [5]. Как поясняется в статье [7], каждое предсказание состоит из граничной рамки, объектности и 80 баллов по классу. Выполнение повышающей дискретизации из предыдущих слоев позволяет получить полную семантическую информацию и более детальную информацию из более ранней карты функций. Теперь добавление еще нескольких сверточных слоев для обработки улучшает результат [7].

Darknet-53: предшественник YOLO v2 использовал Darknet-19 в качестве экстрактора функций, а YOLO v3 использовал сеть Darknet-53 для экстрактора функций, которая имеет 53 сверточных слоя. Он намного глубже, чем YOL v2, а также имеет быстрые соединения. [6]. Darknet-53 состоит в основном из фильтров 3x3 и 1x1 с быстрыми подключениями.

Обнаружение объектов снижает человеческие усилия во многих областях. Обнаружение объектов в реальном времени и с точностью является одним из основных критериев в мире, где беспилотные автомобили становятся реальностью. Есть много возможностей для улучшений в алгоритмах обнаружения объектов, таких как YOLO v3, более быстрый R-CNN, SSD и многие другие. Малейшие улучшения в этих алгоритмах могут изменить все восприятие в реальном мире.

ССЫЛКИ:

[1]. К науке о данных. (2018). R-CNN, Fast R-CNN, Faster R-CNN, YOLO - алгоритмы обнаружения объектов. [онлайн] Доступно по адресу: https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e [по состоянию на 6 декабря 2018 г.].

[2]. К науке о данных. (2018). Пакетная нормализация в нейронных сетях - к науке о данных. [онлайн] Доступно по адресу: https://towardsdatascience.com/batch-normalization-in-neural-networks-1ac91516821c [доступ 5 декабря 2018 г.].

[3]. Середина. (2018). YOLOv3: огромное улучшение - Ананд Сонаване - средний. [онлайн] Доступно по адресу: https://medium.com/@anand_sonawane/yolo3-a-huge-improvement-2bc4e6fc44c5 [по состоянию на 1 декабря 2018 г.].

[4]. Средний. (2018). (Часть 1) Создание якорных ящиков для Yolo-подобной сети для обнаружения транспортных средств с использованием набора данных KITTI.. [онлайн] Доступно по адресу: https://medium.com/@vivek.yadav/part-1-generating-anchor-boxes-for-yolo-like-network-for-vehicle-detection-using-kitti-dataset- b2fe033e5807 [доступ 2 декабря 2018 г.].

[5]. Середина. (2018). YOLOv3: огромное улучшение - Ананд Сонаване - средний. [онлайн] Доступно по адресу: https://medium.com/@anand_sonawane/yolo3-a-huge-improvement-2bc4e6fc44c5 [по состоянию на 6 декабря 2018 г.].

[6]. Фархади А. и Редмон Дж. (2016). YOLO9000: лучше, быстрее, сильнее.

[7]. Фархади, А. и Редмон, Дж. (2018). YOLOv3: постепенное улучшение.

[8]. Средний. (2018). Обнаружение объектов в реальном времени с помощью YOLO, YOLOv2, а теперь и YOLOv3. [онлайн] Доступно по адресу: https://medium.com/@jonathan_hui/real-time-object-detection-with-yolo-yolov2-28b1b93e2088 [доступ 8 декабря 2018 г.].

[9]. Kdnuggets.com. (2018). Обнаружение объектов и классификация изображений с помощью YOLO. [онлайн] Доступно по адресу: https://www.kdnuggets.com/2018/09/object-detection-image-classification-yolo.html [доступ 4 декабря 2018 г.].