Как выбрать нужную таблицу на документе без нейросетей: метод Smart Engines

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

Как выбрать нужную таблицу на документе без нейросетей: метод Smart Engines

Когда система распознавания документов находит на изображении несколько областей, похожих на таблицы, перед ней встает вопрос: какая из них — целевая? Ошибочный выбор приводит к неверному распознаванию, поэтому идентификация должна быть точной и быстрой. Инженеры компании Smart Engines предложили необычное решение: превратить каждый табличный регион в строку, которая описывает его геометрию и текстовое содержимое, а затем использовать регулярные выражения. Такой подход позволяет достичь около 2000 идентификаций в секунду даже на обычном мобильном процессоре.

Как работает строковое представление таблицы

Идея заключается в том, чтобы закодировать структуру таблицы в виде текстовой строки. Каждая ячейка или строка получает символьное обозначение, учитывающее её размер, положение и содержимое. Например, объединённые ячейки, пустые строки и типы данных (числа, даты, текст) кодируются определёнными символами. Регулярное выражение, составленное для целевой таблицы, позволяет быстро отсеять неподходящие регионы и выбрать единственный правильный.

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

Предыстория и контекст

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

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

Чем этот метод отличается от нейросетевых подходов?

Главное отличие — в скорости и предсказуемости. Нейросети могут быть точнее на сложных документах, но они медленнее и требуют обучения. Метод Smart Engines работает мгновенно и не нуждается в обучении на примерах. Он основан на правилах, которые легко настраивать и отлаживать. Если документ меняется, достаточно скорректировать регулярное выражение, а не переобучать модель.

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

Технические детали алгоритма

Алгоритм состоит из нескольких этапов. Сначала изображение обрабатывается для поиска всех областей, похожих на таблицы. Для каждой области строится строковое представление: анализируются линии сетки, объединения ячеек, текстовое содержимое. Затем каждая строка сравнивается с регулярным выражением, описывающим целевую таблицу. Если совпадение найдено, регион помечается как целевой.

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

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

Кого затронет и как

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

В России и СНГ это особенно актуально, так как Smart Engines — отечественная компания, и её технологии могут быть интегрированы в государственные и корпоративные системы без опасений по поводу санкций или импортозамещения.

Что будет дальше

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

Итог

Метод Smart Engines — яркий пример того, как классические алгоритмы могут конкурировать с нейросетями в задачах, где важна скорость и детерминированность. Он уже применяется в реальных продуктах и показывает отличные результаты. Следить за развитием этой технологии стоит всем, кто работает с распознаванием документов.