aiptimizer/TurboOCR

TurboOCR, >200 img/s OmnidocBench. TensorRT FP16, PP-OCRv6, HTTP + gRPC

What it solves

TurboOCR 是一个高性能 GPU 加速的文档解析器,旨在取代慢速的传统 OCR 引擎和庞大的视觉语言模型(VLM)。它解决了从文档中提取结构化数据——包括文本、布局、表格和数学公式——的问题,能够在极高速度下完成,同时保持完全本地和私密。

How it works

使用 C++、CUDA 和 TensorRT 构建,项目实现了一条基于 PP-OCRv6 的多流管线。它采用一组专用模型堆叠,而不是单一整体模型:

  • Text Detection & Recognition:使用 PP-OCRv6(tiny、small 或 medium 级别)处理拉丁文、中文和日文。
  • Layout Analysis:采用 PP-DocLayoutV3 识别 25 种不同文档类别并确定阅读顺序。
  • Table Extraction:使用 SLANet-Plus 将表格转换为 HTML。
  • Formula Recognition:使用 PP-FormulaNet‑S 将数学公式转换为 LaTeX。

系统以服务器形式部署,提供 HTTP 与 gRPC 两种 API,TensorRT 引擎会在首次启动时自动构建,以优化特定 NVIDIA GPU 的性能。

Who it’s for

适用于需要高吞吐量文档处理(例如每秒处理数千张收据或表单)的开发者和组织,这类用户需要现代 OCR 的高准确率,但无法承担 VLM 解析器的延迟或成本。

Highlights

  • Extreme Throughput:在 RTX 5090 上可达每秒 559 张图像(收据)处理速度。
  • Structured Output:支持导出为 Markdown、HTML(表格)和 LaTeX(公式)。
  • Native PDF Support:并行渲染与 OCR PDF 页面,并提供可选的自动旋转功能。
  • Flexible Deployment:一行 Docker 命令即可部署,内置 Prometheus 监控指标。
  • Multi-Language Support:覆盖拉丁文、中文、日文,还支持阿拉伯文、斯拉夫文、韩文、泰文和希腊文等其他脚本。