Surya
专用模型

Surya

Surya OCR 是一款开源的通用 OCR 引擎,由 VikParuchuri 开发,支持超过 90 种语言。它提供高精度的文本识别、行级文本检测、布局分析、阅读顺序检测、表格识别和 LaTeX OCR 等功能,适用于处理各种文档格式,是进行文档数字化和信息提取的强大工具。

快点收藏起来

什么是 Surya OCR

Surya OCR 是一款专注于多语言文本及复杂文档结构的识别,尤其以表格识别能力见长的通用光学字符识别(Optical Character Recognition, OCR)引擎。它被设计用于从各种文档中提取文本,并支持超过 90 种语言和多种文字脚本。Surya OCR 的目标是在保证高准确度的同时,提供高效的性能。与一些商业云服务相比,Surya 在基准测试中表现出色。它专注于文档 OCR,并提供了包括行级文本检测、布局分析、表格识别和 LaTeX OCR 等一系列强大的功能,使其成为处理复杂文档数字化需求的理想选择。

surya

Surya OCR 的功能

Surya OCR 提供了一系列令人印象深刻的功能,使其在众多 OCR 引擎中脱颖而出:

  • 广泛的语言支持: Surya OCR 支持超过 90 种语言的文本识别,覆盖了世界上大多数常用语言,用户可以根据需求选择特定的语言进行 OCR。
  • 行级文本检测: 该引擎具备在任何语言中进行行级文本检测的能力,这对于准确识别文档中的每一行文本至关重要。
  • 布局分析: Surya OCR 能够分析文档的布局,识别不同的元素,如表格、图像、标题等,这有助于在 OCR 后更好地理解文档的结构。
  • 阅读顺序检测: 对于复杂的文档布局,Surya OCR 可以检测文本的阅读顺序,确保提取的文本按照正确的逻辑顺序排列。
  • 表格识别: Surya OCR 能够识别文档中的表格结构,包括检测表格的行和列,这对于处理包含表格数据的文档非常有用。
  • LaTeX OCR: Surya OCR 专门支持 LaTeX 数学公式的识别,这对于处理科学和技术文档至关重要。
  • 支持多种文档格式: Surya OCR 可以处理包括 PDF、图像(如 PNG、JPG)以及 Word 文档和 PowerPoint 文件等多种输入格式。
  • 高性能和低延迟: Surya OCR 被设计为具有一致的速度和低延迟,即使在处理大型文档时也能保持高效。
  • 可配置性: 用户可以通过环境变量或配置文件调整 Surya OCR 的设置,例如指定使用的语言、设备(CPU 或 GPU)等。
  • 开源: Surya OCR 是一个开源项目,用户可以免费使用、修改和分发,这为开发者提供了很大的灵活性和定制性。

如何使用/快速开始

要开始使用 Surya OCR,您可以按照以下步骤进行操作:

  1. 安装 Surya OCR: 您需要 Python 3.9 或更高版本以及 PyTorch。如果您的机器没有 GPU 或者您想先使用 CPU 版本,可能需要先安装 PyTorch 的 CPU 版本。然后,可以通过 pip 安装 Surya OCR:
    pip install surya-ocr

    首次运行 Surya 时,模型权重将自动下载。请注意,Surya 目前可能与 Transformers 库的最新版本(4.37+)不完全兼容,建议使用 4.36.2 版本。

  2. 配置环境变量(可选): 您可以检查 surya/settings.py 文件中的设置,并通过设置相应的环境变量来覆盖默认配置。例如,要指定使用 CUDA 进行计算,可以设置环境变量 TORCH_DEVICE=cuda
  3. 运行 OCR: 使用 surya 命令来执行 OCR 任务。基本的使用方法如下:
    surya --langs [语言代码] [文件路径或目录] --output_dir [输出目录]
    • --langs:指定要使用的语言。可以使用语言名称或 ISO 代码,多个语言之间用逗号分隔。您可以在 surya/languages.py 文件中找到支持的语言列表。
    • [文件路径或目录]:指定要进行 OCR 的文件(可以是图像、PDF)或包含这些文件的目录。
    • --output_dir:指定保存结果的目录,默认为当前目录。
    • 其他可选参数包括 --images(保存包含检测到的文本行的页面图像)和 --page_range(指定要处理的 PDF 页面范围)。
  4. 处理输出结果: OCR 的结果通常会保存在指定的输出目录中。输出格式可能是文本文件或包含文本信息的 JSON 文件,具体取决于您使用的功能和配置。
  5. 使用其他功能: Surya OCR 还提供了用于布局分析、阅读顺序检测和表格识别的命令。您可以在 Surya OCR 的 GitHub 仓库中找到更详细的使用说明和示例。例如,执行布局分析的命令可能类似于:
    surya --layout [文件路径或目录] --output_dir [输出目录]
  6. LaTeX OCR: 对于包含 LaTeX 公式的文档,可以使用专门的命令进行 OCR。

建议您查阅 Surya OCR 在 GitHub 上的官方文档,以获取更全面和详细的使用指南,包括各种功能的参数说明、高级用法以及故障排除等信息。通过实践和探索,您可以充分利用 Surya OCR 的强大功能来满足您的文档处理需求。

相关导航