В этой статье мы хотим рассказать как мы создали крупнейший на данный момент набор искусственно созданных документов с большим разнообразием типов документов, их содержания и условий съемки. Каждый из документов имеет уникальные (хоть и выдуманные) значения текстовых полей, уникальную подпись и уникальные искусственно созданные лица. Мы уже писали на Хабре про проблемы объективного алгоритмов анализа документов, «заточенных» под документы, удостоверяющие личность. Мы публикуем достаточно много научных работ, связанных с различными аспектами анализа идентификационных документов, и для того, чтобы предоставлять некоторый бенчмарк, в свое время мы начали делать открытые пакеты данных «семплов» документов, начав с MIDV-500. Первый датасет содержал 500 видеоклипов семплов идентификационных документов, и он был подхвачен научным сообществом, у которых были такие же проблемы как и у нас — нехватка открытых пакетов, на которых можно демонстрировать и исследовать работу своих алгоритмов в публикуемом виде. Позже мы также выпустили расширение MIDV-2019, в котором также были добавлены видеоклипы, снятые с сильными проективными искажениями и в темноте (используя те же распечатанные семплы, что и в MIDV-500). Через несколько месяцев мы начали получать первый фидбек от исследователей (либо напрямую, либо просто изучая опубликованные работы, использующие эти датасеты), сводящийся к трем основным претензиям: Датасет слишком сложный. К примеру, некоторые считают, что кейсы с сильными проективными искажениями или в темноте нереалистичные (однако наш опыт поддержки клиентов указывает на обратное), а также разрешение изображений не очень высокое (что правда — однако в реальной жизни все бывает гораздо хуже). Датасет недостаточно сложный. Главным образом, в нем недостаточная вариативность данных — что, конечно, правда, хотя вместе с расширением MIDV-2019 там содержится 700 видеороликов, уникальных документов там всего 50 штук. В датасете недостаточно богатая разметка. К примеру, вот этим ребятам из университета Ля Рошель для своего исследования по точному поиску лиц на изображениях документов пришлось добавлять специальную разметку (окаймляющие прямоугольники овалов лица для первых и последних кадров видеоклипов).  Принимая все это во внимания, в качестве пополнения семейства MIDV мы решили пожертвовать количеством различных типов представленных документов, но сильно увеличить вариативность данных. Так родилась идея создания датасета MIDV-2020. Наш набор данных 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 Для создания уникальных образцов документов мы взяли исходные изображения из википедии и отредактировали: удалили непостоянные данные, такие как подпись, фотография и значения текстовых полей, чтобы сгенерировать искусственные тестовые данные. Значения пола, даты рождения, даты выдачи и срока годности были сгенерированы в соответствии со спецификой стран‑эмитентов и заранее заданным распределением возрастных и гендерных параметров: 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 сам по себе является набором данных ненастоящих документов, их использование для разработки и оценки методов компьютерной экспертизы документов, обнаружение атак и другие подходы к проверке подлинности ограничены. В будущем мы расскажем вам про другой, более специализированный набор данных, который включает также условия съемки и особенности документа, которые позволили бы обучать и оценивать методы предотвращения мошенничества.