全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2021-05-31_告别「复制+粘贴」,基于深度学习的OCR,实现PDF转文本

您的位置:首页 >> 新闻 >> 行业资讯

告别「复制+粘贴」,基于深度学习的OCR,实现PDF转文本 选自Towardsdatascience作者:Lucas Soares机器之心编译编辑:陈萍对很多人来说,将 PDF 转换为可编辑的文本是个刚需,却苦于没有简单方法。在本文介绍的项目中,来自 K1 Digital 的高级机器学习工程师 Lucas Soares,尝试使用 OCR(光学字符识别)自动转录 pdf 幻灯片,转录效果还不错。传统的讲座通常伴随着一组 pdf 幻灯片。一般来说,想要对此类讲座做笔记,需要从 pdf 复制、粘贴很多内容。 最近,来自 K1 Digital 的高级机器学习工程师 Lucas Soares 一直在尝试通过使用 OCR(光学字符识别)自动转录 pdf 幻灯片,以便直接在 markdown 文件中操作它们的内容,从而避免手动复制和粘贴 pdf 内容,实现这一过程的自动化。 左为项目作者 Lucas Soares。 项目地址:https://github.com/EnkrateiaLucca/ocr_for_transcribing_pdf_slides 为什么不使用传统的 pdf 转文本工具呢? Lucas Soares 发现传统工具往往会带来更多的问题,需要花时间解决。他曾经尝试使用传统的 Python 软件包,但是遇到了很多问题(例如必须使用复杂的正则表达式模式解析最终输出等),因此决定尝试使用目标检测和 OCR 来解决。 基本过程可分为以下步骤: 将 pdf 转换为图片; 检测和识别图像中的文本; 展示示例输出。 基于深度学习的 OCR 将 pdf 转录为文本 将 pdf 转换为图像 Soares 使用的 pdf 幻灯片来自于 David Silver 的增强学习(参见以下 pdf 幻灯片地址)。使用「pdf2image」包将每张幻灯片转换为 png 图像格式。 pdf 幻灯片示例。地址:https://www.davidsilver.uk/wp-content/uploads/2020/03/intro_RL.pdf 代码如下: frompdf2imageimportconvert_from_path frompdf2image.exceptionsimport( PDFInfoNotInstalledError, PDFPageCountError, PDFSyntaxError ) pdf_path="path/to/file/intro_RL_Lecture1.pdf" images=convert_from_path(pdf_path) fori,imageinenumerate(images): fname="image"+str(i)+".png" image.save(fname,"PNG") 经过处理后,所有的 pdf 幻灯片都转换成 png 格式的图像: 检测和识别图像中的文本 为了检测和识别 png 图像中的文本,Soares 使用 ocr.pytorch 库中的文本检测器。按照说明下载模型并将模型保存在 checkpoints 文件夹中。 ocr.pytorch 库地址:https://github.com/courao/ocr.pytorch 代码如下: #adaptedfromthissource:https://github.com/courao/ocr.pytorch %load_extautoreload %autoreload2 importos fromocrimportocr importtime importshutil importnumpyasnp importpathlib fromPILimportImage fromglobimportglob importmatplotlib.pyplotasplt importseabornassns sns.set() importpytesseract defsingle_pic_proc(image_file): image=np.array(Image.open(image_file).convert('RGB')) result,image_framed=ocr(image) returnresult,image_framed image_files=glob('./input_images/*.*') result_dir='./output_images_with_boxes/' #Iftheoutputfolderexistswewillremoveitandredoit. ifos.path.exists(result_dir): shutil.rmtree(result_dir) os.mkdir(result_dir) forimage_fileinsorted(image_files): result,image_framed=single_pic_proc(image_file)#detectingandrecognizingthetext filename=pathlib.Path(image_file).name output_file=os.path.join(result_dir,image_file.split('/')[-1]) txt_file=os.path.join(result_dir,image_file.split('/')[-1].split('.')[0]+'.txt') txt_f=open(txt_file,'w') Image.fromarray(image_framed).save(output_file) forkeyinresult: txt_f.write(result[key][1]+'\n') txt_f.close() 设置输入和输出文件夹,接着遍历所有输入图像(转换后的 pdf 幻灯片),然后通过 single_pic_proc() 函数运行 OCR 模块中的检测和识别模型,最后将输出保存到输出文件夹。 其中检测继承(inherit)了 Pytorch CTPN 模型,识别继承了 Pytorch CRNN 模型,两者都存在于 OCR 模块中。 示例输出 代码如下: importcv2ascv output_dir=pathlib.Path("./output_images_with_boxes") #image=cv.imread(str(np.random.choice(list(output_dir.iterdir()),1)[0])) image=cv.imread(f"{output_dir}/image7.png") size_reshaped=(int(image.shape[1]),int(image.shape[0])) image=cv.resize(image,size_reshaped) cv.imshow("image",image) cv.waitKey(0) cv.destroyAllWindows() 下图左为原始 pdf 幻灯片,图右为转录后的输出文本,转录后的准确率非常高。 文本识别输出如下: filename=f"{output_dir}/image7.txt" withopen(filename,"r")astext: forlineintext.readlines(): print(line.strip("\n")) 通过上述方法,最终你可以得到一个非常强大的工具来转录各种文档,从检测和识别手写笔记到检测和识别照片中的随机文本。拥有自己的 OCR 工具来处理一些文本内容,这比依赖外部软件来转录文档要好的多。 原文链接:https://towardsdatascience.com/faster-notes-with-python-and-deep-learning-b713bbb3c186 CVPR 2021 线下论文分享会 6月12日,北京望京凯悦酒店。CVPR 2021 线下论文分享会将设置Keynote、论文分享和Poster环节。 4个Keynote、12篇论文分享日程已确认,欢迎大家报名学习。 作为一场开放的学术交流活动,我们也欢迎 CVPR 2021 的论文作者们作为嘉宾参与(现只剩Poster席位),请在报名页面提交演讲主题、论文介绍等信息,我们将与你联系沟通相关事宜。 点击阅读原文,立即报名。 ?THE END 转载请联系本公众号获得授权 投稿或寻求报道:content@jiqizhixin.com 阅读原文

上一篇:2025-01-25_浙大通义联手推出慢思考长文本生成框架OmniThink,让AI写作突破知识边界 下一篇:2018-12-02_「转」斯坦福DAWNBench最新成绩:华为云ModelArts深度学习训练速度登顶

TAG标签:

16
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价