公式识别任务各个链条全部打通

目录

    • 引言
    • 公式识别任务是什么?
    • 公式识别任务解决方案初探
    • 使用建议
    • 写在最后

引言

随着LaTeX-OCR模型转换问题的解决,公式识别任务中各个链条已经全部打通。小伙伴们可以放开膀子干了。

解决业界问题的方案,并不是单独训练一个模型就完事了,而是有着上下游的依赖。这就像工厂中流水线作业一样,一个小东西的生产是依赖无数个中间阶段才完成的。

一个模型应用到产品中,也是有着类似的流水线的。相比于工厂中流水线,这里的链条只是更加隐蔽一些而已。

公式识别任务是什么?

公式识别任务:指的是将图像中公式识别为对应的LaTeX写法,便于后续加工处理。

image.png

公式识别任务距离我们最近的应用场景便是论文写作。在我上大学写毕业论文时,由于当时并不知道LaTeX这种东西可以用来写公式,整个毕业论文公式都是在Word上用鼠标点出来的,好不痛苦。

比较推荐大家学一学LaTeX排版,绝对是提效利器,用过的人都说好。

117812740-77b7b780-b262-11eb-81f6-fc19766ae2ae.gif

动图来自LaTeX-OCR

公式识别任务解决方案初探

解决公式识别任务,我这里姑且粗略地分为四个部分:公式识别数据集处理、训练识别模型、转换识别模型和部署使用。

image.png

取之开源,回馈开源,一直是我们的准则。以上四部分具体地址如下,除训练识别模型为lukas-blecher外,其余均经由我整理。欢迎大家多多使用和提建议。

预处理公式库ProcessLaTeXFormulaTools: https://github.com/SWHL/ProcessLaTeXFormulaTools

训练识别模型库LaTeX-OCR: https://github.com/lukas-blecher/LaTeX-OCR

转换模型为ONNX格式库ConvertLaTeXOCRToONNX: https://github.com/SWHL/ConvertLaTeXOCRToONNX

部署使用库RapidLaTeXOCR: https://github.com/RapidAI/RapidLaTeXOCR

使用建议

先尝试RapidLaTeXOCR中识别模型识别效果,是否满足场景需求。

如果不满足,再考虑结合自身场景,将上述四部分走一遍,定制化自己的公式识别模型。

写在最后

本篇文章只是简单介绍,具体请移步文中各个部分的仓库下查看。

如有具体微调,部署等需求,欢迎后台详细咨询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何确认网站是否有漏洞,如何找出网站存在的漏洞,找到漏洞该如何处理

如何确认网站或者服务器是否有漏洞 判断一个网站是否是存在漏洞的方法: 1.可以借助德迅云安全漏洞扫描功能来检查漏洞。 2.打开德迅云安全首页,点击最上面导航栏中的“安全产品”。 3.滑到“漏洞扫描”,选择“产品价格”服务。 4.选择您需…

【力扣】141和142环形链表

141.环形链表 法一:快慢指针 思路: 用两个指针slow,fast,后者能比前者多走一步路,那判断是不是有环,只需要判断是否会相遇。 就是有一个能比乌龟跑2倍快的兔子,两小只都在有环的路上跑,那是不是肯定会相…

golang开发之个微机器人的二次开发

简要描述: 下载消息中的文件 请求URL: http://域名地址/getMsgFile 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型…

java基础之TreeMap详解

TreeMap详解 TreeMap是Map接口的一个实现类,底层基于红黑树的实现,按照key的顺序存储 TreeMap 从继承结构可以看到TreeMap除了继承了AbstractMap类,还实现了NavigableMap接口,而NavigableMap接口是继承自SortedMap接口的&#xff…

使用Vue3+Typescript手写一个日历签到组件

设计理念 昨天写了个简单美观的日历签到组件,使用的是Vue3TypeScript,大概逻辑是先找到本月份第一天是周几,然后开始填充月份日期:weeksArray:[[]]:之后渲染到表格中,对于签到事件触发则先判断是否是今天且还未没有签…

西南科技大学数字电子技术实验三(MSI逻辑器件设计组合逻辑电路及FPGA的实现)FPGA部分

一、实验目的 进一步掌握MIS(中规模集成电路)设计方法。通过用MIS译码器、数据选择器实现电路功能,熟悉它们的应用。进一步学习如何记录实验中遇到的问题及解决方法。二、实验原理 1、4位奇偶校验器 Y=S7i=0DiMi D0=D3=D5=D6=D D1=D2=D4=D7= `D 2、组合逻辑电路 F=A`B C …

面试计算机网络八股文五问五答第二期

面试计算机网络八股文五问五答第二期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的! ⭐点赞⭐收藏⭐不迷路!⭐ 1.OSI七层协议? 2. TCP和UDP传输协议的区别? TCP是可…

为什么要用向量检索

之前写过一篇文章,是我个人到目前阶段的认知,所做的判断。我个人是做万亿级数据的搜索优化工作的。一直在关注任何和搜索相关的内容。 下一代搜索引擎会什么?-CSDN博客 这篇文章再来讲讲为什么要使用向量搜索。 在阅读这篇文章之前呢&#xf…

【网络安全】网络设备可能面临哪些攻击?

网络设备通常是网络基础设施的核心,并控制着整个网络的通信和安全,同样面临着各种各样的攻击威胁。 对网络设备的攻击一旦成功,并进行暴力破坏,将会导致网络服务不可用,且可以对网络流量进行控制,利用被攻陷…

【JavaEE】线程池

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

springcloud分布式事务

文章目录 一.为什么引入分布式事务?二.理论基础1.CAP定理2.BASE理论 三.Seata1.微服务集成Seata2.XA模式(掌握)3.AT模式(重点)4.TCC模式(重点)5.Saga模式(了解) 四.四种模式对比五.Seata高可用 一.为什么引入分布式事务? 事务的ACID原则 在大型的微服务项目中,每一个微服务都…

案例课4——智齿客服

1.公司介绍 智齿科技,一体化客户联络中心解决方案提供商。提供基于「客户联络中心」场景的一体化解决方案,包括公域私域、营销服务、软件BPO的三维一体化。 智齿科技不断整合前沿的人工智能及大数据技术,已构建形成呼叫中心、机器人「在线语音…

主机访问Android模拟器网络服务方法

0x00 背景 因为公司的一个手机app的开发需求,要尝试链接手机开启的web服务。于是在Android Studio的Android模拟器上尝试连接,发现谷歌给模拟器做了网络限制,不能直接连接。当然这个限制似乎从很久以前就存在了。一直没有注意到。 0x01 And…

分销电商结算设计

概述 分销电商中涉及支付与结算;支付职责是收钱,结算则是出钱给各利益方; 结算核心围绕业务模式涉及哪些费用,以及这些费用什么时候通过什么出资渠道,由谁给到收方利益方; 结算要素组成费用项结算周期出…

区块链的可拓展性研究【03】扩容整理

为什么扩容:在layer1上,交易速度慢,燃料价格高 扩容的目的:在保证去中心化和安全性的前提下,提升交易速度,更快确定交易,提升交易吞吐量(提升每秒交易量) 目前方案有&…

详解进程管理(银行家算法、死锁详解)

处理机是计算机系统的核心资源。操作系统的功能之一就是处理机管理。随着计算机的迅速发展,处理机管理显得更为重要,这主要由于计算机的速度越来越快,处理机的充分利用有利于系统效率的大大提高;处理机管理是整个操作系统的重心所…

前后端联调神器《OpenAPI-Codegen》

在后端开发完接口之后,前端如果再去写一遍接口来联调的话,会很浪费时间,这个时候使用OpenAPI接口文档来生成Axios接口代码的话,会大大提高我们的开发效率。 Axios引入 Axios是一个基于Promise的HTTP客户端,用于浏览器…

Go压测工具

前言 在做Go的性能分析调研的时候也使用到了一些压测方面的工具,go本身也给我们提供了BenchMark性能测试用例,可以很好的去测试我们的单个程序性能,比如测试某个函数,另外还有第三方包go-wrk也可以帮助我们做http接口的性能压测&…

C# 任务并行类库Parallel调用示例

写在前面 Task Parallel Library 是微软.NET框架基础类库(BCL)中的一个,主要目的是为了简化并行编程,可以实现在不同的处理器上并行处理不同任务,以提升运行效率。Parallel常用的方法有For/ForEach/Invoke三个静态方法…

Element-UI定制化Tree 树形控件

1.复制 说明&#xff1a;复制Tree树形控件。 <script> export default {data() {return {data: [{label: 一级 1,children: [{label: 二级 1-1,children: [{label: 三级 1-1-1}]}]}, {label: 一级 2,children: [{label: 二级 2-1,children: [{label: 三级 2-1-1}]}, {l…