light-ocr:Node.js と C++ 向けオフライン OCR
Node.js および C++ 用の高速オフライン OCR。 Core ML / WebGPU ハードウェア アクセラレーションを備えた PP-OCRv6 は、信頼性スコアと座標を使用して画像内のテキストを認識します。 npm: @arcships/light-ocr。
ひと目でわかる
- これは何?
- 画像や PDF 内のテキストをローカルで認識し、信頼度スコアと四角形の座標を返します。Core ML と WebGPU によるハードウェアアクセラレーションに対応。
- 誰に向いている?
- light-ocr は、OCR モデル、PDF レンダラー、中国語フォールバックフォントを npm インストールの流れに組み込み、二次ダウンロードを不要にしつつ、Node.js と C++ で一貫した認識 API を提供します。README には、モデルの学習データ、0.3.0 のデバイス計測以外のベンチマーク、長期的なメンテナンスの約束は記載されていません。
- 商用利用できる?
- できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 42 日前です。
- 何の言語で書かれている?
- 主に C++ です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
プロジェクトの位置づけと主な特徴
light-ocr は、Node.js と C++ を対象としたオフライン OCR ライブラリです。PDF、JPEG、PNG、または生の画像データ内のテキストをローカルマシン上で直接認識し、読書順に並んだ行と、各行の信頼度スコアおよび四角形の座標を返します。README によると、Node.js パッケージには PP-OCRv6 Small モデル、PDFium、中国語フォールバックフォント、そして macOS、Linux、Windows 向けのプリビルドコンポーネントが含まれており、postinstall や初回実行時のダウンロードは不要です。この設計により、一般的なモデルダウンロードや postinstall スクリプトの手間を省き、単一の npm install で OCR 機能を利用できます。
クイックスタートと API の使い方
README は最も簡単な使い方を示しています。npm で @arcships/light-ocr をインストールし、Node.js で createEngine() を呼び出してエンジンを作成し、recognizeEncoded() で画像ファイルを読み取って認識します。結果の lines 配列には、各行のテキスト、信頼度、ボックスが含まれます。アプリケーションがすでに画像をデコードしている場合は、recognize() が GRAY8、RGB8、BGR8、RGBA8 のピクセルデータも受け付けます。PDF の処理には recognizeDocument() を使用し、ページごとにストリーミングで結果を返します。CommonJS 環境でも同じエクスポートを require() で利用できます。README は Node.js 22 と 24 をサポートすると述べていますが、他のバージョンで動作するかどうかは記載していません。
コマンドラインツール
インストール後、追加設定なしで light-ocr コマンドが利用できます。CLI は複数の操作をサポートしています。recognize(デフォルト、テキストと座標)、detect(テキスト領域のみ)、info(エンジンバージョン)、doctor(ハードウェアとプロバイダーを含むシステム診断)です。出力形式は json、text、jsonl で、json はバージョン管理された schemaVersion: 1 の契約を使用します。.pdf パスは直接ドキュメント OCR にルーティングされ、document コマンドは複数ソースのジョブを明示的に処理します。例では --region で関心領域を指定し、--pages で PDF のページ範囲を選択しています。完全なリファレンスとして、README は docs/cli-design.md と npm パッケージの README を参照しています。
PDF と複数ページのドキュメント処理
PDF と複数ページの OCR は @arcships/light-ocr に組み込まれています。README は、対応する PDFium バイナリとチェックサムで固定された Noto Sans SC フォールバックフォントが、OCR ランタイムと同じプラットフォーム npm パッケージに同梱されていることを強調しています。これにより、一般的な非埋め込み中国語フォントを参照する PDF でも、postinstall スクリプト、ランタイムダウンロード、コンパイラ、システムフォント、追加パッケージなしで、OCR 前にレンダリングできます。CLI は単一の PDF またはページ範囲を処理し、JSONL ストリームを出力できます。プログラム API では、recognizeDocument() が PDF パスまたは画像バッファの配列を受け取り、ページごとに結果をストリーミングします。これらの詳細は、PDF サポートがパッケージの中核機能であり、アドオンではないことを示しています。
プラットフォームアクセラレーションとモデル階層
デフォルトの createEngine() 呼び出しは Auto モードを使用し、プラットフォームに応じて実行パスを選択します。macOS 15+ の Apple Silicon では最初に Core ML を試し、glibc の Linux x64 と Windows x64 では最初に WebGPU を試し、その他のプラットフォームでは CPU にフォールバックします。明示的な制御が必要なアプリケーションは、execution オプションで auto、cpu、apple、webgpu を選択できます。モデル側では、Small が安定したデフォルトで約 30 MB、Tiny と Medium は next タグのオプトインプレビューパッケージで、それぞれ約 6.3 MB と 139 MB です。3 つすべてが同じ API、型、結果スキーマ、エラーモデルを公開しますが、各インストールには選択したモデルのみが含まれます。Tiny は 49 言語をサポートしますが日本語は含まれず、Medium は品質優先と位置づけられています。
計測されたパフォーマンスの範囲
README には、バージョン 0.3.0 の測定結果が 1 セット含まれており、3 台の実機で CPU パスと同一マシン上で比較されています。Apple M4 Max で Core ML を有効にすると、OCR プロセスの CPU 時間が 95.91% から 97.67% 減少し、エンドツーエンドの高速化は単純な画像で 2.30 倍、密集したフォームで 2.85 倍でした。Linux では、NVIDIA RTX 5060 Ti が WebGPU/Vulkan を使用して、14 枚のテスト画像で全体で 5.70 倍の高速化を達成し、CPU 時間は約 70% 削減されました。Windows では、AMD Radeon 780M が WebGPU/D3D12 を使用して、全体で 2.44 倍の高速化を達成し、CPU 時間は約 46% 削減されました。README はこれらが同一マシンでの比較であり、結果はワークロードとハードウェアによって異なると明記し、完全な 0.3.0 リリースレポートへのリンクを提供しています。それ以降のバージョンについては、同等のパフォーマンスデータは提供されていません。
C++ 統合、ライセンス、未確認の事項
C++ プロジェクトはソースから静的ライブラリをビルドし、light_ocr::core CMake ターゲットにリンクします。API はデコード済みの GRAY8、RGB8、BGR8、または RGBA8 ピクセルを受け入れ、README は C++ API ガイドとビルド手順を参照しています。プロジェクトは Apache License 2.0 で配布されています。ライセンス文はコピー、修正、配布、特許使用の権利を付与しますが、セキュリティ、サポート、保証については何も述べていません。スター数やフォーク数などのリポジトリメタデータは、機能の主張ではありません。README には、モデルの学習データ、リンクされたリリースレポート以外の追加ベンチマーク、本番環境での検証は記載されておらず、これらは確認すべき事項として残ります。
採用前は Node.js 22 または 24 の隔離環境で npm install @arcships/light-ocr を実行し、image.png と report.pdf をそれぞれ light-ocr image.png --format json、light-ocr report.pdf --pages 1-2 --format jsonl に通します。lines の text、confidence、box、ページ番号と schemaVersion: 1 が入力の向きや解像度に対して期待通りかを確認してください。Tiny は日本語を含まないため、日本語文書では Small か Medium の選択を先に確定します。
編集部の結論
light-ocr は、OCR モデル、PDF レンダラー、中国語フォールバックフォントを npm インストールの流れに組み込み、二次ダウンロードを不要にしつつ、Node.js と C++ で一貫した認識 API を提供します。README には、モデルの学習データ、0.3.0 のデバイス計測以外のベンチマーク、長期的なメンテナンスの約束は記載されていません。これらはプロジェクトのドキュメントとリリース記録で確認する必要があります。
コミュニティノート