TurboOCR:一款能以極速將文字、版面、表格和公式提取為 Markdown 的高效能 GPU 文件解析器
它解決了什麼問題
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 支持:並行渲染和 OCR PDF 頁面,並提供可選的自動旋轉功能。
- 靈活部署:支持一鍵 Docker 部署,並內置 Prometheus 指標用於監控。
- 多語言支持:涵蓋拉丁語、中文、日文,以及阿拉伯語、西里爾字母、韓語、泰語和希臘語等其他腳本。