ページ 11

文字認識について

Posted: 2007年2月22日(木) 04:30
by ナガタ
管理人様お久しぶりです.

最近修論が終わり時間が出来たので,何かゲームでも作ろうかなーって思ってます.

そこで,NintendoDSみたいなゲームを作ってみたいんですけど,文字認識ってどのようにやってるんですかねー?

Re:文字認識について

Posted: 2007年2月22日(木) 10:35
by asd
管理人様ではないですがお役に立てればと思い書き込みます。

数字やアルファベットであればゾンデ法を使うと実現できるのではないでしょうか。
数字については実際にやったこともあります(ただしJava環境でですけど)

手書き文字ですと人それぞれ癖もありますのでパターン認識よりはよいのかなと思います。

検索するとすぐ出てくると思うので詳しくは載せません。
#もっといい方法があるかもしれませんしね^^;

Re:文字認識について

Posted: 2007年2月22日(木) 15:00
by ナガタ
asdさんありがとうございます.

ゾンデ法っていうのは,7本の線の上を通るか通らないかで数字を認識するんですね.
これなら簡単な処理で実現できそうです.

Re:文字認識について

Posted: 2007年2月22日(木) 16:55
by asd
お役に立てたようでよかったです^^
ゾンデ(線、触手のこと)の置き方や本数によってはアルファベットも可能かと思いますので、
いろいろと試してみるとよいかと思います。

あからさまに極端な文字だとゾンデ法でも失敗しますけど^^;

Re:文字認識について

Posted: 2007年2月22日(木) 17:04
by ナガタ
書き順も考慮して判定したら,認識精度が上がるんですかねー?

Re:文字認識について

Posted: 2007年2月22日(木) 21:35
by asd
そうですね。上がると思いますよ^^

MS-IMEにて手書き入力で文字を検索できる機能がついていますが、
ここで”わざと”書き順を間違えて漢字を書くと認識率は格段に落ちますし。

#MS-IMEの手書き入力がゾンデ法を使っている確証はないですけれど^^;

Re:文字認識について

Posted: 2007年2月22日(木) 23:59
by 管理人
ナガタさん、お久しぶりです!!

すみません、ネットにつながらない環境で生活しているので、大学かインターネット喫茶で掲示板を見る始末です(/~\)
お返事遅れてごめんなさい;

修論お疲れ様です♪
私も先日卒論を終えたところでホッとしているところです。



ニンテンドーDSは持ってないんですけど、友達のをよくやらせてもらいました。
・脳を鍛える・・
・英検
・漢検
など遊びました。
実際に遊んでみると、書き順を考慮していないゲームと考慮しているゲームを見かけますが、
後者の方が圧倒的にやりやすいですよ。
ただリッシンベン(漢字知らない・・)とかって中央から書く人と外から書く人とかいるし、
「右」と「左」で部首の書き順が違う事知らない人結構いると思いますし、
漢字をテーマにしたようなゲームじゃないのなら正規の書き順以外でも間違いそうな書き順でも判定してあげたほうが
ゲームしやすくなるように思います。

手書き入力の知識が無いので、実際に遊んでみて誰にでもわかるこんなアドバイス位しか出来ません^^;

Re:文字認識について

Posted: 2007年2月23日(金) 00:09
by Justy
 今時の手書き認識は詳しくはないですが、
昔ベクトルベースでやる、と聞いたことがあります。

 ペンを置いて次に離した時の2点間のベクトルと
ペン離したときから次に置いた時までのベクトル情報のデータベースを持たせて
判定するとか。

 実際にはペンを置いてから曲がるケースもあるのでそういうのも考慮に入れつつ
やることになります。

 又、この場合は書き順準拠になりがちですが、数百人とかの規模でデータを採取すれば
誰か一人は間違えて書く人もいるので、多少間違えやすい書き順でも正答できそうです。

 今時のはどうなんでしょうね。
 複数の認識法を併用しつつ、確率の高いものを選び出しているのかもしれません。

Re:文字認識について

Posted: 2007年2月24日(土) 07:39
by ナガタ
>修論お疲れ様です♪
本当に大変でした.久しぶりに会った友達に,何かやつれてない?って言われました↓

>間違いそうな書き順でも判定してあげたほうがゲームしやすくなるように思います。
そうですね.とりあえず数字を判定するようにしたいんで,あまり書き順に違いがないですかねー.
違いが出そうなのが5ぐらいですかね.
はじめに横に棒を伸ばすか,下に伸びてから最後に横棒をつけるかぐらい.

>ペンを置いて次に離した時の2点間のベクトルと
ペン離したときから次に置いた時までのベクトル情報のデータベースを持たせて
判定するとか。
頭の中で漠然とどうやったら文字が判別できるかなーって考えてたときは,線がどういう風に動いていったか
で出来るかなーって考えていたので,それがJustyさんの言われているベクトルを使った判定に近いですね.
ただ難しいそうだなーって思って断念しましたw

Re:文字認識について

Posted: 2007年2月24日(土) 18:28
by むつ
Windows Vistaにはペン入力機能が標準搭載されているようです。
ttp://arena.nikkeibp.co.jp/col/20060915/118668/

”音声認識”なら少々経験がありますが、
文字認識精度をあげるのは苦痛・・。
モーションにアクションを割り当てた方が断然面白いし、
難しい認識部分は、OSに任してしまうという手も・・。

Re:文字認識について

Posted: 2007年2月24日(土) 19:39
by ナガタ
むつさん,こんばんは.
>難しい認識部分は、OSに任してしまうという手も・・。
これはどうやったらできるんですか?

asdさん,一応ゾンデ法のアルゴリズムは完成したんですけど,4と9が区別をつけれないんですけど,
asdさんが実際に行ったときはどのようにしましたか?あと1が誤認識しやすいです↓

Re:文字認識について

Posted: 2007年2月24日(土) 19:44
by 管理人
めちゃくちゃ素人の発言で申し訳ないんですけど、
配置から書き順まで似ている9と4ですが、
一筆書きと、そうでないという唯一の違いがあるように思います。
4は一回離さないとかけないので、そういうので判定できないんでしょうかね^^;

Re:文字認識について

Posted: 2007年2月24日(土) 20:03
by Justy
>>難しい認識部分は、OSに任してしまうという手も・・
これはどうやったらできるんですか?
Tablet PC Edition Development Kit。
http://www.microsoft.com/downloads/deta ... laylang=en

 これでしょうかね。これなら無償配布してますよ。
 Tablec PC Edition向けの SDKですが、一部の機能を除いて普通の XPでも動きます。

Re:文字認識について

Posted: 2007年2月24日(土) 20:59
by むつ
Justyさんが紹介しているTabletPC SDKのIncludeから、
#include <msinkaut.h>
#include <msinkaut_i.c>

#include <inked.h>
#include <inked_i.c>
をインクルードする事により開発できるようです。

Ink Recognition Sampleが文字認識サンプルだろうと思いますが、
当方の環境では、エラーがでてしまいます。

ストロークした時のイベントが取得できるようですから、
モーションにアクションを割り当てる事も可能だろうと思います。

*追記:
Windows Platform SDKに収録されている一部のファイルが必要なようです。
また、TabletPC SDKはWindows Platform SDKに収録されています。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/tpcsdk10/lonestar/managed_ovw/tbconapisampmultirecognizers.asp

環境:WindowsXP Professional SP2, Wacom CTE-630

Re:文字認識について

Posted: 2007年2月24日(土) 21:34
by ナガタ
>4は一回離さないとかけないので、そういうので判定できないんでしょうかね^^;
それいただきです.ちょっとそれを入れてみます.

Justyさんの言われているサイトのcontinueからダウンロードするんですよね?
WGAPluginInstall.exeというのをインストールしても何も起きないんです.

>TabletPC SDKのIncludeから、
これってどこかにフォルダが作られてるんですか?

Re:文字認識について

Posted: 2007年2月24日(土) 22:04
by むつ
WGAPluginInstall.exe とあるので、IE以外でアクセスしたのでしょう。
再度、IEでアクセスしてください。

>これってどこかにフォルダが作られてるんですか?
TabletPC SDKのインストールフォルダにあります。

Re:文字認識について

Posted: 2007年2月24日(土) 22:05
by Justy
当方の環境では、エラーがでてしまいます
 うちも出ますね、エラー。
 認識エンジンがないからだと思って、それを入れようとしたら XP Homeは対応していない・・・。

Re:文字認識について

Posted: 2007年2月24日(土) 22:17
by ナガタ
>XP Homeは対応していない・・・。
うちもXPのHomeです….

Re:文字認識について

Posted: 2007年2月26日(月) 10:33
by asd
お返事が遅くなりました&既に解決していそうですが^^;

私の場合は以下のページを参考にしました。

画像処理実験のページ
http://www.teu.ac.jp/chiit/Image/?%C2%E ... ntent_1_14

二つの点を意識して書くように促すのと、「1」対策で二つの点からゾンデを離しています。
これで1の認識率は格段に上がりました♪

管理人さんの「一度離す」情報を使うのはナイスアイディアですね^^
私の場合は既に書かれている数字画像を与えて認識させるタイプだったので(ページ上のと一緒)
書き順やペンの動き情報を使えず結構苦労しました~。

Re:文字認識について

Posted: 2007年2月27日(火) 01:46
by ナガタ
asdさん,自分も縦に2点を書いてきれいに数字を書いてもらうようにしてあります(^^)

asdさん,いろいろとありがとうございましたm(__)m

Re:文字認識について

Posted: 2007年2月27日(火) 09:33
by asd
どういたしまして^^私のほうこそ勉強になりました。
久々にゾンデ法文字認識をいじりたくなってきました(笑)

ゾンデの本数やら配置やらでも認識率が変化するのでいじりがいがありそうです。
リアルタイムに入力をしてもらう方式ならば、書き順(ベクトル)、ペンを離した回数なども盛り込んで
よりよくなりそうですね~。

でもなかなか忙しくて時間が取れないですけどorz