Surya

2个月前发布 10 00

Surya:功能强大的开源OCR文档处理工具包,支持90多种语言的OCR识别,提供布局分析、阅读顺序检测和表格识别等功能。无论是PDF、图像还是Word文档,Surya都能高效处理。基于先进的多模态模型,Surya实现了精准的文本检测、灵活的布局分析和智能的表格识别,提升文档数字化处理效率。

收录时间:
2025-04-08

Surya:功能强大的开源OCR文档处理工具包,支持90多种语言的OCR识别,提供布局分析、阅读顺序检测和表格识别等功能。无论是PDF、图像还是Word文档,Surya都能高效处理。基于先进的多模态模型,Surya实现了精准的文本检测、灵活的布局分析和智能的表格识别,提升文档数字化处理效率。 Surya:开源OCR文档处理工具包,支持90多种语言识别 主要功能特点: 多语言OCR: 支持90多种语言的OCR识别,与云服务相比具有竞争力的基准测试结果,覆盖了全球大部分常见语言。 文本检测: 能够进行行级文本检测,不受语言限制,确保精确的文本识别。 布局分析: 检测文档中的表格、图像、标题等元素,提供全面的布局分析功能。 阅读顺序检测: 能够理解文档的逻辑阅读顺序,确保生成的文档内容有序且易于阅读。 表格识别: 识别文档中的表格结构,包括行和列,支持复杂表格的精确提取。 高效性能: 基于先进的多模态模型,Surya实现了高效的文本处理和识别,提升了文档处理效率。 多种文档类型: 支持PDF、图像、Word文档等多种文档格式,灵活应对不同类型的文档处理需求。 使用简便: 安装和使用简单,支持Python 3.10+和PyTorch,用户可以快速上手。 GPU优化: 使用GPU时,通过正确设置环境变量,可以显著提高性能,适应大规模文档处理需求。 开源项目: 作为开源项目,Surya可以自由获取和使用,适合开发者进行二次开发和功能扩展。 使用方法: 一、安装和设置: 1.安装Python和PyTorch: Surya需要Python 3.10+和PyTorch。请确保您的环境中安装了这两个工具。 2.克隆Surya项目: 打开终端,运行以下命令克隆Surya项目: git clone https://github.com/VikParuchuri/surya.git cd surya 3.安装依赖: 运行以下命令安装Surya的主要和开发依赖项 poetry install 4.激活虚拟环境: 运行以下命令激活虚拟环境 poetry shell 二、使用Surya进行OCR 1.加载模型: Surya的模型权重将在首次运行时自动下载。 2.运行OCR示例代码: 以下是如何从Python使用Surya进行OCR的示例代码 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”] # 替换为你的语言 – 可选但推荐 # 加载模型 det_processor, det_model = load_det_processor(), load_det_model() rec_model, rec_processor = load_rec_model(), load_rec_processor() # 运行OCR predictions = run_ocr([image], [langs], det_model, det_processor, rec_model, rec_processor) 三、 高级功能 1.启用模型编译: 设置环境变量来启用模型编译 export COMPILE_RECOGNITION=true export COMPILE_DETECTOR=true export COMPILE_LAYOUT=true export COMPILE_TABLE_REC=true # 或者使用 export COMPILE_ALL=true 2.文本行检测: Surya可以检测文本行并输出包含检测到的边界框的JSON文件。 3.布局和阅读顺序: Surya可以输出包含检测到的布局和阅读顺序的JSON文件。 4.表格识别: Surya可以输出包含检测到的表格单元格和行/列ID以及行/列边界框的JSON文件。 四、性能优化 使用GPU优化: 在使用GPU时,正确设置 RECOGNITION_BATCH_SIZE 环境变量可以显著提高性能。每个批次项将使用40MB的VRAM,可以实现非常高的批量大小。 五、故障排除 提升OCR效果: 增加图像分辨率,使文本更大。如果分辨率已经很高,尝试将其降低到不超过2048px的宽度。 对图像进行预处理(二值化、去倾斜等)可以帮助处理非常老旧/模糊的图像。 可以调整 DETECTOR_BLANK_THRESHOLD 和 DETECTOR_TEXT_THRESHOLD 以获得更好的结果。 通过以上步骤,您可以充分利用 Surya 进行高效的OCR文档处理。

数据统计

相关导航

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...