Северный (Арктический) федеральный университет им. М.В. Ломоносова
Опубликован: 23.08.2014 | Доступ: свободный | Студентов: 312 / 55 | Длительность: 11:13:00
Лекция 4:

Биометрические системы информационной безопасности на основе Intel Perceptual Computing SDK

4.3.2. FastAccess Pro

Программное обеспечение FastAccess Pro, разработанное компанией Sensible Visoin, обеспечивает быстрый, безопасный и интересный доступ к компьютеру пользователя и веб-сайтам и при этом экономит электроэнергию.

Технология распознавания лиц существенно снижает необходимость входа в систему вручную с использованием паролей, при этом обеспечивая более высокий уровень безопасности и функциональность, чем в случаях использования паролей. Пользователь может настроить FastAccess Pro для безопасного запоминания паролей для входа в систему, на веб-сайтах и синхронизации этих данных на различных устройствах (под управлением Windows, Android и iOS), автоматического переключения между различными учетными записями Windows, а также, в виде дополнительной опции, для блокировки компьютера, когда он не используется. Функция EcoAware позволяет экономить (электричество), разумно управляя электропитанием ПК и не влияя на его производительность. Когда лицо пользователя уходит за пределы поля зрения веб-камеры, энергопотребление компьютера существенно снижается.

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

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

Настройка уровня защиты

увеличить изображение
Рис. 4.6. Настройка уровня защиты

Для повышения уровня защиты можно настроить активацию второго элемента защиты, который будет использоваться вместе с системой распознавания лиц для получения доступа. Добавление второго элемента сделает процесс распознавания более сложным и обеспечит дополнительную защиту от атак с применением фотографий или видеоизображений. Второй элемент может состоять из набора секретных фигур (от 1 до 4), секретного жеста или стандартного пароля Windows. Использование секретных фигур или жеста особенно удобно на ноутбуках, поддерживающие сенсорный ввод. Если в качестве второго элемента выбраны секретные фигуры, тогда пользователю необходимо будет выбрать правильные фигуры (выбранные им при настройке FastAccess) на поле 4х4. Фигуры могут быть даны в фиксированном порядке или случайном, в зависимости от настроек пользователя. Секретный жест или шаблонное движение пальцем по экрану представляет собой сетку 3х3, на которой необходимо повторить шаблон пользователя, соединив 4 или более точки. Метод аналогичен методу, использующийся для разблокировки некоторых смартфонов.

Процесс задания секретного жеста и секретных фигур

увеличить изображение
Рис. 4.7. Процесс задания секретного жеста и секретных фигур

Для безопасного хранения имен пользователей и паролей для различных веб-сайтов используется функция "Вход на веб-сайты". При использовании данной функции вход на веб-сайты доступен только при условии распознания лица пользователя. Учетные данные (имена пользователя и пароли) можно хранить на локальном носителе, либо же в облаке FastAccess - безопасном онлайн-хранилице. Облако FastAccess синхронизует зашифрованные учетные данные на всех устройствах пользователя под управлением iOS, Android и других компьютеров с операционной системой Windows, на которых установлено программное обеспечение FastAccess.

Пример входа на веб-сайт при помощи FastAccess

увеличить изображение
Рис. 4.8. Пример входа на веб-сайт при помощи FastAccess

Бесплатная пробная версия продукта доступна на сайте: http://www.sensiblevision.com/ru-ru/home.aspx

4.4. Описание алгоритмических подходов к решению задачи

4.4.1. Алгоритмы распознавания лица

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

  • выделение того или иного признака объекта;
  • объединение признаков в комплексы или классы;
  • выбор предполагаемого значения из ряда альтернатив.

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

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

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

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

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

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

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

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

4.4.2. Алгоритм распознавания голоса

Метод идентификации диктора на основе вычисления акустических параметров речи с помощью метода Мел-кепстральных коэффициентов (MFCC - Mel-frequency cepstrum coefficients) является наиболее популярным способом, так как MFCC можно применять на зашумленных/телефонных записях, а также, потому что MFCC вектора не подтверждены влиянию эмоционального состояния диктора. Основной идеей метода MFCC является максимальное приближение информации, поступающей на вход системы, к информации, поступающей на слуховой анализатор мозга человека.

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

X_k=\sum\limits_{n=0}^{N-1}x_n e^{-\frac{2\pi i}{N}kn}\qquad k=0,\ldots,N-1

N - длина кадра, x_n - амплитуда n-го сигнала.

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

Блок фильтров одинаковой площади, распределенных по мел-шкале

Рис. 4.9. Блок фильтров одинаковой площади, распределенных по мел-шкале

На рисунке показаны первые 32 фильтра, которые покрывают диапазон частот 133-3954 Гц. Частотные центры первых тринадцати из них распределены по линейному закону в диапазоне 200-1000 Гц, а следующие 19 распределены логарифмически. Это связано с особенностями восприятия человеческого уха. Мел-шкала была получена в результате экспериментов, таким образом, чтобы наиболее точно моделировать чувствительность человеческого уха. Вычисление мел-значений можно приблизительно представить следующей формулой:

m=2595\log_{10}\left(1+\frac{f}{700}\right)=1127\log_e \left(1+\frac{f}{700}\right)

m - частота в мелах, f - частота в герцах.

Каждый из фильтров определяется по формуле:

H_m=\left\{\begin{array}{cc}0&k<f[m-1] \\ \frac{(k-f[m-1])}{(f[m]-f[m-1])}&f[m-1]\le k<f[m] \\ \frac{(f[m+1]-k)}{(f[m+1]-f[m])}&f[m]\le k\le f[m+1] \\ 0&k>f[m+1]\end{array}\right.

Для которой частоты f[m] получают из равенства:

f[m]=(\frac{N}{F_s})B^{-1}(B(f_1)+m\frac{B(f_h)-B(f_1)}{M+1})

Где B(b) - преобразование значения частоты в мел-шкалу, соответственно,

B^{-1}(b)=700*(e^{(b/1127)}-1)

После этого можно вычислить энергию для каждого кадра:

S[m]=\ln(\sum\limits_{k=0}^{N-1}|X_\alpha[k]|^2 H_m[k]),\quad 0\le m<M

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

c[n]=\sum\limits_{m=0}^{M-1}S[m]\cos(\pi n(m+1/2)/M),\quad 0\le n<M

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

d_1(\mathbf p,\mathbf q)=||\mathbf p - \mathbf q||_1=\sum\limits_{i=1}^n|p_i-q_i|,

Если минимальное расстояние меньше некоторого порога, то считается, что диктор распознан.

4.5. Интеграция возможностей модулей Intel Perceptual Computing SDK для реализации многоуровневой системы информационной безопасности, основанной на биометрической информации

Intel Perceptual Computing SDK имеет в своем составе несколько модулей, которые можно использовать в рамках реализации методов защиты информации на основе биометрии:

4.5.1. Идентификация человека по лицу

Модуль Face Recognition интерфейса PXCFaceAnalysis работает следующим образом: модуль сравнивает изображение (которое содержит лицо человека, сидящего перед камерой) с изображениями из заранее определенного множества. Человек ассоциируется с наиболее похожим изображением из этого множества и опознается. Приложение необходимо поддерживать множество изображений.

Пример 4.1 демонстрирует простой пример расчета сходства двух изображений. Приложение создает по экземпляру Model для каждого изображения, выполнив функцию ProcessImageAsync, а затем функции CreateModel. Экземпляр Model является абстракцией набора данных, который однозначно представляет лицо на изображении, для последующего сравнения. Затем приложение использует функцию Compare для расчета сходства между двумя моделями.

PXCMFaceAnalysis.Recognition.Model createModelFromImage (PXCMImage image) {
 PXCMImage[] images=new PXCMImages[] {image,null,null,null};
 PXCMScheduler.SyncPoint sp;
 face.ProcessImageAsync(images,out sp);
 sp.Synchronize();
 sp.Dispose();
 
 int fid;
 face.QueryFace(0, out fid);
 
 PXCMFaceAnalysis.Recognition rec = face.DynamicCast<PXCMFaceAnalysis.Recognition> (PXCMFaceAnalysis::Recognition.CUID);

 PXCMFaceAnalysis.Recognition.Model m1;
 rec.CreateModel(fid, out m1);
 return m1;
}

Bool IsSimilar(PXCMImage image1,PXCMImage image2) {
 PXCMFaceAnalysis.Recognition.Model[] ref = new PXCMFaceAnalysis.Recognition.Model[] {
  createModelFromImage(image1)};
 PXCMFaceAnalysis.Recognition.Model cur = createModelFromImage(image2);
 
 uint index;
 return cur.Compare(ref, null,out index) >=pxcmStatus.PXCM_STATUS_NO_ERROR;
}
        
4.1.

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

4.5.2. Использование голоса для идентификации человека

Модуль Voice Recognition в режиме диктанта позволяет распознавать короткие предложения (меньше 30 секунд), в результате которого приложение выдаст предложение или слово наиболее похоже на то, которое было продиктовано. В настоящее время модуль распознавания речи поддерживает английский, немецкий, французский, испанский, китайский, португальский, японский языки, разработчики планируют добавлять возможность работы с другими языками, в том числе и с русским.

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

Для более подробного изучения интеграции модулей Intel Perceptual Computing SDK и реализации идентификации человека на основе биометрии смотрите соответствующую практику.

Контрольные вопросы

  1. В чем преимущество биометрических способов идентификации?
  2. В каких сферах использование биометрических методов идентификации наиболее оправдано?
  3. Проследите относительные показатели FAR и FRR для систем, основанных на разных биометрических методах идентификации (отпечатки пальцев, геометрия рук, почерк и т.д.)
  4. Какого вида приложения, использующие биометрические виды идентификации могут использоваться в повседневной жизни?
Дмитрий Юнушкин
Дмитрий Юнушкин

В лабораторной работе №2 (идентификация лица) сказано:

в FaceTracking.cs: удалим или закомментируем функцию SimplePipelineкласс MyUtilMPipeline и изменим функцию AdvancedPipeline...

Класса MyUtilMPipeline  нет в проекте вообще;

Функции AdvancedPipeline так же нет. Материалов к лабораторной  №2 в начале работы (по ссылке открывается та же страница) тоже нет.Это ошибки или используется другая версия примера?