arcships/light-ocr

Fast, offline OCR for Node.js & C++. PP-OCRv6 with Core ML / WebGPU hardware acceleration — recognize text in images with confidence scores & coordinates. npm: @arcships/light-ocr

何を解決するか

light-ocr は、Node.js および C++ アプリケーション向けに高速かつオフラインの光学文字認識(OCR)ソリューションを提供します。外部API呼び出しや複雑なシステムレベルの依存関係を必要とせず、ローカルマシン上で画像(JPEG、PNG)およびPDFのテキストを直接認識できます。

動作方法

このプロジェクトはデフォルトでPP-OCRv6 Smallモデルを使用し、ドキュメントレンダリングにはPDFiumを統合しています。OCRランタイム、モデル、必要なフォントを含む単一のnpmパッケージとして配布されており、インストール後のダウンロードやコンパイラの必要がありません。

パフォーマンス最適化のため、自動的にハードウェアアクセラレーションを検出します:Apple Silicon(macOS 15+)ではCore ML、LinuxおよびWindowsではWebGPU(VulkanまたはD3D12経由)、それ以外ではCPUにフォールバックします。

対象ユーザー

  • Node.js開発者:ローカルテキスト認識を必要とするCLI、デスクトップソフトウェア、サーバーサイドアプリを開発している人。
  • C++開発者:OCR統合に必要なネイティブ静的ライブラリが必要な人。
  • AIエージェント:このプロジェクトには「エージェントスキル」が含まれており、領収書抽出や検証などのタスクで、マルチモーダルモデルよりも決定論的なOCRを使用するタイミングをAIエージェントが判断するのを支援します。

特徴

  • ゼロ設定:npm install 1回ですべて(モデル、ランタイム、PDFレンダラー、フォント)が提供され、追加ダウンロードなし。
  • ローカルかつプライベート:すべての処理はデバイス上で行われ、データのプライバシーを確保。
  • ハードウェアアクセラレーション:Core MLおよびWebGPUのネイティブサポートにより、CPU実行よりも大幅な高速化を実現。
  • 柔軟な入力形式:PDF、JPEG、PNG、および生のピクセルバッファ(GRAY8、RGB8、BGR8、RGBA8)をサポート。
  • マルチレベルモデル:Small(安定)、Tiny(超軽量)、Medium(品質重視)のモデルオプションを提供。
  • タイルモード:高解像度画像における小さな密集テキストを保持するためのオプションモード。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト