ИССЛЕДОВАНИЕ АЛГОРИТМОВ И МЕТОДОВ ОБНАРУЖЕНИЯ И РАСПОЗНАВАНИЯ НА ОСНОВЕ НЕЙРОСЕТЕВЫХ СИСТЕМ

Дзюба Виктор Алексеевич
Южный федеральный университет
Институт радиотехнических систем и управления, магистр 2-го курса обучения

Аннотация
В настоящее время, развитие в области нейронных сетей позволяет использовать их для построения таких сложных комплексов, как системы технического зрения, которые могут использоваться в широком спектре областей. В данной статье проводится исследование алгоритмов и методов детектирования, обнаружения, классификации объектов в режиме реального времени. Рассматриваются популярные архитектуры сверточных нейронных сетей и алгоритмы их работы в целях детектирования объектов. Для сужения области поиска была составлена условная задача.

Ключевые слова: , , , , ,


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Дзюба В.А. Исследование алгоритмов и методов обнаружения и распознавания на основе нейросетевых систем // Современные научные исследования и инновации. 2021. № 12 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2021/12/97280 (дата обращения: 17.03.2024).

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

Особенностью развития систем для обнаружения и распознавания, является применение в них искусственных нейронных сетей (ИНС, НС), а также алгоритмов и методов, работающих на основе ИНС. Существует большое множество подобных алгоритмов, решающих широкий спектр задач в области обнаружения и распознавания, следовательно, будет правильным задаться конкретной задачей:

Необходимо разработать систему технического зрения (СТЗ) для обнаружения и распознавания объектов небольшого размера (например, болты и гайки), двигающихся по производственной конвейерной линии с манипуляторами.

Конечной целью может выступать, например, подсчёт объектов, обнаружение дефектов или сортировка по каким-либо критериям.

В общем случае, СТЗ представляют собой аппаратно-программный комплекс, состоящий из оптической системы, системы освещения и микроконтроллера (МК) [1]. Внутри МК организуются различные методы, в том числе и на основе ИНС, для обнаружения, распознавания объектов и обработки их изображений, в зависимости от поставленной задачи. Структурная схема СТЗ представлена на рисунке 1.

Рисунок 1. Структурная схема СТЗ

Из поставленной задачи можно выделить несколько критериев для поиска необходимого алгоритма:

  • обнаружение и распознавание объектов должно производиться в режиме реального времени, без задержек (непрерывное производство);
  • алгоритм должен учитывать размер объектов и то, что они могут располагаться хаотично на линии (под разными углами к оптической системе, близко друг к другу, частично закрывать друг друга и т.п.);
  • обеспечивать наилучшую скорость (повышение скорости производства).

Для задач, связанных с обнаружением и классификацией объектов на фотографии, видео или в режиме реального времени, вместо классических полносвязных НС (ПНС), принято использовать свёрточные НС (СНС) [2]. Это обуславливается тем, что ПНС, при решении подобных задач имеют следующие недостатки:

  • являются вычислительно сложными;
  • неустойчивы к разному роду инвариантности изображений (сдвиги, разный масштаб, углы поворота);
  • потери взаимосвязи частей изображения (топологии) при преобразовании от слоя к слою.

В СНС эти недостатки отсутствуют. Обобщенная архитектура СНС представлена на рисунке 2.

Рисунок 2. Архитектура свёрточной нейронной сети

Все слои СНС представляют собой набор плоскостей. Нейроны одной плоскости имеют одинаковые весовые коэффициенты, ведущие ко всем локальным участкам предыдущего слоя. Каждый нейрон слоя получает входы от некоторой области предыдущего слоя, т.е. входное изображения предыдущего слоя получает входное изображение предыдущего слоя сканируется небольшим окном и пропускается сквозь набор весовых коэффициентов, а результат отображается на соответствующий нейрон текущего слоя. Таким образом, набор плоскостей представляется собой карты характеристик, и каждая плоскость находит конкретные участки изображения в любом месте предыдущего слоя [3].

Ключевое отличие СНС сетей от ПНС состоит в наличии соединения каждого нейрона строго с определенным количеством нейронов из предыдущего слоя.

Существующие архитектуры НС, использующие различные алгоритмы для обнаружения и классификации объектов, в основном разделяются на два вида: одноуровневые («YOLO») и двухуровневые («RCNN», «fast RCNN» и «faster RCNN»). Модель НС faster RCNN, базирующаяся на алгоритме region-proposal-function, самое быстрое решение из перечисленных двухуровневых НС. Данный алгоритм состоит из следующих этапов:

  1. Исходное изображение подается на вход СНС, для формирования карты признаков на его основе;
  2. Выполняется генерация областей интереса, в которых может находится объект;
  3. Выполняется преобразование вектора признаков области интереса (произвольного прямоугольника) из исходного изображения в вектор признаков фиксированной размерности, с помощью слоя RoI pooling;
  4. С помощью регрессионной модели (Bounding Box Regression), уточняются границы области интереса;
  5. Классификация объектов на исходном изображении.

Данное решение имеет два недостатка:

  • модель основывается на рассмотрении отдельных регионов, а не всего изображения в целом;
  • является относительно медленным.

Архитектура YOLO не имеет таких недостатков. Данная архитектура относится к one stage detector – детектирующим сетям, главная идея которых заключается в том, что задачи поиска регионов, предположительно содержащих объекты, и задача классификации этих объектов, выполняются одновременно и сводятся в одну, рассматриваемую, как задача регрессии [4, 5].

В общем виде, модель архитектуры подразделяется на две части (рисунок 3) [6]:

  • базовая СНС с классической архитектурой, применяющаяся для классификации входного изображения;
  • два полносвязных (fully connected) слоя, в которых формируются предсказания ограничивающих рамок (bounding boxes), потенциально содержащих объекты и вероятности, что эти объекты принадлежат определенным классам.

Рисунок 3. Общая модель архитектуры YOLO

Основной алгоритм работы YOLO представлен в следующих этапах:

Изображение на входе попадает на базовую СНС [7], которая классифицирует входные изображения. На полученное изображение накладывается сетка размером S × S. Ячейка, в которую попадает центр объекта будет указывать на предварительное обнаружение этого объекта. Каждая ячейка предсказывает показатель достоверности, местоположение ограничивающих рамок и вероятность класса объекта, при условии попадания объекта в ограничивающую рамку, обычно это квадрат или прямоугольник (рисунок 4).

Величина достоверности показывает вероятность того, что ячейка содержит объект. Эта величина умножается на его IoU. IoU – это степень пересечения областей на изображении. Эта величина используется для определения процента перекрытия истинной области объекта, предсказанной областью.

Местоположение ограничивающей рамки представляется координатами, которые определяются четырьмя значениями (x, y – координаты центра, ширина – w, h – высота), где x и y задаются со смещением местоположение ячейки. Все четыре значения нормализуются по высоте и ширине оригинального изображения и лежат в интервале от 0 до 1.

Ячейка, содержащая объект, предсказывает вероятность того, что этот объект принадлежит каждому классу, ci,i=1,k. На данном шаге модель предсказывает только один набор вероятностей классов на ячейку, независимо от количества ограничивающих рамок.

На каждом изображении содержатся ограничивающие рамки S×S×B, каждая из которых соответствует четырём координатам местоположения, одному значению достоверности и K условных вероятностей для классификации объектов. Суммарные значения прогнозирования для одного изображения составляют S×S×(5B+K), так называемая тензорная форма конечного сверточного слоя.

Рисунок 5 – Принцип работы YOLO

Последний этап заключается в фильтровании ограничительных рамок с помощью техники NMS (non-max suppression или подавление не максимумов). После этого этапа, на исходном изображении будут отображаться ограничительные рамки вокруг каждого обнаруженного объекта (по одной на каждый).

YOLOv3 последняя версия архитектуры YOLO [8]. Модель этой версии содержит 106 сверточных слоев. Её отличительной особенностью является то, что детектирование объектов производится в трех масштабах, то есть на входное изображение может накладываться сетка из 64, 256 или 1024 клеток. Последнее позволяет архитектуре детектировать достаточно маленькие объекты.

В YOLOv3 детектирование объектов производится при помощи применения ядер обнаружения, размером 1×1 на картах признаков в трех разных точках архитектуры (рисунок 6). Размер ядра обнаружения составляет 1×1×(B×(5+C)). Здесь B – количество якорей, которые может предсказать ячейка на карте признаков, 5 – для четырёх координат ограничивающей рамки и значения достоверности, C – количество классов. Так на обученном наборе данных COCO, B = 3 и C = 80, поэтому размер ядра равен 1×1×255.

На первых 81 сверточном слое, входное изображение сжимается, таким образом, что на 81 слое шаг сжатия будет равен 32. Например, если взять изображение с разрешением 416 х 416, то результирующая карта признаков будет иметь размер 13 х 13. Первое детектирование производится на 82 слое, что даст карту признаков размером 13 х 13 х 255.

Затем карта признаков из слоя 79 проходит через несколько сверточных слоев, далее она будет увеличена в 2 раза, до размеров 26 х 26. Дальше, полученная карта будет объединена по глубине с картой признаков из слоя 61 и комбинированные карты признаков снова проходят через несколько сверточных слоев размером 1×1, чтобы объединить признаки раннего 61 слоя. Следующее детектирование производится на 94 слое. В результате, получается карта признаков размеров 26 х 26 х255.

Аналогичная процедура повторяется снова, когда карта признаков из слоя 91 проходит далее по сверточным слоям, и объединяется с картой признаков из слоя 36. Как и раньше, несколько сверточных слоев размером 1×1 следуют друг за другом, чтобы слить информацию с предыдущего 36 слоя. Финальное детектирование происходит на 106-м слое с конечной картой признаков 52 х 52 х255.

Также в YOLOv3 были внесены следующие изменения:

  • предсказание оценки достоверности для каждой ограничивающей рамки происходит при помощи логистической регрессии в то время, как YOLO и YOLOv2 используют сумму квадратов ошибок. Линейная регрессия прогноза смещения приводит к уменьшению mAP.
  • Для прогнозирования вероятности класса, вместо одного слоя softmax, используется несколько, независимых друг от друга классификаторов для каждого класса.

Также, ещё одной особенностью YOLOv3 является её урезанная версия – архитектура Yolov3-tiny. Данная версия отличается меньшим количеством слоев и делает предсказания только в двух размерах 13×13 и 26×26. Yolov3-tiny обладает меньшей точностью и хуже подходит для детектирования маленьких объектов, однако имеет большую производительность и способна выдавать большие значения обработки кадров в секунду. Урезанная версия отлично подходит для использования на «слабых» компьютерах и мобильных устройствах.

В заключении, можно сделать вывод о том, что архитектура СНС YOLOv3 отлично подходит для решения поставленной в начале статьи задачи. Данная модель может легко обеспечить устойчивую работу СТЗ в реальном времени с достаточно хорошей скоростью. На официальном сайте приведены результаты исследований скорости детектирования при различном размере НС и наборах данных – в среднем, скорость обработки 50-60 кадров в секунду. Также в сети можно найти множество примеров обучения данной архитектуры, для применения её в специализированных задачах.


Библиографический список
  1. Auton_sist_tech_zrn (kipia.ru). – URL: https://kipia.ru/upload/iblock/d78/Auton_sist_tech_zrn.
  2. Neural networks and deep learning by Michael Nielsen / Dec 2019/p.224
  3. Полковникова Н.А. Система поддержки принятия решений на основе сверточных нейронных сетей по распознаванию объектов на изображениях // Материалы III международной научно-технического форума «Современные технологии в науке и образовании» .– Рязанский государственный университет имени В.Ф. Уткина.–2020.–№5.–С. 108-109.
  4. Going Deeper with Convolutions. – URL: https://arxiv.org/abs/1409.4842.
  5. Deep Residual Learning for Image Recognition – URL: https://arxiv.org/abs/1512.03385.
  6. Воронов С. В., Мухометзянов Р. Н., Воронов И. В. Обнаружение и распознавание дорожных знаков в реальном времени на мобильных устройствах [Текст] // Автоматизация процессов управления. – Ульяновск: ФНПЦ АО «НПО «Марс», 2018, №2. – С. 105-111.
  7. J. Redmon. Darknet: Open source neural networks in С – URL: http://pjreddie.com/darknet/, 2013–2016.
  8. Redmon and A. Farhadi / Yolov3: An incremental improvement // – 2018. – P. 1-9. – direct text.


Количество просмотров публикации: Please wait

Все статьи автора «Дзюба Виктор Алексеевич»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться:
  • Регистрация