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

Задача
Разработать технологию преобразования изображения лица в криптографический ключ
Преобразование должно связывать изображение лица пользователя с заданным криптографическим ключом
Преобразование в криптографический ключ должно соответствовать требованиям
ГОСТ Р 52633.0-2006
Длина криптографического ключа должна составлять
128 бит
Преобразование в криптографический ключ предназначено для верификации пользователей в контролируемых условиях
Результат

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

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

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

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

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





