皮皮网
皮皮网

【捕鱼达人源码开发】【积分查询源码】【discuz源码 模板】ocr论文源码_ocr 源码

时间:2024-12-27 15:05:58 来源:订单网页源码

1.计算工具 科研论文写作之 pix2tex:将数学公式转化为 LaTeX 代码
2.天若OCR如何进行数学公式识别
3.Nougat:学术文件的文源OCR
4.Nougat学习小结
5.[论文] Donut: OCR-free Document Understanding Transformer

ocr论文源码_ocr 源码

计算工具 科研论文写作之 pix2tex:将数学公式转化为 LaTeX 代码

       在整理本周阅读的文献并准备将其中的公式整理到PPT中进行组会汇报时,我遇到了难题:截图的源码方式虽然简便,但让我心里不舒坦;而一个一个手动敲打公式到PPT上,文源又耗时过多。源码幸运的文源是,我发现了pix2tex这个项目,源码捕鱼达人源码开发它可以将数学公式以极高的文源精度转换为相应的LaTeX代码,极大地解决了我的源码烦恼。

       感谢@HelloGitHub在年年度热门开源项目中分享了pix2tex,文源让我有机会发现这个解放生产力的源码开源工具。该项目的文源GitHub地址为lukas-blecher/LaTeX-OCR: pix2tex: Using a ViT to convert images of equations into LaTeX code. (github.com),在GitHub上拥有.2k的源码star和k的下载量(截止到年3月1日)。这是文源一个用Python编写的项目,您也可以在Python第三方库索引网站PyPI里找到相关的源码安装和使用说明:pix2tex · PyPI。

       1. pix2tex的文源安装

       安装pix2tex需要Python 3.7+以及pip程序包管理工具。满足安装环境要求后,您可以在Windows PowerShell或PyCharm左下角的Terminal中使用以下命令安装pix2tex:

       安装所需时长因网络状况不同而异。需要注意的是,如果您计算机上同时有pip2和pip3,由于pix2tex只支持Python 3.7+,安装时请使用:

       2. pix2tex的积分查询源码使用

       打开Windows PowerShell,输入“pix2tex”并回车。第一次使用可能需要一些响应时间,同时程序会自动下载“Model checkpoints”。之后会弹出提示,表明工具已进入可用状态。按下“h”键可以看到帮助文档,其中比较有用的是按下“x”可以退出程序,按下“Ctrl+C”可以中断转换进程。

       这时,我打开文献中想要转为LaTeX代码的公式,以我自己这篇《体光伏效应:含五边形链状结构的二维热释电材料CuXX'Y》中的公式(2)和公式(3)为例。截图后,带公式的自动进入剪切板。这时回到打开着pix2tex的Windows PowerShell,依次按下回车,可以看到pix2tex成功将转换成了LaTeX代码的形式。

       这里同时分享一个可以实时显示LaTeX代码效果的网站Online LaTeX Equation Editor - create, integrate and download (codecogs.com);在这个网站中验证pix2tex的转换结果,发现几乎没有错误。之所以说“几乎”,是discuz源码 模板因为pix2tex没有把波矢加粗(哈哈);但这个问题我可以后期调整。相比起对着文献公式一个一个从头敲,我的生产力已经大大得到解放了,不愧是GitHub上k star的明星项目。

       总结:pix2tex这个工具对一些数学系、理论物理方向的同学准备组会或做笔记时比较友好。除此之外,本文还有一些值得一提的地方。官网提到可以将公式保存在本地后,使用如下Python code转换为相应的LaTeX代码:

       不过我个人更偏爱文中介绍的方法,因为保存、修改程序路径的工作要繁琐一些。最后再次感谢LaTeX-OCR: pix2tex的开发者们以及@HelloGitHub的分享。

天若OCR如何进行数学公式识别

       天若OCR可以有效识别数学公式为Latex代码,大大加快课件、论文的制作速度。方法如下

       方法/步骤1打开天若OCR文字识别.exe

       2在任务栏的右侧,左键单击天若OCR的图标,再点击“显示”

       3在弹出窗口的空白处,左键单击,选择“接口”,听书 手机源码点击“公式”

       4找到所要识别的数学公式,双击任务栏中的天若OCR图标(或者按F4)开始识别

       5稍等几秒,得到Latex数学代码(如果识别失败,先确定电脑是否联网)

       6把latex代码粘贴到Mathtype内,即可变为公式

Nougat:学术文件的OCR

       Nougat是一个专注于学术文档的神经光学理解模型,由Lukas Blecher等来自MetaAI的研究者开发。他们提出了一种视觉transformer模型,旨在解决PDF格式中丢失的语义信息,尤其是数学表达式的识别问题。模型的目标是将科学文档从难以阅读的PDF转换为机器可读的标记语言,以提升科学知识的可访问性。

       在科学文献中,大量信息隐藏在PDF格式中,而PDF2HTML等技术并不能完全捕捉数学公式的意义。Nougat通过结合视觉编码器(如Swin transformer)和transformer解码器,实现了端到端的训练,不需要依赖外部的OCR引擎。其核心是利用transformer的自注意力和交叉注意力机制,处理文档页面的图像,生成标准化的刀剑后台源码标记文本。

       在数据集构建上,研究人员从arXiv和Industry Documents 6 Library创建了一个配对数据集,通过LaTeXML预处理源代码,并将其转换为轻量级标记语言,确保数学表达式的精确表示。模型训练中,他们进行了数据增强以增强模型的泛化能力,并通过模糊匹配和词袋模型来优化文档的分页处理。

       评估模型的性能时,他们关注编辑距离、BLEU、METEOR和F-measure等指标,结果显示Nougat在处理纯文本和表格方面表现良好,但在数学表达式识别上仍有改进空间。尽管存在重复生成的问题,通过引入反重复增强策略,模型在处理复杂文档时显示出了潜力。Nougat在将扫描教科书和论文转换为标记语言方面显示出广阔的应用前景,尽管在扫描文档质量较低时表现稍逊,但仍能提供可读的文本输出。

Nougat学习小结

       项目地址: github.com/facebookrese...

       论文地址: Nougat: Neural Optical Understanding for Academic Documents

       背景

       近期,MetaAI推出了一项新的技术突破,提出了一种全新的端到端的OCR模型。该模型采用自回归方法,能够在给定后输出相应的Markdown标记。该模型不仅能够实现版面分析、文本检测、文本识别、公式识别等功能,而且整体架构采用了“编码器-解码器”(encoder-decoder)模式。以下,本文将从论文、源码、测试三个方面对Nougat进行深度学习与理解,共同探讨Nougat的实现过程。

       方法大意

       1.1 模型架构

       该模型采用了常规的“编码器-解码器”(encoder-decoder)架构,具体如下:

       编码器(Encoder):

       解码器(Decoder):

       从上述描述中可以看出,Nougat的encoder与decoder都采用了较大的transformer架构,整体pipeline的参数量达到了M。

       1.2 数据工程

       Nougat将OCR问题定义为:[公式]

       其核心关键在于如何以低成本的方式构造(,对应的markdown)pair。对于我而言,这是这篇文章最有价值、最值得借鉴学习的地方。

       1.2.1 数据源

       目前,并没有大规模的pdf与对应markdown标记pair的数据集。Nougat从arXiv、PMC (PubMed Central)、IDL(Industry Documents Library)三个来源构建数据集。其中,PMC与IDL的数据由于语义信息不充足,仅用于预训练阶段,以使模型具备基础的ocr能力。而arXiv数据有tex源码,能获取所有需要的语义信息,用于预训练和微调阶段。

       1.2.2 图文对构建pipeline

       1.2.2.1 思路介绍

       图文对构造的整体pipeline如上图所示。从arXiv拿到的Tex源码出发,获取全篇文章的markdown标记,与pdf每页的与文本进行对应。

       1.2.2.2 markdown 划分

       代码位置:nougat/nougat/dataset/split_md_to_pages/split_markdown

       1.2.2.2.1 预处理

       预处理1:去除PDF中的表格

       由于表格在PDF的位置和tex源码的位置可能有所差异,作者采取的办法是先用pdffigures2工具将PDF的和表格移除。当划分完markdown后再在markdown的末尾加入移除的信息。

       1.2.2.2.2 markdown page 划分

       叙述核心逻辑,详细细节见源码

       2 小结

       Nougat描绘了一个愿景,即以端到端的方式实现过去繁琐的数据加工pipeline。然而,从目前尝试来看,该方法并不适用于实际场景。单纯从架构来看,主要有以下几点缺陷:

       或许在未来,以上问题将不再是问题。

       Reference

       [1] Ali Furkan Biten, Rubén Tito, Lluis Gomez, Ernest Valveny, and Dimosthenis Karatzas. OCR-IDL: OCR Annotations for Industry Document Library Dataset, February .

       [2] Liu, Ze, et al. "Swin transformer: Hierarchical vision transformer using shifted windows." Proceedings of the IEEE/CVF international conference on computer vision. .

       [3] Liu, Yinhan, et al. "Multilingual denoising pre-training for neural machine translation." Transactions of the Association for Computational Linguistics 8 (): -.

[论文] Donut: OCR-free Document Understanding Transformer

       本文介绍了一款OCR-free VDU模型——Donut,旨在解决传统方法中存在的计算成本高、对语言和文档类型不灵活、OCR错误对后续任务影响等问题。Donut模型不依赖OCR引擎,直接映射原始输入图像至输出,显著提升了速度和准确率。

       Donut模型的训练通过结合图像和先前的文本上下文预测下一个单词,进行预训练。利用预训练目标阅读文本与合成数据的直接实现,可以适应不同语言和领域。模型架构包括基于Transformer的视觉编码器与文本解码器,整体过程在图中清晰展示。通过简单的设置,该模型取得了与复杂方法相媲美的性能,甚至在某些测试集上超越前人成果。

       Donut的训练流程包含预训练和微调两个阶段。预训练阶段,模型学习如何阅读文本,并通过跨领域合成数据进行语言与领域灵活性的预训练。微调阶段,针对特定下游任务调整模型参数。模型在多个VDU任务和数据集上得到广泛测试,证实其强大的文档理解能力。

       此外,文章详细阐述了Donut模型的组成部分及每部分的作用:图像编码器与文本解码器的设计。图像编码器将输入文档图像转换为嵌入,通过选择性使用不同类型的基础模型,如Swin Transformer,以优化文档解析效果。文本解码器生成子词序列,并使用经过预训练的BART模型初始化参数。通过与下游任务的提示结合,解码器能够灵活生成所需格式的序列输出。

       实验结果显示,Donut在各类下游任务中表现出优异的性能,特别是在文档分类、信息抽取与文档VQA任务上。通过分析不同预训练策略、主干网络架构、输入分辨率和文本定位的影响,研究发现,合成数据的预训练有效增强了模型的适应能力,基于Transformer的架构在多个任务上展现出高表现力与可扩展性。

更多内容请点击【百科】专栏