

Распознавание паспортных данных
В качестве решения мы предложили доработать под задачу распознавания паспортов наш продукт интеллектуальной обработки документов — Экстрактор.
Специфика бизнес-процессов обработки валютных операций в банке требует максимально качественного извлечения данных. При этом на вход модуля поступают отсканировенные ксерокопии разворотов паспортов с низким разрешением. Дополнительной сложностью является наличие голограмм, пятен, подтёков чернил и дефектов печати штампов, а также печати банковского делопроизводства на ксерокопиях.
Входящие сканы могут содержать несколько разворотов паспорта или даже разные документы. Для детекции и извлечения нужных разворотов паспорта из скана была обучена отдельная UNet-like модель.
В целях достижения высокого качества распознавания разработан собственный детектор текста и полей на развороте паспорта. Он обеспечивает корректную группировку содержимого полей при любых поворотах, изгибах страниц и перспективных искажений. Детектор работает на базе двух UNet-like моделей, обученных каждая под свой разворот. Применение отдельных моделей обусловлено многообразием отметок о снятии и постановке на регистрационный учет.
После минимизации ошибки детекции полей требуется качественное распознавание непосредственно текста в них. Для этого обучена собственная модель распознавания текста на базе трансформер архитектуры ViTSTR. Модель адаптирована к шрифтам, используемым в штампах и на основном развороте.
Необходимость работы без GPU потребовала ускорить работу на CPU. Для этого мы оптимизировали часть моделей: квантизовали и уменьшили количество слоёв.
- Разработка велась три месяца.
- Модуль прошёл тестирование «Банком Казани» и передан компании ICL.
- Поля основного разворота извлекаются с точностью 98,5%.
- Страницы отметок о регистрации — 93,3%.
- 15 секунд занимает обработка разворота паспорта на 2 CPU и 4ГБ RAM.
Запросить демо песочницы распознавания можно на сайте Экстрактора.