使用YOLOV3解析PDF
有许多python库可以解析pdf,Camelot
是最好的之一。尽管它在文本上表现良好,但是它在表格上表现不佳,特别是在段落内的表格上。
Camelot提供了通过变量table_areas=“x1,y1,x2,y2”指定
要解析的区域的选项,其中(x1,y1)是PDF坐标空间中的左上角,(x2,y2)是右下角。当填写时,结果会显著增强。
解释基本概念
自动化表格解析的一种方法是训练一种能够返回环绕表格的边界框的坐标的算法,如以下管道中所详述:
如果原始pdf页面是基于图像的,我们可以使用ocrmypdf
转换为基于文本的页面,以便能够获得表格中的文本。然后,我们执行以下操作:
- 使用
pdf2img
将pdf页面转换为图像页面 - 使用经过训练的算法来检测表的区域。
- 使用_图像维度_规范化边界框,这使得使用通过
PyPDF2
获得的_pdf维度_在pdf空间中获得区域。 - 喂养
卡米洛特
的地区,并获得相应的熊猫巢。
当检测到pdf图像中的表格时,我们扩展边界框,以便完全包含它,如下所示:
表格检测
允许检测表的算法,只不过是yolov3,我建议你阅读我以前关于对象检测的文章。我们对算法进行了微调,以检测表并重新训练所有架构。为此,我们执行以下步骤:
- 使用
Makesense
创建一个训练数据库,该工具支持yolo格式的导出:
要求
所有python要求都包含在文件package.txt中,您需要做的就是运行以下命令行:
|
|
预测
可以使用以下命令行在PDF页面上进行预测:
|
|
它有两个参数:
- pdf_path:原始pdf文件所在的位置
- page:要解析的页面
示例
注意:遵循相同的步骤,我们可以训练算法来检测PDF页面中的任何其他对象,
例如可以从图像页面中提取的图形和图像。
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek001/post/20240828/ismail-mebsoutParsing-PDFs-using-YOLOV-3%E4%BD%BF%E7%94%A8YOLOV-3%E8%A7%A3%E6%9E%90pdf%E8%A1%A8%E6%A0%BC---ismail-mebsoutParsing-PDFs-using-YOLOV3-Parsing-pdf-tables-using-YOLOV3/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com