C# カスタムフォントトレーニング(Windowsユーザー向け) for Tesseract 5
Tesseract 5のためのカスタムフォントトレーニングを利用して、特定のフォントやデフォルトでは十分にサポートされていないフォントスタイルを使用する際に、OCRエンジンの精度と認識能力を向上させましょう。
このプロセスには、フォントサンプルと対応するテキストなどのトレーニングデータをTesseractに提供し、カスタムフォントの特定の特徴とパターンを学習させることが含まれます。
IronOCRを始めましょう
今日から無料トライアルでIronOCRをあなたのプロジェクトで使い始めましょう。
C#でTesseractのカスタムフォントを使用する方法
- Tesseractを使用してカスタムフォントをトレーニングするためのC#ライブラリをダウンロード
- トレーニングに使用する対象フォントファイルを準備する
- 記事に記載されている手順に従ってください
- 一般的なエラーに対する解決策が含まれています
- 学習データファイルをエクスポートしてさらに利用します
ステップ1: 最新バージョンのIronOCRをダウンロード
DLL経由でインストール
ダウンロード IronOCR DLL 直接あなたのマシンへ。
NuGetでインストール
あるいは、以下を通じてインストールすることもできます NuGet .
Install-Package IronOcr
ステップ2: WSL2とUbuntuをインストールしてセットアップする
HereWSL2とUbuntuのセットアップチュートリアル
** 現在、カスタムフォントのトレーニングはLinuxでのみ実行可能です
ステップ3:UbuntuにTesseract 5をインストール
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
ステップ4: トレーニングしたいフォントをダウンロードする
このチュートリアルでは、AMGDTフォントを使用しています。 フォントファイルは .ttf または .otf のどちらでも可能です。
ステップ5: カスタムフォントトレーニング用の作業スペースのディスクドライブをマウントする
以下のコマンドは、ドライブ D:
を作業スペースとしてマウントする方法を示しています。
cd /
cd /mnt/d
ステップ6: フォントファイルをUbuntuのフォントフォルダにコピーする
以下は、Ubuntuフォントフォルダーのディレクトリです: Ubuntu/usr/share/fonts
と Ubuntu/usr/local/share/fonts
ファイルにアクセスするには、ファイルエクスプローラーのディレクトリに \\\wsl$
と入力してください。
トラブルシューティング: 送信先フォルダーへのアクセスが拒否されました
この問題は、コマンドラインを使用してファイルをコピーすることで解決できます。
cd /
su root
cd c/Users/Admin/Downloads/’AMGDT Regular’
cp ‘AMGDT Regular.ttf’ /usr/share/fonts
cp ‘AMGDT Regular.ttf’ /usr/local/share/fonts
su username
ステップ 7: Githubからtesseract_tutorialをクローンする
以下のURLからtesseract_tutorial
リポジトリをクローンできます。 https://github.com/astutejoe/tesseract_tutorial.git次のコマンドを使用して
git clone https://github.com/astutejoe/tesseract_tutorial.git
ステップ8: Githubからtesstrainとtesseractをクローンする
tesseract_tutorial
フォルダディレクトリに移動し、その後に次のコマンドを実行してリポジトリをクローンします:
git clone https://github.com/tesseract-ocr/tesstrain と https://github.com/tesseract-ocr/tesseract
- テストレインには、.traineddataファイルを作成するために使用する "Makefile" ファイルが含まれています。(このチュートリアルの目的)
- tesseractには「tessdata」フォルダが含まれており、これはカスタムフォントトレーニングに使用される参照用のオリジナル.traindataファイルのコンテナです。
手順9:“data”フォルダーを作成して出力を保存する
「data」は tesseract_tutorial/tesstrain
に作成される必要があります。
ステップ10: split_training_text.py を実行する
tesseract_tutorial
フォルダーのディレクトリに戻り、次のコマンドをコンパイルします。
python split_training_text.py
split_training_text.py
を実行すると、「data」フォルダーに .box
および .tif
ファイルが作成されます。
トラブルシューティング: Fontconfig 警告: "/tmp/fonts.conf, line 4: 空のフォントディレクトリ名が無視されました"
この問題は、Ubuntuフォルダ内のフォントディレクトリが見つからないことによって引き起こされます。この問題は、以下のコード行を tesseract_tutorial/fonts.conf
に挿入することで解決できます。
そして もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
申し訳ありませんが、翻訳するコンテンツのテキストを提供してください。その後、英語から日本語に翻訳いたします。!以下の要素は将来削除されます-->
もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
次に、これを /etc/fonts
にコピーします。
cp fonts.conf /etc/fonts
最後に、これらのコード行をsplit_training_text.py
に追加します。
そして もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
fontconf_dir = '/etc/fonts' もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
注記: トレーニングファイル(.box および .tif)数
現在、トレーニングファイルの数は100です。このトレーニングファイルの数は、split_training_text.pyのコード行を編集または削除することで変更できます。
ステップ11: eng.traineddataをダウンロード
eng.traineddata
は以下のURLから見つけることができます:https://github.com/tesseract-ocr/tessdata_best. eng.traineddata
をtesseract_tutorial/tesseract/tessdata
にダウンロードしてください。これはtessdata_best
内のデータがtessdata
フォルダ内のオリジナルよりも優れているためです。
ステップ12: カスタムフォント .traineddata を作成します
tesstrain
フォルダーのディレクトリに移動し、このコマンドラインをWSL2に入力してください。
もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100 もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
tesstrain/Makefile
でコードを実行してトレーニングします- MODEL_NAME = あなたのカスタムフォントの名前
- START_MODEL = オリジナルの
.traineddata
の名前 -
MAX_ITERATIONS = イテレーションの数(より大きい数値は、
.traineddata
の精度が高いことを意味します。
「Failed to read data from: 」 は、Makefileのコード行を編集することで解決できます。
以前:
後:
そして もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
make - メイクファイル
WORDLIST_FILE := $(出力ディレクトリ2)しわけできません、その情報だけでは翻訳が難しいです。ターゲット言語と内容を具体的に提供してください。(MODEL_NAME).lstm-word-dawg
NUMBERS_FILE := $(出力ディレクトリ2)しわけできません、その情報だけでは翻訳が難しいです。ターゲット言語と内容を具体的に提供してください。(MODEL_NAME).lstm-number-dawg
PUNC_FILE := $(出力ディレクトリ2)しわけできません、その情報だけでは翻訳が難しいです。ターゲット言語と内容を具体的に提供してください。(MODEL_NAME).lstm-punc-dawg
(The term ".lstm-punc-dawg" appears to be a technical or branded term. According to your instructions, terms that are integral to the product and its functionality should remain unchanged if they are brand-specific or technical in nature. Therefore, no translation is provided for this specific term.) もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。
「Failed to load script unicharset from:data/langdata/Latin.unicharset」というエラーは、Latin.unicharset
をtesstrain/data/langdata
フォルダーに挿入することで解決できます。
- 次のURLで
Latin.unicharset
を見つけることができます; https://github.com/tesseract-ocr/langdata_lstm
ステップ13: 作成された .traineddata
の精度
.box
および .tif
ファイルの1000個と3000回のトレーニングの繰り返しで、出力 .traineddta
(AMGDT.traineddata)最小トレーニングエラー率を持っています(BCER)約 5.77
リファレンス作業および詳細な読書に関しては:ref: https://www.youtube.com/watch?v=KE4xEzFGSU8