炸裂!PDF转Word彻底告别收费时代,这个OCR开源项目要逆天!
1.导读
随着企业数字化进程不断加速,PDF转Word的功能、纸质文本的电子化存储、文件复原与二次编辑、信息检索等应用都有着强烈的企业需求。目前市面上已有一些软件,但普遍需要繁琐的安装注册操作,大多还存在额度限制。此外,最终转换效果也依赖于版面形态,无法做到针对性适配。
针对开发者的需求,飞桨文字识别套件PaddleOCR全新发布PP-StructureV2智能文档分析系统,支持一行命令实现PDF转Word功能,文字、表格、标题、图片都可完整恢复,一键实现PDF编辑自由!
图1 PDF文件转Word文件效果图
PP-StructureV2智能文档分析系统升级点包括以下2方面:
系统功能升级 :新增图像矫正和版面复原模块,支持标准格式pdf和图片格式pdf解析!
系统性能优化 :
版面分析:发布轻量级版面分析模型,速度提升11倍,平均CPU耗时仅需41ms!
表格识别:设计3大优化策略,预测耗时不变情况下,模型精度提升6%。
关键信息抽取:设计视觉无关模型结构,语义实体识别精度提升2.8%,关系抽取精度提升超过9.1%。
GitHub传送门:https://github.com/PaddlePaddle/PaddleOCR
2.PP-StructureV2
智能文档分析系统优化策略概述
PP-StructureV2系统流程图如下所示,文档图像首先经过图像矫正模块,判断整图方向并完成转正,随后可以完成版面信息分析与关键信息抽取2类任务。
图2 PP-StructureV2系统流程图
从算法改进思路来看,对系统中的3个关键子模块,共进行了8个方面的改进:
☆版面分析
PP-PicoDet:轻量级版面分析模型
FGD:兼顾全局与局部特征的模型蒸馏算法
☆表格识别
PP-LCNet: CPU友好型轻量级骨干网络
CSP-PAN:轻量级高低层特征融合模块
SLAHead:结构与位置信息对齐的特征解码模块
☆关键信息抽取
VI-LayoutXLM:视觉特征无关的多模态预训练模型结构
TB-YX:考虑阅读顺序的文本行排序逻辑
UDML:联合互学习知识蒸馏策略
最终,与PP-StructureV1相比:
版面分析模型参数量减少95%,推理速度提升11倍,精度提升0.4%;
表格识别预测耗时不变,模型精度提升6%,端到端TEDS提升2%;
关键信息抽取模型速度提升2.8倍,语义实体识别模型精度提升2.8%;关系抽取模型精度提升9.1%。
具体的改进策略解读请参考本文最后一节
3.PP-StructureV2
智能文档分析系统整体介绍
3.1 版面分析与恢复
版面分析指的是对图片形式的文档进行区域划分,定位其中的关键区域,如文字、标题、表格、图片等。在PP-StructureV1中,使用了PaddleDetection中开源的高效检测算法PP-YOLOv2完成版面分析的任务。在PP-StructureV2中,我们发布基于PP-PicoDet的轻量级版面分析模型,针对版面分析场景定制图像尺度,同时使用FGD知识蒸馏算法,进一步提升模型精度,最终CPU上41ms即可完成版面分析。
图3 版面分析效果图(分类为文字、图片、表格、图注、标注等)
3.2 表格识别
基于深度学习的表格识别算法种类丰富,PP-StructureV1基于文本识别算法RARE研发了端到端表格识别算法TableRec-RARE,模型输出为表格结构的HTML表示,进而可以方便地转化为Excel文件。TableRec-RARE中,图像输入到骨干网络后会得到四个不同尺度的特征图,分别为C2(1/4),C3(1/8),C4(1/16),C5(1/32),Head特征解码模块将C5作为输入,并输出表格结构信息和单元格坐标。
本次升级过程中,我们对模型结构和损失函数等5个方面进行升级,提出了 SLANet (Structure Location Alignment Network) ,模型结构如下图所示,详细解读请参考技术报告。
图4 SLANet模型结构图
可视化结果如下,左为输入图像[1],右为识别的HTML表格结果
图5 可视化结果
在PubtabNet英文表格识别数据集上,和其他方法对比如下。SLANet平衡精度与模型大小,推理速度最快,能够适配更多应用场景:
表1 SLANet模型与其他模型效果对比
策略 |
Acc |
TEDS |
推理速度(CPU+MKLDNN) |
模型大小 |
TableMaster |
77.9% |
96.12% |
2144ms |
253M |
TableRec-RARE |
73.8% |
95.3% |
1550ms |
8.7M |
SLANet |
76.31% |
95.89% |
766ms |
9.2M |
测试环境:飞桨版本为2.3.1,CPU为Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz,开启mkldnn,线程数为10。
3.3关键信息抽取
关键信息抽取指的是针对文档图像的文字内容,提取出用户关注的关键信息,如身份证中的姓名、住址等字段。PP-Structure中支持了基于多模态LayoutLM系列模型的语义实体识别 (Semantic Entity Recognition, SER) 以及关系抽取 (Relation Extraction, RE) 任务。PP-StructureV2中,我们对模型结构以及下游任务训练方法进行升级,提出了VI-LayoutXLM(Visual-feature Independent LayoutXLM),具体流程图如下所示。
图6 关键信息抽取流程图
图7 语义实体识别与关系抽取效果图[2]
在XFUND数据集上,与其他方法的效果对比如下所示。
表2 VI-LayoutXLM模型与其他模型效果对比
模型 |
SER Hmean |
RE Hmean |
LayoutLMv2-base |
85.44% |
67.77% |
LayoutXLM-base |
89.24% |
70.73% |
StrucTexT-large |
92.29% |
86.81% |
VI-LayoutXLM-base (ours) |
93.19% |
83.92% |
4.社区开发者开发
PDF转Word应用程序
飞桨社区开发者吴泓晋(GitHubID:whjdark)基于最新发布的PP-StructureV2智能文档分析系统,开发了一款PDF转Word小工具,导入PDF文件可一键转换为可编辑Word,支持文字、表格、标题、图片的完整恢复。
图8 PDF文件转Word文件操作流程演示
软件的使用十分简单,下载后解压exe文件,打开图片或PDF文件,点击转换后可对图片型PDF文件进行OCR识别得到Word文件,或者通过PDF解析功能直接获得转换后的Word。
5.加入PaddleOCR
技术交流群
本次更新除了PP-Structure的升级以外,PaddleOCR团队对PP-OCRv3模型也进行了面向前端场景的适配升级,并提供了开箱即用的网页版demo和小程序demo,整体系统存储从12.3M压缩至4.3M,在Mac-M1机器上使用chrome浏览器测试推理速度仅需350ms,流畅度显著升级,相比旧版本模型压缩65%,预测速度提升87.5%。欢迎大家试用!
☆入群福利
获取PDF转Word应用程序下载链接;
获取PaddleOCR详解PP-StructureV2直播课链接。
获取PaddleOCR团队整理的20G重磅OCR学习大礼包,包括:
《动手学OCR》电子书,配套讲解视频和Notebook项目;
OCR场景应用集合:包含数码管、液晶屏、车牌、高精度SVTR模型等10个垂类模型,覆盖通用,制造、金融、交通行业的主要OCR垂类应用;
PaddleOCR历次发版直播课视频;
OCR社区优秀开发者项目分享视频。
☆入群方式
微信扫描下方二维码,关注公众号,填写问卷后进入微信群
查看群公告领取福利
【更多精彩直播推荐】
更多阅读
飞桨官网:https://www.paddlepaddle.org.cn
PaddleOCR项目地址:
GitHub: https://github.com/PaddlePaddle/PaddleOCR
Gitee: https://gitee.com/paddlepaddle/PaddleOCR
PP-StructureV2技术报告:https://arxiv.org/abs/2210.05391v2
附.PP-StructureV2
核心8种优化策略详细解读
☆版面分析
PP-PicoDet:轻量级版面分析模型
PaddleDetection中提出了全新的轻量级系列模型PP-PicoDet,通过使用ESNet骨干网络、CSP-PAN特征融合模块、SimOTA标签分配方法等优化策略,最终在CPU与移动端具有卓越的性能。本次版面分析模型使用PP-PicoDet进行优化,同时针对版面分析场景优化预测尺度,最终相比PP-StructureV1版面分析模型,精度提升0.6%,模型速度提升9倍。
FGD:兼顾全局与局部特征的模型蒸馏算法
FGD(Focal and Global Knowledge Distillation for Detectors),是一种兼顾局部全局特征信息的模型蒸馏方法,分为Focal蒸馏和Global蒸馏2个部分。Focal蒸馏分离图像的前景和背景,让学生模型分别关注教师模型的前景和背景部分特征的关键像素;Global蒸馏部分重建不同像素之间的关系并将其从教师转移到学生,以补偿Focal蒸馏中丢失的全局信息。版面分析实验结果表明,FGD蒸馏算法能够进一步提升模型精度。
☆表格识别
PP-LCNet: CPU友好型轻量级骨干网络
PP-LCNet是结合Intel-CPU端侧推理特性而设计的轻量高性能骨干网络,在图像分类任务上,该方案在“精度-速度”均衡方面的表现比ShuffleNetV2、MobileNetV3、GhostNet等轻量级模型更优。PP-StructureV2中,我们采用PP-LCNet作为骨干网络,表格识别模型精度从71.73%提升至72.98%;同时加载通过SSLD知识蒸馏方案训练得到的图像分类模型权重作为表格识别的预训练模型,最终精度进一步提升2.95%至74.71%。
CSP-PAN:轻量级高低层特征融合模块
对骨干网络提取的特征进行融合,可以有效解决尺度变化较大等复杂场景中的模型预测问题。早期,FPN模块被提出并用于特征融合,但是它的特征融合过程仅包含单向(高->低),融合不够充分。CSP-PAN基于PAN进行改进,在保证特征融合更为充分的同时,使用CSP block、深度可分离卷积等策略减小了计算量。在表格识别场景中,我们进一步将CSP-PAN的通道数从128降低至96以降低模型大小。最终表格识别模型精度提升0.97%至75.68%,预测速度提升10%。
SLAHead:结构与位置信息对齐的特征解码模块
PP-StructureV2中,我们设计SLAHead模块,对单元格token和坐标之间做了对齐操作,如下图b所示。在SLAHead中,每一个step的隐藏层状态表征会分别送入SDM和CLDM来得到当前step的token和坐标,每个step的token和坐标输出分别进行concat得到表格的html表达和全部单元格的坐标。此外,我们在结构与回归分支使用更多的全连接层,增加二者特征的区分度。
☆关键信息抽取
VI-LayoutXLM:视觉特征无关的多模态预训练模型结构
LayoutLMv2以及LayoutXLM中引入视觉骨干网络,用于提取视觉特征,并与后续的text embedding进行联合,作为多模态的输入embedding。但是该模块为基于ResNet_x101_64x4d的特征提取网络,特征抽取阶段耗时严重,因此我们将其去除,同时仍然保留文本、位置以及布局等信息,最终发现针对LayoutXLM进行改进,下游SER任务精度无损,针对LayoutLMv2进行改进,下游SER任务精度仅降低2.1%,而模型大小减小了约340M。具体消融实验可以参考技术报告。
TB-YX:考虑阅读顺序的文本行排序逻辑
文本阅读顺序对于信息抽取与文本理解等任务至关重要,传统多模态模型中,没有考虑不同OCR工具可能产生的不正确阅读顺序,而模型输入中包含位置编码,阅读顺序会直接影响预测结果,在预处理中,我们对文本行按照从上到下,从左到右(YX)的顺序进行排序,为防止文本行位置轻微干扰带来的排序结果不稳定问题,在排序的过程中,引入位置偏移阈值Th,对于Y方向距离小于Th的2个文本内容,使用X方向的位置从左到右进行排序。
UDML:联合互学习知识蒸馏策略
UDML(Unified-Deep Mutual Learning)联合互学习是PP-OCRv2与PP-OCRv3中采用的对于文本识别非常有效的提升模型效果的策略。在训练时,引入2个完全相同的模型进行互学习,计算2个模型之间的互蒸馏损失函数(DML loss),同时对transformer中间层的输出结果计算距离损失函数(L2 loss)。使用该策略,最终XFUND数据集上,SER任务F1指标提升0.6%,RE任务F1指标提升5.01%。
图片来源:
[1] 图片源于网络
[2] XFUN数据集:Xu Y, Lv T, Cui L, et al. XFUND: A Benchmark Dataset for Multilingual Visually Rich Form Understanding[C]//Findings of the Association for Computational Linguistics: ACL 2022. 2022: 3214-3224.
炸裂!PDF转Word彻底告别收费时代,这个OCR开源项目要逆天!相关推荐
- 瑞星宣布个人杀毒产品免费 行业告别收费时代
昨日,国内老牌杀毒企业瑞星公司宣布个人杀毒产品全线永久免费.这也是继360和金山之后,国内第三家安全企业全面免费,这也意味着至此国内安全产品告别收费时代. 免费细则随后出台 瑞星今后的免费产品包括20 ...
- pdf转word python_Python实现PDF转Word
"阅读此篇需要三分钟" 首先来看看来个PDF文件 我们来选择其中一个论文摘要: 使用我们的python代码转化后: 是不是很神奇? 现在网络上大部分的PDF转Word都是收费的,基 ...
- python读取pdf内容转word_Python实现PDF转Word
"阅读此篇需要三分钟" 首先来看看来个PDF文件 我们来选择其中一个论文摘要: 使用我们的python代码转化后: 是不是很神奇? 现在网络上大部分的PDF转Word都是收费的,基 ...
- 7 款最好的免费 PDF 转 Word 转换器工具
将 PDF 到 Word 转换软件下载到您的计算机将节省您一遍又一遍地访问浏览器的时间.在执行转换任务时,您也不会受到文件大小或数量的限制.现在阅读这篇文章,了解可免费下载的 7 种最佳 PDF 转 ...
- 面对世界竞争对手,如何拿到Google PDF开源项目PDFium?
面对世界竞争对手,如何拿到Google PDF开源项目PDFium? 发表于2015-10-20 15:06| 844次阅读| 来源CSDN| 8 条评论| 作者蒲婧 CTO俱乐部CTO讲堂CTOPD ...
- 手把手 | 20行Python代码教你批量将PDF转为Word
2019独角兽企业重金招聘Python工程师标准>>> 在日常工作或学习中,经常会遇到这样的无奈: "小任,你把这个PDF中的文件码出来发我" 艹,倒霉,2M的P ...
- pdf 加深 扫描件_为什么PDF文档不能像Word文档一样随便编辑?如何免费将PDF转换为Word?...
PDF文档是一种非常难编辑的文档,有时候我们需要编辑或者复制PDF文档里面的内容,把PDF文档转换为Word就是我们最佳的选择.为什么PDF文档这么难编辑?我们怎么免费把PDF文档转换为Word文档? ...
- python实现pdf转word详解_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...
在日常工作或学习中,经常会遇到这样的无奈: "小任,你把这个PDF中的文件码出来发我" 倒霉,2M的PDF12点也完不了啊! 很多时候在学习时发现许多文档都是PDF格式,PDF格式 ...
- .net core word转pdf_免费在线转换PDF转Word、Word转PDF,办公必备神器
哈哈哈,早上好 我是勤奋更新的菜鸟 今天好几个同事问我 有没有办法把Word转PDF 当时我就笑了,这是个问题吗 后来想了想 确实不少人会遇到这个问题 PDF不能编辑,转换不好出乱码啥的 想想还挺闹心 ...
最新文章
- 小米miui系统怎么关闭文件管理里的热门视频和表情?
- 第十三章 数据库支持
- 多重继承中二义性的消除
- css li 空隙问题
- [转贴] 电脑族请关爱自己的身体--远离“电脑病”完全实用手册
- python generator与coroutine
- javascript二级省市select联动菜单
- c语言学生教务管理系统,c语言教务管理系统.doc
- 微型计算机显卡,“智能”显卡 华硕ROG Matrix显卡赏析
- Nginx的配置与开发学习(五):配置属于自己的HTTPS证书
- 华为服务器插键盘的位置,云服务器怎么连接键盘
- 电脑高手140招(收藏起来慢慢琢磨)
- R语言多层桑基图_R语言轻松搞定用户路径桑基图
- [软考]软考教程+历年真题
- 【算法训练营学习笔记-Week01】数组和链表的比较以及LeetCode的做题反思
- 指向vector的指针
- Arduino模块学习笔记(一)—GPS模块的使用
- ReadWriteLock读写锁加锁过程
- 计算机集成制造相关文献,计算机集成制造专著类参考文献 计算机集成制造期刊参考文献哪里找...
- ORA-01034ORA-27101错误
热门文章
- 记在2019,winter is coming
- ES系列-- ILM索引生命周期管理
- mac地址修改_全球首款支持电脑名称和MAC地址修改的浏览器 VMLogin超级防关联指纹浏览器 同时支持模拟真人输入,支持自定义经纬度...
- 三星 GALAXY Note 4 柏林发布会
- HDU 2000 ASII 排序
- Python攻城师的成长————MySQL数据库关键字
- Modelsim与debussy联合仿真
- 干货分享:今天谈谈大学生该如何运营校园微信公众号!
- java第七章学习笔记:访问控制---java世界的卫兵
- 【多线程】初识多线程