Научная статья на тему 'ПРОЕКТИРОВАНИЕ НЕЙРОСЕТЕВОЙ МОДЕЛИ ДЛЯ РАСПОЗНАВАНИЯ ДОРОЖНЫХ ЗНАКОВ (ЧАСТЬ 1)'

ПРОЕКТИРОВАНИЕ НЕЙРОСЕТЕВОЙ МОДЕЛИ ДЛЯ РАСПОЗНАВАНИЯ ДОРОЖНЫХ ЗНАКОВ (ЧАСТЬ 1) Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
161
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
POWER CONSUMPTION / MOBILE DEVICE / HARDWARE LEVEL / APPLICATION LEVEL / CONTROL LEVEL / СВЕРТОЧНАЯ НЕЙРОННАЯ СЕТЬ / СВЕРТОЧНЫЙ СЛОЙ / СЛОЙ ПОДВЫБОРКИ / ПОЛНОСВЯЗНЫЙ СЛОЙ / КОМПИЛЯЦИЯ МОДЕЛИ НЕЙРОННОЙ СЕТИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Смольянинов Виктор Андреевич, Белов Юрий Сергеевич

В данной статье описываются этапы проектирования модели сверточной нейронной сети для распознавания дорожных знаков на изображениях. За основу взята модель глубокой сверточной нейронной сети для распознавания рукописных цифр из исследования А. Шона и соавторов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Смольянинов Виктор Андреевич, Белов Юрий Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ПРОЕКТИРОВАНИЕ НЕЙРОСЕТЕВОЙ МОДЕЛИ ДЛЯ РАСПОЗНАВАНИЯ ДОРОЖНЫХ ЗНАКОВ (ЧАСТЬ 1)»

УДК 62

Технические науки

Смольянинов Виктор Андреевич, студент-магистр, Калужский филиал ФГБОУ ВО «Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет)» Белов Юрий Сергеевич, к.ф. -м.н., доцент, Калужский филиал ФГБОУ ВО «Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет)»

ПРОЕКТИРОВАНИЕ НЕЙРОСЕТЕВОЙ МОДЕЛИ ДЛЯ РАСПОЗНАВАНИЯ ДОРОЖНЫХ ЗНАКОВ (ЧАСТЬ 1)

Аннотация: В данной статье описываются этапы проектирования модели сверточной нейронной сети для распознавания дорожных знаков на изображениях. За основу взята модель глубокой сверточной нейронной сети для распознавания рукописных цифр из исследования А. Шона и соавторов.

Ключевые слова: сверточная нейронная сеть, сверточный слой, слой подвыборки, полносвязный слой, компиляция модели нейронной сети.

Annotation: This article describes the stages of designing a convolutional neural network model for recognizing road signs in images. This model based on the model of the deep convolutional neural network for recognition of handwritten digits from the research of A. Shawon et al.

Key words: power consumption, mobile device, hardware level, application level, control level.

Процесс детектирования и распознавания объектов в видеопотоке происходит покадрово [1]. Каждый кадр является изображением. В настоящее время для повышения скорости работы и точности системы анализа

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

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

FCl FC2 Выход

Рисунок 1 - Архитектура предлагаемой сверточной нейронной сети

Предлагаемая модель состоит из четырех сверточных слоев (Conv2D) и двух полносвязных (Dense). Первые два сверточных слоя имеют 60 фильтров, размерность каждого составляет 5*5. Последние же два слоя имеют 30 фильтров размером 3*3. В качестве функции активации для всех сверточных слоев используется функция выпрямленной линейной единицы (ReLu) [4]. После каждых двух сверточных слоев используются слои подвыборки (Maxpooling - максимальный пулинг). Размер пула слоя подвыборки составляет 2*2. Чтобы снизить вероятность переобучения, после второго слоя maxpooling и первого Dense-слоя добавляется 50-процентный отсев (Dropout). Среди двух полносвязных слоев первый имеет 500 фильтров, а последний - 53 фильтра, что

соответствует количеству классов дорожных знаков. Последняя функция активации - функция softmax для классификации. Для обновления весов используется оптимизатор Adam [5].

Сверточный слой. Целью операции свертки является извлечение высокоуровневых элементов из входного изображения (например, границы дорожного знака). Сверточная сеть не должна быть ограничена только одним сверточным слоем. Первый сверточный слой обеспечивает захват низкоуровневых признаков, (цвет знака, его границы). Архитектура способна также адаптироваться и к высокоуровневым признакам, благодаря добавочным слоям, в результате чего получается сеть с максимально подобным человеческому восприятию изображений в наборе данных.

Рисунок 2 - Пример сверточного слоя с ядром 3 х 3

Каждый сверточный слой выполняет двумерную свертку своих входных

карт Мп - 1с фильтром размера КП X КП [6]. Результирующие активации

выходных карт Мп задаются суммой сверточных откликов Мп - 1, которые пропускаются через нелинейную функцию активации следующего вида:

Уп = f (ЕМГЧ1* wg + Ьп), (1)

где п обозначает слой, У - карта размера Мх х му , а Wij - фильтр размера Кх х ку, соединяющий входную карту i с выходной картой ] Ь]1

- смещение выходного отображения ] а * - допустимая двумерная свертка. То

есть, для входной карты Yn 1 размером Мхп-1 х Му11-1 и фильтром W размером Кхп х куп, выходная карта Yn будет иметь размер Мхп = Мхп-1 - Кхп+1, Муп = Муп-1 -

n-1

Kyn+1. Стоит отметить, что суммирование в уравнении (1) выполняется по всем картам M n-1.

Слой подвыборки (максимальный пулинг). Самое большое архитектурное отличие предлагаемой сети от сверточной нейронной сети из исследования LeCun et al. (1998) [7] - это использование слоев максимального пулинга вместо субдискретизирующих слоев. Максимальный пулинг действует как шумоподавитель. Он полностью устраняет шумовые сигналы, совместно с уменьшением размерности. А средний пулинг, в свою очередь, всего лишь использует уменьшение размерности как способ подавления шума. Следовательно, можно сделать вывод о том, что максимальный пулинг работает намного лучше, чем средний пулинг.

Слой максимального пулинга вместе со сверточным слоем составляют i-й слой сверточной нейронной сети. Для более точного захвата деталей низкого уровня количество таких слоев может быть увеличено в зависимости от сложности изображений. Однако это потребует большей вычислительной мощности.

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

Классификационный слой. Добавление полносвязного слоя (Fully Connected Layer) является рациональным способом изучения нелинейных комбинаций высокоуровневых признаков, представленных выходными данными сверточного слоя.

Размеры ядра сверточных фильтров и прямоугольников максимального пулинга выбираются таким образом, что-либо выходные карты последнего сверточного слоя уменьшаются до 1 пикселя на карту, либо полносвязный слой объединяет выходные данные последнего сверточного слоя в одномерный вектор признаков [8]. Сглаженный вывод подается в нейронную сеть с прямой связью, а затем применяется обратное распространение к каждой итерации

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

Компиляция модели нейронной сети. Компиляция сети -специализированная команда в библиотеке Keras, которая финализирует все изменения в архитектуре сети, после чего сеть готова к обучению с помощью команд fit / fit_generator. Компиляция модели реализуется с помощью метода compile, основными параметрами которого являются: оптимизатор, функция потерь и список метрик, используемых во время обучения и тестирования.

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

Функция потерь, категориальная перекрестная энтропия, имеет следующий вид:

-H=i(Xi*log(yi)), (2)

где xi - истинное значение, yi - прогнозируемое значение, n - размер вектора xi(yi).

Функция потерь представляет собой двумерный тензор с истинным (y_true) и предсказанным сетью значением (y_pred) и возвращает одномерный тензор, содержащий текущее значение функции потерь. Все функции потерь (кроме sparse_categorical_crossentropy) работают с категориальным представлением входных данных. Поэтому в программах обучения нейронных сетей метки классов представляются в виде векторов, длина которых равна

числу классов. Так, при обучении предлагаемой сверточной нейронной сети классификации дорожных знаков метка 5, соответствующая шестому классу дорожных знаков в обучающих и тестовых выборках, будет представлена в виде следующего вектора: [0. 0. 0. 0. 0. 1. 0. 0. 0. 0.....0].

Параметр metrics определяет список метрик, используемых при обучении: accuracy - точность и loss - потери. Поскольку исходные данные равномерно распределены по классам, целесообразно измерять точность предлагаемой модели («accuracy»).

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

Библиографический список:

1. Смольянинов В.А., Гришунов С.С., Белов Ю.С. Подходы к проектированию и разработке программного детектора дорожных знаков // В сборнике: Сборник избранных статей по материалам научных конференций ГНИИ «Нацразвитие». Материалы Международных научных конференций. 2020. С. 145-149.

2. Смольянинов В.А., Белов Ю.С. Сравнительный анализ алгоритмов поиска дорожных знаков // В сборнике: Высокие технологии и инновации в науке. Сборник избранных статей Международной научной конференции. 2020. С. 186-190.

3. A. Shawon, F. Mahmud, Md. Jamil-Ur Rahman, M. M. Arefin Zaman "Bangla Handwritten Digit Recognition Using Deep CNN for Large and Unbiased Dataset" // International Conference on Bangla Speech and Language Processing (ICBSLP). IEEE, 2018.

4. Nair, V. and Hinton, G. E. Rectified Linear Units Improve Restricted Boltzmann Machines. Proceedings of the 27th International Conference on Machine Learning (ICML-10). 2010.

5. D. Kingma, and J. Ba, "Adam: A method of stochastic optimization", arXiv:1412.6980 [cs.LG], 2015.

6. Cireçan, D. Multi-column deep neural network for traffic sign classification / D. Cireçan, U. Meier, J. Masci, J. Schmidhuber // Proceedings of IEEE International Joint Conference on Neural Networks. - 2012. - Vol. 32. - P. 333-338.

7. LeCun, Y., Bottou, L., Bengio, Y., & Hafer, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86, 2278 - 2324.

8. Ciresan, D. C., Meier, U., Masci, J., Gambardella, L. M., & Schmidhuber, J. (2011b). Flexible, high performance convolutional neural networks for image classification. In International Joint Conference on Artificial Intelligence (pp. 1237-1242). AAAI Press.

i Надоели баннеры? Вы всегда можете отключить рекламу.