memo
メーリングリストに流れている重要情報メモ
- FaxOCRシステムのコアUIの改善について / 17 Jun 2011
- OCR処理の正確さのためにマークを正方形として、読み取り可能なフィールドも、マークからの相対位置の整数倍に制限されて いました。
ただ、これは、位置指定を合理化するためで、実は、マークから読み取りセルの位置を正確に指定できるのであれば、何もすべてのセルが整数倍の位置に整列していなくてもOKのような気がしています。
また、セルも、正方形が理想的ですが、仮に長方形であったとしても、 OCR処理には関係が無いような気もします。
- faxocrが利用している、sheetreaderが整数倍に制限された位置を読み込んでおりますが、この場所をマーク間のパーセントで位置を示せれば、プログラム及び、シート定義ファイルのフォーマットを拡張することはそんなに難しくないはずです。
ただ、複数文字で一つの数値を表す場合など、一つの枠で一気に読んでしまうか、 並んでいる同じ大きさの枠を複数個読んで一つの値にするか考えないといけません。現在は、整数倍で枠を複数個読む、後者の実装です。
- gocrの件
- gocrは複数の文字を読み事ができますので、ポリシーに関係するところだと思います。
- Excel UIとの連携の件
- 2つの案の案があると思います。
- 案1:ExcelUIから一度DBに登録してsheetreader用のフォーマットファイルを作成Excel UI -> RailsのActiveRecode経由でDB登録 -> あとは今までのプログラムの処理の流れ
- 2つの案の案があると思います。
(今までの資産を使うことができ、修正は少ないと考えられる)
- マス=1文字、か、1マス=複数文字かは、どちらも一長一短がありそうですので、設定で切り替えられる形にするのが、一つの目標でしょうか。
- 案2:ExcelUIから直接Sheetreaderの読み込み定義ファイル(xml)を作成する。
新しい流れを作るため、一から作り直す感じですかね。
- シート設定UIは、アグレッシブに設定フローを見直すか、今のフレームワークを生かして、そこの一部にexcel UIをはめ込むか、 の問題でしょうか。
これも一長一短がありますが、アグレッシブにやるとしても、多くのパーツは再利用かリファクタリングということになるかと思うのと、目標は高くという気もします。
一方で、「excel → 画面確認 → PDF生成」といった技術検証も必要でしょうから、まずは保守的アプローチで目に見える成果を出したうえで、開発者が集まれば、version 2へのメジャーアップデートを目指すという2段階作戦もあるのかなという気もします。
- OCRモジュール (sheetreader) について / Nov 24, 2011
- 登録されてあるシートの設定情報から、升目の位置をopencvで画像として切り出し、それを、system()関数でgocrに渡し、gocrの出力(読んだ数字)を入れた一時ファイルを読み出して、rails側のシステムに返す、という感じ。
本当は、ここでドライバ経由でmysqlに直接データを返すのだと思いますが、sheetreaderは、sqlを吐くことで、そうしたバックエンドからの独立性を確保しているようです。
ただ、一昨年に半年間の実証実験を行ったのですけれども、誤読率が3~4%あり、その辺はOCR処理の改善が求められています。
今回、コードを読んでみると、certaintyやdustサイズなど、いろいろパラメータが変更可能で、モジュール性も高い
- OCRの改善には、sheetreader/src/cco_srOcrGocr.cと、gocrの参照する画像データベース(db.lst)辺りの関係が分かれば、大丈夫そう。下記のgocrのドキュメントも有用
- http://code.google.com/p/faxocr/ / Jul 24, 2011
- これとUbuntu版 システム要件にある、エンジンとエンジン管理の各リストとの関係は???
- https://code.google.com/p/sheetreader/
xmlで定義されているsrmlファイルをもとに、シートからデータを読み取り。
このsheetreaderはCで書かれておりますので、faxocrのリポジトリではなく、sheetreader単体のリポジトリにしています。
オリジナルも別でしたので。