Как известно, мы в Smart Engines занимаемся системами компьютерного зрения и распознавания документов, а также научными исследованиями в этой области. В течение нескольких лет в фокусе нашего внимания находились системы распознавания документов, удостоверяющих личность. Одной из критичных проблем, возникающих при подготовке научных статей, является отсутствие открытых датасетов, на которых можно демонстрировать сообществу разработанные нами алгоритмы и подходы. В связи с этим два года назад мы начали работу над серией открытых пакетов изображений и видеоклипов ID-документов, предназначенных, главным образом, для исследователей, и о результатах этой работы хотели бы рассказать вам под катом.



 


Про что это


Думаем, что всем давно понятно, что использование смартфонов и других портативных девайсов стало де-факто стандартом в финтехе, государственных услугах, sharing economy и т.п. В большом количестве кейсов пользователю необходимо вносить свои персональные данные, будь то данные паспорта, загранпаспорта, водительских прав или банковской карточки. Вводить данные на мобильнике вручную — не самое быстрое и удобное занятие, поэтому большое количество компаний внедряют различного рода системы распознавания и анализа документов для упрощения этой процедуры. Стоит отметить, что целью таких внедрений является не только ускорение и упрощения процедуры ввода данных, но и автоматизация проверки действительности документа и детектирования недобросовестных пользователей. Современные системы распознавания должны работать в неконтролируемых условиях — как в хорошо освещенном офисе, так и на пригородной железнодорожной платформе в сумерках.


Несколько исследовательских команд, как за рубежом так и в России, занимаются проблемами мобильного распознавания и анализа документов в сложных условиях. Помимо того, что эта задача сама по себе непростая, важной проблемой является недоступность данных для проверки результатов. В особенности это касается документов, удостоверяющих личность — в этом случае публикация датасетов настоящих документов попросту невозможна. Это приводит к тому, что исследователи и разработчики вынуждены работать с синтетически сгенерированными данными, которые плохо отражают реальность, а тестироваться либо на своих собственных документах (которых мало), либо на публично доступных сэмплах, которых тоже мало. И хотя существует несколько открытых баз примеров идентификационных документов (к примеру, PRADO или Edison), изображения в этих базах, как правило, не отражают реальных юзкейсов, а правовые ограничения не позволяют (в большинстве случаев) создавать на их основе производных датасетов.


Нужно отметить, что некоторое количество открытых датасетов документов все же существует, однако они недостаточны для бенчмаркинга полного цикла распознавания документов, удостоверяющих личность, в особенности если речь идет о применении распознавания на мобильных устройствах и в видеопотоке. Ссылки на несколько открытых датасетов приведены в Таблице 1.


Таблица 1. Несколько открытых датасетов, которые можно использовать для работы над отдельными задачами анализа и распознавания документов.


Задача Датасеты
Детектирование и локализация документа 10.1109/ICDAR.2015.7333943
Сегментация текста arXiv:1601.07140
Бинаризация изображений документов 10.1109/ICDAR.2017.228
Распознавание символов MNIST, Uber-Text
Супер-разрешение в документах 10.1109/ICDAR.2017.306
Детектирование подделок 10.1109/EST.2017.8090394
Классификация изображений документов 10.1109/ICDAR.2015.7333910
Разбор шаблона документа 10.1109/ICDAR.2009.271
10.1109/ICDAR.2017.229
Оценка качества изображений документов 10.1007/978-3-319-05167-3_9
10.1109/ICDAR.2015.7333960

Поскольку нам крайне интересны алгоритмы обработки и распознавания документов, удостоверяющих личность, в видеопотоке, полученном при помощи камеры мобильного телефона, мы решили создать датасет, в котором будут содержаться видеоклипы несколько различных ID-документов, снятые в различных условиях. Почему именно видео? Во-первых, анализ нескольких последовательных кадров позволяет применять различные техники фильтрации и уточнения при решении одной из главных задач систем распознавания документов — поиска и типизации. Во-вторых, для решения задачи выбора наилучшего представления какого-нибудь объекта (например, фотографии), необходим датасет, содержащий множество кадров. Во-третьих, использование множества изображений одного и того же объекта позволяет применять технологии “супер-разрешения” для повышения точности распознавания, или применять многократное распознавание с комбинирование полученных результатов.


Полученный датасет получил название MIDV-500. MIDV, потому что Mobile Identity Documents in Videostream, а 500 — потому что датасет содержал 500 видеоклипов при своем первом релизе. Датасет доступен для скачивания по ссылке.


Структура датасета


Первый вопрос, конечно — откуда взялись документы. Для создания датасета мы прошерстили википедию в поисках семплов ID-документов, которые были бы либо не защищены авторскими правами, либо распространялись с открытой лицензией. Удалось найти 50 типов документов, включая 17 типов ID-карт, 14 типов паспортов, 13 типов водительских удостоверений и 6 других типов (перечислены здесь). Каждый документ мы распечатали, заламинировали (чтобы хоть каким-то образом имитировать блики), и сняли для каждого 10 видеороликов в 5 разных условиях с использованием iPhone 5 и Samsung Galaxy S3. Список условий съемки представлен в Таблице 2.


Таблица 2. Условия съемки MIDV-500. Первая буква идентификатора кодирует условие, вторая — устройство (A — Apple iPhone 5, S — Samsung Galaxy S3).


Идентификатор Описание
TS, TA Table — самый простой случай, документ лежит на столе с однородным фоном.
KS, KA Keyboard — документ лежит на клавиатуре, что усложняет использование простых методов поиска прямолинейных границ.
HS, HA Hand — документ держится в руке.
PS, PA Partial — документ “пролетает” через область съемки, на некоторых изображениях документ частично или полностью за кадром.
CS, CA Clutter — документ снят на фоне множества разнообразных объектов, по мотивам 5-го фона этого известного датасета.

Каждый из 500 клипов снимался не менее 3-х секунд, и первые 3 секунды были раскадрованы с частотой 10 FPS. Итого получили 15000 кадров, все с разрешением 1080х1920px.



 
К каждому из 15000 кадров прилагается JSON-файл с координатами углов документа в следующем формате:


{
  "quad": [ [0, 0],     [111, 0], 
            [111, 222], [0, 222] ]
}

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


Для каждого из 50-ти документов в датасете присутствует JSON-файл, содержащий информацию о расположении полей (на выравненном изображении документа) и значения его текстовых полей, в следующем формате:


{
  "field01": {
    "value": "Erika",
    "quad": [ [983, 450],  [1328, 450], 
              [1328, 533], [983, 533] ]
  },
  // ... 
  "photo": {
    "quad": [ [78, 512],   [833, 512], 
              [833, 1448], [78, 1448] ]
  } 
}

Всего в датасете 48 полей типа “фотография”, 40 полей типа “подпись” и 546 текстовых полей на разных языках.


Спустя год после первой публикации датасета MIDV-500 мы начали получать первый фидбек от исследователей и по его результатам подготовили и опубликовали расширение датасета под названием MIDV-2019. Были добавлены 200 видеоклипов тех же 50-ти документов, однако снятые в двух новых условиях: с сильными проективными искажениями и при низком освещении. Новые клипы были сняты с разрешением 2160x3840px с помощью более современных смартфонов iPhone XS Max и Samsung Galaxy S10. Расширение MIDV-2019 доступно по ссылке.



 


Эксперименты


С момента первого выкладывания датасета MIDV-500 в открытый доступ прошло почти 2 года, и на его основе опубликовано некоторое количество работ, как наших сотрудников, так и исследователей из других научных и коммерческих групп. В Таблице 3 приведены несколько публикаций (конечно, далеко не все), в которых приводятся экспериментальные результаты алгоритмов решения задач, связанных с ID-документами, полученные при помощи MIDV-500 и MIDV-2019.


Таблица 3. Подборка публикаций.


Суть эксперимента Ссылка
Поиск лица и распознавание текстовых полей при шумном детектировании границ документа. Основная публикация MIDV-500. 10.18287/2412-6179-2019-43-5-818-824
Распознавание текстовых полей в условиях проективных искажений документа и низкой освещенности. Основная публикация MIDV-2019. 10.1117/12.2558438
Идентификация документа по ключевым словам 10.1109/RUSAUTOCON.2019.8867614
Поиск и оценка качества изображений ID-документов http://www.informaticahabana.cu/es/node/5578
Быстрый поиск и идентификация ID-документа 10.1109/ICDAR.2019.00141
Распознавание текстовых строк 10.1109/ACCESS.2020.2974051
Поиск лица на изображениях ID-документов 10.1109/ICDARW.2019.30065
Поиск и маскировка чувствительных текстовых данных 10.1109/SIBIRCON48586.2019.8958325
Поиск точек схода на изображении документа при помощи HoughNet 10.1109/ICDAR.2019.00140
Детектирование моноширинности шрифта 10.1117/12.2559373
Задача останова при распознавании текстовой строки в видеопотоке 10.1007/s10032-019-00333-0

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