Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

ocr-rs (formerly rust-paddle-ocr)

Baidu の PaddleOCR v4、v5、v6 モデルを MNN ランタイムで動かす Rust ライブラリです。CPU と GPU のバックエンドを備え、CJK に強く対応しています。

レビュー: Sheela · 更新

GitHubで見る オープンソース

当サイトの評価

3.7/5

ocr-rs は、PaddleOCR の中国語と日本語への対応を Rust のバイナリに取り込む実用的な方法です。メンテナーが一人であることと C++ のランタイムが気にならなければ、の話です。

ocr-rs (formerly rust-paddle-ocr)とは?

ocr-rs は、PaddleOCR の検出モデルと認識モデルを Python の外で動かすための Rust クレートです。2026年9月9日にリポジトリ名が変わるまでは rust-paddle-ocr という名前で、旧 URL はリダイレクトされます。モデルは Alibaba の軽量推論ランタイム MNN で動きます。クレートは MNN をネイティブコードとしてリンクするため、外側は Rust でも、全体が純粋な Rust というわけではありません。

PP-OCRv4、PP-OCRv5 と、PP-OCRv6 の三つのティア(tiny、small、medium)に対応しています。v6 の small と medium は、簡体字と繁体字の中国語、日本語、46 のラテン文字言語を含む 50 言語をカバーします。韓国語、キリル文字、アラビア文字、デーヴァナーガリー、タイ語、ギリシャ語、タミル語、テルグ語は v5 の文字種別モデルを使います。ほかにも、横書きと縦書きが混在するテキスト向けの robust モード、画像ビューアーでの選択に使える文字ごとのバウンディングボックスがあります。GPU バックエンドは CUDA、Vulkan、Metal、OpenCL に対応しています。

クレートのバージョンは 2.4.1(2026年8月5日)で、crates.io でのダウンロード数は約 85,000 です。リポジトリは Apache-2.0 で、スター数は 339 です。103 件のコミットのうち 100 件を一人の開発者が書いています。CLI と C API は別のリポジトリにあります。

ocr-rs (formerly rust-paddle-ocr)は使う価値があるか?

ocr-rs の存在価値は言語の対応範囲にあります。Ocrs がラテン文字しか読めないのに対し、このクレートは中国語、日本語のほか十数種類の文字を読める PaddleOCR のモデルを、3 行の API で Rust アプリケーションに持ち込めます。検出器、認識器、文字リストを読み込み、recognize を呼ぶだけです。

エンジニアリングの細部は、339 というスター数から想像するより優れています。モデルを一つだけ同梱するのではなく PP-OCRv6 のティアを区別し、要求した GPU バックエンドがないときに黙って CPU に切り替えることはしません。CI ではパフォーマンスチェックを実行し、同じランナー上で現行パイプラインの実行時間の中央値が旧パイプラインを 15% より多く上回ると失敗します。オプトインの回転テキストモードは、90 度と 270 度に回転したコピーで検出をやり直します。日本語や中国語の縦書きでは、これが効いてきます。

トレードオフはパッケージングと人の面にあります。MNN は C++ なので、クロスコンパイルにはビルド済みの MNN バイナリかソースからのビルドが必要で、Windows の GNU ビルドには MinGW ツールチェーンが要ります。Paddle のモデルを MNN 形式に変換するには Python スクリプトを使うため、本番環境で Python を使わなくても、ビルド時には Python の手順が戻ってきます。README が触れている HTTP サービスは公開されておらず、ほぼすべてのコミットは一人のメンテナーによるものです。

PaddleOCR-VL 1.6 のような視覚言語モデルと比べると、これは行単位の読み取り器です。返すのは信頼度スコア付きのテキストボックスで、Markdown の表や読み順ではありません。控えめなハードウェアで、アジアの文字のレシート、看板、スクリーンショット、フォームを読むなら、多くの場合これが適切な選択です。文書全体を扱うなら、そうではありません。

真価を発揮する場面

  • 日本のマンガやスクリーンショットを読むアプリの開発者

    縦書きの行も含め、画像からテキストを選択してコピーできるようにする

    PP-OCRv6 small を読み込み、RotatedTextMode::Robust を有効にし、文字位置合わせの API で各グリフを選択用の位置に対応付けます。無料ですが、robust モードは回転したコピーで検出を追加で行うため、画像ごとの遅延が増えます。

  • 出品者のアップロードを処理する越境 EC 企業のエンジニア

    商品写真や請求書の中国語と英語のテキストを大量に読み取る

    既存の Rust サービスの中で CPU ワーカー上でクレートを動かすか、スループットが必要なら GPU ノードで CUDA バックエンドを使います。ページごとの料金はかかりません。手間は対象環境向けの MNN のビルドと、モデルのティアの固定です。

導入前に確認すること

導入
cargo add ocr-rs を実行し、MNN のモデルファイルを models/ の下に置き(Paddle の推論モデルは同梱の Python スクリプトで変換)、cargo build --release を実行します。ビルド済みの MNN バイナリがある環境では自動的に選ばれます。
連携
Rust クレート、paddle-ocr-capi の C API、newbee-ocr-cli の CLI(いずれも別リポジトリ)があります。GPU は cuda、vulkan、metal、opencl の feature で使えます。
データとプライバシー
完全にローカルで動作し、推論時にネットワーク呼び出しはありません。コードは Apache-2.0 で、PaddleOCR のモデルも Apache-2.0 です。
大規模利用時のコスト
モバイル向けのモデルを CPU で動かすため、計算コストは低く抑えられます。GPU バックエンドは任意です。有料版やホスト型サービスはありません。
制限
未解決の issue は約 6 件です。GPU のコールドスタートにはチューニングかカーネルキャッシュが必要です。PP-OCRv6 の tiny ティアは日本語に対応していません。Windows でソースから CUDA 版をビルドするには MSVC が必要です。

良い点

  • PP-OCRv4、v5、v6 の三つのティアすべてに対応
  • CJK、アラビア文字、キリル文字、インド系文字、タイ文字をカバー
  • CUDA、Vulkan、Metal、OpenCL のバックエンドを備え、エラーが明示的
  • 縦書きモードと文字ごとのボックス

気になる点

  • C++ の MNN をリンクしており、純粋な Rust ではない
  • モデルの変換に Python スクリプトが必要
  • 実質的にメンテナーが一人
  • 行のテキストとボックスのみで、文書構造は出力しない

おすすめの人

ネイティブアプリケーションの中で、ラテン文字以外、特に中国語と日本語の OCR を必要とする Rust 開発者に向いています。

ocr-rs (formerly rust-paddle-ocr)の代替

ocr-rs (formerly rust-paddle-ocr):よくある質問

ocr-rs (formerly rust-paddle-ocr)は使う価値があるか?
ocr-rs は、PaddleOCR の中国語と日本語への対応を Rust のバイナリに取り込む実用的な方法です。メンテナーが一人であることと C++ のランタイムが気にならなければ、の話です。 評価は5点満点中3.7点です。
ocr-rs (formerly rust-paddle-ocr)の料金は?
Apache-2.0 で無料です。PaddleOCR のモデルは Baidu による Apache-2.0 です。
ocr-rs (formerly rust-paddle-ocr)の欠点は?
C++ の MNN をリンクしており、純粋な Rust ではない; モデルの変換に Python スクリプトが必要; 実質的にメンテナーが一人; 行のテキストとボックスのみで、文書構造は出力しない.
ocr-rs (formerly rust-paddle-ocr)は誰に向いているか?
ネイティブアプリケーションの中で、ラテン文字以外、特に中国語と日本語の OCR を必要とする Rust 開発者に向いています。
チームや本番環境でocr-rs (formerly rust-paddle-ocr)を使うと費用はいくらか?
モバイル向けのモデルを CPU で動かすため、計算コストは低く抑えられます。GPU バックエンドは任意です。有料版やホスト型サービスはありません。
ocr-rs (formerly rust-paddle-ocr)は企業データを扱っても安全か?
完全にローカルで動作し、推論時にネットワーク呼び出しはありません。コードは Apache-2.0 で、PaddleOCR のモデルも Apache-2.0 です。
ocr-rs (formerly rust-paddle-ocr)の代わりになるものは?
当サイトでレビューした中で最も近い代替はOcrs, Xberg (formerly Kreuzberg), deepseek-ocr.rs 、 Doclingです。

回答確認日:2026年10月26日