文档理解,即给定一个视觉富文档(visually-rich document),对其自动地分析与处理,包括文档信息抽取、文档版面分析、文档分类与文档VQA等等。
VLDoc是用于文档理解的多模态预训练模型基座,包含文本、视觉、版式(Layout)三种文档模态信息,采用针对文档特性的预训练任务,使模型能充分建模文档,提高文档理解任务效果。
模型采用双塔结构(如下图),主要包括三个主要部分,Image backbone用于提取文档的图像信息,Text-layout backbone用于对文档的文本、版式信息进行建模,最后进行多模态特征融合,连接相关的预训练任务进行优化。
本预训练模型主要作为一个多模态特征抽取backbone,用于文档多模态表征或文档理解相关下游任务微调。用户可以基于自有数据进行调用。具体调用方式请参考代码示例。
由于模型的输入包含相关文件data/*
,以下示例需要克隆本仓库之后,在本文件夹运行。
from modelscope.models import Model
from modelscope.pipelines import pipeline
model = Model.from_pretrained('damo/multi-modal_convnext-roberta-base_vldoc-embedding')
doc_VL_emb_pipeline = pipeline(task='document-vl-embedding', model=model)
inp = {
'images': ['data/demo.png'],
'ocr_info_paths': ['data/demo.json']
}
result = doc_VL_emb_pipeline(inp)
print('Results of VLDoc: ')
for k, v in result.items():
print(f'{k}: {v.size()}')
# Expected output:
# img_embedding: torch.Size([1, 151, 768]), 151 = 1 global img feature + 150 segment features
# text_embedding: torch.Size([1, 512, 768])
The example in the data
folder is from FUNSD.
基于收集的数据进行训练,模型训练数据有限,效果可能存在一定偏差。
本文档多模态预训练模型,视觉backbone由ConvNeXt参数进行初始化,文本+Layout的backbone由InfoXLM-base参数进行初始化。模型输入图像尺度为768x768,最大处理文本长度为512,超过部分被截断。在训练数据集上进行自监督预训练1个epoch
模型 | FUNSD.SER | FUNSD.RE | XFUND.zh.SER | XFUND.zh.RE |
---|---|---|---|---|
LayoutLMv3-base | 0.9029 | 0.6684 | – | – |
LayoutXLM-base | 0.7940 | 0.5483 | 0.8924 | 0.7073 |
VLDoc-XLM-base | 0.9031 | 0.8259 | 0.9122 | 0.8811 |
如果我们的模型对您有帮助,请您引用我们的文章:
@article{luo2022bi,
title={Bi-VLDoc: Bidirectional Vision-Language Modeling for Visually-Rich Document Understanding},
author={Luo, Chuwei* and Tang, Guozhi* and Zheng, Qi and Yao, Cong and Jin, Lianwen and Li, Chenliang and Xue, Yang and Si, Luo},
journal={arXiv preprint arXiv:2206.13155},
year={2022}
}
@article{cvpr2023geolayoutlm,
title={GeoLayoutLM: Geometric Pre-training for Visual Information Extraction},
author={Chuwei Luo* and Changxu Cheng* and Qi Zheng and Cong Yao},
journal={2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2023}
}