はじめに
OCRとは、日本語では光学文字認識と呼ばれる、写真から文字を認識するような技術です。
高精度日本語OCR『YomiToku』の商用版『YomiToku-Pro』のAWS Marketplace上での提供が始まったらしいので試してみたいと思います。
なお、私は手元のPCではWindows 11とuvを使った環境で実行しています。
uvの環境構築がまだでuvの環境構築をしたい方はuvのインストールドキュメントをご覧ください。
YomiTokuとは
『YomiToku』は日本語に特化したOCRモデルで、ざっくり以下の特徴があります。
- 日本語の検出精度が高い
- 表の検出などのレイアウト解析も可能
- 軽量で高速に動作(GPUでVRAMが8GB以下でも動作、軽量モデルではCPUでもある程度高速に動作)
- データをセキュアに扱うことが可能
- 様々な出力形式に対応(html、md、json、csv、pdf)
公開版はCC BY-NC-SAライセンスで非商用利用やPoC目的で利用可能、商用利用の場合は商用版のAWS Marketplace版またはオンプレ版の利用が必要です。
公開版のライセンスのガイドラインについてはこちらドキュメントのページに詳細が記載されています。
オンプレ版を利用するにはMLismのホームページに問い合わせが必要なようです。
商用版の方が公開版に比べてモデルの精度が高く、商用版限定の機能も作成中のようです。
今回は商用版のAWS Marketplace版を試します。
↓YomiTokuの公開版のリポジトリ
↓YomiToku-ProのAWS Marketplace版のページ
YomiToku-ProのAWS Marketplace版利用方法
YomiToku-ProのモデルがAWS Marketplaceに出品されています。
YomiToku-Proのモデルを自分のAWSアカウントでAmazon SageMakerにデプロイし、デプロイしたエンドポイントにアクセスすることでYomiToku-Proを利用することができます。
公開されているサーバーにAPIでアクセスする形ではないです。
また、従量課金制で、エンドポイントのデプロイが「完了した」時点からアンデプロイするまでの間に経過した時間で料金が発生します。(1秒単位で経過時間は測られています。)
YomiToku-Proを利用するにあたって便利なOSSライブラリ『YomiToku-Client』が提供されているのでこちらを使ってみます。
↓YomiToku-Clientは以下のように構造化データによる出力結果を得るのに使えます。(図はYomiToku-Clientのドキュメントより引用)
↓YomiToku-Clientのリポジトリ
YomiToku-ProとYomiToku-Clientを試してみる
私の場合はIAMユーザー、CloudFormationを使う方法で次の手順で作業しました。
ただし、YomiToku-Clientの認証のドキュメントの手順とは異なり、AWS CLI v2で2025年11月~の新機能で使えるaws loginコマンドを使ってログインしたので、アクセスキーの設定はしませんでした。
- IAMユーザーの設定(認証のドキュメントを参考にしました。)
- AWS Marketplace上でYomiToku-Proにサブスクライブ(こちらのページでサブスクライブ)
- AWS CLI v2のインストール(AWS CLI v2のインストールドキュメントを参考にしました。)
- YomiToku-Proのデプロイ(デプロイのドキュメントを参考にしました。)
-
aws loginコマンドを使ってログイン(--profileでプロファイル名は指定できます。デフォルトだとdefaultです。) - yomitoku-clientコマンドでAWS上のYomiToku-ProのSageMakerエンドポイントにアクセス(
uvx yomitoku-client single image0.jpg -f pdf --endpoint your-endpoint-name --profile profile-nameのように使用しました。)
yomitoku-clientコマンドを実行する際に、追加でbotocore[crt]の依存関係を要求されたのでuvx --with "botocore[crt]"のように指定して実行しました。aws loginコマンドを使った事による影響の可能性はあります。
(uvx --with "botocore[crt]" yomitoku-client single image0.jpg -f pdf --endpoint your-endpoint-name --profile profile-nameのように実行したということです。)
試してみた結果
私がYomiToku-ProのAWS Marketplace版の使い方についてまとめてみた以下の手書きの図で試してみます。
図が汚い事や撮影環境の問題であまりきれいに写真が撮れない事はお許しください。(元々の解像度は3024 x 4032でしたが解像度が大きすぎて可視化結果が見づらいのでやや中途半端ですが1024 x 1365に変更しました。)
間違えている箇所
- 矢印の先の誤検出
- Endyoint -> Endpoint
一部間違えていますが、おおむね正しい結果は得られています。
右上のDATEの所まで認識したのは想定外でした。
(画像の解像度が大きいので正解ラベルが小さくなってしまっているのはすみません。)
間違えている箇所
- 矢印の先の誤検出
- SageMinker->SageMaker
- Endigint->Endpoint
- aws loginプログイン->aws loginでログイン
- prafilとして渡す->profileとして渡す
公開版でも精度は良いとは思いますが、確かに商用版の方がより精度が高そうです。
私は一度Discordを経由して画像を移動させようとした結果大きく解像度を落としてしまっていることに気が付き、Google Driveを経由して画像を移動させる方法に変えました。
OCRでは解像度が重要らしいので皆さんも気を付けましょう。短辺は 720px 以上が推奨のようです。
(写真の解像度が低いと可視化画像の文字が相対的に大きく見えるみたいなのでそれで気付けるかもしれません。)
終わりに
以上の通り、今回はYomiToku-Proを試してみました。
手元で動かす場合はaws loginコマンドを使うと自分の手でアクセスキーなどのキーを設定しないといけない箇所が無くなって認証周りが楽になるのでかなりおすすめです!
(Google Colaboratoryなどを使う場合はアクセスキーなどを使う方が楽かもですが。)


