Перейти к содержанию

LUNA PASS API#

Общий принцип работы LUNA PASS API следующий:

  • на вход приходит кадр;
  • LUNA Remote SDK оценивает и проверяет кадр;
  • последовательно выполняются плагины, если они включены:
  • плагин FaceMatcher;
  • плагин VirtualCameraChecker;
  • плагин ActiveLiveness;
  • рассчитывается агрегированное значение Liveness, Deepfake, наличие модификации изображения, а также проводится оценка рта, статуса глаз и типа очков;
  • анализируется полученный результат работы плагинов и проверок.

По умолчанию все плагины включены.

Процесс оценки кадра#

Процесс оценки кадра — последовательное выполнение проверок. Описание проверок представлено ниже (Таблица 5).

Таблица 5. Проверки для оценки кадра

Проверка

Описание

Multiface

Является ли лицо:

  • единственным в кадре;

  • самым крупным (главным) в кадре;

  • ближайшим к центру

Качество изображения

  • размытость;

  • засвеченность;

  • затемненность;

  • наличие бликов на лице;

  • контрастность

Размер и позиция лица в кадре

Отступ границы лица от границы кадра:

  • сверху;

  • снизу;

  • справа;

  • слева;

Размер кадра:

  • по ширине;

  • по высоте;

Размер лица в кадре:

  • по ширине;

  • по высоте

Положение головы

  • угол наклона головы вправо/влево (roll);

  • угол наклона головы вверх/вниз (pitch);

  • угол поворота головы вправо/влево (yaw)

Состояние глаз

  • глаза открыты;

  • глаза закрыты

Статус рта

  • рот открыт;

  • обнаружена улыбка;

  • рот перекрыт

Наличие очков

  • очки отсутствуют;

  • очки присутствуют;

  • солнцезащитные очки

AGS, общая метрика качества изображения

\—

Liveness

Позволяет обнаруживать атаки на биометрическое предъявление

Deepfake

Позволяет обнаруживать подмену лиц с помощью технологии DeepFake на фотоизображениях

Модификация изображения

Позволяет автоматически определять факт модификации/редактирования изображения по наличию характерных артефактов:

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

Если кадр не прошел одну из проверок, тогда анализируется следующий кадр. Пользователь при этом видит соответствующие подсказки на странице с LUNA PASS UI.

Включите и настройте плагины через сервис Luna Configurator: http://{host}:5070/dashboard/settings.html — адрес сервера, порт 5070, /dashboard/settings.html.

Принцип работы плагина FaceMatcher#

Позволяет обрывать сессию, если на двух кадрах в рамках одной сессии обнаружены несколько основных лиц. Установите параметр previous_face_similarity = 0.85.

Описание общего принципа работы плагина FaceMatcher:

Если пришел только первый кадр, Facematcher запоминает фотографию лица. Если пришел второй кадр, Facematcher сравнивает фотографию лица с пришедшего кадра с фотографией лица предыдущего кадра:

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

  • если на фотографиях с двух кадров лица одинаковые, то кадр отправляется для дальнейших проверок

Описание работы плагина VirtualCameraChecker#

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

Принцип работы плагина ActiveLiveness#

Позволяет подтвердить витальность человека по нескольким кадрам, на которых пользователь взаимодействует с Сервисом: моргает, поворачивает голову влево-вправо по оси Y, наклоняет голову вверх-вниз по оси X. Описание общего принципа работы плагина представлено ниже (Таблица 6).

Таблица 6. Описание общего принципа работы плагина ActiveLiveness

Шаг

Описание

1

Выбирается произвольный набор проверок, количество которых задаётся в настройках.

2

Если проверка текущего кадра на Liveness не пройдена, то плагин генерирует ошибки. Ошибки подскажут, что должен сделать пользователь, чтобы пройти проверку.

3

Проверки ActiveLiveness#

Моргание

Проверка начинается в момент, когда открыты оба глаза, либо открыт один глаз и включен параметр accept_one_eye_open. Для того, чтобы проверка считалась пройденной, далее должны прийти два кадра: с закрытыми глазами и снова с открытыми, либо, при включенном параметре accept_one_eye_open, — кадр с одним закрытым глазом и кадр с открытым.

Повороты головы

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

Запрокидывание головы

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

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