コンテンツにスキップ

CLI Usage

YomiToku をコマンドラインインターフェース(CLI)として利用する場合の使い方について説明します。

初回の実行時のみ、Hugging Face Hub からモデルの重みファイルをダウンロードします。 以下のコマンドを実行して、文書画像を解析します。

yomitoku ${path_data} -v -o results
オプション名 説明
${path_data} 解析対象の画像が含まれたディレクトリか画像ファイルのパスを指定します。
-o, --outdir 出力ディレクトリを指定します(なければ作成)。
-v, --vis 解析結果の可視化画像を出力します。

補足: ${path_data} について

  • 画像ファイルまたはディレクトリを指定可能です。
  • ディレクトリの場合はサブディレクトリ内も含めて再帰的に処理します。
  • 対応ファイル形式は pdfjpegpngbmptiff です。

Note

  • 活字のみの識別をサポートしております。手書き文字に関しては、読み取れる場合もありますが、公式にはサポートしておりません。
  • OCR は文書 OCR と情景 OCR(看板など紙以外にプリントされた文字)に大別されますが、YomiToku は文書 OCR 向けに最適化されています。
  • AI-OCR の識別精度を高めるために、入力画像の解像度が重要です。低解像度画像では識別精度が低下します。画像の短辺を 1000px 以上の画像で推論することをお勧めします。

ヘルプの参照

--help, -hにて CLI に指定可能なオプションを表示します。

軽量モードでの実行

--liteオプションを付与することで、軽量モデルを使用して、推論することが可能です。デフォルトより高速に解析が実行可能です。ただし、文字の認識精度が低下する可能性があります。

yomitoku ${path_data} --lite -v

出力フォーマットの指定

-f, --format 出力形式のファイルフォーマットを指定します。(json, csv, html, md, pdf(searchable-pdf) をサポート)

yomitoku ${path_data} -f md

pdf を指定した場合、画像内の文字情報を認識し、文字情報を透明テキストとして埋め込むことでサーチャブル PDF に変換します。

出力デバイスの指定

-d, --device オプションを使用することで、モデルを実行するためのデバイスを指定します。(cuda | cpu | mps)。gpu が利用できない場合は cpu で推論が実行されます。(デフォルト: cuda)

yomitoku ${path_data} -d cpu

改行の無視

デフォルトでは、画像内で記述された情報に従い、改行を行います。 --ignore_line_break オプションを使用することで、画像の改行位置を無視して、段落内の同一文章を連結して返すことが可能です。

yomitoku ${path_data} --ignore_line_break

図やグラフ画像の出力

デフォルトでは、文書画像内の含まれる図や画像の情報を出力しません。--figureオプションを使用することで、文書画像に含まれる、図や画像を切り出し、個別の画像として保存、また、出力ファイル内に検出した個別の画像に対するリンクを出力します。

yomitoku ${path_data} --figure

図や画像内に含まれる文字の出力

デフォルトでは、図や画像内に含まれる文字情報は出力ファイルに出力しません。 --figure_letter オプションを使用することで、画像や図に含まれる文字情報も出力ファイルに出力します。

yomitoku ${path_data} --figure_letter

出力ファイルの文字コードの指定

出力ファイルの文字コードを--encodingオプションにて指定できます。(utf-8, utf-8-sig, shift-jis, enc-jp, cp932)。サポートされていない文字コードが含まれる場合は、その文字を無視し、出力しません。

yomitoku ${path_data} --encoding utf-8-sig

Config のパスの指定

次のオプションで各モジュールに対する Config が記述された YAML ファイルへのパスを指定します。

オプション名 対象モデル
--td_cfg Text Detector (文字位置の検知)
--tr_cfg Text Recognizer (文字列認識)
--lp_cfg Layout Parser (レイアウト解析)
--tsr_cfg Table Structure Recognizer (表の構造認識)
yomitoku ${path_data} --td_cfg ${path_yaml}

メタ情報を出力ファイルに加えない

ヘッダーやフッター等のメタデータを出力ファイルに加えないようにすることができます。

yomitoku ${path_data} --ignore_meta

複数ページを統合する

PDFに複数ページが含まれる場合に複数ページを一つのファイルにまとめてエクスポートできます。

yomitoku ${path_data} -f md --combine

PDFの読み取り解像度の設定

PDFを読み取る際の解像度の大きさを設定します(標準DPI=200)。PDF内の文字が微細な場合など、細部の文字を読み取りたい場合にDPI値を上げることで読み取り精度が向上する場合があります。

yomitoku ${path_data} --dpi 250

読み取り順を指定する

デフォルトでは読み取り順のオプションは auto に設定します。

auto が指定されている場合、システムは文書の向き(横書きか縦書きか)を識別し、読み取り順を自動で推定します。 具体的には、横書きの文書は top2left 、縦書きの文書は top2bottom と推定されます。

読み取り順は、以下のように手動で指定することも可能です。

yomitoku ${path_data} --reading_order left2right
設定名 優先される読み取り順 有効なドキュメントのタイプ
top2bottom 上から下方向 段組みのワードドキュメントなど
left2right 左から右方向 レシートや保険証など、キーと値が段組みになっているレイアウト
right2left 右から左方向 縦書きのドキュメント

読み取り対象ページを指定する

特定のページのみを対象として処理することが可能です。処理対象のページをコンマ区切り、もしくはハイフンによって連続するページを指定できます。

yomitoku ${path_data} --pages 1,3-5,10