2018年06月10日

Program List OCR 1.1.0リリース

Program List OCR 1.1.0のリリースです。
内容はベースとなるTesseractとgImageReaderプログラム本体の更新とOCRの学習済みモデルデータの更新です。

OCRを学習させるための画像を作る際、滲んで文字が太ったケース、かすれて文字が痩せたケース両方のパターンを生成して学習させるのですが、実際のプログラムリストはかすれたケースのほうが圧倒的に多いということで、かすれた文字にフォーカスを移して学習させています。
また、前回のリリースではPiO掲載のBASICリストで3を8と誤認識するケースが頻発したため、PiOのプログラムリストの印字に類似したフォントを作成して学習させています。
全体として認識精度は向上したと思いますが、ユースケースによって逆に精度が悪化するなどのトレードオフがあるかもしれません。
その場合は前のバージョンに戻して使い続けるけるのも1つの方法です。

また今回から64ビット版を提供しています。こちらのほうが処理が高速です。多分。
ダウンロードはこちらからお願いします。

【更新履歴】
1.1.0 2018/06/07
  • Tesseract,gImageReaderを更新

  • 学習データ生成方法の見直し

    • にじんだ文字よりかすれた文字を優先して学習するよう画像を生成。

    • 実際のプログラムリストの印刷状態に近づくよう、行間を密着させた画像を生成。

    • DotMatrixフォントを学習から除外(文字が薄くなりすぎて学習エラーになるため)

    • PiOのプログラムリストの印字に類似したフォントを作成して学習

posted by eighttails at 14:25| Comment(0) | Program List OCR | このブログの読者になる | 更新情報をチェックする

2018年03月04日

Program List OCRができるまで

Program List OCRを試された方、いかがだったでしょうか?
レトロPCクラスタの中でも雑誌掲載ソフトの打ち込みをされている方はごく一部で、非常にニッチなソフトであるので反応があるか心配でしたが、幸いにしていくつか使用報告を頂いています。

自分としては現状の認識精度にはまだまだ満足できませんが、それでも手打ちや市販OCRよりははるかに高い生産性を出せると自負しています。

このソフトは着想からリリースまで9ヶ月くらいかかった難産ソフトでした(基本的には学習データ作るだけなのに)。今回はリリースまでの試行錯誤のプロセスを綴って残しておこうと思います。

続きを読む
posted by eighttails at 23:09| Comment(0) | Program List OCR | このブログの読者になる | 更新情報をチェックする

2018年02月18日

Program List OCR 1.0.0リリース!

Twitterではちょくちょく進捗をチラ見せしていたOCRソフトをリリースします。

名付けて「Program List OCR」(そのまんま)

いままではこちらの記事にあるように市販のOCRでP6プログラムの打ち込みをしていましたが、あまりに認識精度と作業効率が良くないので、プログラム打ち込みに特化したOCRを自作することにしました。


自作と言っても、以下のオープンソースソフトウェアの組み合わせです。

  • Tesseract(OCRエンジン)

  • gImageReader(GUIフロントエンド)

上記に加えて、独自にOCRに学習させて作成した以下の言語ファイルを含んでいます。

  • BASIC(PC-6001シリーズ用N6X-Basic)

  • 16進ダンプリスト

BASIC言語に関しては、フォントや単語、かなやグラフィック文字の仕様などPC-6001に合わせて言語ファイルを作ってありますので、他機種のプログラムをそのまま読み込むのは難しいと思われますが、MS系のBASICで英数字のみに割り切ればもしかしたら読めるかもしれません。(MSXのフォントも学習に使っていたりします)
ダンプリストの方はBASICよりは汎用的に使えると思います。こちらは読み取り精度向上のため、16進数+α(0-9,A-F,Sum)以外の文字は使われていないという前提で読み込むようになっています。

ProgramListOCR.png

ダウンロードはこちらのページからお願いします。

ダウンロードしたらぜひぜひプログラムを打ち込んで報告してください。
本ソフトはまだ開発版のTesseract4.0をベースに構成されています。このバージョンはまだバグが多く、安定するにはもう少し期間を要すると予想されます。
また、読み取りできるプログラムリストは紙面の状態や印字に使われているプリンタ、フォントによりかなり相性があります。その点は割り切ってご利用をお願いします。  
posted by eighttails at 10:30| Comment(1) | Program List OCR | このブログの読者になる | 更新情報をチェックする