LORE-TSR代码复现

文献地址:LORE: Logical Location Regression Network for Table Structure Recognition

LORE-TSR的PyTorch正式实施。LORE可以通过将TSR建模为逻辑位置回归,以端到端的方式执行表结构识别(TSR)。该模型简化了TSR流程,作为一个基于关键点的类检测器框架。LORE-TSR在实现中表现出良好的效率和性能,这对未来的TSR模型有一定的借鉴意义。

1、安装

1.1、安装需求

conda create --name Lore python=3.7
conda activate Lore
pip install -r requirements.txt

1.2、安装cocoapi

git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
pip install Cython
make
python setup.py install --user

1.3、从Scratch安装DCNv2 

如果您想使用DLA主干,强烈建议使用基于CUDA 10.1的环境。

1.3.1 安装 CUDA

首先,安装CUDA 10.1 版本

1.3.2 安装 Torch

对应cuda 10.1版本的torch

1.3.3 安装 DCNv2

pip install Cython
chmod +x  *.sh
cd src/lib/models/network/DCNv2
./make.sh

2.运行预训练模型

2.1 Pretrained Models  预训练模型

可用的模型权重(使用DLA-34主干)

NameBackboneRegressor ArcImage SizeCheckpoint
ckpt_wtwDLA-344+41024Trained on WTW
ckpt_ptnDLA-343+3512Trained on PubTabNet
ckpt_wirelessResNet-184+4768Trained on Wireless Tables*

该模型是在SciTSR、PubTabNet和一组中文表格的组合上预训练的。
使用此模型运行demo时,请记住添加--upper_left,因为它是在不同的图像预处理流程上训练的。

另一个带有预训练检查点的实现将在ModelScope上发布,这更方便推理和应用。

2.2 Running Demo  运行demo

按照以下步骤在wireless table images无线表格图像上运行LORE:

  1. 下载ckpt_wireless中的预训练模型
  2. 添加要测试的图像文件到./input_imgs/wireless/
  3. 更改模型架构、模型路径和输入/输出目录等参数(Change the parameters such as model architecture, model path and input/output directory)
  4. 运行脚本
    cd src
    bash scripts/infer/demo_wireless.sh

按照以下步骤在有线表格图像wired table images上运行LORE:

  1. 在ckpt_wtw中下载预训练模型
  2. 添加要测试的图像文件到./input_imgs/wired/
  3. 更改模型架构、模型路径和输入/输出目录等参数
  4. 运行脚本
    cd src
    bash scripts/infer/demo_wired.sh

注意:LORE包含解析和分组机制,类似于有线表的CycleCenterNet。设置--wiz_rev参数以在推理阶段激活这样的过程。它在有线表上提供了准确的检测结果,但可能会减慢推理速度。

3 Trainning 训练

3.1 Preparing Dataset 准备数据集 

标签应该转换为COCO格式,这里以WTW数据集和PubTabNet数据集的子集为例。数据集的目录如下:

data
├── WTW
│   ├── images
│   └── json
│       ├──train.json
│       └──test.json

└── PTN
    ├── images
    └── json
        ├── train.json
        └── test.json

我们为WTW(COCO标签链接)和PubTabNet(COCO标记链接)的子集提供了类COCO标签的样本。

WTW数据集的图像位于WTW数据集中。它提供了原始数据集以及将其更改为COCO格式的工具。PubTabNet数据集的图像位于PubTabNet dataset。

3.2 Training Scripts  训练脚本

按照步骤在无线表格图像上训练LORE:

  1. 按照前面提到的方式组织数据集,并将标签集放在LORE-TSR/data/dataset_name/json/
  2. 更改模型架构、数据集名称和图像目录等参数。
  3. 运行:
    cd src
    bash scripts/train/train_wireless.sh

使用以下命令在WTW数据集上训练LORE:

cd src
bash scripts/train/train_wired.sh

*我们修改了原始模型,通过去除等式2中的学习权重来稳定收敛,并使其更容易改变主干。并从conv头中收集单元格(cell)中心的特征。

4 Testing 测试

以PubTabNet为例:

  1. 为演示脚本设置数据集名称--dataset_name和注释路径--anno_path
  2. 在测试数据集上运行演示:
    cd src
    bash scripts/demo/demo_test.sh
  3. 评估模型结果(记住更改模型结果目录)
    bash eval.sh

此实现基于存储库CenterNetDCNv2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑建宇Jy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值