- ベストアンサー
openCVを用いた手形認識
openCVを用いて、親指、小指、人差し指にそれぞれ赤、青、緑のキャップをしそれを抽出し、撮影した画像を使うパターンマッチング手法で手認識をしたいのですがパターンマッチング手法の手認識に関する方法の文献が少なくて困っています。 この認識方法は可能なのでしょうか?また、肌色検出はよく聞きますが赤青緑それぞれ検出するということは出来るのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
おはようございます. 質問者様の考えている手法は「テンプレートマッチング」と呼ばれ, パターンマッチングにおける最も基本的な手法です. これはあらかじめ選択した「手だけが写ったお手本の画像(テンプレート)」 と似た部分を対象の画像から探し出す処理です. 状況を鑑みれば,正しい戦略を選択されているように思えます. これは次のような理由によります. 手話の認識ということであれば,一般的に予想される困難は以下のようなものと思われます. (1)手が顔にかかるなどの理由による手の検出失敗 (2)照明条件の変化による手の色の変化による検出失敗 (3)手が高速移動することによる失探 (4)手が画像の外に出ることによる失探 ですが,マーカーの色(赤緑青)は顔の色と全く異なるので(1)は問題になりません. (2)は前述の通り色空間を変えることでほとんど解決できるでしょう. 実時間処理を考えないならば, 画像の全領域を探索すれば済むので(3)と(4)は考えなくていいと思います. もちろん,50通りの手形のテンプレートで総当たりで探索をするのは無駄でしょうから, マーカーの位置関係によってある程度はテンプレートを選択する必要があるでしょう. ただし,語彙の解析まで踏み込むのは画像処理の範疇ではありません. 日本語の手話認識であれば基本的には日本でしか研究されていないでしょうから, 参考URLの国立情報学研究所の論文データベースで「手話認識」等で検索を行えば良いでしょう.
- 参考URL:
- http://ci.nii.ac.jp/
その他の回答 (1)
- echoes_x86
- ベストアンサー率65% (21/32)
こんにちは. パターンマッチングというのが何を指すのかイマイチ判然としませんが, 文献が少ないと感じるのはまともな手段で調べていないからでしょう. さて,手に関するパターン認識と言うことですので, 最も一般的なジェスチャ認識をしたいとして話を進めます(違う場合は補足をしてください). 例えば,手が映っている画像があるとして,機械にじゃんけんをさせる場合, 映っているのがグーなのかパーなのかチョキなのかを認識するには, まず,手の領域を画像中で検出せねばなりません. ですが,指にマーカーを付けるということなので, これは研究対象としては問題外なくらい簡単な部類です(背景の色味にもよりますが). 画像を読み込んでラスタースキャンでRGB値を比較しラベリングを行うだけで済みます. ただ,明るさの変化を考慮する場合はHSI色空間などで検出をした方が良いでしょう. 後はそれぞれの色の領域の位置関係などからジェスチャを認識するだけです (チョキだったら親指と小指のマーカーが近く人指し指が離れているなど). 参考リンクに広島大学の「絶対負けない」じゃんけんロボットの研究を挙げておきます.
お礼
回答、本当にありがとうございました! 補足を少し書いたのですが、フォーメーションが変わる際に使う検出方式をどうしていいのかが一番分かりません。 そこで、あらかじめ撮影した写真と照合する方法が簡単なのではないかと思ってやっているところですが、これで出来るのかも分かりません...。ちなみに、使う画像はリアルタイム処理ではなく、入力する際は一度ウェブカメラで撮影した静止画で処理しようとしています。
補足
回答ありがとうございます! 回答いただいたとおり、じゃんけんの判別に似ていると思います。 50音手話といって、50音ひらがなにそれぞれじゃんけんのように手の形が決まっているものがあるんですが、それを判別できるようにしたいです。そこで、指(親指、薬指、人差し指)にキャップをはめて、その赤青緑、各色部分の形というかフォーメーションが変わることを利用したいと思っています...。
お礼
助言とても参考になりました。 この方向で調べながら研究をやっていきたいと思います。本当にありがとうございました!!