OCRエンジン

2018/4/15 手書き文字認識用データセット(難読版)を公開しました。

2016/4/10 手書き文字認識用データセットを、MNIST形式で公開しました。

Shinsai FaxOCRでは、専用に開発された軽量OCRエンジンであるKOCRを利用し、OCR処理をしています。

KOCRは、調査シートの読み取りプログラムであるsheetreaderと組み合わせることで、FaxOCRシステムが生成したPDFファイルから文字を切り出し、OCR処理することが出来ます。コードがとてもコンパクトで、オープンソースにて開発されていることに加えて、学習用手書きデータ等も付属していることから、OCRなどの画像処理の勉強にも役立てることが出来ます。

OCRエンジンは今までにも無数に開発されていますが、我々のFaxOCRでは、罫線が混入した画像を処理する必要があり、また、sheetreaderと効率的に統合できるよう、独自のOCRエンジンを利用しています。

【KOCR開発者向け情報】

アルゴリズムとしては、nearest neighborとSVMが実装されています。テストケースとして収載している5つのファックス画像を下記の精度で読むことが出来ます。(2016/4/10 下記のデータは古いため、更新が必要です)

最近傍法: OK 98, NG 6, Total 104 (94.2%)

SVM: OK 128, NG 2, Total 130 (98.5%)

fax-01

fax-01

fax-02

fax-02

fax-03

fax-03

fax-04

fax-04

fax-05

fax-05

failure caseとしては、fax-03の下側の5と、fax-04の上側の9、の認識に失敗しているようです。

細いペンの認識精度は十分に高いですが、太いペンには少し弱いようです。この弱点については、利用者に対して太いペンを使わないように呼びかけることで解決することも出来ますが、もし、ペンの太さを認識するなどの手法で識字率の改善を試みて下さる方がおられれば、ぜひ、御連絡を頂ければ幸いです。

また、処理の高速化のために、sheetreaderのチューニングをして下さる方も、合わせて募集しています。こちらは、画像処理の知識がなくても、c/c++の知識があれば可能なタスクですので、どうかお気軽にお問い合わせ下さい。

どうか宜しくお願いします。

インストール情報

KOCRをコンパイルすると、単独で画像情報の認識が可能となります。ファックスの処理をするためには、sheetreaderと組み合わせて利用する必要があります。このsheetreaderのパッケージには、精度管理のための上述のテストケースが同梱されているため、性能向上の改造のためには、KOCRとsheetreaderのコンパイルを行えばOKです。

以下では、Ubuntu(13.04 64bit)、OpenCV(2.4.2)での、インストール例を示します。

薄い青は飛ばしても良いかも知れません。下記は、参考のための記載で、残念ながら未検証なので、動かない等あれば、フィードバックを頂ければ大変助かります。下記のインストールページも、ご参考として下さい。

https://sites.google.com/site/faxocr2010/install-documents/on-premises

sudo apt-get install libcv-dev
sudo apt-get install libhighgui-dev
sudo apt-get install libcvaux-dev
sudo apt-get install libopencv-dev (opencv2.4.2のバージョン指定をしたほうが良いかも知れません)
sudo apt-get install mysql-server php5-mysql php5 rubygems autoconf libxml2-dev
sudo apt-get install netpbm gocr ttf-vlgothic ttf-kochi-gothic imagemagick
sudo apt-get install wkhtmltopdf
sudo apt-get install xvfb libmysqlclient-dev python libglib2.0-0 libsoup2.4-dev libwebkitgtk-1.0-0
sudo apt-get install libreoffice fetchmail sendemail pdftk
sudo apt-get install mpack
sudo apt-get install subversion
git clone http://github.com/cluscore/cluscore
cd cluscore
./configure
make
sudo make install
git clone https://github.com/faxocr/kocr
cd ./kocr/src
make 
make library
cd ../..
git clone https://github.com/faxocr/sheet-reader
cd sheet-reader
./configure
make
cd tests 
make