Научная статья на тему 'Использование сверточных нейронных сетей для решения задачи автоматического определения возраста'

Использование сверточных нейронных сетей для решения задачи автоматического определения возраста Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1126
281
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНОЕ ЗРЕНИЕ / РАСПОЗНАВАНИЕ ОБРАЗОВ / МАШИННОЕ ОБУЧЕНИЕ / ОПРЕДЕЛЕНИЕ ВОЗРАСТА / СВЕРТОЧНЫЕ НЕЙРОННЫЕ СЕТИ / МЕТОД ОПОРНЫХ ВЕКТОРОВ / COMPUTER VISION / PATTERN RECOGNITION / MACHINE LEARNING / AGE ESTIMATION / CONVOLUTIONAL NEURAL NETWORKS / SUPPORT VECTOR MACHINE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Федотов Д.В.

В настоящее время определение персональных характеристик людей является актуальной задачей машинного обучения. Данная информация может использоваться в системах безопасности, маркетинговых исследованиях и других областях. Рассматриваются два подхода к решению данной задачи: сверточные нейронные сети и метод опорных векторов, которые требуют различной предобработки исходных данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Федотов Д.В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING CONVOLUTIONAL NEURAL NETWORKS FOR SOLVING PROBLEM OF AUTOMATED AGE ESTIMATION

Nowadays the identification of human personal characteristics is an important machine-learning problem. This information can be used in security systems, market research and other fields. Two methods of solving this problem are considered: convolutional neural networks and support vector machine. These methods require different preprocessing procedures.

Текст научной работы на тему «Использование сверточных нейронных сетей для решения задачи автоматического определения возраста»

Секция ««Математические методы моделирования, управления и анализа данных»

УДК 004.93

ИСПОЛЬЗОВАНИЕ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ РЕШЕНИЯ ЗАДАЧИ АВТОМАТИЧЕСКОГО ОПРЕДЕЛЕНИЯ ВОЗРАСТА*

Д. В. Федотов Научный руководитель - Е. С. Семенкин

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева

Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Е-mail: fedotov.dm.v@gmail.com

В настоящее время определение персональных характеристик людей является актуальной задачей машинного обучения. Данная информация может использоваться в системах безопасности, маркетинговых исследованиях и других областях. Рассматриваются два подхода к решению данной задачи: сверточные нейронные сети и метод опорных векторов, которые требуют различной предобработки исходных данных.

Ключевые слова: компьютерное зрение, распознавание образов, машинное обучение, определение возраста, сверточные нейронные сети, метод опорных векторов.

USING CONVOLUTIONAL NEURAL NETWORKS FOR SOLVING PROBLEM OF AUTOMATED AGE ESTIMATION

D. V. Fedotov Scientific supervisor - E. S. Semenkin

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: fedotov.dm.v@gmail.com

Nowadays the identification of human personal characteristics is an important machine-learning problem. This information can be used in security systems, market research and other fields. Two methods of solving this problem are considered: convolutional neural networks and support vector machine. These methods require different preprocessing procedures.

Keywords: computer vision, pattern recognition, machine learning, age estimation, convolutional neural networks, support vector machine.

Извлечение информации о клиентах является ключевой исследовательской задачей в области бизнеса. Чем больше информации компании получают, тем более информативные решения они могут сделать и, соответственно, улучшить экономические показатели. В данной работе рассмотрены методы оценки возраста человека по фотографии. Эта проблема не получила должного внимания в научной литературе, частично из-за того, что она считается менее важной, чем другие задачи в данной области, частично - потому что она является довольно сложной по следующим причинам:

1. С возрастам люди подвергаются различным изменениям, поэтому не существует общей методологии определения возраста человека исключительно по лицу.

2. Изображение лица человека, которое подается на вход алгоритма, должно быть чистым и стандартизированным, что не всегда возможно.

3. Предобработка изображений и выбор атрибутов включают в себя такие операции, как выделение характерных черт людей, что является сложной задачей.

Данная работа предполагает два метода для преодоления вышеперечисленных трудностей. Первый метод включает в себя использование фильтров для предобработки данных и сверточные нейронные сети для классификации. Второй подход использует гистограмму изображения в качестве входа для метода опорных векторов.

* Работа выполнена в рамках проекта RFMEFI57414X0037.

Актуальные проблемы авиации и космонавтики - 2015. Том 1

Оценка возраста человека была рассмотрена ранее в нижеописанных работах. Например, Geng и др. [1] основывали свои исследование на идее возрастных изменений лица и предложили метод оценки возраста под названием AGES. Предобработка в AGES основывается на множестве ключевых точек на изображении лица. Выделение данных точек выполняется автоматически и алгоритм был описан в [2]. Кроме оценки возраста, алгоритм AGES может быть использован для распознавания лиц в разные периоды времени. Также, AGES может работать с изображением лиц в различных положениях и при различных условиях освещения. Более подробную информацию можно найти в [3; 4]. Kwon и др. [5] использует расширенное выявление ключевых точек, рассчитывает их соотношения и пытается выделить морщины. Это помогает в значительной степени сократить размерность входного объекта. Сначала находятся главные элементы человеческого лица, такие, как глаза, нос, рот и т. д. После этого рассчитываются соотношения расстояний между ними, чтобы отделить младенцев от остальных. Далее находятся и анализируются морщины, которые помогают отделить молодых людей от зрелых. Еще один подход, предложенный Ubaid и др. [6], представляет собой нормализацию перед выделением ключевых точек. Это позволяет использовать текстурные изменения кожи для определения возраста. После нормализации происходит выделение ключевых точек. Для выделения щек используется преобразование Хафа. Его целью является поиск несовершенных объектов путем голосования. Для предсказания возраста используется метод полиномиальной регрессии.

Сверточные нейронные сети, использованные в данной работе, подробно описаны в [7] и [8]. Сверточная нейронная сеть является одним из вариантов многослойного персептрона, идея для которого была заимствована из биологии. Она имитирует поведение наиболее мощной зрительной системы - визуального кортекса. Сверточные нейронные сети имеют иерархическую архитектуру. Они состоят из нескольких слоев совокупностей нейронов, которые отвечают за небольшую часть изображения. Совокупности нейронов перемещаются по изображению, охватывая его целиком. Большинство сверточных нейронных сетей включают в себя слои локального или максимального объединения (слои субдискретизации), которые упрощают и объединяют выходы соседних нейронов. Свер-точные нейронные сети часто используются в системах распознавания изображений.

База данных, использованная в работе, предоставлена Техасским университетом и находится в свободном доступе [9]. Целью работы является создание системы автоматического определения возраста человека. Данная задача может быть рассмотрена с двух сторон: в качестве задачи классификации, в которой имеется конечное число классов и в качестве задачи регрессии, в которой требуется предсказать точное значение возраста.

Основываясь на стандартной методологии, процесс решения задач анализа данных включает в себя шаги предобработки данных (преобразование «сырых» данных в форму, приемлемую для дальнейшего анализа) и применения алгоритма. Методы, рассмотренные в данной работе, отличаются в применении на обоих шагах, описанных выше.

Предобработка данных для сверточных нейронных сетей включает в себя:

1. Нахождение лица на изображении

2. Выделение изображения лица

3. Приведение изображения к черно-белому виду для уменьшения размерности пикселей с 3 до 1.

4. Приведение изображений к одинаковому разрешению

5. Применение различных фильтров к изображениям для выделения очертаний лица и его характерных черт (например, морщин).

Первые три шага предобработки изображения для метода опорных векторов совпадают с шагами, описными выше. После этого применяется оператор локальных бинарных шаблонов и выделяется гистограмма изображения, которая служит входом для метода опорных векторов (универсальный метод для решения задач классификации и регрессии [10]).

Было проведено сравнение результатов, полученных с помощью сверточной нейронной сети и метода опорных векторов. Сверточная нейронная сеть с тремя возрастными группами на выходе была взята за основу сравнения. Метод опорных векторов показал результат в 69 % точности классификации. Сверточная нейронная сеть - 78 %.

В рамках данного исследования, сверточная нейронная сеть обеспечила лучшие результаты. Для повышения качества классификации может быть использовано предварительное выделение пола и расы, так как данные параметры влияют на возрастные изменения. Таким образом, предварительная классификация может существенно помочь в повышении качества классификации. Одним из перспективных направлений развития можно считать применение генетических алгоритмов для настройки нейронной сети [11], в частности самоконфигурируемого генетического алгоритма SelfCGA

Секция «Математические методы моделирования, управления и анализа данных»

[12], применение которого позволит повысить качество классификации и исключить необходимость в эксперте при работе с данной системой.

Библиографические ссылки

1. Geng X., Zhou Z.-H., Smith-Miles K. Automatic age estimation based on facial aging patterns, IEEE Trans. On PAMI. 2007. № 29(12). Р. 2234-2240,

2. Duta N., Jain A. K., Dubuisson-Jolly M.-P. Automatic Construction of 2D Shape Models // IEEE Trans. Pattern Analysis and Machine Intelligence. 2001. № 23(5). P. 433-446.

3. Gross R., Matthews I., Baker S. Eigen Light-Fields and Face Recognition Across Pose // Proc. Fifth IEEE Int'l Conf. Automatic Face and Gesture Recognition. 2002. Р. 3-9.

4. Zhou S. K., Chellappa R. Illuminating Light Field: Image-Based Face Recognition Across Illuminations and Poses", Proc. Sixth IEEE Int'l Conf. Automatic Face and Gesture Recognition. 2004. P. 229-234.

5. Young H. Kwon, Niels da Vitoria Lobo Age classification from facial images, Computer Vision and Image Understanding, 1999. № 74(1).

6. Sithu Ubaid, Dr. Shyama Das, Imthiyas M. P. Human age prediction and classification using facial image // International Journal on Computer Science and Engineering. 2013. 5(05).

7. Bishop C. M. Neural Networks for Pattern Recognition, Oxford University Press, 1995.

8. Patrice Y. Simard, Dave Steinkraus, John C. Platt Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis, Microsoft Research.

9. Face Database | Park Aging Mind Lab | Center for Vital Longevity | University of Texas at Dallas. [Электронный ресурс]. URL: http://agingmind.utdallas.edu/facedb (дата обращения: 20.02.2015).

10. Cortes C., Vapnik V. N. Support-Vector Networks. Machine Learning. 1995. № 20.

11. Федотов Д. В., Семенкин Е. С. О прогнозировании экономических показателей с помощью нейроэволюционных моделей // Вестник СибГАУ. Вып. 5(57). 2014. С. 284-290.

12. Semenkin, E., Semenkina, M. Self-configuring genetic algorithm with modified uniform crossover operator, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 7331 LNCS (Part 1). 2012. P. 414-421.

© Федотов Д. В., 2015

i Надоели баннеры? Вы всегда можете отключить рекламу.