TurboOCR: 텍스트, 레이아웃, 표, 수식을 Markdown으로 초고속 추출하는 고성능 GPU 문서 파서

해결하는 문제

TurboOCR은 느린 기존 OCR 엔진과 무거운 Vision Language Models (VLMs)를 대체하기 위해 설계된 고성능 GPU 가속 문서 파서입니다. 텍스트, 레이아웃, 표, 수학 공식 등 문서에서 구조화된 데이터를 완전히 로컬 및 프라이빗하게 유지하면서 초고속으로 추출하는 문제를 해결합니다.

작동 방식

C++, CUDA, TensorRT로 구축된 이 프로젝트는 PP-OCRv6를 기반으로 한 멀티 스트림 파이프라인을 구현합니다. 단일 거대 모델 대신 전문화된 모델 스택을 사용합니다:

  • Text Detection & Recognition: Latin, Chinese, Japanese 스크립트를 처리하기 위해 PP-OCRv6 (tiny, small, 또는 medium 티어)를 사용합니다.
  • Layout Analysis: 25가지의 서로 다른 문서 클래스를 식별하고 읽기 순서를 결정하기 위해 PP-DocLayoutV3를 채택합니다.
  • Table Extraction: 표를 HTML로 변환하기 위해 SLANet-Plus를 사용합니다.
  • Formula Recognition: 수학 공식을 LaTeX로 변환하기 위해 PP-FormulaNet-S를 사용합니다.

시스템은 HTTP 및 gRPC API를 모두 제공하는 서버로 배포되며, 첫 실행 시 사용 중인 특정 NVIDIA GPU에 최적화되도록 TensorRT 엔진이 자동으로 빌드됩니다.

대상 사용자

현대적인 OCR의 정확도가 필요하지만 VLM 기반 파서의 지연 시간이나 비용을 감당할 수 없는, 높은 처리량이 필요한 개발자 및 조직(예: 초당 수천 개의 영수증이나 양식 처리)을 대상으로 합니다.

주요 특징

  • Extreme Throughput: RTX 5090에서 초당 최대 559개의 이미지(영수증)를 처리할 수 있습니다.
  • Structured Output: Markdown, HTML (표용), LaTeX (수식용)로의 내보내기를 지원합니다.
  • Native PDF Support: PDF 페이지를 병렬로 렌더링 및 OCR 처리하며, 선택적으로 자동 회전 기능을 제공합니다.
  • Flexible Deployment: 모니터링을 위한 Prometheus 메트릭이 내장된 한 줄 Docker 배포를 지원합니다.
  • Multi-Language Support: Latin, Chinese, Japanese 및 Arabic, Cyrillic, Korean, Thai, Greek과 같은 추가 스크립트를 지원합니다.

Sources