Введение 4
1 Актуальность и обзор аналогов 6
2 Выбор комплектующих 9
2.1 Выбор одноплатного компьютера 9
2.2 Выбор камеры 11
3 Разработка структурной схемы 15
4 Разработка электрической схемы 17
4.1 Подключение вентилятора 18
4.2 Подключение камеры 19
4.3 Подключение Raspberry Pi к Arduino UNO 20
4.4 Электрическая схема разрабатываемого устройства 25
5 Выбор инструментов 27
5.1 Язык программирования Python 27
5.2 Библиотека компьютерного зрения OpenCV 30
5.3 Библиотека NumPy 32
6 Алгоритм распознавания образов 36
6.1 Цветовое пространство HSV 36
6.2 Операции математической морфологии 39
6.3 Выделение контуров 43
6.4 ROI 44
7 Программная часть 45
7.1 Блок-схема алгоритма 46
8 Результаты экспериментальных испытаний 51
8.1 Влияние освещения на качество распознавания дорожных знаков 53
9 Безопасность и экологичность проекта 55
10 Экономический расчет 57
Заключение 58
Список используемой литературы 60
Компьютеры справляются со многими задачами гораздо лучше, чем человек. К примеру, их преимущество в работе с числами неоспоримо. Однако такая простая задача, как обнаружение на картинке привычных для нас объектов - домов или деревьев, может поставить машину в тупик. Это объясняется тем, что человек учится распознавать объекты всю жизнь и основывается на воспоминаниях о том или ином свойстве предмета. Машины же в свою очередь создавались для того, чтобы работать с числами.
Необходимость наделить машины зрением возникла относительно недавно. На сегодняшний день роботизированные системы успешно справляются с задачами, связанными со способностью «видеть» и интерпретировать увиденное. Они умеют считывать штрихкоды на товарах в супермаркете, распознавать номерные знаки автомобилей, анализировать записи с камер наблюдения и даже находить лица людей на фото. Таким образом, под компьютерным зрением понимается набор методов, позволяющих компьютерам видеть и извлекать информацию из изображений [1].
В настоящее время развитие робототехники во многом зависит от успеха в области компьютерного зрения. Сферы его применения довольно обширны: от промышленных средств наблюдения и мониторинга до автономных систем, принимающих решения на основе анализа полученной видеоинформации. Компьютерное зрение так же служит средством преобразования реальных трехмерных объектов в двумерные или одномерные. В результате такой операции компьютер может восстановить информацию об окружающем мире. Распознавание представляет собой процесс, который присваивает некоторому объекту идентификатор на основании его описателей (например, «здание» или «машина») [2].
В мире искусственного интеллекта и совершенствования технологий многие исследователи и крупные компании, такие как Tesla, Uber, Google, Mercedes-Benz, Toyota, Ford, Audi и т. д., работают над автономными транспортными средствами и автомобилями с автоматическим управлением. На сегодняшний день проблемы безопасности дорожного движения в значительной степени вызваны субъективными причинами, связанными с водителем: невнимательностью, неправильным управлением автомобилем и несоблюдением правил дорожного движения. Разработка умных систем для автомобилей стала бы эффективным средством устранения этих человеческих факторов.
Следующей сферой применения системы распознавания знаков является складская логистика, а именно внутрискладское перемещение груза. Эффективное функционирование складов в системе логистики, независимо от их назначения и вида деятельности, возможно лишь при решении проблем, с которыми сталкиваются при создании складского хозяйства и рационализации действующих складов. К таким проблемам можно отнести разработку системы складирования [3].
Для достижения точности в этой технологии, транспортные средства и складские грузоперевозчики должны иметь возможность корректно интерпретировать визуальные данные и по полученной информации принимать соответствующие решения.
В рамках выпускной квалификационной работы предполагается разработка программного и аппаратного обеспечения для распознавания дорожных знаков, встроенная в систему поиска пути мобильного робота.
В рамках выполнения выпускной квалификационной работы была создана система распознавания дорожных знаков. Данная система внедрена в систему поиска пути мобильного робота. Готовый комплексный проект представляет собой движение мобильного робота в соответствии с дорожными знаками.
В первом разделе проанализированы аналоги, находящие свое применения в системах управления автомобилей и внутрискладских перемещениях грузов, отмечены их недостатки и отмечена актуальность разработки подобных систем.
Второй раздел посвящен выбору комплектующих для выполнения выпускной квалификационной работы. Обоснован выбор каждого элемента системы.
В третьем разделе представлены структурная схема разрабатываемого устройства и перечень всех используемых элементов.
В четвертом разделе была разработана схема электрическая соединений. Представлены схемы подключения вентилятора и модуля камеры к одноплатному компьютеру Raspberry Pi. Реализована аппаратная и программная связь одноплатного компьютера Raspberry Pi с микроконтроллером Arduino UNO.
В пятом разделе выбран необходимый инструментарий, изучены особенности его применения. Отмечаются преимущества использования языка программирования Python, библиотеки компьютерного зрения OpenCV и библиотеки NumPy в рамках выполнения выпускной квалификационной работы.
В шестом разделе описан метод распознавания знаков на основе поиска объекта по цвету через цветовое пространство HSV, отмечено его преимущество перед остальными методами. Приводятся основные операции для удаления шумов с изображения, метод выделения контуров и интересующей области на изображении с помощью библиотеки компьютерного зрения OpenCV.
В седьмом разделе составлены блок-схемы алгоритма основных функций программы. Реализован алгоритм распознавания дорожных знаков.
В восьмом разделе представлены результаты обнаружения дорожных знаков с помощью написанной программы. Исследовано влияние негативных факторов, снижающих эффективность системы.
В девятом разделе определены меры техники безопасности при выполнении выпускной квалификационной работы.
В десятом разделе приведен экономический расчет разрабатываемого устройства.
Таким образом, результатом выполнения выпускной квалификационной работы является исправно работающая система распознавания дорожных знаков, внедренная в систему поиска пути мобильного робота.
1. Л. Шапиро, Дж. Стокман. Компьютерное зрение = Computer Vision. — М.: Бином. Лаборатория знаний, 2006. — 752 с. — ISBN 5-94774-384-1.
2. E.R. Davies. Machine Vision : Theory, Algorithms, Practicalities. — Morgan Kaufmann, 2004.
3. Савенкова, Татьяна Ивановна. Логистика : учеб. пособие / Т. И. Савенкова. — 2-е изд., стер. — Москва : Издательство «Омега-Л», 2007. — 256 с.
4. Amazon Warehouses Upgraded With Computer Vision Technology [Электронный ресурс]. URL: https://www.scommerce.com/amazon-warehouses- upgraded-with-computer-vision-technology/
5. Роботы Amazon справляются со своими задачами в 4 раза быстрее человека [Электронный ресурс]. URL: https://habr.com/ru/post/395161/
6. Raspberry Pi 2 Model B Review [Электронный ресурс]. URL: https://www.pcmag.com/reviews/raspberry-pi-2-model-b
7. Raspberry Pi Camera Module Review and Tutorial Guide [Электронный ресурс]. URL: https://www.tweaktown.com/guides/5617/raspberry-pi-camera- module-review-and-tutorial-guide/index.html
8. Петин В. А. Микрокомпьютеры Raspberry Pi. Практическое руководство. — СПб.: БХВ-Петербург, 2015. — 240 с.: ил. — (Электроника) ISBN 978-5-9775-3519-9
9. Serial Communication [Электронный ресурс]. URL: https://learn.sparkfun.com/tutorials/serial-communication/all
10. Распиновка разъемов GPIO, DSI, CSI, 3.5 аудио/видео, I2S, тестовых точек в RaspberryPi [Электронный ресурс]. URL: https://pcminipro.ru/stati/raspinovka-razemov-gpio-dsi-csi-3-5-audio-video-i2s- testovyh-tochek-v-raspberrypi/
11. Коэльё Л. П., Ричерт В. Построение систем машинного обучения на языке Python. — Перевод с английского. — М.: ДМК Пресс, 2015. — с. —
ISBN 978-5-9706-0330-7.
12. Top 7 Programming Languages Of 2020 Review [Электронный ресурс]. URL: https: //www.codingdoj o. com/blog/top-7-programming-languages- of-2020
13. Кэлер А., Брэдски Г. Изучаем OpenCV 3. Разработка программ компьютерного зрения на C++ с применением библиотеки OpenCV. - Издательство "ДМК Пресс", 2017. - ISBN 978-5-97060-471-7.
14. Gary Bradski, Adrian Kaehler. Learning OpenCV. - O'Reilly Media, 2008. - ISBN: 9780596516130
15. Quickstart tutorial [Электронный ресурс URL:
https://numpy.org/doc/1.18/user/quickstart.html
16. В.Т. Фисенко, Т.Ю. Фисенко. Компьютерная обработка и распознавание изображений: учеб. пособие. - СПб: СПбГУ ИТМО, 2008. - 192 с.
17. Python, Машинное зрение, OpenCV. Часть 1 [Электронный ресурс]. URL: https://линуксблог.рф/python-mashinnoe-zrenie-opencv-chast-1/
18. Berthold K.P. Horn. Robot Vision. — MIT Press, 1986. — ISBN 0-262-08159-8(Б.К.П. Хорн, Зрение роботов: перевод с англ. — М.: Мир, 1989).
19. E. R. DAVIES. Computer and Machine Vision: Theory, Algorithms, Practicalities- Elsevier, 2012. - ISBN: 978-0-12-386908-1
20. Ron Brinkmann (1999). The Art and Science of Digital Compositing. Morgan Kaufmann. pp. 184. ISBN 978-0-12-133960-9.
21. Д. Форсайт, Ж. Понс. Компьютерное зрение. Современный подход = Computer Vision: A Modern Approach. — М.: «Вильямс», 2004. — 928 с. — ISBN 5-8459-0542-7.
22. Розанов В.С. Безопасность жизнедеятельности.
Электробезопасность. М., МИРЭА, 1999 г.
23. ГОСТ 12.1.009 - 76. Электробезопасность. Термины и определения. Введ. 01.01.77
24. Гигиенические требования к естественному, искусственному и
совмещенному освещению жилых и общественных зданий // tehlit : Техническая литература. 2015. URL:
http://www.tehlit.rU/1lib_norma_doc/11/11776/index.htm/
25. ГОСТ 12.1.002-84 Система стандартов безопасности труда (ССБТ). Введ. 1986-01-01