ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
Вестн. Ом. ун-та. 2013. № 4. С. 207-212.
УДК [004.93+004.94]:004.622
О.А. Вишнякова, А.Г. Казанцева, Д.Н. Лавров
ПРОЕКТИРОВАНИЕ МУЛЬТИБИОМЕТРИЧЕСКОЙ БАЗЫ ДАННЫХ ДЛЯ КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ РАСПОЗНАВАНИЯ ЛИЧНОСТИ
Представлено описание проекта по разработке мультипараметрической биометрической базы данных. Цель создания биометрической базы данных образцов - проведение компьютерного моделирования для определения качества работы алгоритмов распознавания личности. В качестве образцов для сбора были выбраны наиболее легко собираемые параметры: голос, почерк (роспись), походка (запись ускорений) и изображение лица. Представлено описание архитектуры системы и основных принципов, используемых при её построении. Описан формат обмена биометрическими данными, дано описание основных таблиц проектируемой базы данных.
Ключевые слова: база данных, биометрия, верификация, идентификация.
Введение
Распознавание личности является одной из ключевых задач в системах контроля доступа, в криминалистике, в электронной торговле, в системах видеонаблюдения. В настоящее время большинство автоматических систем аутентификации используют пароли или физические ключи защиты. Недостатки таких систем очевидны: простые пароли легко подбираемы, сложные легко забыть, к тому же их часто записывают на различных носителях, которые легко украсть или потерять, ровно так же, как и физические ключи защиты. Развитие систем распознавания личности является, таким образом, важной и актуальной задачей. При этом распознавание личности для повышения надежности систем необходимо вести по всем возможным (легко снимаемым и проверяемым) биометрическим параметрам.
Одним из сдерживающих факторов развития в данной области является отсутствие единой общедоступной базы данных биометрических образцов. Отдельные базы, конечно, существуют, но либо они являются сугубо коммерческими, либо не учитывают специфику. Так, например, существуют базы данных английских дикторов, предназначенные для тестирования систем распознавания речи и идентификации говорящего, но для русского языка открытых баз данных с хорошим набором дикторов и достаточным количеством образцов для каждого нет. Ещё более сложная ситуация с мультипараметрическими базами данных. Наличие таких общедоступных баз позволило бы осуществлять сравнение вновь разработанных алгоритмов на основе единых тестовых данных, что повысило бы качество не только разрабатываемых алгоритмов, но и научных выводов. К сожалению, коммерциализация науки и введение в действие Федерального закона о персональных данных [1], в котором биометрические данные отнесены к персональным данным, создают трудности при создании общедоступной мультипараметрической базы. Тем не менее для нашей группы разработчиков важно иметь свою, пусть и не общедоступную, мультипараметрическую базу данных биометрических образцов. Кроме того, сам исходный код и принципы построения могут быть обнародованы, что, возможно, простимулирует создание таких баз при университетах и исследовательских центрах.
Рассмотрим ряд проблем, возникающих при работе с биометрическими системами распознавания в промышленной эксплуатации [2].
1. Шумы в распознаваемых данных. Примерами могут служить рубцы на отпечатках пальцев или изменение голоса при простуде. Шум может
© О.А. Вишнякова, А.Г. Казанцева, Д.Н. Лавров, 2013
быть следствием неисправности сенсора или его некорректной поддержки (например, накопленное загрязнение на датчике отпечатков пальцев) или следствием неблагоприятных условий окружающей среды (например, плохая освещенность лица пользователя в системах распознавания лиц). Как результат, зашумленные данные дают ложное отклонение при сопоставлении с шаблоном пользователя, и он будет отклонен (ошибка 1-го рода).
2. Изменчивость. Образец биометрических данных, полученных при регистрации пользователя, может существенно отличаться от экземпляра, поданного на вход системы аутентификации. Причиной может являться некорректное взаимодействие с сенсором записи данных, замена устройства либо его модификация.
3. Уникальность набора свойств. Отличительные особенности образца в алгоритме аутентификации могут быть потеряны при извлечении набора свойств. В результате при сравнении шаблонов, построенных по образцам при использовании подобных алгоритмов, возможно ошибочное сопоставление (ошибки 2-го рода).
4. Спуфинг. Возможен обман системы при предъявлении злоумышленником образца зарегистрированного пользователя (записи голоса, экземпляра подписи).
Эти недостатки монопараметрической биометрической системы могут быть устранены при использовании комбинации параметров. Решение об аутентификации в подобных системах принимается по суммарной оценке дифференцированных отклонений.
В настоящее время существует ряд мультипараметрических систем, к примеру, использующих комбинацию параметров по двум [3] либо по трем [4] параметрам, однако они предполагают коммерческое использование и недоступны для исследований.
Постановка задачи
Мы поставили перед собой задачу создания мультипараметрической базы данных образцов для решения разнородных исследовательских задач распознавания личности по биометрическим характеристикам (как задач идентификации, так и задач верификации), в том числе для реализации биометрического мультипараметрического протокола, для решения задач распознавания и синтеза речи, определения эмоционального состояния и т. д.
Под верификацией будем понимать метод распознавания личности, основанный на биометрическом параметре и на уникальном идентификаторе, который выделяет конкретного человека, под идентификацией - метод распознавания, основанный только на биометрических измерениях. При этом измерение сравнивается со всеми записями из базы зарегистрированных поль-
зователей, а не с одной из них, выбранной на основании какого-то идентификатора. Однако сложность применения заключается в трудоемкости алгоритма поиска в биометрической базе данных, так как образец необходимо сравнить с каждой записью базы.
Под аутентификационным протоколом будем понимать автоматизированный процесс принятия решения: действительно ли удостоверяющие данные объекта являются достаточными для подтверждения его личности, чтобы разрешить ему доступ на основании этих удостоверяющих данных или других знаков. Решение же, по сути, принимается по результату работы мэтчера, определяющего степень сходства между шаблонами, полученными из биометрических образцов. Назовем биометрическим шаблоном машинную репрезентацию биометрического образца в терминах свойств. В некоторых случаях сам образец может служить шаблоном, как, например, отпечаток пальца, в иных требуются алгоритмы построения вектора свойств по выбранным устойчивым признакам [5].
При разработке системы мы руководствовались следующими требованиями:
• хранение не менее трех биометрических параметров (учет как поведенческих, так и физиологических);
• обеспечение свободного доступа к хранилищу для проведения исследований в рамках университета;
• обеспечение целостности и непротиворечивости данных;
• защита данных от «растекания» (неотделимость образцов от базы данных);
• доступность сенсоров;
• легкоснимаемость параметров.
Выбор биометрических параметров
В качестве параметров были выбраны голос, почерк, походка и геометрия лица. Выбор обусловлен легкоснимаемостью, доступностью сенсоров и исследовательским интересом. При этом к каждой категории образцов предъявляются особые требования. В частности, для разработки устойчивых алгоритмов распознавания дикторов следует учитывать:
• фонетическую сбалансированность текста;
• различные стили произношения текста;
• различные акустические обстановки записи образцов;
• вариацию дикторов (по полу, возрасту и т. п.);
• различные технические характеристики записей;
• необходимость разметки на фонетические сегменты речевого материала.
Архитектура системы
К архитектуре системы были предъявлены следующие требования:
• деперсонификация биометрических данных;
• масштабируемость;
• возможность вести разработку в виде небольших слабо зависимых друг от друга приложений, которые могли бы обмениваться данными на основе общего формата;
• возможность интеграции с предметноориентированными системами типа SciLab.
Основным языком разработки был выбран язык Java, который, являясь объектноориентированным языком, обеспечивает компромисс между производительностью, переносимостью на различные платформы и архитектуры и ясностью и удобством при разработке.
Биометрические данные, на основе которых может быть идентифицирована личность, являются, согласно [1], персональными данными. Эффективным подходом к защите персональных данных является их деперсонификация (обезличивание в терминах Федерального закона о персональных данных [1]). Деперсонификация позволяет снизить требования к уровню защищенности данных и упростить защиту.
В разрабатываемой системе деперсонификация достигается путём вычисления односторонней криптографической функции SHA-256 от фамилии, имени, отчества и даты рождения субъекта в формате ”dd.MM.yyyy”. Уникальность полученного хэша и практическая необратимость хэш-функции позволяют проводить верификацию и идентификацию личности при компьютерном моделировании и добавлении новых данных в биометрическую базу без явного её раскрытия.
Проверка корректности на этапе ввода персональных данных через оконные формы вынесена в модель предметной области и реализована с помощью возможностей библиотеки hibernate-validator. Регулярные выражения для проверки являются константными атрибутами класса Subject.
Для возможности быстрой проверки ошибочного повторного внесения данных в базу предлагается в выборку (класс Sample) добавить хэш, вычисленный по алгоритму SHA-256, от выборочных данных sampleData. При добавлении данных в базу этот хэш можно будет сверять с хэшем, хранимым в базе для предотвращения дублирования одних и тех же данных, что отрицательно сказывается на качестве компьютерного моделирования по биометрическому распознаванию.
Для обеспечения масштабируемости приложений предлагается использовать наследование, как показано на рис. 1. Это позволяет легко добавлять в систему новые типы сенсоров и выборок («сырых» биометрических данных) для них.
Для возможности вести разработку в виде небольших слабо зависимых друг от друга приложений, которые могли бы обмениваться данными на основе общего формата, предлагается использовать паттерн «Фильтры и трубы». В качестве общего формата используется JSON. Сериализация и десериализация объектов осуществляется с помощью библиотеки GSON. Для корректной десериализации абстрактных классов и интерфейсов созданы классы-адаптеры, позволяющие определить, в какой именно объект, какого именно типа производится восстановление.
java::util::Date
Ж
birth Date
«enumeration»
Gender
male
female
Subject
subjectHash
comment
FIRST NAME REGEXP LAST NAME REGEXP
PATRONYMIC NAME REGEXP
gender
'f4—
subject
Sample
sampleData [1 ..*] sampleHash
~£-----------ZX
GaitSample
samplingRate
gscale
«create» GaitSample() getAccelX() getAccelY() getAccelZQ
java::sql::Timestamp
timestamp
Sensor
■4-
name description
VoiceSample
samplingRate
bitDepth
text
mono
«create» VoiceSample()
getLeftChannel()
getRightChannelQ
Microphone
Accelerometer
Рис. 1. Фрагмент UML-диаграммы классов предметной области
{
"samplingRate":44100,
"Ь^Бер'ЬЬ":32,
"text":"Аэрофотосъёмка ландшафта уже выявила земли богачей и...",
"топо"^гие,
"timestamp":1357718916880,
"sampleData":[[1.0,2.0,3.0,4.0, ...]],
"sampleHash":"8d6cf7542110eb2ebe5ad55 65fec5b2fdaf161a92e9e970900e0a7d84 0", "sensor":{
"name":"ZXC-210",
"description":"Микрофон для телеконференций (низкое качество)",
"type":"ru.omsu.fkn.ctn.bio.model.sensors.Microphone"
},
"subject":{
"birthDate":1289325600000,
"gender":"male",
"subjectHash":"d64a92e92 9a5708ccbad979eb98c0fb475392 94 691b3401753...", "comment":"Комментарий"
}
}
Рис. 2. Пример JSON-документа, являющегося результатом сериализации объекта класса VoiceSample
Пример JSON-документа для сохранения выборки записи голоса (сериализация объекта VoiceSample) представлен на рис. 2.
За счёт использования JSON-формата обеспечивается возможность интеграции с проблемно-ориентированной средой SciLab. Отметим, что SciLab имеет не только загружаемые библиотеки JSON, но и возможность прямых вызовов Java из скриптов SciLab, поэтому взаимодействие возможно не только через обработку JSON-файлов, но и напрямую. В частности, SciLab будет иметь возможность доступа к модели предметной области через Java классы (рис. 1).
Структура базы данных образцов
Общая схема базы данных (БД) образцов представлена на рис. 3. Для каждого образца в БД присутствует информация о субъекте, с которого снимались биометрические данные, об устройстве, при помощи которого они были собраны, и времени записи. Необходимо обратить внимание на то, что в разрабатываемой базе хранятся «сырые» данные, на основе которых и могут быть вычислены биометрические образцы и шаблоны в зависимости от применяемых алгоритмов параметризации.
GENDERS
PK GENDER ID
U1 GENDER NAME
FINGERPRINT_SCANNERS
PK,FK1 SENSOR ID
ACCELEROMETERS
PK,FK1 SENSOR ID
MICROPHONES
PK,FK1 SENSOR ID
SUBJECTS
PK SUBJECT ID
FK1 U1 GENDER_ID SUBJECT_UNIQUE_HASH SUBJECT BIRTH DATE SUBJECT_COMMENT
1 і f
SAMPLES
PK SAMPLE ID
FK1 SUBJECT ID
FK2 SENSOR ID
SAMPLE DATA
U1 DATA 1 E PL M SA H ASH H і
SAMPLE TIMESTAMP
ш SENSORS
PK SENSOR ID
U1 SENSOR_NAME SENSOR_DESCRIPTION
GAIT_SAMPLES
PK,FK1 SAMPLE ID
GAIT_SAMPLE_SAMPLING_RATE GAIT SAMPLE G SCALE
FINGERPRINT_SAMPLES
PK,FK1 SAMPLE ID
FK2 FK3 HAND_ID FINGER ID FINGERPRINT SAMPLE RESOLUTION
HANDS
PK HAND ID
U1 HAND NAME
SIGNATURE_SAMPLES
PK,FK1 SAMPLE ID
SIGNATURE SAMPLE SAMPLING RATE
VOICE_SAMPLES
PK,FK1 SAMPLE ID
VOICE_SAMPLE_TEXT VOICE_SAMPLE_SAMPLING_RATE VOICE SAMPLE BIT DEPTH VOICE_SAMPLE_MARKUP
FINGERS
PK FINGER ID
U1 FINGER NAME
TABLETS
PK,FK1 SENSOR ID
Рис. 3. Схема базы данных образцов: РК - первичные ключи; РК - внешние ключи; и - поля с ограничением уникальности; жирным шрифтом выделены обязательные
Таблицы GENDERS, HANDS и FINGERS являются справочниками.
Таблица SUBJECTS используется для хранения информации о субъектах, которым принадлежат биометрические образцы. Ее структура приведена в табл. 1.
Таблица SAMPLES является родительским классом по отношению к таблицам GAIT_SAMPLES, FINGERPRINT_SAMPLES, SIGNATURE_SAMPLES и VOICE_SAMPLES и содержит данные, общие для всех типов биометрических образцов. Её структура приведена в табл. 2.
Таблицы GAIT_SAMPLES, FINGERPRINT_ SAMPLES, SIGNATURE_SAMPLES и
VOICE_SAMPLES являются «подклассами» таблицы SAMPLES и содержат данные, отсутствующие в общем классе и относящиеся конкретно к образцам походки, отпечатка пальца, подписи и голоса соответственно. Их структура приведена в табл. 3-6.
Таблица SENSORS является «родительским классом» по отношению к таблицам ACCELEROMETERS, FINGERPRINT_
SCANNERS, MICROPHONES и TABLETS и содержит данные, разделяемые всеми типами сенсоров. Структура таблицы SENSORS приведена в табл. 7.
Таблица 1
SUBJECTS
Наименование поля Тип данных Описание
SUBJECT ID INTEGER Идентификатор субъекта
GENDER ID INTEGER Идентификатор пола субъекта, ссылается на поле GENDER_ID в таблице GENDERS
SUBJECT UNIQUE HASH CHAR(256) Уникальный хэш персональных данных субъекта
SUBJECT BIRTH DATE DATE Дата рождения субъекта
SUBJECT COMMENT VARCHAR Комментарий
Таблица 2
Структура таблицы SAMPLES
Наименование поля Тип данных Описание
SAMPLE ID INTEGER Идентификатор образца
SUBJECT_ID INTEGER Идентификатор субъекта, с которого снимался данный образец, ссылается на поле SUBJECT_ID таблицы SUBJECTS
SAMPLE DATA BLOB Содержимое образца
SAMPLE DATA HASH CHAR(256) Хэш содержимого образца
SAMPLE_TIMESTAMP TIMESTAMP Дата и время снятия образца
Таблица 3
Структура таблицы GAIT_SAMPLES
Наименование поля Тип данных Описание
SAMPLE ID INTEGER Идентификатор образца, ссылается на поле SAMPLE_ID таблицы SAMPLES
GAIT SAMPLE SAMPLING RATE INTEGER Частота дискретизации, в Гц
GAIT SAMPLE G SCALE INTEGER Диапазон измерения, в единицах ускорения свободного падения g
Таблица 4
Структура таблицы FINGERPRINT_SAMPLES
Наименование поля Тип данных Описание
SAMPLE ID INTEGER Идентификатор образца, ссылается на поле SAMPLE_ID таблицы SAMPLES
HAND_ID INTEGER Идентификатор руки, ссылается на поле HAND ID таблицы-справочника HANDS
FINGER_ID INTEGER Идентификатор пальца, ссылается на поле FINGER ID таблицы-справочника FINGERS
FINGERPRINT SAMPLE RESOLUTION X INTEGER Разрешение сканера по X
FINGERPRINT SAMPLE RESOLUTION Y INTEGER Разрешение сканера по Y
Таблица 5
Структура таблицы SIGNATURE_SAMPLES
Наименование поля Тип данных Описание
SAMPLE ID INTEGER Идентификатор образца, ссылается на поле SAMPLE_ID таблицы SAMPLES
SIGNATURE SAMPLE SAMPLING RATE INTEGER Частота дискретизации, в Гц
Таблица 6
Структура таблицы VOICE_SAMPLES
Наименование поля Тип данных Описание
SAMPLE ID INTEGER Идентификатор образца, ссылается на поле SAMPLE_ID таблицы SAMPLES
TEXT_ID INTEGER Идентификатор текста, ссылается на поле TEXT ID таблицы-справочника TEXTS
VOICE SAMPLE SAMPLING RATE INTEGER Частота дискретизации, в Гц
VOICE SAMPLE BIT DEPTH INTEGER Качество оцифровки звука, в битах на отсчёт
VOICE SAMPLE MARKUP VARCHAR Разметка фонем. Определяет начало новой фонемы в выборке
Таблица 7
Структура таблицы SENSORS
Наименование поля Тип данных Описание
SENSOR ID INTEGER Идентификатор сенсора
SENSOR NAME VARCHAR Наименование модели сенсора
SENSOR_DESCRIPTION VARCHAR Описание сенсора
Таблицы ACCELEROMETERS,
FINGERPRINT_SCANNERS, MICROPHONES и TABLETS являются «подклассами» таблицы SENSORS и содержат данные, относящиеся конкретно к акселерометрам, сканерам отпечатков пальцев, микрофонам и планшетам для подписей соответственно.
Заключение
В результате разработки проекта муль-тибиометрической базы данных
для компьютерного моделирования распознавания личности были решены следующие задачи:
1. Разработана модель предметной области, реализованная в виде классов на языке Java.
2. Разработана и реализована структура базы данных на основе СУБД MySQL.
3. Разработаны библиотеки для создания единого интерфейса для приложений сбора биометрических данных.
4. Разработаны методы валидации отдельных параметров классов предметной области.
5. Разработан формат обмена данными между биометрическими образцами.
В настоящее время работы над проектом продолжаются: разрабатываются и дорабатываются приложения по сбору биометрических данных (голоса, походки, почерка (росписи), лиц), разрабатываются скрипты импорта и экспорта данных, проектируется система проведения компьютерного моделирования биометрического распознавания.
ЛИТЕРАТУРА
[1] О персональных данных : Федеральный закон
Российской Федерации от 27 июля 2006 г. № 152-ФЗ. URL: http://www.rg.ru/2006/07/29/
personaljnye-dannye-dok.html.
[2] Jain A. K., Ross А. MultibiometricSystems // Communications of the ACM. 2004. Vol. 47. № 1. Р. 35-40.
[3] Nandakumar K. Multibiometric Systems: Fusion Strategies and Template Security : А Dissertation Submitted to Michigan State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy. Michigan State University, 2008.
[4] State-of-the-Art Data Management. URL: http://www. l1id.com/pages/36-multi-biometric-identification.
[5] Болл Р. М., Коннел Дж. Х., Панканти Ш., Рат-ха Н. К., Сеньор Э. У. Руководство по биометрии. М. : Техносфера, 2007. 368 с.