История OCR, или как научились считывать российский паспорт

От первых OCR-программ, которые только справлялись с книжными сканами, до нейросетей. Как прошёл этот путь — разбираем по всем этапам истории.

Обложка: История OCR, или как научились считывать российский паспорт

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

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

За этим стоит больше 20 лет разработок: от первых OCR-программ, которые только справлялись с книжными сканами, до нейросетей, читающих паспорт в полной темноте с произвольного угла съёмки. Как прошёл этот путь — разбираем по всем этапам истории.

OCR умел читать книги. С паспортом всё сломалось

OCR-программы появились ещё в 60-х, тогда первые решения использовались для оцифровки книг: система получала качественный скан с планшетного сканера и забирала текст. Для своего времени — хороший результат: одна страница обрабатывалась за десять секунд, на листе формата А5 в среднем оставалось одна-две ошибки.

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

Чтобы добраться до паспортных данных, нужны были другие алгоритмы и другой подход.

2005: кто-то наконец сделал это правильно

В 2005 году компания Cognitive Technologies, основанная Владимиром Львовичем Арлазаровым (советский и российский учёный, член-корреспондент РАН, доктор технических наук), представила первый программный продукт для распознавания паспорта РФ — Cognitive Passport. В основе лежала собственная технология компании Scanify для автоматической обработки документов на государственных бланках и сбора из них текстовых и графических данных.

Система работала на любых сканерах и закрывала реальные сценарии:

  1. корректно обрабатывала документы с линиями сгиба или корешком, которые неплотно прилегали к стеклу сканера
  2. распознавала текст, пересекающийся с подписями, штампами и печатями
  3. считывала символы с близкой контрастностью к цветному фону гербовой бумаги
  4. распознавала строку MRZ — машиночитаемую зону идентификационных документов

Отдельно расскажем про программный интерфейс API: разработчики могли встраивать систему в другие решения, в том числе СКУДы и пропускные системы. Позже возможностей ещё больше: помимо российского паспорта, система научилась работать с загранпаспортом, водительским удостоверением, военным билетом, свидетельством о регистрации транспортного средства и свидетельством обязательного пенсионного страхования.

В 2010 году Cognitive Technologies подписала соглашение о стратегическом сотрудничестве с NVIDIA. Итогом стала версия Cognitive Passport API 2.0, где часть вычислений переложили с процессора на видеокарту — это стандартный приём, когда нужно ускорить массовую обработку изображений

2013: рынок перестал быть монополией одного игрока

Вслед за Cognitive Technologies на рынок распознавания документов вышла компания ABBYY, основанная выпускником МФТИ Давидом Яном. В 2013 году она сделала ABBYY PassportReader SDK — «коробочное» решение для распознавания идентификационных документов. Система умела обрабатывать и сканировать данные из паспорта РФ, водительского удостоверения и загранпаспорта.

К началу 2010-х годов извлечение данных паспорта на базе сканера занимало всего несколько секунд. Технологии вышли за рамки лабораторий и начали работать в реальном бизнесе — логистических компаниях, гостиничных сетях, нотариальных конторах. Но именно в это время стало очевидно, что сканер как аппаратная база — тупиковая ветка для роста. Удалённые сервисы развивались быстро, привычные операции уходили в онлайн, и OCR-системы, намертво привязанные к стационарному оборудованию, этому запросу уже не отвечали.

Рынку нужно было распознавание на смартфоне.

2015: паспорт научились читать прямо со смартфона — и всё изменилось

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

Первой задачу решила компания Smart Engines, основанная Владимиром Викторовичем Арлазаровым — внуком Владимира Львовича Арлазарова, создателя Cognitive Technologies. В 2015 году они сделали Smart PassportReader (сегодня — Smart ID Engine): система распознавала третью страницу паспорта РФ с основными данными держателя на фотографиях и в видеопотоке. Точность распознавания серии и номера в первой версии — больше 99%, ФИО — выше 95%.

Главное техническое решение, которое сразу сделало продукт лучшим на рынке: всё работало локально — на телефоне, компьютере или сервере без GPU. Никакой отправки изображений в облако, никаких краудсорсинговых платформ, никакого сохранения фотографий документов, никакого интернет-соединения. Это напрямую отвечало закону «О персональных данных» (152-ФЗ).

В 2016 году решение уже использовали: Тинькофф Банк (ныне Т-Банк), Почта Банк, Альфа Банк, Газпромбанк, вся большая тройка сотовых операторов — МТС, МегаФон, Билайн — и аэропорт Шереметьево. Фактически именно с этого момента началась эпоха массовых OCR-технологий в российском бизнесе.

Углы, рукопись, все страницы и браузер: что добавили за следующие шесть лет

После 2016 года развитие ускорилось, как двигались разработчики:

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

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

Все страницы паспорта. Со временем OCR-системы научились работать с абсолютно всеми страницами российского паспорта: ИИ находит номера страниц и читает любые штампы.

Распознавание в браузере. В 2021 году распознавание паспорта впервые запустили прямо в браузере — без установки приложения, сделали это с помощью технологии WebAssembly. Банки, страховые и другие компании получили возможность перенести OCR-функциональность сразу на сайт.

Читать паспорт умеют все. Теперь нужно понять, настоящий ли он

Число подделок растёт, и для бизнеса это меняет приоритеты: уже недостаточно просто считать данные из паспорта — нужно ещё понять, не фальшивка ли это. Порог в 95%, который считался нормой ещё пять-десять лет назад, сегодня не подходит, теперь минимальный уровень — 99% и выше.

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

При тысячах таких случаев недополученная выручка становится огромной.

Следующий уровень: антифрод и мультимодальность

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

Задача системы — не просто читать документ, но и понимать, как выглядит подлинный образец, поэтому OCR-системы должны проверять документ сразу по нескольким каналам одновременно: читать текст, считывать данные с чипа внутри паспорта при наличии, проверять штрихкоды, анализировать метаданные файла — и сверять всё это между собой.

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

Рекомендуем