Алгоритм масштабирования и кластеризации в системе поиска лиц на изображениях

А. А. Друки

аспирант, Институт кибернетики, ФГБОУ ВПО «Национальный исследовательский

Томский политехнический университет»

АЛГОРИТМ МАСШТАБИРОВАНИЯ И КЛАСТЕРИЗАЦИИ В СИСТЕМЕ ПОИСКА ЛИЦ НА ИЗОБРАЖЕНИЯХ

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

Ключевые слова: обработка изображений, нейронные сети, алгоритм масштабирования и кластеризации.

A.A. Druki, National Research Tomsk Polytechnic University

ALGORITHM OF SCALING AND CLUSTERING IN SYSTEM OF SEARCH OF FACES IN

IMAGES

Abstract. Algorithms and methods for face detection in images have been studied. To solve the problem neural network is selected. Various types and topologies of neural networks have been studied, and some of them have been implemented and tested in practice. The structure of neural network algorithm for scaling and clustering of images have been developed.

Keywords: image recognition, neural networks, image recognition, algorithm for scaling and clustering.

Введение

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

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

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

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

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

Преимущество использования нейронных сетей для обнаружения лица - обучаемость системы для выделения ключевых характеристик лица из учебных наборов [6, 7].

Объектом исследования являются системы обработки изображений, основанные на искусственных нейронных сетях.

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

Разработка нейронной сети

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

• изображения имеют большую размерность, соответственно возрастает размер нейронной сети;

• большое количество параметров увеличивает вместимость системы и соответственно требует большей тренировочной выборки, увеличивает время и вычислительную сложность процесса обучения;

• для повышения эффективности работы системы желательно применять несколько нейронных сетей (обученные с различными начальными значениями синап-тических коэффициентов и порядком предъявления образов), но это увеличивает вычислительную сложность решения задачи и время выполнения;

• отсутствует инвариантность к изменениям масштаба изображения, ракурсов съёмки камеры и других геометрических искажений входного сигнала [8-10]. Поэтому для решения этой задачи были выбраны сверточные нейронные сети, т. к. они обеспечивают частичную устойчивость к изменениям масштаба, смещениям, поворотам, смене ракурса и прочим искажениям [10].

Архитектура сверточной нейронной сети состоит из многих слоёв. Слои бывают двух типов: сверточные и подвыборочные, они чередуются друг с другом как показано на рис. 1.

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

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

1 2 3 4 5 6

Рисунок 1 - Архитектура свёрточной нейронной сети: 1) вход; 2,4,6) сверточные слои;

3,5) подвыборочные слои; 7) слой из обычных нейронов; 8) выход

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

Вход Карта признаков

Рисунок 2 - Результат сканирования изображения

Постепенно нейронная сеть обучается выделять ключевые характеристики лиц в поступающих на вход изображениях; отклики нейронной сети образуют максимумы в местоположениях лиц [10, 11]. Результаты исследования показали, что при сканировании входного изображения отклики нейронной сети в местоположениях лиц и в некоторой их окрестности образуют максимумы. На рис. 3 показан отклик нейронной сети в каждом пикселе изображения. В некоторых местах отклики достигают максимумов, следовательно, в этих областях расположены информативные участки-кандидаты на местоположение искомого лица.

Анализ откликов нейронной сети на наборе изображений позволил оценить порог обнаружения на уровне 0,8.

Разработана нейронная сеть, состоящая из 6 слоёв. Входными данными нейронной сети являются изображения размером 32*36 пикселей.

Так как задача, решаемая нейронной сетью - классификация, то достаточно одного выхода в структуре нейронной сети. Выходное значение нейронной сети находит-

ся в интервале [-1;+1], что соответственно означает отсутствие или присутствие лица на классифицируемом изображении [10, 11].

Рисунок 3 - Отклики нейронной сети:

1) наиболее вероятное местонахождение лица на изображении;

2) наименее вероятное нахождение лиц на изображении

Следом за входным слоем находится свёрточный слой С1. Этот слой состоит из 5 свёрточных плоскостей, каждая из которых имеет синаптическую маску размером 5*5 и нейронное смещение.

Размер свёрточной плоскости определяется в соответствии со следующим выражением:

wc = wu - К +1,

Ьс = Ьи - К +1,

где wc, Ьс - ширина и высота свёрточной плоскости соответственно; wu, 11и - ширина и высота плоскости предыдущего слоя; К - ширина (высота) окна сканирования.

Размер плоскости свёрточного слоя С1: 28*32 нейрона. Количество синаптиче-ских коэффициентов в слое: 130.

Подвыборочный слой состоит из 5 карт характеристик и обеспечивает локальное усреднение и подвыборку. Каждая плоскость слоя связана лишь с одной плоскостью слоя С1. Размер каждой плоскости слоя 14*16 нейронов, что вдвое меньше, чем размер плоскости предыдущего слоя. Каждая плоскость слоя имеет единственный синаптический коэффициент и нейронное смещение, что дает в итоге 10 настраиваемых параметров.

Свёрточный слой С2 состоит из 20 плоскостей. Размер плоскости: 12*14 нейронов. Слой содержит 290 синаптических коэффициентов. Плоскости слоя С2 формируются следующим образом: каждая из 5 плоскостей слоя свернута 2 различными си-наптическими масками 3*3, обеспечивая 10 плоскостей в С2, другие 10 плоскостей С2 получены путём суммирования результатов 2 свёртываний на каждой возможной паре плоскостей слоя Э1. Таким образом, сети добавляется способность объединять различные виды особенностей, чтобы составлять новые, менее зависящие от искажений входного изображения.

Слой Э2 состоит из 20 плоскостей, по каждой на одну плоскость слоя С2, размер каждой плоскости 6*7 нейронов. Каждая плоскость слоя Э2 имеет единственный

синаптический коэффициент и нейронное смещение, что дает в итоге 40 настраиваемых параметров.

В слое N1 находится 20 нейронов (по одному на каждую плоскость слоя Э2), каждый нейрон полностью связан с каждым нейроном только одной плоскости слоя Э2, он выполняет взвешенное суммирование своих 42 входов, добавляет нейронное смещение и пропускает результат через активационную функцию. Таким образом, данный слой содержит 860 синаптических коэффициентов.

Единственный нейрон слоя N2 полностью связан со всеми нейронами слоя N1. Роль этого нейрона в вычислении окончательного результата классификации.

Использование принципа объединения синаптических коэффициентов дает эффект уменьшения количества настраиваемых параметров нейронной сети. Данная нейронная сеть имеет 1351 синаптический коэффициент.

В качестве активационной функции был выбран гиперболический тангенс: (х ) = 1апИ (х).

Эта функция имеет ряд преимуществ для решения задачи:

• симметричные активационные функции, типа гиперболического тангенса, обеспечивают более быструю сходимость, чем стандартная логистическая функция;

• функция имеет непрерывную первую производную;

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

Формула функционирования нейрона сверточного слоя:

)=^+± 2>м,(х(((+'»,

5=1 t=1

где ук{и) - нейрон к-ой плоскости свёрточного слоя; Ьк - нейронное смещение кой плоскости; К - размер рецептивной области нейрона; - матрица синаптических коэффициентов; х - выходы нейронов предыдущего слоя.

Формула функционирования нейрона подвыборочного слоя:

Ук(") = Ьк + 4 Мк ± ± х(».

4 t=1

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

ЕР =2 - °Р1 )2,

где Ер - величина функции ошибки для образа р; ^ - желаемый выход нейрона } для образа р; о$ - действительный выход нейрона } для образа р.

Окончательная коррекция синаптических коэффициентов происходит по формуле:

((+1) = М а(() + пЗРрК,

где п - коэффициент пропорциональности, влияющий на скорость обучения.

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

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

Значения весовых коэффициентов были выбраны случайным образом из нормального распределения с нулевым средним и стандартным отклонением:

^ ,

где т - число связей входящих в нейрон.

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

Разработка алгоритма масштабирования и кластеризации

Если система находит лицо на изображении, то область местонахождения лица отмечается прямоугольником. Сложность заключается в том, что на одном изображении может быть найдено несколько таких областей - информативных участков-кандидатов на местоположение лица. Это снижает достоверность результатов [11].

На рис. 4 показано, что нейронной сетью найдено на изображении 3 участка-кандидата. Один участок действительно содержит искомое лицо, а два других участка являются ложными. Часто на изображениях различные объекты имеют форму, похожую на человеческое лицо, будь то облака, кроны деревьев и т. д.

Рисунок 4 - Пример выделения на изображении информативных участков-кандидатов.

Цифрами 1, 2, 3 обозначены найденные участки-кандидаты

Предпринято разработать алгоритм, позволяющий свести подобные ошибки к минимуму и повысить вероятность обнаружения лица на изображении. Исходное изображение последовательно масштабируется с коэффициентом от 1,2 до 0,8, таким образом, получается пирамида, состоящая из пяти изображений, как показано на рис. 5.

Эти масштабы были выбраны как наиболее эффективные при распознавании, так как размер лица в этих масштабах наиболее близок к размеру входа нейронной сети (30*34 пикселей).

Рисунок 5 - Масштабированные изображения. В центре исходное изображение

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

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

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

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

Распознавание изображения

После нахождения местоположения лица на изображении, это лицо нужно распознать. Имеется база данных, содержащая множество изображений человеческих лиц (фотопортреты). К каждому фотопортрету прикреплен файл, который содержит антропометрические характеристики и данные о человеке, изображенном на портрете: возраст, пол, должность и т. д. Эти данные можно вводить с клавиатуры, изменять, удалять с помощью СУБД.

Для распознавания лиц используем сверточную нейронную сеть, на вход которой подаётся фотопортрет человека (рис. 6). Далее происходит сканирование входящего изображения локальным рецептивным полем, информация каждого рецептивного поля преобразуется функцией и записывается в каждый нейрон следующего слоя. Этот процесс продолжается в каждом слое нейронной сети. Таким образом, нейронная сеть извлекает характеристики изображения, инвариантные к масштабу изображения, ракурсу

фотоснимка, повороту и т. д. На выходе устанавливается соответствие одному из классов изображений, хранимых в базе данных. Это называется обучением с учителем.

9

Рисунок 6 - Архитектура нейронной сети для распознавания лиц: 1) вход;

2,4,6) сверточные слои; 3,5) подвыборочные слои;

7) слой из обычных нейронов; 8) выходной слой; 9) классы фотопортретов

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

Список литературы:

1. Le Cun Y., Bengio Y. Convolutional networks for images, speech and time series // The handbook of brain theory and neural networks. - V. 7. - N1. - 1998. - P. 255-258.

2. Rumelhart D.E., Hinton G.E., Williams R.J. Learning internal representations by error propagation // Parallel distributed processing. - V. 1. - N2. - 1986. - P. 318-362.

3. Rowley H.A., Baluja S., Kanade T. Neural network-based face detection // Pattern anal. mach. Intell. - V. 5. - 2000. - P. 23-38.

4. Lin S., Kung S., Lin L. Face recognition detection by probabilistic decision-based neural network // Trans. neural networks. - V. 8. - N 1. - 1997. - P. 114-132.

5. Feraud R., Bernier O., Viallet J., Collobert M. A fast and accurate face detector based on neural networks // Transactions on pattern analysis and machine intelligence. - V. 3. - N 23. - 2002. - P. 42-53.

6. Rowley H., Baluja S., Kanade T. Rotation invariant neural network-based face detection // Proceedings of conference on computer vision and pattern recognition. - V. 7. - N 8. - 1998. - P. 38-44.

7. Sakai T., Nagao M., Fujibayashi S. Line extraction and pattern detection in a photograph // Pattern recognition. - V. 1. - N 5. - 1969. - P. 233-248.

8. Craw I., Ellis H., Lishman J. Automatic extraction of face features // Pattern recognition letters. - V. 5. - 1987. - P. 183-187.

9. Yu N., Notkin B.S., Sedov V.A. Neuro-iterative algorithm of tomographic reconstruction of the distributed physical fields in the fibreoptic measuring systems // Computer optics. - V. 33. - N 4. - 2009. - P. 446-455.

10. Wilson D.R., Martinez T.R. The general inefficiency of batch training for gradient descent learning // Neural Networks. - V. 16. - N 4. - 2004. - P. 1429-1451.

List of references:

1. Le Cun Y., Bengio Y. Convolutional networks for images, speech and time series // The handbook of brain theory and neural networks. - V. 7. - N1. - 1998. - P. 255-258.

2. Rumelhart D.E., Hinton G.E., Williams R.J. Learning internal representations by error propagation // Parallel distributed processing. - V. 1. - N2. - 1986. - P. 318-362.

3. Rowley H.A., Baluja S., Kanade T. Neural network-based face detection // Pattern anal. mach. Intell. - V. 5. - 2000. - P. 23-38.

4. Lin S., Kung S., Lin L. Face recognition detection by probabilistic decision-based neural network // Trans. neural networks. - V. 8. - N 1. - 1997. - P. 114-132.

5. Feraud R., Bernier O., Viallet J., Collobert M. A fast and accurate face detector based on neural networks // Transactions on pattern analysis and machine intelligence. - V. 3. - N 23. - 2002. - P. 42-53.

6. Rowley H., Baluja S., Kanade T. Rotation invariant neural network-based face detection // Proceedings of conference on computer vision and pattern recognition. - V. 7. - N 8. - 1998. - P. 38-44.

7. Sakai T., Nagao M., Fujibayashi S. Line extraction and pattern detection in a photograph // Pattern recognition. - V. 1. - N 5. - 1969. - P. 233-248.

8. Craw I., Ellis H., Lishman J. Automatic extraction of face features // Pattern recognition letters. -V. 5. - 1987. - P. 183-187.

9. Yu N., Notkin B.S., Sedov V.A. Neuro-iterative algorithm of tomographic reconstruction of the distributed physical fields in the fibreoptic measuring systems // Computer optics. - V. 33. - N 4. - 2009. -P. 446-455.

10. Wilson D.R., Martinez T.R. The general inefficiency of batch training for gradient descent learning // Neural Networks. - V. 16. - N 4. - 2004. - P. 1429-1451.

УДК 519.246.8+519.688

Е.А. Кытин

соискатель, ФГБОУ ВПО «Ижевский государственный технический университет»

В.Е. Лялин

д-р техн. наук, заведующий кафедрой «Математические технологии

в нефтегазовом машиностроении», ФГБОУ ВПО «Ижевский государственный технический университет»

ОПРЕДЕЛЕНИЕ СКРЫТЫХ ПЕРИОДИЧНОСТЕЙ ПРИ АНАЛИЗЕ СИГНАЛОВ

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

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

E.A. Kytin, Izhevsk State Technical University

V.E. Lyalin, Izhevsk State Technical University

DETERMINATION OF HIDDEN PERIODICITIES IN THE ANALYSIS OF SIGNALS

Abstract. The article describes methods for isolating sinusoidal oscillations of the observed time series signal. We consider two cases: the case of known frequency and known case of intervals, which contain the desired frequency. The proposed algorithms are based on the dual amplitudes and phases of each sinusoid by applying the method of least squares.