Наши статистические красавицы закончили наводить марафет и погрузились в сладостный, волшебный, поэтический мир сводок, цифр, отчетов, планов и смет.  (К/Ф "Служебный роман", режиссёр -- Э. Рязанов) В предыдущей статье «Биометрия в платежах» я рассмотрел основные технологии, используемые для аутентификации и идентификации человека по лицу (face recognition). Я описал принципы работы алгоритмов нахождения лица на снимке, распознавания черт лица и создания биометрических шаблонов. В этой статье я остановлюсь подробнее на оценке качества работы решений по идентификации и аутентификации пользователя по лицу. Формирование базы данных пользователей Допустим новый пользователь хочет зарегистрироваться в системе. Сначала он на личном (мобильный телефон, планшет) или на стационарном (биометрический киоск) устройстве вводит предварительные данные: возможно ФИО, выдуманное имя-nickname (может, например, использоваться в программах лояльности), номер телефона, и т.д. Затем происходит формирование биометрического образца, в случае с использованием лицевой биометрии – по фотографии, по кадру съемки. Кратко еще раз опишу этот процесс: сначала на фотографии выделяется область, в которую попадает лицо человека, затем изображение лица переводится в биометрический образец-вектор. Образец-вектор представляет собой точку в многомерном пространстве, размерность которого зависит от количества характеристик лица, используемых алгоритмом. После этого образец-вектор пересылается на сервер распознавания, где хранятся записи образцов пользователей. Сначала происходит первичное сравнение нового образца с имеющимися для проверки, что пользователь еще не зарегистрирован. Если пользователь не найден, для него создается досье с уникальным идентификатором. Новый образец помещается в досье и представляет собой первый, титульный образец для данного пользователя. В дальнейшем при каждом успешном прохождении идентификации досье пользователя может пополняться новыми образцами для последующего использования в сравнениях. Каждый человек подвержен изменениям: может изменить прическу, набрать или сбросить массу тела, может быть уставшим или, наоборот, бодрым. Чем больше образцов пользователя в досье, тем надежнее окажутся результаты идентификации и аутентификации пользователя системы. Задачи идентификации и аутентификации, показатель сходства Напомним определения, данные нами в прошлой статье:  Задача идентификации состоит в нахождении объекта по определенному признаку среди многих похожих между собой. Также такую задачу называют сравнением 1:N (один ко многим), где N – общее количество объектов, по которым идет поиск Задача аутентификации состоит в подтверждении достаточного сходства объекта со своим образом, записанным ранее. Также задачу называют сравнением 1:1 (один к одному)  Итак, обе задачи в приложении к распознаванию человека по лицу подразумевают сравнение биометрических образцов. Обычным результатом единичного сравнения, то есть сравнения двух биометрических образцов, является показатель сходства – величина, принимающая значения от 0 до 1. В большинстве случаев он определяется решением не вполне явно, то есть является результатом вычисления расстояния (по одной из метрик, например, как обычное евклидово расстояние) между векторами биометрических образцов, которые (расстояния) в свою очередь вычисляются нейронными сетями. Результат работы нейронных сетей не всегда может быть легко интерпретируем, как мы наблюдали в примере с «собственными лицами», поэтому сама нейронная сеть может рассматриваться как «чёрный ящик», на выходе дающий вектор характеристик биометрического образца. Говоря неточно, можно думать о показателе сходства как о некой «вероятности сходства», которая тем больше, чем более похожи сравниваемые биометрические образцы (лица). Однако, отмечу принципиальное различие между ответами, которые выдают алгоритмы идентификации и аутентификации: в первом случае система в качестве результата выдает последовательность (обычно упорядоченную по убыванию) значений показателей сходства, также называемую вектором показателей сходства. Эта последовательность определяет набор биометрических образцов, наиболее похожих с точки зрения алгоритма на образец, подаваемый на вход. Иными словами, последовательность является списком идентификаторов лиц, которые наиболее близки к искомому лицу, с указанием показателя сходства и упорядоченные по нему. Обычно в нее входит порядка 10 значений, и при больших, и при малых объемах баз пользователей. Во втором же случае результатом является единственное значение показателя сходства. Таким образом, задача идентификации является более сложной по сравнению с задачей аутентификации, фактически поиск по базе пользователей для идентификации представляет собой сравнение вводного образца с каждым досье, а при аутентификации – с единственным досье. Общая терминология Напомню читателю определения для основных понятий, которые используются в оценке решений:   Пороговое значение уверенности T -- граница, устанавливаемая для алгоритма принятия решения. При уровне сходства сравниваемых биометрических данных с эталонными выше Т, принимается решение о совпадении. В противном случае принимается решение о несовпадении.  Уровень ошибок создания учетной записи -- соотношение количества отказов системы при попытке создать учетную запись к количеству всех попыток (Failure-to-enroll rate, FTE). Вероятность ложного несовпадения -- соотношение количества ложно понятных решений при значении сходства ниже T, к количеству всех принятых решений (False Non-Match Rate, FNMR). Вероятность ложного совпадения -- соотношение количества случаев ложно принятых решений при значении сходства выше Т, к количеству всех принятых решений (False Match Rate, FMR). Вероятность ложного совпадения следует рассчитывать только для случаев непредумышленного сходства, когда не прикладываются усилия для достижения сходства с другой персоной. Вероятность ложноотрицательной идентификации -- соотношение количества ложно принятых решений при попытках идентификации зарегистрированных пользователей, иными словами, доля случаев, в которых при заданном уровне сходства T, алгоритм выдает идентификаторы, среди которых нет идентификатора идентифицируемого (False Negative-Identification Rate, FNIR). Вероятность ложноположительной идентификации -- отношение количества ложно принятых решений по пользователям, незарегистрированным в системе. (False Positive-Identification Rate, FPIR). Атака без усилий -- попытка верификации, когда пользователь дает свои биометрические данные системе для сравнения со своей учетной записью, но сравнение производится с другой персоной (zero effort attack). Кривая баланса ошибок -- график параметрической (в зависимости от параметра Т) кривой ложноположительных и ложноотрицательных ошибок (DET-кривая). Оценка алгоритмов аутентификации Основным критерием качества работы алгоритмов аутентификации являются показатели FNMR и FMR, то есть относительные количества ошибок первого и второго рода. Иными словами, система не должна отказывать настоящим пользователям слишком часто, но и не должна пропускать попытки злоумышленников и zero-effort attacks. Для испытаний в системе, переданной на сертификацию, производится регистрация большого числа пользователей из заранее подготовленной базы образцов (лиц), а затем на вход передаются тестовые изображения. Алгоритм должен дать заключение (параметр сходства) по каждому предъявленному тестовому изображению. Проверяется частота отказов системы, то есть проверяется как часто подлинному пользователю будет отказано в аутентификации. Пороговое значение для принятия решения T идеально должно быть таким, чтобы обеспечивать баланс FMR и FNMR в соответствии с требованиями организации, планирующей использовать испытуемое решение. Вычисление показателя FNMR происходит следующим образом: ui -- компоненты N-мерного вектора, состоящего из показателей параметра сходства, демонстрируемых системой при предъявлении изображения настоящего или подлинного пользователя. T -- величина порогового значения показателя параметра сходства, выбираемая сертификационной системой. H(x) -- единичная функция Хэвисайда. Для всех отрицательных аргументов она принимает значение 0, для неотрицательных -- 1. Таким образом, ненулевые компоненты суммы определяются лишь теми значениями ui, которые превышают пороговое значение Т. Похожим образом вычисляется показатель FMR: vi -- компоненты N-мерного вектора, состоящего показателей параметра сходства, демонстрируемых системой при предъявлении изображения подложного пользователя или, иными словами, злоумышленника. Показатель T может варьироваться и принимать любые значения в интервале [0;1]. Вычисляется набор показателей Т на основе квантилей наблюдаемых показателей сходства изображений злоумышленников vi следующим образом: Для начала выбираем интересующий нас интервал значений [FMRL; FMRU] Разбиваем этот интервал K точками: Разбиение даёт равномерную логарифмическую шкалу, количество точек К может варьироваться Показатель Tk вычисляем следующим образом: Иными словами, выполнив, например, 100 тестов с предъявлением изображений злоумышленников, и получив 100 результатов (параметров сходства), мы имеем функцию распределения величины v (параметров сходства). Выбираем значение K, например, 10. Исходя из этого, строим разбиение FMRk и по каждому k вычисляем значение (1 - FMRk). Затем, чтобы получить значения Tk, нужно вычислить квантиль-функцию  Функция F(T) показывает вероятность того, что v ≤ T, например, если по результатам наших 100 испытаний мы получили вектор значений сходства  то  F(0.5)=0.98, F(0.51)=0.99, а Qv(0.98) = {минимальное T, такое что вероятность v попасть не выше T составляет более 0.98}=0.51 То есть, каждому 1 - FMRk надо найти такой порог Tk, чтобы количество случаев, когда v≤Tk было более M(1 - FMRk), где M -- количество экспериментов с предъявлением портретов злоумышленников. Далее строим график DET в осях FNMR(T) и FMR(T). FMRv устремляется к 1, а FMRL уменьшается настолько, насколько позволяет размер базы портретов злоумышленников. График DET позволяет визуально оценить устойчивость решения при изменении , а также, например, определить пороговое значение, при котором будет достигаться равенство ошибок первого и второго рода. Следует отдельно отметить, что можно действовать по упрощенному алгоритму проверки, а именно вместо определения вектора vi, можно подвергать анализу только его первую компоненту, или, иными словами, брать для оценки только один показатель сходства из выдаваемых решением – максимальный. В таком случае пороговая величина играет роль первичного фильтра, который отбрасывает самые «плохие» изображения. Например, можно выставить его таким образом, что анализу подвергаются лишь наиболее «качественные» изображения. Оценка алгоритмов идентификации Основным критерием качества работы алгоритмов идентификации являются показатели FPIR и FNIR, то есть пользователь должен легко распознаваться системой, не должно уходить много попыток для его распознания. С другой стороны, система должна формировать биометрические образцы так, чтобы разные пользователи имели как можно более разные вектора биометрической характеристики. Как и в предыдущем случае, для испытаний в системе, переданной на сертификацию, производится регистрация большого числа пользователей из заранее подготовленной базы образцов (лиц), а затем на вход передаются тестовые изображения.  Однако различием является то, как вы помните, на выходе дается не один показатель сходства, а несколько: можно сказать, список идентификаторов, обладатели которых с «наибольшей вероятностью» соответствую предъявляемому изображению.  Как и в случае с аутентификацией, важным является выбор пороговой величины для вынесения решений (какой именно пользователь соответствует предъявленной фотографии). Именно пороговая величина определяет решение, алгоритм только выдает параметр сходства. Напомним, что единичный эксперимент состоит из сравнения набора изображений, и идеальным результатом является такой, что все образцы, превысившие порог сходства, принадлежат идентификатору (пользователю), который и является идентифицируемым, а образцы, не превысившие порог, принадлежат другим пользователям, и ни один из незарегистрированных пользователей не смог превысить порог сходства. Приведу формулы для расчёта ошибок FPIR и FNIR: F1 -- количество тестовых экземпляров незарегистрированных пользователей, чьи идентификаторы попали в список превысивших порог сходства; F2 -- количество тестовых экземпляров зарегистрированных пользователей, чьи идентификаторы не попали в список превысивших порог сходства; G -- количество тестовых экземпляров. Для расчета значения FPIR при известной пороговой величине необходимо: Отобрать тестовые экземпляры, зарегистрированные в системе, затем посчитать количество ошибок, сделанных решением, для которых параметр схожести больше пороговой величины; Поделить на общее количество тестовых экземпляров. Для расчета значения FNIR при известной пороговой величине необходимо: Подготовить тестовые экземпляры, незарегистрированные в системе; Посчитать количество верно принятых решений, произведенных тестируемым алгоритмом, для которых параметр схожести меньше пороговой величины; Поделить на общее количество тестовых экземпляров. Построение DET-кривой происходит путем расчета значений FPIR и FNIR при различных пороговых значениях в интервале от 0 до 1: Положим для начала T равной 0; Рассчитываем значения FNIR при пороговой величине T; Рассчитываем значения FPIR при пороговой величине T; Полученные значения (FPIR; FNIR) являются точкой на графике. Примечание: FPIR откладывается по оси X, FNIR – по Y; Увеличиваем T на 0.005; Если T < 1, возвращаемся к пункту 2, иначе заканчиваем построение; DET кривая показывает устойчивость решения относительно изменения пороговой величины T, позволяет найти оптимальные значения FPIR и FNIR. Выбор условий и наборов данных для испытания решения Теперь вы знаете основные пути решения задачи оценки биометрических решений по распознаванию лиц, однако стоит дополнительно упомянуть несколько моментов. Во-первых, имеет значение размер базы тестовых образцов. Решение, которое претендует на хорошие показатели для небольших размеров пользовательских баз, следует испытывать на небольших тестовых выборках: количество пользователей в системе в таком случае может ограничиваться 1 000 досье. Такие решения могут использоваться для работы при условии, что в системе не будет зарегистрировано много людей, например, в замкнутом окружении, скажем, в офисе. В случае же, когда практически исключены атаки злоумышленников, испытания можно проводить лишь с использованием зарегистрированных пользователей. Однако в остальных случаях, требуется собрать и обработать, иными словами, разбить по досье, значительное (порядка 100 000 досье) количество фотографий (портретов). Также необходимо подобрать базу портретов таких, которые будут использованы в качестве незарегистрированных пользователей. Желательно, чтобы досье (люди, которым принадлежат портреты) в первом и во втором случае не пересекались Эти задачи были решены в НСПК: собрано большое количество досье, при помощи Generative Adaptive Networks был создан набор из более 10 000 000 «несуществующих» лиц, то есть полностью синтетических портретов людей. Во-вторых, важно обратить внимание на то, что следует использовать как открытые (публичные), так и закрытые (непубличные) наборы данных для испытаний. Существует несколько больших (порядка сотен тысяч досье) наборов данных, которые некоторое время были в открытом доступе. Они составлены в основном из фотопортретов знаменитостей, полученных из открытых источников (видеозаписи, интервью, фото из газет и т.д.). Такие данные могли использоваться поставщиками биометрических решений для тренировки нейронных сетей, поэтому обученные на них решения могут показывать более высокие результаты по сравнению с решениями, использующими биометрические данные обычных пользователей. Требования по качеству работы решений Для алгоритма аутентификации: показатель FMR не должен превышать 10-4 при FNMR≤10-3  Для алгоритма идентификации на базах данных до 100 тыс. лиц: FPIR+FNIR ≤ 10-4  При проведении Presentation Attack Detection по классу B (видеофрагменты, маски, фото высокого качества, экраны устройств) алгоритм должен обеспечивать FMR ≤5 ⋅10-4 при FNMR≤10-3 Примечание: Значения FMR, FNMR, FPIR, FNIR измеряются с погрешностью 10% и уровнем достоверности 80% Требования по скорости работы: Для алгоритма биометрической аутентификации время проверки не превышает 0.2 секунды. Для алгоритма биометрической идентификации при БД до 100 тыс. лиц время проверки не превышает 1 секунды. Время работы алгоритмов проверки живого присутствия не превышает 2 секунд. Ссылки: [1] https://pages.nist.gov/frvt/reports/11/frvt_11_report.pdf [2] https://pages.nist.gov/frvt/reports/ 1N/frvt_1N_report.pdf [3] ISO_IEC_19795-1