Перейти к основному содержанию
ИТарктика
004.021, 004.93’12
Вахрушев Валерий Юрьевич, Морданов Андрей Валерьевич, Малых Ксения Викторовна
к.т.н., доцент, кафедра Автоматики и телемеханики, Федеральное государственное бюджетное образовательное учреждение высшего образования «Вятский государственный университет»

магистрант, кафедра Автоматики и телемеханики, ФГБОУ ВО «ВятГУ»

студент, кафедра Автоматики и телемеханики, ФГБОУ ВО «ВятГУ»
Информационные технологии идентификации личности по физическим признакам
Аннотация:

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

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

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

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

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

Идентификация на основе измерения физических признаков имеет ряд преимуществ:

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

Идентификации по физическим признакам свойственны недостатки:

  • недоверие со стороны пользователей;
  • сравнительно малая точность измерения физических параметров личности.

Способы идентификации личности по физическим параметрам классифицируются по типу используемой информации:

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

Характеристика метода идентификации личности, основанного на обработке «геометрии лица»

Существует множество методов распознавания по геометрии лица. Все они основаны на том, что черты лица и форма черепа каждого человека индивидуальны. Типичный метод распознавания по геометрии лица состоит из трёх компонент [1]:

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

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

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

Первым будет метод, основанный на использовании нейронной сети с обратным распространением ошибки.

Характеристика метода с использованием нейронной сети

Разберём более подробно механизм классификации, основанный на использовании нейронных сетей [2].

Простая искусственная нейронная сеть

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

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

Для данной сети необходимо предусмотреть, как подать данные на вход. Самым очевидным решением является представление двумерной матрицы изображения в виде вектора. Таким образом, для изображения размером 50х50 пикселей будет 2500 входов, что достаточно много.

от

Рис. 1. Простая искусственная нейронная сеть

Многослойная нейронная сеть

Многослойная нейронная сеть (МНС) отличается от простой тем, что состоит из нескольких последовательно соединённых слоёв. В каждом слое нейрон связан как со всеми предыдущими нейронами (на входе) так и с последующими (на выходе). Пример проиллюстрирован на Рисунке 2.

л

Рис. 2. Многослойная нейронная сеть.

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

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

Многослойная нейронная сеть для классификации изображений

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

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

Обучение нейронных сетей

Обучение нейронной сети можно сравнить с обучением ребенка алфавиту. Например, показав ребенку изображение буквы «Я», мы спросим его: «Какая это буква?». Если ребенок ответит неверно, то мы скажем ему что правильный ответ: «Это буква Я». Ребенок запомнит этот пример, а также верный ответ. И так будет происходить со всеми оставшимися буквами алфавита, пока в памяти они все твёрдо не запомнятся.

Точно так же происходит и при обучении нейронной сети. Допустим, имеется база данных, которая содержит «правильные ответы», то есть набор изображений букв. Подавая на вход нейронной сети текущую букву, мы получим от неё ответ, причем этот ответ может быть и неверен. Однако нам самим известен верный ответ, который мы хотим получить, соответственно, нужно чтобы на выходе нейронной сети нейрон с меткой, обозначающей за текущую букву, подавал максимальный сигнал.

лоо

Рис. 3. Обучение нейронной сети

В таких случаях обычно используется набор (…, 0, 0, 0, 1), где 1 отвечает за выход с меткой текущей буквы, а 0 – все остальные выходы. После этого вычисляется вектор ошибки, как разница между верным ответом и полученным ответом сети. В данном случае вектор ошибки будет содержать 33 числа. Алгоритм обратного распространения ошибки – это набор формул, который позволяет по вектору ошибки корректировать веса нейронной сети. Таким образом, одну и ту же букву будем предъявлять множество раз, пока ошибка не сведётся к минимуму.

Применение нейронной сети

ор

Рис. 4. Применение нейронной сети

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

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

Тестирование

Чтобы дать наиболее точную оценку метода, нужно учесть характеристики FAR – вероятность ложного совпадения двух разных людей, а также FRR – количество отказов для зарегистрированных в системе пользователей. Чтобы получить общие характеристики, нужно сосчитать значения FAR и FRR для каждого пользователя, а затем посчитать среднее арифметическое. Для реализации и тестирования нейронной сети будем использовать программное обеспечение NeurophStudio.

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

Два человека пытались получить доступ в том же помещении, при тех же условиях, в которых они создавали свои «эталоны». Два человека выполняли процедуру аутентификации совершенно в других условиях. И два других участника изначально не были зарегистрированы в базе данных. А также был добавлен такой параметр как размер базы данных (количество всех фото): 150 и 300 (из всего количества по 10 фото на каждого участника). Количество попыток: 100.

Для первых двух человек:

  • для базы в 150 фото:
  •  FRR(1) = 8%;
  • FRR(2) = 10%;
  • FAR(1) = 1%;
  • FAR(2) = 0%.
  • - для базы в 300 фото:
  •  FRR(1) = 17%;
  • FRR(2) = 18%;
  • FAR(1) = 3%;
  • FAR(2) = 2%.

Для 2 участников в других условиях:

  • - для базы в 150 фото:
  •  FRR(1) = 96%;
  • FRR(2) = 91%;
  • FAR(1) = 4%;
  • FAR(2) = 9%.
  • - для базы в 300 фото:
  • FRR(1) = 90%;
  • FRR(2) = 85%;
  • FAR(1) = 10%;
  • FAR(2) = 15%.

Для 2 участников, не зарегистрированных в системе:

  • - для базы в 150 фото:
  • FAR(1) = 15%;
  • FAR(2) = 20%.
  • - для базы в 300 фото:
  • FAR(1) = 30%;
  • FAR(2) = 35%.

Общие характеристики:

  • - для базы в 150 фото:
  • 1) FRR = 9% для тех же условий, 2) FRR = 97% при других условиях;
  • 1) FAR = 0.5%; 2) FAR = 6.5%.
  • - для базы в 300 фото:
  • 1) FRR = 17.5%; 2) 88%.
  • 1) FAR = 2.5%; 2) FAR = 12.5%.

А также более 25% ложных совпадений для незарегистрированных участников.

Анализ полученных результатов

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

  1. Низкая статистическая достоверность;
  2. Огромная зависимость от внешних факторов;
  3. Желательно фронтальное изображение лица.

Преимущества:

  1. Не требуется дорогостоящее оборудование;
  2. Возможность распознавания на значительных расстояниях.

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

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

Характеристика метода Eigenface

В основе данного метода лежит использование фундаментальных статистических характеристик: таких как математическое ожидание и ковариационная матрица, а также использование метода главных компонент [3].

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

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

до, где Фi представляет собой центрирование i-ое изображение исходной выборки, центрированное в данном случае означает – за вычетом среднего, wj – весовой коэффициент, ui – собственный вектор (также называемый eigenfaces).

На Рисунке 5 проиллюстрирована приведённая функция.

ж

Рис. 5. Получение исходного изображения

взвешенным суммированием собственных векторов

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

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

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

Итак, последовательность обработки изображений с помощью алгоритма Eigenface:

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

Шаг 2. Получение матрицы G[n,m] всех изображений, где n-порядковый номер пользователя (его фото), m – номер пикселя.

Каждое фото изначально представлено в виде матрицы A[x,y], где x – пиксель, y – значение цвета в градации серого. Затем эта матрица преобразовывается в вектор. И из этих векторов получается результирующая матрица.

Шаг 3. Вычисление усреднённого лица, используя матрицу G[n,m], то есть вычисляем матрицу S[1,m], в которой элементами являются среднее значение соответствующих пикселей из матрицы G.

Шаг 4. Получение новой матрицы M[n,m] всех изображений за вычетом усреднённой матрицы. Таким образом, на выходе имеем матрицу только уникальных признаков.

Шаг 5. Вычисление ковариационной матрицы C и собственных значений v.

C = M T x M

v = eigenvals(C)

Шаг 6. Вычисление собственных векторов u матрицы разностных изображений M и вектора их весов w.

u = M x v

w = u x M

Совокупность вычисленных параметров и представляют собой модель.

Шаг 7. Распознавание. Для поданного на вход изображения вычисляются подобные параметры (собственные вектора и веса), а затем вычисляется евклидово расстояние для каждой пары параметров (имеющихся параметров и параметров, полученных при обучении). Минимальное расстояние и будет означать принадлежность к классу. Если данное расстояние окажется больше некоторого порога, то такого изображения в модели нет.

Сравнение алгоритма eigenface с нейронной сетью

Для тестирования алгоритмов подготовим выборку из 3 человек для каждого по 6 фото.

Оба алгоритма перед использованием необходимо обучить на некоторой выборке, для обучения возьмём по одному фото от каждого участника. Остальные 5 фото будем использовать для проверки алгоритмов. Также будет определён еще один параметр – разрешение доступа лицам, которых нет в базе данных.

Результаты работы алгоритма нейронной сети

Таблица 1. Проверка алгоритма нейронной сети на фото участников

№ фото

Первый участник

Второй участник

Третий участник

Совпаде-ние с ори-гиналом

Совпаде-ние с …

Совпаде-ние с ори-гиналом

Совпаде-ние с …

Совпаде-ние с ори-гиналом

Совпаде-ние с …

2

57%

-

-

3: 99%

99%

-

3

100%

-

-

3: 99%

99%

-

4

-

3: 13%

97%

-

99%

-

5

-

3: 14%

97%

-

99%

-

6

-

3: 98%

-

3: 99%

99%

-

               

 

Таблица 2. Проверка алгоритма нейронной сети на фото людей,

которых нет в базе данных.

№ Фото

1

2

3

4

5

6

Запрет доступа

-

-

-

-

-

-

Данный алгоритм проявил ряд недостатков, основным из которых является пропуск тех людей, которых нет в базе данных. Помимо этого, почти 35% фото распознаются некорректно. На эти результаты главным образом влияет освещение, а, следовательно, цветовой оттенок фото.

Результаты работы алгоритма eigenface

Таблица 3. Проверка алгоритма eigenface на фото участников

№ фото

Первый участник

Второй участник

Третий участник

Совпаде-ние с ори-гиналом

Совпаде-ние с …

Совпаде-ние с ори-гиналом

Совпаде-ние с …

Совпаде-ние с ори-гиналом

Совпаде-ние с …

2

+

-

+

-

+

-

3

+

-

+

-

+

-

4

+

-

+

-

+

-

5

+

-

+

-

+

-

6

+

-

+

-

+

-

 

Таблица 4. Проверка алгоритма eigenface на фото людей, которых нет в базе данных.

№ Фото

1

2

3

4

5

6

Запрет доступа

-

-

-

+

-

-

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

По результатам тестирования можно сделать следующие выводы:

  • Требуется доработка системы в направлении увеличения скорости выполнения задач;
  • Усовершенствование системы путем применения и тестирования различных связок алгоритмов для повышения точности распознавания.
  • Для реализации и тестирования методов использовалось следующее программное обеспечение: NeurophStudio (программное обеспечение для создания и обучения нейронной сети), для реализации и проверки алгоритма eigenface использовалось программное обеспечение MathCad. Планируется провести анализ возможности применения алгоритмов по преобразованию 2D-изображения лица пользователя в 3D-модель и анализ методов по 3D-распознаванию.

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

  1. Анализ существующих подходов к распознаванию лиц. [Электронный ресурс] // Хабрахабр. URL: http://habrahabr.ru/company/synesis/blog/238129/.
  2. Применение нейросетей в распознавании изображений. [Электронный ресурс] // Geektimes. URL: http://geektimes.ru/post/74326/.
  3. Распознавание изображений. Алгоритм Eigenface. [Электронный ресурс] // Geektimes. URL: http://geektimes.ru/post/68870/.