JP2002170121A - 画像処理装置および方法、並びに記録媒体 - Google Patents

画像処理装置および方法、並びに記録媒体

Info

Publication number
JP2002170121A
JP2002170121A JP2000368493A JP2000368493A JP2002170121A JP 2002170121 A JP2002170121 A JP 2002170121A JP 2000368493 A JP2000368493 A JP 2000368493A JP 2000368493 A JP2000368493 A JP 2000368493A JP 2002170121 A JP2002170121 A JP 2002170121A
Authority
JP
Japan
Prior art keywords
motion
area
value
unit
center
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.)
Granted
Application number
JP2000368493A
Other languages
English (en)
Other versions
JP4790113B2 (ja
Inventor
Shinichiro Gomi
信一郎 五味
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000368493A priority Critical patent/JP4790113B2/ja
Publication of JP2002170121A publication Critical patent/JP2002170121A/ja
Application granted granted Critical
Publication of JP4790113B2 publication Critical patent/JP4790113B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】 手の握り動作を高精度に認識することができ
るようにする。 【解決手段】 動き検出部56は、画像記憶部21より
供給される1フレーム前の画素とビデオカメラ2より供
給される現フレームの画素を用いて、フレーム間差分値
を算出し、その算出結果から動き方向をする。エッジ検
出部57は、ラベリングされた動き領域のエッジ情報を
検出する。DP値算出部62は、エッジ検出部57で検出
されたエッジ情報に基づいて、DP手法を用いて、DP値を
算出する。握り動作判定部61は、動き検出部56より
供給された動き方向と、DP値算出部62より供給された
DP値に基づいて、手の握り動作を認識する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像処理装置およ
び方法、並びに記録媒体に関し、特に、画像処理によ
り、ユーザの手の握りおよび開き動作を認識することが
できるようにした画像処理装置および方法、並びに記録
媒体に関する。
【0002】
【従来の技術】従来、ユーザの身振りや手振りをコンピ
ュータグラフィックスとして取り入れることにより、人
とコンピュータとのインタフェースをとる手法がいくつ
か提案されている。
【0003】例えば、特開平11−195140号公報
には、データグローブを用いて身振りや手振りでコンピ
ュータを操作することにより、3次元コンピュータグラ
フィックスデータを編集する技術が開示されている。
【0004】また、例えば、特開平9−311759号
公報には、所定色に点灯・点滅するペンライトを用いて
ユーザがジェスチャし、そのペンライトをカメラで撮像
・画像認識することにより、コンピュータと人とのイン
タフェースを行う技術が開示されている。
【0005】さらにまた、例えば、特開平9−1020
46号公報には、カメラで撮像したシルエット画像から
手の形状を推定、認識することにより、コンピュータと
人とのインタフェースを行う技術が開示されている。
【0006】さらにまた、例えば、特開平8−2123
27号公報には、カメラで撮像した手の画像のオリエン
テーション一次元ヒストグラム、および、二次元空間時
間オリエンテーションヒストグラムを用いて身振りを認
識することにより、コンピュータと人とのインタフェー
スを行う技術が開示されている。
【0007】さらにまた、例えば、特開平9−1799
88号公報には、2台のカメラを用いて手の三次元的な
姿勢、身振りを認識することにより、コンピュータと人
とのインタフェースを行う技術が開示されている。
【0008】さらにまた、例えば、特開平11−162
151号公報には、連続DP(Continuous Dynamic Progr
amming)の手法を用いて、ユーザの身振りを認識するこ
とにより、コンピュータと人とのインタフェースを行う
技術が開示されている。
【0009】
【発明が解決しようとする課題】データグローブを用い
る手法(特開平11−195140号公報)の場合、手
の形や手の動きを認識することができる反面、データグ
ローブの着脱が不便であり、かつ、データグローブとコ
ンピュータとを接続するケーブルが煩わしくなる課題が
あった。
【0010】そこで、ユーザの使い勝手を考慮して、ペ
ンライトを用いる手法(特開平9−311759号公
報)が提案されているが、ユーザがペンライトを持たな
ければならず、ユーザに対する煩わしさが依然として残
り、また、特殊なデバイス(ペンライト)を用いている
ため、汎用性に欠ける課題があった。
【0011】また、ユーザに対する煩わしさを軽減させ
るため、カメラで撮像した手の形状を画像認識する手法
が提案されている(特開平9−102046号公報、お
よび、特開平8−212327号公報)が、照明変化な
どにより、手の形状が正確に検出されない恐れがあり、
誤認識する課題があった。
【0012】そこで、誤認識を防止するため、複数台の
カメラを用いて画像認識する手法も提案されている(特
開平9−179988号公報)が、低コストで実現する
ことができない課題があった。
【0013】さらに、連続DPを用いたジェスチャ認識手
法が提案されている(特開平11−162151号公
報)が、掴む(握る)というような手の動作を認識する
ことができない課題があった。
【0014】そこで、特開平11−296673号公報
などには、ユーザが指し示した位置を特定することが開
示されているが、手で掴んで(握って)、選択するとい
った動作を簡易な手法で認識することが困難である課題
があった。
【0015】本発明はこのような状況に鑑みてなされた
ものであり、低コストで、かつ、高精度に、ユーザの身
振りを認識し、かつ、手で掴む動作を画像処理により認
識することができるようにするものである。
【0016】
【課題を解決するための手段】本発明の画像処理装置
は、対象物を撮像する撮像手段と、撮像手段により撮像
された画像を輝度情報に変換する変換手段と、変換手段
により変換された輝度情報に基づいて、動き領域を検出
する動き領域検出手段と、動き領域検出手段により検出
された動き領域のエッジ情報を抽出するエッジ情報抽出
手段と、エッジ情報抽出手段により抽出されたエッジ情
報に基づいて、特徴量を算出する特徴量算出手段と、特
徴量算出手段により算出された特徴量に基づいて、対象
物の握り動作を認識する認識手段とを備えることを特徴
とする。
【0017】動き領域検出手段は、現フレームの輝度情
報と、1フレーム前の輝度情報の差を算出し、その差が
所定の閾値以上であるか否かを判断することにより、動
き領域を検出するようにすることができる。
【0018】本発明の画像処理装置は、動き領域検出手
段により検出された動き領域の重心を算出する重心算出
手段をさらに設けるようにすることができ、エッジ情報
抽出手段は、重心算出手段により算出された動き領域の
重心を中心とする所定の矩形領域を上下方向に3等分
し、各領域のそれぞれにおいて、垂直方向および水平方
向のエッジ情報を抽出するようにすることができる。
【0019】本発明の画像処理装置は、動き領域検出手
段により検出された動き領域内の評価値を算出する評価
値算出手段と、評価値算出手段の算出結果から、評価値
の最も小さい動き領域を選択する選択手段とをさらに設
けるようにすることができ、エッジ情報抽出手段は、選
択手段により選択された評価値の最も小さい動き領域の
エッジ情報を抽出するようにすることができる。
【0020】本発明の画像処理装置は、特徴量算出手段
により算出された特徴量が所定値より小さいか否かを判
定する判定手段をさらに設けるようにすることができ、
認識手段は、判定手段により、特徴量が所定値より小さ
いと判定された場合、対象物の握り動作を認識するよう
にすることができる。
【0021】本発明の画像処理方法は、対象物を撮像す
る撮像ステップと、撮像ステップの処理により撮像され
た画像を輝度情報に変換する変換ステップと、変換ステ
ップの処理により変換された輝度情報に基づいて、動き
領域を検出する動き領域検出ステップと、動き領域検出
ステップの処理により検出された動き領域のエッジ情報
を抽出するエッジ情報抽出ステップと、エッジ情報抽出
ステップの処理により抽出されたエッジ情報に基づい
て、特徴量を算出する特徴量算出ステップと、特徴量算
出ステップの処理により算出された特徴量に基づいて、
対象物の握り動作を認識する認識ステップとを含むこと
を特徴とする。
【0022】本発明の記録媒体に記録されているプログ
ラムは、対象物を撮像する撮像ステップと、撮像ステッ
プの処理により撮像された画像を輝度情報に変換する変
換ステップと、変換ステップの処理により変換された輝
度情報に基づいて、動き領域を検出する動き領域検出ス
テップと、動き領域検出ステップの処理により検出され
た動き領域のエッジ情報を抽出するエッジ情報抽出ステ
ップと、エッジ情報抽出ステップの処理により抽出され
たエッジ情報に基づいて、特徴量を算出する特徴量算出
ステップと、特徴量算出ステップの処理により算出され
た特徴量に基づいて、対象物の握り動作を認識する認識
ステップとを含むことを特徴とする。
【0023】本発明の画像処理装置、画像処理方法、並
びに記録媒体に記録されているプログラムにおいては、
対象物が撮像され、撮像された画像が輝度情報に変換さ
れ、変換された輝度情報に基づいて動き領域が検出さ
れ、その動き領域のエッジ情報が抽出され、抽出された
エッジ情報に基づいて特徴量が算出され、算出された特
徴量に基づいて対象物の握り動作が認識される。
【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は、重心検出部5
1、外接枠検出部52、面積検出部53、領域評価部5
4、領域記憶部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(Con
tinuous 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の出力がRG
Bの色データである場合、ビデオカメラ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において、ラベリング部4
6は、ステップS33およびS35の処理で認識された
動きブロックに基づいて、領域毎に、ラベリング処理す
る。これにより、図6(F)に示されるように、領域8
5および領域86の2つの領域が検出される。
【0059】図4のステップS3に戻り、重心検出部5
1は、ステップS2の処理でラベリングされた各領域内
の重心を検出(算出)する。
【0060】ここで、図7を参照して、ラベリングされ
た領域内の重心の算出方法について説明する。
【0061】図7(A)の例の場合、ラベリングされた
領域の外接枠内の画素を使って平均位置を算出し、それ
を重心Cとする。
【0062】図7(B)の例の場合、画面上方に重み付
け加重平均を算出し、それを重心Cとする。すなわち、
ラベリングされた領域の外接枠の左上の座標(Xul,Y
ul)、右下の座標(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は、ステップS
2の処理でラベリングされた各領域(いまの場合、領域
85および86)を外側から囲む外接枠(矩形)を検出
する。
【0066】ステップS5において、面積検出部53
は、ステップS4の処理により検出された外接枠内に含
まれる動きブロックの画素数をカウントすることにより
面積を算出(検出)する。すなわち、図6(F)の領域
85の場合、動きブロック(すなわち、黒で示されてい
るブロック)は13個であり、例えば、1ブロックが1
6画素で構成されているとすると、動き画素数は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
p,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に進む。ステップS4
5において、動き検出部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に進み、動き検出部5
6は、さらに、現フレームの中心画素P(i,j)と1フ
レーム前の中心画素P´(i,j)の輝度差が所定の負の
閾値より小さいのか否かを判定する。
【0079】ステップS53において、P(i,j)−P
´(i,j)が所定の負の閾値より小さいと判定された場
合、ステップS54に進み、動き検出部56は、横方向
の動きを検出するのか否か、すなわち、縦方向の動きが
検出済みであるのか否かを判定し、横方向の動きを検出
すると判定した場合(縦方向の動きが検出済みであると
判定した場合)、ステップS55に進む。ステップS5
5において、動き検出部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の画素値を持つ画素数N U,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】次に、エッジ情報の検出処理についてさら
に詳しく説明する。なお、エッジ情報の検出には、図1
2に示されるようなフィルタが用いられる。
【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´が所
定の正の閾値より大きいと判定された場合、ステップS
108に進み、重心軌跡認識部32は、変数BigSkipにT
RUEを代入する。また、ステップ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の絶対値が所定
の閾値より小さくはないと判定した場合、ステップS1
28に進む。
【0122】ステップS113において、重心軌跡認識
部32は、リングバッファが1周したのか否かを判定
し、リングバッファが未だ1周していないと判定した場
合、ステップS114に進み、重心軌跡認識部32は、
現フレームの重心位置X,Yと、1フレーム前の重心位
置X´,Y´の更新を行い、ステップS107に戻る。
いまの場合、1フレームずつさかのぼった、現フレーム
の重心位置X=X4,Y=Y4、1フレーム前の重心位置
X´=X3,Y´=Y3に更新される。また、ステップS
113において、リングバッファが1周したと判定され
た場合、ステップS123に進む。
【0123】また、ステップS106において、X−X
´が0より大きくはないと判定された場合(X−X´が
負の値であると判定された場合)、ステップS115に
進み、重心軌跡認識部23は、X−X´が所定の負の閾
値より小さいのか否かを判定し、所定の負の閾値より小
さいと判定した場合、ステップS116に進む。ステッ
プS116において、重心軌跡認識部32は、変数BigS
kipに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
の絶対値より大きくはないと判定した場合、ステップS
119の処理をスキップし、ステップS120に進む。
【0125】ステップS118またはステップS119
の処理の後、ステップS120において、重心軌跡認識
部32は、Y−Ysの絶対値が所定の閾値より小さいの
か否かを判定し、所定の閾値より小さいと判定した場
合、ステップS121に進み、Y−Ysの絶対値が所定
の閾値より小さくはないと判定した場合、ステップS1
28に進む。
【0126】ステップS121において、重心軌跡認識
部32は、リングバッファが1周したのか否かを判定
し、リングバッファが未だ1周していないと判定した場
合、ステップS122に進み、重心軌跡認識部32は、
現フレームの重心位置X,Yと、1フレーム前の重心位
置X´,Y´の更新を行い、ステップS115に戻る。
いまの場合、1フレームずつさかのぼった、現フレーム
の重心位置X=X4,Y=Y4、1フレーム前の重心位置
X´=X3,Y´=Y3に更新される。また、ステップS
121において、リングバッファが1周したと判定され
た場合、ステップS123に進む。
【0127】ステップS109,113,117、また
はステップS121の処理の後、ステップS123にお
いて、重心軌跡認識部32は、変数BigSkipがFALSEであ
るのか否かを判定し、変数BigSkipがFALSEであると判定
した場合、ステップS124に進む、ステップS124
において、重心軌跡認識部32は、変数maxの値が所
定の正の閾値より大きいのか否かを判定し、変数max
の値が所定の正の閾値より大きいと判定した場合、ステ
ップS125に進み、右の振りがあったと認識し、図4
のステップS14にリターンする。
【0128】また、ステップS124において、変数m
axが所定の正の閾値より大きくはないと判定された場
合、ステップS126に進み、重心軌跡認識部32は、
さらに、変数maxが所定の負の閾値より小さいのか否
かを判定し、変数maxの値が所定の負の閾値より小さ
いと判定した場合、ステップS127に進み、左の振り
があったと認識し、図4のステップS14にリターンす
る。
【0129】ステップS123において、変数BigSkip
がFALSEではないと判定された場合、ステップS126
において、変数maxが所定の負の閾値より小さくはな
いと判定された場合、また、ステップS104,11
2,またはステップS120の処理の後、ステップS1
28において、重心軌跡認識部32は、手の振りはなか
ったと認識し、図4のステップS14にリターンする。
【0130】また、他の例の振り動作認識処理につい
て、図17のフローチャートを参照して説明する。ステ
ップS141において、重心軌跡認識部32は、curr_g
esにRight,Left、またはNoneを代入する。すなわち、
図15のステップS125,S127、または、S12
8での処理結果(右振り、左振り、または手振りなし)
を代入する。ステップS142において、重心軌跡認識
部32は、現フレームの時刻と基準時刻とを比較し、現
フレームの経過時間を算出する。ステップS143にお
いて、重心軌跡認識部32は、現フレームが右方向また
は左方向の動きがあったのか否かを判定し、右方向また
は左方向の動きがあったと判定した場合、ステップS1
44に進む。ステップ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】本発明を適用した画像処理システムの構成例を
示す図である。
【図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 領域分割部, 2
3 領域処理部, 31 握り動作認識部, 32 重
心軌跡認識部,41 フレーム間差分算出部, 42
閾値処理部, 43 ブロック内カウント部, 44 閾
値処理部, 45 周辺探索部, 46 ラベリング部,
51重心検出部, 52 外接枠検出部, 53 面積
検出部, 54 領域評価部,55 領域記憶部, 61
握り動作判定部, 62 DP値算出部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 対象物を撮像する撮像手段と、 前記撮像手段により撮像された画像を輝度情報に変換す
    る変換手段と、 前記変換手段により変換された前記輝度情報に基づい
    て、動き領域を検出する動き領域検出手段と、 前記動き領域検出手段により検出された前記動き領域の
    エッジ情報を抽出するエッジ情報抽出手段と、 前記エッジ情報抽出手段により抽出された前記エッジ情
    報に基づいて、特徴量を算出する特徴量算出手段と、 前記特徴量算出手段により算出された前記特徴量に基づ
    いて、前記対象物の握り動作を認識する認識手段とを備
    えることを特徴とする画像処理装置。
  2. 【請求項2】 前記動き領域検出手段は、現フレームの
    前記輝度情報と、1フレーム前の前記輝度情報の差を算
    出し、その差が所定の閾値以上であるか否かを判断する
    ことにより、前記動き領域を検出することを特徴とする
    請求項1に記載の画像処理装置。
  3. 【請求項3】 前記動き領域検出手段により検出された
    前記動き領域の重心を算出する重心算出手段をさらに備
    え、 前記エッジ情報抽出手段は、前記重心算出手段により算
    出された前記動き領域の重心を中心とする所定の矩形領
    域を上下方向に3等分し、各領域のそれぞれにおいて、
    垂直方向および水平方向のエッジ情報を抽出することを
    特徴とする請求項1に記載の画像処理装置。
  4. 【請求項4】 前記動き領域検出手段により検出された
    前記動き領域内の評価値を算出する評価値算出手段と、 前記評価値算出手段の算出結果から、評価値の最も小さ
    い前記動き領域を選択する選択手段とをさらに備え、 前記エッジ情報抽出手段は、前記選択手段により選択さ
    れた評価値の最も小さい前記動き領域のエッジ情報を抽
    出することを特徴とする請求項1に記載の画像処理装
    置。
  5. 【請求項5】 前記特徴量算出手段により算出された前
    記特徴量が所定値より小さいか否かを判定する判定手段
    をさらに備え、 前記認識手段は、前記判定手段により、前記特徴量が前
    記所定値より小さいと判定された場合、前記対象物の握
    り動作を認識することを特徴とする請求項1に記載の画
    像処理装置。
  6. 【請求項6】 対象物を撮像する撮像ステップと、 前記撮像ステップの処理により撮像された画像を輝度情
    報に変換する変換ステップと、 前記変換ステップの処理により変換された前記輝度情報
    に基づいて、動き領域を検出する動き領域検出ステップ
    と、 前記動き領域検出ステップの処理により検出された前記
    動き領域のエッジ情報を抽出するエッジ情報抽出ステッ
    プと、 前記エッジ情報抽出ステップの処理により抽出された前
    記エッジ情報に基づいて、特徴量を算出する特徴量算出
    ステップと、 前記特徴量算出ステップの処理により算出された前記特
    徴量に基づいて、前記対象物の握り動作を認識する認識
    ステップとを含むことを特徴とする画像処理方法。
  7. 【請求項7】 対象物を撮像する撮像ステップと、 前記撮像ステップの処理により撮像された画像を輝度情
    報に変換する変換ステップと、 前記変換ステップの処理により変換された前記輝度情報
    に基づいて、動き領域を検出する領域検出ステップと、 前記領域検出ステップの処理により検出された前記動き
    領域のエッジ情報を抽出するエッジ情報抽出ステップ
    と、 前記エッジ情報抽出ステップの処理により抽出された前
    記エッジ情報に基づいて、特徴量を算出する特徴量算出
    ステップと、 前記特徴量算出ステップの処理により算出された前記特
    徴量に基づいて、前記対象物の握り動作を認識する認識
    ステップとを含むことを特徴とするコンピュータが読み
    取り可能なプログラムが記録されている記録媒体。
JP2000368493A 2000-12-04 2000-12-04 画像処理装置および方法、並びに記録媒体 Expired - Fee Related JP4790113B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000368493A JP4790113B2 (ja) 2000-12-04 2000-12-04 画像処理装置および方法、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000368493A JP4790113B2 (ja) 2000-12-04 2000-12-04 画像処理装置および方法、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2002170121A true JP2002170121A (ja) 2002-06-14
JP4790113B2 JP4790113B2 (ja) 2011-10-12

Family

ID=18838715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000368493A Expired - Fee Related JP4790113B2 (ja) 2000-12-04 2000-12-04 画像処理装置および方法、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP4790113B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064199A (ja) * 2007-09-05 2009-03-26 Casio Comput Co Ltd ジェスチャー認識装置及びジェスチャー認識方法
JP2011215921A (ja) * 2010-03-31 2011-10-27 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP2012150837A (ja) * 2012-04-27 2012-08-09 Casio Comput Co Ltd ジェスチャー認識装置、ジェスチャー認識方法及びそのプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06337629A (ja) * 1993-05-31 1994-12-06 Hitachi Ltd 手話認識装置
JPH09185456A (ja) * 1995-04-28 1997-07-15 Matsushita Electric Ind Co Ltd インターフェイス装置
JPH10149447A (ja) * 1996-11-20 1998-06-02 Gijutsu Kenkyu Kumiai Shinjoho Shiyori Kaihatsu Kiko ジェスチャー認識方法および装置
JP2000040147A (ja) * 1998-07-24 2000-02-08 Atr Media Integration & Communications Res Lab 手振り認識装置
JP2000163597A (ja) * 1998-11-30 2000-06-16 Atr Media Integration & Communications Res Lab 動物体領域分割装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06337629A (ja) * 1993-05-31 1994-12-06 Hitachi Ltd 手話認識装置
JPH09185456A (ja) * 1995-04-28 1997-07-15 Matsushita Electric Ind Co Ltd インターフェイス装置
JPH10149447A (ja) * 1996-11-20 1998-06-02 Gijutsu Kenkyu Kumiai Shinjoho Shiyori Kaihatsu Kiko ジェスチャー認識方法および装置
JP2000040147A (ja) * 1998-07-24 2000-02-08 Atr Media Integration & Communications Res Lab 手振り認識装置
JP2000163597A (ja) * 1998-11-30 2000-06-16 Atr Media Integration & Communications Res Lab 動物体領域分割装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064199A (ja) * 2007-09-05 2009-03-26 Casio Comput Co Ltd ジェスチャー認識装置及びジェスチャー認識方法
JP2011215921A (ja) * 2010-03-31 2011-10-27 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP2012150837A (ja) * 2012-04-27 2012-08-09 Casio Comput Co Ltd ジェスチャー認識装置、ジェスチャー認識方法及びそのプログラム

Also Published As

Publication number Publication date
JP4790113B2 (ja) 2011-10-12

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®
CN103098076B (zh) 电视机控制用手势识别系统
JPH07168932A (ja) ビデオ画像中の人間を探索する方法
JP4153818B2 (ja) ジェスチャ認識装置、ジェスチャ認識方法及びジェスチャ認識プログラム
WO2006050448A2 (en) Adaptive tracking for gesture interfaces
CN113608663B (zh) 一种基于深度学习和k-曲率法的指尖跟踪方法
JP3657463B2 (ja) 動作認識システムおよび動作認識プログラムを記録した記録媒体
JP2001307107A (ja) 画像処理装置および方法、並びに記録媒体
JP2010057105A (ja) オブジェクトの3次元追跡方法およびシステム
CN108710879B (zh) 一种基于网格聚类算法的行人候选区域生成方法
JP2004171189A (ja) 移動物体検出装置、移動物体検出方法及び移動物体検出プログラム
JP5132509B2 (ja) 移動物体追跡装置
JP4790113B2 (ja) 画像処理装置および方法、並びに記録媒体
JP3607440B2 (ja) ジェスチャー認識方法
CN103400118B (zh) 一种映射关系自适应调整的手势控制方法
JP3784474B2 (ja) ジェスチャー認識方法および装置
JP3230509B2 (ja) 動画像処理装置
JP5047115B2 (ja) 移動物体追跡装置
CN113379930B (zh) 通过人体曲线图进行的沉浸式交互方法、装置及存储介质
JPH10255058A (ja) 動作検出装置および動作検出方法
WO2022009305A1 (ja) 領域抽出装置、領域抽出方法、及び領域抽出プログラム
JP2005071125A (ja) 被写体検出装置、被写体検出方法、被写体データ選定プログラムおよび被写体位置検出プログラム
JPH07128031A (ja) 顔画像認識装置
CN114598817A (zh) 一种基于多人交互动作判断的人机交互判断方法及装置

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