JP4790113B2 - Image processing apparatus and method, and recording medium - Google Patents
Image processing apparatus and method, and recording medium Download PDFInfo
- Publication number
- JP4790113B2 JP4790113B2 JP2000368493A JP2000368493A JP4790113B2 JP 4790113 B2 JP4790113 B2 JP 4790113B2 JP 2000368493 A JP2000368493 A JP 2000368493A JP 2000368493 A JP2000368493 A JP 2000368493A JP 4790113 B2 JP4790113 B2 JP 4790113B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- hand
- calculating
- motion
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに記録媒体に関し、特に、画像処理により、ユーザの手の握りおよび開き動作を認識することができるようにした画像処理装置および方法、並びに記録媒体に関する。
【0002】
【従来の技術】
従来、ユーザの身振りや手振りをコンピュータグラフィックスとして取り入れることにより、人とコンピュータとのインタフェースをとる手法がいくつか提案されている。
【0003】
例えば、特開平11−195140号公報には、データグローブを用いて身振りや手振りでコンピュータを操作することにより、3次元コンピュータグラフィックスデータを編集する技術が開示されている。
【0004】
また、例えば、特開平9−311759号公報には、所定色に点灯・点滅するペンライトを用いてユーザがジェスチャし、そのペンライトをカメラで撮像・画像認識することにより、コンピュータと人とのインタフェースを行う技術が開示されている。
【0005】
さらにまた、例えば、特開平9−102046号公報には、カメラで撮像したシルエット画像から手の形状を推定、認識することにより、コンピュータと人とのインタフェースを行う技術が開示されている。
【0006】
さらにまた、例えば、特開平8−212327号公報には、カメラで撮像した手の画像のオリエンテーション一次元ヒストグラム、および、二次元空間時間オリエンテーションヒストグラムを用いて身振りを認識することにより、コンピュータと人とのインタフェースを行う技術が開示されている。
【0007】
さらにまた、例えば、特開平9−179988号公報には、2台のカメラを用いて手の三次元的な姿勢、身振りを認識することにより、コンピュータと人とのインタフェースを行う技術が開示されている。
【0008】
さらにまた、例えば、特開平11−162151号公報には、連続DP(Continuous Dynamic Programming)の手法を用いて、ユーザの身振りを認識することにより、コンピュータと人とのインタフェースを行う技術が開示されている。
【0009】
【発明が解決しようとする課題】
データグローブを用いる手法(特開平11−195140号公報)の場合、手の形や手の動きを認識することができる反面、データグローブの着脱が不便であり、かつ、データグローブとコンピュータとを接続するケーブルが煩わしくなる課題があった。
【0010】
そこで、ユーザの使い勝手を考慮して、ペンライトを用いる手法(特開平9−311759号公報)が提案されているが、ユーザがペンライトを持たなければならず、ユーザに対する煩わしさが依然として残り、また、特殊なデバイス(ペンライト)を用いているため、汎用性に欠ける課題があった。
【0011】
また、ユーザに対する煩わしさを軽減させるため、カメラで撮像した手の形状を画像認識する手法が提案されている(特開平9−102046号公報、および、特開平8−212327号公報)が、照明変化などにより、手の形状が正確に検出されない恐れがあり、誤認識する課題があった。
【0012】
そこで、誤認識を防止するため、複数台のカメラを用いて画像認識する手法も提案されている(特開平9−179988号公報)が、低コストで実現することができない課題があった。
【0013】
さらに、連続DPを用いたジェスチャ認識手法が提案されている(特開平11−162151号公報)が、掴む(握る)というような手の動作を認識することができない課題があった。
【0014】
そこで、特開平11−296673号公報などには、ユーザが指し示した位置を特定することが開示されているが、手で掴んで(握って)、選択するといった動作を簡易な手法で認識することが困難である課題があった。
【0015】
本発明はこのような状況に鑑みてなされたものであり、低コストで、かつ、高精度に、ユーザの身振りを認識し、かつ、手で掴む動作を画像処理により認識することができるようにするものである。
【0016】
【課題を解決するための手段】
本発明の画像処理装置は、手を撮像する撮像手段と、撮像手段により撮像された画像を輝度情報に変換する変換手段と、変換手段により変換された現フレームの輝度情報と、1フレーム前の輝度情報の差に基づいて、動き領域を検出する動き領域検出手段と、動き領域検出手段により検出された動き領域が手であるかを評価する評価値を算出する評価値算出手段と、評価値算出手段により算出された評価値に基づいて、複数の動き領域のうちの所定の領域を手の領域として選択する選択手段と、選択手段により選択された手の領域における現フレームの輝度情報と、1フレーム前の輝度情報の差によってできた画像のエッジ情報を抽出するエッジ情報抽出手段と、エッジ情報抽出手段により抽出されたエッジ情報の特徴ベクトルを特徴量として算出する特徴量算出手段と、特徴量算出手段により算出された特徴量に基づいて、DPマッチングの手法を用いてDP値を算出するDP値算出手段と、DP値算出手段により算出されたDP値が所定値より小さいか否かを判定する判定手段と、判定手段により、DP値が所定値より小さいと判定された場合、手の握り動作を認識する認識手段とを備えることを特徴とする。
【0017】
動き領域検出手段は、現フレームの輝度情報と、1フレーム前の輝度情報の差が所定の閾値以上であるか否かを判断することにより、動き領域を検出するようにすることができる。
【0018】
本発明の画像処理装置は、動き領域検出手段により検出された動き領域の重心を算出する重心算出手段をさらに設けるようにすることができ、エッジ情報抽出手段は、重心算出手段により算出された動き領域の重心を中心とする所定の矩形領域を上下方向に3等分し、各領域のそれぞれにおいて、垂直方向および水平方向のエッジ情報を抽出するようにすることができる。
【0019】
本発明の画像処理装置は、選択手段により選択された動き領域の動き方向を検出する動き方向検出手段をさらに設けるようにすることができ、認識手段は、動き方向検出手段により検出された手の動きをマウスの移動操作と認識し、手を握る動作をマウスがアイコンを選択する操作と認識し、手を握ったまま移動させる動作をアイコンを選択したままドラッグする操作と認識し、手を開く動作をアイコンの選択を解除する操作と認識し、手を左方向に振る動作をマウスの左ボタンをクリックする操作と認識し、手を右方向に振る動作をマウスの右ボタンをクリックする操作と認識するようにすることできる。
【0021】
本発明の画像処理方法は、手を撮像する撮像ステップと、撮像ステップの処理により撮像された画像を輝度情報に変換する変換ステップと、変換ステップの処理により変換された現フレームの輝度情報と、1フレーム前の輝度情報の差に基づいて、動き領域を検出する動き領域検出ステップと、動き領域検出ステップの処理により検出された動き領域が手であるかを評価する評価値を算出する評価値算出ステップと、評価値算出ステップの処理により算出された評価値に基づいて、複数の動き領域のうちの所定の領域を手の領域として選択する選択ステップと、選択ステップの処理により選択された手の領域における現フレームの輝度情報と、1フレーム前の輝度情報の差によってできた画像のエッジ情報を抽出するエッジ情報抽出ステップと、エッジ情報抽出ステップの処理により抽出されたエッジ情報の特徴ベクトルを特徴量として算出する特徴量算出ステップと、特徴量算出ステップの処理により算出された特徴量に基づいて、DPマッチングの手法を用いてDP値を算出するDP値算出ステップと、DP値算出ステップの処理により算出されたDP値が所定値より小さいか否かを判定する判定ステップと、判定ステップの処理により、DP値が所定値より小さいと判定された場合、手の握り動作を認識する認識ステップとを含むことを特徴とする。
【0022】
本発明の記録媒体に記録されているプログラムは、手を撮像する撮像ステップと、撮像ステップの処理により撮像された画像を輝度情報に変換する変換ステップと、変換ステップの処理により変換された現フレームの輝度情報と、1フレーム前の輝度情報の差に基づいて、動き領域を検出する動き領域検出ステップと、動き領域検出ステップの処理により検出された動き領域が手であるかを評価する評価値を算出する評価値算出ステップと、評価値算出ステップの処理により算出された評価値に基づいて、複数の動き領域のうちの所定の領域を手の領域として選択する選択ステップと、選択ステップの処理により選択された手の領域における現フレームの輝度情報と、1フレーム前の輝度情報の差によってできた画像のエッジ情報を抽出するエッジ情報抽出ステップと、エッジ情報抽出ステップの処理により抽出されたエッジ情報の特徴ベクトルを特徴量として算出する特徴量算出ステップと、特徴量算出ステップの処理により算出された特徴量に基づいて、DPマッチングの手法を用いてDP値を算出するDP値算出ステップと、DP値算出ステップの処理により算出されたDP値が所定値より小さいか否かを判定する判定ステップと、判定ステップの処理により、DP値が所定値より小さいと判定された場合、手の握り動作を認識する認識ステップとを含むことを特徴とする。
【0023】
本発明の画像処理装置、画像処理方法、並びに記録媒体に記録されているプログラムにおいては、手が撮像され、撮像された画像が輝度情報に変換され、変換された現フレームの輝度情報と、1フレーム前の輝度情報の差に基づいて、動き領域が検出され、検出された動き領域が手であるかを評価する評価値が算出され、算出された評価値に基づいて、複数の動き領域のうちの所定の領域が手の領域として選択され、選択された手の領域における現フレームの輝度情報と、1フレーム前の輝度情報の差によってできた画像のエッジ情報が抽出され、抽出されたエッジ情報の特徴ベクトルが特徴量として算出され、算出された特徴量に基づいて、DPマッチングの手法を用いてDP値が算出され、算出されたDP値が所定値より小さいか否かが判定され、DP値が所定値より小さいと判定された場合、手の握り動作が認識される。
【0024】
【発明の実施の形態】
図1は、本発明に係る画像処理システムの一実施の形態を示すブロック図である。
【0025】
ビデオカメラ2は、ユーザ1の身振り、手振り、および手の握り動作を撮像し、撮像された画像データを、後述する処理で利用する輝度データ(Yデータ)に変換し、それを画像処理装置3に供給する。画像処理装置3は、ビデオカメラ2より供給された画像データに対して、画像処理およびジェスチャ認識処理などの所定の処理を施し、表示・出力装置4に出力する。表示・出力装置4は、画像処理装置3より供給された、ユーザ1の身振り、手振り、あるいは手の握り動作に対応する画像データに基づいて、画面にアプリケーションを起動させたり、画面に表示されているウィンドウを移動させたりする。
【0026】
図2は、画像処理装置3の構成例を示すブロック図である。
【0027】
画像処理部11は、ビデオカメラ2より供給された画像データに対して、フレーム間差分処理、重心検出処理、および、動き検出処理などを行い、その画像処理結果をジェスチャ認識部12に供給する。ジェスチャ認識部12は、画像処理部11より供給された画像処理結果に基づいて、ジェスチャ認識処理を行い、その認識結果を表示・出力装置4に供給する。
【0028】
図3は、画像処理部11およびジェスチャ認識部12の詳細な構成例を示すブロック図である。
【0029】
画像処理部11は、画像記憶部21、領域分割部22、および、領域処理部23で構成される。ジェスチャ認識部12は、握り動作認識部31および重心軌跡認識部32で構成される。さらに、画像処理部11の領域分割部22は、フレーム間差分部41、閾値処理部42、ブロック内カウント部43、閾値処理部44、周辺探索部45、および、ラベリング部46で構成され、画像処理部11の領域処理部23は、重心検出部51、外接枠検出部52、面積検出部53、領域評価部54、領域記憶部55、動き検出部56、および、エッジ検出部57で構成される。また、ジェスチャ認識部12の握り動作認識部31は、握り動作判定部61およびDP値算出部62で構成される。
【0030】
画像記憶部21は、ビデオカメラ2より供給された画像データの輝度データをフレーム毎に記憶する。
【0031】
フレーム間差分算出部41は、画像記憶部21に記憶されている1フレーム前の画像データの輝度データ(Yデータ)を読み出し、その1フレーム前の輝度データとビデオカメラ2より供給された現フレームの画像データの輝度データから、画素毎に輝度差(フレーム間差分値)を算出し、算出結果を閾値処理部42に供給する。
【0032】
閾値処理部42は、フレーム間差分算出部41より供給された算出結果(フレーム間差分値)に基づいて、所定の閾値以上の差分値がある画素を1とし、所定の閾値に満たない差分値の画素を0として2値化し、それをブロック内カウント部43に供給するとともに、領域処理部23のエッジ検出部57に供給する。
【0033】
ブロック内カウント部43は、閾値処理部42より供給された2値化画像を所定のブロックに分割し、各ブロック毎に、ブロック内の画素値が1の画素をカウントし、カウント数を閾値処理部44に供給する。
【0034】
閾値処理部44は、ブロック内カウント部43より供給された各ブロック毎のカウント数に基づいて、所定の閾値以上のカウント数があるブロックを動きブロックとして認識し、認識結果を周辺探索部45に供給する。
【0035】
周辺探索部45は、閾値処理部44より供給された認識結果に基づいて、動きブロックとして認識されなかったブロックを中心とする所定の領域内の動きブロック数をさらにカウントする。周辺探索部45は、カウント数が所定の閾値以上であれば、そのブロックを新たに動きブロックとして認識し、認識結果をラベリング部46に供給する。
【0036】
ラベリング部46は、周辺探索部45より供給された認識結果(動きブロックとして認識されたブロック)に基づいて、ラベリング処理し、処理結果を領域処理部23の重心検出部51に供給する。
【0037】
重心検出部51は、ラベリング部46より供給されたラベリング処理結果に基づいて、ラベリングされた各領域内の重心を検出し、検出結果を外接枠検出部52に供給する。
【0038】
外接枠検出部52は、重心検出部51より供給されたラベリング処理結果に基づいて、ラベリングされた各領域を外側から囲む矩形(外接枠)を検出し、検出結果を面積検出部53に供給する。
【0039】
面積検出部53は、外接枠検出部52より供給された検出結果(外接枠)に基づいて、外接枠内に含まれる動きブロックの画素数をカウントすることにより、面積を算出し、算出結果を領域評価部54に供給する。面積検出部53はまた、外接枠検出部52より供給された検出結果に基づいて、外接枠の縦横比(アスペクト比)を算出し、その算出結果も領域評価部54に供給する。
【0040】
領域評価部54は、面積検出部53より供給された、ラベリングされた各領域の重心、面積、および、外接枠のアスペクト比に基づいて、評価値を算出し、評価値の最も小さい領域を選択し、その選択結果を動き検出部56、エッジ検出部57、および、重心軌跡認識部32にそれぞれ供給する。
【0041】
領域記憶部55は、領域評価部54で選択された評価値の最も小さい領域を記憶する。
【0042】
動き検出部56は、画像記憶部21より供給される1フレーム前の画素とビデオカメラ2より供給される現在の画素を用いて、フレーム間差分値および空間方向差分値を算出し、その算出結果から動き方向を検出し、検出結果を握り動作認識部31の握り動作判定部61に供給する。
【0043】
エッジ検出部57は、領域分割部22の閾値処理部42より供給された2値化されたフレーム間差分値と、領域評価部54より供給された領域選択結果に基づいて、後述するジェスチャ認識部12の握り動作認識部31でDP値を算出する際に必要となるエッジ情報(特徴ベクトル)を検出する。
【0044】
握り動作判定部61は、動き検出部56より供給された検出結果(動き方向)、および、後述するDP値算出部62より供給されるDP値に基づいて、手の握りおよび開き動作を認識し、認識結果を表示・出力装置4に供給する。
【0045】
DP値算出部62は、エッジ検出部57より供給されたエッジ情報(特徴ベクトル)に基づいて、連続DP手法を用いて、DP値を算出する。なお、連続DP(Continuous DynamicProgramming)手法は、あらかじめ用意されている参照パターンと、所定のパターンとの間の類似度を算出するアルゴリズムが用いられており、その詳細が、例えば、高橋 他: ジェスチャ動画像のスポッティング認識, 信学論D-II vol. J77-D-II no.8 pp.1552-1561 (1994)に記載されている。これは、参照パターンRと認識対象となるパターンQの長さが異なっていても効率的に対応づけを行いながらマッチングできる手法である。また、認識対象パターンの始点および終点を決定する必要がないため、時系列パターンを認識する際に有効な手法の一つである。
【0046】
重心軌跡認識部32は、領域処理部23の領域評価部54より供給された評価値の最も小さい現フレームの領域の重心と1フレーム前に選択された領域の重心の間の距離を算出し、その算出結果から重心の軌跡(移動)を認識し(すなわち、手の振り動作を認識し)、認識結果を表示・出力装置4に供給する。
【0047】
次に、図4のフローチャートを参照して、画像処理装置3が実行する、手の握り・振り動作認識処理について説明する。
【0048】
ステップS1において、ビデオカメラ2は、ユーザ1の身振りや手振りを撮像し、撮像された画像データを輝度データ(Yデータ)に変換し、画像記憶部21に記憶する。例えば、ビデオカメラ2の出力がRGBの色データである場合、ビデオカメラ2は、撮像された画像データのRGBの色データから、次式(1)に従って、各画素におけるYデータを算出する。
Y=0.299R+0.587G+0.114B ・・・(1)
【0049】
ステップS2において、領域分割部22は、ステップS1の処理で撮像された画像の領域分割を行う。
【0050】
ここで、図5のフローチャートを参照して、領域分割処理について詳しく説明する。
【0051】
ステップS31において、領域分割部22のフレーム間差分算出部41は、ビデオカメラ2より供給された現フレームの画像データの輝度データ(Yデータ)と、画像記憶部21より記憶された1フレーム前の画像データの輝度データとの間のフレーム間差分値(輝度差)を算出する。閾値処理部42は、フレーム間差分算出部41で算出されたフレーム間差分値のうち、所定の閾値以上のフレーム間差分値がある画素を1とし、所定の閾値に満たないフレーム間差分値の画素を0として2値化する。これにより、図6(A)に示されるような2値画像が生成される。
【0052】
図6(A)の例の場合、フレーム間差分値が所定の閾値より大きい画素(すなわち、画素値1の画素)が黒で表わされ、フレーム間差分値が所定の閾値より小さい画素(すなわち、画素値0の画素)が白で表わされている。
【0053】
ステップS32において、ブロック内カウント部43は、ステップS31の処理で生成された2値画像を、例えば、図6(B)に示されるように、Bw×Bhの大きさのブロックに分割し、各ブロック毎に、ブロック内の画素値が1の画素(すなわち、黒で表示されている画素)をカウントする。
【0054】
ステップS33において、閾値処理部44は、ステップS32の処理でカウントされた各ブロック毎のカウント数に基づいて、そのカウント数が所定の閾値より大きいブロックを動きブロックとして認識する。これにより、例えば、図6(C)に示されるような動きブロックが検出される。図6(C)の例の場合、網掛け表示されているブロックが動きブロックとされる。なお、カウント数が所定の閾値より小さいブロックは、ノイズとして認識される。
【0055】
ステップS34において、周辺探索部45は、ステップS33の処理で動きブロックと認識されなかったブロック(すなわち、図6(C)で網掛け表示されていない白ブロック)を中心とする所定の領域内の動きブロック数をそれぞれカウントする。例えば、図6(C)に示されるように、周辺探索部45は、動きブロックと認識されなかったブロック81を中心とする3×3の領域82内の動きブロック数をカウントする。
【0056】
ステップS35において、周辺探索部45は、ステップS34の処理でカウントされたカウント数が所定の閾値より大きいブロックを新たに動きブロックとして認識する。すなわち、図6(D)に示されるように、動きブロックと認識されなかったブロック81を中心とする3×3の領域82内の動きブロック(すなわち、黒で示されているブロック)の数が6個であり、例えば、閾値が領域82のブロック数(いまの場合、9個)の過半数(すなわち、5個)に設定されているとすると、このブロック81は、新たな動きブロックとして認識される。
【0057】
このような処理を、ステップS33の処理で動きブロックと認識されなかったブロック全てに対して行う。これにより、図6(E)に示されるように、ステップS33の処理では動きブロックとして認識されなかったブロック81,83および84が、新たな動きブロックとして認識される。
【0058】
ステップS36において、ラベリング部46は、ステップS33およびS35の処理で認識された動きブロックに基づいて、領域毎に、ラベリング処理する。これにより、図6(F)に示されるように、領域85および領域86の2つの領域が検出される。
【0059】
図4のステップS3に戻り、重心検出部51は、ステップS2の処理でラベリングされた各領域内の重心を検出(算出)する。
【0060】
ここで、図7を参照して、ラベリングされた領域内の重心の算出方法について説明する。
【0061】
図7(A)の例の場合、ラベリングされた領域の外接枠内の画素を使って平均位置を算出し、それを重心Cとする。
【0062】
図7(B)の例の場合、画面上方に重み付け加重平均を算出し、それを重心Cとする。すなわち、ラベリングされた領域の外接枠の左上の座標(Xul,Yul)、右下の座標(Xbr,Ybr)から、ある画素(x,y)に対応する重みを次式(2)に従って算出し、その算出結果を次式(3)に代入し、重み付き加重平均を算出する。なお、この例は、ビデオカメラ2に対して手が差し出される場合、指先が画面上方になる確率が高いことを利用して、画面上方に重み付けされる。
(Ybr−y)/(Ybr−Yul) ・・・(2)
【0063】
【数1】
【0064】
図7(C)の例の場合、第1回目では、図7(A)の例で示したように、ラベリングされた領域の外接枠内の画素を使って平均位置C1を算出する。第2回目では、平均位置C1より画面上方にある画素を使って平均位置C2を算出する。同様に、第3回目以降の平均位置を順次繰り返し算出する。そして、第n回目の平均位置Cnを、最終的な重心Cとする。
【0065】
以上のような重心算出方法のいずれかを用いて、ラベリングされた領域(いまの場合、領域85および86)の重心が検出されると、ステップS4に進み、領域処理部23の外接枠検出部52は、ステップS2の処理でラベリングされた各領域(いまの場合、領域85および86)を外側から囲む外接枠(矩形)を検出する。
【0066】
ステップS5において、面積検出部53は、ステップS4の処理により検出された外接枠内に含まれる動きブロックの画素数をカウントすることにより面積を算出(検出)する。すなわち、図6(F)の領域85の場合、動きブロック(すなわち、黒で示されているブロック)は13個であり、例えば、1ブロックが16画素で構成されているとすると、動き画素数は208個とカウントされ、そのカウントされた画素数から面積が算出される。
【0067】
ステップS6において、面積検出部53は、ステップS4の処理により検出された外接枠のアスペクト比(縦横比)を算出する。すなわち、図6(F)の領域85の場合、縦のブロック数が5個であり、横のブロック数が4個であり、アスペクト比は、1.25(=5/4)と算出される。
【0068】
ステップS7において、領域評価部54は、ステップS3の処理で検出された、ラベリングされた領域(いまの場合、領域85および86)の重心、ステップS5の処理で算出された各領域の動きブロックの面積、ステップS6の処理で算出された領域の外接枠のアスペクト比に基づいて、次式(4)に従って、評価値を算出する。
Φ(i)=αc|Ci−Cp|+αa|Ai−Ap|+αs|Si−Sp|−αmNmi
・・・(4)
【0069】
なお、上記式(4)において、Ciは領域iの重心位置、Aiは領域iのアスペクト比、Siは領域iの面積、Nmiは領域iの動き画素数を表わし、Cp,Ap,Spは前フレームで選択された領域pの重心位置、アスペクト比、面積をそれぞれ表わし、αc,αa,αs,αmは、重心位置、アスペクト比、面積、動き画素数の重要度を示すそれぞれの重み付け係数である。例えば、重み付け係数には、αc=10.0,αa=10.2,αs=0.2などの値が用いられる。
【0070】
ステップS8において、領域評価部54は、ステップS7の処理で算出された評価値のうち、評価値の最も小さい領域(例えば、領域85)を選択する。
【0071】
ステップS9において、動き検出部56は、ステップS2の処理でラベリングされた領域(いまの場合、領域85および86)の動き方向を検出する。
【0072】
ここで、図8のフローチャートを参照して、動き方向検出処理について説明する。なお、図9に示すように、3×3画素からなる現フレームの領域と1フレーム前の領域を比較し、現フレームの領域の動き方向を検出するものとして説明する。
【0073】
ステップS41において、動き検出部56は、動きの方向を示す変数h,vに0を代入する。ステップS42において、動き検出部56は、縦および横の両方向の動きが検出されたのか否かを判定し、未だ、縦および横の両方向の動きが検出されていないと判定した場合、ステップS43に進み、現フレームの中心画素P(i,j)と1フレーム前の中心画素P´(i,j)の輝度差が所定の正の閾値より大きいのか否かを判定する。なお、iは、y座標を表わし、jはx座標を表わしている。
【0074】
ステップS43において、P(i,j)−P´(i,j)が所定の正の閾値より大きいと判定された場合、ステップS44に進み、動き検出部56は、横方向の動きを検出するのか否か、すなわち、縦方向の動きが検出済みであるのか否かを判定し、横方向の動きを検出すると判定した場合(縦方向の動きが検出済みであると判定した場合)、ステップS45に進む。ステップS45において、動き検出部56は、中心画素P(i,j)と画素P(i,j+1)の輝度差が所定の閾値より大きいのか否かを判定し、P(i,j)−P(i,j+1)が所定の閾値より大きいと判定した場合、ステップS46に進み、変数hに1を代入し、ステップS42に戻る。
【0075】
ステップS45において、P(i,j)−P(i,j+1)が所定の閾値より大きくはないと判定された場合、ステップS47に進み、動き検出部56は、さらに、中心画素P(i,j)と画素P(i,j-1)の輝度差が所定の閾値より大きいのか否かを判定し、P(i,j)−P(i,j-1)が所定の閾値より大きいと判定した場合、ステップS48に進み、変数hに−1を代入し、ステップS42に戻る。ステップS47において、P(i,j)−P(i,j-1)が所定の閾値より大きくはないと判定された場合、ステップS42に戻る。
【0076】
また、ステップS44において、横方向の動きではなく、縦方向の動きを検出すると判定された場合、ステップS49に進み、動き検出部56は、中心画素P(i,j)と画素P(i+1,j)の輝度差が所定の閾値より大きいのか否かを判定し、P(i,j)−P(i+1,j)が所定の閾値より大きいと判定した場合、ステップS50に進み、変数vに1を代入し、ステップS42に戻る。
【0077】
ステップS49において、P(i,j)−P(i+1,j)が所定の閾値より大きくはないと判定された場合、ステップS51に進み、動き検出部56は、さらに、中心画素P(i,j)と画素P(i-1,j)の輝度差が所定の閾値より大きいのか否かを判定し、P(i,j)−P(i-1,j)が所定の閾値より大きいと判定した場合、ステップS52に進み、変数vに−1を代入し、ステップS42に戻る。ステップS51において、P(i,j)−P(i-1,j)が所定の閾値より大きくはないと判定された場合、ステップS42に戻る。
【0078】
また、ステップS43において、P(i,j)−P´(i,j)が所定の正の閾値より大きくはないと判定された場合、ステップS53に進み、動き検出部56は、さらに、現フレームの中心画素P(i,j)と1フレーム前の中心画素P´(i,j)の輝度差が所定の負の閾値より小さいのか否かを判定する。
【0079】
ステップS53において、P(i,j)−P´(i,j)が所定の負の閾値より小さいと判定された場合、ステップS54に進み、動き検出部56は、横方向の動きを検出するのか否か、すなわち、縦方向の動きが検出済みであるのか否かを判定し、横方向の動きを検出すると判定した場合(縦方向の動きが検出済みであると判定した場合)、ステップS55に進む。ステップS55において、動き検出部56は、画素P(i,j+1)と中心画素P(i,j)の輝度差が所定の閾値より大きいのか否かを判定し、P(i,j+1)−P(i,j)が所定の閾値より大きいと判定した場合、ステップS56に進み、変数hに1を代入し、ステップS42に戻る。
【0080】
ステップS55において、P(i,j+1)−P(i,j)が所定の閾値より大きくはないと判定された場合、ステップS57に進み、動き検出部56は、さらに、中心画素P(i,j-1)と画素P(i,j)の輝度差が所定の閾値より大きいのか否かを判定し、P(i,j-1)−P(i,j)が所定の閾値より大きいと判定した場合、ステップS58に進み、変数hに−1を代入し、ステップS42に戻る。ステップS57において、P(i,j-1)−P(i,j)が所定の閾値より大きくはないと判定された場合、ステップS42に戻る。
【0081】
また、ステップS54において、横方向の動きではなく、縦方向の動きを検出すると判定された場合、ステップS59に進み、動き検出部56は、画素P(i+1,j)と中心画素P(i,j)の輝度差が所定の閾値より大きいのか否かを判定し、P(i+1,j)−P(i,j)が所定の閾値より大きいと判定した場合、ステップS60に進み、変数vに1を代入し、ステップS42に戻る。
【0082】
ステップS59において、P(i+1,j)−P(i,j)が所定の閾値より大きくはないと判定された場合、ステップS61に進み、動き検出部56は、さらに、画素P(i-1,j)と中心画素P(i,j)の輝度差が所定の閾値より大きいのか否かを判定し、P(i-1,j)−P(i,j)が所定の閾値より大きいと判定した場合、ステップS62に進み、変数vに−1を代入し、ステップS42に戻る。ステップS61において、P(i-1,j)−P(i,j)が所定の閾値より大きくはないと判定された場合、ステップS42に戻る。
【0083】
そして、ステップS42において、縦および横の両方向の動きが検出されたと判定された場合、または、ステップS53において、P(i,j)−P´(i,j)が所定の負の閾値より小さくはないと判定された場合、図4のステップS9にリターンする。
【0084】
図4のステップS9において、動き検出部56は、上述した処理により算出された変数h,vの値を、図10に示す対応図に対応付け、動き方向を示す画素値(インデックス値)を設定する。
【0085】
図10の例の場合、LU(Left Upper)は、左上に画素が動いたことを表わし、U(Upper)は、上に画素が動いたことを表わし、RU(Right Upper)は、右上に画素が動いたことを表わし、L(Left)は、左に画素が動いたことを表わし、N(No move)は、画素が動いていないことを表わし、R(Right)は、右に画素が動いたことを表わし、LD(Left Down)は、左下に動いたことを表わし、D(Down)は、下に画素が動いたことを表わし、そして、RD(Right Down)は、右下に画素が動いたことを表わす。
【0086】
図10において、例えば、N=0,LU=1,U=2,RU=3,L=4,R=5,LD=6,D=7,RD=8であるとする。算出された変数h,vがいずれも−1である場合、動き方向を示す画素値は1に設定される。算出された変数hが0、変数vが−1である場合、動き方向を示す画素値は2に設定される。算出された変数hが1、変数vが−1である場合、動き方向を示す画素値は3に設定される。算出された変数hが−1、変数vが0である場合、動き方向を示す画素値は4に設定される。算出された変数h,vがいずれも0である場合、動き方向を示す画素値は0に設定される。算出された変数hが1、変数vが0である場合、動き方向を示す画素値は5に設定される。算出された変数hが−1、変数vが1である場合、動き方向を示す画素値は6に設定される。算出された変数hが0、変数vが1である場合、動き方向を示す画素値は7に設定される。そして、算出された変数h,vがいずれも1である場合、動き方向を示す画素値は8に設定される。
【0087】
すなわち、画素値が1である場合、左上に画素が動いたことになり、画素値が2である場合、上に画素が動いたことになり、画素値が3である場合、右上に画素が動いたことになり、画素値が4である場合、左に画素が動いたことになり、画素値が0である場合、画素が動いていないことになり、画素値が5である場合、右に画素が動いたことになり、画素値が6である場合、左下に動いたことになり、画素値が7である場合、下に画素が動いたことになり、そして、画素値が8である場合、右下に画素が動いたことになる。
【0088】
なお、本願発明では、これに限らず、ブロックマッチングや動きベクトルマッチングなどの手法を用いて、動き方向を検出することも可能である。
【0089】
例えば、ステップS8の処理で選択された領域のU,Dの画素値を持つ画素数NU,NDをそれぞれカウントし、NUが所定の閾値を越えていた場合、領域内で「上向きの動きが発生した」と認識され、NDが所定の閾値を越えていた場合、領域内で「下向きの動きが発生した」と認識される。また、NU,NDが、ともに所定の閾値を越えていた場合、「動きなし」と認識される。
【0090】
図4のステップS10に戻って、エッジ検出部57は、ステップS2の処理でラベリングされた領域(図6(F)の例の場合、領域85および86)のうち、ステップS8の処理で選択された評価値の最も小さい領域(例えば、領域85)のエッジ情報を検出する。
【0091】
ここで、図11を参照して、エッジ情報を検出する処理についてさらに詳しく説明する。なお、ステップS8の処理で、評価値が最も小さい領域として領域85が選択されたものとして以下に説明する。
【0092】
図11(A)は、ステップS3の処理により検出された領域85の重心Cを示している。図11(B)は、ステップS2の処理により2値化されたフレーム間差分画像を示している。
【0093】
エッジ検出部57は、ステップS2の処理で2値化されたフレーム間差分画像(図11(B))の垂直方向および水平方向のエッジ情報をそれぞれ検出する。これにより、図11(C)および図11(D)に示されるように、垂直方向のエッジ情報と水平方向のエッジ情報が検出される。
【0094】
次に、エッジ情報の検出処理についてさらに詳しく説明する。なお、エッジ情報の検出には、図12に示されるようなフィルタが用いられる。
【0095】
エッジ検出部57は、エッジ情報を検出したい画素を中心に、図12に示されるフィルタと画素値の積和(畳み込み)演算を行い、その演算結果の絶対値を2値化することによりエッジ画素を算出する。そして、エッジ検出部57は、積和演算の絶対値が所定の閾値より大きい場合、それをエッジ画素として検出する。
【0096】
まず、現フレームにおける中心画素P(i,j)(図9)が垂直方向のエッジ画素か否かを判定する例について説明する。エッジ検出部37は、次式(5)に従って、図12(A)に示されるフィルタと画素値の積和演算Lvを行う。
Lv=−1・P(i-1,j-1)+0・P(i-1,j)+1・P(i-1,j+1)−2・P(i,j-1)
+0・P(i,j)+2・P(i,j+1)−1・P(i+1,j-1)+0・P(i+1,j)
+1・P(i+1,j+1) ・・・(5)
【0097】
エッジ検出部57は、上記式(5)の算出の結果、積和演算Lvの絶対値が所定の閾値Tvより大きいか否かを判定し、積和演算Lvの絶対値が所定の閾値Tvより大きいと判定した場合、画素P(i,j)を垂直方向のエッジ画素(エッジ情報)として検出する。
【0098】
次に、現フレームにおける中心画素P(i,j)(図9)が水平方向のエッジ画素か否かを判定する例について説明する。エッジ検出部37は、次式(6)に従って、図12(B)に示されるフィルタと画素値の積和演算Lhを行う。
Lh=−1・P(i-1,j-1)−2・P(i-1,j)−1・P(i-1,j+1)+0・P(i,j-1)
+0・P(i,j)+0・P(i,j+1)+1・P(i+1,j-1)+2・P(i+1,j)
+1・P(i+1,j+1) ・・・(6)
【0099】
エッジ検出部57は、上記式(6)の算出の結果、積和演算Lhの絶対値が所定の閾値Thより大きいか否かを判定し、積和演算Lhの絶対値が所定の閾値Thより大きいと判定した場合、画素P(i,j)を水平方向のエッジ画素(エッジ情報)として検出する。
【0100】
このような処理を、2値化されたフレーム間差分画像の各画素に対して行うことにより、垂直方向のエッジ情報と水平方向のエッジ情報が検出される。
【0101】
次に、Fw×Fhの矩形領域91(図11(E))を縦方向に3等分したtop,middle,bottomの3領域について考える。
【0102】
エッジ検出部57は、Fw×Fhの矩形領域91の中心が、図11(A)で示された重心Cとなるように設定し、それぞれの領域内の垂直方向のエッジピクセルの数をカウントするとともに(図11(F))、水平方向のエッジピクセルの数をカウントする(図11(G))。
【0103】
すなわち、ユーザ1の手71(図18(A))が、指先を画面上方に向けて撮像されている場合、撮像された画像を3分割して各領域毎のエッジピクセルの数をカウントすることにより、手の握り動作時に発生する時間的特徴変化に、手の構造を反映させることができる。
【0104】
従って、手を握る動作の場合には、動作開始直後は、領域上部(図11(E)のtopの領域)にピクセルエッジ分布が集中し、動作終了時には、領域中央部(図11(E)のmiddleの領域)にピクセルエッジ分布が集中する。一方、領域下部(図11(E)のbottomの領域)には、ピクセルエッジ分布がほとんど生じない。これに対して、手を開く動作の場合には、動作開始直後は、領域中央部にピクセルエッジが集中し、動作終了時には、領域上部にピクセルエッジ分布が集中する。一方、領域下部には、手を握る動作と同様に、ピクセルエッジ分布がほとんど生じない。
【0105】
図4に戻って、ステップS11において、エッジ検出部57は、topの領域に属する垂直エッジピクセル数をet v、middleの領域の属する垂直エッジピクセル数をem v、および、bottomの領域に属する垂直エッジピクセル数をeb v、並びに、topの領域に属する水平エッジピクセル数をet h、middleの領域の属する水平エッジピクセル数をem h、および、bottomの領域に属する水平エッジピクセル数をeb hとして、次式(7)に従って、特徴ベクトルfを算出する。ここで、Fs=Fw×Fhである。
f≡(Rt v,Rt h,Rm v,Rm h,Rb v,Rb h)
=1/Fs・(et v,et h,em v,em h,eb v,eb h) ・・・(7)
【0106】
ステップS12において、DP値算出部62は、連続DPの手法を用いて、ステップS11の処理で算出された特徴ベクトルfに基づいて、DP値を算出する。ここで、認識対照パターンとして、ステップS11の処理で算出された特徴ベクトルfが用いられ、参照パターンとして、例えば、予め、手を握ったり開いたりしている動作がビデオカメラ2で撮像され、エッジ検出部57で算出される特徴ベクトルfの時系列のうち、手の握りあるいは開き動作に相当する部分が切り出されている。
【0107】
DP値算出部62は、時刻tにおいて、参照パターンR={r(γ)|1≦γ≦T}と認識対象パターンq(t)との距離d(t,γ)=‖q(t)−r(γ)‖を用いて、累積距離S(t,γ)を、次式(8)および式(9)に従って算出する。ここで、次式(8)は、累積距離S(t,γ)を算出するための初期条件とされる。
S(−1,γ)=S(0,γ)=∞(1≦γ≦T) ・・・(8)
【0108】
1≦γにおける累積距離S(t,γ)は、次式(9)で表わされる。
【数2】
【0109】
ここで、γ=Tとすると、S(t,T)は、参照パターンRの区域(1,T)について入力時系列パターンに最適に適合したときの累積距離を表わすことになる。これを重みの和3・Tで正規化すると、次式(10)で表わされる。
【数3】
これを時刻tにおける連続DP値に決定する。
【0110】
図13に示されるように、参照パターンRに類似したパターンが発生したときに、この連続DP値は最小値minを取る。この最小値minが所定の閾値以下になれば、参照パターンRとマッチングしたと判定される。従って、最小値minが検出されたとき、握り動作が認識されることになる。
【0111】
このように、DP値算出部62は、認識対象パターンが手の握り参照パターンにマッチした場合、「握り」を握り動作判定部61へ出力し、認識対象パターンが手の開き参照パターンにマッチした場合、「開き」を握り動作判定部61へ出力する。
【0112】
握り動作判定部61は、動き検出部56から「上向きの動き」が入力された後、Fmoveフレームの間にDP値算出部62から「開き」が入力されたとき、手の開き動作を認識することができる。また、握り動作判定部61は、動き検出部56から「下向きの動き」が入力された後、Fmoveフレームの間にDP算出部62から「握り」が入力されたとき、手の握り動作を認識することができる。なお、Fmoveの値は、任意に設定することが可能であり、例えば、15フレームなどの値が設定される。
【0113】
ステップS13において、重心軌跡認識部32は、ステップS3の処理で検出された重心に基づいて、手の振り動作を認識する。
【0114】
ここで、図14および図15のフローチャートを参照して、手の振り動作認識処理について説明する。
【0115】
ステップS101において、重心軌跡認識部32は、図16に示すような10個のバッファで構成されるリングバッファに、各フレームで選択された領域の重心位置をそれぞれ代入する。ステップS102において、重心軌跡認識部32は、ステップS101の処理で代入された現フレームの重心位置X,Yと、1フレーム前の重心位置X´,Y´の更新を行う。いまの場合、現フレームの重心位置X=X5,Y=Y5、1フレーム前の重心位置X´=X4,Y´=Y4に更新される。
【0116】
ステップS103において、重心軌跡認識部32は、X−X´の絶対値が所定の正の閾値より大きいのか否か、すなわち、現フレームのX座標とnフレーム(いまの場合、1フレーム)前のX´座標を比較し、変化があったのか否かを判定し、X−X´の絶対値が所定の正の閾値より大きくないと判定された場合、すなわち、変化がないと判定された場合、ステップS104に進む。
【0117】
ステップS104におてい、重心軌跡認識部32は、リングバッファが1周したのか否かを判定し、リングバッファが未だ1周していないと判定した場合、ステップS102に戻り、現フレームの重心位置X,Yと、1フレーム前の重心位置X´,Y´の更新を行い(いまの場合、現フレームの重心位置X=X4,Y=Y4、1フレーム前の重心位置X´=X3,Y´=Y3に更新し)、それ以降の処理を繰り返す。すなわち、X座標が変化するまで、1フレームずつさかのぼった、現フレームの重心位置X,Yと1フレーム前の重心位置X´,Y´に更新される。また、ステップS104において、リングバッファが1周したと判定された場合、ステップS128に進む。
【0118】
また、ステップS103において、X−X´の絶対値が所定の正の閾値より大きいと判定された場合、ステップS105に進み、重心軌跡認識部32は、変化したときの座標X´,Y´をXs,Ysにそれぞれ代入し、変数maxを0に、変数BigSkipをFALSEに初期設定する。ステップS106において、重心軌跡認識部32は、X−X´が0より大きいのか否かを判定し、0より大きい場合(X−X´が正の値の場合)、ステップS107に進み、さらに、X−X´が所定の正の閾値より大きいのか否かを判定する。
【0119】
ステップS107において、X−X´が所定の正の閾値より大きいと判定された場合、ステップS108に進み、重心軌跡認識部32は、変数BigSkipにTRUEを代入する。また、ステップS107において、X−X´が所定の正の閾値より大きくはないと判定された場合、ステップS109に進み、重心軌跡認識部32は、さらに、X−X´が所定の負の閾値より小さいのか否かを判定し、所定の負の閾値より小さいと判定した場合、ステップS123に進み、所定の負の閾値より小さくはないと判定した場合、ステップS110に進む。
【0120】
ステップS108またはS109の処理の後、ステップS110において、重心軌跡認識部32は、X−Xsの絶対値が変数maxの絶対値(いまの場合、0)より大きいのか否かを判定し、X−Xsの絶対値が変数maxの絶対値より大きいと判定した場合、ステップS111に進み、変数maxにX−Xsの値を代入する。また、ステップS110において、X−Xsの絶対値が変数maxの絶対値より大きくはないと判定した場合、ステップS111の処理をスキップし、ステップS112に進む。
【0121】
ステップS110またはステップS111の処理の後、ステップS112において、重心軌跡認識部32は、Y−Ysの絶対値が所定の閾値より小さいのか否かを判定し、所定の閾値より小さいと判定した場合、ステップS113に進み、Y−Ysの絶対値が所定の閾値より小さくはないと判定した場合、ステップS128に進む。
【0122】
ステップS113において、重心軌跡認識部32は、リングバッファが1周したのか否かを判定し、リングバッファが未だ1周していないと判定した場合、ステップS114に進み、重心軌跡認識部32は、現フレームの重心位置X,Yと、1フレーム前の重心位置X´,Y´の更新を行い、ステップS107に戻る。いまの場合、1フレームずつさかのぼった、現フレームの重心位置X=X4,Y=Y4、1フレーム前の重心位置X´=X3,Y´=Y3に更新される。また、ステップS113において、リングバッファが1周したと判定された場合、ステップS123に進む。
【0123】
また、ステップS106において、X−X´が0より大きくはないと判定された場合(X−X´が負の値であると判定された場合)、ステップS115に進み、重心軌跡認識部23は、X−X´が所定の負の閾値より小さいのか否かを判定し、所定の負の閾値より小さいと判定した場合、ステップS116に進む。ステップS116において、重心軌跡認識部32は、変数BigSkipにTRUEを代入する。また、ステップS115において、X−X´が所定の負の閾値より小さくはないと判定された場合、ステップS117に進み、重心軌跡認識部32は、さらに、X−X´が所定の正の閾値より大きいのか否かを判定し、所定の正の閾値より大きくはないと判定した場合、ステップS118に進み、所定の正の閾値より大きいと判定した場合、ステップS123に進む。
【0124】
ステップS116またはS117の処理の後、ステップS118において、重心軌跡認識部32は、X−Xsの絶対値が変数maxの絶対値より大きいのか否かを判定し、X−Xsの絶対値が変数maxの絶対値より大きいと判定した場合、ステップS119に進み、変数maxにX−Xsの値を代入する。また、ステップS118において、X−Xsの絶対値が変数maxの絶対値より大きくはないと判定した場合、ステップS119の処理をスキップし、ステップS120に進む。
【0125】
ステップS118またはステップS119の処理の後、ステップS120において、重心軌跡認識部32は、Y−Ysの絶対値が所定の閾値より小さいのか否かを判定し、所定の閾値より小さいと判定した場合、ステップS121に進み、Y−Ysの絶対値が所定の閾値より小さくはないと判定した場合、ステップS128に進む。
【0126】
ステップS121において、重心軌跡認識部32は、リングバッファが1周したのか否かを判定し、リングバッファが未だ1周していないと判定した場合、ステップS122に進み、重心軌跡認識部32は、現フレームの重心位置X,Yと、1フレーム前の重心位置X´,Y´の更新を行い、ステップS115に戻る。いまの場合、1フレームずつさかのぼった、現フレームの重心位置X=X4,Y=Y4、1フレーム前の重心位置X´=X3,Y´=Y3に更新される。また、ステップS121において、リングバッファが1周したと判定された場合、ステップS123に進む。
【0127】
ステップS109,113,117、またはステップS121の処理の後、ステップS123において、重心軌跡認識部32は、変数BigSkipがFALSEであるのか否かを判定し、変数BigSkipがFALSEであると判定した場合、ステップS124に進む、ステップS124において、重心軌跡認識部32は、変数maxの値が所定の正の閾値より大きいのか否かを判定し、変数maxの値が所定の正の閾値より大きいと判定した場合、ステップS125に進み、右の振りがあったと認識し、図4のステップS14にリターンする。
【0128】
また、ステップS124において、変数maxが所定の正の閾値より大きくはないと判定された場合、ステップS126に進み、重心軌跡認識部32は、さらに、変数maxが所定の負の閾値より小さいのか否かを判定し、変数maxの値が所定の負の閾値より小さいと判定した場合、ステップS127に進み、左の振りがあったと認識し、図4のステップS14にリターンする。
【0129】
ステップS123において、変数BigSkipがFALSEではないと判定された場合、ステップS126において、変数maxが所定の負の閾値より小さくはないと判定された場合、また、ステップS104,112,またはステップS120の処理の後、ステップS128において、重心軌跡認識部32は、手の振りはなかったと認識し、図4のステップS14にリターンする。
【0130】
また、他の例の振り動作認識処理について、図17のフローチャートを参照して説明する。ステップS141において、重心軌跡認識部32は、curr_gesにRight,Left、またはNoneを代入する。すなわち、図15のステップS125,S127、または、S128での処理結果(右振り、左振り、または手振りなし)を代入する。ステップS142において、重心軌跡認識部32は、現フレームの時刻と基準時刻とを比較し、現フレームの経過時間を算出する。ステップS143において、重心軌跡認識部32は、現フレームが右方向または左方向の動きがあったのか否かを判定し、右方向または左方向の動きがあったと判定した場合、ステップS144に進む。ステップS144において、重心軌跡認識部32は、経過時間を算出するための基準時刻を現フレームの時刻に更新する。
【0131】
また、ステップS143において、右方向または左方向の動きがなかったと判定された場合、ステップS144の処理をスキップし、ステップS145に進む。ステップS145において、重心軌跡認識部32は、ステップS142の処理で算出された現フレームの経過時間が所定の閾値より長いのか否かを判定し、現フレームの経過時間が所定の閾値より長いと判定した場合、ステップS146に進み、変数prev_gesに保存されているジェスチャ(右振りまたは左振り)を出力する。
【0132】
ステップS145において、現フレームの経過時間が所定の閾値より長くはないと判定された場合、ステップS147に進み、重心軌跡認識部32は、現フレームのジェスチャ(右振りまたは左振り)であるcurr_gesを出力する。ステップS148において、重心軌跡認識部32は、ステップS147の処理で出力された現フレームのジェスチャであるcurr_gesをprev_gesに代入(保存)する。
【0133】
ステップS149において、重心軌跡認識部32は、ステップS146またはS147の処理で出力されたジェスチャから、振り動作を認識し、図4のステップS14にリターンする。
【0134】
上述した処理は、短時間で一方の動き(例えば、左方向の動き)から他方の動き(例えば、右方向の動き)に変化した場合、一方(左方向)の動きを排除して、他方(右方向)の動きを認識するので、処理を高速化することができる。なお、図14および図15、または図17による処理と同様にして上下方向の手振りを認識することもできる。
【0135】
図4に戻って、ステップS14において、表示・出力装置4は、画像処理装置3の握り動作判定部61より供給された認識結果(握りまたは開き動作)、および、重心軌跡認識部32より供給された認識結果(身振りや手振り)を表示する。ステップS15において、画像処理装置3は、ユーザ1の動作が終了したのか否かを判定し、未だ、動作が終了していないと判定した場合、ステップS1に戻り、上述した処理を繰り返す。そして、ステップS15において、ユーザ1の動作が終了したと判定されると、処理は終了される。
【0136】
以上の握り動作認識処理の順序が明らかなようにまとめると、図18に示されるようになる。そこで、次に、図18を参照して、手の握り動作認識処理について説明する。なお、簡単のため、動きブロックの領域は、領域72のみとされ、動きブロックの領域が複数存在した場合に行われる評価値の最も小さい領域を選択するための処理はここでは省略する。
【0137】
ビデオカメラ2は、ユーザ1の手71を撮像し(図18(A))、撮像された画像データを輝度データに変換し、画像記憶部21に記憶させる。領域分割部22のフレーム間差分算出部41は、ビデオカメラ2で変換された現フレームの画像データの輝度データと画像記憶部21に記憶されている1フレーム前の画像データの輝度データとの間のフレーム間差分値を算出する。閾値処理部42は、フレーム間差分値のうち、所定の閾値以上のフレーム間差分値がある画素を1とし、所定の閾値に満たないフレーム間差分値の画素を0として2値化する(図18(B))。
【0138】
ラベリング部46は、2値化された画像の動きブロックの領域72をラベリング処理する。重心検出部51は、ラベリングされた領域72内の重心を検出する(図18(C))。
【0139】
エッジ検出部57は、領域72の垂直方向および水平方向のエッジ情報をそれぞれ検出する。すなわち、エッジ検出部57は、領域72の重心Cが矩形領域91の中心になるように設定して矩形領域91を3等分したtop,middle,bottomの3領域内の垂直方向のエッジピクセルの数をカウントするとともに(図18(E))、水平方向のエッジピクセルの数をカウントする(図18(F))。
【0140】
エッジ検出部57は、カウントされたエッジピクセル数に基づいて、上記式(7)に従って、特徴ベクトルfを算出する。DP値算出部62は、連続DPの手法を用いて、算出された特徴ベクトルfから連続DP値を算出し、参照パターンにマッチした動作を握り動作判定部61に出力する。これにより、握り動作判定部61は、手の握りまたは開き動作を認識することができる。
【0141】
以上のように、ビデオカメラで撮像した画像データから、ユーザの手の握りまたは開き動作を認識することができるので、マウスやキーボードなどの入力装置を用いることなく、離れた場所から容易にコンピュータ等を操作することができる。
【0142】
また、特別なデバイスや複数台のビデオカメラを使用していないため、低コストなシステムを実現することができる。
【0143】
また、以上においては、手の握り・開き動作を認識することは勿論、手の移動(軌跡)動作および手の振り動作も認識することができるので、例えば、コンピュータに対応付けた場合、手を移動(マウス移動)、手を握る(アイコン選択)、手を握ったまま移動(アイコンを選択したままドラッグ)、手を開く(アイコン選択解除)という操作を行ったり、左方向の振り(マウス左ボタンクリック)、右方向の振り(マウス右ボタンクリック)という操作を行ったりすることができる。従って、ユーザは、マウスを用いなくても、直感的な操作で、画面にアプリケーションを起動させたり、画面に表示されているウィンドウを移動させたりすることができる。
【0144】
これにより、例えば、ディスプレイに表示されているファイルを、手を握ることにより選択し、手を移動させることによりドラッグし、所定の場所(例えば、ハードディスクドライブなど)で手を開くことにより、所望のファイルの移動やコピーなどを直感的な動作で行うことができる。
【0145】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0146】
この記録媒体は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む、光磁気ディスク(MD(Mini-Disk)を含む)、若しくは半導体メモリなどよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、ハードディスクなどで構成される。
【0147】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0148】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0149】
【発明の効果】
以上のように、本発明の画像処理装置、画像処理方法、および記録媒体に記録されているプログラムによれば、手を撮像し、撮像された画像を輝度情報に変換し、変換された現フレームの輝度情報と、1フレーム前の輝度情報の差に基づいて、動き領域を検出し、検出された動き領域が手であるかを評価する評価値を算出し、算出された評価値に基づいて、複数の動き領域のうちの所定の領域を手の領域として選択し、選択された手の領域における現フレームの輝度情報と、1フレーム前の輝度情報の差によってできた画像のエッジ情報を抽出し、抽出されたエッジ情報の特徴ベクトルを特徴量として算出し、算出された特徴量に基づいて、DPマッチングの手法を用いてDP値を算出し、算出されたDP値が所定値より小さいか否かを判定し、DP値が所定値より小さいと判定された場合、手の握り動作を認識するようにしたので、低コストに、かつ、高精度に、ユーザの手の握りおよび開き動作を画像処理により認識することができる。
【図面の簡単な説明】
【図1】本発明を適用した画像処理システムの構成例を示す図である。
【図2】図1の画像処理装置の構成を示すブロック図である。
【図3】図2の画像処理部およびジェスチャ認識部の詳細な構成を示すブロック図である。
【図4】手の握り・振り動作認識処理を説明するフローチャートである。
【図5】図4のステップS2の領域分割処理を説明するフローチャートである。
【図6】領域分割処理を説明するための図である。
【図7】重心を算出する動作を説明するための図である。
【図8】図4のステップS9の動き方向検出処理を説明するフローチャートである。
【図9】動き方向を検出するフレームを説明するための図である。
【図10】動き方向を示す画素値を設定するための対応図である。
【図11】エッジ情報検出処理を説明するための図である。
【図12】エッジ情報検出処理に利用されるフィルタを示す図である。
【図13】 DPマッチングを説明するための図である。
【図14】図4のステップS13の振り動作認識処理を説明するフローチャートである。
【図15】図14に続くフローチャートである。
【図16】リングバッファを説明する図である。
【図17】図4のステップS13の他の例の振り動作認識処理を説明するフローチャートである。
【図18】握り動作認識処理を説明するための図である。
【符号の説明】
2 ビデオカメラ, 3 画像処理装置, 4 表示・出力装置, 11 画像処理部, 12 ジェスチャ認識部, 21 画像記憶部, 22 領域分割部, 23 領域処理部, 31 握り動作認識部, 32 重心軌跡認識部, 41 フレーム間差分算出部, 42 閾値処理部, 43 ブロック内カウント部, 44 閾値処理部, 45 周辺探索部, 46 ラベリング部, 51 重心検出部, 52 外接枠検出部, 53 面積検出部, 54 領域評価部, 55 領域記憶部, 61 握り動作判定部, 62 DP値算出部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method, and a recording medium, and more particularly, to an image processing apparatus and method, and a recording medium that can recognize a user's hand gripping and opening operation by image processing.
[0002]
[Prior art]
Conventionally, several methods for interfacing between a person and a computer by incorporating user gestures and gestures as computer graphics have been proposed.
[0003]
For example, Japanese Patent Laid-Open No. 11-195140 discloses a technique for editing three-dimensional computer graphics data by operating a computer with gestures or hand gestures using a data glove.
[0004]
Further, for example, in Japanese Patent Laid-Open No. 9-311759, a user gestures using a penlight that lights and blinks in a predetermined color, and the penlight captures and recognizes an image with a camera. Techniques for interfacing are disclosed.
[0005]
Furthermore, for example, Japanese Patent Laid-Open No. 9-102046 discloses a technique for performing an interface between a computer and a person by estimating and recognizing a hand shape from a silhouette image captured by a camera.
[0006]
Furthermore, for example, Japanese Patent Laid-Open No. 8-212327 discloses a computer and a person by recognizing gestures using an orientation one-dimensional histogram and a two-dimensional spatio-temporal orientation histogram of a hand image captured by a camera. A technique for performing the interface is disclosed.
[0007]
Furthermore, for example, Japanese Patent Application Laid-Open No. 9-179888 discloses a technique for performing an interface between a computer and a person by recognizing the three-dimensional posture and gesture of a hand using two cameras. Yes.
[0008]
Furthermore, for example, Japanese Patent Laid-Open No. 11-162151 discloses a technique for performing an interface between a computer and a person by recognizing a user's gesture using a continuous DP (Continuous Dynamic Programming) technique. Yes.
[0009]
[Problems to be solved by the invention]
In the case of a method using a data glove (Japanese Patent Laid-Open No. 11-195140), the shape of the hand and the movement of the hand can be recognized, but the data glove is inconvenient to attach and detach, and the data glove and the computer are connected. There is a problem that the cable to be troublesome.
[0010]
Therefore, in consideration of user convenience, a method using a penlight (Japanese Patent Laid-Open No. 9-311759) has been proposed. However, the user must have a penlight, and the trouble for the user still remains. Further, since a special device (penlight) is used, there is a problem that lacks versatility.
[0011]
In order to reduce the troublesomeness for the user, methods for recognizing the shape of the hand imaged by the camera (Japanese Patent Laid-Open Nos. 9-102046 and 8-212327) have been proposed. There is a possibility that the shape of the hand may not be accurately detected due to a change or the like, and there is a problem of erroneous recognition.
[0012]
In order to prevent erroneous recognition, a method for recognizing an image using a plurality of cameras has been proposed (Japanese Patent Laid-Open No. 9-179988), but there is a problem that cannot be realized at low cost.
[0013]
Furthermore, although a gesture recognition method using continuous DP has been proposed (Japanese Patent Laid-Open No. 11-162151), there is a problem that it is impossible to recognize a hand movement such as grasping (gripping).
[0014]
Therefore, Japanese Patent Application Laid-Open No. 11-296673 discloses that the position pointed to by the user is specified. However, it is possible to recognize an operation such as grasping (holding) with a hand and selecting with a simple method. There was a problem that was difficult.
[0015]
The present invention has been made in view of such a situation, and can recognize a user's gesture at a low cost and with high accuracy, and can recognize a grasping operation by a hand by image processing. To do.
[0016]
[Means for Solving the Problems]
An image processing apparatus according to the present invention includes an imaging unit that captures an image of a hand, a conversion unit that converts an image captured by the imaging unit into luminance information, and a conversion unit that converts the image.Of the current frameLuminance informationAnd the difference in luminance information of the previous frameBased on the movement area detection means for detecting the movement area, the evaluation value calculation means for calculating the evaluation value for evaluating whether the movement area detected by the movement area detection means is a hand, and the evaluation value calculation means Multiple motion regions based on the evaluated valuesA predetermined area ofHand areaAsSelection means to select and the hand area selected by the selection meansAn image formed by the difference between the luminance information of the current frame and the luminance information of the previous frameBased on the feature information calculated by the edge information extraction means for extracting the edge information, the feature quantity calculation means for calculating the feature vector of the edge information extracted by the edge information extraction means as the feature quantity, and the feature quantity calculated by the feature quantity calculation means The DP value calculating means for calculating the DP value using the DP matching method, the determining means for determining whether the DP value calculated by the DP value calculating means is smaller than a predetermined value, and the determining means And a recognition means for recognizing a hand gripping operation when it is determined that is smaller than a predetermined value.
[0017]
The motion region detection means is configured to detect a difference between luminance information of the current frame and luminance information of the previous frameButIt is possible to detect a motion region by determining whether or not it is equal to or greater than a predetermined threshold.
[0018]
The image processing apparatus according to the present invention may further include a centroid calculating unit that calculates the centroid of the motion region detected by the motion region detecting unit, and the edge information extracting unit includes the motion calculated by the centroid calculating unit. A predetermined rectangular area centered on the center of gravity of the area can be divided into three equal parts in the vertical direction, and edge information in the vertical and horizontal directions can be extracted in each area.
[0019]
The image processing apparatus of the present inventionMotion direction detection means for detecting the motion direction of the motion region selected by the selection meansCan be further provided,The recognizing means recognizes the movement of the hand detected by the movement direction detecting means as a mouse moving operation, recognizes the movement of holding the hand as an operation of selecting an icon by the mouse, and moves the movement while holding the hand to the icon. Is recognized as a dragging operation with the button selected, and the movement to open the hand is recognized as the operation to deselect the icon, and the movement of shaking the hand to the left is recognized as an operation of clicking the left mouse button, and the hand is moved to the right Recognizing a movement in the direction as a click of the right mouse buttonTo be able to.
[0021]
The image processing method of the present invention includes an imaging step for imaging a hand, a conversion step for converting an image captured by the processing of the imaging step into luminance information, and conversion by the processing of the conversion step.Of the current frameLuminance informationAnd the difference in luminance information of the previous frameA motion region detection step for detecting a motion region, an evaluation value calculation step for calculating an evaluation value for evaluating whether the motion region detected by the processing of the motion region detection step is a hand, and an evaluation value calculation step Based on the evaluation value calculated by the processing ofA predetermined area ofHand areaAsSelection step to select and the hand region selected by the selection step processAn image formed by the difference between the luminance information of the current frame and the luminance information of the previous frameEdge information extracting step for extracting edge information, a feature amount calculating step for calculating a feature vector of edge information extracted by the processing of the edge information extracting step as a feature amount, and a feature calculated by the processing of the feature amount calculating step A DP value calculating step for calculating a DP value using a DP matching technique based on the amount; a determining step for determining whether the DP value calculated by the processing of the DP value calculating step is smaller than a predetermined value; A recognition step of recognizing a hand gripping operation when the DP value is determined to be smaller than a predetermined value by the processing of the determination step.
[0022]
The program recorded on the recording medium of the present invention is converted by the imaging step of imaging the hand, the conversion step of converting the image captured by the processing of the imaging step into luminance information, and the processing of the conversion stepOf the current frameLuminance informationAnd the difference in luminance information of the previous frameA motion region detection step for detecting a motion region, an evaluation value calculation step for calculating an evaluation value for evaluating whether the motion region detected by the processing of the motion region detection step is a hand, and an evaluation value calculation step Based on the evaluation value calculated by the processing ofA predetermined area ofHand areaAsSelection step to select and the hand region selected by the selection step processAn image formed by the difference between the luminance information of the current frame and the luminance information of the previous frameEdge information extracting step for extracting edge information, a feature amount calculating step for calculating a feature vector of edge information extracted by the processing of the edge information extracting step as a feature amount, and a feature calculated by the processing of the feature amount calculating step A DP value calculating step for calculating a DP value using a DP matching technique based on the amount; a determining step for determining whether the DP value calculated by the processing of the DP value calculating step is smaller than a predetermined value; A recognition step of recognizing a hand gripping operation when the DP value is determined to be smaller than a predetermined value by the processing of the determination step.
[0023]
In the image processing apparatus, the image processing method, and the program recorded on the recording medium of the present invention, the hand is imaged, and the captured image is converted into luminance information and converted.Of the current frameLuminance informationAnd the difference in luminance information of the previous frameAnd a motion area is detected, an evaluation value for evaluating whether the detected motion area is a hand is calculated, and a plurality of motion areas are calculated based on the calculated evaluation value.A predetermined area ofHand areaAsSelected and selected hand areaAn image formed by the difference between the luminance information of the current frame and the luminance information of the previous frameEdge information is extracted, a feature vector of the extracted edge information is calculated as a feature amount, a DP value is calculated using a DP matching technique based on the calculated feature amount, and the calculated DP value is When it is determined whether or not the DP value is smaller than the predetermined value, it is recognized that the hand gripping action is recognized.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing an embodiment of an image processing system according to the present invention.
[0025]
The
[0026]
FIG. 2 is a block diagram illustrating a configuration example of the
[0027]
The
[0028]
FIG. 3 is a block diagram illustrating a detailed configuration example of the
[0029]
The
[0030]
The
[0031]
The inter-frame
[0032]
Based on the calculation result (interframe difference value) supplied from the interframe
[0033]
The
[0034]
The
[0035]
Based on the recognition result supplied from the
[0036]
The
[0037]
The center-of-
[0038]
The circumscribed
[0039]
The
[0040]
The
[0041]
The
[0042]
The
[0043]
Based on the binarized inter-frame difference value supplied from the
[0044]
The gripping
[0045]
The DP
[0046]
The center-of-gravity
[0047]
Next, with reference to the flowchart of FIG. 4, the hand grip / swing motion recognition process executed by the
[0048]
In step S <b> 1, the
Y = 0.299R + 0.587G + 0.114B (1)
[0049]
In step S2, the area dividing unit 22 performs area division on the image captured in the process of step S1.
[0050]
Here, the region division processing will be described in detail with reference to the flowchart of FIG.
[0051]
In step S <b> 31, the inter-frame
[0052]
In the case of the example in FIG. 6A, a pixel having an inter-frame difference value larger than a predetermined threshold (that is, a pixel having a pixel value of 1) is represented in black, and a pixel having an inter-frame difference value smaller than the predetermined threshold (that is, , Pixels with a pixel value of 0) are represented in white.
[0053]
In step S32, the
[0054]
In step S33, the
[0055]
In step S34, the
[0056]
In step S35, the
[0057]
Such a process is performed for all blocks that are not recognized as motion blocks in the process of step S33. As a result, as shown in FIG. 6E, the
[0058]
In step S36, the
[0059]
Returning to step S3 of FIG. 4, the center-of-
[0060]
Here, a method of calculating the center of gravity in the labeled region will be described with reference to FIG.
[0061]
In the case of the example in FIG. 7A, the average position is calculated using pixels in the circumscribed frame of the labeled area, and this is used as the center of gravity C.
[0062]
In the case of the example of FIG. 7B, a weighted weighted average is calculated in the upper part of the screen and is set as the center of gravity C. That is, the upper left coordinate of the circumscribed frame of the labeled area (Xul, Yul), Lower right coordinates (Xbr, Ybr), The weight corresponding to a certain pixel (x, y) is calculated according to the following equation (2), the calculation result is substituted into the following equation (3), and a weighted weighted average is calculated. In this example, when a hand is put out with respect to the
(Ybr-Y) / (Ybr-Yul(2)
[0063]
[Expression 1]
[0064]
In the case of the example of FIG. 7C, in the first time, as shown in the example of FIG. 7A, the average position C1 is calculated using the pixels in the circumscribed frame of the labeled area. In the second time, the average position C2 is calculated using pixels located above the screen from the average position C1. Similarly, the average position after the third time is sequentially calculated repeatedly. The n-th average position Cn is defined as the final center of gravity C.
[0065]
When the center of gravity of the labeled region (in this case, the
[0066]
In step S5, the
[0067]
In step S6, the
[0068]
In step S7, the
Φ (i) = αc| Ci-Cp| + Αa| Ai-Ap| + Αs| Si-Sp| −αmNmi
... (4)
[0069]
In the above formula (4), CiIs the center of gravity of region i, AiIs the aspect ratio of region i, SiIs the area of region i, NmiRepresents the number of moving pixels in region i, and Cp, Ap, SpRepresents the barycentric position, aspect ratio, and area of the region p selected in the previous frame, and αc, Αa, Αs, ΑmAre respective weighting coefficients indicating the importance of the position of the center of gravity, the aspect ratio, the area, and the number of moving pixels. For example, the weighting factor includes αc= 10.0, αa= 10.2, αsA value such as = 0.2 is used.
[0070]
In step S8, the
[0071]
In step S9, the
[0072]
Here, the movement direction detection process will be described with reference to the flowchart of FIG. Note that, as shown in FIG. 9, a description will be made assuming that the current frame region composed of 3 × 3 pixels is compared with the previous frame region to detect the movement direction of the current frame region.
[0073]
In step S41, the
[0074]
If it is determined in step S43 that P (i, j) −P ′ (i, j) is greater than a predetermined positive threshold value, the process proceeds to step S44, and the
[0075]
If it is determined in step S45 that P (i, j) −P (i, j + 1) is not greater than the predetermined threshold value, the process proceeds to step S47, and the
[0076]
On the other hand, if it is determined in step S44 that the vertical movement is detected instead of the horizontal movement, the process proceeds to step S49, and the
[0077]
If it is determined in step S49 that P (i, j) −P (i + 1, j) is not greater than the predetermined threshold value, the process proceeds to step S51, and the
[0078]
On the other hand, if it is determined in step S43 that P (i, j) −P ′ (i, j) is not greater than the predetermined positive threshold value, the process proceeds to step S53, and the
[0079]
If it is determined in step S53 that P (i, j) −P ′ (i, j) is smaller than the predetermined negative threshold value, the process proceeds to step S54, and the
[0080]
If it is determined in step S55 that P (i, j + 1) −P (i, j) is not greater than the predetermined threshold value, the process proceeds to step S57, and the
[0081]
On the other hand, if it is determined in step S54 that the vertical movement is detected instead of the horizontal movement, the process proceeds to step S59, and the
[0082]
If it is determined in step S59 that P (i + 1, j) −P (i, j) is not greater than the predetermined threshold value, the process proceeds to step S61, and the
[0083]
If it is determined in step S42 that motion in both the vertical and horizontal directions has been detected, or in step S53, P (i, j) −P ′ (i, j) is smaller than a predetermined negative threshold. If it is determined that there is no, the process returns to step S9 in FIG.
[0084]
In step S9 of FIG. 4, the
[0085]
In the example of FIG. 10, LU (Left Upper) represents that the pixel has moved to the upper left, U (Upper) represents that the pixel has moved upward, and RU (Right Upper) represents the pixel to the upper right. L (Left) indicates that the pixel has moved to the left, N (No move) indicates that the pixel has not moved, and R (Right) indicates that the pixel has moved to the right. LD (Left Down) indicates that the pixel has moved to the lower left, D (Down) indicates that the pixel has moved down, and RD (Right Down) indicates that the pixel has moved to the lower right. Indicates that it has moved.
[0086]
In FIG. 10, for example, N = 0, LU = 1, U = 2, RU = 3, L = 4, R = 5, LD = 6, D = 7, and RD = 8. When the calculated variables h and v are both -1, the pixel value indicating the movement direction is set to 1. When the calculated variable h is 0 and the variable v is −1, the pixel value indicating the movement direction is set to 2. When the calculated variable h is 1 and the variable v is −1, the pixel value indicating the movement direction is set to 3. When the calculated variable h is −1 and the variable v is 0, the pixel value indicating the movement direction is set to 4. When the calculated variables h and v are both 0, the pixel value indicating the movement direction is set to 0. When the calculated variable h is 1 and the variable v is 0, the pixel value indicating the movement direction is set to 5. When the calculated variable h is −1 and the variable v is 1, the pixel value indicating the movement direction is set to 6. When the calculated variable h is 0 and the variable v is 1, the pixel value indicating the movement direction is set to 7. When the calculated variables h and v are both 1, the pixel value indicating the movement direction is set to 8.
[0087]
That is, when the pixel value is 1, the pixel has moved to the upper left, when the pixel value is 2, the pixel has moved up, and when the pixel value is 3, the pixel has moved to the upper right. If the pixel value is 4, the pixel has moved to the left, if the pixel value is 0, the pixel has not moved, and if the pixel value is 5, the right When the pixel value is 6, the pixel has moved to the lower left, when the pixel value is 7, the pixel has moved down, and the pixel value is 8. In some cases, the pixel has moved to the lower right.
[0088]
Note that the present invention is not limited to this, and it is also possible to detect the motion direction using a technique such as block matching or motion vector matching.
[0089]
For example, the number N of pixels having U and D pixel values in the region selected in step S8.U, NDEach and NUIs over a predetermined threshold value, it is recognized that “upward movement has occurred” within the region, and NDIs greater than a predetermined threshold value, it is recognized that “downward movement has occurred” within the region. NU, NDHowever, if both exceed a predetermined threshold, it is recognized as “no movement”.
[0090]
Returning to step S10 in FIG. 4, the
[0091]
Here, the process of detecting edge information will be described in more detail with reference to FIG. In the following description, it is assumed that the
[0092]
FIG. 11A shows the center of gravity C of the
[0093]
The
[0094]
Next, the edge information detection process will be described in more detail. For detection of edge information, a filter as shown in FIG. 12 is used.
[0095]
The
[0096]
First, an example of determining whether or not the center pixel P (i, j) (FIG. 9) in the current frame is a vertical edge pixel will be described. The edge detection unit 37 performs a product-sum operation Lv of the filter and the pixel value shown in FIG. 12A according to the following equation (5).
Lv = -1 * P (i-1, j-1) + 0 * P (i-1, j) + 1 * P (i-1, j + 1) -2 * P (i, j-1)
+ 0 · P (i, j) + 2 · P (i, j + 1) −1 · P (i + 1, j−1) + 0 · P (i + 1, j)
+ 1 · P (i + 1, j + 1) (5)
[0097]
The
[0098]
Next, an example of determining whether or not the center pixel P (i, j) (FIG. 9) in the current frame is a horizontal edge pixel will be described. The edge detection unit 37 performs a product-sum operation Lh of the filter and the pixel value shown in FIG. 12B according to the following equation (6).
Lh = -1 * P (i-1, j-1) -2 * P (i-1, j) -1 * P (i-1, j + 1) + 0 * P (i, j-1)
+ 0 · P (i, j) + 0 · P (i, j + 1) + 1 · P (i + 1, j-1) + 2 · P (i + 1, j)
+ 1 · P (i + 1, j + 1) (6)
[0099]
The
[0100]
By performing such processing on each pixel of the binarized inter-frame difference image, vertical edge information and horizontal edge information are detected.
[0101]
Next, consider the three areas of top, middle, and bottom obtained by dividing the Fw × Fh rectangular area 91 (FIG. 11E) into three equal parts in the vertical direction.
[0102]
The
[0103]
That is, when the user's 1 hand 71 (FIG. 18 (A)) is imaged with the fingertip facing upward, the imaged image is divided into three and the number of edge pixels for each region is counted. Thus, the structure of the hand can be reflected in the temporal feature change that occurs during the hand gripping operation.
[0104]
Therefore, in the case of a hand gripping operation, the pixel edge distribution is concentrated on the upper part of the region (the top region in FIG. 11E) immediately after the start of the operation, and at the end of the operation, the center of the region (FIG. 11E). The pixel edge distribution is concentrated in the middle area. On the other hand, the pixel edge distribution hardly occurs in the lower part of the region (the bottom region in FIG. 11E). On the other hand, in the operation of opening the hand, the pixel edge is concentrated at the center of the region immediately after the start of the operation, and the pixel edge distribution is concentrated at the upper portion of the region at the end of the operation. On the other hand, the pixel edge distribution hardly occurs in the lower part of the region, similar to the operation of grasping the hand.
[0105]
Returning to FIG. 4, in step S <b> 11, the
f≡ (Rt v, Rt h, Rm v, Rm h, Rb v, Rb h)
= 1 / Fs · (et v, Et h, Em v, Em h, Eb v, Eb h(7)
[0106]
In step S12, the DP
[0107]
At time t, the DP
S (-1, γ) = S (0, γ) = ∞ (1 ≦ γ ≦ T) (8)
[0108]
The cumulative distance S (t, γ) when 1 ≦ γ is expressed by the following equation (9).
[Expression 2]
[0109]
Here, if γ = T, S (t, T) represents the cumulative distance when the area (1, T) of the reference pattern R is optimally adapted to the input time series pattern. When this is normalized by the sum of
[Equation 3]
This is determined as a continuous DP value at time t.
[0110]
As shown in FIG. 13, when a pattern similar to the reference pattern R is generated, the continuous DP value takes the minimum value min. If the minimum value min is less than or equal to a predetermined threshold value, it is determined that the reference pattern R has been matched. Therefore, when the minimum value min is detected, the gripping operation is recognized.
[0111]
Thus, when the recognition target pattern matches the hand grip reference pattern, the DP
[0112]
After the “upward movement” is input from the
[0113]
In step S <b> 13, the center-of-gravity
[0114]
Here, the hand movement recognition process will be described with reference to the flowcharts of FIGS. 14 and 15.
[0115]
In step S101, the center-of-gravity
[0116]
In step S103, the center-of-gravity
[0117]
In step S104, the center-of-gravity
[0118]
If it is determined in step S103 that the absolute value of XX ′ is greater than a predetermined positive threshold value, the process proceeds to step S105, where the center-of-gravity
[0119]
If it is determined in step S107 that XX ′ is larger than the predetermined positive threshold value, the process proceeds to step S108, and the barycenter
[0120]
After step S108 or S109, in step S110, the center-of-gravity
[0121]
After step S110 or step S111, in step S112, the center-of-gravity
[0122]
In step S113, the center-of-gravity
[0123]
In Step S106, when it is determined that XX ′ is not greater than 0 (when it is determined that XX ′ is a negative value), the process proceeds to Step S115, where the center-of-gravity locus recognition unit 23 , X−X ′ is determined to be smaller than a predetermined negative threshold, and if it is determined to be smaller than the predetermined negative threshold, the process proceeds to step S116. In step S116, the center-of-gravity
[0124]
After step S116 or S117, in step S118, the center-of-gravity
[0125]
After step S118 or step S119, in step S120, the center-of-gravity
[0126]
In step S121, the center-of-gravity
[0127]
After step S109, 113, 117 or step S121, in step S123, the barycenter
[0128]
If it is determined in step S124 that the variable max is not greater than the predetermined positive threshold value, the process proceeds to step S126, and the gravity center
[0129]
If it is determined in step S123 that the variable BigSkip is not FALSE, if it is determined in step S126 that the variable max is not smaller than the predetermined negative threshold value, or if the process of step S104, 112, or step S120 is performed. After that, in step S128, the barycentric
[0130]
Another example of the swing motion recognition process will be described with reference to the flowchart of FIG. In step S141, the barycenter
[0131]
If it is determined in step S143 that there is no rightward or leftward movement, the process of step S144 is skipped and the process proceeds to step S145. In step S145, the barycenter
[0132]
If it is determined in step S145 that the elapsed time of the current frame is not longer than the predetermined threshold value, the process proceeds to step S147, and the barycentric
[0133]
In step S149, the center-of-gravity
[0134]
When the process described above changes from one movement (for example, leftward movement) to the other movement (for example, rightward movement) in a short time, the one (leftward) movement is excluded and the other ( Since the movement in the right direction) is recognized, the processing can be speeded up. Note that it is also possible to recognize the hand gesture in the vertical direction in the same manner as the processing in FIG. 14, FIG. 15, or FIG.
[0135]
Returning to FIG. 4, in step S <b> 14, the display /
[0136]
When the order of the above-described gripping motion recognition processing is summarized, it is as shown in FIG. Then, with reference to FIG. 18, the hand gripping movement recognition process will be described next. For simplification, the motion block region is only the
[0137]
The
[0138]
The
[0139]
The
[0140]
The
[0141]
As described above, since the user's hand gripping or opening operation can be recognized from the image data captured by the video camera, a computer or the like can be easily obtained from a remote place without using an input device such as a mouse or a keyboard. Can be operated.
[0142]
In addition, since no special device or a plurality of video cameras are used, a low-cost system can be realized.
[0143]
In addition, in the above, it is possible to recognize the hand movement (trajectory) movement and the hand swinging movement as well as the hand gripping / opening movement. Move (mouse move), hold hand (icon selection), move while holding hand (drag with icon selected), open hand (deselect icon), swing left (left mouse) Button click) and swinging right (mouse right button click) can be performed. Therefore, the user can start an application on the screen or move a window displayed on the screen by an intuitive operation without using a mouse.
[0144]
Thus, for example, a file displayed on the display is selected by grasping the hand, dragged by moving the hand, and opened in a predetermined place (for example, a hard disk drive, etc.), and the desired file is displayed. You can move and copy files with intuitive actions.
[0145]
The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.
[0146]
The recording medium is distributed to provide a program to the user separately from the computer, and includes a magnetic disk (including a floppy disk) on which the program is recorded, an optical disk (CD-ROM (Compact Disk-Read Only Memory)) , Not only composed of package media consisting of magneto-optical disk (including MD (Mini-Disk)), including DVD (Digital Versatile Disk), or semiconductor memory, but also pre-installed in the computer Consists of a ROM, hard disk, etc. that provide the program.
[0147]
In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
[0148]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0149]
【The invention's effect】
As described above, according to the image processing apparatus, the image processing method, and the program recorded in the recording medium of the present invention, the hand is imaged, the captured image is converted into luminance information, and the image is converted.Of the current frameLuminance informationAnd the difference in luminance information of the previous frameBased on the movement area, calculating an evaluation value for evaluating whether the detected movement area is a hand, and calculating a plurality of movement areas based on the calculated evaluation valueA predetermined area ofHand areaAsSelect and select hand areaAn image formed by the difference between the luminance information of the current frame and the luminance information of the previous frameEdge information is extracted, a feature vector of the extracted edge information is calculated as a feature amount, a DP value is calculated using a DP matching technique based on the calculated feature amount, and the calculated DP value is It is determined whether or not the DP value is smaller than the predetermined value, and when the DP value is determined to be smaller than the predetermined value, the hand gripping operation is recognized. The gripping and opening operations can be recognized by image processing.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration example of an image processing system to which the present invention is applied.
2 is a block diagram illustrating a configuration of the image processing apparatus in FIG. 1. FIG.
3 is a block diagram illustrating a detailed configuration of an image processing unit and a gesture recognition unit in FIG. 2;
FIG. 4 is a flowchart illustrating hand gripping / swinging motion recognition processing.
FIG. 5 is a flowchart for explaining area division processing in step S2 of FIG. 4;
FIG. 6 is a diagram for explaining area division processing;
FIG. 7 is a diagram for explaining an operation of calculating a center of gravity.
FIG. 8 is a flowchart for explaining a movement direction detection process in step S9 of FIG.
FIG. 9 is a diagram for explaining a frame for detecting a movement direction;
FIG. 10 is a correspondence diagram for setting a pixel value indicating a movement direction.
FIG. 11 is a diagram for explaining edge information detection processing;
FIG. 12 is a diagram illustrating a filter used for edge information detection processing.
FIG. 13 is a diagram for explaining DP matching.
FIG. 14 is a flowchart for explaining a swing motion recognition process in step S13 of FIG.
FIG. 15 is a flowchart following FIG. 14;
FIG. 16 is a diagram illustrating a ring buffer.
FIG. 17 is a flowchart illustrating another example of the swing motion recognition process in step S13 of FIG.
FIG. 18 is a diagram for explaining a gripping motion recognition process.
[Explanation of symbols]
2 video camera, 3 image processing device, 4 display / output device, 11 image processing unit, 12 gesture recognition unit, 21 image storage unit, 22 region dividing unit, 23 region processing unit, 31 grasping motion recognition unit, 32 gravity center locus recognition Unit, 41 frame difference calculation unit, 42 threshold processing unit, 43 intra-block counting unit, 44 threshold processing unit, 45 peripheral search unit, 46 labeling unit, 51 centroid detection unit, 52 circumscribed frame detection unit, 53 area detection unit, 54 region evaluation unit, 55 region storage unit, 61 gripping motion determination unit, 62 DP value calculation unit
Claims (6)
前記撮像手段により撮像された画像を輝度情報に変換する変換手段と、
前記変換手段により変換された現フレームの前記輝度情報と、1フレーム前の前記輝度情報の差に基づいて、動き領域を検出する動き領域検出手段と、
前記動き領域検出手段により検出された前記動き領域が前記手であるかを評価する評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された前記評価値に基づいて、複数の前記動き領域のうちの所定の領域を前記手の領域として選択する選択手段と、
前記選択手段により選択された前記手の領域における前記現フレームの前記輝度情報と、前記1フレーム前の前記輝度情報の差によってできた画像のエッジ情報を抽出するエッジ情報抽出手段と、
前記エッジ情報抽出手段により抽出された前記エッジ情報の特徴ベクトルを特徴量として算出する特徴量算出手段と、
前記特徴量算出手段により算出された前記特徴量に基づいて、DPマッチングの手法を用いてDP値を算出するDP値算出手段と、
前記DP値算出手段により算出された前記DP値が所定値より小さいか否かを判定する判定手段と、
前記判定手段により、前記DP値が前記所定値より小さいと判定された場合、前記手の握り動作を認識する認識手段と
を備えることを特徴とする画像処理装置。Imaging means for imaging the hand;
Conversion means for converting an image captured by the imaging means into luminance information;
A motion area detecting means for detecting a motion area based on a difference between the luminance information of the current frame converted by the converting means and the luminance information of one frame before ;
Evaluation value calculation means for calculating an evaluation value for evaluating whether the movement area detected by the movement area detection means is the hand;
Selection means for selecting a predetermined area of the plurality of movement areas as the hand area based on the evaluation value calculated by the evaluation value calculation means;
Edge information extraction means for extracting edge information of an image formed by a difference between the luminance information of the current frame in the hand region selected by the selection means and the luminance information of the previous frame ;
Feature amount calculating means for calculating the feature vector of the edge information extracted by the edge information extracting means as a feature amount;
DP value calculation means for calculating a DP value using a DP matching technique based on the feature quantity calculated by the feature quantity calculation means;
Determining means for determining whether the DP value calculated by the DP value calculating means is smaller than a predetermined value;
An image processing apparatus comprising: a recognizing unit that recognizes the hand gripping operation when the determining unit determines that the DP value is smaller than the predetermined value.
ことを特徴とする請求項1に記載の画像処理装置。The motion area detection unit, the said luminance information of the current frame, by a difference of one frame before the luminance information is equal to or greater than a predetermined threshold value, to detect the motion region The image processing apparatus according to claim 1, wherein:
前記エッジ情報抽出手段は、前記重心算出手段により算出された前記動き領域の重心を中心とする所定の矩形領域を上下方向に3等分し、各領域のそれぞれにおいて、垂直方向および水平方向のエッジ情報を抽出する
ことを特徴とする請求項1に記載の画像処理装置。Centroid calculating means for calculating the centroid of the motion area detected by the motion area detecting means,
The edge information extracting means divides a predetermined rectangular area centered on the center of gravity of the motion area calculated by the center of gravity calculating means into three equal parts in the vertical direction, and in each of the areas, vertical and horizontal edges The image processing apparatus according to claim 1, wherein information is extracted.
前記認識手段は、前記動き方向検出手段により検出された前記手の動きをマウスの移動操作と認識し、前記手を握る動作を前記マウスがアイコンを選択する操作と認識し、前記手を握ったまま移動させる動作を前記アイコンを選択したままドラッグする操作と認識し、前記手を開く動作を前記アイコンの選択を解除する操作と認識し、前記手を左方向に振る動作を前記マウスの左ボタンをクリックする操作と認識し、前記手を右方向に振る動作を前記マウスの右ボタンをクリックする操作と認識する
ことを特徴とする請求項1に記載の画像処理装置。A moving direction detecting unit for detecting a moving direction of the moving region selected by the selecting unit;
The recognition means recognizes the movement of the hand detected by the movement direction detection means as a mouse movement operation, recognizes the movement of the hand as an operation of selecting an icon by the mouse, and holds the hand Recognizing the movement operation while the icon is selected as an operation of dragging, recognizing the operation of opening the hand as an operation of canceling the selection of the icon, and the operation of shaking the hand leftward as the left button of the mouse The image processing apparatus according to claim 1, wherein the image processing apparatus recognizes an operation of clicking and recognizes an operation of shaking the hand in the right direction as an operation of clicking the right button of the mouse.
前記撮像ステップの処理により撮像された画像を輝度情報に変換する変換ステップと、
前記変換ステップの処理により変換された現フレームの前記輝度情報と、1フレーム前の前記輝度情報の差に基づいて、動き領域を検出する動き領域検出ステップと、
前記動き領域検出ステップの処理により検出された前記動き領域が前記手であるかを評価する評価値を算出する評価値算出ステップと、
前記評価値算出ステップの処理により算出された前記評価値に基づいて、複数の前記動き領域のうちの所定の領域を前記手の領域として選択する選択ステップと、
前記選択ステップの処理により選択された前記手の領域における前記現フレームの前記輝度情報と、前記1フレーム前の前記輝度情報の差によってできた画像のエッジ情報を抽出するエッジ情報抽出ステップと、
前記エッジ情報抽出ステップの処理により抽出された前記エッジ情報の特徴ベクトルを特徴量として算出する特徴量算出ステップと、
前記特徴量算出ステップの処理により算出された前記特徴量に基づいて、DPマッチングの手法を用いてDP値を算出するDP値算出ステップと、
前記DP値算出ステップの処理により算出された前記DP値が所定値より小さいか否かを判定する判定ステップと、
前記判定ステップの処理により、前記DP値が前記所定値より小さいと判定された場合、前記手の握り動作を認識する認識ステップと
を含むことを特徴とする画像処理方法。An imaging step for imaging the hand;
A conversion step of converting an image captured by the processing of the imaging step into luminance information;
A motion region detection step of detecting a motion region based on a difference between the luminance information of the current frame converted by the processing of the conversion step and the luminance information of the previous frame ;
An evaluation value calculating step for calculating an evaluation value for evaluating whether the moving region detected by the processing of the moving region detecting step is the hand;
Based on the evaluation value calculated by the processing of the evaluation value calculation step, a selection step of selecting a predetermined area of the plurality of movement areas as the hand area;
An edge information extraction step for extracting edge information of an image formed by a difference between the luminance information of the current frame in the hand region selected by the processing of the selection step and the luminance information of the previous frame ;
A feature amount calculating step of calculating a feature vector of the edge information extracted by the processing of the edge information extracting step as a feature amount;
A DP value calculating step of calculating a DP value using a DP matching technique based on the feature amount calculated by the feature amount calculating step;
A determination step of determining whether the DP value calculated by the processing of the DP value calculation step is smaller than a predetermined value;
And a recognition step of recognizing the gripping action of the hand when the DP value is determined to be smaller than the predetermined value by the processing of the determination step.
前記撮像ステップの処理により撮像された画像を輝度情報に変換する変換ステップと、
前記変換ステップの処理により変換された現フレームの前記輝度情報と、1フレーム前の前記輝度情報の差に基づいて、動き領域を検出する動き領域検出ステップと、
前記動き領域検出ステップの処理により検出された前記動き領域が前記手であるかを評価する評価値を算出する評価値算出ステップと、
前記評価値算出ステップの処理により算出された前記評価値に基づいて、複数の前記動き領域のうちの所定の領域を前記手の領域として選択する選択ステップと、
前記選択ステップの処理により選択された前記手の領域における前記現フレームの前記輝度情報と、前記1フレーム前の前記輝度情報の差によってできた画像のエッジ情報を抽出するエッジ情報抽出ステップと、
前記エッジ情報抽出ステップの処理により抽出された前記エッジ情報の特徴ベクトルを特徴量として算出する特徴量算出ステップと、
前記特徴量算出ステップの処理により算出された前記特徴量に基づいて、DPマッチングの手法を用いてDP値を算出するDP値算出ステップと、
前記DP値算出ステップの処理により算出された前記DP値が所定値より小さいか否かを判定する判定ステップと、
前記判定ステップの処理により、前記DP値が前記所定値より小さいと判定された場合、前記手の握り動作を認識する認識ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。An imaging step for imaging the hand;
A conversion step of converting an image captured by the processing of the imaging step into luminance information;
A motion region detection step of detecting a motion region based on a difference between the luminance information of the current frame converted by the processing of the conversion step and the luminance information of the previous frame ;
An evaluation value calculating step for calculating an evaluation value for evaluating whether the moving region detected by the processing of the moving region detecting step is the hand;
Based on the evaluation value calculated by the processing of the evaluation value calculation step, a selection step of selecting a predetermined area of the plurality of movement areas as the hand area;
An edge information extraction step for extracting edge information of an image formed by a difference between the luminance information of the current frame in the hand region selected by the processing of the selection step and the luminance information of the previous frame ;
A feature amount calculating step of calculating a feature vector of the edge information extracted by the processing of the edge information extracting step as a feature amount;
A DP value calculating step of calculating a DP value using a DP matching technique based on the feature amount calculated by the feature amount calculating step;
A determination step of determining whether the DP value calculated by the processing of the DP value calculation step is smaller than a predetermined value;
When the DP value is determined to be smaller than the predetermined value by the process of the determination step, a recognition step for recognizing the gripping action of the hand is recorded. Recording medium.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000368493A JP4790113B2 (en) | 2000-12-04 | 2000-12-04 | Image processing apparatus and method, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000368493A JP4790113B2 (en) | 2000-12-04 | 2000-12-04 | Image processing apparatus and method, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002170121A JP2002170121A (en) | 2002-06-14 |
JP4790113B2 true JP4790113B2 (en) | 2011-10-12 |
Family
ID=18838715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000368493A Expired - Fee Related JP4790113B2 (en) | 2000-12-04 | 2000-12-04 | Image processing apparatus and method, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4790113B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4992618B2 (en) * | 2007-09-05 | 2012-08-08 | カシオ計算機株式会社 | Gesture recognition device and gesture recognition method |
JP5536510B2 (en) * | 2010-03-31 | 2014-07-02 | 株式会社バンダイナムコゲームス | Program and image generation system |
JP5278576B2 (en) * | 2012-04-27 | 2013-09-04 | カシオ計算機株式会社 | Gesture recognition device, gesture recognition method and program thereof |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3554571B2 (en) * | 1993-05-31 | 2004-08-18 | 株式会社日立製作所 | Sign language recognition device |
JP3777650B2 (en) * | 1995-04-28 | 2006-05-24 | 松下電器産業株式会社 | Interface equipment |
JP3784474B2 (en) * | 1996-11-20 | 2006-06-14 | 日本電気株式会社 | Gesture recognition method and apparatus |
JP2986455B1 (en) * | 1998-07-24 | 1999-12-06 | 株式会社エイ・ティ・アール知能映像通信研究所 | Hand gesture recognition device |
JP2967088B1 (en) * | 1998-11-30 | 1999-10-25 | 株式会社エイ・ティ・アール知能映像通信研究所 | Moving object region dividing device |
-
2000
- 2000-12-04 JP JP2000368493A patent/JP4790113B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002170121A (en) | 2002-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10990191B2 (en) | Information processing device and method, program and recording medium for identifying a gesture of a person from captured image data | |
Biswas et al. | Gesture recognition using microsoft kinect® | |
JP4668921B2 (en) | Object detection in images | |
CN103098076B (en) | Gesture recognition system for TV control | |
WO2010073432A1 (en) | Image processing device and image processing method | |
JP5595655B2 (en) | Image processing apparatus and image processing method | |
JPH07168932A (en) | Method for search of human being in video image | |
JP2012518236A (en) | Method and system for gesture recognition | |
WO2007105768A1 (en) | Face-image registration device, face-image registration method, face-image registration program, and recording medium | |
JP4153818B2 (en) | Gesture recognition device, gesture recognition method, and gesture recognition program | |
JP6066093B2 (en) | Finger shape estimation device, finger shape estimation method, and finger shape estimation program | |
JP2011008601A (en) | Information processor and information processing method | |
JP2001307107A (en) | Image processor, its method and recording medium | |
JP2010057105A (en) | Three-dimensional object tracking method and system | |
JP3731952B2 (en) | Information generation apparatus for moving image search | |
JP5468773B2 (en) | Image processing apparatus and image processing method | |
JP7171294B2 (en) | Information processing device, information processing method and program | |
JP4843787B2 (en) | Subject tracking method and apparatus | |
JP4790113B2 (en) | Image processing apparatus and method, and recording medium | |
JP2004295776A (en) | Image recognition device and image recognition program | |
JP2007233544A (en) | Object position tracking method, device, and program | |
JP5677234B2 (en) | Edge detection device and program thereof | |
JP5241687B2 (en) | Object detection apparatus and object detection program | |
JP4750758B2 (en) | Attention area extraction method, attention area extraction device, computer program, and recording medium | |
JPH09265538A (en) | Automatic tracking device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090804 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091002 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091027 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100127 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100203 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20100305 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110620 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110720 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |