开源的3D互动数字人聊天,你的二次元AI助理吗点击上方蓝字关注我们
IT 咖啡馆,探索无限可能!
恭喜你发现了这个宝藏,这里你会发现优质的开源项目、IT知识和有趣的内容。
现在的工作中经常会有需要识别图片或PDF中文字的需要,尤其是大模型相关,海量的数据需要OCR处理。
今天我们分享的开源项目,是支持多语言的OCR工具包,可以帮你解决很多日常的需要,它就是:Surya
Surya 是什么
Surya 是一个文档 OCR 工具包,这是一个印度老哥的项目,项目的名字来源于印度教的太阳神,他具有宇宙视野。Surya支持 90 多种语言的 OCR,支持行级文本检测,支持布局分析,可以处理复杂的文档类型,如含有多列文本、图像和表格的文件,适用于自动化文档处理和数据提取场景。其功能如下:
支持 90 多种语言的 OCR,与云服务相比具有优势
任何语言的行级文本检测
布局分析(表格、图像、标题等检测)
阅读顺序检测
表格识别(检测行/列)
性能对比
对于Surya来说,它的特色能力表现在处理包含复杂表格和多语言内容的文档方面。可以考虑通过它来解决满足的场景需要。根据项目给出的数据,在和云服务商的对比中,有着非常好的表现。
OCR
OCR
tesseract
Google Cloud Vision
文本行检测
安装 Surya
最简单的方式就是使用 pip来安装 Surya,您需要 Python 3.10+ 和 PyTorch。如果您使用的不是 Mac 或 GPU 机器,则可能需要先安装 CPU 版本的 torch。
pip install surya-ocr
另外项目提供了一个 streamlit 应用程序,可让您以交互方式在图像或 PDF 文件上使用 Surya。使用以下命令运行它:
pip install streamlit
surya_gui
第一次运行 surya 时,模型权重将自动下载。有一些权重是会需要从huggingface下载,所以需要提前配置好网络。
使用Surya
如果是基本使用,可以直接通过刚刚安装的streamlit程序来使用,安装完成后会在8501端口运行一个服务器。
选择语言
首先可以选择希望使用的语言,选择语言可以提升OCR的准确性。
选择一个希望执行OCR的文件。
左侧可以选择的识别动作包括:
文本检测
OCR
布局分析
阅读顺序
表格识别
OCR
以OCR为例,识别速度还不错,我这个基本的文档识别准确度也可以。
测试了一下英文论文,带公式的,识别的效果也还不错。
代码使用
也可以在自己的代码中使用Surya,以下是 一段参考的代码示例
from PIL import Image
from surya.ocr import run_ocr
from surya.model.detection.model import load_model as load_det_model, load_processor as load_det_processor
from surya.model.recognition.model import load_model as load_rec_model
from surya.model.recognition.processor import load_processor as load_rec_processor
image = Image.open(IMAGE_PATH)
langs = ["en"] # Replace with your languages - optional but recommended
det_processor, det_model = load_det_processor(), load_det_model()
rec_model, rec_processor = load_rec_model(), load_rec_processor()
predictions = run_ocr([image], [langs], det_model, det_processor, rec_model, rec_processor)
表格识别
总结
整体而言,Surya是一个非常不错OCR工具,识别的速度和准确性都很不错,上手也是比较容易的,所以如果你想自己 搞一个OCR的工具,那这个是不错的选择。需要注意的是,Surya的开源协议相对复杂,个人和研究不受限制,但商业使用会受到一些限制,需要自己仔细查看一下。
项目信息
项目名称:Surya
GitHub 链接:https://github.com/VikParuchuri/surya
Star 数:12K