ИЗВЛЕЧЕНИЕ ТАБЛИЧНЫХ ДАННЫХ С ИЗОБРАЖЕНИЙ ОТСКАНИРОВАННЫХ ДОКУМЕНТОВ
Д.А. Бордачев, аспирант1, программист 2-й категории2 1Московский финансово-промышленный университет «Синергия» 2ПАО «НПО «Алмаз» (Россия, г. Москва)
DOI:10.24412/2500-1000-2024-9-1-118-123
Аннотация. На сегодняшний день системы электронного документооборота являются необходимой частью функционирования большинства организаций, и в особенности, занимающихся серийным производством. Такие системы позволяют значительно сократить время на согласование технической документации, и, как следствие, на выпуск непосредственно самого изделия. В данной статье рассмотрено применение алгоритмов компьютерного зрения для частичной автоматизации процесса электронного согласования технической документации.
Ключевые слова: компьютерное зрение, таблицы, техническая документация, электронный документооборот.
Важной составляющей электронного документооборота (ЭДО) на сегодняшний день является не только надежность и техническая оснащенность используемых систем, но также технологичность предоставляемых такой системой функций [8]. В данной статье будет рассмотрено применение алгоритма компьютерного зрения для извлечения табличных данных с изображений отсканированных документов, что в данном случае позволяет ускорить процесс согласования технической документации.
Типичный процесс согласования технического документа может выполняться двумя основными способами, в зависимости от того, используются ли бумажные или электронные формы документа. Эти варианты выглядят следующим образом:
1) Оригинал бумажного документа предоставляется всем необходимым подписантам для его рассмотрения и согласования. После того как все подписи собраны, документ считается утвержденным и отправляется на хранение в архив технической документации. Этот процесс используется, если согласование прошло успешно и не возникло замечаний или возражений по содержанию.
2) Документ сначала переводится в электронный формат и загружается в систему электронного документооборота
(ЭДО). В этой системе он должен быть подписан с помощью электронных подписей всех согласующих лиц. Использование электронной системы позволяет существенно упростить процесс согласования, ускоряя его и делая более прозрачным.
Второй сценарий особенно интересен с точки зрения возможностей автоматизации, которые предоставляет компьютерное зрение [11]. Так, системы, основанные на компьютерном зрении, могут автоматически определять и находить подписантов электронных документов в системе ЭДО. Обычно согласующие лица указываются в основной надписи документа (в соответствии с требованиями ГОСТ 2.104-68). Процесс рассылки копий документа предполагает необходимость для каждого подписанта найти в системе своего соответствующего пользователя. Только после этого документ может быть отправлен на согласование и подписан электронной подписью.
Алгоритмы компьютерного зрения значительно упрощают и ускоряют этот этап процесса. Они могут автоматически извлекать информацию о согласующих лицах из основной надписи и сопоставлять её с учетными записями пользователей системы ЭДО. Это позволяет избежать ручного поиска и сопоставления подписантов, что не только экономит время, но и снижает
вероятность ошибок. Таким образом, компьютерное зрение помогает автоматизировать и оптимизировать процесс согласования технических документов в системе электронного документооборота, повышая его эффективность и снижая трудозатраты.
Основные подходы к извлечению табличных данных
Основные подходы к применению алгоритмов компьютерного зрения сегодня делятся на использующие нейросетевые технологии, например, сверточные нейронные сети или сети на основе архитектуры transformer [1], либо использующие классические алгоритмы компьютерного зрения, такие как, рассмотренный в данной статье, алгоритм на основе преобразования Хафа [2] для нахождения прямых на изображении. Методы, основанные на классических подходах, являются более производительными и менее требовательными к ресурсам и данным. В данном случае (в условиях отсутствия вычислительных мощностей, необходимых для обучения трансформеров на больших объемах данных, а также требований максимизировать интерпретируемость решения) в приоритете скорость работы предложенного решения и минимальные затраты вычислительных ресурсов и памяти, что делает использование архитектур на основе transformer менее предпочтительным.
Таким образом, алгоритм извлечения табличных данных состоит из нескольких шагов:
1) Предобработка изображения.
2) Обнаружение таблицы на изображении документа.
3) Нахождение координат точек пересечения ячеек таблицы, восстановление структуры таблицы.
4) Извлечение необходимых данных, распознавание текстовой информации.
Рассмотрим подробнее перечисленные этапы.
Алгоритм извлечения табличных данных
Прежде чем анализировать изображение на наличие табличных данных, необходимо предварительно его обработать [11]. Предварительная обработка включает в себя устранение шумов, бинаризацию и сглаживание изображения. Предложенное решение также включает в себя модели глубокого обучения [7], и предобработка изображений может существенно добавить им в качестве и производительности. Шумные или низкокачественные изображения могут привести к ухудшению результатов и общей производительности модели. Предобработка изображений, например, бинаризация и фильтрация шума, позволяет моделям фокусироваться на важных особенностях, а не на артефактах изображения [3]. На рисунке 1 приведен пример вида изображения до (слева) и после (справа) предобработки.
Рис. 1. Внешний вид входных данных до и после нормализации
После предварительной обработки необходимо найти таблицу подписантов на изображении. На рисунке 1 искомая область выделена красным. Для решения этой задачи используется сверточная нейронная сеть уо1оу5б [4] (7 миллионов параметров), дообученная на размеченных вручную данных. Для достижения удовлетворяющего качества распознавания таблицы подписантов достаточно обучающей выборки в размере не более 1000 экземпляров.
После обнаружения таблицы необходимо восстановить ее структуру. Для этого, в силу ограничений по вычислительным ресурсам и требований интерпретируемости решения, используется преобразование Хафа. С его помощью получаем массив найденных прямых на изображении (зеленые линии на рисунке 2), после чего вычисляем попарно, какие прямые пересекаются под углом [90-angle_dif;90+angle_dif], где angle_dif - параметр функции восстановления структуры. Для каждого такого пересечения фиксируются координаты точки пересечения и
добавляются в массив точек (синие точки на рисунке 2). Затем полученные точки пересечения объединяются в пределах определенного радиуса, который также подается в функцию в виде параметра. Далее полученные точки проходят «отбор»: точка считается принадлежащей к структуре таблицы, если с ней на одной вертикали и горизонтали находится определенное количество точек (необходимое количество также задается параметром функции - votes в функции image_to_table). Вертикали и горизонтали также используются далее для восстановления структуры таблицы. После получения необходимых точек структуры восстанавливаются точки на границах таблицы: при отсутствии точки на пересечении границы изображения с вертикалью или горизонталью на определенном расстоянии (параметр borders в функции image_to_table) она там создается и добавляется в итоговый массив точек. Визуализация отобранных точек показана на рисунке 2 (красные точки). Все обозначения и фамилии удалены со всех рисунков.
Рис. 2. Визуализация преобразований изображения для получения структуры таблицы
Весь функционал выполнен на языке python, основные используемые функции имеют следующие заголовки (python):
1) Основная функция получения структуры таблицы. Вход - изображение, выход - массив точек в формате массива массивов точек, где измерения соответствуют столбцам и строкам таблицы: im-age_to_table(image,threshold,min_line_len,H ne_gap,img_sizes,votes,borders=35,angle_dif =2, points_collaplse_rad=22), где:
- Image - исходное изображение;
- threshold,min_line_len,line_gap - параметры для преобразования Хафа;
- votes - необходимое количество точек на горизонтали или вертикали для добавления точки в результирующий массив;
- borders - расстояние от границы изображения, при отсутствии точек на котором добавляется граничная точка в результирующий массив;
- angle_dif - определяет границы интервала для угла, при котором прямые считаются пересекающимися под «прямым» углом;
- points_collaplse_rad - радиус, при котором точки объединяются в одну.
2) Функция восстановления структуры таблицы из массива точек, вызывается из функции image_to_table:
build_table(points_in, deltas, votes_num, borders_offset), где:
- points_in - входные данные (массив координат точек изображения);
- deltas - предел отклонения от вертикали или горизонтали, внутри которого точка считается принадлежащей к ней;
- votes_num - равен votes в функции im-age_to_table;
- borders_offset - равен borders в функции image_to_table;
После того как структура таблицы успешно определена, следующим этапом обработки является извлечение текстовых данных из ячеек. Для этого можно использовать любую доступную OCR-модель [9] (Optical Character Recognition, или оптическое распознавание символов), которая поддерживает обработку текстов на русском языке. Важно отметить, что для улучшения качества распознавания текста рекомендуется провести дообучение выбранной модели на специфическом наборе данных, с которым предстоит работать.
Это позволит адаптировать OCR-модель к особенностям шрифтов, форматов и структуры текстов в конкретной выборке.
Чтобы организовать процесс дообучения, обучающую выборку можно создать при помощи алгоритма, описанного ранее для извлечения структуры таблицы. Суть подхода заключается в том, чтобы нарезать исходные таблицы на отдельные фрагменты, используя координаты, полученные из анализа структуры таблицы, и для каждого такого фрагмента назначить его текстовое содержимое. Такой метод значительно упрощает процесс создания обучающего набора данных для OCR-систем.
Следует отметить, что дообучение необходимо проводить только для модуля распознавания текста (recognizer), а не для детектора текстовых фрагментов. Это связано с тем, что современные OCR-системы включают в себя два ключевых компонента: один отвечает за обнаружение областей текста на изображении (detector), а второй - за распознавание символов внутри этих областей (recognizer). Однако в описанной выше методике формирования выборки детекция текста фактически происходит на
этапе извлечения структуры таблицы, поэтому дополнительное дообучение детектора не требуется. Такой подход позволяет значительно сократить объем работы и сфокусироваться на доработке только одного компонента системы - распознавания символов, что повышает эффективность всего процесса обработки таблиц.
Заключение
Успешное извлечение табличных данных позволяет повысить точность и скорость обработки информации, сократить ручной труд и улучшить интеграцию данных с системами управления и анализа [10]. Применение современных инструментов, таких как YOLO, OCR и другие модели глубокого обучения, значительно улучшает результаты в данной области, открывая новые возможности для их дальнейшего развития и применения.
Для дальнейших исследований рекомендуется сосредоточиться на повышении устойчивости алгоритмов к разнообразным искажениям и шумам, которые могут присутствовать в отсканированных документах, а также на разработке решений для работы с таблицами сложной структуры.
Библиографический список
1. Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones L., Gomez A.N., Kaiser L., Po-losukhin I. Attention is all you need // Advances in Neural Information Processing Systems. -2017. - V. 30. - P. 1-15.
2. Hassanein A.S., Mohammad S., Sameer M., Ragab M.E. A survey on Hough transform, theory, techniques and applications // Journal of Visual Communication and Image Representation. - 2019. - V. 62. - P. 193-210.
3. Fischer P., Smajic A., Mehler A., Abrami G. Multi-Type-TD-TSR - Extracting tables from document images using a multi-stage pipeline for table detection and table structure recognition: from OCR to structured table representations // IEEE Transactions on Pattern Analysis and Machine Intelligence. - 2021. - V. 43, № 7. - P. 2441-2455.
4. Redmon J., Divvala S., Girshick R., Farhadi A. You only look once: Unified, real-time object detection // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. - 2016. - P. 779-788.
5. Wei H., Liu C., Chen J., Wang J., Kong L., Xu Y., Ge Z., Zhao L., Sun J., Peng Y., Han C., Zhang X. General OCR theory: Towards OCR-2.0 via a unified end-to-end model // IEEE Transactions on Pattern Analysis and Machine Intelligence. - 2022. - V. 44, № 7. - P. 37523768.
6. Чихутова А.Д., Бердникова К.Э., Карпова М.А., Седова А.С., Юрина В.М. Компьютерное зрение и области его применения // Современные научные исследования и инновации. - 2019. - № 12. - [Электронный ресурс]. - Режим доступа: https://web.snauka.ru/issues/2019/12/90670 (дата обращения: 23.09.2024).
7. Созыкин А.В. Обзор методов обучения глубоких нейронных сетей // Вестник ЮУр-ГУ. Серия: Вычислительная математика и информатика. - 2017. - Т. 6, № 3. - С. 28-59. DOI: 10.14529/cmse170303.
8. Горюнова Т.А., Ларина К.В. Эффективность применения электронного документооборота на предприятиях // Современные технологии управления. - 2020. - № 5. - С. 4450.
9. Никитин А.В., Прохоров П.И. Инновационные решения на основе искусственного интеллекта и компьютерного зрения для автоматизации документооборота // Информационные системы и технологии. - 2022. - Т. 10, № 2. - С. 115-123.
10. Смирнов В.А., Иванова Н.П. Технологии компьютерного зрения для анализа и обработки медицинских изображений // Известия высших учебных заведений. Радиоэлектроника. - 2021. - Т. 64, № 4. - С. 89-96.
11. Дорошенко И.Ю., Ильин В.С. Компьютерное зрение в системах безопасности: технологии распознавания лиц // Системы управления и информационные технологии. -
2019. - Т. 27, № 1. - С. 15-21.
12. Акимова Ю.В., Пономарев А.Н., Гордиенко А.В. Применение компьютерного зрения для автоматизации производственных процессов // Вестник современной науки. -
2020. - Т. 3. - С. 33-41.
EXTRACTION OF TABULAR DATA FROM IMAGES OF SCANNED DOCUMENTS
D.A. Bordachev, Postgraduate Student1, Software engineer 2nd category2 1Moscow Financial and Industrial University "Synergy" 2PAO NPO Almaz (Russia, Moscow)
Abstract. Today, document management systems are provided to most organizations, especially those engaged in serial production. Such systems allow to significantly reduce the time for coordinating technical documentation and, as a result, for the release of the product itself. This article discusses the use of computer vision algorithms for partial automation of the process of digital signing the technical documentation.
Keywords: computer vision, tables, technical documentation, electronic document management.