ноябрь 2019

Используется в продукте Face SDK

logo_deepmark_black

 Задача 

Разработать технологию преобразования изображения лица в криптографический ключ

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

Преобразование в криптографический ключ должно соответствовать требованиям

ГОСТ Р 52633.0-2006

Длина криптографического ключа должна составлять

128 бит

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

 Результат

train-code-640

 Процесс 

Проектируем архитектуру для использования преобразователя совместно с глубокой нейронной сетью

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

Нейросетевой преобразователь биометрия-код (НПБК) решает задачу биометрического шифрования. НПБК согласно ГОСТ Р 52633.0-2006 представляет собой MLP. Обучение преобразователя выполняется с помощью датасета "Все Чужие" и датасета "Свой".

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

scheme-nbcc-tight-crop

Оцениваем применимость преобразователя для условий 'in the wild'

Формируем датасет для тестирования преобразователя для изображений лиц, полученных в неконтролируемых условиях - любые углы поворота лица, частичное перекрытие, низкое разрешение. Используем базы Labeled Faces in the Wild и YouTube Faces Database. Строим гистограмму распределения качества для каждого признака в выходном векторе (embedding vector).

qualities-lo_

Среднее качество ниже рекомендуемого ГОСТ Р 52633.5-2011, что говорит о том, что преобразователь в данных условиях плохо примененим.

Тем не менее оцениваем, насколько снижается точность верификации в случае использования преобразователя. Строим кривые RoC. Для базовой версии алгоритма распознавания сраниваем векторы признаков на выходе глубокой нейронной сети с помощью косинусной меры. Для версии с преобразователем - выходной код преобразователя с помощью меры Хемминга.

roc-lo_

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

 

Оцениваем применимость преобразователя для контролируемых условий

Оцениваем изменение точности в случае использования в контролируемых условиях - некритичные углы поворота лица, хорошее разрешение. Используем собственный датасет видеороликов верификаций пользователей. Оцениваем распределение качества признаков выходного вектора.

 

qualities-hi_

Среднее качество признаков удовлетворяет ГОСТ Р 52633.5-2011. Оцениваем точность по кривой RoC относительно базового алгоритма. Применение НПБК при равных FPR снижает TPR относительно алгоритма верификации без НПБК, но в допустимых пределах (3-5%).

roc-hi__