AI

Surya:开源多语言 OCR 与文档理解系统

Surya 是一个多语言 OCR 系统,在文本检测、识别和布局分析方面具有最先进的准确度,支持数十种语言。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
Surya:开源多语言 OCR 与文档理解系统

光学字符识别是计算机视觉最古老的应用之一,但传统 OCR 引擎一直难以跟上现代需求。如今的文档在布局、多语言内容以及质量变异性方面比以往任何时候都更加多样化。Surya 代表了 OCR 的现代方法,建立在深度学习架构之上,以传统引擎无法比拟的准确度处理真实世界文档的复杂性。

由 datalab-to 团队(Marker 的同一团队)开发,Surya 既是独立的 OCR 系统,也是更大文档处理管道的组件。它提供三项核心能力:文本检测(找到页面上文本的位置)、文本识别(读取文本的内容)和布局分析(理解文档结构)。统一的架构意味着单一模型即可处理数十种文字系统和语言的文本。

Surya 已迅速成为开源文档处理生态系统中的热门选择,因其在具有挑战性的文档上的准确度和简洁、现代的 API 而备受推崇。它为包括 Marker 在内的几个下游工具提供 OCR 功能,并已被先前依赖商业 OCR SDK 的组织采用。


Surya 的三阶段架构如何工作?

Surya 通过三个专门的神经网络阶段处理文档。

graph TD
    A[文档图片] --> B[阶段 1: 文本检测]
    B --> C[区域候选\n文本行边界框]
    C --> D[阶段 2: 文本识别]
    D --> E[识别的文本行\n每个区域]
    E --> F[阶段 3: 布局分析]
    F --> G[结构理解\n段落、标题、表格]
    G --> H[结构化输出\n带布局标签的排序文本]

这些阶段可以独立使用或组合使用。例如,仅需要边界框的系统可以只使用文本检测阶段,而完整的文档转换流水线则会使用所有三个阶段。


Surya 与其他 OCR 系统相比如何?

Surya 的准确度与传统和现代替代方案进行了基准比较。

OCR 引擎方法语言支持布局分析CPU 速度
Surya深度学习(Transformer)90+ 种语言中等
Tesseract传统(LSTM)100+ 种语言有限
Google Cloud Vision专有(深度学习)多种语言N/A(API)
EasyOCR深度学习(CNN)80+ 种语言
PaddleOCR深度学习80+ 种语言有限中等

Surya 的关键区别在于其布局分析能力加上宽松的开源许可证(GPL)。需要在无需将数据发送到云端 API 的情况下获得结构化文档理解的组织,会发现 Surya 是最有能力的自托管选项。


有哪些性能基准可用?

该项目发布了不同文档类型和语言的准确度指标。

语言类型字符错误率(Surya)字符错误率(Tesseract)改进
拉丁文字1.2%3.5%-66%
中文/日文/韩文2.8%8.1%-65%
阿拉伯文字3.1%7.4%-58%
天城文字2.5%6.9%-64%
混合文字文档3.8%15.2%-75%
手写文本8.5%25%+-66%

混合文字的结果尤其令人印象深刻——在语言之间切换的文档(常见于学术论文和国际商业文档)会对传统 OCR 引擎造成不成比例的问题,而 Surya 的统一架构则能自然地处理它们。


常见问题

什么是 Surya? Surya 是一个开源的多语言 OCR 系统,提供最先进的文本检测、文本识别和布局分析能力。它支持数十种语言,专为取代 Tesseract 等传统 OCR 引擎而设计。

Surya 支持哪些语言? Surya 支持超过 90 种语言,包括英文、中文、日文、韩文、阿拉伯文、印地文、俄文、法文、德文、西班牙文、葡萄牙文等。它使用统一的模型架构,无需语言特定配置即可处理多种文字系统。

Surya 与 Tesseract 相比准确度如何? 在基准数据集上,Surya 在大多数语言和文档类型上的准确度显著高于 Tesseract。对于复杂布局、密集文本和具有挑战性的文字系统,字符错误率的改进可达 30-50%。Surya 还能处理 Tesseract 未提供的布局分析。

Surya 中的布局分析是什么? 布局分析是 Surya 理解文档结构的能力,不仅仅是识别文本。它能识别段落、标题、表格、列表、图形及其阅读顺序。这种结构化理解对于文档转换和 RAG 摄入等下游任务至关重要。

Surya 需要 GPU 吗? Surya 可以在 CPU 上运行,但使用 GPU 加速时速度显著提高。对于生产批量处理,建议使用至少 4GB VRAM 的 NVIDIA GPU。仅使用 CPU 的操作对于小型任务是可行的,但速度可能慢 10-50 倍。


延伸阅读

TAG
CATEGORIES