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

DOI: 10.12731/2227-930X-2021-11-1-87-98 УДК 004.93

разработка системы ДЛЯ АНАЛИЗА и разгрузки дорожного трафика с применением искусственного интелекта

Ахметов Л.М., Биков Д.И., Хамидуллин М.Р.

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

Цель - разработка системы для анализа и разгрузки дорожного трафика для улучшения ситуации на перекрестках, автоматизация путём внедрения искусственного интеллекта, сборка рабочего макета светофора на базе Arduino.

Метод или методология проведения работы: в статье рассмотрен проект по анализу, отслеживанию и разгрузке транспорта на перекрестках.

Результаты: собран макет светофора на базе микроконтроллера Arduino UNO и разработана нейронная сеть для анализа и разгрузки дорожного трафика в реальном времени на языке программирования Python.

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

Ключевые слова: Светофор, Дорожное движение; Arduino; Автоматизация; Анализ; Нейронная сеть; Python

DEVELOPMENT OF A SYSTEM FOR ANALYZING AND ÜNLOADING ROAD TRAFFIC using ARTIFICIAL INTELLIGENCE

Akhmetov L.M., Bikov D.I., Khamidullin M.R.

Every year the growth rate of cars in Russia will continue to grow, which will complicate the organization of road traffic. Therefore, in-

novations in the automotive industry, such as smart traffic lights, are needed to regulate traffic more efficiently.

Purpose - development of a system for analyzing and unloading road traffic to improve the situation at intersections, automating road traffic by introducing artificial intelligence, assembling a working model of a traffic light based on Arduino.

Method or methodology of work: the article considers a project to analyze and track and unload vehicles at an intersection.

Results: a mock-up of a traffic light based on an Arduino UNO microcontroller was assembled and a neural network was developed for analyzing and unloading road traffic in real time in Python.

Scope of the results: the results obtained should be applied to the most congested road sections.

Keywords: Traffic light, Road traffic; Arduino; Automation; Analysis; Neural network; Python

Введение

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

Разработка системы анализа и разгрузки дорожного трафика направлена на отслеживание количества транспорта в реальном времени и взаимодействия со светофором с использования компьютера [10].

Принцип функционирования системы заключается в том, что через камеры предобученная нейронная сеть распознает транспортные средства и анализирует их. В зависимости от количества транспорта на каждой стороне дороги, светофор меняет цвет [6]. Например, если в одной стороне дороги находится 6 машин, а в другой 2, то таймер светофора выставится на 20 секунд. Длительность зависит от соотношения объектов на дороге [9].

Материалы и методы

Макет светофора собран на Arduino UNO - это плата микроконтроллера на базе ATmega328P [1]. Основные характеристики Arduino UNO, представлены в таблице 1.

Таблица 1.

Основные характеристики платформы

Микропроцессор ATmega328

Рабочее напряжение 5 В

Входное напряжение(рекомендуемое) 7-12 В

Входное напряжение (приемлемое) 6-20 В

Цифровые Входы/Выходы 14

Аналоговые входы 6

Постоянный ток через вход/выход 40мА

Постоянный ток для вывода 3.3В 50мА

Флеш-память 32Кб

ОЗУ 2Кб

EEPROM 1 Кб

Тактовая частота 16Мгц

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

Иллюстрация макета светофора приведена ниже на рисунках 1, 2. Макет состоит из:

1) 6 светодиодов

2) 6 резисторов на 220 ОМ

Для начала работы программы необходимо 2 веб-камеры, компьютер и подключение платы АМшпо в СОМ-порт, последующим включением самой программы [3].

рис. 1. Схема подключения макета светофора

рис. 2. Иллюстрация макета вид сбоку

Механизм работы светофора:

• Красный;

• Красный + желтый;

• Зеленый;

• Желтый;

• Повторение.

Программная реализация светофора в среде Arduino IDE (рис 3).

Рис. 3. Пример скетча Arduino работы светофора

Для создания десктопного приложения использовались следующие библиотеки Python [12]:

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

ImageAI - библиотека для прогнозирования изображений, обнаружения и отслеживания видеообъектов.

PyQt5 - библиотека для разработки пользовательского интерфейса приложения.

PySerial - библиотека для работы с COM-портами, используется для связи микроконтроллера Arduino UNO с Python [13].

результаты

Разберем основные достоинства и интерфейс программы:

1) Возможности

2) Интуитивность

рис. 4. Интерфейс

while camera.isOpened(): count_cars_right=e

self. tiiie_righ t. set Text (st r (round (t i me r -1 ime. t ii»e()))) retj frame = camera.readQ

ret2, frai№2 = cantera2.read

if start-finish>=2:|

custom = detector.CustomObjects

_,array_detection=detector.detectCM5to»i0b]ect5Frx«iIinage(custo«i_object5=custo«i, input_image=frame, input_type="array",output_type="array", minimun_percentage_proba

finish=time.tine

print

^array detectionisdetector.detectCustomObjectsFronIiiageicustaB objectsscusto«, input_image=frame2, input_type="array",output_type="array", miiunum_percentage_pro print

for obj in array_detection:

if obj["nane"] in ["cell phone",,"truck","car","bottle","motorcycle","person"]:

count_cars_right+=l coord=obj["box_points']

cv2.rectangle

cv2.putText

for obj in array_detection2:

if obj["nane"] in ["cell phone","truck","car","bottle","motorcycle","person"]:

coord=obj["box_points']

cv2.rectangle

cv2.putText(frame2,obj["name"], (coord[e], coord[i]-6), cv2.font_hershey_duplex, l.e, (255,255,255),l) if self.caml_activate==True:

cv2. inshow("Top eamera ", frame?) if self.cam2_activate==True:

cv2.imshow

Рис. 5. Код для обнаружения автомобилей на дороге

Рис. 6. Пример демонстрации объекта

Распознавание автомобилей на дороге происходит при помощи инструментов библиотеки ImageAI и заранее обученной модели «yolo.h5» [5]. Программа в каждой итерации цикла while проверяет изображение, полученное с веб-камер при помощи библиотеки OpenCV и сравнивает полученные объекты с заранее обученными

моделями yolo [14]. Если модели совпадают, программа сохраняет позиции x и у распознанного объекта и рисует вокруг него прямоугольник (Рис 5).

После всех манипуляций скрипта, обработанное изображение демонстрируется на экран при помощи функции imshow (рис 6).

Выводы

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

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

Список литературы

1. Акмаров П.Б. Кодирование и защита информации : учебное пособие. Ижевск: Ижевская ГСХА, 2016. 136 с. https://e.lanbook.com/ book/133975 (дата обращения: 28.02.2020).

2. Богачёв К.Ю. Основы параллельного программирования. 3-е изд. (эл.). Москва: БИНОМ. Лаборатория знаний, 2015. 345 с. https://ibooks.ru/reading.php?productid=350082 (дата обращения: 28.02.2020).

3. Гарибов А.И. Основы разработки приложений для мобильных устройств на платформе Windows Phone : учебное пособие. 2-е изд. Москва: ИНТУИТ, 2016. 459 с. https://e.lanbook.com/book/100344 (дата обращения: 28.02.2020).

4. Иванова Г.С. Технология программирования : учебник. М.: КНО-РУС, 2011. 336 с.

5. Подбельский В.В. Язык декларативного программирования XAML. Москва: ДМК Пресс, 2018. 336 с. https://elanbook.com/ book/111428 (дата обращения: 28.02.2020).

6. Пономаренко В.И., Караваев А.С. Использование платформы Arduino в измерениях и физическом эксперименте // Известия Вузов. ПНД. 2014. Т. 22, №4. С. 77-90.

7. Рудинский И.Д. Технология проектирования автоматизированных систем обработки информации и управления. Москва: Горячая линия-Телеком, 2011. 304 с. https://elanbook.com/book/5191 (дата обращения: 28.02.2020).

8. Соколова В.В. Разработка мобильных приложений : учебное пособие. Томск: ТПУ, 2014. 176 с. https://elanbook.com/book/82830 (дата обращения: 28.02.2020).

9. Тугов В.В. Проектирование автоматизированных систем управления : учебное пособие / В.В. Тугов, А.И. Сергеев, Н.С. Шаров. Санкт-Петербург: Лань, 2019. 172 с. https://elanbook.com/ book/123695 (дата обращения: 28.02.2020).

10. Чикалов А.Н. Схемотехника телекоммуникационных устройств: Учебное пособие для вузов : учеб. пособие / А.Н. Чикалов, С.В. Соколов, Е.В. Титов. Москва: Горячая линия-Телеком, 2016. 322 с. https://elanbook.com/book/94634

11. Шаньгин В.Ф. Защита информации в компьютерных системах и сетях : учеб. пособие. Москва: ДМК Пресс, 2012. 592 с. https://e. lanbook.com/book/3032

12. Шандров Б.В. Технические средства автоматизации: учебник / Б. В. Шандров, А. Д. Чудаков. М.: ИЦ «Академия», 2007. 368 с.

13. Шишмарёв В.Ю. Основы автоматического управления: учебное пособие. М.: Академия, 2008. 352 с.

14. Khamidullin M.R., Mardanshin R.G., Prozorov A.V., Karimov R.I. The Introduction of QR-Codes in Production Processes // Journal of Environmental Treatment Techniques. 2019, Special Issue on Environment, Management and Economy. P. 1097-1100.

15. Isavnin A.G., Khamidullin M.R. Determining of total expenses for the objective of equipment replacement // Life Science Journal. 2014. №11 (6). P. 704-706.

References

1. Akmarov P.B. Kodirovanie i zashchita informatsii [Coding and protection of information]. Izhevsk: Izhevskaya GSKhA, 2016, 136 p. https://elanbook.com/book/133975

2. Bogachev K.Yu. Osnovy parallel'nogo programmirovaniya [Fundamentals of Parallel Programming]. Moscow: BINOM. Labora-toriya znaniy, 2015, 345 p. https://ibooks.ru/reading.php?produc-tid=350082

3. Garibov A.I. Osnovy razrabotkiprilozheniy dlya mobil'nykh ustroystv naplatforme Windows Phone [Windows Phone Mobile App Development Fundamentals]. Moscow: INTUIT, 2016, 459 p. https://e.lanbook. com/book/100344

4. Ivanova G.S. Tekhnologiya programmirovaniya [Programming technology]. M.: KNORUS, 2011. 336 p.

5. Podbel'skiy V.V. Yazyk deklarativnogo programmirovaniya XAML [XAML declarative programming language]. Moscow: DMK Press, 2018, 336 p. https://elanbook.com/book/111428

6. Ponomarenko V.I., Karavaev A.S. Ispol'zovanie platformy Arduino v izmereniyakh i fizicheskom eksperimente [Using the Arduino platform in measurements and physical experiment]. Izvestiya Vuzov. PND, 2014, vol. 22, no. 4, pp. 77-90.

7. Rudinskiy I.D. Tekhnologiya proektirovaniya avtomatizirovannykh sistem obrabotki informatsii i upravleniya [Design technology for automated information processing and control systems]. Moscow: Goryachaya liniya-Telekom, 2011, 304 p. https://elanbook.com/ book/5191

8. Sokolova V.V. Razrabotka mobil'nykh prilozheniy [Development of mobile applications]. Tomsk: TPU, 2014, 176 p. https://elanbook.com/ book/82830

9. Tugov V.V., Sergeev A.I., Sharov N.S. Proektirovanie avtomatiziro-vannykh sistem upravleniya [Design of automated control systems]. Sankt-Peterburg: Lan, 2019, 172 p. https://elanbook.com/book/123695

10. Chikalov A.N., Sokolov S.V., Titov E.V. Skhemotekhnika telekommu-nikatsionnykh ustroystv: Uchebnoe posobie dlya vuzov [Circuitry of

telecommunication devices]. Moscow: Goryachaya liniya-Telekom, 2016, 322 p. https://elanbook.com/book/94634

11. Shan'gin V.F. Zashchita informatsii v komp'yuternykh sistemakh i setyakh [Information protection in computer systems and networks]. Moscow: DMK Press, 2012, 592 p. https://elanbook.com/ book/3032

12. Shandrov B.V., Chudakov A. D. Tekhnicheskie sredstva avtomatizatsii [Technical means of automation]. M.: ITs "Akademiya", 2007, 368 p.

13. Shishmarev V.Yu. Osnovy avtomaticheskogo upravleniya [Fundamentals of automatic control]. Moscow: Akademiya, 2008, 352 p.

14. Khamidullin M.R., Mardanshin R.G., Prozorov A.V., Karimov R.I. The Introduction of QR-Codes in Production Processes. Journal of Environmental Treatment Techniques. 2019, Special Issue on Environment, Management and Economy, pp. 1097-1100.

15. Isavnin A.G., Khamidullin M.R. Determining of total expenses for the objective of equipment replacement. Life Science Journal, 2014, no. 11 (6), pp. 704-706.

данные об авторах

Ахметов Линар Марселевич, студент

Набережночелнинский филиал Казанского национального исследовательского технического университета им.А.Н. Туполева

Академика Королева, 1, г. Набережные Челны, 423814, Российская Федерация diobrandmayer@gmail.com

Биков Данир Инсафович, студент

Набережночелнинский филиал Казанского национального исследовательского технического университета им.А.Н. Туполева

Академика Королева, 1, г. Набережные Челны, 423814, Российская Федерация danir. bikov@gmail.com

Хамидуллин Марат раисович, доцент, кандидат экономических наук

Набережночелнинский филиал Казанского национального исследовательского технического университета им.А.Н. Туполева

Академика Королева, 1, г. Набережные Челны, 423814, Российская Федерация nayka_prom@mail.ru

DATA ABOuT THE AuTHORS Linar M. Akhmetov, student

Kazan National Research Technical University, Branch in Naberezhnye Chelny

1, Akademik Korolev Str., Naberezhnye Chelny, 423814, Russian Federation

diobrandmayer@gmail.com

Danir I. Bikov, student

Kazan National Research Technical University, Branch in Naberezhnye Chelny

1, Akademik Korolev Str., Naberezhnye Chelny, 423814, Russian Federation

danir. bikov@gmail.com

Marat R. Khamidullin, PhD in Economics

Kazan National Research Technical University, Branch in Naberezhnye Chelny

1, Akademik Korolev Str., Naberezhnye Chelny, 423814, Russian

Federation

nayka_prom@mail.ru

ORCID: 0000-0002-3326-0955