ユーザ用ツール

サイト用ツール


ocr

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
ocr [2026/01/16 04:56] – ga arakiocr [2026/02/12 21:35] (現在) – [学習] araki
行 44: 行 44:
 </code> </code>
  
-=== ベースモデル分解 ===+=== tesstrain取得 ===
  
-学習用の始点として trainneddataを用いることはでいので、これを分解して、学習用の始点となる lstm ファイルを得る。+学習は tesstrain を使っ行う。 
 +tesstrain パッケージく GitHubから取る。
  
 <code bash> <code bash>
-combine_tessdata -u eng.traineddata eng. +git clone https://github.com/tesseract-ocr/tesstrain.git 
-Extracting tessdata components from eng.traineddata +cd tesstrain
-Wrote eng.lstm +
-Wrote eng.lstm-punc-dawg +
-Wrote eng.lstm-word-dawg +
-Wrote eng.lstm-number-dawg +
-Wrote eng.lstm-unicharset +
-Wrote eng.lstm-recoder +
-Wrote eng.version +
-Version:4.00.00alpha:eng:synth20170629:[1,36,0,1Ct3,3,16Mp3,3Lfys64Lfx96Lrx96Lfx512O1c1] +
-17:lstm:size=11689099, offset=192 +
-18:lstm-punc-dawg:size=4322, offset=11689291 +
-19:lstm-word-dawg:size=3694794, offset=11693613 +
-20:lstm-number-dawg:size=4738, offset=15388407 +
-21:lstm-unicharset:size=6360, offset=15393145 +
-22:lstm-recoder:size=1012, offset=15399505 +
-23:version:size=80, offset=15400517 +
-$+
 </code> </code>
- 
-ここで得られた eng.lstm が学習の始点ファイルとなる。 
  
 === 学習データの用意 === === 学習データの用意 ===
行 86: 行 69:
  
 ファイルが用意出来たら、画像からの学習を開始する。 ファイルが用意出来たら、画像からの学習を開始する。
 +../tessdata_best にGitHubから取得した学習のベースモデルが、./traindataに分解した画像ファイルとGround Truthテキストファイルがまとめておかれているとする。
 +
 +ベースモデルは eng で、kougakushaというモデルを作成するには、以下のコマンドを実行する。
  
 <code bash> <code bash>
-tesseract D130.png D130 --psm 7 lstm.train --groundtruth D130.gt.txt+make training \ 
 +MODEL_NAME=kougakusha \ 
 +START_MODEL=eng \ 
 +TESSDATA=../tessdata_best \ 
 +GROUND_TRUTH_DIR=./traindata \ 
 +MAX_ITERATIONS=10000 
 </code> </code>
  
行 143: 行 135:
 </code> </code>
  
-これで dumplist.traineddata というモデルファイルが取得できる。+これで kougakusha.traineddata というモデルファイルが取得できる。
 できたモデルファイルは、システムフォルダーにコピーするか、TESSDATA_PREFIX環境変数がポイントするフォルダーにコピーしておく。 できたモデルファイルは、システムフォルダーにコピーするか、TESSDATA_PREFIX環境変数がポイントするフォルダーにコピーしておく。
  
 <code bash> <code bash>
-$ sudo cp dumplist.traineddata /usr/share/tesseract-ocr/5/tessdata+$ sudo cp kougakusha.traineddata /usr/share/tesseract-ocr/5/tessdata
 </code> </code>
  
 +=== モデル使用の例 ===
  
 +以下の画像ファイルをこの学習で得たモデルファイルで処理した結果が次のものになる。
  
  
 +<code bash>
 +$ tesseract -l dumplist -c tessedit_char_whitelist="0123456789ABCDEF :" dumpd600.png dumpd600
 +</code>
 +
 +{{ :undefined:ocr:dumplistd600.jpg?400 |}}
 +
 +<file txt dumpd600.txt>
 +D600 : E0 C3 76 D5 00 00 00 D5 CD 26 D6 0E 20 06 20 7E
 +D610 : FE 00 20 05 AF D3 02 D1 C9 3E 20 D3 0C 7B D3 0C
 +D620 : 7A CD 34 D6 18 E5 3E 08 03 02 3E 36 D3 0F C5 00
 +D630 : 00 00 16 05 1E 00 1B 7A B3 20 FB C9 00 00 00 36
 +D640 : 80 23 36 81 23 36 62 C9 36 83 23 36 84 23 36 80
 +D650 : C9 36 86 23 36 87 23 36 88 C9 36 89 23 36 8 23
 +D660 : 36 8B C9 36 8C 23 36 8D 23 36 8E C9 36 8F 23 36
 +D670 : 90 23 36 91 C9 36 92 23 36 93 23 36 94 C3 36 95
 +D630 : 23 36 96 23 36 97 C9 36 98 23 36 99 23 36 9A C8
 +D690 : 36 9B 23 36 9C 23 36 9D C9 36 CA 23 36 CB 23 36
 +D6A0 : CC C 36 00 23 36 00 23 36 00 23 C9 36 FD 23 36
 +D680 : FE 23 36 FF C9 36 A5 23 36 A6 23 36 A7 23 36 A8
 +D6C0 : D5 11 88 FF 19 D1 36 B3 2B 36 A4 2B 36 A3 2B 36
 +DED0 : A2 C9 36 ED 23 36 EE 23 36 EF 23 36 F0 D5 11 88
 +D6E0 : FF 19 D1 36 F4 2B 36 F3 2B 36 F2 2B 36 F1 C3 36
 +D6F0 : F5 23 36 F6 23 36 F7 23 36 F8 D5 11 88 FF 19 D1
 +D700 : 36 FC 2B 36 FB 2B 36 FA 2B 36 F9 C3 CD A2 D6 36
 +</file>
 +
 +若干の欠落や誤認識が見られるがおおむね良好な認識を行っているといえると思う。
ocr.1768539399.txt.gz · 最終更新: by araki