Биометрическая дедупликация

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

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

Биометрическая дедупликация

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

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

Самые распространенные типы ошибок
  • Полный дубликат записи
    Все отпечатки пальцев в записи полностью повторяют другую запись. Такие дубликаты могут появиться в базе данных, например, при выдаче нового ID без проверки на дубликат.
  • Ошибки внутри записи
    Один и тот же отпечаток пальца одного человека добавлен в запись несколько раз - как отпечаток другого пальца того же человека. Такие дубликаты часто вызваны ошибками в работе оператора.
  • Частичный дубликат
    Один или несколько отпечатков пальцев дублированы из другой записи. Причиной может быть ошибка оператора, особенно если он добавляет отпечатки в базу из папки на компьютере, где уже лежат сканы.
До 2% ошибок
Огромные биометрические базы данных, особенно базы данных национального масштаба могут содержать до 1-2% разных ошибок.
Подавляющее большинство этих ошибок можно исправить с помощью процедуры дедупликации.
До 2% ошибок
Огромные биометрические базы данных, особенно базы данных национального масштаба могут содержать до 1-2% разных ошибок.
Подавляющее большинство этих ошибок можно исправить с помощью процедуры дедупликации.
Лучший способ найти все дубликаты в базе данных - это сравнить все отпечатки в базе друг с другом. Количество операций сравнения, которые нужно сделать, чтобы сравнить все со всем, высчитывается по формуле:

Это делает задачу практически нереализуемой для "традиционных" алгоритмов, поэтому вендоры реализуют дедупликацию, используя подходы, которые позволяют сократить количество прямых сравнений. Например, добавляют "логический подход", когда пальцы сравниваются только по позициям: указательный с указательным и т.д., или используя для дедупликации разные алгоритмы последовательного поиска: быстрый и менее точный и более точный, но менее быстрый.
Использование таких подходов и большого количества оборудования делает задачу дедупликации огромных баз данных реализуемой на практике, но - по определению - это дает менее точный результат, чем при непосредственном сравнении всех отпечатков в базе друг с другом.
Проблема
где n – количество отпечатков в базе данных
Например, для базы данных в 10 миллионов человек, где у каждого хранятся все 10 отпечатков пальцев, сравнение "всего со всем" означает выполнение 5 000 000 000 000 000 операций сравнения. При этом скорость сравнения "традиционных" алгоритмов распознавания отпечатков пальцев сравнительно невелика и выполнение такого количества операций заняло бы у них от 3 000 до 30 000 лет на одном современном компьютере*.
* - Скорость сравнения различных мировых алгоритмов получена из открытых источников, а именно с сайтов самих разработчиков алгоритмов, а также из опубликованных отчетов NIST. Согласно этим источникам средняя скорость сравнения "традиционных" алгоритмов распознавания отпечатков пальцев составляет от 10 000 до 100 000 операций сравнения в секунду на одном процессоре.
Алгоритмы, основанные на машинном обучении и нейросетях, способны выполнить сравнение "всего со всем", даже если речь идет об огромных биометрических базах данных. Алгоритм распознавания отпечатков пальцев Diametrix не только обладает одной из лучших в мире точностью работы, но и высокой скоростью сравнения: до 1 миллиарда сравнений в секунду на одном процессоре и до 10 миллиардов сравнений в секунду - на одном GPU.
Полная дедупликация базы данных из 100 миллионов отпечатков с помощью нашего алгоритма занимает меньше 2х месяцев на одном сервере с одним процессором или менее 10 дней - на одном сервере с одной видеокартой*. При этом для дедупликации используется прямое сравнение "всего со всем", выполненное самым точным алгоритмом, что позволяет найти максимально возможное количество ошибок и дубликатов.

Решение
* - расчеты приведены для CPU Xeon Gold 6256 и GPU RTX 3090
Как это работает
Простая программа для дедупликации позволяет решить задачу без сложной интеграции с существующей AFIS.
Импорт отпечатков
На вход программе подаются изображения отпечатков пальцев с ID человека, которому они принадлежат, и позицией пальца. ID и позиция также могут быть получены из имени файла отпечатка.
Построение биометрических шаблонов
Программа строит биометрические шаблоны для всех отпечатков пальцев. Для базы в 100 миллионов отпечатков построение биометрических шаблонов занимает около 20 дней на одном компьютере с одной видеокартой или около 5 дней на сервере с четырьмя видеокартами.
Сравнение "всех со всеми"
После построения шаблонов пользователь указывает порог (matching threshold) и программа запускает процедуру сравнения. Для базы данных в 100 миллионов отпечатков сравнение занимает около 2х месяцев на одном компьютере с одним процессором Intel Xeon Gold или менее 10 дней на одной видеокарте (например, на игровой видеокарте последнего поколения).
Получение результата
результаты дедупликации выводятся в виде 3х списков с различными типами найденных ошибок:
- Пары ID, где все отпечатки одинаковые (полный дубль записи)
- ID, где в записи есть дубликаты отпечатка (один и тот же палец внесен несколько раз в ту же запись)
- Пары ID с указанием позиции пальцев, где есть дубликаты одного или нескольких пальцев
Готово!
Программа для дедупликации Diametrix находит максимальное количество ошибок в больших базах данных - быстро, используя минимальное количество оборудования и самый точный алгоритм распознавания.
Дедупликация - бесплатно!
При приобретении SDK для распознавания отпечатков пальцев Diametrix
программа для дедупликации - в подарок.
Пишите нам, чтобы узнать подробности!