日本語にも対応した手書き文字認識エンジン「Zinnia」
Windows MobileやZaurusなどのPDAで良く見かけるのが手書き文字認識エンジンだ。バーチャルキーボードやPDAの小さなキーボードで入力するよりも素早く入力ができるのが便利だ。
モデルの認識中
OCRも同様だが、入力された内容を読み取ってデジタルなデータに変換するというのは難しい技術だ。だがその部分だけオープンソース化すれば、みんなが手軽に利用できるようになる。
今回紹介するオープンソース・ソフトウェアはZinnia、手書き文字認識エンジンだ。
Zinniaはエンジンのみの提供で、認識の基準になるモデルなどは提供されていない。そしてそのエンジンは機械学習機能(アルゴリズムはSVM)が実装されており、利用していくうちに精度を高めることができる。
Python用テストスクリプト
APIを公開しており、それを使うことでC/C++/Perl/Ruby/Pythonなどでもエンジンを利用できるようになっている。認識速度は50〜100文字/秒で、十分な速度で候補の文字列を得ることができる。
ソースコードの他にWindows版(バイナリ)も用意されている。ただしZinnia自体はライブラリなので、コンパイル環境は必要だ。モデルのサンプルとなるTomoe付属の手書きデータを変換したものも付属している。
入力デバイスというとマウス、キーボード、タブレットなどが多いが、iPhoneのようなマルチタッチパッドやタブレットPCなどそのインタフェースも徐々に変わってきている。そのような中、Zinniaの活用できる範囲は数多くありそうだ。
Zinnia: 機械学習ベースのポータブルな手書き文字認識エンジン
http://zinnia.sourceforge.net/index-ja.html
SourceForge.net: Zinnia