ВВЕДЕНИЕ 5
ГЛОССАРИЙ 7
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 8
1.1. Обзор аналогичных решений 8
1.2. Обзор готовых решений по созданию нейронных сетей 12
2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 14
2.1. Предварительная обработка входных данных 14
2.2. Алгоритм HOG 14
2.3. Многослойная нейронная сеть 19
2.4. Сверточная нейронная сеть 21
2.5. Сиамская сеть 23
3. ПРОЕКТИРОВАНИЕ 24
3.1. Функциональные требования 24
3.2. Нефункциональные требования 24
3.3. Варианты использования 25
3.4. Проектирование системы хранения записей 26
3.5. Диаграмма деятельности 26
3.6. Топология нейронной сети для извлечения дескрипторов 28
3.7. Архитектура системы идентификации лиц 29
3.8. Проектирование графического интерфейса пользователя 30
4. РЕАЛИЗАЦИЯ 31
4.1. Средства реализации 31
4.2. Реализация предобработки входных данных 31
4.3. Реализация постобработки выходных данных 32
4.4. Реализация алгоритма для поиска лиц 33
4.5. Реализация нейронной сети для извлечения дескрипторов 33
4.6. Реализация идентификации человека 36
4.7. Реализация системы хранения информации о личностях 37
4.8. Реализация пользовательского интерфейса 37
5. ТЕСТИРОВАНИЕ 40
5.1. Тестирование нейронной сети 40
5.2. Функциональное тестирование 40
ЗАКЛЮЧЕНИЕ 42
ЛИТЕРАТУРА 43
Распознавание и классификация являются одними из основных задач машинного обучения с широкой сферой применения: начиная от определения рукописных цифр и заканчивая распознаванием объектов на видеозаписи и диагноза по снимкам МРТ [1].
Одним из применений нейросетевых технологий на настоящий момент является распознавание лиц на фотографии или в видео. Например, такие корпорации как Фейсбук в настоящее время используют нейросетевые технологии для задач вроде идентификации друзей пользователя на по их лицам на совместных фотографиях [2].
В данной работе будет проведена разработка системы для распознавания лиц по фотографиям или видеофайлам, имеющей относительно небольшие размеры и работающей с достаточно высокой точностью.
ЦЕЛЬ РАБОТЫ
Целью данной работы является разработка системы, позволяющей распознавать лицо человека на видеофайлах в реальном времени, и имеющей достаточно высокую точность - больше 90%.
Для достижения данной цели необходимо:
1) провести анализ имеющихся решений для распознавания лица;
2) реализовать алгоритм для поиска лиц на изображении;
3) реализовать архитектуру нейронной сети для идентификации человека;
4) реализовать пользовательский интерфейс;
5) реализовать систему хранения записей о личностях;
6) протестировать приложение для распознавания лица.
СТРУКТУРА И ОБЪЕМ РАБОТЫ
Работа состоит из глоссария, введения, 5 глав, заключения и библиографии. Объем работы составляет 46 страниц, объем библиографии - 35 источников.
В первой главе приводятся теоретические сведения предметной области, а также осуществляется обзор существующих подходов к распознаванию лиц.
Во второй главе представлены этапы предобработки видеофайла, а также приводятся теоретические сведения о искусственных нейронных сетях и их разновидностях топологий, применяющихся для решения поставленной задачи.
В третьей главе описывается топология нейронной сети, а также архитектура настольного приложения.
В четвертой главе представлена программная реализация алгоритма предобработки и постобработки входных данных, алгоритма поиска лиц, нейронной сети, идентификации человека, системы хранения записей и пользовательского интерфейса.
В пятой главе приведены результаты тестирования приложения и нейронной сети.
В заключении описаны полученные в ходе выполнения работы результаты.
В рамках данной работы была спроектировано и реализовано приложение для распознавания и идентификации человека по биометрическим данным лица с использованием нейросетевых технологий, а также было проведено тестирование системы.
Были рассмотрены существующие аналоги систем для распознавания лиц и сделан вывод об актуальности работы.
Была рассмотрена теоретическая часть сверточных нейронных сетей (принципы их работы, информация о слоях свертки и подвыборки), сиамских сетей, а также теоретическая часть алгоритма HOG. Был сформулирован процесс предобработки изображения.
Были определены функциональные и нефункциональные требования и представлены диаграммы деятельности и вариантов использования, а также спроектирована система хранения записей.
Представлена реализация нейронной сети, пользовательского интерфейса и системы хранения записей. Разработанная система соответствует всем требованиям. Была протестирована работа нейронной сети и единой системы распознавания. Система выполнила свою задачу и осуществила классифицирование набора входных изображений.
Были решены следующие задачи:
1) проведен анализ программных аналогов;
2) реализован алгоритм для поиска лиц на изображении;
3) спроектирована топология искусственной нейронной сети;
4) разработан пользовательский интерфейс;
5) разработана система хранения записей;
6) проведено тестирование приложения.