TurboOCR:一款高性能 GPU 文档解析器,能以极速将重量文本、布局、表格和公式提取为 Markdown
它解决了什么问题
TurboOCR 是一款高性能 GPU 加速的文档解析器,旨在取代缓慢的传统 OCR 引擎和沉重的视觉语言模型 (VLMs)。它解决了从文档中提取结构化数据的问题——包括文本、布局、表格和数学公式——同时保持完全本地化和私密性,且速度极快。
工作原理
该项目使用 C++、CUDA 和 TensorRT 构建,实现了基于 PP-OCRv6 的多流流水线。它使用一系列专门的模型堆栈,而不是单一的庞大模型:
- 文本检测与识别:使用 PP-OCRv6(提供 tiny、small 或 medium 层级)来处理拉丁语、中文和日语脚本。
- 布局分析:采用 PP-DocLayoutV3 来识别 25 种不同的文档类别并确定阅读顺序。
- 表格提取:使用 SLANet-Plus 将表格转换为 HTML。
- 公式识别:使用 PP-FormulaNet-S 将数学公式转换为 LaTeX。
该系统作为服务器部署,提供 HTTP 和 gRPC API,并在首次启动时自动构建 TensorRT 引擎,以优化针对所使用的特定 NVIDIA GPU 的性能。
适用人群
它适用于需要高吞吐量文档处理(例如,每秒处理数千张收据或表单)的开发者和组织,这些用户需要现代 OCR 的准确性,但无法承担基于 VLM 的解析器的延迟或成本。
亮点
- 极高吞吐量:在 RTX 5090 上能够每秒处理高达 559 张图像(收据)。
- 结构化输出:支持导出为 Markdown、HTML(用于表格)和 LaTeX(用于公式)。
- 原生 PDF 支持:并行渲染并对 PDF 页面进行 OCR,并提供可选的自动旋转功能。
- 灵活部署:支持一行命令 Docker 部署,并内置了用于监控的 Prometheus metrics。
- 多语言支持:涵盖拉丁语、中文、日语以及阿拉伯语、西里尔字母、韩语、泰语和希腊语等其他脚本。