光学字符识别是计算机视觉最古老的应用之一,但传统 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 倍。
延伸阅读
- Surya GitHub 仓库 – 源代码、模型权重和安装指南
- Marker GitHub 仓库 – 使用 Surya 进行 OCR 的 PDF 转 Markdown 转换器
- Tesseract OCR – 用于比较的传统开源 OCR 引擎
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!