aiptimizer/TurboOCR
TurboOCR, >200 img/s OmnidocBench. TensorRT FP16, PP-OCRv6, HTTP + gRPC
What it solves
TurboOCR is a high-performance GPU-accelerated document parser designed to replace slow, traditional OCR engines and heavy Vision Language Models (VLMs). It solves the problem of extracting structured data from documents—including text, layout, tables, and mathematical formulas—at extreme speeds while remaining fully local and private.
How it works
Built with C++, CUDA, and TensorRT, the project implements a multi-stream pipeline based on PP-OCRv6. It uses a stack of specialized models rather than a single monolith:
- Text Detection & Recognition: Uses PP-OCRv6 (with tiny, small, or medium tiers) to handle Latin, Chinese, and Japanese scripts.
- Layout Analysis: Employs PP-DocLayoutV3 to identify 25 different document classes and determine reading order.
- Table Extraction: Uses SLANet-Plus to convert tables into HTML.
- ** uma Formula Recognition**: Uses PP-FormulaNet-S to convert mathematical formulas into LaTeX.
The system is deployed as a server providing both HTTP and gRPC APIs, with TensorRT engines auto-built on the first startup to optimize performance for the specific NVIDIA GPU used.
Who it’s for
It is intended for developers and organizations needing high-throughput document processing (e.g., processing thousands of receipts or forms per second) who require the accuracy of modern OCR but cannot afford the latency or cost of VLM-based parsers.
Highlights
- Extreme Throughput: Capable of processing up to 559 images per second (receipts) on an RTX 5090.
- Structured Output: Supports exporting to Markdown, HTML (for tables), and LaTeX (for formulas).
- Native PDF Support: Renders and OCRs PDF pages in parallel with optional auto-rotation.
- Flexible Deployment: One-line Docker deployment with built-in Prometheus metrics for monitoring.
- Multi-Language Support: Covers Latin, Chinese, Japanese, and additional scripts like Arabic, Cyrillic, Korean, Thai, and Greek.