特許第5709228号(P5709228)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧

特許5709228情報処理装置、情報処理方法及びプログラム
<>
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000002
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000003
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000004
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000005
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000006
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000007
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000008
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000009
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000010
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000011
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000012
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000013
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000014
  • 特許5709228-情報処理装置、情報処理方法及びプログラム 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5709228
(24)【登録日】2015年3月13日
(45)【発行日】2015年4月30日
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G06F 3/01 20060101AFI20150409BHJP
【FI】
   G06F3/01 310C
【請求項の数】8
【全頁数】18
(21)【出願番号】特願2013-512494(P2013-512494)
(86)(22)【出願日】2012年4月27日
(86)【国際出願番号】JP2012061471
(87)【国際公開番号】WO2012147961
(87)【国際公開日】20121101
【審査請求日】2013年10月23日
(31)【優先権主張番号】特願2011-102529(P2011-102529)
(32)【優先日】2011年4月28日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】黒河 尊文
(72)【発明者】
【氏名】谷村 竜太郎
【審査官】 岩橋 龍太郎
(56)【参考文献】
【文献】 特開2011−065652(JP,A)
【文献】 特開2009−042796(JP,A)
【文献】 特開2005−301693(JP,A)
【文献】 特開2007−164814(JP,A)
【文献】 特開2005−242694(JP,A)
【文献】 特開2006−099749(JP,A)
【文献】 特開2002−196855(JP,A)
【文献】 特開平09−185456(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/033− 3/041
G06F 3/048
G06F 3/14− 3/153
(57)【特許請求の範囲】
【請求項1】
被写体を撮像した画像データを入力する画像入力部と、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部と、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部と、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域内の所定部位の長さに基づいて、前記抽出部によって抽出された被写体の手に相当する領域から算出された重心と指先との距離を推定することで指先の位置を特定し、特定した指先の位置に基づいて前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部と、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部と、
を備える情報処理装置。
【請求項2】
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域に細線化処理を施すことによって指先の位置を特定する、
ことを特徴とする請求項に記載の情報処理装置。
【請求項3】
前記判定部は、
前記抽出部によって抽出された被写体の手に相当する領域の重心の移動量に基づいて被写体の手が静止状態にあるか否かを判定する、
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記認識部は、
前記判定部によって被写体の手が静止状態にないと判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の動きを認識し、
前記入力部は、
前記認識部によって認識された動きに対応付けられたデータを入力する、
ことを特徴とする請求項1乃至のいずれか一項に記載の情報処理装置。
【請求項5】
前記抽出部は、
前記画像入力部によって入力された画像データにおけるフレーム間の差分データから求められる動く領域に外接する矩形を設定し、矩形内を走査することによって得られる前記動く領域に含まれる線分の長さに基づいて被写体の手首に相当する領域を特定し、特定した前記被写体の手首に相当する領域に基づいて、被写体の手に相当する領域を抽出する、
ことを特徴とする請求項1乃至のいずれか一項に記載の情報処理装置。
【請求項6】
前記画像入力部によって入力された画像データに対応する画像を表示する表示部をさらに備える、
ことを特徴とする請求項1乃至のいずれか一項に記載の情報処理装置。
【請求項7】
被写体を撮像した画像データを入力する画像入力ステップと、
前記画像入力ステップにおいて入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定ステップと、
前記判定ステップにおいて被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出ステップにおいて抽出された被写体の手に相当する領域内の所定部位の長さに基づいて、前記抽出ステップにおいて抽出された被写体の手に相当する領域から算出された重心と指先との距離を推定することで指先の位置を特定し、特定した指先の位置に基づいて前記抽出ステップにおいて抽出された被写体の手に相当する領域の形状を認識する認識ステップと、
前記認識ステップにおいて認識された形状に対応付けられたデータを入力する入力ステップと、
を含む情報処理方法。
【請求項8】
コンピュータを、
被写体を撮像した画像データを入力する画像入力部、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域内の所定部位の長さに基づいて、前記抽出部によって抽出された被写体の手に相当する領域から算出された重心と指先との距離を推定することで指先の位置を特定し、特定した指先の位置に基づいて前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
光学カメラで撮像された手の動きによって非接触で機器を操作する、いわゆるジェスチャ入力装置が知られている。
【0003】
例えば、特許文献1には、8台又は16台のビデオカメラを放射状に配置して、その中心にいる人物の手の動きを検出するポインティングジェスチャ検出方法及び装置が開示されている。
【0004】
また、特許文献2には、予めモデル化した手のひらを複数のビデオカメラで撮影し、手の重心から手の輪郭までの重心スケルトン値を算出して、手の主軸まわりの回転角を最尤法で推定する手振り認識装置が開示されている。
【0005】
また、特許文献3には、ビデオカメラで撮像した手の画像領域の動き分布を算出し、領域の重心の移動を検出して手の握り動作を認識する画像処理装置及び方法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−259989号公報
【特許文献2】特開平10−63864号公報
【特許文献3】特開2001−307107号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
光学カメラで撮像された手の動きによって入力指令を行う場合に、手の動きが速いときには、照度条件等の影響で画像における残像が生じることがある。このため、認識精度が低下し、誤入力が発生するおそれがある。また、カメラと操作者との距離及び操作者の手の大きさの違いによって、画像中の手の領域を正確に認識できず、外部ノイズの影響を受け、誤入力が発生するおそれがある。
【0008】
本発明は、上記事情に鑑みてなされたものであり、より高い精度でデータを入力できる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の第1の観点に係る情報処理装置は、
被写体を撮像した画像データを入力する画像入力部と、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部と、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部と、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域内の所定部位の長さに基づいて、前記抽出部によって抽出された被写体の手に相当する領域から算出された重心と指先との距離を推定することで指先の位置を特定し、特定した指先の位置に基づいて前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部と、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部と、
を備える。
【0010】
本発明の第2の観点に係る情報処理方法は、
被写体を撮像した画像データを入力する画像入力ステップと、
前記画像入力ステップにおいて入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定ステップと、
前記判定ステップにおいて被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出ステップにおいて抽出された被写体の手に相当する領域内の所定部位の長さに基づいて、前記抽出ステップにおいて抽出された被写体の手に相当する領域から算出された重心と指先との距離を推定することで指先の位置を特定し、特定した指先の位置に基づいて前記抽出ステップにおいて抽出された被写体の手に相当する領域の形状を認識する認識ステップと、
前記認識ステップにおいて認識された形状に対応付けられたデータを入力する入力ステップと、
を含む。
【0011】
本発明の第3の観点に係るプログラムは、
コンピュータを、
被写体を撮像した画像データを入力する画像入力部、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域内の所定部位の長さに基づいて、前記抽出部によって抽出された被写体の手に相当する領域から算出された重心と指先との距離を推定することで指先の位置を特定し、特定した指先の位置に基づいて前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部、
として機能させる。
【発明の効果】
【0012】
本発明によれば、より高い精度でデータを入力できる。
【図面の簡単な説明】
【0013】
図1】本発明の実施の形態に係る情報処理装置の斜視図である。
図2図1の情報処理装置の機能ブロック図である。
図3】手によるジェスチャとしての手の動きの例を示す図である。
図4】(A)、(B)及び(C)は、手によるジェスチャとしての指の指す向きが異なる形状の例を示す図である。
図5】(A)、(B)及び(C)は、手によるジェスチャとしての伸ばした指の本数が異なる形状の例を示す図である。
図6】二値化した画像を示す図である。
図7】画像データから特定される動く領域を示す図である。
図8】動く領域に外接する矩形領域を示す図である。
図9】画像データから特定される手首に相当する領域及び重心を示す図である。
図10】細線化処理による細線化画像を示す図である。
図11】指先を探索する領域を示す図である。
図12】入力処理のフローチャートである。
図13】表示部における手の画像の表示の例を示す図である。
図14】手の領域を含む矩形領域の例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態に係る情報処理装置100について図1乃至図14を参照して、説明する。
【0015】
本実施の形態に係る情報処理装置100は、被写体としてのユーザの手200の移動、形状、向き等の手200によるジェスチャに対応するデータ(指令、コマンド等を含む)を入力するジェスチャ入力機能を備える。情報処理装置100は、一般的なコンピュータ装置である。情報処理装置100は、上述のジェスチャ入力機能により入力されたデータを、例えば、任意のアプリケーションソフトウェアで処理する。
【0016】
情報処理装置100は、図1に示すように、操作部1と、カメラ2と、表示部3とを備える。操作部1は、キーボード、マウス等を備える。操作部1は、ユーザの操作入力に従って、種々のコマンド等のデータを情報処理装置100に入力する。
【0017】
カメラ2は、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)センサ等の撮像素子を備える。カメラ2は、視野内に位置する被写体として、例えば、情報処理装置100のユーザの手200を撮像する。ユーザは、手200をカメラ2の視野内で手200の形状や動きを変化させるジェスチャにより、種々のデータを入力する。
【0018】
表示部3は、LCD(Liquid Crystal Display)等を備える。表示部3は、情報処理装置100で実行中のアプリケーションソフトウェアに関連する画像を表示する。また、表示部3は、常時或いは所定の操作に応答して、ジェスチャ入力支援用ウインドウ3Wを表示する。ジェスチャ入力支援用ウインドウ3Wには、メニュー項目、ファイル、アイコン等の選択対象Sと選択用のカーソルCとが表示される。
【0019】
図2は、情報処理装置100の機能構成を示す。情報処理装置100は、上記の操作部1、カメラ2、表示部3の他に、カメラインタフェース4と、表示インタフェース5と、記憶部6と、制御部7とを備える。操作部1、カメラインタフェース4、表示インタフェース5、記憶部6と、制御部7は、バス8により相互にデータ通信可能に接続されている。また、カメラ2は、カメラインタフェース4に接続され、表示部3は、表示インタフェース5に接続される。
【0020】
カメラインタフェース4は、カメラ2で撮像された画像に対応する画像データを、バス8を介して制御部7に入力する。表示インタフェース5は、制御部7によって入力された画像データを表示部3に入力する。
【0021】
記憶部6は、RAM(Random Access Memory)やハードディスク等の記憶装置から構成され、プログラム等の各種データを記憶する。記憶部6は、カメラ2で撮像された画像に対応する画像データを記憶する。記憶部6は、種々のフォーマットで画像データを記憶できる。例えば、記憶部6は、フレーム単位で画像データを記憶する。
【0022】
また、記憶部6は、手200によるジェスチャ(動き、形状、向き等の態様)を認識するための基準データを記憶する。例えば、手200の形状を認識するための基準データは、手の形状をデータ化したパターンデータ等である。手200の動きを認識するための基準データは、例えば、手200の重心の単位時間当たりの移動量に関するデータや手200が移動した際の重心の軌跡をデータ化したパターンデータ等である。記憶部6は、データ(指令、コマンド等を含む)と対応付けて基準データを記憶する。
【0023】
基準データに基づいて認識される手200によるジェスチャは、例えば、図3に示すように、手200の上下左右への動きである。この動きに対応付けられるコマンドは、例えば、動きの方向にカーソルCを動かしたり、動きの方向に画面をスクロールさせたりするコマンドである。例えば、手200を上に動かした場合、カーソルCが上に動く。また、手200を右に動かした場合、カーソルCが右に動く。
【0024】
また、基準データに基づいて認識される手200によるジェスチャは、図4に示すように、人差し指の指す向きによって異なる手200の形状である。この形状に対応付けられるコマンドは、例えば、人差し指の指す向きにカーソルCを動かしたり、人差し指の指す向きに画面をスクロールさせたりするコマンドである。例えば、図4(A)では、人差し指の指す向きが左であるため、カーソルCが左に動く。図4(B)では、人差し指の指す向きが上であるため、カーソルCが上に動く。図4(C)では、人差し指の指す向きが右であるため、カーソルCが右に動く。
【0025】
また、基準データに基づいて認識される手200によるジェスチャは、図5に示すように、伸ばしている指の数で異なる手200の形状である。この形状に対応付けられるコマンドは、例えば、伸ばしている指の数に一致する数値データを入力するコマンドである。図5(A)では、伸ばしている指の数が1本であるため、「1」が入力される。図5(B)では、伸ばしている指の数が2本であるため、「2」が入力される。図5(C)では、伸ばしている指の数が3本であるため、「3」が入力される。
【0026】
制御部7は、プロセッサ等を備える。制御部7は、記憶部6に記憶されたプログラムを実行して、データ処理を実行する。制御部7は、通常のデータ処理を実行するとともに、ジェスチャ入力機能に関連するデータ処理を実行する。制御部7は、画像入力部71と、抽出部72と、判定部73と、認識部74と、入力部75とを備える。
【0027】
画像入力部71は、被写体としてのユーザを撮像した画像データを入力する。画像入力部71は、カメラ2で撮像された画像に対応する画像データをフレーム単位に処理し、記憶部6に記憶させる。
【0028】
抽出部72は、画像入力部71によって入力された画像データに含まれるユーザの手に相当する領域を抽出する。ユーザの手に相当する領域を抽出するために、抽出部72は、以下の画像データ処理を行う。まず、抽出部72は、画像入力部71によって入力された画像データにおけるフレーム間の差分データから求められる動く領域に外接する矩形を設定する。
【0029】
より詳細には、抽出部72は、記憶部6を参照して、今回処理されたフレーム単位の画像データと、1つ前のフレーム単位の画像データとの差分データを演算して、動く領域に対応する画像データを取得する。
【0030】
次に、抽出部72は、動く領域を抽出するために、取得した画像データに対応する画像を二値化する。図6は、二値化した画像における動く領域201を示す。抽出部72は、二値化した画像上の各白画素の周囲8近傍の画素値があらかじめ設定した閾値よりも大きければ、その白画素の領域を拡張する。こうすることで、抽出部72は、白領域を連結して拡張する拡張処理を実行する。また、抽出部72は、二値化した画像上の各黒画素の周囲8近傍の画素値があらかじめ設定した閾値よりも小さければ、その黒画素の領域を縮小する。こうすることで、抽出部72は、ノイズとなる黒ドットを除去する縮小処理を実行する。このようにして抽出部72は、図7に示すように、画像データから動く領域202を特定する。動く領域202を特定するとさらに、抽出部72は、図8に示すように、動く領域202に外接する最小の矩形領域203を設定する。
【0031】
次に、抽出部72は、矩形領域203内を走査することによって得られる動く領域202に含まれる線分の長さに基づいてユーザの手首に相当する領域を特定する。例えば、抽出部72は、設定した矩形領域203について、画像平面の上下方向に対する傾きの方向を求める。抽出部72は、この傾きの方向に直交する直線を画像平面の上から下に向かって矩形領域203の長軸方向に走査して、動く領域202と重なる線分の長さを手200の幅204として求める。求めた幅204が、図9に示すように、最大幅205を取った後、最小幅206となった部位を手200の手首に相当する領域として特定する。
【0032】
次に、抽出部72は、特定したユーザの手首に相当する領域に基づいて、ユーザの手200に相当する領域を抽出する。例えば、抽出部72は、矩形領域203内で、特定した手首に相当する領域より画像平面上側の白画素の領域をユーザの手に相当する領域207として抽出する。
【0033】
ここで、抽出部72は、ユーザの手に相当する領域207を構成する白画素のX座標及びY座標それぞれの平均値を、ユーザの手に相当する領域207の重心208として算出する。算出された重心208は、図9に示すようになる。抽出部72は、算出した重心208を画像データに対応付けて記憶部6に記憶させる。
【0034】
判定部73は、抽出部72によって抽出されたユーザの手に相当する領域207が静止状態にあるか否かを判定する。例えば、判定部73は、抽出部72によって抽出された領域207の重心208の移動量に基づいてユーザの手に相当する領域207が静止状態にあるか否かを判定する。より詳細には、判定部73は、記憶部6を参照して、前回の処理で求めた重心(Xt−1、Yt−1)と今回の処理で求めた重心(X、Y)とから移動量を算出する。ここで、移動量をMとすると、判定部73は、M={(X−Xt−1+(Y−Yt−11/2によって移動量Mを算出できる。
【0035】
判定部73は、算出した移動量Mと所定の閾値Dthとを比較する。判定部73は、移動量Mが閾値Dth以下である場合には、手が静止状態にあると判定し、移動量Mが閾値Dthより大きい場合には、手が移動していると判定する。
【0036】
認識部74は、判定部73によってユーザの手に相当する領域207が静止状態にあると判定された場合に、抽出部72によって抽出されたユーザの手に相当する領域207の形状を認識する。一方、認識部74は、判定部73によってユーザの手が静止状態にないと判定された場合に、抽出部72によって抽出されたユーザの手に相当する領域207の動きを認識する。以下、認識部74によるユーザの手に相当する領域207の形状の認識について詳細に説明する。
【0037】
認識部74は、抽出部72によって抽出されたユーザの手に相当する領域における指先の位置を特定し、特定した指先の位置に基づいてユーザの手に相当する領域207の形状を認識する。例えば、まず、認識部74は、抽出部72によって抽出された領域207に細線化処理を施すことによって指先の位置を特定する。細線化処理は、二値化した画像を幅1画素の細線化画像に変換する処理である。細線化処理は、撮像された被写体の形状的な特徴を際立たせるための処理である。細線化処理は、Hilditch、田村、Zhang Suen等任意のアルゴリズムを用いて実行できる。例えば、認識部74は、抽出部72によって抽出された領域207の中心1画素を残すようにして、図10に示すように、細線化画像209を得る。
【0038】
認識部74は、抽出部72によって抽出されたユーザの手に相当する領域207内の所定部位の長さに基づいて、抽出部72によって抽出されたユーザの手に相当する領域207から算出された重心と指先との距離を推定することで指先の位置を特定する。例えば、人の手の幅は、指の長さに相関する。そこで、認識部74は、抽出部72によって求められた手200の幅204を用いて指先までの距離を推定する。まず、認識部74は、図11に示すように、重心208から特定の半径r1及びr2(r2>r1)と、特定の角度θ1及びθ2(θ2>θ1)を設定する。そして、認識部74は、設定したr1、r2、θ1及びθ2で囲まれた扇型の範囲で、重心208の位置から一定距離以上にわたって延びる細線化画像209の先端を探索し、探索した先端を指先の位置211として特定する。
【0039】
なお、半径r1、r2は、例えば、重心208の位置から最大幅20から所定の長さΔrを減じて定められる。また、扇型の範囲は、指先の位置211を探索する領域を制限して探索処理を高速化するためのものであり、探索する領域を制限する他の手法を採用してもよい。また、探索する領域を制限せずに重心208の位置から全体を探索してもよい。なお、図11には、人差し指の指先を特定した例を示したが、指先が複数特定される場合もある。
【0040】
ユーザの手に相当する領域207の動きの認識においては、認識部74は、記憶部6を参照して、重心位置の移動の履歴(Xt−n、Yt−n)、・・・(Xt−1、Yt−1)、(X、Y)に基づいて、ユーザの手に相当する領域207の動きを認識する。ここで、認識部74は、特定した指先に対応する座標の移動量を算出してもよい。
【0041】
入力部75は、認識部74によって認識された形状又は動きに対応付けられたデータを入力する。例えば、入力部75は、記憶部6を参照し、認識部74によって認識された手200の形状に対応付けられたコマンドを入力する。入力部75は、特定された指先の位置211を含む手200の形状に対応するデータと基準データとを比較して、手200の形状と基準データで認識される手の形状とが一致すると、その基準データに対応付けられたコマンドを入力する。例えば、カーソルCを移動させるコマンドの場合、入力部75は、カーソルCの移動指示を表示部3に入力する。これにより、表示部3のジェスチャ入力支援用ウインドウ3W内のカーソルCが移動する。
【0042】
手200の動きが認識部74によって認識された場合、例えば、入力部75は、手200を上に動かした場合、カーソルCを上に動かす指示を表示部3に入力する。これにより、表示部3のジェスチャ入力支援用ウインドウ3W内のカーソルCが上に移動する。
【0043】
次に、情報処理装置100による入力処理のフローを説明する。情報処理装置100は、種々のアプリケーションソフトウェアを実行可能である。情報処理装置100は、アプリケーションソフトウェアへの入力のために、操作部1からの入力処理に加えて、以下に説明するように、ユーザがジェスチャで入力した場合の入力処理を行う。
【0044】
制御部7は、図12に示す入力処理を、例えば、時分割で繰り返して実行する。なお、制御部7は、入力処理の開始に伴いジェスチャ入力支援用ウインドウ3Wを表示してもよく、或いは、ジェスチャ或いは操作部1からの入力によりジェスチャ入力支援用ウインドウ3Wの表示及び非表示を切り換えるようにしてもよい。
【0045】
画像入力部71は、制御部7に画像データを入力する(ステップS1)。次に、抽出部72は、動く領域201を抽出する(ステップS2)。続いて、抽出部72は、ユーザの手に相当する領域207を抽出する(ステップS3)。抽出部72は、ユーザの手に相当する領域207の重心208を算出する(ステップS4)。
【0046】
判定部73は、重心208の移動量を算出する(ステップS5)。続いて、判定部73は、重心208の移動量に基づいてユーザの手に相当する領域207が静止状態にあるか否かを判定する(ステップS6)。
【0047】
ユーザの手に相当する領域207が静止状態にある場合(ステップS6;YES)、認識部74は、細線化処理を実行する(ステップS7)。続いて、認識部74は、指先の位置211を特定することで手200の形状を認識する(ステップS8)。手200の形状が基準データに一致しない場合(ステップS9;NO)、制御部7は、ステップS1に戻る。一方、手200の形状が基準データに一致した場合(ステップS9;YES)、入力部75は、認識部74によって認識された手200の形状に対応付けられたコマンドを入力する(ステップS10)。そして、制御部7は、入力処理を終了する。
【0048】
一方、ユーザの手に相当する領域207が静止状態にない場合(ステップS6;NO)、認識部74は、重心208の移動量を算出して、ユーザの手の動きを認識する(ステップS11)。続いて、手200の動きが基準データに一致しない場合(ステップS9;NO)、制御部7は、ステップS1に戻る。手200の動きが基準データに一致した場合(ステップS9;YES)、入力部75は、認識部74によって認識された手200の動きに対応付けられたコマンドを入力する(ステップS10)。そして、制御部7は、入力処理を終了する。
【0049】
以上詳細に説明したように、本実施の形態に係る情報処理装置100によれば、手200が静止中であるか否かを判定し、静止状態であれば、手200の形状に基づいてデータを入力する。これにより、静止していない手200の画像における残像による認識精度の低下及びそれに伴う誤入力の発生を極力防止できる。また、静止中の手200の画像を用いるので、手200の領域を正確に認識できるため、処理負担が少なく、外部ノイズの影響及びそれに伴う誤入力の発生を極力防止できる。このため、ユーザがより高い精度でデータを入力できる。
【0050】
なお、本実施の形態では、認識部74は、抽出部72によって抽出された領域207における指先の位置211を特定することでユーザの手に相当する領域207の形状を認識するようにした。こうすることで、画像データから手に相当する領域207を適切に切り出すことができるので、手200以外に撮像された画像等のノイズの影響を極力抑えることができる。また、指先はジェスチャ入力においてよく動く部位であるため、指先の位置211を正確に特定することによって、多様なデータの入力が可能となる。
【0051】
また、本実施の形態では、認識部74は、抽出部72によって抽出された領域207に細線化処理を施すことによって指先の位置211を特定するようにした。細線化処理によって、画像の形状的な特徴が捉えやすくなるため、指先の位置211をより正確に特定できる。また、細線化処理によって、画像を線に変換するため、処理するデータ量を抑えることができ、処理を高速化できる。
【0052】
なお、本実施の形態では、認識部74は、抽出部72によって抽出された領域207内の手の幅204に基づいて、抽出部72によって抽出された領域207の重心208から指先までの距離を推定することで指先の位置211を特定するようにした。手の幅と指の先端までの長さは一般に相関しているため、個人の手の大きさによって指先の位置211を正確に推定できる。
【0053】
また、本実施の形態では、判定部73は、抽出部72によって抽出された領域207の重心208の移動量に基づいてユーザの手200が静止状態にあるか否かを判定するようにした。こうすることで、手200が静止状態にあるか否かを高精度に判定することができる。
【0054】
なお、本実施の形態では、認識部74は、判定部73によってユーザの手200が静止状態にないと判定された場合に、抽出部72によって抽出された領域207の動きを認識し、入力部75は、認識部74によって認識された動きに対応付けられたコマンドを入力するようにした。これにより、手200の形状のみならず、手200の動きによってもデータの入力が可能になるので、ジェスチャで入力できるデータの種類を増加させることができる。この結果、多種のデータをジェスチャで入力できるので、ユーザの利便性が向上する。
【0055】
また、本実施の形態では、抽出部72は、画像入力部71によって入力された画像データにおけるフレーム間の差分データから求められる動く領域202に外接する矩形領域203を設定し、矩形領域203内を走査することによって得られる動く領域202に含まれる線分の長さに基づいてユーザの手首に相当する領域を特定し、特定したユーザの手首に相当する領域に基づいて、ユーザの手200に相当する領域207を抽出するようにした。こうすることで、抽出部72は、手200の領域を正確に抽出できる。さらに、手200以外に撮像された画像等のノイズの影響を極力抑えることができる。
【0056】
なお、図13に示すように、表示部3は、画像入力部71によって入力された画像データに対応する画像をジェスチャ入力支援用ウインドウ3W内に表示するようにしてもよい。こうすることで、ユーザは、手200によるジェスチャを確認しながら操作入力できるので、ユーザは、より確実にデータを入力できる。
【0057】
なお、上記実施の形態においては、手200が静止状態にない場合は、認識された手200の動きに基づいてデータを入力し、手200が静止状態にある場合は、認識された手200の形状に基づいてデータを入力するようにした。しかし、本発明はこれに限定されない。
【0058】
例えば、判定部73は、時間T間隔のフレーム単位の画像データにおける手200の重心208の移動量Lから移動速度V(=L/T)を求めるようにしてもよい。この場合、認識部74は、移動速度Vが第1の閾値V1より大きい場合には、手200の動きに基づいてデータを入力する。また、認識部74は、移動速度Vが第1の閾値V1と第2の閾値V2との間の場合(V1>V>V2)には、手200の動きと手200の形状、向きとの組み合わせに基づいてデータを入力する。また、認識部74は、移動速度Vが第2の閾値V2より小さい場合(V2>V:即ち、ほぼ停止状態)には、手200の形状、向きに基づいてデータを入力する。このようにしても、手200によるジェスチャを高精度で認識し、適切にデータを入力することができる。なお、速度の閾値を3つ以上設けてもよい。
【0059】
また、ユーザの手200に相当する領域207を抽出する方法、重心208を算出する方法、指先の位置211を特定する方法等は、上記実施の形態に限定されない。例えば、ユーザの手200に相当する領域207は、画像中の特定の色(肌色)の部分を抽出してもよい。また、ユーザの手200に相当する領域207を抽出するために、例えば、抽出部72は、特定した動く領域202を含む最小の矩形領域212を、図14に示すように設定してもよい。この場合、抽出部72は、重心208より画像平面上側の白画素の領域をユーザの手に相当する領域207として抽出してもよい。また、手200の移動の有無を判別する手法も任意である。例えば、実際の移動量や速度を求めなくても、移動量や速度と連動する値を求め、これと基準値を比較する等してもよい。
【0060】
また、指先の位置211の特定では、例えば、図14に例示するように、認識部74は、画像を構成する画素の内、重心208より画像平面上側で最も重心208から遠い(距離が離れている)画素の位置を指先の位置211として特定してもよい。
【0061】
また、図12のステップS10で、入力部75は、認識部74によって認識された手200の形状又は動きに対応付けられたコマンドを入力した。これに限らず、入力部75は、認識された手200の形状又は動きに対応するデータを記憶部6に記憶させ、他の処理、例えば、操作部1を介した操作入力に併せて、記憶部6を参照してコマンド等を入力してもよい。
【0062】
上記実施の形態では、カメラ2を備える構成を例示したが、カメラ2で取得した画像データを、データ通信を介して受信したり、記録媒体等を介して取得したりして、その画像データを処理するシステムにも本発明は適用可能である。
【0063】
なお、図3乃至図5に示した手200の移動、形状等の手200によるジェスチャは一例であって、これらに限定されるものではない。
【0064】
本実施の形態の情報処理装置100は、専用のシステムにより実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによって入力装置100を構成してもよい。また、インターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、例えばコンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトウェアとの共同により実現してもよい。この場合には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
【0065】
上記プログラムを記録する記録媒体としては、USBメモリ、フレキシブルディスク、CD、DVD、Blu−ray Disc(登録商標)、MO、SDカード、メモリースティック(登録商標)、その他、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ、磁気テープ等のコンピュータ読取可能な記録媒体を使用することができる。また、ハードディスクやSSD(ソリッドステートドライブ)等、通常、システム又は装置に固定して使用する記録媒体を使用することもできる。
【0066】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【0067】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0068】
(付記1)
被写体を撮像した画像データを入力する画像入力部と、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部と、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部と、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部と、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部と、
を備える情報処理装置。
【0069】
(付記2)
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域における指先の位置を特定し、特定した指先の位置に基づいて被写体の手に相当する領域の形状を認識する、
ことを特徴とする付記1に記載の情報処理装置。
【0070】
(付記3)
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域に細線化処理を施すことによって指先の位置を特定する、
ことを特徴とする付記2に記載の情報処理装置。
【0071】
(付記4)
前記認識部は、
前記抽出部によって抽出された被写体の手に相当する領域内の所定部位の長さに基づいて、前記抽出部によって抽出された被写体の手に相当する領域から算出された重心と指先との距離を推定することで指先の位置を特定する、
ことを特徴とする付記2又は3に記載の情報処理装置。
【0072】
(付記5)
前記判定部は、
前記抽出部によって抽出された被写体の手に相当する領域の重心の移動量に基づいて被写体の手が静止状態にあるか否かを判定する、
ことを特徴とする付記1乃至4のいずれか一つに記載の情報処理装置。
【0073】
(付記6)
前記認識部は、
前記判定部によって被写体の手が静止状態にないと判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の動きを認識し、
前記入力部は、
前記認識部によって認識された動きに対応付けられたデータを入力する、
ことを特徴とする付記1乃至5のいずれか一つに記載の情報処理装置。
【0074】
(付記7)
前記抽出部は、
前記画像入力部によって入力された画像データにおけるフレーム間の差分データから求められる動く領域に外接する矩形を設定し、矩形内を走査することによって得られる前記動く領域に含まれる線分の長さに基づいて被写体の手首に相当する領域を特定し、特定した前記被写体の手首に相当する領域に基づいて、被写体の手に相当する領域を抽出する、
ことを特徴とする付記1乃至6のいずれか一つに記載の情報処理装置。
【0075】
(付記8)
前記画像入力部によって入力された画像データに対応する画像を表示する表示部をさらに備える、
ことを特徴とする付記1乃至7のいずれか一つに記載の情報処理装置。
【0076】
(付記9)
被写体を撮像した画像データを入力する画像入力ステップと、
前記画像入力ステップにおいて入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定ステップと、
前記判定ステップにおいて被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出ステップにおいて抽出された被写体の手に相当する領域の形状を認識する認識ステップと、
前記認識ステップにおいて認識された形状に対応付けられたデータを入力する実行ステップと、
を含む情報処理方法。
【0077】
(付記10)
コンピュータを、
被写体を撮像した画像データを入力する画像入力部、
前記画像入力部によって入力された画像データに含まれる被写体の手に相当する領域を抽出する抽出部、
前記抽出部によって抽出された被写体の手に相当する領域が静止状態にあるか否かを判定する判定部、
前記判定部によって被写体の手に相当する領域が静止状態にあると判定された場合に、前記抽出部によって抽出された被写体の手に相当する領域の形状を認識する認識部、
前記認識部によって認識された形状に対応付けられたデータを入力する入力部、
として機能させるプログラムを記録した記録媒体。
【0078】
本発明は、2011年4月28日に出願された日本国特許出願2011−102529号に基づく。本明細書中に日本国特許出願2011−102529号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
【産業上の利用可能性】
【0079】
本発明は、被写体のジェスチャによってデータを入力する情報処理装置、情報処理方法及び記録媒体に好適である。
【符号の説明】
【0080】
1 操作部
2 カメラ
3 表示部
3W ジェスチャ入力支援用ウインドウ
3i ウインドウ
4 カメラインタフェース
5 表示インタフェース
6 記憶部
7 制御部
8 バス
71 画像入力部
72 抽出部
73 判定部
74 認識部
75 入力部
100 情報処理装置
200 手
201、202 動く領域
203、212 矩形領域
204 幅
205 最大幅
206 最小幅
207 ユーザの手に相当する領域
208 重心
209 細線化画像
210 扇型の領域
211 指先の位置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14