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

  发布时间:2026-11-16   作者:玩站小弟   我要评论
谷歌霸屏技术【tg:seogoogle987】。

传统的讲座通常伴随着一组 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

代码如下: 

from pdf2image import convert_from_path from pdf2image.exceptions import (  PDFInfoNotInstalledError,  PDFPageCountError,  PDFSyntaxError )  pdf_path = "path/to/file/intro_RL_Lecture1.pdf" images 制+;= convert_from_path(pdf_path) for i, image in enumerate(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

代码如下: 

# adapted from this source: https://github.com/courao/ocr.pytorch %load_ext autoreload %autoreload 2 import os from ocr&nbs」,p;import ocr import time import shutil import numpy as np import pathlib from PIL import Image from glob import glob import matplotlib.pyplot as plt import seaborn as sns&nb基于sp;sns.set() import pytesseract  def single_pic_proc(image_file):     image = np.array(Image.open(image_file).convert('RGB'))     result, image_framed = ocr(image)     return result深度,image_framed  image_files = glob('./input_images/*.*') result_dir = './output_images_with_boxes/'  # If the output folder exists we will remove it and redo it. if os.path.exists(result_dir):&nb学习sp;    shutil.rmtree(result_dir) os.mkdir(result_dir)  for image_file in sorted(image_files):     result, image_framed = single_pic_proc(image_file) # detecting and recognizing the text&的Onbsp;    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]+CR'.txt')     txt_f = open(txt_file, 'w')     Image.fromarray(image_framed).save(output_file)     for key in result:         txt_f.write(result[key][1]+' ') ,实;    txt_f.close() 

设置输入和输出文件夹,接着遍历所有输入图像(转换后的 pdf 幻灯片),然后通过 single_pic_proc() 函数运行 OCR 模块中的检测和识别模型,最后将输出保存到输出文件夹。

其中检测继承(inherit)了 Pytorch CTPN 模型,识别继承了 Pytorch CRNN 模型,两者都存在于 OCR 模块中。

示例输出

代码如下: 

import cv2 as cv  output_dir = pathlib.Path("./output_images_wit现Ph_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)DF cv.imshow("image", image) cv.waitKey(0) cv.destroyAllWindows() 

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

文本识别输出如下: 

filename = f"{output_dir}/image7.txt" with open(filename, "r") as text:     for line in&nbs转文p;text.readlines():         print(line.strip(" ")) 

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

 

  • Tag:

相关文章

  • OpenAI豪掷 15 亿美元布局B端:新合资公司“DeployCo”浮出水面

    4 月 22 日,人工智能巨头 OpenAI 传出重磅投资动向。据知情人士透露,OpenAI 已承诺向一家与私募股权公司新成立的合资企业注资至多 15 亿美元。此举被外界普遍视为 OpenAI 加速商
    2026-11-16
  • ​Brave 搜索引擎升级:AI 问答功能实现更详尽的搜索体验

    随着人工智能技术的不断发展,搜索引擎也在不断更新换代。近日,浏览器制造商 Brave 宣布,其 AI 驱动的搜索平台 Ask Brave 将推出一项新功能,旨在为用户提供更为详细的答案。该功能与去年的
    2026-11-16
  • 标签: 诺基亚 海信 专利许可 视频技术

    云梦级1月12日云梦级消息,1月12日,诺基亚与海信集团宣布,双方已于上周签署一项涵盖视频技术的多年专利许可协议,并就此解决了在全球所有司法管辖区内的全部专利相关诉讼。 根据协议,海信在其电视产品中使
    2026-11-16
  • 标签: 飞书 谢欣 Agent 养虾

    云梦级3月11日云梦级消息,飞书CEO谢欣在朋友圈发文表示,最近龙虾实在太火,很多朋友都在飞书上养虾。春节前后短短几周,有朋友的工作方式已经改变。 谢欣认为,个人电脑上跑agent和企业里用agent
    2026-11-16
  • IDC:阿里AI语音语义市场增速96%,中国第一

    6月21日消息,IDC发布《中国人工智能软件及应用市场研究报告-2020》显示,阿里AI在语音语义领域表现强劲,市场规模年增长率达96.6%,在中国主要语音语义厂商中排名第一,同时,总营收跻身中国前二
    2026-11-16
  • 惊爆!Vercel CEO 称 Kimi K2 在 AI 应用中超越 GPT-5,准确率高出 50%!

    近日,美国初创公司 Vercel 的首席执行官吉列尔莫在社交媒体上发布了一项引人注目的声明,称中国开源模型 Kimi K2在智能体应用场景中的表现远超其对手,包括前沿的闭源模型 GPT-5和 Clau
    2026-11-16

最新评论