Оглавление 2
Обозначения и сокращения 3
Введение 4
1. Обзор существующих систем 5
1.1 Метод гибкого сравнения на графах 5
1.2 Скрытые Марковские модели 6
1.3 Активные модели внешнего вида 7
1.4 Активные модели формы 8
1.5 Нейронные сети 9
2. Выбор стека технологий 11
3. Поиск датасета 12
4. Разработка архитектуры нейронной сети 14
4.1 Первая модель (CNNDuo) 19
4.2 Вторая модель (CNNChannels) 20
4.3 Третья модель (CNNDif) 22
4.4 Четвёртая модель (CNN_TPE) 24
5. Выбор алгоритмов обучения нейронной сети и функций активации нейронов 32
6. Сравнение результатов 33
7. Разработка демонстрационного приложения 35
Заключение 37
Список литературы 38
Приложение 1 39
Приложение 2
В последнее время всё чаще можно услышать об успехах нейронных сетей в областях обработки изображений, текстов, распознавания речи. Нейронная сеть «AlphaGo» компании Google победила чемпиона мира в игре Го.
Появилось множество архитектур нейронных сетей - свёрточные, рекуррентные, сети с памятью, а также их комбинации.
Современные архитектуры нейронных сетей показывают результаты превосходящие обычные алгоритмы, а их реализация зачастую намного проще.
В данной работе рассматривается применение нейронных сетей свёрточной архитектуры для задачи сравнения фотографий лиц людей.
Целью данной дипломной работы является разработка модели нейронной сети, которая принимала бы на вход два монохромных изображения с лицами людей и выдавала на выходе вероятность того, что на обеих фотографиях изображён один человек.
Для реализации поставленной цели необходимо решить ряд задач:
• изучить существующие решения;
• выбрать стек технологий (язык программирования, используемые технологии и библиотеки);
• найти подходящие для решения поставленной задачи датасеты;
• разработать архитектуру нейронной сети, решающую поставленную задачу;
• выбрать подходящие для обучения нейронной сети алгоритмы и функции активации, провести обучение;
• реализовать приложение для демонстрации способности созданной нейронной сети осуществлять поиск человека по фотографии в некоторой БД;
В ходе данной работы были реализованы четыре различных архитектуры свёрточных нейронных сетей для сравнения фотографий лиц людей, имеющие свои особенности. Для достижения наилучшего результата были изучены и использованы новейшие технологии и методы в области машинного обучения.
Возникшие трудности:
• малое число обработанных, подходящих для обучения нейронных сетей датасетов;
• отсутствие мощного вычислительного оборудования для экспериментов со сложными, объёмными моделями нейронных сетей.
Возможные улучшения:
• использование большего датасета для обучения нейронный сетей;
• изменение гиперпараметров нейронных сетей (требуется более мощное вычислительное оборудование).
[1] L. Wiskott, J.-M. Fellous, N. Kruger и C. von der Malsburg, «Face Recognition by Elastic Bunch Graph Matching,» [В Интернете]. Available: http://www.face-rec.org/algorithms/ebgm/wisfelkrue99- facerecognition-jainbook.pdf.
[2] P. M. Corcoran и C. Iancu, «Automatic Face Recognition System for Hidden Markov Model Techniques,» [В Интернете]. Available: https://cdn.intechopen.com/pdfs-wm/17155.pdf.
[3] G. J. Edwards, T. F. Cootes и C. J. Taylor, «Face Recognition Using Active Appearance Models,» [В Интернете]. Available: http://www.cs.utexas.edu/~grauman/courses/spring2007/395T/papers/edwards_eccv1998.pdf.
[4] U. Prabhu и K. Seshadri, «Facial Recognition Using Active Shape Models, Local Patches and Support Vector Machines,» [В Интернете]. Available: http://www.contrib.andrew.cmu.edu/~kseshadr/ML_Paper.pdf.
[5] C. Fleizach и S. Fukushima, «Perceptron variants on OCR and Netflix datasets,» [В Интернете]. Available: http://www.sysnet.ucsd.edu/~cfleizac/cse250b/project3.pdf. [Дата обращения: 2016].
[6] F. Schroff, D. Kalenichenko и J. Philbin, «FaceNet: A Unified Embedding for Face Recognition and Clustering,» 2015. [В Интернете]. Available: https://arxiv.org/pdf/1503.03832.pdf. [Дата обращения: 2017].
[7] S. Sankaranarayanan, A. Alavi, C. D.Castillo и R. Chellappa, «Triplet Probabilistic Embedding for Face Verification and Clustering,» 18 01 2017. [В Интернете]. Available: https://arxiv.org/pdf/1604.05417.pdf. [Дата обращения: 2017].
[8] S. Ioffe и C. Szegedy, «Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift,» 2 3 2015. [В Интернете]. Available: https://arxiv.org/pdf/1502.03167.pdf. [Дата обращения: 2017].
[9] P. Matejka, L. Zhang, T. Ng, S. H. Mallidi, O. Glembek, J. Ma и B. Zhang, «Neural Network Bottleneck Features for Language Identifica,» 06 2014. [В Интернете]. Available: http://www.fit.vutbr.cz/research/groups/speech/publi/2014/matejka_odyssey2014_299-304-35.pdf. [Дата обращения: 2017].
[10] D. P. Kingma и J. Lei Ba, «Adam: A Method for Stochastic Optimization,» 2015. [В Интернете]. Available: https://arxiv.org/pdf/1412.6980.pdf. [Дата обращения: 2017].