Тезисы к вопросу методологии программного обеспечения применения технологии нейросетевого аппарата распознавания
Автор: Золкин Александр Леонидович, Тормозов Владимир Сергеевич, Гуменникова Юлия Валериевна, Степина Ирина Васильевна
Рубрика: Информатика и вычислительная техника
Статья в выпуске: 4, 2022 года.
Бесплатный доступ
Рассматривается общая проблема задачи локализации и классификации объектов в растровых изображениях. На данный момент не существует универсальных методов и технологий, позволяющих идеально решить задачу локализации и классификации объектов на изображении. Проанализированы наиболее популярные и актуальные методы для локализации и классификации объектов на изображении. Разработан и приведен алгоритм технологии распознавания. Продемонстрированы результаты работы программы. Обобщена целевая карта использования алгоритмического метода. Для решения задач, поставленных в рамках данного исследования, было принято решение использовать дескрипторы HOG&SVM в модуле локализации, а локализованное изображение передавать на CNN, реализующие модуль классификации. Рассматривается и обосновывается алгоритм выработки собственной модели проектирования технологии распознавания, базирующейся на методологии применения нейросетевого аппарата в программном обеспечении.
Методы распознавания, вычислительное моделирование, инжиниринг, сверточные нейронные сети, задачи классификации и локализации
Короткий адрес: https://sciup.org/148325186
IDR: 148325186 | DOI: 10.18137/RNU.V9187.22.04.P.129
Текст научной статьи Тезисы к вопросу методологии программного обеспечения применения технологии нейросетевого аппарата распознавания
Золкин Александр Леонидович доцент кафедры информатики и вычислительной техники. Поволжский государственный университет телекоммуникаций и информатики, город Самара. Сфера научных интересов: автоматика и автоматизация; информатика и вычислительная техника; прикладная информатика; программирование; транспорт. Автор 300 опубликованных научных работ.
ных векторов, так как такой подход позволяет получать б о льшую точность в сравнении с методом Виолы – Джонса и сравнительно меньшие затраты ресурсов и времени относительно нейросетевых подходов.
Вторым этапом в задаче распознавания дорожных знаков является классификация локализованных объектов.
Методы исследования
Для данной задачи рассмотрены наиболее известные методы и сделан выбор в пользу сверточной нейронной сети, так как такой подход позволит получить б о льшую точность в сравнении с другими подходами, основанными на машинном обучении или цветовых особенностях изображений, и сравнительно меньшие затраты ресурсов и времени относительно обычного многослойного персептрона [10].
Архитектура сверточной нейронной сети
Сверточные нейронные сети (далее – CNN) – это глубокие искусственные нейронные сети, которые используются главным образом для классификации изображений.
Тезисы к вопросу методологии программного обеспечения применения технологии ...
CNN также могут кластеризовать изображения по сходству и выполнять распознавание (локализацию) объектов в сценах [8].
CNN могут идентифицировать лица, уличные знаки, опухоли и многие другие аспекты визуальных данных в зависимости от обучающей выборки, которая была задана. Можно выделить следующие преимущества сверточной нейронной сети: меньшее количество параметров в сравнении с полносвязанной сетью; устойчивость к перемене расположения и поворотам распознаваемого объекта. Однако CNN обладают и рядом недостатков: долгое время обучения; необходимость большой обучающей выборки [9].
Несмотря на недостатки, на сегодняшний день архитектура сверточной нейронной сети является наиболее пригодной для решения задачи классификации изображений.
Сверточная нейронная сеть в общем виде состоит из следующих слоев и их чередования: слои свертки; пулинговые слои (слои подвыборки); полносвязные слои. Сверточные нейронные сети используют различные функции активации.
Пример возможной структуры сверточной нейронной сети представлен на Рисунке 1.

Рисунок 1. Пример структуры сверточной нейронной сети
Результаты
Для создания классифицирующей модели с использованием сверточной нейронной сети можно выделить три основных этапа:
-
1. Формирование и подготовка обучающей базы данных.
-
2. Проектирование нейронной сети.
-
3. Обучение нейронной сети.
Рассмотрим реализацию каждого из этих этапов.
Подготовка обучающей базы данных для разрабатываемой технологии. В обучающем наборе GTSRB изображения не обязательно имеют фиксированные размеры, и знак не обязательно центрируется на каждом изображении. Каждое изображение содержит около 10 % границы вокруг фактического дорожного знака. Как было описано в предыдущих разделах, изображения в обучающем наборе отличаются друг от друга в плане освещенности, контрастности и положении знака, поэтому их необходимо привести к некоторому общему виду. Для решения данной проблемы был использован разработанный модуль preprocessing.py, решающий данную проблему. Все изображения были масштабированы до триединого размера 48 × 48 пикселей [9].
Проектирование и обучение нейронной сети. Для решения задачи классификации дорожных знаков было принято решение воспользоваться библиотечным решением Keras, которое позволяет проектировать нейронные сети различных структур без необходимости их реализации с нуля, что значительно ускоряет разработку. Однако выбор и проектирование правильной структуры сети – важный вопрос, который в значительной мере влияет на конечный результат.
Keras – открытая библиотека для работы с нейросетевыми алгоритмами, написанная на языке программирования Python. Она является надстройкой над другими открытыми библиотеками и фреймворками: Deeplearning4j, TensorFlow и Theano [2].
В рамках решения описанной ранее задачи была разработана и использована следующая модель сверточной нейронной сети: шесть сверточных слоев, три слоя подвыборки, два полносвязных слоя, а также дополнительные нормализующие слои [4].
Для более подробного представления о структуре разработанной модели приведем часть кода, отвечающего за формирование данной модели (см. Рисунок 2).
def cnn_model():
model = Sequential()
Рисунок 2. Часть листинга программы проектирования модели сети
Разработка и проектирование технологии алгоритма комплексного распознавания дорожных знаков. После разработки отдельных модулей можно переходить к проектированию и разработке комплексного алгоритма локализации и классификации объектов на изображении. Для реализации алгоритма комплексного распознавания на примере объектов высокой контрастности (дорожных знаков) использовался язык программирования Python и сторонние библиотеки с открытым исходным кодом: OpenCV, Dlib, NumPy, Keras.
В общем виде предлагаемый алгоритм можно описать следующим образом:
-
• исходное изображение подается на вход HOG&SVM дескрипторов, с помощью которых локализуются потенциальные искомые объекты;
-
• потенциальные локализованные области исходного изображения подаются на вход модуля предподготовки изображений;
-
• изображения обрабатываются (выравнивается яркость, контрастность, приводятся к единому размеру) и подаются на вход CNN;
Тезисы к вопросу методологии программного обеспечения применения технологии ...
-
• обученная модель возвращает идентификатор для каждой потенциальной области;
-
• локализованные и классифицированные знаки обводятся рамкой на исходном изображении и подписываются в соответствии с идентификатором, который выдала CNN.
Принцип работы предлагаемого алгоритма показан в виде блок-схемы на Рисунке 3.
Целью данного исследования является разработка универсального алгоритма локализации и классификации объектов на изображении, поэтому блок-схема, представленная на Рисунке 3, построена без привязки к конкретным моделям и дескрипторам, обученным ранее.
Разработанный алгоритм достаточно универсален и может применяться для других практико-ориентированных задач [5].
Алгоритм, представленный на Рисунке 3, был разработан и применен для задачи распознавания дорожных знаков.
Пример успешной работы разработанного решения представлен на Рисунке 4.
Тестирование классифицирующей сверточной нейронной сети. После локализации потенциальный знак подается на вход заранее обученной сети. Точность классификации очень важна для корректной работы всей системы. Если локализованный объект будет распознан неправильно, то разработанная система не только не приносит пользы, но и может создать проблемы, дезинформируя пользователя [6; 7].
Для тестирования работы нейронной сети необходимо подготовить большую выборку разнообразных изображений с пометками о наличии на них объекта, относящегося к тому или иному классу. Данная задача достаточно трудоемкая, так как для корректных результатов необходимо несколько тысяч таких изображений. В пакете данных GTSRB [5] присутствует набор тестовых промаркированных данных, состоящий из 12630 изображений для тестирования, который будет использоваться при тестировании разработанной модели.
Заключение и выводы
На основании разработанного алгоритма и его программной реализации можно сделать следующие выводы.
-
1. Представленный алгоритм достаточно универсален и может быть применен к любой подобной задаче.
-
2. Разработанное решение выдает как верные, так и неверные результаты.
Было проведено численное тестирование разработанного решения, результатами которого стали следующие показатели.
-
1. Модуль локализации детектирует дорожный знак с вероятностью 77,65 %.
-
2. Модуль классификации верно классифицирует дорожный знак с вероятностью 97 %.
Полученные результаты вполне удовлетворительны и применимы на практике, однако, возможно, в ближайшем будущем появятся еще более точные нейросетевые подходы для локализации объектов.
На основании сделанного выбора разработан универсальный подход и алгоритм для решения задачи локализации и классификации объектов на изображении, который впоследствии может быть применен для других практико-ориентированных задач локализации и распознавания образов.
Разработанное техническое решение может быть расширено и использовано как система помощи водителю (автопилот). Предложенный алгоритм может применяться для совершенно иной задачи со схожей проблематикой [1; 3; 11].

cooidmalies. locjmaps-йак№.^ей(шУ8Е| wag - prtpmeMjiMg (img) ll)s.appeiid(m^
for i ш ntoge(kn(csordiflales))
start input (image)
for detector tn detectors
cv2.piit_tesi (™rd[i][2]. CMrd[i][l]. !abel4Tk[ij)
Рисунок 3. Блок-схема алгоритма локализации и классификации объектов на изображении
Тезисы к вопросу методологии программного обеспечения применения технологии ...

Рисунок 4. Пример успешной работы разработанного решения
Список литературы Тезисы к вопросу методологии программного обеспечения применения технологии нейросетевого аппарата распознавания
- Чирков М., Лачинина Т., Чистяков М. Знания и информация как синергия платформенного подхода цифровизации глобального развития // Свободная мысль. 2020. № 5 (1683). С. 37–44. DOI: 10.24411/0869-4435-2020-00003.
- Ciresan D. C., Meier U., Masci J., Schmidhuber J. (2011) A committee of neural networks for traffic sign classification. In International Joint Conference on Neural Networks, 4 p.
- Delfani F., Samanipour H., Beiki H., Yumashev A., Akhmetshin E. (2020) A robust fuzzy optimization for a multi-objective pharmaceutical supply chain network design problem considering reliability and delivery time. International Journal of Systems Science: Operations and Logistics, pp. 1–25. DOI: 10.1080/23302674.2020.1862936.
- Habibi Aghdam H, Jehani Heravi. E. (2017) Guide to Convolutional Neural Networks a Practical Application to Traffic-Sign Detection and Classification, 282 p.
- Jain V. and Seung S. H. (2008) Natural image denoising with convolutional networks, 8 p.
- Liu C.-L., Yin F., Wang Q.-F., Wang D.-H. (2011) ICDAR 2011 chinese handwriting recognition competition. International Conference on Document Analysis and Recognition, pp. 1464–1469.
- Mark Summerfield (2009) Programming in Python 3: a complete introduction to the Python language, 636 p.
- Melin P. (2015) Design of Intelligent Systems Based on Fuzzy Logic, Neural Networks and Nature-Inspired Optimization. Patricia Melin, Oscar Castillo, JanuszKacprzyk. Springer International Publishing, 637 p.
- Ronan C., Jason W. (2008) A Unified Architecture for Natural Language Processing: Deep Neural Networks with Multitask Learning. Proceedings of the 25th International Conference on Machine Learning, ICML ‘08, New York, NY, USA , ACM , pp. 160–167.
- Stallkampa J., Schlipsinga M., Salmena J., Igelb Man C. vs. (2012) Computer: Benchmarking Machine Learning Algorithms for Traffic Sign Recognition, 11 p.
- Tormozov V.S., Zolkin A.L., Vasilenko K.A. (2020) Optimization of neural network parameters based on a genetic algorithm for prediction of time series. International Multi-Conference on Industrial Engineering and Modern Technologies, FarEastCon, p. 9271536. DOI: 10.1109/FarEastCon50210.2020.9271536.