3 预处理

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库

4 评价指标——BLEU

论文中使用的评价指标是BLEU,需要注意的是,

原始论文的实现中,ngram = 4,

代码的截图如下:

数字公式识别的学习笔记(legacy)相关推荐

  1. 数字公式识别的学习笔记

    1 前言 我们准备使用基于attention的方法来实现数字公式识别的任务- 2 数据集--im2latex-100k 公式识别的数据集我们使用im2latex-100k: 数据集Offical链接: ...

  2. 数字设计FPGA应用学习笔记

    转载https://blog.csdn.net/chinkwoyu/article/details/80259064 数字设计FPGA应用学习笔记 数字设计FPGA应用学习笔记 第一章 FPGA基础及 ...

  3. 概率密度变换公式 雅可比矩阵_学习笔记之——Jacobian matrix(雅可比矩阵)

    在<斯坦福大学公开课--机器人学>视频课程中一开始就提到了Jacobian matrix的重要性.为此写下本学习笔记介绍雅可比矩阵.本博客的内容来自于网络的各种资料的总结,已经给出参考引用 ...

  4. ROS2的学习笔记(legacy)

    1 基础概念 1.1 执行单元 1.1.1 executable--执行程序 executable是一个具有main函数的执行程序,它反应了针对某个目标的程序执行流程, 于是一个executable可 ...

  5. 前后对接数字几_开源数字货币交易所开发学习笔记(1)——系统架构

    前言 部门领导让我研究数字货币交易所的开发技术,今天好不容易把码云(Gitee)上开源数字货币交易所CoinExchange的代码编译成功并搭建出来了,在排查问题的过程中,不断的查看代码以及使用到的技 ...

  6. OCR——PaddleOCR之文字识别的学习笔记

    1 前言 在南溪看来,PaddleOCR是现在开源的最厉害的OCR识别库~ 2 PaddleOCR中目前最强的英文&数字识别模型 我们需要知道PaddleOCR中现在针对"英文&am ...

  7. 行人重识别综述学习笔记

    文章目录 <行人重识别研究综述> 摘要: 1 行人重识别概述 1.1 背景与研究意义 1.2 研究现状 1.3 评价标准 2 基于图像的行人重识别研究(传统+深度) 2.1 特征表达方法 ...

  8. 达摩院视觉AI训练营-搭建身份证识别系统-学习笔记

    搭建身份证识别系统目录 一.成为开发者 二.能力调试 三.能力开通 四.创建AccessKey 五.启动开发 参考案例 总结 一.成为开发者 请您使用阿里云账号登录阿里云视觉智能开放平台.如还未持有阿 ...

  9. 【人脸识别】人脸识别损失函数学习笔记

    目录 一.SphereFace:A-Softmax(CVPR2017) 1.1 传统的softmax Loss(第二章中有更详细的公式解释): 1.2 sphereface对softmax进行了两点改 ...

最新文章

  1. Tensorflow C++ API调用Keras模型实现RGB图像语义分割
  2. Android SDCard操作(文件读写,容量计算)
  3. 今年跳槽可以再等等。
  4. 水题公开赛【比赛公告】
  5. BZOJ-1024 生日快乐 DFS+一丝sb的数学思考
  6. jQuery 事件 - bind() 方法
  7. 计算机网络项目实训教程课后答案,计算机网络项目实训教程
  8. 20岁,Universal GIS拥抱新生的GIS信创
  9. Promise进阶——如何实现一个Promise库
  10. WAMPServer安装和配置
  11. 清晨晓叙:matlab中的矩阵拼接
  12. 如何在小程序wxml文件中编写js代码
  13. 常用字体名称中文对应英文
  14. CityEngine建模全流程解析与分享【系列文章之一】
  15. linux电子相册,基于Linux电子相册的.doc
  16. https://ipcrs.pbccrc.org.cn/
  17. 初识机器阅读理解(Machine Reading Comprehension)
  18. (转载)QTableWidget详细用法总结(非常详细,基本所有常用函数都涉及了)
  19. 访问网站浏览器左上角提示:windows 没有足够信息,不能验证该证书
  20. 3D游戏建模需要学会哪些软件?想入行游戏建模的你都学习了吗?

热门文章

  1. 设置mysql允许外网访问
  2. 深入浅出Zookeeper(一) Zookeeper架构及FastLeaderElection机制
  3. Azure Devops/Tfs 编译的时候自动修改版本号
  4. node.js 使用domain模块捕获异步回调中的异常
  5. 封装微信分享到朋友/朋友圈js
  6. 45.分支算法练习:  7622:求排列的逆序数
  7. 【SoftwareTestingHomework2】--3013218086--
  8. 如何为Swift进行宏定义
  9. [Java] 内部类总结
  10. 那些年我踩过的关于layui表格的坑