Как известно, мы в 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 |
Мы продолжаем работу над расширением датасета, в особенности уделяя внимание вариативности текстовых/графических данных, фонов и условий съемки. Мы надеемся что публикация подобных данных даст возможность научным коллективам проводить бенчмарки своих алгоритмов анализа изображений и успешно публиковать свои результаты.
OLZ1
Ресёрчер, ис ит поссибле фор Ю ту чейндж 'датасет' на наше «набор данных»? Так-то фэнкс за артикл, но вай 'датасет'?
barbanel
Бикоз оф заимствовать общепринятые названия из других языков — это нормально.
Вы же не говорите сегодня «заплечная сумка», вы говорите «рюкзак». Не «самодвижущаяся повозка», а автомобиль. «Телефон», а не «средство для передачи звука на расстояние». Примеров тьма.
Язык живет и развивается, если же он не развивается — он мертв.
OLZ1
Дык, зачем заимствовать, когда есть свой вариант (набор данных)?)
kbulatov
По той же причине, почему в английском языке это слово пишется слитно. Слово «dataset» само по себе недавно возникло (формально говоря, правильно «data set»), но все больше и больше публикаций употребляют именно слитное начертание. Причина — слово «dataset» сейчас значит не просто абстрактный набор данных, а структурированный набор аннотированных (т.е. с разметкой) данных, как правило опубликованный в открытом доступе, объединенный какой-то одной тематикой, и предназначенный для обучения, тестирования и объективного сравнения алгоритмов.
По этой же причине абстрактное «набор данных» в русском языке уже не очень хорошо отражает семантику того, что имеется ввиду. Почему бы и не «датасет».
OLZ1
Прочтите хотя бы одну профессионально переведённую книгу по ML и Data Science, не надо фантазировать и уподобляться стаду, которое один раз услышало — и понеслось…
— Вот, кстати, один из примеров — сегодняшний обзор книги по машинному обучению: ссылка.
Просто просмотрите.
WerkEng
Я так понял, что регулярное употребление таких слов, как «кейс»/«юзкейс», «семпл», «локация», «дестинация», «датасет», «валидный» — это развитие языка. Тогда он не будет мёртвым.