30 мая 2016

Куда движется современная биометрия

Биометрия это такая тема, которая сопровождается мифами и легендами. Про 99% точность, надёжность, про прорывные технологии, про распознавание людей Вконтакте. Пару дней назад была статья про Сбербанк, например. Рассказывая про биометрию очень просто манипулировать информацией: мало кто из людей чувствует статистику.

Лет пять назад я уже писал на Хабре серию статей про биометрию и то как она устроена (1, 2, 3). Как ни странно, за эти годы достаточно мало что изменилось, хотя изменения и произошли. В этой статье я попробую как можно более популярно рассказать про сегодняшние технологии, про то какой прогресс идёт и почему к словам Грефа о том, что к словам «карта, основная задача которой состоит в идентификации, уходит в прошлое» стоит относится с скептицизмом.

Самое главное


В биометрии есть одна главная характеристика, которая определяет качество любой системы. Точнее их две, но они неразрывны:
• Вероятность ложного сопоставления с объектом в базе (вероятность ложного допуска, FAR- false access rate)

• Вероятность отказа распознавания объекта находящегося в базе (FRR — false reject rate)

Написать программу с 100% точностью подтверждающей личность человека может каждый из вас за минуту. Нужно просто всегда выводить «да, это искомый человек». Только вот ложное сопоставление у такой программы тоже будет 100%. Сможет пройти любой человек.
Теперь вы знаете, что когда Греф говорит про 99.9% точности — то вам что-то недоговаривают.

Пару слов о точности


Точность это вообще такая штука, про которую сложно говорить в контексте больших цифр. 99.9% это много или мало? А вероятность 90%, может это достаточно?

Возьмём FAR равным 0.1% (хвалёные 99.9%). Предположим, что сам с собой человек совпадает всегда (FRR=0, хотя это будет далеко не так).
Предположим, в вашей компании работает 100 человек и вы хотите сделать учёт рабочего времени. При FAR=0.1% человек будет принят за кого-то другого примерно в 100*0.1=10% случаев. То есть из 100 сотрудников 10 человек будут проходить как другие люди каждый день.

С другой стороны, данных характеристик хватает в тех случаях, когда у человека есть карта доступа. Чтобы проникнуть на ваше предприятие ему понадобиться воспользоваться картой примерно 1000 раз, чтобы сойти за её владельца. При минимальной охране это невозможно
Точности 0.1% FAR вполне достаточны так же для обеспечения верификации пользователя CALL-центра (после того как он представился, или после определения его номера телефона), но не для идентификации.

Пока что рассмотрим другой пример. Вероятность по глазу (один из самых точных методов распознавания) принять одного человека за другого (FAR) — 0.00001%. Кажется, что это очень хорошо? Но если в нашем банке миллион клиентов, а мы не используем карточки? А значит это, что у каждого пользователя с вероятностью 10% у нас выпадает джекпот — доступ к чужому счёту.
Конечно, можно распознавать по двум глазам, всё будет значительно лучше, вероятность ложного доступа будет всего 0.0001%. Но если за день банкоматами пользуются хотя бы 100 тысяч человек, то каждый день с вероятностью 10% мы будем иметь один ложный доступ к чужому счёту.

Хитрости в процентах


В реальности вас обманывают. Как я говорит, всё написанное выше без учёта FRR. Ошибочный отказ доступа тоже неприятен. Как его считают разработчики:
• Самые честные делают так: берём открытую базу с биометрическими характеристиками, считаем что получается.
• Жуликоватые производители выкидывают из базы одного-двух человек, которые портят всю статистику. Такие люди всегда есть.
А теперь секрет. Первый пункт это тоже обман. Хотя и законспирированный. Открытые базы — это зачастую идеальные картинки/данные, которые набирали в лаборатории при правильном освещении/уровне шумов. Все нерезкое/двусмысленное из таких баз убирают вручную.
В реальности всё не так хорошо. Предположим я хочу пройти по радужке глаза или по лицу или по венам рук (и там и там сканеры очень похожи). С чем я могу столкнуться?
1. Сканер не заметит, что у него кто-то появился в поле зрения
2. Сканер неправильно выставит фокус
3. Сканер засвечен солнцем
4. Сканер захватит не то что нужно
5. Параметры моей биометрической характеристики находятся вне пределах работы алгоритма: огромная/маленькая рука, ожог лица, изменённая геометрия радужки
6. Базы на которых работает алгоритм распознавания голоса обычно набирают не в метро и не на самых плохих телефонах.
Всё это не учитывается при подсчёте FRR.
В результате алгоритм, который даёт 0.1% отказов при распознавании человека по базе зачастую даёт 20-30% в реальных условиях. И это не проблема базового алгоритма, зачастую это проблема используемой техники или условий в которых она используется.
Эти 20-30% пользователей пробуют повторить распознавание во второй, третий, четвёртый раз. Статистика FAR растёт.

Ошибки

А есть люди, которые вообще не работают. Например по отпечаткам пальцев. Нам рассказывали, что на химзаводе 20% персонала не имело отпечатков, которые мог бы захватить сканер. Есть люди с заболеванием глаз/рук/голоса/лица, которые НИКОГДА не распознаются. В принципе.
Для каждого алгоритма есть определённый процент таких людей. Производители зачастую его умалчивают или сами не знают, если не имели опыта большого внедрения.

Люди

Люди не любят пользоваться чем-то новым. В особенности если оно их контролирует. Не хотят учиться. Я видел людей, которые принципиально не могли отсканировать свою руку. Всегда прикладывали с ошибкой и не слушали советов. Видел людей которые панически боялись сканирования глаза (это даже какая-то распространённая фобия). А уж сколько людей пытаются поломать ненавистные им сканеры по учёту рабочего времени, завесив тряпкой/замазав или испачкав камеру.
Да, установив сканер компании могут забыт такую тривиальную вещь, как периодически протирать его тряпочкой. Статистика падает.

Системы


Но, давайте отвлечёмся и поговорим конкретно про существующие системы. Что произошло в последние годы и куда идёт прогресс. Всё-таки вчера Сбербанк заявлял о принципиально новых решениях.
Пара общих слов. Прогресс не стоит на месте, но экспоненциального роста нет. Например новомодный Deep Learning, который в последнее время всё рвёт и мечет, затронул лишь несколько областей биометрии. Зато происходит безумный прогресс в электронике. Вычислительная мощь появляется в каждой плате. Raspberry Pi, Jetson, и.т.д.
Большая часть написанного нами 5 лет назад по прежнему актуальна. Основные изменения я попробую отразить.

Серьезная биометрия

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

Глаза

Моя любимая тема — распознавание по радужке глаза. статистически это самая мощная и быстрая технология. У неё всегда было два больших минуса. Цена аппаратуры и удобство использования. Сейчас идёт планомерное развитие именно в этих направлениях. Есть существенные ограничения накладываемые оптикой, которая более-менее дошла до своего предела. Скорее всего в ближайшие годы произойдёт некоторое продвижение технологии за счёт новой базы по электронике. Пока что используется достаточно редко.

Пальцы

Пять лет назад мне казалось, что распознавание по папиллярному узору достигло всего чего только могло. Как я ошибался. За последние годы было выдвинуто много принципиально новых идей:
• Распознавание по 3d образу пальца. Есть несколько конкурирующих алгоритмов, но найти смог только эту ссылку. Разница — в используемом 3д сканере

• Распознавание по сосудам видным в ИК. Опять же, как я видел на выставках, сейчас есть несколько конкурирующих идей

• Принципиально другая математика, не завязанная на стандартные дактилоскопические признаки. Применение адекватных моделей пальца и корреляционных алгоритмов.
Если честно, то я даже не знаю характеристик большей части всех этих новых систем. Они лучше, чем обычная биометрия по пальцам. Говорят, что сильно меньше процент неработающих людей. Точно более высокая цена, чем у стандартных сканеров пальцев.
Пока нет баз на которых можно было бы независимо опробовать и подтвердить проценты. Каждый производитель создаёт свой специфичный сканер — в этом его новизна и уникальность.

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

Вены рук

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

За последние годы несколько подешевела аппаратная база, но в целом — технология сейчас достаточно стабильна.

3д лицо

Алгоритм по 3д лицу напрямую привязаны к существующим 3д сканерам и их цене. Этим обусловлено их развитие. Сама по себе характеристика неплохая, сравнимая с венами рук. Но значительно удобнее и чем вены и чем радужка. Достаточно просто посмотреть на сканер и вас пропустило.
Так как 3д сканеров сейчас существует десяток, то на каждый из них может быть своя система. Точность системы обычно обусловлена качеством сканера. Например можно распознавать лица и через RealScense, но высокой точности не будет.
Для большинства систем, данное направление — одно из самых дорогих по цене сканера. Многие фирмы не озвучивают ценник.

Биометрия для специальных целей

Вся биометрия которую я отметил выше была ещё 5 лет назад. Пусть чуть-чуть в другом формате. Но два направления потерпели за эти годы принципиальное развитие. Они не стали «серьезными методами», но они стали работоспособными. Это верификация по голосу и по 2д лицу. Лет пять назад их было практически невозможно использовать. Сейчас они достаточно неплохо закрепились в задачах верификации (подтверждения личности человека) и в задачах прореживания базы. И там и там метод должен использоваться в качестве «подсказки» для оператора. Например:
• В колл-центрах для подтверждения личности говорящего (голос)
• В магазинах для того чтобы продавец сразу видел что купил покупатель в прошлые разы + обращаться по имени-отчеству (лицо)
• Find Face (лицо)
• Банки перед выдачей кредита (лицо, голос)
Данные методы не дают однозначный результат, но могут быть привлекательны для бизнеса. Именно тут применим нашумевший Deep Learning и тут идёт основной прогресс.
Предсказать, что произойдёт с этими методами в ближайшие годы — невозможно.

Биометрия Just for lulz

Я не знаю как по другому назвать эту биометрию. Конечно, она даёт какую-то вероятность правильно распознать человека и откинуть злоумышленника. Наверное шкафчик в гардеробе запереть можно. Или телефон запаролить, если там ничего важного нет. Но на большее я бы не рассчитывал.
• Биометрия по электрокардиограмме
• Биометрия по почерку
• Биометрия по походке
Где-то раз в пару месяцев на Хабре обязательно бывает статья про что-то очередное из этой серии. Идентификация по тому, как человек держит телефон. Или по тому, как стучит по клавиатуре. Это очень плохие методы, которые при желании всегда можно обойти, которые генерят больше проблем, чем решений.

Умершие методы

Ещё есть пара методов, про которые давно ничего не слышно. Неудобство использования, сложность оборудования, плохая точность:
• Биометрия по сетчатке глаза
• Биометрия по геометрии рук

Что не так с проектом Сбербанка.


Теоретически всю страну можно загнать в биометрическую базу и распознавать по ней. Наверное даже правильно собранный сканер радужки, работающий по двум глазам и 3D лицу — справится с задачей. Но цена такого сканера будет высока. Плюс — его нет на рынке, нужно разрабатывать с нуля.
Проблемы будут те же — мы получим 5-10% пользователей кто не сможет им пользоваться. В масштабах страны это очень много.
Под проектом может не скрываться ничего нового. Возможно имеется ввиду телефонный банкинг + выдача кредитов. Там биометрия давно используется в других банках.
В теме биометрии я периодически кручусь с 2008 года. В основном как разработчик, иногда как консультант. И ещё в 2009 многие банки интересовались этой технологией. Встраивали биометрию в тестовые банкоматы, например. Но ничего тогда не пошло. Принципиально новых технологий с тех пор нет (за исключением Deep Learning лиц и голоса, которые уже используются банками). Меня удивляет вновь оживший интерес к теме.
Так же мне непонятно как реализовать «отказ от карточек» при расплате в магазинах. Сейчас цены хороших и надежных биометрических сканеров начинаются где-то от 600 долларов. Скорее это в районе 1000, особенно с учётом интеграции. И цена во многом оправданна чисто на уровне железа. Ладно, положим, что при миллионных тиражах можно достигнуть 400. По сравнению с мобильными терминалами — это существенная цена.
Если же делать свой сканер глаза+лицо — это несколько тысяч долларов.
Если же работать в режиме «верификация» с дешевыми сканерами пальцев — карточка нужна по прежнему.

Источник: Хабрахабр / Информационная безопасность / Интересные публикации