OpenCV与AI深度学习 | 高效开源的OCR工具:Surya-OCR介绍与使用

本文来源公众号“OpenCV与AI深度学习,仅用于学术分享,侵权删,干货满满。

原文链接:高效开源的OCR工具:Surya-OCR介绍与使用

1 背景

    在众多企业应用中,光学字符识别 (OCR) 是一项基础技术。在本文中,我们将深入探讨 Surya-OCR,这是最近引起广泛关注的解决方案。文本检测和提取在各种企业用例中至关重要。例如:

  •  在制造业中,从文档中提取发票详细信息至关重要。
  •  保险行业采用 OCR 技术来自动化索赔的数字化,而医疗保健应用程序则利用 OCR 从临床记录中提取药物信息。

2 Surya-OCR

    Surya 是一个文档 OCR 工具包,它具有以下功能:

  • 支持 90 多种语言的 OCR,其基准测试优于云服务
  • 任何语言的行级文本检测
  • 布局分析(表格、图像、标题等检测)
  • 读取顺序检测

    它适用于一系列文档(有关更多详细信息,请参阅用法和基准)。

github地址:

https://github.com/VikParuchuri/surya

安装与使用

    在安装 Surya 之前,必须确保满足两个先决条件:

  • 需要 Python 版本 3.9 或更高版本。
  • 系统上必须安装 PyTorch。

    如果您使用的是旧版本的python,可以使用以下命令更新python:

conda install python=3.9

    要安装最新版本的 torch,请访问以下页面并根据您的环境生成命令 - https://pytorch.org/get-started/locally/

    简而言之,如果您使用的是 CPU 机器,只需运行:

pip install -U torch

    如果是 GPU 机器,请确保安装带有 cuda 的 torch:

pip install torch torchvision torchaudio --index -url https: //d ownload.pytorch.org/whl/cu118

    接下来安装Surya-OCR:

pip install surya-ocr

    Surya 支持多种语言。要执行文本检测,让我们从维基百科页面选择一个图像。

    该图像由两列组成,还包括页眉和页脚注释。文本检测可以通过三个连续步骤完成。

    【1】加载图像——使用PIL库加载png文件

from PIL import Image
image = Image.open("test.png")
print(image)

    【2】加载Surya模型

from surya.model.segformer import load_model, load_processor
model, processor = load_model(), load_processor()

    首次执行该命令时,将从 HuggingFace 下载模型。对于后续执行,模型会被缓存并快速加载。

    【3】执行文本检测 — 使用 surya batch_inference 组件

from surya.detection import batch_inference
prediction = batch_inference([image], model, processor)
print(prediction)

    Python接口打印检测到的文本的边界框坐标:

    你可以使用以下命令查看热图和亲和力图:

prediction[0]["heatmap"]

代码:

prediction[0]["affinity_map"]

    也可以通过命令行实现文本检测:

surya_detect DATA_PATH --images

DATA_PATH可以是图像、pdf 或图像/pdf 文件夹

--images将保存页面图像和检测到的文本行(可选)

--max如果您不想处理所有内容,则指定要处理的最大页数

--results_dir指定保存结果的目录而不是默认目录

    Surya 已检测到几乎 99% 的正文。页脚被覆盖。但是,无法正确检测标头。

    Surya 可在 CPU 和 GPU 环境上无缝运行。在 GPU 环境中,Surya 会自动检测 GPU 并利用它,无需任何额外的设置。

3 结束语

    Surya 团队目前专注于开发多项功能,包括文本提取、标题检测和表格提取。

https://github.com/VikParuchuri/surya?tab=readme-ov-file#surya

    发布后,我们可以将结果与 EasyOCR 或 PaddleOCR 进行比较,以评估其性能。

    可以通过以下链接访问代码:

https://github.com/srinathmkce/TheAIGuy/blob/main/ComputerVision/OCR/Surya-OCR.ipynb

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

  • 35
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值