Аннотация 2
Введение 5
1 Анализ применение свёрточных нейронных сетей для локализации и распознавания объектов на изображениях 7
1.1 Анализ алгоритмов машинного обучения 7
1.2 Анализ технологии искусственных нейронных сетей 10
1.3 Анализ технологии свёрточных нейронных сетей 23
2 Проектирование свёрточной нейронной сети для распознавания и локализации объектов на изображении 31
2.1 Базовая архитектура модели свёрточной нейронной сети 31
2.2 Дополнительные слои модели свёрточной нейронной сети 38
2.3 Получение предсказаний модели свёрточной нейронной сети 46
3 Реализация и тестирование свёрточной нейронной сети для локализации и распознавания объектов на изображениях 57
3.1 Реализация свёрточной нейронной сети 57
3.2 Тестирование свёрточной нейронной сети для распознавания и локализации объектов на изображениях 72
Заключение 81
Список используемых источников 83
Приложение А Исходный код реализованной модели нейронной сети 86
Обнаружение объектов является ключевой способностью систем компьютерного зрения классифицировать и локализовать различные объекты на изображениях и видео. Методы, которые используют системы компьютерного зрения для выполнения задачи обнаружения объектов, делятся на две обширные категории: традиционные методы и эволюционные методы [1]. Традиционные методы обнаружения объектов осуществляют обнаружение нескольких объектов на одном изображении, рассматривая такие признаки, как форма, текстура, цвет. С появлением таких подходов, как свёрточные нейронные сети (СНС) и глубокое обучение, множество объектов могут обнаруживаться на большом количестве изображений и видео. Методы, основанные на СНС и глубоком обучении, известны как эволюционные методы. Ключевая способность эволюционных методов заключается в том, что они могут быть использованы для обнаружения объектов в реальном времени и работать с большими наборами данных, содержащими миллионы изображений [2].
Целью бакалаврской работы является реализация алгоритма идентификации объектов на изображении для уточнения информации о возгораниях. На протяжении работы необходимо будет реализовать модель свёрточной нейронной сети способную распознавать и локализовывать объекты на изображениях, на которых запечатлены возгорания и пожары различного характера, а именно следующие объекты: люди, машины, автобусы и мотоциклы. Данные объекты обнаруживаются с целью уточнения информации о произошедшем возгорании для составления полной картины произошедшей чрезвычайной ситуации.
Для достижения поставленной цели необходимо выполнить следующие задачи:
• проанализировать применение свёрточных нейронных сетей для распознавания и локализации объектов на изображениях;
• разобрать базовую архитектуру свёрточных нейронных сетей;
• подобрать наиболее подходящую по точности и производительности модель свёрточной нейронной сети;
• реализовать выбранную модель;
• провести оценку реализованной модели;
• провести тестирование модели на различных изображениях.
Объектом исследования бакалаврской работы является процесс обнаружения объектов на изображении свёрточной нейронной сетью, предметом исследования - алгоритм идентификации объектов на изображении для уточнения информации о возгораниях.
Бакалаврская работа состоит из введения, трёх разделов, заключения и списка источников.
В первом разделе рассматриваются основы методов машинного обучения, производится анализ технологии искусственных нейронных сетей, после чего рассматриваются математические методы, структур и особенности свёрточных нейронных сетей. Во втором разделе описывается архитектура выбранной модели свёрточной нейронной сети. Разбираются её преимущества для решения поставленных задач. Рассматриваются применяемые методы, обеспечивающие точность и производительность. В третьем разделе объясняется выбор языка программирования и фреймворка для реализации модели. Описываются основные аспекты реализации и обучения модели. Проводится оценка точности работы модели и её тестирование.
Реализованная нейронная сеть может быть использована в системах беспилотного патрулирования местности с помощью летательных дронов для выявления чрезвычайных ситуаций. Получая изображения, на которых было распознано возгорание, сеть будет обнаруживать перечисленные ранее объекты, что позволит получить полную информацию о возгорании, которая поможет принять решение о необходимых средствах для скорейшей ликвидации чрезвычайного происшествия.
Выполненная бакалаврская работа посвящена реализации алгоритма идентификации объектов на изображении для уточнения информации о возгораниях. В качестве алгоритма была выбрана свёрточная нейронная сеть, которая должна обнаруживать объекты на изображениях, на которых запечатлены возгорания.
Для того чтобы достигнуть цели был выполнен ряд задач. Был проведен анализ технологии искусственных нейронных сетей, а затем свёрточных сетей. Всё это было сделано в рамках анализа применения СНС для локализации и распознавания объектов на изображениях. Также была разобрана базовая архитектура СНС.
Был произведен поиск подходящей для реализации модели СНС. И в качестве модели была выбрана Single Shot Multibox Detector (SSD), которая предназначена для обнаружения объектов на изображениях и обладает высокими показателями точности. После разбора архитектуры данной модели и всех применяемых в ней методах был осуществлен переход к реализации.
Был обоснован выбранный для реализации язык программирования Python и фреймворк PyTorch, их особенности, преимущества и предоставляемые инструменты. Была реализована и обучена свёрточная нейронная сеть. На вход данной сети подаются изображения: после процесса обнаружения объектов на выходе получаются исходные изображения с обнаруженными объектами, и оценка, выражающая степень уверенности сети. Полученная модель нейронной сети была оценена по точности обнаружения каждого класса объектов и была вычислена общая средняя точность. Было проведено тестирование сети на различных изображениях и показана её работоспособность. Данная работа продемонстрировала неограниченную возможность применения свёрточных нейронных сетей в области пожарной безопасности для автоматического уточнения информации о возгораниях.
1. Саймон Х. Нейронные сети: полный курс / Саймон Хайкин - Издательский дом Вильямс, 2006. - 1104 с.
2. An Intuitive Explanation of Convolutional Neural Networks, 2016 // Ujjwalkarn [Электронный ресурс]: сайт о нейронных сетях. URL:
https: //ujj walkarn.me/2016/08/11/intuitive-explanation-convnets/ (дата обращения 15.03.2020).
3. Banks D. Classification, Clustering, and Data Mining Applications: Proceedings of the Meeting of the International Federation of Classification / David Banks, Phipps Arabie - Springer-Verlag Berlin Heidelberg. - 2004.-Jul. -C 658.
4. Chen L. Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs / Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, Alan L. Yuille - Springer International Publishing. - 2015.-Jun. -C 14.
5. Hoiem D. Diagnosing error in object detectors / Derek Hoiem, Yodsawalai Chodpathumwan, Qieyun Dai - Springer International Publishing. - 2012.-Feb. -C 23.
6. Jason Brownlee. A Gentle Introduction to Exploding Gradients in Neural Networks, 2019 // Machine Learning Mastery [Электронный ресурс]: сайт с научными статьями. URL:
https://machinelearningmastery.com/exploding-gradients-in-neural-networks/ (дата обращения 05.04.2020).
7. Jayaraman B. Artificial Neural Networks - Theory and Applications / Jayaraman Balaji - Springer International Publishing. - 2017.-Sep. -C 54.
8. Jordi Torres. Learning process of a neural network, 2018 // Medium [Электронный ресурс]: сайт с научными статьями. URL:
https: //towardsdatascience. com/how-do-artificial-neural-networks-learn- 773e46399fc7 (дата обращения 15.03.2020).
9. Joshua H. Aircraft System Identification Using Artificial Neural Networks With Flight Test Data / Joshua Harris - Springer International Publishing. - 2016.-Jun. -C. 150.
10. Kaiming H. Deep residual learning for image recognition / Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun - IEEE. - 2016.-Jun. -C 78.
11. Kenton K. Aircraft System Identification Using Artificial Neural Networks / Kenton Kirkpatrick, Jim May Jr, John Valasekz - Springer International Publishing. - 2013.-Jan. -C 124.
12. Learning pytorch with examples // PyTorch [Электронный ресурс]: официальный сайт фреймворка PyTorch. URL:
https://pytorch.org/tutorials/beginner/pytorch with examples.html (дата обращения 25.03.2020).
13. Li W. Automatic Localization and Count of Agricultural Crop Pests Based on an Improved Deep Learning Pipeline / Li Wen, Chen Pen - Springer International Publishing. - 2019.-Sep. -C 114.
14. Liu W. SSD: Single Shot MultiBox Detector / Liu Wei, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy - Springer International Publishing. - 2016.-May. -C 90.
15. Mayank Jain. The Basics of Neural Networks, 2019 // Medium [Электронный ресурс]: cайт с научными статьями. URL:
https://medium.com/datadriveninvestor/the-basics-of-neural-networks- 304364b712dc (дата обращения 10.03.2020).
...