Моделирование и реализация процесса распознавания знаков дорожного движения при определении ситуации на дороге с помощью искусственных нейронных сетей
В.А. Евсина, С.Н. Широбокова, В.А. Жжонов, В.А. Евсин
Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, Новочеркасск
Аннотация: В данной статье рассматривается проблематика определения знаков дорожного движения для управления автотранспортным средством с использованием аппарата искусственной нейронной сети. Описана актуальность исследований на данный момент времени, а также преимущества использования нейронных сетей при определении знаков дорожного движения. Представлены входные данные при определении знаков дорожного движения для сверточных нейронных сетей. Сформирована архитектура сверточной нейронной сети классификации, в частности, рассматривается последовательность слоев сети классификации изображений. Дано математическое описание моделирования функции ошибки и метода стохастического градиентного спуска. Представлена математическая модель процесса обучения искусственной нейронной сети, а также функций активации: линейной функции и сигмоиды. Предложен алгоритм формирования модели искусственной нейронной сети. Визуализирован на графике процесс обучения данной функции. Представлен результат обучения. Ключевые слова: искусственные нейронные сети, классификация, сверточные нейронные сети, deep learning, big data, математическое моделирование, информатика.
В настоящее время стремительное развитие получила система управления беспилотными автотранспортными средствами, которые полностью исключают участие человека в его вождении. Беспилотный автомобиль должен знать маршрут, понимать окружающую обстановку и корректно взаимодействовать с пешеходами. Одной из задач при управлении беспилотным автомобилем является создание системы распознавания дорожных знаков. Для решения данной задачи лучше всего подходит аппарат искусственных нейронных сетей для классификации изображений (далее ИНС). Примеры обработки изображений с использованием ИНС представлены в [1,2].
При определении ситуации на дороге, в частности - определении знаков дорожного движения, ИНС имеют весомые преимущества по сравнению с алгоритмическим подходом к решению задачи. Они способны
организовывать свои структурные компоненты таким образом, чтобы они решали задачу определения дорожных знаков во много раз быстрее за счет возможности распараллеливания процессов. Также, ИНС способны адаптироваться к изменению окружающей среды, что является преимуществом при определении автопилотом ситуации на дороге и определении знаков дорожного движения. Появляется возможность определять объекты в условиях плохой видимости, размытости и нечеткости изображения. ИНС определения дорожных знаков представляет собой нейронную сеть, относящую знак дорожного движения к одному из классов дорожного знака. Входными данными для определения дорожного знака является множество изображений знаков дорожного движения. ИНС по представленному изображению определяет класс дорожного знака и степень уверенности, находящаяся в диапазоне [0,1] в том, что знак относится к данному классу. Для решения подобной задачи была выбрана сверточная нейронная сеть классификации изображений, подробнее о которой в [3-5].
Архитектура сверточной ИНС представляет собой упорядоченный набор слоев, который относит изображение к определенному классу. Архитектура сверточной нейронной сети представлена на рисунке 1.
„ „ „ „ Слой классов
_ „ „ „ Слой макс „ „ Слой макс
Входной слой Слой свертки Слой свертки дорожных
пула пула
знаков
Рис. 1. - Архитектура сверточных ИНС для определения знаков дорожного
движения
В качестве функции ошибки данной модели используется мультиклассовая кросс-энтропия, которая измеряет расхождение между двумя вероятностными распределениями: распределением истинных ответов
и
и распределением предсказанных моделью значении, которые получаются на выходе неИронноИ сети, а именно:
output size
Loss = - ^ V,-logy,,
i=1
где yi — это i -e предсказанное значение, yt — это соответствующее
истинное значение, output size - это количество классов на выходном слое модели. Подробнее о кросс-энтропии в [6,7]. В качестве модели оптимизации используется метод стохастического градиентного спуска для неИронноИ сети, в котороИ определено m слоев неИронов, с ^-нейронов в каждом слое.
sfi\n) = t Wj(k\n)* Xj(kXn\
j=0
У)( n) = f ( s (*)( n )), di Щп)-y (%), k = L
4
(к )=Ы+1 _
I I К{к+%}к+1Х к=1,1 -1'
_ т=1
где — значение ошибки на к + \ слое; Sj — сумма входных сигналов и
весов г-го нейрона; к — номер скрытого слоя нейронной сети; п— номер шага метода обратного распространения ошибки; Wj j — вес /-го сигнала для
/-го нейрона; / — функция активации; в/^ — ошибка г -го нейрона на к -м
скрытом слое нейронной сети; х^ — у-й входной сигнал; ¿//^ — значение,
которое необходимо получить на г'-м нейроне выходного слоя сети; у/^ — значение, которое получено на г'-м нейроне выходного слоя сети; Ь — выходной слой сети; т = \,Щ+1~ количество нейронов на к + \ слое;
и
- количество нейронов на слое к -1. Коррекция весов определяется следующим соотношением:
5, (к \п)=г, (к). /'(., <к)(«)), где в/^ — ошибка /-го нейрона на к-м скрытом слое нейронной сети, /номер нейрона, /'^/^(и)] — производная функции активации. Обновление весов имеет следующую формулу:
(*) (n +1) = wjk) (n ) + 2Vô(к) (n ) j, (n ),
где Wj +1) — обновленные веса в к-м слое нейронной сети; ï; — темп
заучивания; Wjj — вес /-го сигнала для /-го нейрона; 5/ — коррекция / -го
нейрона; п — номер шага метода обратного распространения ошибки; уj(n)
- выходной сигнал нейрона. В качестве функции активации сверточных
слоев используется активационная функция relu, которая позволяет получить неотрицательное значение на выходе нейрона, что важно при классификации изображений. Общая формула данной функции имеет следующую форму:
f (z ) = max(0, z ),
где z - выходное значение нейрона. В качестве функции активации модели используется функция softmax, которая принимает на вход вектор сигналов и приводит каждое значение вектора к интервалу от нуля до единицы. Общая формула данной функции имеет следующую форму:
K
Z ezk к=1
где г - выходное значение , -го нейрона, К - число классов данной модели.
M Инженерный вестник Дона, №4 (2022) ivdon.ru/ru/magazine/arcliive/n4y2022/7587
Подробнее о функциях активации в [8-10]. Итоговый алгоритм формирования ИНС представлен на рисунке 2.
Внесение данных
по обучению нейронной сети
Формирование модели обучения
Сохранение файла с обученной моделью
Формирование
модели с
последовательными
слоями нейронов
Слой свертки
Слой максимального пула
Слой свертки
Активационная функция relu
Слой максимального пула
Слой свертки
Активационная функция relu
Слой максимального пула
Активационная функция relu
Слой максимального пула
Слой преобразования 2D данных в 1D данные
Полносвязный слой
Активационная функция relu
Слой отключения 10% нейронов
Полносвязный слой с 46 нейронами
Активационная функция softmax
I Конец I
Рис. 2. - Алгоритмизация построения нейронной сети классификации для определения знаков дорожного движения Для реализации модуля использован фреймворк Tensorflow языка программирования Python. Модель была обучена на наборе изображений знаков дорожного движения, включающим различные погодные эффекты, а также различную степень размытости изображения.
Для оценки степени обученности модели используется значение точности ИНС. Данная величина является обратной к ошибке ИНС. Следовательно, при оценке необходимо следить за минимизацией ошибки, что будет означать максимизацию точности работы ИНС. Динамика изменения функции ошибки в процессе обучения представлена на рисунке 3.
М Инженерный вестник Дона, №4 (2022) i\'don.ru/ru/magazine/archive/n4y2022/7587
epochjoss
0.09 008 0.07 0.06 0.05 0.04 0.03 002 0.01 о —
0 5 10 15 20 25 30 35 40 45 50
Рис. 3. - Динамика изменений функции ошибки нейронной сети
классификации для определения знаков дорожного движения Тестовое изображение определения знака дорожного движения представлено на рисунке 4.
Ограничение скорости до 100 км/ч
Рис. 4. - Тестовое изображение нейронной сети классификации изображений
в условиях размытости изображения Таким образом проведено проектное моделирование и реализован модуль определения дорожных знаков, который может быть интегрирован в системы автоматического пилотирования транспортным средством.
Литература
1. Евсин В.А., Широбокова С.Н., Воробьев С.П., Евсина В.А. Моделирование и реализация модуля определения дорожного покрытия для автоматического управления транспортным средством с использованием нейронной сети U-NET // Инженерный вестник Дона, 2022, №1. URL: ivdon.ru/ru/magazine/archive/n1y2022/7424.
2. Белякова А.Ю., Беляков Ю.Д., Замятин П.С. Решение задачи распознавания объектов и инцидентов на фотоматериалах, полученных с беспилотных летательных аппаратов с использованием методов глубокого обучения // Инженерный вестник Дона, 2021, №5. URL: ivdon.ru/ru/magazine/archive/n5y2021/6985.
3. Хайкин С. Нейронные сети. Полный курс. 2 изд. М.: Издательский дом "Вильямс", 2006. 1104 с.
4. Николенко С., Кадурин А., Архангельская Е. Глубокое обучение. СПб.: Питер, 2018. 480 с.
5. Dean J. Big Data, Data Mining, and Machine Learning. Value Creation for Business Leaders and Practitioners. New Jersey: John Wiley & Sons Limited, 2014. 208 p.
6. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. М.: Горячая линия. Телеком, 2002. 382 с.
7. Kline D.M., Berardi V.L. Revisiting squared-error and cross-entropy functions for training neural network classifiers // Neural Comput and Applic,
2005, № 14. DOI: doi.org/10.1007/s00521-005-0467-y.
8. Аггарвал, Ч. Нейронные сети и глубокое обучение. М.: Диалектика, 2020. 752 c.
9. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. М.: Горячая линия - Телеком,
2006. 383 с.
10. Микеллучи У. Прикладное глубокое обучение. Подход к пониманию глубоких нейронных сетей на основе метода кейсов. СПб.: БХВ-Петербург, 2020. 368 с.
References
1. Evsin V.A., Evsina V.A., Shirobokova S.N., Prodan E.A. Inzenernyj vestnik Dona, 2022, №1. URL: ivdon.ru/ru/magazine/archive/n1y2022/7424.
2. Belyakova A.YU., Belyakov YU.D., Zamyatin P.S. Inzenernyj vestnik Dona, 2021, №5. URL: ivdon.ru/ru/magazine/archive/n5y2021/6985.
3. Hajkin S. Nejronnye seti. Polnyj kurs. [Neural networks. A Comprehensive Foundation]. 2 vol. M.: Williams Publishing House, 2006. 1104p.
4. Nikolenko S., Kadurin A., Arhangel'skaya E. Glubokoe obuchenie [Deep learning]. SPb.: Piter, 2018. 480p.
5. Dean J. Big Data, Data Mining, and Machine Learning. Value Creation for Business Leaders and Practitioners. New Jersey: John Wiley & Sons Limited, 2014. 208 p.
6. Kruglov V.V., Borisov V.V. Iskusstvennye nejronnye seti. Teorija i praktika. [Artificial neural network. Theory and practice.] M.: Hotline. Telekom, 2002. 382p.
7. Kline D.M., Berardi V.L. Neural Comput and Applic, 2005, № 14. DOI: doi.org/10.1007/s00521 -005-0467-y.
8. Aggarval, CH. Nejronnye seti i glubokoe obuchenie [Neural networks and deep learning]. M.: Dialektika, 2020. 752p.
9. Rutkovskaja D., Pilin'skij M., Rutkovskij L. Nejronnye seti, geneticheskie algoritmy i nechetkie sistemy. [Neural networks, genetic algorithms and fuzzy systems] M.: Gorjachaja linija. Telekom, 2006. 383 p.
10. Mikelluchi, U. Prikladnoe glubokoe obuchenie. Podhod k ponimaniyu glubokih nejronnyh setej na osnove metoda kejsov [Applied deep learning. An approach to understanding deep neural networks based on the case method]. SPb.: BHV-Peterburg, 2020. 368p.