В РАН показали метод защиты мобильных устройств от спуфинга

Ученые Федерального исследовательского центра «Информатика и управление» Российской академии наук и Московского физико-технического института разработали метод выявления спуфинга в мобильных системах распознавания по лицу с помощью штатной стереокамеры. Авторы разработки говорят, что их способ быстро работает на современных мобильных процессорах, поэтому его можно применять в биометрических системах с малыми вычислительными ресурсами.

818136c60d13caf8c19c6a273fed110e.jpg

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

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

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

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

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

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

Рис. 1. Определение ориентации лица на изображении. Среди точек, полученных при образмеривании, содержатся положения центров глаз, чьи координаты можно использовать для определения ориентации входного растра. Значение R задает угол, на который требуется повернуть исходный растр против часовой стрелки, чтобы ориентация лица на нем стала естественной.Рис. 1. Определение ориентации лица на изображении. Среди точек, полученных при образмеривании, содержатся положения центров глаз, чьи координаты можно использовать для определения ориентации входного растра. Значение R задает угол, на который требуется повернуть исходный растр против часовой стрелки, чтобы ориентация лица на нем стала естественной.

Нейросеть научилась отличать настоящее лицо от плоского поддельного на расстоянии от 20 до 60 см при помощи информации о глубине сцены.

Рис. 2. Маски принадлежности пикселей к переднему плану: а – настоящее трехмерное лицо, ясно выделяющееся на более глубоком фоне с помощью сдвига пикселей на стереизображениях; б – плоская подделка в виде изображения лица на экране.Рис. 2. Маски принадлежности пикселей к переднему плану:, а — настоящее трехмерное лицо, ясно выделяющееся на более глубоком фоне с помощью сдвига пикселей на стереизображениях; б — плоская подделка в виде изображения лица на экране.

Затем метод протестировали на наборах общедоступных и собранных вручную стереоизображений. Полученные фотографии частично использовались для создания изображений подделок следующих типов: распечатка лица, лицо на экране высокого разрешения и лицо на небольшом дисплее мобильного устройства. Всего база изображений включала 43 721 настоящее лицо, снятое при разных условиях освещенности и расстояниях до стереокамер, и 12 221 подделку.

Рис. 3. Примеры подделок: а – лицо на небольшом дисплее мобильного устройства; б – распечатка лица; в – лицо на экране высокого разрешения.Рис. 3. Примеры подделок:, а — лицо на небольшом дисплее мобильного устройства; б — распечатка лица; в — лицо на экране высокого разрешения.

Тесты показали, что метод по точности выявления подделок сравним с описанными в литературе аналогичными подходами, но отличается малым временем выполнения на современных мобильных процессорах (не дольше 65 мс на одном ядре процессора Qualcomm Snapdragon 888).

© Habrahabr.ru