Современные технологии компьютерного зрения и искусственного интеллекта нашли широкое применение в различных областях, в том числе в сфере безопасности. Одной из задач, которую можно решить с помощью этих технологий, является отслеживание и идентификация людей на публичных местах, таких как супермаркеты.
В данной выпускной квалификационной работе рассматривается разработка нейросетевого приложения для отслеживания лиц в супермаркете. В работе представлен анализ существующих алгоритмов для распознавания и отслеживания лиц, а также выбор наиболее эффективной нейронной сети для данной задачи.
Разработка данного приложения может иметь большое значение для обеспечения безопасности в супермаркетах, что является одной из актуальных проблем в современном мире.
Целью данной выпускной квалификационной работы является разработка нейросетевого приложения для распознавания лиц в супермаркете.
Задачи:
• Изучить основные подходы и структуры нейронных сетей, применяемых
для распознавания лиц на изображениях;
• Сформировать выборку;
• Построить структуру сверточных нейронных сетей;
• Обучить нейронную сеть;
• Провести тестирование приложения.
ВВЕДЕНИЕ ............................................................................................................ 4
1 ОСНОВНЫЕ СВЕДЕНИЯ О НЕЙРОСЕТЕВЫХ АЛГОРИТМАХ ................. 5
1.1 Нейронные сети .............................................................................................. 5
1.2 Обучение нейронных сетей с учителем ....................................................... 12
1.3 Библиотека OpenCV .................................................................................... 17
2 ВЫБОР МЕТОДА РАСПОЗНАВАНИЯ ЛИЦ И ЕГО ОБОСНОВАНИЕ...... 22
2.1 Сиамские нейронные сети ........................................................................... 22
2.2 Обоснование выбора ................................................................................... 27
3 РАЗРАБОТКА ПРИЛОЖЕНИЯ ...................................................................... 29
3.1 Выбор языка программирования и среды разработки ............................. 29
3.2 Формирование базы данных лиц ............................................................... 30
3.3 Разработка структуры нейронной сети ...................................................... 33
3.4 Обучение нейронной сети ........................................................................... 36
3.5 Результаты исследования ............................................................................ 43
ЗАКЛЮЧЕНИЕ .................................................................................................... 47
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ............................................ 48
ПРИЛОЖЕНИЕ .................................................................................................... 51
1 Васильев А. Н. Принципы и техника нейросетевого моделирования / А.
Н. Васильев, Д. А. Тархов. - Москва : Высшая школа, 2014. - 218 с. - Текст : непосредственный.
2 Гелиг А. Х. Введение в математическую теорию обучаемых распознающих систем и нейронных сетей. Учебное пособие: моногр. / А.Х. Гелиг, А. С. Матвеев. - Санкт-Петербург : Издательство СПбГУ, 2014. - 224 c. - Текст : непосредственный.
3 Редько В. Г. Эволюция, нейронные сети, интеллект: Модели и
концепции эволюционной кибернетики / В. Г. Редько. - Москва: СИНТЕГ, 2017. - 224 c. - Текст : непосредственный.
4 Николенко С. Глубокое обучение. Погружение в мир нейронных сетей / С. Николенко, А. Кадурин, Е. Архангельская. - Санкт-Петербург : Издательство «Питер», 2018. - 480 с. - Текст : непосредственный.
5 Скобцов Ю. Методические указания к лабораторным работам по
дисциплине «Нейронные сети» / Ю. Скобцов. - Донецк : Донецкий национальный технический университет, 2010. - 49 с. - Текст : непосредственный.
6 Лукашик Д. Анализ современных методов сегментации изображений / Д. Лукашик. - Текст : электронный // Cyberleninka. ru : [сайт]. - URL: https://cyberleninka.ru/article/n/analiz-sovremennyh-metodov-segmentatsii izobrazheniy/viewer/ (дата обращения: 20.05.2023).
7 Исаков С. Как работает сверточная нейронная сеть: архитектура, примеры, особенности / С. Исаков. - Текст : электронный // Neurohive.io : [сайт]. - URL: https://neurohive.io/ru/osnovy-data-science/glubokaya-svertochnaja-nejronnaja-set/ (дата обращения 29.04.2023).
8 Гуриков С.Р. Основы алгоритмизации и программирования на Python / С.Р. Гуриков. - М.: Форум, 2018. - 991 c. - Текст : непосредственный.
9 Гуручаран М. Базовая архитектура CNN: объяснение 5 уровней сверточной нейронной сети / М. Гуручаран. - Текст : электронный // upGrad.com :
[сайт]. - URL: https://www.upgrad.com/blog/basic-cnn-architecture/ (Дата обращения 07.03.2023).
10 Егоров Е. PyCharm - среда разработки для Python 3 / Е. Егоров. - Текст : электронный // egorovegor.ru : [сайт]. - URL: https://www.upgrad.com/blog/basic-cnn- architecture/ (дата обращения: 14.03.2023).
11 Хилл К. Научное программирование на Python / К. Хилл. - Москва : ДМК-Пресс, 2021. - 646 с. - Текст : непосредственный.
12 Шумский С. А. Машинный интеллект. Очерки по теории машинного обучения и искусственного интеллекта / C. А. Шумский. - Москва: РИОР, 2019. - 340 с. - Текст: непосредственный.
13 Гудфеллоу Я. Глубокое обучение / Я. Гудфеллоу, И. Бенджио, А. Курвилль; перевод с английского А. А. Слинкиной. - 2-е изд. испр. - Москва: ДМК Пресс, 2018. - 652 с. - Текст: непосредственный.
14 Микелуччи У. Прикладное глубокое обучение. Подход к пониманию глубоких нейронных сетей на основе метода кейсов: перевод с английского / У. Микелуччи. - Санкт-Петербург: БХВ-Петербург, 2020. - 368 с. - Текст:
непосредственный.
15 Хайкин С. Нейронные сети: полный курс / С. Хайкин. - 2-е изд. -
Москва: Издательский дом «Вильямс», 2006. - 1104 с. - Текст: непосредственный.
16 Николенко С. Глубокое обучение / С. Николенко, А. Кадурин, Е.
Архангельская. - Санкт-Петербург: Питер, 2018. - 480 с. - Текст: непосредственный.
17 Шелудько В. М. Основы программирования на языке высокого уровня Python: учебное пособие / В. М. Шелудько. - Ростов-на-Дону, Таганрог: Издательство Южного федерального университета, 2017. - 146 c. - ISBN 978-5-92752649-9. - Текст: электронный // Электронно-библиотечная система IPR BOOKS: [сайт]. - URL: http://www.iprbookshop.ru/87461.html (дата обращения: 10.02.2023).
18 Шелудько В. М. Язык программирования высокого уровня Python. Функции, структуры данных, дополнительные модули: учебное пособие / В. М. Шелудько. - Ростов-на-Дону, Таганрог: Издательство Южного федерального университета, 2017. - 107 c. - ISBN 978-5-9275-2648-2. - Текст: электронный //
Электронно-библиотечная система IPR BOOKS: [сайт]. - URL:
http://www.iprbookshop.ru/87530.html (дата обращения: 11.03.2023).
19 Федоров Д. Ю. Программирование на языке высокого уровня Python : учебное пособие для прикладного бакалавриата / Д. Ю. Федоров. - 2-е изд., перераб. и доп. - Москва: Издательство Юрайт, 2019. - 161 с. - (Бакалавр. Прикладной курс). - ISBN 978-5-534-10971-9. - Текст: электронный // ЭБС Юрайт [сайт]. - URL: https://urait.ru/bcode/437489 (дата обращения: 11.02.2023).