Научная статья на тему 'ПРИМЕНЕНИЕ СЕТЕЙ ГЛУБОКОГО ОБУЧЕНИЯ В ЗАДАЧЕ РАСПОЗНАВАНИЯ ЛИЦ'

ПРИМЕНЕНИЕ СЕТЕЙ ГЛУБОКОГО ОБУЧЕНИЯ В ЗАДАЧЕ РАСПОЗНАВАНИЯ ЛИЦ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
171
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЛОЙ / СВЕРТОЧНАЯ НЕЙРОННАЯ СЕТЬ / ИЗОБРАЖЕНИЕ / ПЕРСЕПТРОН / ФУНКЦИЯ АКТИВАЦИИ

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

Рассмотрена структура сверточной нейронной сети и описаны особенности каждого из слоев, а также применение сверточной нейронной сети в задаче распознавания лиц на изображении

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

USAGE OF DEEP LEARNING NETWORKS IN THE FACE RECOGNITION PROBLEM

This article describes the structure of convolutional neural network and describes the features of each layer, as well as the usage of convolutional neural network in face recognition problem on the image

Текст научной работы на тему «ПРИМЕНЕНИЕ СЕТЕЙ ГЛУБОКОГО ОБУЧЕНИЯ В ЗАДАЧЕ РАСПОЗНАВАНИЯ ЛИЦ»

УДК 004.93

ПРИМЕНЕНИЕ СЕТЕЙ ГЛУБОКОГО ОБУЧЕНИЯ В ЗАДАЧЕ РАСПОЗНАВАНИЯ ЛИЦ

А .С. Киба Научный руководитель - М. Н. Фаворская

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: kib4sik@yandex.ru

Рассмотрена структура сверточной нейронной сети и описаны особенности каждого из слоев, а также применение сверточной нейронной сети в задаче распознавания лиц на изображении.

Ключевые слова: слой, сверточная нейронная сеть, изображение, персептрон, функция активации.

USAGE OF DEEP LEARNING NETWORKS IN THE FACE RECOGNITION PROBLEM

A. S. Kiba Scientific Supervisor - M. N.Favorskaya

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: kib4sik@yandex.ru

This article describes the structure of convolutional neural network and describes the features of each layer, as well as the usage of convolutional neural network in face recognition problem on the image.

Keywords: layer, convolutional neural network, image, perceptron, activation function.

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

СНС состоит из разных видов слоев: сверточные (convolutional) слои, субдискретизирующие (subsampling, подвыборка) слои и слои «обычной» нейронной сети - персептрона, в соответствии с рис. 1.

Входной слой учитывает двумерную топологию изображений и состоит из нескольких карт (матриц). Карта может быть одна, в том случае, если изображение представлено в оттенках серого, иначе их 3, где каждая карта соответствует изображению с конкретным каналом (красным, синим и зеленым).

Входные данные каждого конкретного значения пикселя нормализуются в диапазон от 0 до 1, по формуле

г( . ч p - min

f (p, min, max j =-,

max - min

Секция «Программные средства и информационные технологии»

где f (•) - функция нормализации; p - значение конкретного цвета пикселя от 0 до 255; min - минимальное значение пикселя - 0; max - максимальное значение пикселя - 255 [1].

слои слои слой слой Выход

Рис. 1. Структура сверточной нейронной сети

Сверточный слой представляет набор карт (другое название - карты признаков, в обиходе это обычные матрицы), у каждой карты есть синаптическое ядро. Ядро представляет из себя фильтр или окно, которое скользит по всей области предыдущей карты и находит определенные признаки объектов. Размер ядра обычно берут в пределах от 3x3 до 7x7. Также размер ядра выбирается таким, чтобы размер карт сверточного слоя был четным, это позволяет не терять информацию при уменьшении размерности в подвыборочном слое.

Карты 43x48 Карты 44x44 Ядра 5x5

■ Ш и

Щ Ш ш С2 ■ ■ щ

2 N

Ш Ш и

48x48 Входной слой се 44x44 Сверточный ой

Рис. 2. Организация связей между картами сверточного слоя и предыдущего

Количество карт определяется требованиями к задаче, если взять большое количество карт, то повысится качество распознавания, но увеличится вычислительная сложность. Исходя из анализа научных статей, в большинстве случаев предлагается брать соотношение один к двум, то есть каждая карта предыдущего слоя (например, у первого сверточного слоя, предыдущим является входной) связана с двумя картами сверточного слоя, в соответствии с рис. 2. Количество карт - 6. Размер у всех карт сверточного слоя - одинаковы и вычисляются по формуле

(И) = (тЖ - кЖ +1,тН -кИ +1),

где (м, И) - вычисляемый размер сверточной карты; тЖ - ширина предыдущей карты; тН - высота предыдущей карты;кЖ - ширина ядра; кН - высота ядра [2].

Подвыборочный слой также, как и сверточный имеет карты, но их количество совпадает с предыдущим (сверточным) слоем, их 6. Цель слоя - уменьшение размерности карт предыдущего слоя. Если на предыдущей операции свертки уже были выявлены некоторые признаки, то для дальнейшей обработки настолько подробное изображение уже не нужно, и оно уплотняется до менее подробного.

Обычно в подвыборочном слое применяется функция активации ЯеЮ. Операция подвыборки (или МахРооН^ - выбор максимального) в соответствии с рисунком 3.

12 20 30 0

8 12 2 0 2x2 Max-Pool 20 30

34 ТО 37 4 112 37

112 100 25 12

Рис. 3. Формирование новой карты подвыборочного слоя на основе предыдущей карты сверточного слоя

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

Выходной слой связан со всеми нейронами предыдущего слоя. Количество нейронов соответствует количеству распознаваемых классов, то есть 2 - лицо и не лицо. Но для уменьшения количества связей и вычислений для бинарного случая можно использовать один нейрон и при использовании в качестве функции активации гиперболический тангенс, выход нейрона со значением -1 означает принадлежность к классу «не лица», напротив выход нейрона со значением 1 означает принадлежность к классу лиц [3].

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

1. DavidS. Batista [Электронный ресурс]. URL: http://www.davidsbatista.net (дата обращения 10.03.2019).

2. Habr [Электронный ресурс]. URL: https://habr.com(дата обращения10.03.2019).

3. Medium. [Электронный ресурс]. URL: https://medium.com (accessed 11.03.2019).

© Киба А. С., 2019

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