Введение 3
Постановка задачи 5
Обзор существующих методов решения 6
Глава 1. Нейронные сети 10
1.1. Основы нейронных сетей 10
1.2. Сверточные нейронные сети 12
1.3. AlexNet 16
Глава 2. Обучение нейронных сетей 20
2.1. Задача обучения 20
2.2. Метод обратного распространения ошибки 21
2.3. Adam 25
2.4. Предобработка данных 27
Глава 3. Выбор базы данных и параметров сетей 31
3.1. База данных 31
3.2. Фреймворк Caffe 33
3.3. Архитектура сетей 35
Выводы 38
Заключение 43
Список литературы 44
Пол и возраст человека играют важнейшую роль в социальной жизни индивида и в его взаимодействии с другими людьми. При описании людей разного гендера мы применяем различные языковые конструкции и разные обращения. Таким же образом в зависимости от возрастной группы человека во многих языках меняется форма обращения к нему. Данные признаки важны и в социологических исследованиях для определения социальной группы и статуса лица в ней.
Задачи определения возраста и пола человека относятся к группе задач идентификации человека. В современном социуме даже человеческий глаз не всегда способен определить пол и возраст персоны с которой он взаимодействует, так как грань между мужским и женским обликом сильно утончается. Традиционные признаки полов, такие как длина волос, растительность на лице и украшения постепенно уходят из обликов людей. Появляются и трудности в определении возраста, мы и так не во всех случаях могли точно определить возраст человека, а с развитием и популяризацией пластических операций и косметических средств, полагаться на свое зрение, и вовсе не приходится.
Самым надежным способом определения пола является, конечно, анализ крови на гормоны, но подобная процедура весьма трудоемка. Хотелось бы иметь надежную возможность распознать эти параметры более простым и быстрым способом.
В то же время с развитием информационных технологий все чаще появляется потребность в системах, оценивающих какие-либо параметры человека по фотографиям, будь то пол, возраст, раса, эмоции или даже личность индивида. Надо сказать, что у компьютерного зрения по сравнению с человеческим есть определенные преимущества, так вычислительная машина лишена заложенных в нас стереотипов. Несмотря на большое количество предложенных решений по этой теме до сих пор не была разработана система автоматической идентификации, позволяющая оценить возраст и пол человека максимально правдоподобно и безошибочно. И причин на это множество, от индивидуальности черт лица каждого человека, и непредсказуемости процессов старения как таковых, до сложности составления больших правдоподобных баз данных.
В последние несколько лет происходит большой ажиотаж вокруг подобных систем, во много благодаря вновь нарастающей популярности методов глубокого обучения, если быть точнее, сверточных нейронных сетей. В настоящее время все крупнейшие IT компании мира так или иначе стараются приложить руку к подобным исследованиям. Ежедневно выходят статьи насчет компьютерного зрения, идентификации, распознавания и классификации самых различных объектов. Кроме того, во всех последних международных олимпиадах по классификации изображений побеждают исключительно системы, основанные на сверточных нейронных сетях. Такая популярность технологии способствует постоянному совершенствованию используемых методов.
В данной работы было предложено решение, позволяющих определить пол и возраст человека по его фотографии. В состав решения входят методы предобработки изображений и две обученные сверточные нейронные сети. Были использованы современные технологии обучения, позволившие ускорить процесс настройки параметров сетей. В целом, удалось достичь хорошей точности прогнозирования, что позволяет применять решение в реальных задачах. Пример классификации проведенной нейронными сетями можно увидеть на рисунке 14.
Рисунок 14.
1. M. B. Stegmann Analysis and Segmentation of Face Images using Point Annotations and Linear Subspace Techniques. Technical report IMM-REP- 2002-22, Informatics and Mathematical Modelling,
2. Yan S-C, Zhou X and Liu M. Hasegawa-Johnson, M., Huang, T.S. (2008) Regression from patch-kernel. IEEE Conference on CVPR, pages 1-8
3. Geng X, Zhou Z-H, Zhang Y, Li G, Dai H. (2006) Learning from facial aging patterns for automatic age estimation, In ACM Conf. on Multimedia, pages 307- 316
4. Geng X, Zhou Z-H, Smith-Miles K. (2007) Automatic age estimation based on facial aging patterns. IEEE Trans. on PAMI, 29(12): 2234-2240
5. Guo G, Mu G, Fu Y and Huang T.S. (2009) Human age estimation using bio-inspired features. IEEE Conference on CVPR, pages 112-119.
6. D. Maturana, D. Mery, A. Soto. Face Recognition with Local Binary Patterns, Spatial Pyramid Histograms and Naive Bayes Nearest Neighbor classification. In Proc. of the XXVIII International Conference of the Chilean Computer Science Society, IEEE CS Society, 2009.
7. Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A Simple Way to Prevent Neural Networks from Overfitting. Journal of Machine Learning Research, 15, 1929-1958.
8. Kingma, D. P., & Ba, J. L. (2015). Adam: a Method for Stochastic Optimization. International Conference on Learning Representations, 1-13
9. Rasmus Rothe and Radu Timofte and Luc Van Gool. (2016). Deep expectation of real and apparent age from a single image without facial landmarks. International Journal of Computer Vision (IJCV).
10. Ricanek, K., Tesafaye, T.: Morph: A longitudinal image database of normal adult age-progression. In: Automatic Face and Gesture Recognition, 2006. FGR 2006. 7th International Conference on. pp. 341-345. IEEE (2006)
11. Eran Eidinger, Roee Enbar, and Tal Hassner, Age and Gender Estimation of Unfiltered Faces, Transactions on Information Forensics and Security (IEEE-TIFS), special issue on Facial Biometrics in the Wild, Volume 9, Issue 12, pages 2170 - 2179, Dec. 2014 (PDF)
12. Jia, Yangqing and Shelhamer, Evan and Donahue, Jeff and Karayev, Sergey and Long, Jonathan and Girshick, Ross and Guadarrama, Sergio and Darrell, T. (2014). Caffe: Convolutional Architecture for Fast Feature Embedding. arXiv Preprint arXiv:1408.5093.