С чего мы начинали?
Изначально мы сосредоточились на том, чтобы первыми в России обучить искусственный интеллект распознавать паспорт РФ с мобильного устройства. Мы действовали решительно: сначала разработанная нами OCR-система Smart PassportReader, задействуя машинное зрение и 8-битную модель вычисления, могла на смартфоне за 1–3 секунды извлекать данные только с третьей страницы документа. Потом к ней добавилась вторая, а затем можно было сканировать уже целый разворот паспорта. Причем распознавание работало не только на сканах, фотографиях или ксерокопиях, но и в видеопотоке камеры мобильного устройства или веб-камеры в режиме реального времени. Я специально делаю акцент на последнем, поскольку наше ПО распространяется как SDK для встраивания в мобильные и другие устройства. Позже на основании OCR-системы Smart PassportReader была создана OCR-система Smart ID Engine.
Следующим важным рубежом стало распознавание рукописи в паспорте. Для этого нам даже пришлось посадить программистов за прописи на пару дней, чтобы впоследствии из них можно было сформировать датасет для обучения системы. Конечно, только с помощью этого задача не решилась. Перед нами стоял целый пул наукоемких целей. Для детекции наличия рукописи в паспорте мы обучили бинарную сверточную нейронную сеть, которая анализировала подаваемые на вход изображения отдельных текстовых строк паспорта. Среди других задач были сегментация рукописной строки на символы, оценка границ каждого символа по вертикали (с рукописными буквами поиск традиционных базовых линий не применим), распознавание выделенных символов и постобработка полученных результатов. Сегодня наша OCR-система способна не только читать написанные аккуратным почерком слова, но и точно распознавать адрес регистрации, постепенно приближаясь к почеркам врачей.
Добавив кросс-валидацию реквизитов (большинство удостоверяющих документов содержат избыточные данные, согласованность которых следует проверять), мы сделали первый шаг к тому, чтобы наша система начала решать принципиально отличную от распознавания задачу — аутентификации документов и построения антифрод-систем.
Чем антифрод-системы отличаются от систем распознавания документов?
При беглом взгляде может показаться, что антифрод-система по своей природе аналогична традиционной системе распознавания образов. Отчасти это так, поскольку и там и там используются схожие семейства алгоритмов ИИ. Однако в действительности между обеими системами достаточно различий.
Большее число операций. В отличие от систем распознавания текста документов система антифрода более сложная и комплексная на всех уровнях, начиная с анализа входного изображения. Системе распознавания достаточно найти документ, а система антифрода должна не только обнаружить документ, но и отыскать аномалии как внутри, так и снаружи документа. На уровне анализа шаблона — распознать тип документа и при этом проверить ключевые особенности этого типа. На уровне распознавания буквы — вместе с идентификацией символа необходимо также проверить шрифт и способ нанесения. Это делает системы антифрода более комплексными и сложными в разработке, чем системы «простого» распознавания.
Анализ обширного объема данных. На входе антифрод-системы рассматривают комплексированные данные, содержащие наборы изображений (зарегистрированных в различных спектральных диапазонах), результаты распознавания (информация о найденном документе и его атрибутах), ответы от отдельных модулей анализа и понимания документа. Оперируя таким обширным набором данных разной природы, антифрод-система должна принять решение о наличии признаков фальсификации.
Комплексный вывод. На выходе антифрод-система возвращает коллекцию выявленных признаков фальсификаций, о каждом из которых известен не просто бинарный ответ: был ли в результате выявлен каждый признак или нет. Антифрод-системы на базе ИИ возвращают пару значений: «достаточно ли данных для выявления признака» и вероятность выявления признака на анализируемых данных. В некоторых случаях антифрод-системы, помимо коллекции признаков, возвращают также уверенность в подлинности рассматриваемого документа.
Находит то, что может не заметить человек. За счет активного применения методов машинного обучения системы антифрода на базе ИИ, в отличие от большинства традиционных систем распознавания, выявляют и детектируют на входных данных сложно интерпретируемые человеком элементы (например, аномалии в распределении шумов на изображении). Это позволяет эффективно находить даже те случаи фрода, которые опытные сотрудники с трудом определяют.
Требования к качеству работы. У систем распознавания и антифрода разные требования к качеству работы. Так, когда рассматривается система распознавания текста, вполне достаточным является показатель правильности распознавания (accuracy) — сколько букв или слов система правильно распознала. Чем выше показатель правильности, тем меньше «ручной» работы придется делать после применения системы распознавания. Когда речь заходит об антифрод-системах, одним показателем тут не обойтись. Антифрод-системы обрабатывают как подлинные документы, так и подделки, поэтому качество работы таких систем измеряют путем вычисления двух показателей:
- ошибка первого рода («ложноположительное» заключение, обозначается α) — когда антифрод-система неверно «признала» подлинный документ за подделку;
- ошибка второго рода («ложноотрицательное» заключение, обозначается β) — когда антифрод-система неверно «пропустила» подделку.
По своей природе, будучи «дополнительным щитом» против мошенника, антифрод-системы не должны сильно «препятствовать» прохождению подлинных документов. А это значит, что количество ошибок первого рода, то есть количество «ложноположительных срабатываний» (ситуация, когда антифрод-система признает подлинный документ за подделку), должно быть минимальным. Современные антифрод-системы на базе искусственного интеллекта могут обеспечивать значение ошибки первого рода на уровне не выше 0,1%. Это означает, что антифрод-система ложноположительно ошибается на подлинных документах не чаще одного раза на 1000 подлинных документов.
Почему так важно редко ошибаться на подлинных документах? Для понимания этого давайте гипотетически рассмотрим антифрод-систему, которая одинаково ошибается как на подлинных документах, так и на подделках с вероятностью, скажем, 1% (то есть α = β = 0,01). Пусть также в нашем гипотетическом примере поддельные документы встречаются не очень часто, с вероятностью p = 1% = 0,01 (то есть на сто предъявленных документов всего один поддельный), что в некотором приближении соответствует практике. Зададимся вопросом: какова вероятность того, что документ поддельный, если такая гипотетическая система распознала его как поддельный? Совсем не 99%, как может показаться. Чтобы получить правильный ответ, следует обратиться к теории вероятности, а именно к формуле Байеса:
То есть всего 50% вероятность того, что перед нами действительно подделка, если гипотетическая система с рассмотренными выше параметрами «сработала».
Однако если в том же примере ошибка первого рода будет 0,1%, то вероятность выявления подделки резко возрастает:
Таким образом, требования по качеству работы к антифрод-системам принципиально отличаются от традиционных распознающих систем.
Поиск физических подделок
Сегодня технологии Smart Engines умеют проводить проверки в двух каналах: физических (непосредственно сам документ) и цифровых (его электронная копия). Рассмотрим их подробнее.
Так, для физических каналов мы предложили систему для инструментальной проверки документов, включающую наше ПО и мультиспектральный считыватель паспортов — компактное устройство, разработанное ГК «Интек» и предназначенное для проверки документов при инфракрасной, ультрафиолетовой и белой подсветке. Для паспорта РФ на сегодняшний день мы выявляем более 60 признаков фальсификаций в этих трех диапазонах.
![](https://vaiti.io/wp-content/uploads/2024/05/image4-1.jpg)
Но останавливаться на достигнутом мы не стали и вскоре взялись за расширение набора документов (и их шаблонов), подлинность которых можно проверить. Мы приложили много усилий и специально построили свою систему так, чтобы ее можно было масштабировать с помощью one-shot learning. Смысл его в том, что систему не надо тренировать на огромном количестве документов одного типа, попутно демонстрируя ей всевозможные виды подделок. Вместо этого достаточно показать один «эталон» (в плане наличия всех признаков, что присущи официальным документам), и впредь ИИ будет сам находить любые отклонения от нормы.
Со временем мы научили нашу систему проверять подлинность больше 500 шаблонов паспортов. В этот обширный список входят паспорта стран СНГ, Ближнего Востока, Северной Америки, Евросоюза и многих других государств мира. Помимо этого, мы в целом доработали Smart ID Engine, добавив в него ряд новых функций: от верификации шрифтов до выявления неточностей в данных, указанных в документах.
В этом году мы обучили искусственный интеллект проверять подлинность доверенностей, дипломов и прочих документов А4 государственного образца. ИИ проверяет в документах наличие защитных флуоресцентных волокон, оценивает, напечатан ли документ на специальной полиграфической или обычной бумаге, ищет признаки переклейки или перепечатки и так далее. ПО нашей компании встроен в новую линейку сканеров от «Интека», отечественного производителя продукции в сфере биометрии, RFID и паспортных систем.
![](https://vaiti.io/wp-content/uploads/2024/05/image6-1.png)
Проверка в цифровом канале
Что же касается цифровых каналов, то для них достаточно, помимо программного обеспечения Smart Engines, обычного телефона, даже бюджетного. Система анализирует входящий видеопоток камеры устройства и выявляет наличие или отсутствие таких элементов, как голограммы, цветность бланка и многое другое. Проект был реализован при финансовой поддержке Российского фонда развития информационных технологий (РФРИТ).
Помимо этого, наша система проверки в цифровых каналах обладает также такими модулями, как:
- «Антифотошоп». Мы умеем проверять в том числе загруженные через веб-клиент сканы или фото документов. В частности, система умеет определять области, где пытались затереть данные; выявлять, сжимали ли (причем многократно) изображение документа; находить следы графических редакторов (или генеративных нейросетей), а также проверять метаданные файлов.
- «Антифрод». Тут целая россыпь параметров, которые учитывает (и проверяет) ПО: валидность бланка, типы и способы печати штампов и прочих атрибутов, начертания шрифтов, соответствие сроков действия и многое другое.
- Проверка «живости» документов. Под «живостью» имеется в виду, предоставляется ли на проверку действительно настоящий документ или его муляж, фотокопия (ксерокопия). Некоторые умельцы даже прибегают к такой тактике, когда на экран компьютера или планшета выводят изображение условного паспорта и, снимая его на камеру, выдают за подлинный документ. Тем не менее ИИ Smart Engines умеет выявлять эти уловки — например, детектируя факт пересъемки документа с экрана.
![](https://vaiti.io/wp-content/uploads/2024/05/image5-3-1024x723.png)
Важно отметить, что наши технологии полностью безопасны для тех, чьи документы сканируются и проверяются на подлинность.
В частности, мы не применяем верификацию людьми-операторами и уже тем более никуда не передаем данные с документов. Проверка проходит в локальной оперативной памяти смартфона. При этом наличие сетевого соединения не требуется. Так что личная информация клиентов остается в полной сохранности. Отдельно стоит упомянуть, что нейросетевые алгоритмы, задействованные в нашем программном обеспечении, уже запатентованы в РФ. Например, в прошлом году мы получили 12 патентов на изобретения, связанные с проверкой подлинности документов.
Небиометрическая сверка лиц
Еще одно решение, которое мы представили совсем недавно, предназначено для осуществления сверки лиц без использования биометрии. Это особенно актуально в условиях того, что в последнее время отношение к биометрии становится всё более неоднозначным.
Мы используем недискриминирующую нейросетевую модель, устойчивую к полу, расе, возрасту, макияжу, которая может проводить сверку лиц — того, что есть в паспорте, и селфи владельца документа — без выделения биометрических признаков (специальный метод обучения сквозных нейросетевых моделей препятствует возникновению биометрических признаков в скрытых пространствах). ИИ оценивает два изображения и выносит вердикт: похожи или нет. Благодаря нашим алгоритмам синтеза данных проверка лица не содержит дискриминации по признаку пола, расы или национального происхождения, а также устойчива к изменениям освещения и искажениям из-за неконтролируемых условий съемки.
Решение отлично подойдет в качестве второго мнения: когда у специалиста есть сомнения, действительно ли перед ним владелец документа, а не мошенник.