Введение 3
1 АНАЛИЗ СОСТОЯНИЯ ВОПРОСА 9
1.1 ПРОБЛЕМЫ РАЗВИТИЯ АЛГОРИТМОВ ГЛУБОКОГО ОБУЧЕНИЯ 9
1.2 Проблемы сверточнных нейронных сетей в задаче локализации
объектов 23
2 Разработка модели сверточнной нейронной сети для решения задачи классификации объектов на изображении 26
2.1 Формальное описание задачи локализации объектов на изображении 26
2.2 Моделирование нейронной сети для классификации изображений 27
2.3 Проблема переобучения и методики их решения 31
2.4 Выбор модели сверточнной нейронной сети для проведения
экспериментов 34
2.5 Результаты вычислительных экспериментов с применением сверточнных нейронных сетей 40
3 Программная реализация 49
3.1 Описание разработанного программного обеспечения 49
3.2 Алгоритм работы с приложением 50
3.3 Реализация модуля идентификации человека по лицу 56
Заключение 65
Список используемых источников 67
Глубокое обучение - это подмножество методов машинного обучения, области изучения и создания программных продуктов, алгоритмов, которые могут обучаться. Иногда с целью достичь уровня искусственного интеллекта.
Машинное обучение - это область компьютерных наук, в которой машины учатся решать задачи, для которых они не были запрограммированы непосредственно сами.
Глубокое обучение используется в промышленности для решения практических задач в самых разных областях, таких как компьютерное зрение (изображение, видео), обработка естественного языка (текст) и автоматическое распознавание речи. Глубокое обучение главным образом основано на применении искусственных нейронных сетей, которые представляют класс алгоритмов, имитирующих работу человеческих нейронных сетей. Главным преимуществом глубокого обучения над другими методами машинного обучения является высокая степень автоматизации нахождения признаков предметной области, то есть результат работы алгоритмов нейронных сети будет зависит главным образом от количества и качества данных на подаваемых на этапе обучения алгоритма. Это делает алгоритмы глубокого обучения универсальными, их можно обучить решать задачи на одном массиве данных, а также используя другой массив данных алгоритм сможет решать другого радо задачи. Машинное обучение является активно развивающейся областью и нейронные сети, которые входят в область машинного обучения являются актуальными для исследования.
Сверочные нейронные сети на сегодняшний момент являются лучшим способом автоматизации задач, которые требует участия человека, либо проектированием и разработкой алгоритмов сложный программных модулей, которые требует больших затрат.
В области машинного обучения существует отдельное семейство методов глубокого обучения, разделенный на несколько алгоритмов. Сверточнные нейронные сети проектировались изначально, как сети для классификации изображений, но потом было выяснено, что они могет справляться и с другими задачами Машиного обучения, начиная от локализации объекта, заканчивая предсказанием последовательности текста. Сверточнные нейронные сети получили свою популярность, благодаря того, что они способны рассматривать совокупность признаков на изображении, в отличии от персептрона, где, каждый нейрон пытается рассматривать свой пиксель, и из-за этого теряется пространство изображения. Все виды нейронный сетей представлено на рисунке 1.2.
Гипотезой исследования является предположение, что используя методы свёрточнных нейронных сетей, можно научить алгоритм автоматизировать задачу локализации объектов на изображении, без разработки сложных алгоритмов.
Объектом исследования являются локализация объектов на изображении, предметом исследования - разработка алгоритма для локализации объектов на изображении с использованием свёрточнных нейронных сетей.
Цель исследования - использование алгоритма сверточнных нейронных сетей, для автоматизации задачи по локализации объектов на изображении.
Цель исследования выполняется решением задач, перечисленных ниже:
1. Анализ вопроса темы магистерской дисертации.
2. Разработка математической модели для локализации объектов на изображении (при анализе данных с помощью алгоритма сверточнных нейронных сетей).
3. Проектирование и разработка математической модели данного метода для оценки эффективности задачи на практике.
4. Тестирование математической модели на практике. Получения выводов результата практических экспериментов.
Научная новизна исследования - доказано, что в машинном зрении точность локализации объектов на изображении и в реальном времени может быть увеличена с применением сверточнных нейронных сетей и увеличена скорость работы алгоритма с использованием графических процессоров для математических вычислений в работе алгоритма.
Практическая значимость работы заключается в разработке математической модели сверточнной нейронной сети для локализации объектов, что должно увеличить точность локализации машинного зрения и ускорения работы за счет использования графических процессоров в работе математической модели.
В первой главе исследования рассматриваются проблемы развития алгоритмов машинного обучения. Проблемы задачи машинного зрения. Проблемы работы нейронных сетей и глубокого обучения.
Во второй главе рассматривается формальное описание задачи моделирования сверточнной нейронной сети . Представлена математическая модель. Проблемы с переобучением, которые возникают при обучении на малых выборках и способы их решения. Выбор нейронной сети, которая способна решать максимально эффективно задачу локализации объектов и 7
выполнения требований под реализацию. Результаты экспериментов при реализации математической модели нейронной сети.
В третьей главе представлены результаты программного обеспечения. Спроектирована реализация математической модели локализации объектов на изображении и практическая польза, использую как модуль в задаче распознавания людей по лицу.
На защиту выносятся:
1. Математическая модель сверточнной нейронной сети, которая способна решать задачу локализации объектов.
2. Результаты практических реализаций научного исследования и программного обеспечения и практическая значимость в виде программы по идентификации людей по лицу.
По результатам проведенных исследований опубликовано 5 статей в сборниках:
Результаты исследований доложены на таких конференциях как:
• Всероссийская научно-практическая междисциплинарная конференция «Молодежь. Наука. Общество», г. Тольятти.
• V Международной научно-практической конференции (школы- семинара) молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и технических наук», г. Тольятти
• II выставки-конкурсе разработок СКБ/СНИЛ опорных вузов, г. Омск
По результатам проведенных исследований были сделаны следующие выводы:
1. Одно из направлений совершенствования методов машинного обучения является повышение их степени автоматизации за счет снижение участие людей в анализе данных.
2. На данный момент в машинном зрении сверточнные нейронные сети могут решат очень сложные задачи для информационных технологий, но решать могут с ограничениями, для требуемой задачи должен присутствовать датасет достаточный и полный для получения обученной модели, количество классов не должно представлять из себя все объекты реального мира, а должно ограничивается определенной группой, на сегодняшний день это от 10 до 1000 классов, чем больше классов, тем менее пригодна для использования может получится модель нейронной сети.
3. На практической реализации показано, что создание своего датасета является плохой идеей, гораздо лучше использовать существующей датасет и докинуть в него требуемые данные, или до обучить уже готовую нейронную сеть, используя второй вариант и выбрав готовую, хорошо обученную нейронную сеть можно получить высокие результаты в задачи классификации и локализации.
4. Было проведено научное исследование использование сверточнных нейронных сетей для локализации объектов в реальном времени, используя вычислительные мощности центрального процессора и графического процессора. Результаты исследования показали огромный рост производительности алгоритма с использованием графических процессоров в среднем в 10 раз.
5. Проведено реализация сверточнной нейронной сети в задачи сегментации и представлены результаты показывающие её практическое применение в машинном зрении на примере задачи идентификации и автоматической задачи выделении объекта на изображении.
6. Экспериментально показана значимость сравнений векторов с использованием Эвклидова расстояния для решения задачи идентификации лица для решения автоматической задачи.
7. Разработано приложение практического отображения задачи локализации объектов в реальном времени с использованием сверточнной нейронной сети и представлены результаты точности и использование ускорения работы алгоритма с использованием графических процессоров.
8. Научная новизна исследования - доказано что скорость работы алгоритма может быть увеличена в разы с использованием сверточнных нейронных сетей и графических процессоров, а также доказана что задача локализации является более точной, чем задача сегментации, хотя практически они решают похожие проблемы машинного зрения.
9. Практическая значимость работы заключается в разработке программного обеспечения с использованием сверточнных нейронных сетей для задачи локализации объектов на изображении и создание программного продукта для использования практического опыта в решении более сложных задача, например, в решении задачи идентификации лиц людей, выделения классов на изображении или выявлений признаков у этих объектов, как настроение у людей, жесты.
1. Fast image scanning with deep max-pooling convolutional neural networks. [Текст] / A. Giusti, D. C. Cires J. Masci, L. M. Gambardella, and J. Schmidhuber. — In ICIP, 2013.
2. Harley, A. W. “An Interactive Node-Link Visualization of Convolutional Neural Networks [Текст] — in ISVC, 2015
3. Hariharan B. Semantic contours from inverse detectors. [Текст] / P. Arbelaez, L. Bourdev, S. Maji, and J. Malik — In International Conference on Computer Vision (ICCV), 2011.
4. B. Hariharan, taneous detection and segmentation. [Текст] / P. Arbelaez, R. Girshick, J. Malik. Simul — In European Conference on Computer Vision (ECCV), 2014.
5. B. Hariharan, Hypercolumns for object segmentation and fine-grained localization [Текст] ./ P. Arbelaez, R. Girshick, J. Malik. — In Computer Vision and Pattern Recognition, 2015.
6. He K., Spatial pyramid pooling in deep convolutional networks for visual recognition. [Текст] / X. Zhang, S. Ren, and J. Sun. — In ECCV, 2014.
7. Caffe: Convolutional architecture for fast feature embedding. [Текст] / Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. — arXiv preprint arXiv:1408.5093, 2014.
8. Backpropagation applied to hand-written zip code recognition. [Текст] / Y. LeCun, B. Boser, J. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. — In Neural Computation, — 1989.
9. Backpropagation applied to hand-written zip code recognition. [Текст] / Y. LeCun, B. Boser, J. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. — In Neural Computation, 1989.
10. LeCun, Y. A. Efficient backprop. In Neural networks: Tricks of the trade. [Текст] / L. Bottou, G. B. Orr, and K.-R. Muller. — Springer, 1998.
11. Liu, C. Sift flow: Dense correspondence across scenes and its applications. Pattern Analysis and Machine Intelligence [Текст] / J. Yuen, and A. Torralba — IEEE Transactions on, 33(5):978-994, 2011.
12. Long J., Do convnets learn correspondence? [Текст] / N. Zhang, and T. Darrell. — In NIPS, 2014.
13. Long, J. Shelhamer, E. Darrell, T. Fully Convolutional Networks for Semantic Segmentation [Текст]/ UC Berkeley Chen, Z. Real-time transient stability status prediction using cost-sensitive extreme learning machine / Zhen Chen, Xianyong Xiao, Changsong Li, Yin Zhang, Qingquan Hu // Neural Computing and Applications. - 2016. - №27. - pp. 330-333
14. Blum, A. Special Issue on New Theoretical Challenges in Machine Learning / Avrim Blum, Philip M. Long // Algorithmica. - 2015. - №72. - pp. 191-192
15. Bing, L. Lifelong machine learning: a paradigm for continuous learning / Bing Liu // Machine learning. - 2016. - №3. - pp. 1-3.
16. Gunnemann, S. Machine Learning Meets Databases / Stephan Gunnemann // Datenbank-Spektrum. - 2017. - №17. - pp. 77-83
17. Langley, P. Research papers in machine learning / Pat Langley // Machine Learning. - 1987. - №2. - pp. 195-198
18. Abdolrazzaghi, M. Fast-forward solver for inhomogeneous media using machine learning methods: artificial neural network, support vector machine and fuzzy logic / Mohammad Abdolrazzaghi, Soheil Hashemy, Ali Abdolali // Neural Computing and Applications. - 2016. - №3. - pp. 1-9.
19. Carbonell, J. Machine Learning: A maturing field / Jaime Carbonell // Machine Learning. - 1992. - №9. - pp. 5-7.
20. Shen, Q. Decay-weighted extreme learning machine for balance and optimization learning / Qing Shen, Xiaojuan Ban, Ruoyi Liu, Yu Wang // Machine Vision and Applications. - 2017. - №3. - pp. 1-11.
21. Shen, Q. Decay-weighted extreme learning machine for balance and optimization learning / Qing Shen, Xiaojuan Ban, Ruoyi Liu, Yu Wang // Machine Vision and Applications. - 2017. - №3. - pp. 1-11.
22. Martin T Hagan, Howard B Demuth, Mark H Beale, Orlando De Jesus. Neural Network Design (2nd edition) // Martin Hagan; 2 edition. -2014. - pp. 150-200.
23. Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning (Adaptive Computation and Machine Learning series) // The MIT Press. - 2016. -pp. 700-710.
24. Raul Rojas. Neural Networks: A Systematic Introduction // Springer Berlin Heidelberg; 1 edition. -1996. -pp. 111-150.
25. Christopher M. Bishop. Pattern Recognition and Machine Learning (Information Science and Statistics) // Springer. -2006. -pp. 638-700.
26. Toby Segaran. Programming Collective Intelligence: Building Smart Web 2.0 Applications. // Shroff; First edition. -2011. -pp. 250-350.
27. Tariq Rashid. Make Your Own Neural Network // CreateSpace Independent Publishing Platform; 1 edition. -2016. -pp. 50-70.
28. Sebastian Raschka. Python Machine Learning, 1st Edition // Packt Publishing. -2015. -pp. 385-428.
29. Yaser S. Abu-Mostafa. Learning from data // AMLBook. -2012. -pp. 45-200.
30. Stuart Russell. Artificial Intelligence: Pearson New International Edition: A Modern Approach // Pearson; 3 edition. -2013. -pp. 800-1000.
31. Simon S Haykin. Neural Networks and Learning Machines (3rd Edition) // PHIL. -2010. -pp. 555-610
32. Aurelien Geron. Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems // O'Reilly Media; 1 edition. -2017. -pp. 320-405.
33. Sandhya Samarasinghe. Neural Networks for Applied Sciences and Engineering: From Fundamentals to Complex Pattern Recognition // Auerbach Publications; 1 edition. -2006. -pp. 200-300.
34. Amit Konar. Emotion Recognition: A Pattern Analysis Approach // Wiley; 1 edition. -2015. -pp. 460-550.
35. Francois Chollet. Deep Learning with Python // Manning
Publications; 1st edition. -2017. -pp. 113-180.
36. Richard S. Sutton. Reinforcement Learning: An Introduction (Adaptive Computation and Machine Learning series) // A Bradford Book; second edition. -2018. -pp. 350-370.
37. Anirudh Koul. Practical Deep Learning for Cloud, Mobile, and Edge: Real-World AI & Computer-Vision Projects Using Python, Keras & TensorFlow // O'Reilly Media; 1 edition. -2019. -pp. 570-600.
38. Andrew Trask. Grokking Deep Learning // Manning Publications; 1st edition. -2019. -pp. 115-200.
39. Andriy Burkov. The Hundred-Page Machine Learning Book // Andriy Burkov. -2019. -pp. 10-100.
40. Sandro Skansi. Introduction to Deep Learning: From Logical Calculus to Artificial Intelligence (Undergraduate Topics in Computer Science) // Springer; 1st edition. -2018. -pp. 25-90.
41. Christoph Molnar. Interpretable Machine Learning // lulu.com. -2020. -pp. 150-200.
42. E. R. Davies. Computer and Machine Vision: Theory, Algorithms, Practicalities // Academic Press; 4 edition. -2012. -pp. 700-900.
43. Simon J. D. Prince. Computer Vision: Models, Learning, and Inference // Cambridge University Press; 1 edition. -2012. -pp. 404-500.
44. Shai Shalev-Shwartz. Understanding Machine Learning: From Theory to Algorithms // Cambridge University Press; 1 edition. -2014. -pp. 350-400.
45. Joshua Bloch. Effective Java // Addison-Wesley Professional; 3 edition. -2018. -pp. 201-250.
46. Herbert Schildt. Java: The Complete Reference, Eleventh Edition // McGraw-Hill Education; 11 edition. -2018. -pp. 800-1100.
47. Cay S. Horstmann. Core Java Volume I--Fundamentals // Prentice Hall; 11 edition. -2018. -pp. 666-750.
48. Benjamin J. Evans. Java in a Nutshell: A Desktop Quick Reference // O'Reilly Media; 7 edition. -2019. -pp. 150-255.
49. Joel Murach. Murach's Java Programming // Mike Murach & Associates; 5 edition. -2017. -pp. 490-530.
50. Raoul-Gabriel Urma. Modern Java in Action: Lambdas, streams, functional and reactive programming // Manning Publications; 2nd edition. -2018. -pp. 340-400.
51. Julie Anderson. Java Illuminated // Jones & Bartlett Learning; 5 edition. -2018. -pp. 943-1150.
52. Гвоздецкий, Е.А. Система компьютерного зрения для
локализации объектов на изображениях / Е.А. Гвоздецкий [и др.] // сборник статей всероссийской научно-практической междисциплинарной
конференции «Молодежь. Наука. Общество» - Тольятти: - 2018. - №7 (31) - с. 119-122.
53. Гвоздецкий, Е.А. Использование свертоных нейронных сетей для
локализации объектов на изображении / Е.А. Гвоздецкий [и др.] // сборник статей всероссийской научно-практической междисциплинарной
конференции «Молодежь. Наука. Общество» - Тольятти - 2018. - с. 122-127.
54. Гвоздецкий, Е.А. СЕГМЕНТАЦИЯ ИЗОБРАЖЕНИЯ С
ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА K-MEANS / Е.А. Гвоздецкий [и др.] // сборник статей V Международной научно-практической конференции (школы-семинара) молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и
технических наук» - Тольятти - 2019. - с. 16-19.
55. Гвоздецкий, Е.А. КЛАСТЕРИЗАЦИЯ ИЗОБРАЖЕНИЯ НА ОСНОВЕ ОЦЕНКИ ГЕОМЕТРИЧЕСКОЙ ФОРМЫ ОБЪЕКТОВ / Е.А.
Гвоздецкий [и др.] // сборник статей V Международной научно-практической конференции (школы-семинара) молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и
технических наук» - Тольятти - 2019. - с. 502-506.
56. технических наук» - Тольятти - 2019. - с. 502-506.