Почему ICDAR?
Море, солнце, пляж технологии. В греческой столице недавно завершилась Международная конференция по анализу и распознаванию документов, она же ICDAR. Кажется, лучше места для обмена опытом в одной из ключевых научных областей в эпоху цифровых преобразований было не найти. Колыбель науки как-никак!
ICDAR проводится с 1991 года и уже давно закрепила за собой статус центрального мероприятия в области обработки документов, распознавания текстов и анализа изображений. Здесь ежегодно собираются все сливки научного и профессионального сообщества: ведущие исследователи, разработчики, представители деловых кругов и власти приезжают на конференцию, чтобы поговорить о положении дел в сфере компьютерного зрения, сформулировать направления будущих исследований и предложить решения актуальных проблем. Команда Smart Engines регулярно выступает в рамках ICDAR, рассказывая про свои новые разработки. В этом году наши ученые выступили на конференции с двумя докладами.
Нынешняя встреча – 18-я по счету и была традиционно посвящена последним достижениям в области автоматического распознавания текстов, анализа документов, оцифровки архивов и других смежных технологий. На конференциях ICDAR неуклонно следят за современным состоянием OCR и отмечают все новинки.
Итак, хорошая новость: ученые сходятся во мнении, что OCR нисколько не устарела, благополучно развивается и остается в центре внимания исследователей и клиентов. Плохая: для многих пользователей технология – темный лес. Потому необходимо сделать так, чтобы как можно больше людей понимали принципы работы OCR (и могли эту работу наблюдать). Но для этого сами системы еще необходимо усовершенствовать. Пойдем по порядку.
Почему OCR - это важно и нужно
OCR известна человечеству уже около сотни лет и до сих пор остается центральной технологией в области обработки, анализа и извлечения текстовой информации. Причем совершенно любого рода: от данных паспортов, удостоверений личности, бухгалтерской документации, банковских форм до исторических документов, архивных записей, писем, квитанций и тому подобного. Сегодня в OCR активно применяются нейронные сети и технологии машинного обучения: благодаря современным OCR можно переводить в цифру любые таблицы, рукописные символы, текст в видеопотоке и даже проверять на подлинность распознанные документы.
С помощью OCR происходит автоматическая оцифровка текстовых данных в любом объеме. Бумажные документы или книги преобразуются в цифровые файлы, что делает информацию в них доступной для поиска, редактирования или простого хранения. Автоматизация существенно влияет на скорость бизнес-процессов и снижает до минимума риск ошибок. Поэтому неудивительно, что сегодня OCR пользуются практически повсеместно: в государственных ведомствах, промышленности, банкинге, ритейле, телекоме, нотариальных фирмах, системах безопасности и контроля, медицине, архивах, авиа- и жд-кассах, базах данных и так далее.
В общем, переоценить научную и практическую значимость OCR действительно невозможно. Подробнее о применении технологии читайте тут или по ссылке ниже.
Как и для чего делать распознавание объяснимым
Существенное внимание на ICDAR 2024 уделили необходимости сделать OCR-системы более понятными для пользователя. Точнее - объяснимыми (на конференции это описали термином explainable recognition). И если с основной задачей и базовым функционалом OCR все более-менее понятно, то сам процесс распознавания особенно с приходом нейросетей в большинстве случаев остается за рамками. Вердикт научного сообщества: мало просто создать OCR – нужно еще сделать ее работу объяснимой и интерпретируемой. На всех этапах.
В практическом плане это означает следующее:
Распознавание должно быть многоступенчатым, результаты должны быть прозрачными. Пользователь качественной системы OCR должен иметь возможность лично следить за распознаванием на любом этапе. Принципы, по которым происходит весь процесс, должны быть объяснимыми, а результат - понятным для человека. Например, пользователь должен иметь возможность видеть расположение оцифрованных символов в обработанном документе.
Необходима индикация степени уверенности. Система распознавания должна демонстрировать не только что и откуда она взяла и распознала, но и насколько она уверена в результатах. Например, подсвечивать отдельные символы или формы, в правильном распознавании которых система OCR не уверена. Еще лучше, чтобы она оценивала собственную уверенность в результатах посимвольно.
Никаких неоправданных отказов. Если при распознавании происходит ошибка, система должна не просто докладывать пользователю о неудаче, но объяснять, почему именно так вышло.
Само собой, выше и далее речь идет сугубо об алгоритмах – никаких HITL, когда распознанием важных документов под видом ИИ занимается левый человек. Здесь вам не проходной двор.
Недостаток внимания разработчиков систем OCR ко всем этим правилам чреват недоверием и, следовательно, отсутствием спроса со стороны пользователей. Что, разумеется, печально, – резюмировали на конференции. Вывод: стремиться есть к чему, путь к достижению необходимого уровня открытости технологий предстоит неблизкий. В первую очередь – потому, что непосредственно научное решение проблемы (то есть предоставление пользователю полной свободы наблюдать, как и на чем обучается и функционирует OCR) тормозит вопрос чистой этики. Насколько это будет правильно сейчас, когда все поголовно стремятся к полной приватности и ученые задумываются о том, как прокручивать обучение алгоритмов обратно, чтобы удалить или “забыть” использование чьих-то данных?
Как мы оказались впереди планеты всей
Похвастаться технологией, отвечающей сформулированным на ICDAR 2024 правилам “объяснимости” среди современных компаний-разработчиков OCR могут немногие. Участники конференции пришли к выводу, что совершенствование систем OCR еще займет немало времени. А мы в Smart Engines уже успешно реализовали почти все, о чем многие могут пока только мечтать.
С момента своего появления наши продукты были и остаются интерпретируемыми на всех этапах распознавания: числовое значение качества работы возвращается в рамках каждой подсистемы распознавания, начиная с определения типа документа и заканчивая постпроцессорами. Более того, мы обучаем все свои модели только на синтетических данных, что позволяет нам исключить человеческий фактор из разметки данных, а также точно описать модель обучаемых данных.
Вот что это значит:
Работа системы распознавания делится на этапы, в рамках которых последовательно функционируют отдельные подсистемы. Например, сначала работает подсистема локализации (или поиска) и определения типа документа, которая находит документ на изображении и фиксирует его границы. Конечно, если речь идет не о полнотекстовой распознавалке – в таком случае этот этап игнорируется. Знание типа документа позволяет нам избежать ненужных действий и упростить и ускорить процесс распознавания. Затем идет обработка изображения: система убирает любые искажения, в том числе перспективу — как будто документ был отсканирован. После этого начинается этап поиска информационных и содержательных полей (текста, таблиц, печатей, штампов, фото и так далее). И только потом происходит собственно распознавание информации из полей нейросетями. В завершение результаты обрабатываются постпроцессорами. На этом этапе происходит проверка и корректировка извлеченных данных с учетом их ожидаемого формата, ведь тип документа мы уже знаем.
Для пользователя все эти этапы протекают за десятые доли секунды (а иногда сотые доли) и потому, как правило, незаметны. Однако это не исключает возможности следить за процессом и наглядно выводить результаты работы нашей OCR на каждом уровне.
Каждый из этапов наблюдаем и может выдавать численную метрику своей уверенности – в практическом плане это позволяет не только проследить успешность работы каждого этапа, но и при необходимости отрисовать, пронаблюдать и понять, на каком этапе распознавания произошла ошибка;
Пользователь имеет возможность видеть точное расположение проблемного места. Если наша система не смогла распознать какое-то из полей документа (допустим, поле фамилии) или отдельный символ в слове, она не бросит в пользователя ошибку всего процесса, а ласково проводит его до конкретного этапа, поля или символа и покажет, что, где и как ей не удалось.
Словом, все максимально объяснимо и интерпретируемо.
Другой важный момент — защита наших нейросетевых моделей — обеспечивается тем, что мы самостоятельно синтезируем обучающие данные. Такие данные не содержат чувствительной личной информации и притом нисколько не уступают реальным данным по своим естественности и разнообразию. Как мы это делаем? Читайте вот тут:
Как следует из докладов того же ICDARа, общий тренд в сторону приватности никто не отменял. И наша OCR ему в полной мере соответствует – как в научном плане, так и на практике. В общем, держим марку.
Помимо объяснимости
Решения Smart ID Engine, Smart Document Engine и Smart Code Engine созданы на базе собственного OCR-движка, способного с высокой скоростью обрабатывать большие объемы документации, корректно считывать данные из таблиц, печати, штампы рукописного заполнения и другие особенности самых разнообразных типов бумаг. И все это - со скоростью 15 документов в секунду на сервере.
Наша OCR извлекает информацию из любых источников: со сканов, фотографий или видео, в приложении или браузерном окне и т.д. Причем читать и распознавать с посимвольной точностью удается любые, даже откровенно неудачные «вводные»: с искажениями пропорций, заломами, корешками, гербовыми линиями, защитными элементами вроде голографических деталей или гильоширного фона и тому подобного (в первую очередь речь про распознавание паспорта). И все это - быстро и надежно, не доверяя содержание документов третьим лицам.
Smart ID Engine обеспечивает мгновенное распознавание и ввод данных удостоверяющих документов более 235 юрисдикций мира. Решение работает в реальных условиях с фото, видео и сканами и дополняется технологией небиометрической сверки лиц для обеспечения аутентификации. Все операции по распознаванию полностью автоматизированы и исключают человеческий фактор. ПО поставляется в виде SDK с API для смартфонов, десктопов и серверов.
Smart Document Engine позволяет с высокой скоростью распознать печатные и рукописные документы на 102 языках мира. За счет использования уникальных моделей синтеза обучающих данных и геометрически осведомленного ИИ решение способно полностью автономно обрабатывать большие объемы документов и извлекать информацию из них. Обработка данных происходит в контуре компании (on-premise) без административных и уголовных рисков.
Smart Code Engine дает возможность автоматизировать процесс распознавания двумерных и линейных штрихкодов, платежных реквизитов, банковских карт, рукописных и напечатанных номеров телефона. С помощью программного продукта можно проводить сканирование документов, содержащих машиночитаемые зоны (MRZ). Решение может быть интегрировано в веб-приложения (PWA) и веб-страницы.
Мы в Smart Engines точно знаем, каким высоким требованиям должна отвечать качественная система распознавания.