本文来源公众号“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 !
文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。