(57)【要約】  画像入力部（７１）は、ユーザを撮像した画像データを入力する。抽出部（７２）は、画像入力部（７１）によって入力された画像データに含まれるユーザの手に相当する領域を抽出する。判定部（７３）は、抽出部（７２）によって抽出されたユーザの手に相当する領域が静止状態にあるか否かを判定する。認識部（７４）は、判定部（７３）によってユーザの手に相当する領域が静止状態にあると判定された場合に、抽出部（７２）によって抽出されたユーザの手に相当する領域の形状を認識する。一方、認識部（７４）は、判定部（７３）によってユーザの手に相当する領域が静止状態にないと判定された場合に、抽出部（７２）によって抽出されたユーザの手に相当する領域の動きを認識する。入力部（７５）は、認識部（７４）によって認識された形状又は動きに対応付けられたデータを入力する。
2012147961.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像した画像データを入力する画像入力部と、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部と、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部と、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部と、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部と、
を備える情報処理装置。
【請求項２】
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域における指先の位置を特定し、特定した指先の位置に基づいて被写体の手に相当する領域の形状を認識する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域に細線化処理を施すことによって指先の位置を特定する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域内の所定部位の長さに基づいて、前記抽出部によって抽出された被写体の手に相当する領域から算出された重心と指先との距離を推定することで指先の位置を特定する、
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記判定部は、
前記抽出部によって抽出された被写体の手に相当する領域の重心の移動量に基づいて被写体の手が静止状態にあるか否かを判定する、
ことを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記認識部は、
前記判定部によって被写体の手が静止状態にないと判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の動きを認識し、
前記入力部は、
前記認識部によって認識された動きに対応付けられたデータを入力する、
ことを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記抽出部は、
前記画像入力部によって入力された画像データにおけるフレーム間の差分データから求められる動く領域に外接する矩形を設定し、矩形内を走査することによって得られる前記動く領域に含まれる線分の長さに基づいて被写体の手首に相当する領域を特定し、特定した前記被写体の手首に相当する領域に基づいて、被写体の手に相当する領域を抽出する、
ことを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記画像入力部によって入力された画像データに対応する画像を表示する表示部をさらに備える、
ことを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
被写体を撮像した画像データを入力する画像入力ステップと、
前記画像入力ステップにおいて入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定ステップと、
前記判定ステップにおいて被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出ステップにおいて抽出された被写体の手に相当する領域の形状を認識する認識ステップと、
前記認識ステップにおいて認識された形状に対応付けられたデータを入力する入力ステップと、
を含む情報処理方法。
【請求項１０】
コンピュータを、
被写体を撮像した画像データを入力する画像入力部、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部、
として機能させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及び記録媒体に関する。
【背景技術】
【０００２】
光学カメラで撮像された手の動きによって非接触で機器を操作する、いわゆるジェスチャ入力装置が知られている。【０００３】
例えば、特許文献１には、８台又は１６台のビデオカメラを放射状に配置して、その中心にいる人物の手の動きを検出するポインティングジェスチャ検出方法及び装置が開示されている。【０００４】
また、特許文献２には、予めモデル化した手のひらを複数のビデオカメラで撮影し、手の重心から手の輪郭までの重心スケルトン値を算出して、手の主軸まわりの回転角を最尤法で推定する手振り認識装置が開示されている。【０００５】
また、特許文献３には、ビデオカメラで撮像した手の画像領域の動き分布を算出し、領域の重心の移動を検出して手の握り動作を認識する画像処理装置及び方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２５９９８９号公報
【特許文献２】特開平１０−６３８６４号公報
【特許文献３】特開２００１−３０７１０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
光学カメラで撮像された手の動きによって入力指令を行う場合に、手の動きが速いときには、照度条件等の影響で画像における残像が生じることがある。このため、認識精度が低下し、誤入力が発生するおそれがある。また、カメラと操作者との距離及び操作者の手の大きさの違いによって、画像中の手の領域を正確に認識できず、外部ノイズの影響を受け、誤入力が発生するおそれがある。【０００８】
本発明は、上記事情に鑑みてなされたものであり、より高い精度でデータを入力できる情報処理装置、情報処理方法及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の観点に係る情報処理装置は、
被写体を撮像した画像データを入力する画像入力部と、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部と、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部と、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部と、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部と、
を備える。【００１０】
本発明の第２の観点に係る情報処理方法は、
被写体を撮像した画像データを入力する画像入力ステップと、
前記画像入力ステップにおいて入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定ステップと、
前記判定ステップにおいて被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出ステップにおいて抽出された被写体の手に相当する領域の形状を認識する認識ステップと、
前記認識ステップにおいて認識された形状に対応付けられたデータを入力する入力ステップと、
を含む。【００１１】
本発明の第３の観点に係る記録媒体に記録されたプログラムは、
コンピュータを、
被写体を撮像した画像データを入力する画像入力部、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部、
として機能させる。
【発明の効果】
【００１２】
本発明によれば、より高い精度でデータを入力できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る情報処理装置の斜視図である。
【図２】図１の情報処理装置の機能ブロック図である。
【図３】手によるジェスチャとしての手の動きの例を示す図である。
【図４】（Ａ）、（Ｂ）及び（Ｃ）は、手によるジェスチャとしての指の指す向きが異なる形状の例を示す図である。
【図５】（Ａ）、（Ｂ）及び（Ｃ）は、手によるジェスチャとしての伸ばした指の本数が異なる形状の例を示す図である。
【図６】二値化した画像を示す図である。
【図７】画像データから特定される動く領域を示す図である。
【図８】動く領域に外接する矩形領域を示す図である。
【図９】画像データから特定される手首に相当する領域及び重心を示す図である。
【図１０】細線化処理による細線化画像を示す図である。
【図１１】指先を探索する領域を示す図である。
【図１２】入力処理のフローチャートである。
【図１３】表示部における手の画像の表示の例を示す図である。
【図１４】手の領域を含む矩形領域の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態に係る情報処理装置１００について図１乃至図１４を参照して、説明する。
【００１５】
本実施の形態に係る情報処理装置１００は、被写体としてのユーザの手２００の移動、形状、向き等の手２００によるジェスチャに対応するデータ（指令、コマンド等を含む）を入力するジェスチャ入力機能を備える。情報処理装置１００は、一般的なコンピュータ装置である。情報処理装置１００は、上述のジェスチャ入力機能により入力されたデータを、例えば、任意のアプリケーションソフトウェアで処理する。
【００１６】
情報処理装置１００は、図１に示すように、操作部１と、カメラ２と、表示部３とを備える。操作部１は、キーボード、マウス等を備える。操作部１は、ユーザの操作入力に従って、種々のコマンド等のデータを情報処理装置１００に入力する。
【００１７】
カメラ２は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサ等の撮像素子を備える。カメラ２は、視野内に位置する被写体として、例えば、情報処理装置１００のユーザの手２００を撮像する。ユーザは、手２００をカメラ２の視野内で手２００の形状や動きを変化させるジェスチャにより、種々のデータを入力する。
【００１８】
表示部３は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等を備える。表示部３は、情報処理装置１００で実行中のアプリケーションソフトウェアに関連する画像を表示する。また、表示部３は、常時或いは所定の操作に応答して、ジェスチャ入力支援用ウインドウ３Ｗを表示する。ジェスチャ入力支援用ウインドウ３Ｗには、メニュー項目、ファイル、アイコン等の選択対象Ｓと選択用のカーソルＣとが表示される。
【００１９】
図２は、情報処理装置１００の機能構成を示す。情報処理装置１００は、上記の操作部１、カメラ２、表示部３の他に、カメラインタフェース４と、表示インタフェース５と、記憶部６と、制御部７とを備える。操作部１、カメラインタフェース４、表示インタフェース５、記憶部６と、制御部７は、バス８により相互にデータ通信可能に接続されている。また、カメラ２は、カメラインタフェース４に接続され、表示部３は、表示インタフェース５に接続される。
【００２０】
カメラインタフェース４は、カメラ２で撮像された画像に対応する画像データを、バス８を介して制御部７に入力する。表示インタフェース５は、制御部７によって入力された画像データを表示部３に入力する。
【００２１】
記憶部６は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やハードディスク等の記憶装置から構成され、プログラム等の各種データを記憶する。記憶部６は、カメラ２で撮像された画像に対応する画像データを記憶する。記憶部６は、種々のフォーマットで画像データを記憶できる。例えば、記憶部６は、フレーム単位で画像データを記憶する。
【００２２】
また、記憶部６は、手２００によるジェスチャ（動き、形状、向き等の態様）を認識するための基準データを記憶する。例えば、手２００の形状を認識するための基準データは、手の形状をデータ化したパターンデータ等である。手２００の動きを認識するための基準データは、例えば、手２００の重心の単位時間当たりの移動量に関するデータや手２００が移動した際の重心の軌跡をデータ化したパターンデータ等である。記憶部６は、データ（指令、コマンド等を含む）と対応付けて基準データを記憶する。
【００２３】
基準データに基づいて認識される手２００によるジェスチャは、例えば、図３に示すように、手２００の上下左右への動きである。この動きに対応付けられるコマンドは、例えば、動きの方向にカーソルＣを動かしたり、動きの方向に画面をスクロールさせたりするコマンドである。例えば、手２００を上に動かした場合、カーソルＣが上に動く。また、手２００を右に動かした場合、カーソルＣが右に動く。
【００２４】
また、基準データに基づいて認識される手２００によるジェスチャは、図４に示すように、人差し指の指す向きによって異なる手２００の形状である。この形状に対応付けられるコマンドは、例えば、人差し指の指す向きにカーソルＣを動かしたり、人差し指の指す向きに画面をスクロールさせたりするコマンドである。例えば、図４（Ａ）では、人差し指の指す向きが左であるため、カーソルＣが左に動く。図４（Ｂ）では、人差し指の指す向きが上であるため、カーソルＣが上に動く。図４（Ｃ）では、人差し指の指す向きが右であるため、カーソルＣが右に動く。
【００２５】
また、基準データに基づいて認識される手２００によるジェスチャは、図５に示すように、伸ばしている指の数で異なる手２００の形状である。この形状に対応付けられるコマンドは、例えば、伸ばしている指の数に一致する数値データを入力するコマンドである。図５（Ａ）では、伸ばしている指の数が１本であるため、「１」が入力される。図５（Ｂ）では、伸ばしている指の数が２本であるため、「２」が入力される。図５（Ｃ）では、伸ばしている指の数が３本であるため、「３」が入力される。
【００２６】
制御部７は、プロセッサ等を備える。制御部７は、記憶部６に記憶されたプログラムを実行して、データ処理を実行する。制御部７は、通常のデータ処理を実行するとともに、ジェスチャ入力機能に関連するデータ処理を実行する。制御部７は、画像入力部７１と、抽出部７２と、判定部７３と、認識部７４と、入力部７５とを備える。
【００２７】
画像入力部７１は、被写体としてのユーザを撮像した画像データを入力する。画像入力部７１は、カメラ２で撮像された画像に対応する画像データをフレーム単位に処理し、記憶部６に記憶させる。
【００２８】
抽出部７２は、画像入力部７１によって入力された画像データに含まれるユーザの手に相当する領域を抽出する。ユーザの手に相当する領域を抽出するために、抽出部７２は、以下の画像データ処理を行う。まず、抽出部７２は、画像入力部７１によって入力された画像データにおけるフレーム間の差分データから求められる動く領域に外接する矩形を設定する。
【００２９】
より詳細には、抽出部７２は、記憶部６を参照して、今回処理されたフレーム単位の画像データと、１つ前のフレーム単位の画像データとの差分データを演算して、動く領域に対応する画像データを取得する。
【００３０】
次に、抽出部７２は、動く領域を抽出するために、取得した画像データに対応する画像を二値化する。図６は、二値化した画像における動く領域２０１を示す。抽出部７２は、二値化した画像上の各白画素の周囲８近傍の画素値があらかじめ設定した閾値よりも大きければ、その白画素の領域を拡張する。こうすることで、抽出部７２は、白領域を連結して拡張する拡張処理を実行する。また、抽出部７２は、二値化した画像上の各黒画素の周囲８近傍の画素値があらかじめ設定した閾値よりも小さければ、その黒画素の領域を縮小する。こうすることで、抽出部７２は、ノイズとなる黒ドットを除去する縮小処理を実行する。このようにして抽出部７２は、図７に示すように、画像データから動く領域２０２を特定する。動く領域２０２を特定するとさらに、抽出部７２は、図８に示すように、動く領域２０２に外接する最小の矩形領域２０３を設定する。
【００３１】
次に、抽出部７２は、矩形領域２０３内を走査することによって得られる動く領域２０２に含まれる線分の長さに基づいてユーザの手首に相当する領域を特定する。例えば、抽出部７２は、設定した矩形領域２０３について、画像平面の上下方向に対する傾きの方向を求める。抽出部７２は、この傾きの方向に直交する直線を画像平面の上から下に向かって矩形領域２０３の長軸方向に走査して、動く領域２０２と重なる線分の長さを手２００の幅２０４として求める。求めた幅２０４が、図９に示すように、最大幅２０５を取った後、最小幅２０６となった部位を手２００の手首に相当する領域として特定する。
【００３２】
次に、抽出部７２は、特定したユーザの手首に相当する領域に基づいて、ユーザの手２００に相当する領域を抽出する。例えば、抽出部７２は、矩形領域２０３内で、特定した手首に相当する領域より画像平面上側の白画素の領域をユーザの手に相当する領域２０７として抽出する。
【００３３】
ここで、抽出部７２は、ユーザの手に相当する領域２０７を構成する白画素のＸ座標及びＹ座標それぞれの平均値を、ユーザの手に相当する領域２０７の重心２０８として算出する。算出された重心２０８は、図９に示すようになる。抽出部７２は、算出した重心２０８を画像データに対応付けて記憶部６に記憶させる。
【００３４】
判定部７３は、抽出部７２によって抽出されたユーザの手に相当する領域２０７が静止状態にあるか否かを判定する。例えば、判定部７３は、抽出部７２によって抽出された領域２０７の重心２０８の移動量に基づいてユーザの手に相当する領域２０７が静止状態にあるか否かを判定する。より詳細には、判定部７３は、記憶部６を参照して、前回の処理で求めた重心（Ｘｔ−１、Ｙｔ−１）と今回の処理で求めた重心（Ｘｔ、Ｙｔ）とから移動量を算出する。ここで、移動量をＭとすると、判定部７３は、Ｍ＝｛（Ｘｔ−Ｘｔ−１）２＋（Ｙｔ−Ｙｔ−１）２｝１／２によって移動量Ｍを算出できる。
【００３５】
判定部７３は、算出した移動量Ｍと所定の閾値Ｄｔｈとを比較する。判定部７３は、移動量Ｍが閾値Ｄｔｈ以下である場合には、手が静止状態にあると判定し、移動量Ｍが閾値Ｄｔｈより大きい場合には、手が移動していると判定する。
【００３６】
認識部７４は、判定部７３によってユーザの手に相当する領域２０７が静止状態にあると判定された場合に、抽出部７２によって抽出されたユーザの手に相当する領域２０７の形状を認識する。一方、認識部７４は、判定部７３によってユーザの手が静止状態にないと判定された場合に、抽出部７２によって抽出されたユーザの手に相当する領域２０７の動きを認識する。以下、認識部７４によるユーザの手に相当する領域２０７の形状の認識について詳細に説明する。
【００３７】
認識部７４は、抽出部７２によって抽出されたユーザの手に相当する領域における指先の位置を特定し、特定した指先の位置に基づいてユーザの手に相当する領域２０７の形状を認識する。例えば、まず、認識部７４は、抽出部７２によって抽出された領域２０７に細線化処理を施すことによって指先の位置を特定する。細線化処理は、二値化した画像を幅１画素の細線化画像に変換する処理である。細線化処理は、撮像された被写体の形状的な特徴を際立たせるための処理である。細線化処理は、Ｈｉｌｄｉｔｃｈ、田村、Ｚｈａｎｇ  Ｓｕｅｎ等任意のアルゴリズムを用いて実行できる。例えば、認識部７４は、抽出部７２によって抽出された領域２０７の中心１画素を残すようにして、図１０に示すように、細線化画像２０９を得る。
【００３８】
認識部７４は、抽出部７２によって抽出されたユーザの手に相当する領域２０７内の所定部位の長さに基づいて、抽出部７２によって抽出されたユーザの手に相当する領域２０７から算出された重心と指先との距離を推定することで指先の位置を特定する。例えば、人の手の幅は、指の長さに相関する。そこで、認識部７４は、抽出部７２によって求められた手２００の幅２０４を用いて指先までの距離を推定する。まず、認識部７４は、図１１に示すように、重心２０８から特定の半径ｒ１及びｒ２（ｒ２＞ｒ１）と、特定の角度θ１及びθ２（θ２＞θ１）を設定する。そして、認識部７４は、設定したｒ１、ｒ２、θ１及びθ２で囲まれた扇型の範囲で、重心２０８の位置から一定距離以上にわたって延びる細線化画像２０９の先端を探索し、探索した先端を指先の位置２１１として特定する。
【００３９】
なお、半径ｒ１、ｒ２は、例えば、重心２０８の位置から最大幅２０４から所定の長さΔｒを減じて定められる。また、扇型の範囲は、指先の位置２１１を探索する領域を制限して探索処理を高速化するためのものであり、探索する領域を制限する他の手法を採用してもよい。また、探索する領域を制限せずに重心２０８の位置から全体を探索してもよい。なお、図１１には、人差し指の指先を特定した例を示したが、指先が複数特定される場合もある。
【００４０】
ユーザの手に相当する領域２０７の動きの認識においては、認識部７４は、記憶部６を参照して、重心位置の移動の履歴（Ｘｔ−ｎ、Ｙｔ−ｎ）、・・・（Ｘｔ−１、Ｙｔ−１）、（Ｘｔ、Ｙｔ）に基づいて、ユーザの手に相当する領域２０７の動きを認識する。ここで、認識部７４は、特定した指先に対応する座標の移動量を算出してもよい。
【００４１】
入力部７５は、認識部７４によって認識された形状又は動きに対応付けられたデータを入力する。例えば、入力部７５は、記憶部６を参照し、認識部７４によって認識された手２００の形状に対応付けられたコマンドを入力する。入力部７５は、特定された指先の位置２１１を含む手２００の形状に対応するデータと基準データとを比較して、手２００の形状と基準データで認識される手の形状とが一致すると、その基準データに対応付けられたコマンドを入力する。例えば、カーソルＣを移動させるコマンドの場合、入力部７５は、カーソルＣの移動指示を表示部３に入力する。これにより、表示部３のジェスチャ入力支援用ウインドウ３Ｗ内のカーソルＣが移動する。
【００４２】
手２００の動きが認識部７４によって認識された場合、例えば、入力部７５は、手２００を上に動かした場合、カーソルＣを上に動かす指示を表示部３に入力する。これにより、表示部３のジェスチャ入力支援用ウインドウ３Ｗ内のカーソルＣが上に移動する。
【００４３】
次に、情報処理装置１００による入力処理のフローを説明する。情報処理装置１００は、種々のアプリケーションソフトウェアを実行可能である。情報処理装置１００は、アプリケーションソフトウェアへの入力のために、操作部１からの入力処理に加えて、以下に説明するように、ユーザがジェスチャで入力した場合の入力処理を行う。
【００４４】
制御部７は、図１２に示す入力処理を、例えば、時分割で繰り返して実行する。なお、制御部７は、入力処理の開始に伴いジェスチャ入力支援用ウインドウ３Ｗを表示してもよく、或いは、ジェスチャ或いは操作部１からの入力によりジェスチャ入力支援用ウインドウ３Ｗの表示及び非表示を切り換えるようにしてもよい。
【００４５】
画像入力部７１は、制御部７に画像データを入力する（ステップＳ１）。次に、抽出部７２は、動く領域２０１を抽出する（ステップＳ２）。続いて、抽出部７２は、ユーザの手に相当する領域２０７を抽出する（ステップＳ３）。抽出部７２は、ユーザの手に相当する領域２０７の重心２０８を算出する（ステップＳ４）。
【００４６】
判定部７３は、重心２０８の移動量を算出する（ステップＳ５）。続いて、判定部７３は、重心２０８の移動量に基づいてユーザの手に相当する領域２０７が静止状態にあるか否かを判定する（ステップＳ６）。
【００４７】
ユーザの手に相当する領域２０７が静止状態にある場合（ステップＳ６；ＹＥＳ）、認識部７４は、細線化処理を実行する（ステップＳ７）。続いて、認識部７４は、指先の位置２１１を特定することで手２００の形状を認識する（ステップＳ８）。手２００の形状が基準データに一致しない場合（ステップＳ９；ＮＯ）、制御部７は、ステップＳ１に戻る。一方、手２００の形状が基準データに一致した場合（ステップＳ９；ＹＥＳ）、入力部７５は、認識部７４によって認識された手２００の形状に対応付けられたコマンドを入力する（ステップＳ１０）。そして、制御部７は、入力処理を終了する。
【００４８】
一方、ユーザの手に相当する領域２０７が静止状態にない場合（ステップＳ６；ＮＯ）、認識部７４は、重心２０８の移動量を算出して、ユーザの手の動きを認識する（ステップＳ１１）。続いて、手２００の動きが基準データに一致しない場合（ステップＳ９；ＮＯ）、制御部７は、ステップＳ１に戻る。手２００の動きが基準データに一致した場合（ステップＳ９；ＹＥＳ）、入力部７５は、認識部７４によって認識された手２００の動きに対応付けられたコマンドを入力する（ステップＳ１０）。そして、制御部７は、入力処理を終了する。
【００４９】
以上詳細に説明したように、本実施の形態に係る情報処理装置１００によれば、手２００が静止中であるか否かを判定し、静止状態であれば、手２００の形状に基づいてデータを入力する。これにより、静止していない手２００の画像における残像による認識精度の低下及びそれに伴う誤入力の発生を極力防止できる。また、静止中の手２００の画像を用いるので、手２００の領域を正確に認識できるため、処理負担が少なく、外部ノイズの影響及びそれに伴う誤入力の発生を極力防止できる。このため、ユーザがより高い精度でデータを入力できる。
【００５０】
なお、本実施の形態では、認識部７４は、抽出部７２によって抽出された領域２０７における指先の位置２１１を特定することでユーザの手に相当する領域２０７の形状を認識するようにした。こうすることで、画像データから手に相当する領域２０７を適切に切り出すことができるので、手２００以外に撮像された画像等のノイズの影響を極力抑えることができる。また、指先はジェスチャ入力においてよく動く部位であるため、指先の位置２１１を正確に特定することによって、多様なデータの入力が可能となる。
【００５１】
また、本実施の形態では、認識部７４は、抽出部７２によって抽出された領域２０７に細線化処理を施すことによって指先の位置２１１を特定するようにした。細線化処理によって、画像の形状的な特徴が捉えやすくなるため、指先の位置２１１をより正確に特定できる。また、細線化処理によって、画像を線に変換するため、処理するデータ量を抑えることができ、処理を高速化できる。
【００５２】
なお、本実施の形態では、認識部７４は、抽出部７２によって抽出された領域２０７内の手の幅２０４に基づいて、抽出部７２によって抽出された領域２０７の重心２０８から指先までの距離を推定することで指先の位置２１１を特定するようにした。手の幅と指の先端までの長さは一般に相関しているため、個人の手の大きさによって指先の位置２１１を正確に推定できる。
【００５３】
また、本実施の形態では、判定部７３は、抽出部７２によって抽出された領域２０７の重心２０８の移動量に基づいてユーザの手２００が静止状態にあるか否かを判定するようにした。こうすることで、手２００が静止状態にあるか否かを高精度に判定することができる。
【００５４】
なお、本実施の形態では、認識部７４は、判定部７３によってユーザの手２００が静止状態にないと判定された場合に、抽出部７２によって抽出された領域２０７の動きを認識し、入力部７５は、認識部７４によって認識された動きに対応付けられたコマンドを入力するようにした。これにより、手２００の形状のみならず、手２００の動きによってもデータの入力が可能になるので、ジェスチャで入力できるデータの種類を増加させることができる。この結果、多種のデータをジェスチャで入力できるので、ユーザの利便性が向上する。
【００５５】
また、本実施の形態では、抽出部７２は、画像入力部７１によって入力された画像データにおけるフレーム間の差分データから求められる動く領域２０２に外接する矩形領域２０３を設定し、矩形領域２０３内を走査することによって得られる動く領域２０２に含まれる線分の長さに基づいてユーザの手首に相当する領域を特定し、特定したユーザの手首に相当する領域に基づいて、ユーザの手２００に相当する領域２０７を抽出するようにした。こうすることで、抽出部７２は、手２００の領域を正確に抽出できる。さらに、手２００以外に撮像された画像等のノイズの影響を極力抑えることができる。
【００５６】
なお、図１３に示すように、表示部３は、画像入力部７１によって入力された画像データに対応する画像をジェスチャ入力支援用ウインドウ３Ｗ内に表示するようにしてもよい。こうすることで、ユーザは、手２００によるジェスチャを確認しながら操作入力できるので、ユーザは、より確実にデータを入力できる。
【００５７】
なお、上記実施の形態においては、手２００が静止状態にない場合は、認識された手２００の動きに基づいてデータを入力し、手２００が静止状態にある場合は、認識された手２００の形状に基づいてデータを入力するようにした。しかし、本発明はこれに限定されない。
【００５８】
例えば、判定部７３は、時間Ｔ間隔のフレーム単位の画像データにおける手２００の重心２０８の移動量Ｌから移動速度Ｖ（＝Ｌ／Ｔ）を求めるようにしてもよい。この場合、認識部７４は、移動速度Ｖが第１の閾値Ｖ１より大きい場合には、手２００の動きに基づいてデータを入力する。また、認識部７４は、移動速度Ｖが第１の閾値Ｖ１と第２の閾値Ｖ２との間の場合（Ｖ１＞Ｖ＞Ｖ２）には、手２００の動きと手２００の形状、向きとの組み合わせに基づいてデータを入力する。また、認識部７４は、移動速度Ｖが第２の閾値Ｖ２より小さい場合（Ｖ２＞Ｖ：即ち、ほぼ停止状態）には、手２００の形状、向きに基づいてデータを入力する。このようにしても、手２００によるジェスチャを高精度で認識し、適切にデータを入力することができる。なお、速度の閾値を３つ以上設けてもよい。
【００５９】
また、ユーザの手２００に相当する領域２０７を抽出する方法、重心２０８を算出する方法、指先の位置２１１を特定する方法等は、上記実施の形態に限定されない。例えば、ユーザの手２００に相当する領域２０７は、画像中の特定の色（肌色）の部分を抽出してもよい。また、ユーザの手２００に相当する領域２０７を抽出するために、例えば、抽出部４１は、特定した動く領域２０２を含む最小の矩形領域２１２を、図１４に示すように設定してもよい。この場合、抽出部７２は、重心２０８より画像平面上側の白画素の領域をユーザの手に相当する領域２０７として抽出してもよい。また、手２００の移動の有無を判別する手法も任意である。例えば、実際の移動量や速度を求めなくても、移動量や速度と連動する値を求め、これと基準値を比較する等してもよい。
【００６０】
また、指先の位置２１１の特定では、例えば、図１４に例示するように、認識部７４は、画像を構成する画素の内、重心２０８より画像平面上側で最も重心２０８から遠い（距離が離れている）画素の位置を指先の位置２１１として特定してもよい。
【００６１】
また、図１２のステップＳ１０で、入力部７５は、認識部７４によって認識された手２００の形状又は動きに対応付けられたコマンドを入力した。これに限らず、入力部７５は、認識された手２００の形状又は動きに対応するデータを記憶部６に記憶させ、他の処理、例えば、操作部１を介した操作入力に併せて、記憶部６を参照してコマンド等を入力してもよい。
【００６２】
上記実施の形態では、カメラ２を備える構成を例示したが、カメラ２で取得した画像データを、データ通信を介して受信したり、記録媒体等を介して取得したりして、その画像データを処理するシステムにも本発明は適用可能である。
【００６３】
なお、図３乃至図５に示した手２００の移動、形状等の手２００によるジェスチャは一例であって、これらに限定されるものではない。
【００６４】
本実施の形態の情報処理装置１００は、専用のシステムにより実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによって入力装置１００を構成してもよい。また、インターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、例えばコンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とアプリケーションソフトウェアとの共同により実現してもよい。この場合には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
【００６５】
上記プログラムを記録する記録媒体としては、ＵＳＢメモリ、フレキシブルディスク、ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）、ＭＯ、ＳＤカード、メモリースティック（登録商標）、その他、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ、磁気テープ等のコンピュータ読取可能な記録媒体を使用することができる。また、ハードディスクやＳＳＤ（ソリッドステートドライブ）等、通常、システム又は装置に固定して使用する記録媒体を使用することもできる。
【００６６】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【００６７】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００６８】
（付記１）
被写体を撮像した画像データを入力する画像入力部と、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部と、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部と、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部と、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部と、
を備える情報処理装置。
【００６９】
（付記２）
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域における指先の位置を特定し、特定した指先の位置に基づいて被写体の手に相当する領域の形状を認識する、
ことを特徴とする付記１に記載の情報処理装置。
【００７０】
（付記３）
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域に細線化処理を施すことによって指先の位置を特定する、
ことを特徴とする付記２に記載の情報処理装置。
【００７１】
（付記４）
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域内の所定部位の長さに基づいて、前記抽出部によって抽出された被写体の手に相当する領域から算出された重心と指先との距離を推定することで指先の位置を特定する、
ことを特徴とする付記２又は３に記載の情報処理装置。
【００７２】
（付記５）
前記判定部は、
前記抽出部によって抽出された被写体の手に相当する領域の重心の移動量に基づいて被写体の手が静止状態にあるか否かを判定する、
ことを特徴とする付記１乃至４のいずれか一つに記載の情報処理装置。
【００７３】
（付記６）
前記認識部は、
前記判定部によって被写体の手が静止状態にないと判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の動きを認識し、
前記入力部は、
前記認識部によって認識された動きに対応付けられたデータを入力する、
ことを特徴とする付記１乃至５のいずれか一つに記載の情報処理装置。
【００７４】
（付記７）
前記抽出部は、
前記画像入力部によって入力された画像データにおけるフレーム間の差分データから求められる動く領域に外接する矩形を設定し、矩形内を走査することによって得られる前記動く領域に含まれる線分の長さに基づいて被写体の手首に相当する領域を特定し、特定した前記被写体の手首に相当する領域に基づいて、被写体の手に相当する領域を抽出する、
ことを特徴とする付記１乃至６のいずれか一つに記載の情報処理装置。
【００７５】
（付記８）
前記画像入力部によって入力された画像データに対応する画像を表示する表示部をさらに備える、
ことを特徴とする付記１乃至７のいずれか一つに記載の情報処理装置。
【００７６】
（付記９）
被写体を撮像した画像データを入力する画像入力ステップと、
前記画像入力ステップにおいて入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定ステップと、
前記判定ステップにおいて被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出ステップにおいて抽出された被写体の手に相当する領域の形状を認識する認識ステップと、
前記認識ステップにおいて認識された形状に対応付けられたデータを入力する実行ステップと、
を含む情報処理方法。
【００７７】
（付記１０）
コンピュータを、
被写体を撮像した画像データを入力する画像入力部、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部、
として機能させるプログラムを記録した記録媒体。
【００７８】
本発明は、２０１１年４月２８日に出願された日本国特許出願２０１１−１０２５２９号に基づく。本明細書中に日本国特許出願２０１１−１０２５２９号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
【産業上の利用可能性】
【００７９】
本発明は、被写体のジェスチャによってデータを入力する情報処理装置、情報処理方法及び記録媒体に好適である。
【符号の説明】
【００８０】
１  操作部
２  カメラ
３  表示部
３Ｗ  ジェスチャ入力支援用ウインドウ
３ｉ  ウインドウ
４  カメラインタフェース
５  表示インタフェース
６  記憶部
７  制御部
８  バス
７１  画像入力部
７２  抽出部
７３  判定部
７４  認識部
７５  入力部
１００  情報処理装置
２００  手
２０１、２０２  動く領域
２０３、２１２  矩形領域
２０４  幅
２０５  最大幅
２０６  最小幅
２０７  ユーザの手に相当する領域
２０８  重心
２０９  細線化画像
２１０  扇型の領域
２１１  指先の位置
【図１】
2012147961.tif 000003
【図２】
2012147961.tif 000004
【図３】
2012147961.tif 000005
【図４】
2012147961.tif 000006
【図５】
2012147961.tif 000007
【図６】
2012147961.tif 000008
【図７】
2012147961.tif 000009
【図８】
2012147961.tif 000010
【図９】
2012147961.tif 000011
【図１０】
2012147961.tif 000012
【図１１】
2012147961.tif 000013
【図１２】
2012147961.tif 000014
【図１３】
2012147961.tif 000015
【図１４】
2012147961.tif 000016
【手続補正書】
【提出日】平成25年10月23日(2013.10.23)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明は、上記事情に鑑みてなされたものであり、より高い精度でデータを入力できる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の第３の観点に係るプログラムは、
コンピュータを、
被写体を撮像した画像データを入力する画像入力部、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部、
として機能させる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
なお、半径ｒ１、ｒ２は、例えば、重心２０８の位置から最大幅２０５から所定の長さΔｒを減じて定められる。また、扇型の範囲は、指先の位置２１１を探索する領域を制限して探索処理を高速化するためのものであり、探索する領域を制限する他の手法を採用してもよい。また、探索する領域を制限せずに重心２０８の位置から全体を探索してもよい。なお、図１１には、人差し指の指先を特定した例を示したが、指先が複数特定される場合もある。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
また、ユーザの手２００に相当する領域２０７を抽出する方法、重心２０８を算出する方法、指先の位置２１１を特定する方法等は、上記実施の形態に限定されない。例えば、ユーザの手２００に相当する領域２０７は、画像中の特定の色（肌色）の部分を抽出してもよい。また、ユーザの手２００に相当する領域２０７を抽出するために、例えば、抽出部７２は、特定した動く領域２０２を含む最小の矩形領域２１２を、図１４に示すように設定してもよい。この場合、抽出部７２は、重心２０８より画像平面上側の白画素の領域をユーザの手に相当する領域２０７として抽出してもよい。また、手２００の移動の有無を判別する手法も任意である。例えば、実際の移動量や速度を求めなくても、移動量や速度と連動する値を求め、これと基準値を比較する等してもよい。
【手続補正７】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
コンピュータを、
被写体を撮像した画像データを入力する画像入力部、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部、
として機能させるプログラム。
【国際調査報告】
2012147961.tif 000017
2012147961.tif 000018