[Flex][AIR] 手書き文字認識エンジンZinniaを使ってみた

| コメント(0) | トラックバック(0)
就職活動の一環で、一般常識テストってのを受けたんだけど・・・


漢 字 が ゼ ン ゼ ン 書 け な い!!!><


最近、パソコンばっかで手書きをゼンゼンしなくなったから、昔書けてた漢字すら書けなくなってた!!

ぁ、書けなくなっただけで、未曾有はちゃんと読めるよ!!!



ってことで、漢字覚えなきゃって思って、コトバを覚えるにはやっぱiKnow!だろう!!!と思ったけど、iKnow!では漢字を覚える仕組みがないみたい。


でも、ないなら作ってしまえ!!ってことで、文字認識のライブラリを探したら、Zinniaってのを発見!!



ってころで長い前置きが終わり。


(↓Zinniaを使って出来たもの。ボタンを押すと消えるよ)





まず、Zinniaってのは、

Zinniaは機械学習アルゴリズム SVM を用いたポータブルで汎用的な オンライン手書き文字認識エンジンです。Zinniaは組み込みの容易さと汎用性を高めるために、 文字のレンダリング機能は持っていません。Zinniaは文字のストローク情報を座標の連続として受け取り、 確からしい順にスコア付きでN文字の認識結果を返すだけに機能を限定しています。 また、認識エンジンは完全に機械学習ベースであるために、文字のみならずユーザの任意のマウス・ペンストロークに対して任意の文字列をマッピングするような認識エンジンを小コスト作成することができます。
らしい。


要約すると
・機会学習のアルゴリズム使ってるから、いっぱい学習したら精度はあがるよ!!
・与える情報は、画像じゃなくて、書き順つきの座標で与えてね!!
・文字認識だけやるから、その手書きを書く部分と結果を表示する部分は自分で作ってね!!
ってこと


んで、Flexでやろうにも、ActionScriptからC++をたたけないから(たぶん)、サーバーで文字認識して、結果を返すことにする。


んで、サーバー(Linux)にZinniaをインストールする。
まず、ここから、zinnia-0.02.tar.gzとzinnia-tomoe-0.6.0-20080911.tar.bz2をダウンロード

んで、ダウンロードしたディレクトリに行って、
tar zxfv zinnia-0.02.tar.gz 
cd zinnia-0.02
./configure
make
sudo make instal
cd ..
tar jxvf zinnia-tomoe-0.6.0-20080911.tar.bz2
cd zinnia-tomoe-0.6.0-20080911
./configure
make
sudo make installl

でおk


んで、サンプルのコードを動かすか確認。
※Cのサンプルで
  zinnia_character_t  *character  = zinnia_character_new();
の変数宣言が重複してるから、
*character = zinnia_character_new();
に直してね!!


んで、ちょっと前に書いた、
[Java] MacでJNI 〜JavaからC++を呼ぶ〜
[Java][C/C++] JNIで配列を引数や返り値に使う
らへんを見ながら、


Javaのソース



C++のソース



んで、認識後の文字をつなげて文字列として返す。



あとは、これをtomcatで呼べばおk。





ぁ、iKnow!のなんちゃらってのは、iKnow!のAPIを使って
http://labs.isocchi.com/iKnow/Handwriting.htmlでひっそりと開発中。

デザインがダメなら変えるよってiKnow!にゆったんだけど、何も言われなかったのでリンク貼ってみる


トラックバック(0)

トラックバックURL: http://blog.isocchi.com/MovableType/mt-tb.cgi/329

コメントする

このブログ記事について

このページは、isocchiが2009年1月29日 00:32に書いたブログ記事です。

ひとつ前のブログ記事は「[3D] Teapotの面をGouraudShadingで描画する」です。

次のブログ記事は「[イベント][Flex][AIR] Adobe MAX JAPAN 2009に行ってきました 〜DAY1〜」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.0