
基于深度学习的表格提取与 结构识别模型
Table Transformer (TATR)是一种基于对象检测的深度学习模型,用于从PDF和图像中提取表格。该模型支持表格检测、结构识别和功能分析,并提供完整的训练和推理代码。TATR还发布了在PubTables-1M等大规模数据集上的预训练模型权重,有助于实现高精度的表格提取和分析。
一种基于目标检测的深度学习模型,用于从PDF和图像中提取表格。
首次提出于"PubTables-1M:面向非结构化文档的全面表格提取"。

本仓库还包含以下论文的官方代码:
注意:如果您想使用表格转换器提取自己的表格,以下是一些有用的信息:
下面提供了有关该项目的更多信息,包括数据、训练、评估和推理代码,供用户和研究人员使用。
2023年8月22日:我们发布了3个新的TATR-v1.1预训练模型(分别在1. PubTables-1M、2. FinTabNet.c和3. 两个数据集合并上训练),详情请参阅我们的论文。
2023年4月19日:我们最新的论文(链接和链接)已被ICDAR 2023接受。
2023年3月9日:我们在官方训练脚本中增加了更多图像裁剪(与我们最新论文中的做法相同),并更新了代码和environment.yml,使用Python 3.10.9、PyTorch 1.13.1和Torchvision 0.14.1等。
2023年3月7日:我们发布了一个新的简单推理流程用于TATR。现在您可以轻松地从图像中检测和识别表格,并将它们转换为HTML或CSV。
2023年3月7日:我们发布了一个脚本集合,用于创建TATR的训练数据并规范化已有的数据集,如FinTabNet和SciTSR。
2023年3月1日:新论文"对齐表格结构识别的基准数据集"现已在arXiv上发布。
2022年11月25日:我们已将完整的PubTables-1M数据集另外提供在Hugging Face上下载。
2022年5月5日:我们发布了在PubTables-1M上训练的表格结构识别模型的预训练权重。
2022年3月23日:我们的论文"GriTS:用于表格结构识别的网格表格相似度度量"现已在arXiv上发布
2022年3月4日:我们发布了在PubTables-1M上训练的表格检测模型的预训练权重。
2022年3月3日:"PubTables-1M:面向非结构化文档的全面表格提取"已被CVPR 2022接受。
2021年11月21日:我们更新的论文"PubTables-1M:面向非结构化文档的全面表格提取"已在arXiv上发布。
2021年10月21日:完整的PubTables-1M数据集已在Microsoft Research Open Data上正式发布。
2021年6月8日:表格转换器(TATR)项目的初始版本发布。
PubTables-1M的目标是创建一个大型、详细、高质量的数据集,用于训练和评估各种用于表格检测、表格结构识别和功能分析任务的模型。
它包含:
此外,标题中的单元格经过规范化处理,我们实施了多个质量控制步骤,以确保注释尽可能无噪声。更多详情,请参阅我们的论文。
我们为表格检测和表格结构识别提供了不同的预训练模型。 <b>表格检测:</b>
<table> <thead> <tr style="text-align: right;"> <th>模型</th> <th>训练数据</th> <th>模型卡片</th> <th>文件</th> <th>大小</th> </tr> </thead> <tbody> <tr style="text-align: right;"> <td>DETR R18</td> <td>PubTables-1M</td> <td><a href="https://huggingface.co/bsmock/tatr-pubtables1m-v1.0">模型卡片</a></td> <td><a href="https://huggingface.co/bsmock/tatr-pubtables1m-v1.0/resolve/main/pubtables1m_detection_detr_r18.pth">权重</a></td> <td>110 MB</td> </tr> </tbody> </table><b>表格结构识别:</b>
<table> <thead> <tr style="text-align: left;"> <th>模型</th> <th>训练数据</th> <th>模型卡片</th> <th>文件</th> <th>大小</th> </tr> </thead> <tbody> <tr style="text-align: left;"> <td>TATR-v1.0</td> <td>PubTables-1M</td> <td><a href="https://huggingface.co/bsmock/tatr-pubtables1m-v1.0">模型卡片</a></td> <td><a href="https://huggingface.co/bsmock/tatr-pubtables1m-v1.0/resolve/main/pubtables1m_structure_detr_r18.pth">权重</a></td> <td>110 MB</td> </tr> <tr style="text-align: left;"> <td>TATR-v1.1-Pub</td> <td>PubTables-1M</td> <td><a href="https://huggingface.co/bsmock/TATR-v1.1-Pub">模型卡片</a></td> <td><a href="https://huggingface.co/bsmock/TATR-v1.1-Pub/resolve/main/TATR-v1.1-Pub-msft.pth">权重</a></td> <td>110 MB</td> </tr> <tr style="text-align: left;"> <td>TATR-v1.1-Fin</td> <td>FinTabNet.c</td> <td><a href="https://huggingface.co/bsmock/TATR-v1.1-Fin">模型卡片</a></td> <td><a href="https://huggingface.co/bsmock/TATR-v1.1-Fin/resolve/main/TATR-v1.1-Fin-msft.pth">权重</a></td> <td>110 MB</td> </tr> <tr style="text-align: left;"> <td>TATR-v1.1-All</td> <td>PubTables-1M + FinTabNet.c</td> <td><a href="https://huggingface.co/bsmock/TATR-v1.1-All">模型卡片</a></td> <td><a href="https://huggingface.co/bsmock/TATR-v1.1-All/resolve/main/TATR-v1.1-All-msft.pth">权重</a></td> <td>110 MB</td> </tr> </tbody> </table><b>表格检测:</b>
<table> <thead> <tr style="text-align: right;"> <th>模型</th> <th>测试数据</th> <th>AP50</th> <th>AP75</th> <th>AP</th> <th>AR</th> </tr> </thead> <tbody> <tr style="text-align: right;"> <td>DETR R18</td> <td>PubTables-1M</td> <td>0.995</td> <td>0.989</td> <td>0.970</td> <td>0.985</td> </tr> </tbody> </table><b>表格结构识别:</b>
<table> <thead> <tr style="text-align: right;"> <th>模型</th> <th>测试数据</th> <th>AP50</th> <th>AP75</th> <th>AP</th> <th>AR</th> <th>GriTS<sub>Top</sub></th> <th>GriTS<sub>Con</sub></th> <th>GriTS<sub>Loc</sub></th> <th>Acc<sub>Con</sub></th> </tr> </thead> <tbody> <tr style="text-align: right;"> <td>TATR-v1.0</td> <td>PubTables-1M</td> <td>0.970</td> <td>0.941</td> <td>0.902</td> <td>0.935</td> <td>0.9849</td> <td>0.9850</td> <td>0.9786</td> <td>0.8243</td> </tr> </tbody> </table>PubTables-1M可从微软研究院开放数据下载。 我们还将完整的档案集上传到了Hugging Face。
Microsoft Research Open Data上的数据集包含5个tar.gz文件:
/images:575,305个JPG文件;每个页面图像对应一个文件/train:460,589个XML文件,包含PASCAL VOC格式的边界框/test:57,125个XML文件,包含PASCAL VOC格式的边界框/val:57,591个XML文件,包含PASCAL VOC格式的边界框/images:947,642个JPG文件;每个页面图像对应一个文件/train:758,849个XML文件,包含PASCAL VOC格式的边界框/test:93,834个XML文件,包含PASCAL VOC格式的边界框/val:94,959个XML文件,包含PASCAL VOC格式的边界框从命令行下载:
https://msropendataset01.blob.core.windows.net/pubtables1m?[SAS_TOKEN_HERE]。azcopy copy "https://msropendataset01.blob.core.windows.net/pubtables1m?[SAS_TOKEN_HERE]" "/path/to/your/download/folder/" --recursive
然后使用以下命令在命令行中解压每个压缩包:
tar -xzvf yourfile.tar.gz
使用yml文件创建conda环境并激活,步骤如下:
conda env create -f environment.yml
conda activate tables-detr
该代码为两组不同的表格提取任务训练模型:
有关这些任务和模型的详细描述,请参阅论文。
要进行训练,您需要cd到src目录并指定:1. 数据集路径,2. 任务类型(检测或结构),3. 配置文件路径,其中包含架构和训练的超参数。
训练检测模型:
python main.py --data_type detection --config_file detection_config.json --data_root_dir /path/to/detection_data
训练结构识别模型:
python main.py --data_type structure --config_file structure_config.json --data_root_dir /path/to/structure_data
评估代码计算检测模型和结构模型的标准目标检测指标(AP、AP50等)。 在 运行结构模型的评估时,它还计算表格结构识别的网格表格相似度(GriTS)指标。 GriTS是表格单元格正确性的度量,定义为所有表格中每个单元格的平均正确性。 GriTS可以基于以下几点衡量预测单元格的正确性:1. 仅考虑单元格拓扑结构,2. 单元格拓扑结构和每个单元格报告的边界框位置,3. 单元格拓扑结构和每个单元格报告的文本内容。 有关GriTS的更多详细信息,请参阅我们的论文。
计算检测模型的目标检测指标:
python main.py --mode eval --data_type detection --config_file detection_config.json --data_root_dir /path/to/pascal_voc_detection_data --model_load_path /path/to/detection_model
计算结构识别模型的目标检测和GriTS指标:
python main.py --mode eval --data_type structure --config_file structure_config.json --data_root_dir /path/to/pascal_voc_structure_data --model_load_path /path/to/structure_model --table_words_dir /path/to/json_table_words_data
可选地,您可以添加标志来控制并行化、保存详细指标和保存可视化:
--device cpu: 将默认设备从cuda更改为cpu。
--batch_size 4: 控制模型前向传播期间使用的批量大小。
--eval_pool_size 4: 控制GriTS指标计算期间CPU并行化的工作池大小。
--eval_step 2: 控制在将所有样本传递给并行化工作池进行GriTS指标计算之前,要累积的已处理输入数据批次数。
--debug: 创建并保存模型推理的可视化。对于每个输入图像"PMC1234567_table_0.jpg",这将保存两个可视化:"PMC1234567_table_0_bboxes.jpg"包含模型输出的边界框,"PMC1234567_table_0_cells.jpg"包含后处理后的最终表格单元格边界框。默认情况下,这些保存在当前目录下的新文件夹"debug"中。
--debug_save_dir /path/to/folder: 指定保存可视化的文件夹。
--test_max_size 500: 在随机抽样的数据子集上运行评估。适用于快速验证和检查。
如果模型训练中断,可以通过使用标志--model_load_path /path/to/model.pth并指定包含保存的优化器状态的字典文件的路径来轻松恢复。
如果您想通过微调保存的检查点(如model_20.pth)来重新开始训练,请使用标志--model_load_path /path/to/model_20.pth和标志--load_weights_only来表明恢复训练不需要之前的优化器状态。
无论是微调还是从头开始训练新模型,您都可以选择创建一个具有不同于我们使用的默认参数的新配置文件。使用以下方式指定新的配置文件:--config_file /path/to/new_structure_config.json。创建新的配置文件很有用,例如,如果您想在微调期间使用不同的学习率lr。
或者,配置文件中的许多参数都可以使用相关的标志作为命令行参数指定。作为命令行参数指定的任何参数都会覆盖配置文件中该参数的值。
我们的工作可以使用以下方式引用:
[此处省略引用文献的BibTeX格式内容,因为它们不需要翻译]
本项目欢迎贡献和建议。大多数贡献要求您同意贡献者许可协议(CLA),声明您有权并且确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.opensource.microsoft.com。
当您提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并相应地修饰PR(例如,状态检查、评论)。只需按照机器人提供的说明操作即可。您只需在所有使用我们CLA的仓库中执行一次此操作。
本项目已采用Microsoft 开源行为准则。 有关更多信息,请参阅行为准则常见问题解答或联系opencode@microsoft.com获取任何其他问题或意见。
本项目可能包含项目、产品或服务的商标或标识。Microsoft商标或标识的授权使用必须遵循Microsoft商标和品牌指南。 在本项目的修改版本中使用Microsoft商标或标识不得引起混淆或暗示Microsoft赞助。 任何第三方商标或标识的使用均受这些第三方的政策约束。


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!


多风格AI绘画神器
堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。


零代码AI应用开发平台
零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号