Какой шрифт используют для подделки паспорта рф. PassportVision — простой способ распознавать документы

PassportVision — простой способ распознавать документы

Какой шрифт используют для подделки паспорта рф. PassportVision — простой способ распознавать документы
http://habrahabr.ru/company/enterra/blog/219535/ Наверняка вам доводилось попадать в такую ситуацию: заходите в какое-нибудь учреждение (почта, банк, больница, кассы и т. п.), где для достижения ваших целей необходимо предъявить паспорт.

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

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

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

Сегодня в выпуске:

  • Популярные заблуждения о паспортах
  • Немного об используемых технологиях
  • Наш подход к интерфейсу
  • Как лучше всего отдать данные пользователю

Казалось бы — что такого сложного, чтобы распознать данные с паспорта? В конце концов, 2014 год на дворе, человечество уже научилось распознавать текст с картинки. Применил пару фильтров, вызвал метод recognize() — и готово!

Увы, всё не так просто. Прежде всего, стоит отметить, что паспорт гражданина РФ — это документ с особой спецификой. Мы даже не предполагали, насколько удивительными могут быть паспорта, пока не просмотрели несколько сотен примеров. Итак, вашему вниманию предлагается список заблуждений в лучших традициях заблуждений об именах и времени.

Все эти предположения ошибочны.

  1. Текст в паспортах всегда набран одним шрифтом
  2. Есть только два-три шрифта, которыми набирают паспорта
  3. Ладно, но шрифт не может быть жирным или курсивным
  4. Ну, одновременно жирным и курсивным он точно не будет
  5. Все данные паспорта написаны одним шрифтом
  6. Никто не заполняет паспорта от руки
  7. Каждое поле паспорта находится в строго определённом месте
  8. Каждое поле паспорта находится вблизи своего строго определённого места
  9. Ну, по крайней мере фамилия не уползёт на три строчки вниз до места под отчество
  10. И никогда данные не пишутся поверх надписей бланка
  11. Ну, друг на друга-то данные точно наезжать не будут
  12. Текст всегда написан строго горизонтально
  13. Ладно, но угол наклона текста не превышает 10–15 градусов
  14. Все данные находятся под одним и тем же углом
  15. Текст всегда чёрного цвета
  16. Ну, хотя бы все надписи точно одного и того же цвета
  17. Паспорт всегда имеет машиночитаемую зону
  18. Машиночитаемая зона всегда присутствует на паспортах, выпущенных после 1 июля 2011 года
  19. Машиночитаемая зона всегда корректна и соответствует стандартам
  20. Все буквы в паспорте написаны в верхнем регистре
  21. Все данные паспорта написаны в одной регистровой стилистике
  22. Все даты всегда представлены в одном и том же формате
  23. Имя не может быть разбито на две строчки знаком переноса
  24. Все паспорта печатаются на одинаковых бланках с фиксированным фоном
  25. В месте рождения и в месте выдачи не может быть цифр
  26. Личная подпись не может быть поверх данных паспорта
  27. Все данные паспорта всегда присутствуют
  28. Лишних данных точно нет
  29. Место выдачи паспорта всегда укладывается в три строчки
  30. Если в поле «Имя» написано «Анна», то пол обязательно женский
  31. Данные паспорта со временем не стираются
  32. Паспорт не имеет механических повреждений
  33. Паспорт не может быть испачкан вареньем

Сегодня о технологиях будет действительно немного. По ходу написания нашей программки мы столкнулись с большим количеством интересных задач: как в области компьютерного зрения, так и в области построения архитектуры и организации рабочего окружения. Данную тему мы планируем развернуть в отдельном посте, а сегодня только обозначим стек технологий. Основным языком программирования является C#. Возможно, кому-то такой выбор покажется странным, но он себя полностью оправдал. C# прекрасно подходит для создания масштабной архитектуры, а вёрстка сложного интерфейса даётся достаточно легко (спасибо вам, создатели WPF). Целевая аудитория сидит на Windows, так что с платформой проблем не возникло. Разные внутренние мелкие задачи решаем с помощью Python-скриптов.

Для обработки изображений используется OpenCV, для распознавания текста — Tesseract (а точнее, их обёртки — OpenCvSharp и Tesseract). Критичные по производительности алгоритмы написаны на C++, но таковых немного. Приходится много работать со сканерами, причём поддерживать как WIA, так и Twain (для последнего используем обёртку TwaintDotNet).

Общий workflow: система контроля версий — Git, просмотрщик репозитория — FishEye, continuous integration system — Bamboo, bug tracker — JIRA, code review system — Crucible (да, мы любим Atlassian).

Наш подход к интерфейсу

Всё было бы хорошо, если бы мы со стопроцентной уверенностью могли распознать данные с любого паспорта. Но, увы, это не так. Если дать программе на вход скан хорошего паспорта на 300 dpi, то, скорее всего, она распознает его без ошибок.

А вот если программа столкнётся с фоточкой паспорта печального качества (и вдобавок шрифт окажется очень бледным и под углом, а надписи — не на своих местах), то у нас возникнут проблемы. Поэтому не остаётся другого выбора, как попросить пользователя проверить распознанные данные.

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

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

Итак, на что же мы обратили особое внимание, чтобы жить стало легче:

  • Навигация по полям. В главном окне слева размещается найденное изображение паспорта, а справа — распознанные поля. Для каждого поля на изображении паспорта подрисовывается рамка, при клике на которую мы переходим в нужное нам поле. Если у нас одно и то же поле присутствует на картинке в нескольких местах (например, серия и номер паспорта могут встретиться аж три раза), а результаты распознавания разные — то мы превращаем TextBox в ComboBox, чтобы можно было легко выбрать нужный вариант.
  • Подозрительные символы. В процессе распознавания мы помечаем некоторые символы как подозрительные — это такие символы, в правильности распознавания которых мы не очень уверены. Если ошибки и есть, то они почти наверняка находятся среди подозрительных символов. Поэтому мы раскрашиваем их красненьким и обеспечиваем удобную навигацию: по хоткею можно перейти к следующей или предыдущей группе подозрительных символов. Причём навигация достаточно интеллектуальна: если в поле почти все символы подозрительные, то при переходе к ошибке мы выделяем не только красные буквы, а вообще всё поле целиком.
  • Всплывающие подсказки. Изначально, чтобы проверить какое-нибудь поле, нужно было сначала посмотреть на поле, потом перевести взгляд на картинку с паспортом, найти там это поле. Потом обратно на TextBox, потом обратно на паспорт. Потом подумать и соотнести текст. Это долго и неудобно. Поэтому прямо рядом с TextBox-ом мы делаем всплывающую подсказку с соответствующим фрагментом паспорта. А чтобы искать нужные символы было ещё удобней, мы обводим на картинке выделенный пользователем текст. Если пользователь уже успел написать в поле своих символов, то программа умеет неплохо додумывать, где бы они должны быть на изображении и всё равно обводит.
  • Автогенерация формы. А что, если пользователю не нужны все поля? Скажем, требуется только ФИО. Зачем заставлять пользователя проверять все результаты? К счастью, список полей можно настроить так, чтобы отображались только те из них, которые вам действительно нужны.

А знаете, вообще, мы очень долго пилили UI, очень много всего было сделано, кратко не расскажешь. Лучше мы потом сделаем отдельный пост, в котором подробно расскажем про все юзабилити-решения в программке. Если вы занимаетесь проектированием интерфейсов, то вам, наверное, будет интересно почитать не только про конечный результат, но и про процесс — как мы к такому интерфейсу пришли, почему сделали так, а не иначе.

Как лучше всего отдать данные пользователю

Ну, казалось бы, всё готово: изображение обработано, текст распознан, пользователь всё проверил. Чего ещё для счастья не хватает? Давайте подумаем: раз данные распознаются, значит, это кому-то нужно. И, наверное, этот кто-то планирует их потом использовать. И, надо полагать, использовать он их будет в какой-то своей программке.

А значит, распознанные данные нужно как-то в эту программку передать. Встаёт логичный вопрос: как мы будем это делать?

PassportVision Office. Увы, программок существует много, и для каждой нужно искать свой подход. Социологический опрос показал, что большая часть целевой аудитории вводит паспортные данные в документы, которые подготавливаются в MS Word.

Поэтому мы сделали отдельную редакцию PassportVision для работы с Word:

Идея в следующем: на риббон добавляется специальная вкладка, с помощью которой можно сформировать шаблон со специальными метками. Итак, данные распознались, пользователь их проверил, щёлкнул ОК. И, как по волшебству, данные вставляются в шаблон вместо заранее подготовленных меток. Достаточно часто документ оформляется с участием нескольких действующих лиц, поэтому для каждой метки можно указать, к какому лицу относится данный паспорт. Кладём первый паспорт в сканер, затем второй — и наш документ готов! Маркеры ведут себя достаточно интеллектуально. Например, для даты можно указать формат представления, а окончания отдельных слов могут зависеть от пола человека.

PassportVision Adaptive. Увы, не все используют Word, в мире существует ещё множество программ, в которые можно вводить данные.

Для всех писать отдельные редакции не очень целесообразно, поэтому мы написали универсальную редакцию, которую можно приспособить к любому приложению. PassportVision Adaptive эмулирует работу пользователя: где какую клавишу нажать, куда мышкой кликнуть.

Нужно только сделать специальный макрос, в котором вы объясните программе, чтобы вы сделали, если бы вам понадобилось использовать результаты распознавания. Да, возможно, макрос для сложного ПО не так просто сделать, но это одноразовая операция.

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

PassportVision SDK. А некоторые пользователи хотят использовать результаты распознавания в собственном ПО. Если вы разработчик, то вы можете использовать специальное API, чтобы получить все данные в нужном формате. Если ваше приложение разрабатывается не под .NET, то не волнуйтесь: мы заботливо завернули API в COM-обёртку, так что SDK можно использовать из-под C++ и Delphi.

Другие редакции PassportVision. Разработка идёт полным ходом, мы стараемся сделать много разных редакций программы, чтобы каждый мог подобрать удобное для себя решение.

Например, скоро на экранах появится версия под 1С (там тоже часто возникает потребность в вводе паспортных данных), а Adaptive-версия пополнится специальными макросами для веб-форм (нужно будет просто указать, в какие поля что заполнять, а волшебный JavaScript сделает всё остальное).

Вместо заключения

Если вы хотите использовать нашу программку для того, чтобы избавить людей от ручного ввода паспортных данных и сделать мир лучше, то можете связаться с нами, и мы расскажем про PassportVision подробнее. А если вы не заинтересованы в автоматизации документооборота, но интересуетесь тем, как идёт разработка ПО в разных компаниях, то специально для вас скоро будут посты с подробной информацией про организацию работы, компьютерное зрение и подходы к юзабилити. Разработка активно продолжается, сейчас мы добавляем поддержку разных видов документов (загранпаспорта, свидетельства о рождении и т. д. — они уже работают в альфа-режиме), новые редакции продукта и клёвые фичи. По ходу попадаются очень интересные технические проблемы, для которых приходится придумывать увлекательные пути решения. Если вам будет интересно, то мы также опубликуем посты о решении наиболее любопытных задачек — надеемся, кому-нибудь этот опыт будет полезен.

Источник: http://news.shamcode.ru/blog/passportvision---prostoj-sposob-raspoznavat-dokumentyi/

Какой шрифт используют для подделки паспорта рф. PassportVision — простой способ распознавать документы

Какой шрифт используют для подделки паспорта рф. PassportVision — простой способ распознавать документы

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

Элементы защиты

Защита паспорта РФ от подделки начинается еще на этапе производства. Бумага используется специальная, как для денежных купюр. На нее нанесены водяные знаки и фоновая сетка, плавно меняющая цвет.

Бланки паспортов изготавливаются типографским способом, с использованием так называемой высокой печати, в единственной предназначенной для этого типографии страны – на Гознаке. Надпись на форзаце не плоская, а рельефная, это определяется на ощупь.

Какой шрифт используется в паспорте РФ? Подобрать точно такой же в настройках вашего компьютера не удастся – шрифт засекречен государственным стандартом и в других типографиях не используется.

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

Лупой проверяется целостность ламинированной страницы с фото – именно она подвергается замене и подделке чаще всего.

На ламинированное покрытие в месте вклеивание фотокарточки нанесен орнамент, нарушить который можно при попытке замены защитного слоя.

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

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

Как проводить проверку

Разберемся, как отличить поддельный паспорт от настоящего.

Весь процесс проверки можно условно разделить на несколько этапов:

  • проверка действительности документа;
  • проверка принадлежности паспорта предъявившему его лицу;
  • выявление признаков подделки.

Действительность паспорта

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

Недействительным может быть паспорт, если в нем недостает печати, подписи владельца или должностного лица.

Обратите внимание на соответствие даты выдачи и даты регистрации по месту жительства: соответствуют ли они возрасту владельца, если нет, можно поинтересоваться о причине внеплановой замены.

Определяем владельца

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

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

Признаки подделки

Подделка может быть как полной, так и частичной. Но подделывать весь паспорт целиком – довольно хлопотно. Как правило, речь идет о замене или «редактировании» одной странички с личными данными и фото.

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

Зная это, будем искать признаки подделки паспорта РФ именно на этой странице.

«Чужая» страничка может немного отличаться от других по цвету или размеру. На фото не должно быть следов повреждений, полоски красного цвета, нанесенные на край, должны сохранять целостность. Для вклеивания фото используется специальный клей, не деформирующий бумагу.

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

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

“ПАСПОРТНО-ВИЗОВЫЙ СЕРВИС” ФМС России: видео

«Как, опять не про логотип?», – возмутится читатель. Да. Есть серьёзные основания, чтобы и этот раздел размещать раньше фирменной символики. По той же самой причине, по которой у нас первым разделом паспорта идёт : шрифты от логотипа не зависят, а вот в логотипе или фирменном блоке очень даже могут использоваться фирменные шрифты.

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

Что хуже: отобрать у МТС яйцо или красный цвет? И то, и другое – смертельно для бренда. И то, и другое – балки несущей конструкции.

А раз всё важно, раз нет главного и второстепенного, значит руководствуемся логикой.

Раздел может называться «Фирменные шрифты» или «Фирменная шрифтовая палитра», а может просто – «Шрифты», – коль уж мы говорим о фирменном стиле, то и лишние прилагательные ни к чему.

Билайн

Раздел «Шрифты» обычно состоит из параграфов: «Основные шрифты», «Дополнительные шрифты» и «Системные шрифты». Фирменные стили бывают разные, поэтому ради перестраховки во всех трёх заголовках я сознательно употребил множественное число, хотя в большинстве случаев основной шрифт будет один, также единственное число рекомендовано для дополнительного и системного шрифтов.

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

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

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

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

Автомир

После того как мы описали основные шрифты, можно переходить к описанию .

Источник: https://www.auturs.ru/fines/kakoi-shrift-ispolzuyut-dlya-poddelki-pasporta-rf-passportvision.html

«Предъявите документы» или что поможет распознать паспорт

Какой шрифт используют для подделки паспорта рф. PassportVision — простой способ распознавать документы

Мы уже говорили о распознавании текста из видеопотока, его преимуществах по сравнению с обработкой фотографии и сценариях, где это особенно полезно.

Сегодня мы запускаем ABBYY Real-Time Recognition SDK для мобильных платформ Android и iOS. Поэтому хотим поговорить об особенностях распознавания данных на мобильном устройстве, а именно, об извлечении информации в видеопотоке на примере одного из самых сложных документов – гражданского паспорта.

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

Набирать информацию на маленькой клавиатуре мобильного устройства очень неудобно.

Особенно неприятное поле для ввода – это данные о месте выдачи паспорта: обычно они занимают пару-тройку строк и содержат множество аббревиатур.

Каршеринговые компании говорили нам, что основная часть потенциальных клиентов «отваливается» именно на этапе ручного ввода этих данных.

Значит, проблема не в том, что люди боятся рассекретить информацию о себе, а в том, что им жалко тратить время на муторное перепечатывание текста из паспорта.

У всех смартфонов есть камеры, которые можно использовать для упрощения и ускорения ввода информации с документов. Задача есть – нужно решать.

На самом деле, у ABBYY уже есть решение для этой задачи, работающее на ПК. Однако современный смартфон хоть и мощный, но всё еще не компьютер. Нам нужно было делать поправку на допустимый размер приложения (не больше 50 МБ) и доступную оперативную память. Поэтому вариант «просто перенести имеющуюся технологию на мобильные платформы» мы отмели и приступили к новой разработке.

Почему сложно распознать паспорт?

Казалось бы, что сложного в том, чтобы распознать паспорт? Структура паспорта известна: на «половинке с фото» сбоку расположена вертикальная строчка с серией и номером, слева от неё – 6-7 горизонтальных строк с персональными данными. Но сложность заключается не в том, чтобы разобраться, где какое поле, а в том, чтобы верно распознать нужный текст.

Паспорт – не самый простой для распознавания документ. Есть ряд проблем, с которыми рано или поздно сталкиваются все, кто пытается его обработать.

Дефекты съёмки

В этом блоге мы уже не раз обсуждали, какие сложности возникают при распознавании фотографии, а не скана. Основная сложность в том, что фотоаппарат смартфона – это не сканер 🙂 При фотографировании мы держим устройство (а иногда и фотографируемый документ) в руках, а рука может дрогнуть. Результат – смазанный текст на фотографии, который просто невозможно распознать.

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

Рисунок 1. Блик полностью закрывает фамилию (данные паспорта изменены)

Сложный фон

Чтобы защитить документ от подделки, сотрудники УФМС добавляют голограммы и еще больше усложняют задачу распознавания и извлечения данных паспорта.

Я думаю, увидев фото своего паспорта, многие негодовали из-за того, что двуглавый орёл попал прямо на лицо и окончательно испортил фотографию. Точно так же он может «испортить» фамилию, дату рождения и другие поля, превратив их в едва читаемый на фотографии текст – это проблема и для систем распознавания.

Рисунок 2. Голограмма «РФ» перекрывает отчество (данные паспорта изменены)

Размеры и цвет текста

Ещё один неприятный момент. Подписи к полям данных (например, «Дата рождения», «Отчество» и др.) написаны очень мелким шрифтом.

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

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

Кроме того, часто встречаются документы, на которые явно пожалели краски. Текст настолько бледный, что его едва можно прочитать. Распознать такой текст на фотографии ещё сложнее.

Рисунок 3. Слабо контрастный текст (данные паспорта изменены)

Что может помочь в распознавании?

Итак, распознать паспорт — дело непростое. Но трудности существуют для того, чтобы их преодолевать. И мы хотим поделиться некоторыми идеями, полезными для распознавания паспорта на мобильном телефоне.

Распознавание из видеопотока

Первая проблема, о которой мы упомянули, это сложность работы с фотографией по причине наличия бликов, смазанного текста и т.п. Чтобы с ней справиться, можно попробовать нивелировать эти дефекты.

Например, использовать функции ABBYY Mobile Imaging SDK для оценки качества изображения и его пригодности для распознавания.

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

Другой способ борьбы с дефектами – отказаться от работы с фото и перейти к обработке видеопотока, т.е. последовательности изображений (кадров), полученных от камеры устройства.

Человеку сложно при съёмке паспорта держать руки ровно. А значит, дефекты будут «путешествовать» по кадрам: на одном блик может быть расположен в районе поля «Имя», а на другом — где-то на фотографии владельца паспорта.

Распознавая разные кадры отдельно, а затем объединяя полученные результаты для каждого поля, можно значительно повысить точность извлекаемых данных.

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

Очевидно, что среднее будет меняться при добавлении данных новых обработанных кадров, и возвращать результат логично только после его стабилизации. В своих разработках для оценки стабильности мы используем вероятностный критерий и останавливаем обработку только тогда, когда вероятность изменения результата становится крайне мала.

Словари распознавания

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

Но у нас есть возможность «подсказать» распознавателю, какая из имеющихся гипотез более вероятна, подключив словари, содержащие нужную лексику.

В случае с паспортом это даёт заметный прирост точности обработки, исправляя такие «классические» ошибки распознавания, как 'И' -> 'Й', 'О' -> '0' и др.

Также помогут регулярные выражения для числовых полей (даты, коды и номера). Их применение позволит исключить ситуации, когда цифры путаются с буквами (‘B’ -> ‘8’, ‘З' -> '3' и т.п.).

Фильтрация мелкого текста

Словари помогут повысить качество распознавания основного текста, но с мелким реперным текстом (подписи к полям) справиться не смогут. Чтобы он не мешал, его нужно отфильтровать. Сделать это можно, например, опираясь на его цвет и размер.

Эти характеристики заметно отличаются для шрифта, которым написаны основные данные паспорта, но всё же при их использовании возможны ошибки. Поэтому критерии фильтрации не должны быть слишком жёсткими.

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

Нормализация распознанных значений

К сожалению, добиться 100% качества распознавания основного текста и полностью отфильтровать весь мелкий мешающий мусор удаётся далеко не всегда, а оставшиеся ошибки сильно влияют на качество извлечённых данных. Чтобы улучшить результат, можно использовать специальные постобработки:

  1. Для числовых полей достаточно задать регулярное выражение, описывающее данное поле, и отбрасывать «лишние» символы, попавшие в результат, но не подходящие по формату. Например, в паспортах довольно мало места для поля «Дата выдачи», поэтому часто неверно распознанная подпись к полю может «приклеиться» к самому значению. В итоге мы увидим, например, такой результат: «::16.05.2010». Простая нормализация позволит оставить только верное значение для данного поля: «16.05.2010».

    Кроме того, при распознавании из видеопотока можно использовать форматные проверки для ускорения процесса, завершая обработку при получении стабильного результата, подходящего по формату. Наши внутренние тесты показывают, что такой подход позволяет ускорить процесс распознавания примерно на 15% без значительной просадки качества по сравнению с «полной стабилизацией», описанной выше.

  2. Для словарных полей можно использовать дополнительную проверку и исправление ошибок по словарю. Признак словарности также будет полезен для ускорения процесса обработки – возвращать результат для поля, где все слова прошли проверку, не дожидаясь «полной стабилизации» значения.

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

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

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

Автоматическое распознавание нужных для этого данных (код абонента, номер лицевого счета и т.п.) позволит значительно упростить и ускорить процесс.

Мы в ABBYY осознаём важность таких задач, и поэтому наша команда активно работает над специализированным API, которое позволит разработчикам быстро и максимально просто создавать мобильные приложения для извлечения данных из любых документов. А ABBYY Real-Time Recognition SDK доступен уже сейчас.

Следите за обновлениями 🙂

Ольга Титова,
департамент продуктов для разработчиков

ABBYY

Источник

Источник: https://www.pvsm.ru/obrabotka-izobrazhenij/251256

Юрист и Закон
Добавить комментарий