Flying Paddle PP-TableMagic: структурированное извлечение информации для сложных таблиц

Целью распознавания таблиц является разбор таблиц на изображениях, точная идентификация структуры и расположения ячеек таблицы и приведение их к структурированным табличным форматам (например, HTML). В современный информационный век большое количество важных табличных данных все еще существует в неструктурированном виде (например, изображения таблиц статистики информации в отсканированных документах, таблицы статистики данных в финансовых отчетах PDF и т. д.), которые не могут быть непосредственно обработаны автоматически. Поэтому распознавание форм стало ключевой технологией в сценариях интеллектуального понимания документов и автоматического анализа данных. Высокопроизводительные решения по распознаванию форм имеют важное прикладное значение в таких областях, как обработка финансовых отчетов, анализ данных научных исследований, учет страховых случаев и т. д., что позволяет значительно повысить эффективность работы и сократить количество ошибок, допускаемых человеком. Однако в условиях сложных форматов форм в различных сценариях применения традиционные модели распознавания форм общего назначения зачастую трудно адаптировать. По этой причине компания Flying Paddle выпустила новое решение для распознавания таблиц - PP-TableMagic.

飞桨 PP-TableMagic:复杂表格结构化信息提取神器

PP-TableМагический эффект

飞桨 PP-TableMagic:复杂表格结构化信息提取神器   飞桨 PP-TableMagic:复杂表格结构化信息提取神器   飞桨 PP-TableMagic:复杂表格结构化信息提取神器   飞桨 PP-TableMagic:复杂表格结构化信息提取神器

Технический анализ PP-TableMagic

Недостатки существующей технологии

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

  1. Количество параметров модели распознавания таблиц обычно невелико, а две задачи - предсказание структуры таблицы и предсказание положения ячеек - имеют большие различия в целях и зависимых семантических иерархиях признаков, и существует верхний предел эффективности совместной оптимизации.
  2. Когда пользователи точно настраивают модель в конкретном сценарии, точная настройка определенных типов табличных данных может привести к "двойному провалу" в производительности модели, т.е. производительность категорий табличных данных, подвергшихся тонкой настройке, увеличивается, но производительность других категорий снижается, и общая производительность может не увеличиться, а уменьшиться.
飞桨 PP-TableMagic:复杂表格结构化信息提取神器

Технические решения и принципы PP-TableMagic

Для того чтобы в полной мере использовать производительность облегченной модели распознавания таблиц и поддерживать тонкую настройку любого типа табличных данных, PP-TableMagic использует структуру, показанную на рисунке ниже:

飞桨 PP-TableMagic:复杂表格结构化信息提取神器

PP-TableMagic использует двухпоточную архитектуру для разделения таблиц на проводные и беспроводные. Затем задача сквозного распознавания таблиц разделяется на две подзадачи: обнаружение ячеек и распознавание структуры таблицы, и, наконец, полный результат предсказания HTML-таблицы получается с помощью самооптимизирующегося алгоритма объединения результатов. В частности:

  • Команда Flying Paddle исследует собственную облегченную модель классификации таблиц PP-LCNet_x1_0_table_cls для достижения высокоточной классификации проводных и беспроводных таблиц.
  • Команда разработчиков запустила первую в отрасли модель обнаружения ячеек стола с открытым исходным кодом RT-DETR-L_table_cell_det, включающую весы предварительного обучения для обнаружения проводных ячеек стола RT-DETR-L_wired_table_cell_det и весы предварительного обучения для обнаружения беспроводных ячеек стола RT-DETR-L_wireless_table _cell_det для достижения точного позиционирования различных типов ячеек стола.
  • Flying Paddle представляет новую модель распознавания табличных структур, SLANeXt, которая обеспечивает более качественный разбор табличных структур, чем SLANet и SLANet_plus, что приводит к созданию более точных табличных HTML-структур.

В рамках PP-TableMagic особое значение имеет SLANeXt, новая модель распознавания структуры таблицы, разработанная компанией FeiPaddle. Распознавание структуры таблицы является наиболее важным аспектом распознавания таблиц, а предсказание от изображений таблиц к HTML-выражениям опирается на высокоуровневые характеристики изображений. Поэтому в SLANeXt в качестве визуального кодера используется Vary-ViT-B, который лучше представляет признаки, а извлеченные признаки передаются в SLAHead для более точного распознавания структуры. Помимо улучшения структуры модели, была усовершенствована и стратегия обучения. На основе самостоятельно созданного полнообъемного набора данных Flying Paddle и высококачественного набора данных с тонкой настройкой, веса распознавания структуры проводного и беспроводного стола получены соответственно с помощью новой трехэтапной стратегии предварительного обучения.

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

Основано на собственном наборе аналитических материалов для распознавания форм высокого уровня:

飞桨 PP-TableMagic:复杂表格结构化信息提取神器

На основе реальных бизнес-данных партнеров:

飞桨 PP-TableMagic:复杂表格结构化信息提取神器

Результаты экспериментов показывают, что SLANeXt значительно превосходит SLANet_plus по производительности.

Алгоритмические приложения

Используя PP-TableMagic, вы можете не только воспользоваться превосходными возможностями предсказания HTML-таблиц для работы непосредственно с таблицами, но и использовать все преимущества его структуры для тонкой настройки модели.

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

飞桨 PP-TableMagic:复杂表格结构化信息提取神器

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

Благодаря многомодельной сетевой архитектуре PP-TableMagic при необходимости повышения производительности определенного типа таблиц требуется точная настройка только наиболее важной модели или моделей, что сводит к минимуму влияние на производительность распознавания других типов таблиц.

飞桨 PP-TableMagic:复杂表格结构化信息提取神器

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

Для разработчиков с хорошими навыками кодирования архитектура PP-TableMagic может быть настроена непосредственно на уровне ветвей. Как показано на рисунке ниже, когда определенный тип табличных данных оказывается очень важным, для его обработки может быть выделена отдельная ветвь, что значительно повышает общую способность распознавания таблиц.

飞桨 PP-TableMagic:复杂表格结构化信息提取神器

PP-TableMagic обладает превосходной производительностью и поддерживает высокую степень настройки и свободы целевой модели для достижения наилучших результатов распознавания столов в различных сценариях применения. Это первое решение с открытым исходным кодом для распознавания столов, которое позволяет достичь высокой степени настройки во всех сценариях.

Начало работы

монтаж

Установите PaddlePaddle:

# CPU 版本
python -m pip install paddlepaddle==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
# GPU 版本,需显卡驱动程序版本 ≥450.80.02(Linux)或 ≥452.39(Windows)
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# GPU 版本,需显卡驱动程序版本 ≥545.23.06(Linux)或 ≥545.84(Windows)
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/

Установите пакет PaddleX Wheel:

pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0rc0-py3-none-any.whl

Быстрый опыт

PP-TableMagic можно вызвать напрямую.

PaddleX предоставляет простой в использовании API на языке Python, позволяющий получить опыт прогнозирования модели с помощью всего нескольких строк кода.
Загрузите тестовые изображения:

https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition_v2.jpg

PaddleX поддерживает вызов PP-TableMagic из командной строки или через Python-скрипты (представленные в PaddleX строкой вывода table_recognition_v2).

Метод командной строки:

paddlex --pipeline table_recognition_v2 
--use_doc_orientation_classify=False 
--use_doc_unwarping=False 
--input table_recognition.jpg 
--save_path ./output 
--device gpu:0

Метод сценария Python:

from paddlex import create_pipeline
pipeline = create_pipeline(pipeline="table_recognition_v2")
output = pipeline.predict(
input="table_recognition.jpg",
use_doc_orientation_classify=False,
use_doc_unwarping=False,
)
for res in output:
res.print()
res.save_to_img("./output/")
res.save_to_xlsx("./output/")
res.save_to_html("./output/")
res.save_to_json("./output/")

После использования результаты распознавания будут сохранены по указанному пути.

вторичное развитие

Если вы удовлетворены эффектом PP-TableMagic, вы можете непосредственно провести высокопроизводительное обоснование, развертывание сервиса или конечное развертывание на производственной линии. Если сценарий таблицы особенно вертикальный и еще есть возможности для оптимизации, вы можете использовать PaddleX для целенаправленной вторичной разработки одной или нескольких моделей в PP-TableMagic на основе данных вашего собственного сценария, чтобы в полной мере использовать преимущества PP-TableMagic в части индивидуальной тонкой настройки. Благодаря удобным возможностям вторичной разработки PaddleX, проверка данных, обучение модели и вывод оценки могут быть завершены с помощью унифицированных команд, без необходимости понимать принципы глубокого обучения, подготавливать данные сцены в соответствии с требованиями и просто запускать команды для завершения итерации модели. Здесь мы показываем процесс вторичной разработки модели обнаружения ячеек на беспроводном столе RT-DETR-L_wireless_table_cell_det:

python main.py -c paddlex/configs/modules/table_cells_detection/RT-DETR-L_wireless_table_cell_det.yaml 
-o Global.mode=train 
-o Global.dataset_dir=./path_to_your_datasets

Все остальные модели поддерживают вторичную разработку, пожалуйста, обратитесь к подробной информации:

https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-rc/docs/pipeline_usage/tutorials/ocr_pipelines/table_recognition_v2.md#4-%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91

Сервис-ориентированное развертывание

PaddleX также предоставляет возможность развертывания PP-TableMagic, инкапсулируя возможности распознавания таблиц в виде сервисов и позволяя клиентам обращаться к этим сервисам через веб-запросы для получения результатов распознавания таблиц.

PaddleX предоставляет два типа развертывания сервисизации: базовое развертывание сервисизации и высокостабильное развертывание сервисизации. Basic Serviced Deployment - это простое и удобное решение для развертывания сервисов с низкими затратами на разработку, которое позволяет пользователям быстро развертывать и отлаживать результаты. High Stability Serviced Deployment основан на NVIDIA Triton Inference Server, который обеспечивает более высокую стабильность и производительность.

Более подробную информацию о PP-TableMagic можно найти в официальной документации по производственной линии PaddleX:

https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-rc/docs/pipeline_usage/tutorials/ocr_pipelines/table_recognition_v2.md

© заявление об авторских правах

Похожие статьи

Pinokio:一键本地部署各类AI开源项目,小白全自动部署

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...