互联网资讯 / 人工智能 · 2023年12月11日 0

深度学习OCR技术实现PDF转文本

深度学习OCR技术实现PDF转文本

在传统讲座中,常常会使用一系列的PDF幻灯片。通常情况下,要对这些讲座做笔记,就需要从PDF中复制和粘贴大量内容。

近期,K1 DiGital的高级机器学习工程师LUCas SoaRes致力于通过光学字符识别(OCR)技术自动转录PDF幻灯片,以便能够直接在Markdown文件中处理这些内容,避免了繁琐的手动复制和粘贴,从而实现了这一过程的自动化。

左侧为项目作者LUCas SoaRes。

项目地址:GitHub

为何不采用传统的PDF转文本工具?

LUCas SoaRes发现,传统工具往往会带来许多问题,需要耗费时间来解决。他尝试过一些传统的Python软件包,但遇到了诸多困难,例如需要复杂的正则表达式来解析输出,因此决定探索使用目标检测和OCR技术来解决这一问题。

基本流程概述

整个过程可以分为以下几个步骤:

  • 将PDF转换为图片;
  • 检测和识别图像中的文本;
  • 展示示例输出。

基于深度学习的OCR实现PDF转文本

将PDF转换为图像

SoaRes使用的PDF幻灯片来自David SilveR的增强学习课程(参见以下PDF幻灯片地址)。他利用“pdf2image”包将每张幻灯片转换为PNG图像格式。

地址:PDF幻灯片

经过处理后,所有的PDF幻灯片均已转换为PNG格式的图像:

检测和识别图像中的文本

为了实现PNG图像中的文本检测和识别,SoaRes使用了OCR.pyTorch库中的文本检测器。根据说明下载模型并将其保存在checkpoints文件夹中。

OCR.pyTorch库地址:GitHub

在设置好输入和输出文件夹后,他遍历所有转换后的输入图像,然后通过single_pic_Proc()函数运行OCR模块中的检测和识别模型,最终将输出保存至输出文件夹。

其中,检测部分继承了PyTorch CTPN模型,而识别部分则继承了PyTorch CRNN模型,二者均存在于OCR模块中。

示例输出

下图左侧为原始PDF幻灯片,右侧为转录后的文本输出,转录的准确率非常高。

文本识别输出示例如下:

通过上述方法,最终可以获得一个强大的工具来转录各种文档,从检测和识别手写笔记到识别照片中的随机文本。拥有自己的OCR工具处理文本内容,显然比依赖外部软件转录文档要高效得多。

[[[IMG_1]]]

[[[IMG_2]]]