MIDV-2020: как мы создали крупнейший датасет документов, удостоверяющих личность
В этой статье мы хотим рассказать как мы создали крупнейший на данный момент набор искусственно созданных документов с большим разнообразием типов документов, их содержания и условий съемки. Каждый из документов имеет уникальные (хоть и выдуманные) значения текстовых полей, уникальную подпись и уникальные искусственно созданные лица.
Зачем мы это делали
Мы уже писали на Хабре про проблемы объективного алгоритмов анализа документов, «заточенных» под документы, удостоверяющие личность. Мы публикуем достаточно много научных работ, связанных с различными аспектами анализа идентификационных документов, и для того, чтобы предоставлять некоторый бенчмарк, в свое время мы начали делать открытые пакеты данных «семплов» документов, начав с MIDV-500. Первый датасет содержал 500 видеоклипов семплов идентификационных документов, и он был подхвачен научным сообществом, у которых были такие же проблемы как и у нас — нехватка открытых пакетов, на которых можно демонстрировать и исследовать работу своих алгоритмов в публикуемом виде. Позже мы также выпустили расширение MIDV-2019, в котором также были добавлены видеоклипы, снятые с сильными проективными искажениями и в темноте (используя те же распечатанные семплы, что и в MIDV-500).
Через несколько месяцев мы начали получать первый фидбек от исследователей (либо напрямую, либо просто изучая опубликованные работы, использующие эти датасеты), сводящийся к трем основным претензиям:
Датасет слишком сложный. К примеру, некоторые считают, что кейсы с сильными проективными искажениями или в темноте нереалистичные (однако наш опыт поддержки клиентов указывает на обратное), а также разрешение изображений не очень высокое (что правда — однако в реальной жизни все бывает гораздо хуже).
Датасет недостаточно сложный. Главным образом, в нем недостаточная вариативность данных — что, конечно, правда, хотя вместе с расширением MIDV-2019 там содержится 700 видеороликов, уникальных документов там всего 50 штук.
В датасете недостаточно богатая разметка. К примеру, вот этим ребятам из университета Ля Рошель для своего исследования по точному поиску лиц на изображениях документов пришлось добавлять специальную разметку (окаймляющие прямоугольники овалов лица для первых и последних кадров видеоклипов).
Принимая все это во внимания, в качестве пополнения семейства MIDV мы решили пожертвовать количеством различных типов представленных документов, но сильно увеличить вариативность данных. Так родилась идея создания датасета MIDV-2020.
Этапы создания
1. Подготовка шаблонов и их описание
Наш набор данных MIDV-2020 включает 10 базовых типов документов, каждый из которых присутствует в ранее опубликованных нами наборах данных MIDV-500 и MIDV-2019. Типы документов, удостоверяющих личность, можно увидеть в таблице ниже с кодами базы данных PRADO для каждого типа документа, кроме внутреннего паспорта России (его в базе PRADO нет). Было создано 100 образцов документов для каждого из 10 типов, присутствующих в наборе данных.
Таблица 1. Описание типов документов набора MIDV-2020.
8, 5 | Код типа документа | Описание | Код PRADO | Код MIDV-500 |
1 | alb_id | ID карта Албании | ALB-BO-01001 | 01 |
2 | aze_passport | Паспорт Азербайджана | AZE-AO-02002 | 05 |
3 | esp_id | ID карта Испании | ESP-BO-03001 | 21 |
4 | est_id | ID карта Эстонии | EST-BO-03001 | 22 |
5 | fin_id | ID карта Финляндии | FIN-BO-06001 | 24 |
6 | grc_passport | Паспорт Греции | GRC-AO-03003 | 25 |
7 | lva_passport | Паспорт Латвии | LVA-AO-01004 | 32 |
8 | rus_internal-passport | Паспорт России | n/a | 39 |
9 | srb_passport | Паспорт Сербии | SRB-AO-01001 | 41 |
10 | svk_id | ID карта Словакии | SVK-BO-05001 | 42 |
Для создания уникальных образцов документов мы взяли исходные изображения из википедии и отредактировали: удалили непостоянные данные, такие как подпись, фотография и значения текстовых полей, чтобы сгенерировать искусственные тестовые данные.
2. Данные для заполнения
Значения пола, даты рождения, даты выдачи и срока годности были сгенерированы в соответствии со спецификой стран‑эмитентов и заранее заданным распределением возрастных и гендерных параметров:
80% сгенерированных документов соответствуют взрослым владельцам (в возрасте от 18 до 60 лет), 10% документов соответствует пожилым людям (в возрасте от 60 до 80 лет) и 10% для детей и подростков (17 лет или младше) в зависимости от минимального возраста для выдачи документа;
50% сгенерированных документов соответствуют владельцам женского пола, а 50% — владельцам мужского пола.
Для генерации имен и адресов мы использовали открытые базы данных существующих имен (такие как Википедия) и онлайн‑генераторы адресов/имен.
Искусственно сгенерированные изображения лиц для каждого документа мы взяли на Generated Photos Service. Это онлайн‑сервис перечисляет StyleGAN как подход, используемый для создания искусственных изображений лиц. Изображения были сделаны либо в цвете, либо в оттенках серого, в зависимости от образца исходного документа, и повторялись, если документ содержал несколько копий изображения лица с непрозрачностью, соответствующей исходному образцу. Пример итоговых изображений паспорта и ID карты можно увидеть на рисунках ниже.
Полученный набор документов был распечатан на плотной глянцевой фотобумаге с размерами, соответствующими реальным документам и заламинирован, также, как мы это делали для других наших датасетов.
Съемка
С использованием нашего созданного набора документов мы сделали видеоролики, фотографии и сканы в различных условиях. Хотя изначально само слово «MIDV» предполагало только кейс распознавания с мобильников (Mobile Identity Documents in a Video), опыт использования и фидбек показал, что для сравнительного анализа часто хочется также иметь и одиночные фотографии документов, и сканы. Чтобы не оставлять эту работу для дальнейших расширений, мы решили добавить фото и сканы в датасет с самого начала.
Сканы
Сканирование документов мы сделали с помощью двух сканеров: Canon LiDE 220 and Canon LiDE 300. Условий для сканирования было два:
Документ находится в вертикальном положении с небольшим отступом в правом верхнем углу. Для удобства мы закрепили угол розовым листом бумаги;
Документ находится в произвольном месте рамки отсканированного изображения и повернут на произвольный угол.
Все отсканированные необрезанные изображения имеют разрешение 2480 × 3507 пикселей.
Полученные изображения были сохранены в формате TIFF, затем преобразованы в JPEG с помощью ImageMagick 7.0.11 с параметрами по умолчанию. Изображения сканов в формате JPEG с их разметкой находятся в архивах «scan_upright.tar» и «scan_rotated.tar». Оригинальные изображения в формате TIFF находятся в архивах «scan_upright_tif.tar» и «scan_rotated_tif.tar».
Названия отсканированных изображений соответствуют имена шаблонного образа, из которого физический документ создан.
Видео / фото
Съемка видеороликов и фотографий документов производилась с помощью двух телефонов (iPhone XR и Samsung S10) и в 10 различных условиях:
Условия низкой освещенности (по 20 документов каждого типа);
На фоне клавиатуры (по 10 документов каждого типа);
Съемка на улице при естественном освещении (по 10 документов каждого типа);
На фоне стола (по 10 документов каждого типа);
На фоне тканей различных текстур (по 10 документов каждого типа);
На фоне текстового документа (по 10 документов каждого типа);
Сильные проективные искажения документа (по 20 документов каждого типа);
Блик от солнца или лампы скрывает часть документа (по 10 документов каждого типа).
Примеры каждого из условий представлены ниже.
Каждый клип снимался вертикально, в разрешении 2160 × 3840 пикселей, 60 кадров в секунду. Исходные снятые клипы были раскадрованы с помощью ffmpeg версии n4.4 с параметрами по умолчанию и был взят каждый 6-й кадр (таким образом, набор данных сохранил только отдельные кадры «000 001.jpg», «000 007.jpg», «000 013.jpg» и т. д.). Самый маленький клип имеет 38 кадров, самый большой имеет 129 кадров. В целом набор данных включает 68 409 размеченных видеокадров. Кадры с соответствующими разметками лежат в архиве «clips.tar». Оригинальные видеофайлы без звука находятся в архиве «clips_video.tar».
Все фотографии хранятся в формате JPEG и имеют разрешение 2268×4032 пикселей. Изображения с разметкой находятся в архиве «photo.tar». Названия изображений соответствуют именам шаблон, из которого был создан физический документ.
В таблицах ниже представлены номера документов, которые соответствуют условиям съемки для фото или видеосъемки.
Таблица 2. Соответствие номеров документа и условий съемки фотографий.
Условия съемки и модели телефонов | Samsung S10 | Apple iPhone XR |
Слабое освещение | 80 - 89 | 70 - 79 |
На фоне клавиатуры | 35 - 39 | 30 - 34 |
Естественное освещение (на улице) | 45 - 49 | 40 - 44 |
На фоне стола | 55 - 59 | 50 - 54 |
На фоне текстурных тканей | 95 - 99 | 90 - 94 |
На фоне текстового документа | 25 - 29 | 20 - 24 |
Проективные искажения | 10 - 19 | 00 - 09 |
Блик перекрывает часть документа | 65 - 69 | 60 - 64 |
Таблица 3. Соответствие номеров документа и условий съемки видеороликов.
Условия съемки и модели телефонов | Samsung S10 | Apple iPhone XR |
Слабое освещение | 00 - 09 | 10 - 19 |
На фоне клавиатуры | 20 - 24 | 25 - 29 |
Естественное освещение (на улице) | 60 - 64 | 65 - 69 |
На фоне стола | 30 - 34 | 35 - 39 |
На фоне текстурных тканей | 40 - 44 | 45 - 49 |
На фоне текстового документа | 50 - 54 | 55 - 59 |
Проективные искажения | 70 - 79 | 80 - 89 |
Блик перекрывает часть документа | 90 - 94 | 95 - 99 |
Разметка
Для каждого видеоклипа (кадров), фотографии и скана приведена разметка. Она в формате JSON, читаемая с помощью VGG Image Annotator v2.
В разметке есть:
Ограничивающие прямоугольные границы фотографии держателя документа (отмечено именем поля «face»);
Координаты четырехугольника документа (отмечено именем поля «doc_quad»). Первая вершина четырехугольника всегда соответствует верхнему левому углу физического документа, а остальные вершины идут по порядку по часовой стрелке;
Координаты четырехугольника расположения подписи владельца (отмечено именем поля «signature»);
Координаты прямоугольников текстовых полей с его данными и их названия. Для каждого текстового поля есть дополнительная информация о содержании строчных букв, символов нижнего и верхнего регистра. Если документ содержит поля с вертикальной ориентацией, в разметке есть дополнительный атрибут ориентации (угол поворота поля против часовой стрелки в градусах).
Снизу представлен пример структуры разметки.
Оригинальные шаблонные изображения (1000 штук), которые использовались для печати вместе с файлами разметки также представлены в датасете — на случай, если исследователи заходят поснимать документы в каких‑то других, более простых или более сложных условиях, которых нет в оригинальном пакете.
Заключение и эксперименты
Мы создали крупнейший общедоступный набор данных, включающий в себя 1000 искусственно созданных документов, удостоверяющих личность, 2000 сканов, 1000 фотографий и 1000 видеоклипов, с соответствующими файлами разметки (всего 72 409 файлов с разметкой).
Датасет и публикация были подготовлены в сотрудничестве с коллегами из университета Ля Рошель — соавторами датасета SmartDoc, известного в среде исследователей методов анализа и распознавания документов.
Более подробно можно изучить результаты экспериментов, проведенных на этом наборе данных, в нашей статье. Мы представили в ней базовые оценки методов анализа документов, удостоверяющего личность, как обнаружение документа, его местоположение и идентификация, распознавание текстовых полей и распознавание лиц.
Хотя набор данных MIDV-2020 сам по себе является набором данных ненастоящих документов, их использование для разработки и оценки методов компьютерной экспертизы документов, обнаружение атак и другие подходы к проверке подлинности ограничены. В будущем мы расскажем вам про другой, более специализированный набор данных, который включает также условия съемки и особенности документа, которые позволили бы обучать и оценивать методы предотвращения мошенничества.