Системы идентификации личности должны работать быстро, надежно и иметь малую стоимость. Биометрия позволяет осуществлять идентификацию личности уникально, измеряя некоторые физические и поведенческие характеристики. В настоящее время всё более широкое распространение получают биометрические системы идентификации человека. Распознавание человека по изображению лица выделяется среди биометрических систем тем, что не требуется специальное или дорогостоящее оборудование. Для большинства приложений достаточно компьютера и обычной видеокамеры [1].
В случае биометрической верификации кроме представления биометрического идентификатора, аутентификационный протокол включает в себя представление собственности или знаний. Эти дополнительные удостоверяющие данные позволяют однозначно определить зарегистрированную в базе данных личность и связанную с ней машинную репрезентацию.
Типичная биометрическая система представлена на рисунке 1. Объект предъявляет идентификационный номер и биометрический параметр [2], [3]. Экстрактор свойств вычисляет биометрический шаблон, и из базы данных также извлекается шаблон соответствующий идентификационному номеру. Биометрический мэтчер подсчитывает степень сходства между двумя шаблонами; если это значение достаточно большое (например, больше заданного Т), то объект допускается к приложению; если значение меньше Т, объект получает отказ.
Рис. 1. Схема системы верификации
Реализованный метод верификации лиц основан на применении искусственных нейронных сетей. Система распознавания, представляемая в работе, состоит из трех блоков:
1. Блок предварительной обработки.
На вход блока предварительной обработки подается фотография человека, которого необходимо идентифицировать. Каждое изображение перед подачей на нейронную сеть проходит следующие этапы предварительной обработки:
1. Выполняется обнаружение лица с использованием библиотеки OpenCV. В OpenCV используется определенный вид лицевого детектора, называемый классификатором каскада Хаара. Детектор использует метод Виолы-Джонса.
2. Полученное изображение масштабируется к размеру 50 на 50 пикселей.
3. Преобразовывается в составляющие серого цвета.
2. Блок преобразования и выделения ключевых признаков.
Под геометрическими признаками подразумеваются расстояния между особыми точками лица. Для поиска координат данных точек использовалась библиотека Stasm. Stasm разработана для работы с фотографиями, c прямым вертикальным расположением и нейтральным выражением лица. Лицо должно занимать, по крайней мере, четверть от ширины фотографии. Stasm не использует цветовую информацию, а конвертирует фотографию в монохромную. В результате работы функций библиотеки Stasm получаем массив координат 72 особых точек лица. Затем вычисляются расстояния между этими точками. В результате получаем биометрический вектор, содержащий 17 значений расстояний. На заключительном этапе биометрический вектор должен быть преобразован к биполярному виду ({1, -1}). Каждое значение расстояния переводится в код Грэя, нули заменяются -1. Коды Грэя больше подходят в качестве входных данных для сети Хопфилда, чем обычное двоичное представление числа, т.к. два соседних числа представленных кодом Грэя отличаются только в одном разряде. Благодаря этому уменьшаются различия между биполярным представлением двух соседних десятичных чисел.
3. Блок распознавания.
В данном методе для распознавания используется нейронная сеть Хопфилда. Нейронная сеть Хопфилда – полносвязная нейронная сеть с симметричной матрицей связей. В процессе работы динамика таких сетей сходится к одному из положений равновесия. Эти положения равновесия являются локальными минимумами функционала, называемого энергией сети. В отличие от многих нейронных сетей, работающих до получения ответа через определённое количество тактов, сети Хопфилда работают до достижения равновесия, когда следующее состояние сети в точности равно предыдущему: начальное состояние является входным образом, а при равновесии получают выходной образ [4], [5].
Алгоритм функционирования сети следующий (p – номер итерации):
1. На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов:
yi(0) = xi, i = 0...n-1,
поэтому обозначение на схеме сети входных синапсов в явном виде носит чисто условный характер. Ноль в скобке справа от yi означает нулевую итерацию в цикле работы сети.
2. Рассчитывается новое состояние нейронов:
и новые значения аксонов:
3. Проверка, изменились ли выходные значения аксонов за последнюю итерацию. Если да – переход к пункту 2, иначе (если выходы застабилизировались) – конец. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.
Путем сравнения двух векторов, эталонного и полученного в результате работы сети Хопфилда, выдается положительный результат принадлежности фотографии человеку с данным логином в случае совпадения векторов либо отрицательный при несовпадении.
Одной из наиболее важных и трудоемких задач, которую приходится решать при формировании любой биометрической системы, является анализ её надёжности. Для того, чтобы оценить степень точности системы, необходимо протестировать её на различных наборах. Для тестирования реализованного алгоритма были использованы две непересекающихся баз данных изображений лиц.
1) База данных MIT: содержит по 200 изображений лиц разрешением 50 на 50 с различными ракурсами и освещением. Для обучения сети использовались 200 изображений: 100 одного человека и 100 различных других людей. Для тестирования использовались оставшиеся 100 изображений этого человека (для определения коэффициента ложного различия) и 100 изображений других людей (для определения коэффициента ложного сходства). Результаты:
1. коэффициент ложного различия – 0,01;
2. коэффициент ложного сходства – 0,12;
3. среднее время обучения сети – 116,39 сек.
2) База дынных CalTech: содержит изображения людей с различным освещением. Для обучения сети использовались 20 изображений лиц, которые предварительно были обнаружены с использованием библиотеки OpenCV. Результаты:
1. коэффициент ложного различия – 0,16;
2. коэффициент ложного сходства – 0,2;
3. среднее время обучения сети – 7,96 сек.
Для уменьшения размерности входного вектора использовано двумерное преобразование Фурье. Результаты экспериментов с использованием преобразования Фурье представлены ниже:
1) База данных MIT:
1. коэффициент ложного различия – 0,011;
2. коэффициент ложного сходства – 0,137;
3. среднее время обучения сети – 2,226 сек.
2) База данных CalTech:
1. коэффициент ложного различия – 0,24;
2. коэффициент ложного сходства – 0,08;
3. среднее время обучения сети – 0.156 сек.
Во всех экспериментах пороговая величина T, выражающая компромисс между коэффициентом ложного пропуска и коэффициентом ложного отказа в доступе, была принята 0,8.
Предложенный алгоритм показал высокую точность и скорость выполнения. На основе проведенных тестов можно сделать вывод, что полученные результаты зависят от корректного извлечения особых точек, что в свою очередь определяется качеством входного изображения.
В дальнейшем планируется провести исследования применения различных конфигураций многослойного персептрона, сверхточной нейронной сети.
Рецензенты:
Мисевич П. В., д.т.н., профессор кафедры «Вычислительных систем и технологий» Института радиоэлектроники и информационных технологий Федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Нижегородский государственный университет им. Р. Е. Алексеева», г. Нижний Новгород;
Ломакина Л. С., д.т.н., профессор кафедры «Вычислительных систем и технологий» Института радиоэлектроники и информационных технологий Федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Нижегородский государственный университет им. Р. Е. Алексеева», г. Нижний Новгород.
Библиографическая ссылка
Андреева О.В., Крюков Л.Т. ФОРМИРОВАНИЕ ОПТИМАЛЬНОГО АЛГОРИТМА ВЕРИФИКАЦИИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ // Современные проблемы науки и образования. – 2015. – № 1-1. ;URL: https://science-education.ru/ru/article/view?id=18773 (дата обращения: 15.10.2024).