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

概要 – light‑ocrは、画像をクラウドサービスに送信することなく、ローカルで光学文字認識を実行するライブラリです。JPEG/PNG画像、PDF、または生のピクセルバッファからテキストを読み取り、各行のテキスト、信頼度スコア、および元の画像内での四角形の座標を返します。

対象ユーザー – Node.jsアプリケーション、コマンドラインツール、デスクトップソフトウェア、またはデバイス上でのOCRを必要とするネイティブC++プログラムを開発するエンジニア。プライバシー、低レイテンシ、またはオフライン動作が求められる場合に特に有用です。

主な機能 (READMEより)

  • 単一のnpmインストール – モデル、OCRランタイム、PDFレンダラー (PDFium)、および中国語フォントがバンドルされています。インストール後のスクリプトや追加のダウンロード、システムフォントへの依存はありません。
  • クロスプラットフォームバイナリ – macOS (Apple Silicon & Intel)、Linux (glibc & musl, x64 & arm64)、Windows (x64 & arm64) 向けのネイティブバイナリがプリビルドされています。Node‑API v8バインディングにより、ABI互換性を介してNode 22+ (LTS) 以降で動作します。
  • ハードウェアアクセラレーション – 最新のmacOS Apple‑SiliconではCore MLを、利用可能な場合はWebGPU (LinuxではVulkan、WindowsではD3D12) を使用し、それ以外の場合はCPUにフォールバックします。
  • 複数のモデル階層 – Small (≈30 MB, デフォルト, 安定版), Tiny (≈6 MB, プレビュー, 49言語, 日本語なし), Medium (≈139 MB, プレビュー, 高品質)。個別のnpmタグでインストール可能です。
  • PDFサポート – PDFiumレンダリングとNoto Sans SCフォントを内蔵しており、中国語フォントを参照するPDFのOCRも追加設定なしで実行可能です。
  • リッチな出力 – 各行について text、confidence、および四角形の box を取得できます。ページレベルのメタデータやタイミング情報も提供されます。
  • CLI – light-ocrコマンドラインツールにより、高速OCR、関心領域処理、検出のみモード、診断 (info, doctor) が可能です。JSON、JSONL、プレーンテキスト出力をサポートしています。
  • C++ API – ネイティブ統合のためのCMakeターゲットを備えた静的ライブラリ (light_ocr::core)。デコードされたピクセル形式 (GRAY8, RGB8, BGR8, RGBA8) を受け入れます。
  • エージェントスキル – ローカルOCRを呼び出す必要のあるAIエージェント向けのスキルファイルが用意されており、マルチモーダルモデルよりも決定論的なOCRを優先すべき場合のガイダンスも含まれています。

基本的な使用方法 (Node.js)

import { createEngine } from "@arcships/light-ocr";
import { readFile } from "node:fs/promises";

const engine = await createEngine();
const result = await engine.recognizeEncoded(await readFile("image.jpg"));
for (const line of result.lines) {
  console.log(line.text, line.confidence, line.box);
}
await engine.close();

同じライブラリを使用して、recognizeDocumentでPDFページのストリーミングOCRも可能です。

パフォーマンス – READMEによると、純粋なCPUと比較して、Apple Silicon (Core ML) やWebGPU経由のNVIDIA/AMD GPUで2〜5倍の高速化が測定されており、CPU使用時間も大幅に削減されています。

ライセンス – Apache 2.0。

結論 – light‑ocrは、高レベルなJavaScript/Node.js開発と低レベルなC++のパフォーマンスのギャップを埋める、本番環境対応のオフラインOCRソリューションです。主要なデスクトッププラットフォーム全体でハードウェアアクセラレーション、PDF処理、容易なインストールを提供します。

関連

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