数字公式识别的学习笔记

1 前言

我们准备使用基于attention的方法来实现数字公式识别的任务~

2 数据集——im2latex-100k

公式识别的数据集我们使用im2latex-100k;

2.1 数据集特点

数据集中有空白图片:

数据集中有全部是空白的图片,(后面预处理时会直接截取出空白的图片);

数据集样本数:103536个图片

formula_images文件夹中会多一个texput.log文件

2 预处理

2.1 图像裁剪——(暂时不需要,使用norm数据)

由于给出的图片是一整个纸张大小的png图片,所以还需要进行裁剪;

2.2 图像预处理

2.2.1 padding到相同大小

预处理生成的图片图像大小不统一,我们将图片统一padding到相同的大小;

2.2.2 (提高训练速度)2倍下采样

(为了提高训练的速度),我们遵循了原始论文的预处理,对图像进行了2倍下采样,

2.3 Label-Norm——基于语法树的标准化方法

基于Norm的预处理方法是由Image-to-Markup在论文中提出的,

在论文的GitHub-repo中,使用了python和js代码来完成预处理的功能,

我当时觉得很奇怪,为什么要用js的代码,后来想到,这是因为对于LaTeX的语法检查,

可能是基于js来实现的,所以会用到js代码,

这里我们跟随原始repo的实现来进行;

因为我们的OCR项目中的标注不会出现多义的现象,所以不需要进行标准化;

这里我们可以直接使用官方repo处理过的数据;

也可以follow原始repo的代码,进行预处理的复现;

2.3.1 下载原始论文预处理的数据

原始论文的数据地址:http://lstm.seas.harvard.edu/latex/data/

备注:data链接中的第三个链接“formula_images_processed.tar.gz”无法下载,所以用第七个链接(相同的文字)进行下载;

2.3.2 使用原始repo进行标准化(不推荐,比较复杂)

注意:原始repo是基于python-2.7的,所以需要基于python-2.7来运行;

1. 使用conda新建python-2.7的虚拟环境

(在运行的时候会发现没有PIL库,提示:

Traceback (most recent call last):
  File "scripts/preprocessing/preprocess_filter.py", line 4, in <module>
    import PIL
ImportError: No module named PIL

所以需要安装PIL库,但是PIL库似乎已经停止维护了,所以我们需要使用pillow库;

使用conda命令安装时会有问题,会把我们的python直接更新到最新的版本,所以不能使用conda命令进行安装,我们使用pip命令进行安装;

使用pip命令时,又提示:

Command 'pip' not found, but can be installed with:

sudo apt install python-pip

所以还需要先安装pip程序)

2. 安装pip程序:sudo apt install python-pip

3. 安装pillow库

猜你喜欢

转载自blog.csdn.net/songyuc/article/details/108219488