(57)【要約】【課題】簡単なジェスチャによる情報選択操作でもロバスト性の高いユーザインタフェースを実現できるようにする。【解決手段】人体姿勢推定部５２は、撮像部５１により撮像された画像より人体の姿勢を推定し、推定結果である姿勢情報を姿勢認識部５４、およびジェスチャ認識部５６に出力する。姿勢認識部５４は、姿勢情報に基づいて姿勢を認識し、認識した姿勢に対応する姿勢コマンドを情報選択制御部３２に出力する。ジェスチャ認識部５６は、姿勢情報を時系列に姿勢履歴データバッファ５７に蓄積し、時系列の姿勢情報に基づいてジェスチャを認識し、認識したジェスチャに対応するジェスチャコマンドを情報選択制御部３２に供給する。情報選択制御部３２は、姿勢コマンド、またはジェスチャコマンドに基づいて、情報選択肢データベース３３の選択肢となる情報を出力する。本発明は、情報処理装置に適用することができる。【選択図】図１
2011253292.tif 000002
【特許請求の範囲】
【請求項１】
選択肢となる情報を格納する格納手段と、
人体を含む画像を取得する画像取得手段と、
前記画像取得手段により取得された画像より人体の姿勢を推定する人体姿勢推定手段と、
前記人体姿勢推定手段により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択手段と
を含む情報処理装置。
【請求項２】
人体の姿勢に対応付けて、姿勢コマンドを姿勢コマンドデータベースとして記憶する姿勢コマンドデータベース記憶手段と、
前記人体姿勢推定手段により推定された人体の姿勢に基づいて、前記姿勢コマンドデータベースより対応付けて記憶されている姿勢コマンドを選択することにより、前記人体の姿勢を認識する姿勢認識手段とをさらに含み、
前記選択手段は、前記姿勢認識手段により認識された姿勢に対応して選択された姿勢コマンドに基づいて、前記格納手段より、前記選択肢となる情報を選択する
請求項１に記載の情報処理装置。
【請求項３】
前記人体姿勢推定手段により推定された人体の姿勢を時系列に蓄積する蓄積手段と、
時系列の人体の姿勢に対応付けて、ジェスチャコマンドをジェスチャコマンドデータベースとして記憶するジェスチャコマンドデータベース記憶手段と、
前記蓄積手段により蓄積されている時系列の人体の姿勢に基づいて、前記ジェスチャコマンドデータベースより対応付けて記憶されているジェスチャコマンドを選択することにより、前記人体のジェスチャを認識するジェスチャ認識手段とをさらに含み、
前記選択手段は、前記ジェスチャ認識手段により認識されたジェスチャに対応して選択されたジェスチャコマンドに基づいて、前記格納手段より、前記選択肢となる情報を選択する
請求項１に記載の情報処理装置。
【請求項４】
前記選択手段は、前記姿勢認識手段により認識された姿勢に対応して選択された姿勢コマンド、または前記ジェスチャ認識手段により認識されたジェスチャに対応して選択されたジェスチャコマンドに基づいて、前記格納手段より、前記選択肢となる情報を選択する
請求項２または３に記載の情報処理装置。
【請求項５】
前記人体姿勢推定手段は、
前記画像取得手段により取得された画像より人体の顔画像を抽出する顔画像抽出手段と、
前記画像取得手段により取得された画像より人体のシルエットを抽出するシルエット抽出手段と、
前記顔画像、および前記シルエットより、前記画像のうちの正規化処理領域を抽出する正規化処理領域抽出手段と、
前記正規化処理領域より前記人体の姿勢を示す特徴量を抽出する特徴量抽出手段と、
人体の姿勢に対応付けられた特徴量と、前記特徴量に対応付けて予め学習により求められている係数を記憶する姿勢係数データベース記憶手段と、
前記特徴量抽出手段により抽出された特徴量からなるベクトルと、前記特徴量抽出手段により抽出された特徴量に対応付けて、前記姿勢係数データベース記憶手段に記憶されている係数からなるベクトルとの各要素の積和により求められる、前記画像に含まれる人体の各関節の座標および前記間接の角度を、前記人体の姿勢を示すパラメータとする姿勢情報を推定する姿勢推定手段をさらに含む
請求項１に記載の情報処理装置。
【請求項６】
前記人体姿勢推定手段は、
前記姿勢推定手段により推定された人体の姿勢を示すパラメータとする姿勢情報を、前記人体の拘束条件により補正する補正手段をさらに含む
請求項５に記載の情報処理装置。
【請求項７】
選択肢となる情報を格納する格納手段と、
人体を含む画像を取得する画像取得手段と、
前記画像取得手段により取得された画像より人体の姿勢を推定する人体姿勢推定手段と、
前記人体姿勢推定手段により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択手段と
を含む情報処理装置の情報処理方法であって、
前記画像取得手段における、前記人体を含む画像を取得する画像取得ステップと、
前記人体姿勢推定手段における、前記画像取得ステップの処理により取得された画像より人体の姿勢を推定する人体姿勢推定ステップと、
前記選択手段における、前記人体姿勢推定ステップの処理により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択ステップと
を含む情報処理方法。
【請求項８】
選択肢となる情報を格納する格納手段と、
人体を含む画像を取得する画像取得手段と、
前記画像取得手段により取得された画像より人体の姿勢を推定する人体姿勢推定手段と、
前記人体姿勢推定手段により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択手段と
を含む情報処理装置を制御するコンピュータに、
前記画像取得手段における、前記人体を含む画像を取得する画像取得ステップと、
前記人体姿勢推定手段における、前記画像取得ステップの処理により取得された画像より人体の姿勢を推定する人体姿勢推定ステップと、
前記選択手段における、前記人体姿勢推定ステップの処理により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択ステップと
を含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、ジェスチャによるロバストなユーザインタフェースを実現できるようにする情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、情報選択UI（ユーザインタフェース）の分野において、リモコンやキーボードなど情報入力装置を介する情報選択に代えて、手や指など体の一部を利用した非接触のジェスチャによるUIの研究が盛んになっている。
【０００３】
ジェスチャにより情報を選択させる手法としては、手や指先などの体の部位の移動を検知し、その移動量を画面上のカーソル位置と連動させるポインティング操作や、手の形状や姿勢と情報とを直接対応させる手法などが提案されている。このとき、情報選択操作は、ポインティング操作による情報選択と、手の形状などの情報による決定動作の組み合わせで実現されるものが多い。
【０００４】
より具体的には、情報選択操作で最もよく利用されるのが手の位置を認識して行われるポインティング操作である。これは手の動きによって情報選択を行うことができるため、直観的で非常にわかりやすい（非引用文献１参照）。
【０００５】
しかしながら、手の位置を認識する手法では、推定対象人体の手の位置によって、それが左右どちらの手であるのかを判断するのは難しい場合がある。例えば、静止画を利用した安価な手検出では手を肌色領域の検出と手形状とのマッチングで認識したりするが、これは手が重なった時点で左右の手の区別がつきにくくなる。そこで、赤外線等の測距センサを用いて奥行きを認識させるようにして区別する技術が提案されている（非引用文献２参照）。また、左右の手を同時に使用できない、左右の手を交差できない、あらかじめ決められた領域に手が入った場合しか認識できない、などの制約をつけて認識させる技術も提案されている（非引用文献３参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】保呂, 岡田, 稲邑, 稲葉, 視体積交差法を用いた実時間ポインティングジェスチャ認識, 日本機械学会ロボティクス・メカトロニクス講演会, 2006
【非特許文献２】赤堀, 今井, ジェスチャ入力を用いた情報家電インタフェースの開発, ITX2001, 2001
【非特許文献３】中村, 高橋, 田中, Hands-Popie:両手の動きを利用した日本語入力手法, WISS, 2006
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非引用文献１の技術の場合、例えば、画面上に表示されたキーボードのような大きな選択肢から１の入力記号をポインティング操作で選択すると、手を挙げた状態を保持したまま、手や指などを大きく移動させる必要がありユーザが疲労し易くなる。また、小さな選択肢であっても、選択情報を表示する装置が大画面である場合、同様に手や指などの移動量が大きくなるので、やはり疲労し易くなる。 
【０００８】
また、非引用文献２，３の場合、これは手が重なった時点で左右の手の区別がつきにくくなり、赤外線等の測距センサを用いて奥行きを認識できたとしても、センサからほぼ同じ距離にある手が交差しているとき、その区別は困難である可能性が高い。
【０００９】
これが故に、引用文献３で示されるような技術が提案されているが、左右の手を同時に使用できない、左右の手を交差できない、あらかじめ決められた領域に手が入った場合しか認識できない、などの制約があるため、ポインティング操作が制限される。
【００１０】
また、人間の空間認知特性により、離れた場所では実空間の認知空間に差が出来ると言われておりポインティングを大画面で行う際の課題とされている（新谷, 間下, 清川, 竹村, 大画面ポインティングシステムのための 画像特徴量を用いた指差し位置推定,  ヒューマンインタフェースシンポジウム, 2009.参照）。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、特に、簡単なジェスチャによる情報選択操作でもロバスト性の高いユーザインタフェースを実現できるようにするものである。
【課題を解決するための手段】
【００１２】
本発明の一側面の情報処理装置は、選択肢となる情報を格納する格納手段と、人体を含む画像を取得する画像取得手段と、前記画像取得手段により取得された画像より人体の姿勢を推定する人体姿勢推定手段と、前記人体姿勢推定手段により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択手段とを含む。
【００１３】
人体の姿勢に対応付けて、姿勢コマンドを姿勢コマンドデータベースとして記憶する姿勢コマンドデータベース記憶手段と、前記人体姿勢推定手段により推定された人体の姿勢に基づいて、前記姿勢コマンドデータベースより対応付けて記憶されている姿勢コマンドを選択することにより、前記人体の姿勢を認識する姿勢認識手段とをさらに含ませるようにすることができ、前記選択手段には、前記姿勢認識手段により認識された姿勢に対応して選択された姿勢コマンドに基づいて、前記格納手段より、前記選択肢となる情報を選択させるようにすることができる。
【００１４】
前記人体姿勢推定手段により推定された人体の姿勢を時系列に蓄積する蓄積手段と、時系列の人体の姿勢に対応付けて、ジェスチャコマンドをジェスチャコマンドデータベースとして記憶するジェスチャコマンドデータベース記憶手段と、前記蓄積手段により蓄積されている時系列の人体の姿勢に基づいて、前記ジェスチャコマンドデータベースより対応付けて記憶されているジェスチャコマンドを選択することにより、前記人体のジェスチャを認識するジェスチャ認識手段とをさらに含ませるようにすることができ、前記選択手段には、前記ジェスチャ認識手段により認識されたジェスチャに対応して選択されたジェスチャコマンドに基づいて、前記格納手段より、前記選択肢となる情報を選択させるようにすることができる。
【００１５】
前記選択手段には、前記姿勢認識手段により認識された姿勢に対応して選択された姿勢コマンド、または前記ジェスチャ認識手段により認識されたジェスチャに対応して選択されたジェスチャコマンドに基づいて、前記格納手段より、前記選択肢となる情報を選択させるようにすることができる。
【００１６】
前記人体姿勢推定手段には、前記画像取得手段により取得された画像より人体の顔画像を抽出する顔画像抽出手段と、前記画像取得手段により取得された画像より人体のシルエットを抽出するシルエット抽出手段と、前記顔画像、および前記シルエットより、前記画像のうちの正規化処理領域を抽出する正規化処理領域抽出手段と、前記正規化処理領域より前記人体の姿勢を示す特徴量を抽出する特徴量抽出手段と、人体の姿勢に対応付けられた特徴量と、前記特徴量に対応付けて予め学習により求められている係数を記憶する姿勢係数データベース記憶手段と、前記特徴量抽出手段により抽出された特徴量からなるベクトルと、前記特徴量抽出手段により抽出された特徴量に対応付けて、前記姿勢係数データベース記憶手段に記憶されている係数からなるベクトルとの各要素の積和により求められる、前記画像に含まれる人体の各関節の座標および前記間接の角度を、前記人体の姿勢を示すパラメータとする姿勢情報を推定する姿勢推定手段をさらに含ませるようにすることができる。
【００１７】
前記人体姿勢推定手段には、前記姿勢推定手段により推定された人体の姿勢を示すパラメータとする姿勢情報を、前記人体の拘束条件により補正する補正手段をさらに含ませるようにすることができる。
【００１８】
本発明の一側面の情報処理方法は、選択肢となる情報を格納する格納手段と、人体を含む画像を取得する画像取得手段と、前記画像取得手段により取得された画像より人体の姿勢を推定する人体姿勢推定手段と、前記人体姿勢推定手段により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択手段とを含む情報処理装置の情報処理方法であって、前記画像取得手段における、前記人体を含む画像を取得する画像取得ステップと、前記人体姿勢推定手段における、前記画像取得ステップの処理により取得された画像より人体の姿勢を推定する人体姿勢推定ステップと、前記選択手段における、前記人体姿勢推定ステップの処理により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択ステップとを含む。
【００１９】
本発明の一側面のプログラムは、選択肢となる情報を格納する格納手段と、人体を含む画像を取得する画像取得手段と、前記画像取得手段により取得された画像より人体の姿勢を推定する人体姿勢推定手段と、前記人体姿勢推定手段により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択手段とを含む情報処理装置を制御するコンピュータに、前記画像取得手段における、前記人体を含む画像を取得する画像取得ステップと、前記人体姿勢推定手段における、前記画像取得ステップの処理により取得された画像より人体の姿勢を推定する人体姿勢推定ステップと、前記選択手段における、前記人体姿勢推定ステップの処理により推定された人体姿勢に基づいて、前記格納手段より、前記選択肢となる情報を選択する選択ステップとを含む処理を実行させる。
【００２０】
本発明の一側面においては、選択肢となる情報が格納され、人体を含む画像が取得され、取得された画像より人体の姿勢が推定され、推定された人体姿勢に基づいて、前記選択肢となる情報が選択される。
【００２１】
本発明の情報処理装置は、独立した装置であっても良いし、情報処理を行うブロックであっても良い。
【発明の効果】
【００２２】
本発明の一側面によれば、ジェスチャによるロバスト性の高いユーザインタフェースを実現することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】本発明を適用した情報入力装置の一実施の形態の構成例を示すブロック図である。
【図２】人体姿勢推定部の構成例を示す図である。
【図３】情報入力処理を説明するフローチャートである。
【図４】人体姿勢推定処理を説明するフローチャートである。
【図５】姿勢認識処理を説明するフローチャートである。
【図６】姿勢認識処理を説明する図である。
【図７】姿勢認識処理を説明する図である。
【図８】姿勢認識処理を説明する図である。
【図９】ジェスチャ認識処理を説明するフローチャートである。
【図１０】情報選択処理を説明するフローチャートである。
【図１１】情報選択処理を説明する図である。
【図１２】情報選択処理を説明する図である。
【図１３】情報選択処理を説明する図である。
【図１４】情報選択処理を説明する図である。
【図１５】情報選択処理を説明する図である。
【図１６】情報選択処理を説明する図である。
【図１７】汎用のパーソナルコンピュータの構成例を説明する図である。
【発明を実施するための最良の形態】
【００２４】
［情報入力装置の構成例］
図１は、本発明を適用した情報入力装置のハードウェアの一実施の形態の構成例を示している。図１の情報入力装置１１は、使用者である人体の動作（ジェスチャ）に応じて入力操作を認識し、対応する処理結果を表示するものである。
【００２５】
情報入力装置１１は、非接触キャプチャ部３１、情報選択制御部３２、情報選択肢データベース３３、情報機器システム制御部３４、情報表示制御部３５、および表示部３６を備えている。
【００２６】
非接触キャプチャ部３１は、使用者である人体を含む画像を撮像し、撮像した画像内の使用者である人体の姿勢に応じた姿勢コマンド、または姿勢の時系列であるジェスチャに応じたジェスチャコマンドを発生し、情報選択制御部３２に供給する。すなわち、非接触キャプチャ部３１は、使用者である人体に対して非接触の状態で、姿勢、またはジェスチャを認識し、対応する姿勢コマンド、またはジェスチャコマンドを発生して、情報選択制御部３２に供給する。
【００２７】
より詳細には、非接触キャプチャ部３１は、撮像部５１、人体姿勢推定部５２、姿勢記憶データベース５３、姿勢認識部５４、分類姿勢記憶データベース５５、ジェスチャ認識部５６、姿勢履歴データバッファ５７、およびジェスチャ記憶データベース５８を備えている。
【００２８】
撮像部５１は、CCD（Charge Coupled Device）やCMOS（Complementary Metal Oxide Semiconductor）などの撮像素子からなり、情報選択制御部３２により制御されて、使用者たる人体を含む画像を撮像し、撮像した画像を人体姿勢推定部５２に供給する。
【００２９】
人体姿勢推定部５２は、撮像部５１より供給されてくる使用者たる人体を含む画像に基づいて、フレーム単位で人体の姿勢を認識し、認識した姿勢に対応する姿勢情報を姿勢認識部５４、およびジェスチャ認識部５６に供給する。より詳細には、人体姿勢推定部５２は、撮像部５１により撮像された画像の情報から人体の姿勢を示す複数の特徴量を抽出する。そして、人体姿勢推定部５２は、抽出した複数の特徴量からなるベクトルと、姿勢毎の複数の特徴量からなるベクトルに基づいた学習により得られる、姿勢記憶データベース５３に登録されている係数からなるベクトルとの各要素の積和により、姿勢毎の人体の関節の３次元空間上の座標、および角度の情報を推定し、これらをパラメータとする姿勢情報を求める。尚、人体姿勢推定部５２については、図２を参照して詳細を後述する。
【００３０】
姿勢認識部５４は、人体の関節の座標と角度の情報をパラメータとする姿勢情報に基づいて、分類姿勢記憶データベース５５に予め分類された姿勢に対応付けて姿勢情報と共に登録されている姿勢コマンドを検索する。そして、姿勢認識部５４は、検索された姿勢情報に対応付けて登録されている姿勢を使用者たる人体がとっているものと認識し、その姿勢に対応付けて、姿勢情報と共に登録されている姿勢コマンドを情報選択制御部３２に供給する。
【００３１】
ジェスチャ認識部５６は、人体姿勢推定部５２よりフレーム単位で供給されてくる姿勢情報を順次所定時間分だけ姿勢履歴データバッファ５７に蓄積する。そして、ジェスチャ認識部５６は、ジェスチャ記憶データベース５８に予め分類されているジェスチャに対応付けて登録されている時系列の姿勢情報を検索し、対応するジェスチャを検索する。ジェスチャ認識部５６は、検索された時系列の姿勢情報に対応するジェスチャを、撮像されている人体が実行しているジェスチャとして認識する。ジェスチャ認識部５６は、認識されたジェスチャに対応付けて登録されているジェスチャコマンドをジェスチャ記憶データベース５８より読み出して、情報選択制御部３２に供給する。
【００３２】
情報選択肢データベース３３は、非接触キャプチャ部３１より供給されてくる姿勢コマンド、またはジェスチャコマンドに対応付けて選択肢となる情報が登録されている。情報選択制御部３２は、非接触キャプチャ部３１より供給されてくる姿勢コマンド、またはジェスチャコマンドに基づいて、情報選択肢データベース３３より選択肢となる情報を選択して情報機器システム制御部３４、および情報表示制御部３５に供給する。
【００３３】
情報機器システム制御部３４は、情報選択制御部３２より供給されてきた選択肢となる情報に基づいて、各種の処理を図示せぬシステムとして機能する情報機器、または単体で機能する情報機器に実行させる。
【００３４】
情報表示制御部３５は、情報選択制御部３２より供給されてくる選択肢として選択された情報に対応する情報をLCD（Liquid Crystal Display）などからなる表示部３６に表示させる。
【００３５】
［人体姿勢推定部の構成例］
次に、図２を参照して、人体姿勢推定部５２の詳細な構成例について説明する。
【００３６】
人体姿勢推定部５２は、顔検出部７１、シルエット抽出部７２、正規化処理領域抽出部７３、特徴量抽出部７４、姿勢推定部７５、および補正部７６を備えている。顔検出部７１は、撮像部５１より供給されてくる画像より顔画像を検出し、検出した顔画像の大きさ、および位置を特定して、撮像部５１より供給されてきた画像と共にシルエット抽出部７２に供給する。シルエット抽出部７２は、顔検出部７１より供給されてきた撮像画像、顔画像の大きさ、および位置の情報に基づいて、撮像画像より、人体を構成するシルエットを抽出し、顔画像の情報、および撮像画像と共に正規化処理領域抽出部７３に供給する。
【００３７】
正規化処理領域抽出部７３は、撮像画像、顔画像の位置、および大きさの情報、並びに、シルエットの情報より、人体の姿勢情報の推定に用いる領域を撮像画像より正規化処理領域として抽出し、画像情報と共に特徴量抽出部７４に供給する。特徴量抽出部７４は、顔画像の位置、および大きさ、シルエット情報に加えて、撮像画像より、例えば、輪郭、エッジ強度、並びにエッジ方向といった複数の特徴量を抽出し、複数の特徴量を要素とするベクトルとして姿勢推定部７５に供給する。
【００３８】
姿勢推定部７５は、特徴量抽出部７４より供給されてくる複数の特徴量を要素とするベクトルの情報に基づいて、姿勢記憶データベース５３より複数の係数からなるベクトルを読み出す。尚、以降において、複数の特徴量を要素とするベクトルを特徴量ベクトルと称するものとする。また、特徴量ベクトルに対応付けて姿勢記憶データベース５３に登録されている複数の係数からなるベクトルを係数ベクトルと称するものとする。すなわち、姿勢記憶データベース５３には、予め学習により姿勢毎の特徴量ベクトルに対応して求められている係数ベクトル（係数セット）が記憶されている。姿勢推定部７５は、読み出した係数ベクトルと特徴量ベクトルとの各要素毎の積和により姿勢情報を求め、補正部７６に供給する。すなわち、ここで求めれらる姿勢情報とは、人体として設定されている複数の関節の座標位置、および関節の角度より構成される情報である。
【００３９】
補正部７６は、姿勢推定部７５により求められた姿勢情報に対して、人体の顔画像の大きさから求められる手足の長さなどの拘束条件に基づいて、姿勢情報を補正して、補正された姿勢情報を姿勢認識部５４、およびジェスチャ認識部５６に供給する。
【００４０】
［情報入力処理について］
次に、図３のフローチャートを参照して、情報入力処理について説明する。
【００４１】
ステップＳ１１において、非接触キャプチャ部３１の撮像部５１は、使用者たる人物を含む領域の画像を撮像し、撮像した画像を人体姿勢推定部５２に供給する。
【００４２】
ステップＳ１２において、人体姿勢推定部５２は、人体姿勢推定処理を実行して、人体の姿勢を推定して姿勢情報として姿勢認識部５４、およびジェスチャ認識部５６に供給する。
【００４３】
［人体姿勢推定処理］
ここで、図４のフローチャートを参照して、人体姿勢推定処理について説明する。
【００４４】
ステップＳ３１において、顔検出部７１は、撮像部５１より供給されてくる撮像画像に基づいて、撮像された使用者たる人物の顔画像の位置、および大きさの情報を求め、求めた顔画像の情報、および撮像画像をシルエット抽出部７２に供給する。より詳細には、顔検出部７１は、画像内に使用者たる人物が存在するか否かを判断して、人物が存在するとき、顔画像の位置、および大きさを検出する。この際、顔検出部７１は、複数の顔画像が存在する場合、複数の顔画像を識別する情報と共に、それぞれの顔画像の位置、および大きさを求める。顔検出部７１は、例えば、Haarパターンと呼ばれる黒と白の矩形パターンを用いる方法により、顔画像の位置、および大きさを求める。Haarパターンによる顔画像の検出手法とは、目や口などは顔の他の部分よりも暗い事を利用したものであり、顔の明度をHarrパターンと呼ばれる特定のパターンの組み合わせで表し、それらのパターンの並び、座標、大きさ、数などによって顔画像を検出する手法である。
【００４５】
ステップＳ３２において、シルエット抽出部７２は、顔画像の検出と同様に、予め登録した背景領域との差分を計測することで人体などの前景領域を背景領域と分離する、いわゆる背景差分法により、前傾領域のみをシルエットとして抽出する。そして、シルエット抽出部７２は、抽出したシルエット、顔画像の情報、および撮像画像を正規化処理領域抽出部７３に供給する。尚、シルエット抽出部７２は、シルエットを抽出するに当たり、背景差分法以外の方法で抽出するようにしてもよく、例えば、所定以上の動きを伴う領域を前景領域とする動き差分法などの、その他の一般的アルゴリズムを利用するようにしてもよいものである。
【００４６】
ステップＳ３３において、正規化処理領域抽出部７３は、顔画像の検出の結果である顔画像の位置、および大きさの情報を用いて姿勢推定の処理領域である正規化処理領域を設定する。そして、正規化処理領域抽出部７３は、シルエット抽出部７２により抽出された対象人体のシルエットと合わせて、背景領域の情報を除いた人体を構成する前景領域の部分のみからなる正規化処理領域を生成し、特徴量抽出部７４に出力する。この正規化処理領域により、人体と撮像部５１との位置関係を意識せずに人体の姿勢が推定可能となる。
【００４７】
ステップＳ３４において、特徴量抽出部７４は、正規化処理領域内の輪郭、エッジ強度、およびエッジ方向といった特徴量を抽出し、顔画像の位置、および大きさ、シルエット情報に加えて、複数の特徴量からなる特徴量ベクトルを形成して姿勢推定部７５に供給する。
【００４８】
ステップＳ３５において、姿勢推定部７５は、供給されてきた特徴量ベクトルと姿勢に対応付けて予め学習により求められている係数ベクトル（係数セット）を姿勢記憶データベース５３より読み出する。そして、姿勢推定部７５は、特徴量ベクトルと係数ベクトルとの各要素毎の積和により各関節の３次元座標上の位置、および角度からなる姿勢情報を求め、補正部７６に供給する。
【００４９】
ステップＳ３６において、補正部７６は、人体の顔画像の位置、および大きさと、人体の手足の長さなどの拘束条件に基づいて、各関節の位置と角度とからなる姿勢情報を補正する。ステップＳ３７において、補正部７６は、補正した姿勢情報を姿勢認識部５４、およびジェスチャ認識部５６に供給する。
【００５０】
ここで、特徴量ベクトルに基づいた学習により姿勢記憶データベース５３に記憶される係数ベクトルについて説明する。
【００５１】
姿勢記憶データベース５３は、上述したように、必要な姿勢の画像情報から得られる特徴量ベクトルとその姿勢に対応する３次元空間内の関節位置座標を複数組用意し、これらの対応関係を用いた学習により得られる係数ベクトルを記憶している。すなわち、正規化処理画像から得られる人体上半身部分全体の特徴量ベクトルと、人体の３次元空間内における関節位置座標の対応関係を求め人体の姿勢を推定することで、例えば、左右の手の交差など、様々な姿勢が認識可能となる。
【００５２】
係数ベクトルの学習には様々なアルゴリズムを利用することができる。ここでは重回帰分析を例として説明する。画像情報を変換して得られる特徴量ベクトルX∈R_m（∈：要素として含まれる）と人体の３次元空間における関節位置座標、および関節の角度などからなる姿勢情報を構成する要素からなる姿勢情報ベクトルX∈R_dの関係は、重回帰式で表現すると以下の式（１）で示されるような関係となる。
【００５３】
【数１】
2011253292.tif 000003
【００５４】
ここで、mは使用する特徴量の次元、dは人体の３次元空間における関節位置座標ベクトルの次元を示す。εは残差ベクトルといい、学習に用いた人体の３次元空間における関節位置座標と重回帰分析によって求められる予測された３次元空間の位置座標との差を表す。ここでは、上半身姿勢を表すために、腰、頭と、両腕の肩、肘、手首の計８関節の３次元空間における位置座標（x,y,z）を推定するものとする。呼び出し側は、得られた特徴量ベクトルと学習によって得られる偏回帰係数ベクトルβ_（m×d）を乗算することで、人体の３次元空間における関節位置座標の予測値を得ることができる。姿勢記憶データベース５３は、偏回帰係数ベクトルβ_（m×d）（係数セット）の要素を上述した係数ベクトルとして記憶するものとする。
【００５５】
前述の学習データセットを用いて係数ベクトルβを求める手法としては、例えば、リッジ回帰と呼ばれる重回帰分析が用いられる。通常の重回帰分析では以下の式（２）で示される評価関数に従って、予測値と真値（本発明では学習データの人体の３次元空間の関節位置座標、および関節の角度）の差の二乗が最小になるように偏回帰係数ベクトルβ_（m×d）を求められるように最小二乗法が用いられる。
【００５６】
【数２】
2011253292.tif 000004
【００５７】
リッジ回帰では、最小二乗法の評価関数に任意パラメータλを含む項を追加し、下式が最小となるような偏回帰係数ベクトルβ_（m×d）を求める。
【００５８】
【数３】
2011253292.tif 000005
【００５９】
ここでλは、重回帰式によって得られるモデルと、学習データとの適合度を制御するためのパラメータである。重回帰分析に限らず、学習アルゴリズムを用いる際には、過剰学習、あるいは過学習と呼ばれる問題を十分考慮しなければならないことが知られている。過剰学習とは、学習データに対しては学習されているが未知データに対しては適合できていない汎化性能の低い学習をいう。リッジ回帰に現れるパラメータλを含む項は、学習データに対する適合度を制御するパラメータとなっており、過剰学習を制御するのに有効である。パラメータλが小さいと学習データに対する適合度が高くなる代わりに未知データに対する適合度が低くなり、逆にパラメータλが大きいと学習データに対する適合度は低くなるが未知データに対する適合度は高くなる。より汎化性能の高い姿勢記憶データベースとなるようにパラメータλを調整する。
【００６０】
尚、３次元空間内の関節位置座標は、例えば、腰の中心位置を原点とした座標として求められる。また、重回帰分析により求められた係数ベクトルβと、特徴量ベクトルとの各要素の積和を用いて各座標位置および角度が求められても、学習の際、人体の手足などの各パーツの長さの関係については誤差を生じる事があるため、補正部７６が、人体拘束条件、すなわち、各パーツ（手、足など）の長さの関係に基づく拘束条件に基づいて、姿勢情報を補正する。
【００６１】
以上の人体姿勢推定処理により、使用者たる人体の各関節の３次元空間内の関節位置座標と、その角度の情報が姿勢情報（姿勢情報ベクトル）として求められて、姿勢認識部５４、およびジェスチャ認識部５６に供給される。
【００６２】
ここで、図３のフローチャートの説明に戻る。
【００６３】
ステップＳ１２の処理により、人体の姿勢情報が求められると、ステップＳ１３において、姿勢認識部５４は、姿勢認識処理を実行し、姿勢情報に基づいて、分類姿勢記憶データベース５５に予め登録された姿勢毎の姿勢情報との比較により、いずれの姿勢であるかを認識する。そして、姿勢認識部５４は、認識された姿勢に対応付けて分類姿勢記憶データベース５５に登録されている姿勢コマンドを読み出して、情報選択制御部３２に供給する。
【００６４】
［姿勢認識処理］
ここで、図５のフローチャートを参照して、姿勢認識処理について説明する。
【００６５】
ステップＳ５１において、姿勢認識部５４は、人体姿勢推定部５２より供給されてくる、使用者たる人体の各関節の３次元空間内における位置座標の情報と、それぞれの角度の情報からなる姿勢情報を取得する。
【００６６】
ステップＳ５２において、姿勢認識部５４は、分類姿勢記憶データベース５５に登録されている姿勢情報のうち、未処理の姿勢情報を読み出し、処理対象の姿勢情報に設定する。
【００６７】
ステップＳ５３において、姿勢認識部５４は、処理対象の姿勢情報と、人体姿勢推定部５２より供給されてきた姿勢情報とを比較し、そのずれを求める。より詳細には、姿勢認識部５４は、処理対象となる姿勢情報と取得した姿勢情報に含まれる関節の位置座標と角度の情報に基づいて、連続する２関節を結ぶパーツがなす角度の差分を求めて、これをずれとして求める。例えば、左肘と左手首関節を結ぶ左前腕をパーツの例とする場合、図６で示されるようにずれθが求められる。すなわち、図６のずれθは、処理対象となる予め登録されている姿勢情報に基づいた、上位の関節、すなわち左肘関節を原点とし、左肘から手首に向かうベクトルＶ１（ａ１，ａ２，ａ３）と、人体姿勢推定部５２により推定された姿勢情報に基づいたベクトルＶ２（ｂ１，ｂ２，ｂ３）との成す角である。ずれθは、以下の式（４）を計算することにより求められる。
【００６８】
【数４】
2011253292.tif 000006
【００６９】
このように、姿勢認識部５４は、姿勢情報により得られる全ての関節における角度のずれθを計算により求める。
【００７０】
ステップＳ５４において、姿勢認識部５４は、求められた全てのずれθが許容誤差θｔｈ内であるか否かを判定する。そして、ステップＳ５４において、求められた全てのずれθが許容誤差θｔｈ内であると判定された場合、処理は、ステップＳ５５に進む。
【００７１】
ステップＳ５５において、姿勢認識部５４は、人体姿勢推定部５２より供給された姿勢情報が、処理対象となった姿勢情報に分類されている姿勢である可能性が高いとみなし、処理対象となった姿勢情報と、その姿勢情報に分類されている姿勢の情報を候補として記憶する。
【００７２】
一方、ステップＳ５４において、求められた全てのずれθが許容誤差θｔｈ内ではないと判定された場合、処理対象となった姿勢情報の姿勢ではないものとみなし、ステップＳ５５の処理がスキップされて、処理は、ステップＳ５６に進む。
【００７３】
ステップＳ５６において、姿勢認識部５４は、未処理の姿勢情報が分類姿勢記憶データベース５５にあるか否かを判定し、未処理の姿勢情報があると判定した場合、処理は、ステップＳ５２に戻る。すなわち、未処理の姿勢情報がないと判定されるまで、ステップＳ５２乃至Ｓ５６の処理を繰り返す。そして、ステップＳ５６において、未処理の姿勢情報がないと判定された場合、処理は、ステップＳ５７に進む。
【００７４】
ステップＳ５７において、姿勢認識部５４は、候補となる姿勢の姿勢情報が記憶されているか否かを判定する。ステップＳ５７において、例えば、記憶されている場合、処理は、ステップＳ５８に進む。
【００７５】
ステップＳ５８において、姿勢認識部５４は、候補となる姿勢のうち、ずれθの合計が最小となる候補の姿勢に対応付けて、姿勢情報と共に分類姿勢記憶データベース５５に登録されている姿勢コマンドを読み出して、情報選択制御部３２に供給する。
【００７６】
一方、ステップＳ５７において、候補となる姿勢の姿勢情報が記憶されていないと判定された場合、ステップＳ５９において、姿勢認識部５４は、分類されていない姿勢であることを示す姿勢コマンドを情報選択制御部３２に供給する。
【００７７】
以上の処理により、予め分類されている姿勢に対応する姿勢情報が供給されてくると、対応する姿勢コマンドが情報選択制御部３２に供給される。このため、予め分類される姿勢として、例えば、図７の左部で上から順に示されるように、使用者たる人体の左腕ＬＨの掌が左肘に対して紙面向かって左方向、下方向、右方向、および上方向を指している姿勢を、それぞれ識別して認識することができる。また、図７の右部で示されるように、紙面の右から順に人物の前に仮想的に想定される領域２１１乃至２１５が右腕ＲＨの掌で指し示しているような姿勢を識別して認識することが可能となる。
【００７８】
さらに、認識可能な姿勢については、図７で示されるもの以外でもよく、例えば、図８で示されるように、上から左腕ＬＨ１が紙面左上方で、かつ、右腕ＲＨ１が紙面右下方の姿勢、左腕ＬＨ２、および右腕ＲＨ２が紙面右上方の姿勢、左腕ＬＨ３、および右腕ＲＨ３が、それぞれ左右水平方向の姿勢、および左腕ＬＨ１、および右腕ＲＨ１が、交差している姿勢などの姿勢も識別して認識することができる。
【００７９】
すなわち、例えば、掌の位置のみで識別しようとすると、体からの位置関係などが不明となり、誤認識を発生させる恐れがあるが、人体の姿勢として認識するようにしているので、左右の腕を的確に識別することができ、誤認識の発生を抑制することが可能となる。また、姿勢として認識しているので、例えば、図８の最下段で示されるように、左右の腕が交差しても、それぞれの掌を識別することができるので、誤認識を低減させると共に、より複雑な姿勢をも識別する姿勢として登録しておくことが可能となる。さらに、右半身、または左半身の動きのみを登録しておけば、左右の腕の姿勢を、組み合わせとして認識することが可能となり、登録する姿勢情報を少なくしつつ、多くの複雑な姿勢についても識別して認識することが可能となる。
【００８０】
ここで、図３のフローチャートの説明に戻る。
【００８１】
ステップＳ１３において、姿勢認識処理が実行されて、使用者たる人体の姿勢が認識されて姿勢コマンドが出力されると、処理は、ステップＳ１４に進む。ステップＳ１４において、ジェスチャ認識部５６は、ジェスチャ認識処理を実行し、順次人体姿勢推定部５２より供給されてくる姿勢情報に基づいて、ジェスチャ記憶データベース５８に登録されているジェスチャ情報とを比較し、ジェスチャを認識する。そして、ジェスチャ認識部５６は、認識したジェスチャに対応づけてジェスチャ記憶データベース５５に登録されているジェスチャコマンドを情報選択制御部３２に供給する。
【００８２】
［ジェスチャ認識処理］
ここで、図９のフローチャートを参照して、ジェスチャ認識処理について説明する。
【００８３】
ステップＳ７１において、ジェスチャ認識部５６は、人体姿勢推定部５２より供給されてくる姿勢情報を、所定時間分だけ履歴として姿勢履歴データバッファ５７に記憶させる。この際、ジェスチャ認識部５６は、最も古いフレームの姿勢情報を、最も新しいフレームの姿勢情報で上書きし、所定時間分の姿勢情報をフレームの履歴と対応付けて時系列に記憶する。
【００８４】
ステップＳ７２において、ジェスチャ認識部５６は、姿勢履歴データバッファ５７に履歴として記憶されている所定時間分の時系列の姿勢情報をジェスチャ情報として読み出す。
【００８５】
ステップＳ７３において、ジェスチャ認識部５６は、ジェスチャ記憶データベース５８において予め登録されたジェスチャに対応付けて登録されているジェスチャ情報のうち、未処理のジェスチャ情報を処理対象ジェスチャ情報として読み出す。尚、ジェスチャ記憶データベース５８には、予め登録されたジェスチャに対応する時系列の姿勢情報がジェスチャ情報として登録されている。また、ジェスチャ記憶データベース５８には、各ジェスチャに対応付けて、ジェスチャコマンドも登録されている。
【００８６】
ステップＳ７４において、ジェスチャ認識部５６は、処理対象ジェスチャ情報と、姿勢履歴データバッファ５７より読み出されたジェスチャ情報とをパターンマッチングにより比較する。より具体的には、ジェスチャ認識部５６は、例えば、連続DP(Dynamic Programming)により、処理対象ジェスチャ情報と、姿勢履歴データバッファ５７より読み出されたジェスチャ情報とをパターンマッチングにより比較する。連続DPは、入力となる時系列データの時間軸の伸縮を許して事前に登録した時系列データとパターンマッチを行うアルゴリズムで、事前学習がいらないという特徴がある。
【００８７】
ステップＳ７５において、ジェスチャ認識部５６は、パターンマッチングにより処理対象ジェスチャ情報と、姿勢履歴データバッファ５７より読み出されたジェスチャ情報とが一致したか否かを判定する。ステップＳ７５において、例えば、処理対象ジェスチャ情報と、姿勢履歴データバッファ５７より読み出されたジェスチャ情報とが一致したと判定された場合、処理は、ステップＳ７６に進む。
【００８８】
ステップＳ７６において、ジェスチャ認識部５６は、処理対象ジェスチャ情報に対応するジェスチャを候補として記憶する。
【００８９】
一方、ステップＳ７５において、処理対象ジェスチャ情報と、姿勢履歴データバッファ５７より読み出されたジェスチャ情報とが一致しないと判定された場合、ステップＳ７６の処理は、スキップされる。
【００９０】
ステップＳ７７において、ジェスチャ認識部５６は、未処理のジェスチャ情報がジェスチャ記憶データベース５８に登録されているか否かを判定する。ステップＳ７７において、例えば、未処理のジェスチャ情報が登録されている場合、処理は、ステップＳ７３に戻る。すなわち、未処理のジェスチャ情報がなくなるまで、ステップＳ７３乃至Ｓ７７の処理が繰り返される。そして、ステップＳ７７において、未処理のジェスチャ情報がないと判定された場合、処理は、ステップＳ７８に進む。
【００９１】
ステップＳ７８において、ジェスチャ認識部５６は、候補となるジェスチャが記憶されているか否かを判定する。ステップＳ７８において、候補となるジェスチャが記憶されていると判定された場合、処理は、ステップＳ７９に進む。
【００９２】
ステップＳ７９において、ジェスチャ認識部５６は、候補として記憶しているジェスチャのうち、パターンマッチングにより最も一致しているジェスチャが、使用者たる人体によりなされているものと認識する。そして、ジェスチャ認識部５６は、認識したジェスチャに対応付けてジェスチャ記憶データベース５８に記憶されているジェスチャコマンドを情報選択制御部３２に供給する。
【００９３】
一方、ステップＳ７８において、候補となるジェスチャが記憶されていない場合、登録されたジェスチャがなされていないものとみなし、ステップＳ８０において、ジェスチャ認識部５６は、登録されていないジェスチャがなされていることを示すジェスチャコマンドを情報選択制御部３２に供給する。
【００９４】
すなわち、以上の処理により、例えば、姿勢履歴データバッファ５７より読み出された時系列の姿勢情報からなるジェスチャ情報が、図７の左部最下段で示されるように左腕ＬＨが左肘から上方を指している状態から、図７の左部最上段の矢印２０１で示されるように掌が順次移動して図中左上方を指している状態に移動するジェスチャであることが認識されるものとする。この場合、左腕が図７中の点線で示される円状に紙面の第２象限を反時計回りに移動するジェスチャであることが認識され、対応するジェスチャコマンドが出力される。
【００９５】
同様に、図７の左部最上段で示されるように左腕ＬＨが左肘から紙面左方を指している状態から、図７の左部２段目の矢印２０２で示されるように掌が順次移動して図中下方を指している状態に移動するジェスチャであることが認識されるものとする。この場合、左腕が図７中の点線で示される円状に紙面の第３象限を反時計回りに移動するジェスチャであることが認識され、対応するジェスチャコマンドが出力される。
【００９６】
また、図７の左部２段目で示されるように左腕ＬＨが左肘から紙面下方を指している状態から、図７の左部３段目の矢印２０３で示されるように掌が順次移動して図中紙面右方を指している状態に移動するジェスチャであることが認識されるものとする。この場合、左腕が図７中の点線で示される円状に紙面の第４象限を反時計回りに移動するジェスチャであることが認識され、対応するジェスチャコマンドが出力される。
【００９７】
そして、図７の左部３段目で示されるように左腕ＬＨが左肘から紙面右方を指している状態から、図７の左部最下段の矢印２０４で示されるように掌が順次移動して図中紙面上方を指している状態に移動するジェスチャであることが認識されるものとする。この場合、左腕が図７中の点線で示される円状に紙面の第１象限を反時計回りに移動するジェスチャであることが認識され、対応するジェスチャコマンドが出力される。
【００９８】
さらに、図７の右部について、上から順に示されるように、右腕の掌が仮想的に設定されている領域２１１乃至２１５に順次移動することが認識されるものとする。この場合、右腕が水平に図中左方向に移動するジェスチャであることが認識され、対応するジェスチャコマンドが出力される。
【００９９】
同様に、図７の右部について、下から順に示されるように、右腕の掌が仮想的に設定されている領域２１５乃至２１１に順次移動することが認識されるものとする。この場合、右腕が水平に図中右方向に移動するジェスチャであることが認識され、対応するジェスチャコマンドが出力される。
【０１００】
このようにジェスチャが時系列に認識される姿勢情報に基づいて認識されるため、単に掌の移動軌跡などに基づいてジェスチャが認識される場合に、右腕の動作であるか、左腕の動作であるのかの識別がつかないといった誤認識が抑制される。結果として、ジェスチャの誤認識が抑制されて、適切にジェスチャを認識することが可能となる。
【０１０１】
尚、認識されるジェスチャの例として円状に掌を回転させるジェスチャを９０度単位で認識する例について説明してきたが、回転についてはそれ以外のジェスチャであっても良く、例えば、楕円状、菱形状、正方形状、または長方形状などであってもよいし、時計回りでもよい。また、回転の単位についても、９０度のみならず、それ以外の角度であっても良い。
【０１０２】
ここで、図１０のフローチャートの説明に戻る。
【０１０３】
ステップＳ１４のジェスチャ認識処理によりジェスチャが認識されて、認識されたジェスチャに対応するジェスチャコマンドが情報選択制御部３２に供給されると、処理は、ステップＳ１５に進む。
【０１０４】
ステップＳ１５において、情報選択制御部３２は、情報選択処理を実行し、姿勢コマンド、またはジェスチャコマンドに対応付けて、情報選択肢データベース３３に登録されている選択肢となる情報を選択して、情報機器システム制御部３４に供給して各種の処理を実行させると共に、情報表示制御部３５に供給して、選択された情報を表示部３６に表示する。
【０１０５】
さらに、ステップＳ１６において、情報選択制御部３２は、姿勢コマンド、またはジェスチャコマンドにより処理の終了が指示されたか否かを判定し、終了が指示されていないと判定した場合、処理は、ステップＳ１１に戻る。すなわち、処理の終了が指示されていない場合、ステップＳ１１乃至Ｓ１６の処理が繰り返される。そして、ステップＳ１６において、処理の終了が指示されたと判定された場合、処理が終了する。
【０１０６】
［情報選択処理］
ここで、図１０のフローチャートを参照して、情報選択処理について説明する。尚、ここでは、仮名文字のいずれかを情報として選択する処理を例として説明するものとするが、その他の情報を選択するようにしてもよい。この際、図７の左部で示されるように、左腕により掌を９０度回転させる毎に１文字分だけ子音（濁点等を子音としたものを含む）を移動させて選択し、右腕の水平方向の領域２１１乃至２１５のいずれかを掌で指すことにより母音を選択して、いずれかの仮名文字を選択する処理をする例について説明する。
【０１０７】
ステップＳ１０１において、情報選択制御部３２は、姿勢認識部５４より供給されてくる姿勢コマンド、または、ジェスチャ認識部５６より供給されてくるジェスチャコマンドが、開始を示す姿勢コマンド、またはジェスチャコマンドであるかを判定する。例えば、左腕により掌を３６０度回転させるジェスチャが開始を示すジェスチャである場合、左腕により掌を３６０度回転させるジェスチャが認識されると、開始を示すジェスチャが認識されたものとみなされて、処理は、ステップＳ１０２に進む。
【０１０８】
ステップＳ１０２において、情報選択制御部３２は、今現在選択されている子音および母音を「あ」行の「あ」に設定し、初期化する。一方、ステップＳ１０１において、開始を示すジェスチャではないと判定された場合、処理は、ステップＳ１０３に進む。
【０１０９】
ステップＳ１０３において、情報選択制御部３２は、ジェスチャコマンドにより認識されたジェスチャが反時計回りに９０度左腕を回転させるジェスチャであったか否かを判定する。ステップＳ１０３において、ジェスチャコマンドにより認識されたジェスチャが反時計回りに９０度左腕を回転させるジェスチャである場合、処理は、ステップＳ１０４に進む。
【０１１０】
ステップＳ１０４において、情報選択制御部３２は、情報選択肢データベース３３に登録されている選択肢の情報を読み出し、今現在の子音に対して、時計回りに隣接する子音に移動して認識し、認識結果を情報機器システム制御部３４および情報表示制御部３５に供給する。
【０１１１】
すなわち、例えば、図１１の左部、または右部で示されるように、左腕による掌の回転で子音として、「あ」、「か」、「さ」、「た」、「な」、「は」、「ま」、「や」、「ら」、「わ」、「゛」が選択されるようになっているものとする。このような場合、図１２の最上段の状態Ｐ１の選択位置２５１で示されるように、今現在の子音として「あ」行が選択されているとき、図１２の２段目の状態Ｐ２の矢印２６１で示されるように左腕ＬＨ１１から左腕Ｌ１２のように掌が９０度反時計回りに回転するジェスチャがなされると、図１２の２段目Ｐ２の選択位置２６２で示されるように、時計回りに隣接する「か」行が選択される。
【０１１２】
ステップＳ１０５において、情報表示制御部３５は、今現在の子音に対して、時計回りに隣接する子音に移動して認識された子音を示す情報を表示部３６に表示させる。すなわち、例えば、最初の状態においては、例えば、図１２の最上段の状態Ｐ１における表示欄２５２で示されるように、情報表示制御部３５は、子音のデフォルトの先頭位置である「あ」行を大きく表示して、今現在選択されている子音であることを示す情報を表示部３６に表示させている。そして、ここでは、９０度反時計回りに左腕ＬＨ１１が掌を回転させることにより、情報表示制御部３５は、情報選択制御部３２より供給されてくる情報に基づいて、図１２の２段目における表示欄２６３で示されるように、今現在選択されている子音が「か」に切り替わったことを示すように「か」を大きく表示するように切り替えて表示する。尚、このとき、表示欄２６３には、例えば、「か」を中心として、反時計周り方向に隣接する「わ」、「゛」、「あ」、および、時計周り方向に隣接する「さ」、「た」、「な」のみが表示される。このようにすることで、今現在選択されている子音の前後にどのような子音が選択できるのかが認識し易くされている。
【０１１３】
同様に、この状態から、図１２の３段目の状態Ｐ３で示されるように、さらに左腕ＬＨ１２から左腕ＬＨ１３のように９０度、さらに掌が反時計回りに移動すると、ステップＳ１０３，Ｓ１０４の処理により、選択位置２７２で示されるように、「か」行に対して時計回りに隣接する「さ」が選択される。そして、ステップＳ１０５の処理により、情報表示制御部３５が、図１２の３段目の状態Ｐ３における表示欄２７３で示されるように、今現在選択されている子音が「さ」行に切り替わったことを示すように「さ」を大きく表示するように切り替えて表示する。
【０１１４】
一方、ステップＳ１０３において、反時計回りに９０度回転するジェスチャコマンドではないと判定された場合、処理は、ステップＳ１０６に進む。
【０１１５】
ステップＳ１０６において、情報選択制御部３２は、ジェスチャコマンドにより認識されたジェスチャが時計回りに９０度左腕を回転させるジェスチャであったか否かを判定する。ステップＳ１０６において、例えば、ジェスチャコマンドにより認識されたジェスチャが時計回りに９０度左腕を回転させるジェスチャである場合、処理は、ステップＳ１０７に進む。
【０１１６】
ステップＳ１０７において、情報選択制御部３２は、情報選択肢データベース３３に登録されている選択肢の情報を読み出し、今現在の母音に対して、反時計回りに隣接する子音に移動して認識し、認識結果を情報機器システム制御部３４および情報表示制御部３５に供給する。
【０１１７】
ステップＳ１０８において、情報表示制御部３５は、今現在の子音に対して、反時計回りに隣接する子音に移動して認識された子音を示す情報を表示部３６に表示させる。
【０１１８】
すなわち、上述したステップＳ１０３乃至Ｓ１０５における時計回りに掌を回転させる場合と逆の処理となる。すなわち、例えば、図１２の３段目の状態Ｐ３の状態から、４段目の状態Ｐ４の矢印２８１で示されるように、さらに左腕ＬＨ１３から左腕ＬＨ１１のように１８０度、時計回りに掌が移動すると、ステップＳ１０７，Ｓ１０８の処理により、選択位置２８２で示されるように、時計回りに９０度回転したところで、隣接する「か」が選択され、さらに時計周りに９０度回転したところで「あ」が選択される。そして、ステップＳ１０８の処理により、情報表示制御部３５が、図１２の４段目の状態Ｐ４における表示欄２８３で示されるように、今現在選択されている子音が「さ」行から「あ」行に切り替わったことを示すように「あ」を大きく表示するように切り替えて表示する。
【０１１９】
一方、ステップＳ１０６において、時計回りに９０度回転するジェスチャコマンドではないと判定された場合、処理は、ステップＳ１０９に進む。
【０１２０】
ステップＳ１０９において、情報選択制御部３２は、姿勢認識部５４より供給されてくる姿勢コマンド、または、ジェスチャ認識部５６より供給されてくるジェスチャコマンドが、母音を選択する姿勢コマンド、またはジェスチャコマンドであるかを判定する。例えば、右腕により掌を、図７で示されるように、人体の前方に仮想的にされた領域２１１乃至２１５のいずれかを選択し、そのいずれかにより母音を特定する姿勢である場合、右腕により掌が領域２１１乃至２１５のいずれかを指す姿勢を示す姿勢コマンドが認識され、母音を特定したことを示すジェスチャが認識されたものとみなされて、処理は、ステップＳ１１０に進む。
【０１２１】
ステップＳ１１０において、情報選択制御部３２は、情報選択肢データベース３３に登録されている選択肢の情報を読み出し、姿勢として認識された右腕の掌の位置に対応する母音を認識し、認識結果を情報機器システム制御部３４および情報表示制御部３５に供給する。
【０１２２】
すなわち、例えば、子音として「た」行が選択されている場合、図１３の最上段で示されるように、右腕ＲＨ３１により掌が、人体の前方に仮想的に設定される領域２１１を指している姿勢を示す姿勢コマンドが認識された場合、選択位置３１１で示されるように、母音として「た」が選択されたことが認識される。同様に、図１３の２段目で示されるように、右腕ＲＨ３２により掌が、人体の前方に仮想的に設定される領域２１２を指している姿勢を示す姿勢コマンドが認識された場合、母音として「ち」が選択されたことが認識される。また、図１３の３乃至５段目で示されるように、右腕ＲＨ３３乃至ＲＨ３５により掌が、人体の前方に仮想的に設定される領域２１３乃至２１５を指している姿勢を示す姿勢コマンドが認識された場合、それぞれ母音として「つ」、「て」、「と」が選択されたことが認識される。
【０１２３】
ステップＳ１１１において、情報表示制御部３５は、表示部３６に選択されてことが認識された母音に対応する文字を表示する。すなわち、例えば、図１３における左部の表示位置３１１乃至３１５に対応するように選択された母音に対応する文字を表示する。
【０１２４】
一方、ステップＳ１０９において、子音を特定するジェスチャではないと判定された場合、処理は、ステップＳ１１２に進む。
【０１２５】
ステップＳ１１２において、情報選択制御部３２は、姿勢認識部５４より供給されてくる姿勢コマンド、または、ジェスチャ認識部５６より供給されてくるジェスチャコマンドが、決定を選択する姿勢コマンド、またはジェスチャコマンドであるかを判定する。例えば、右腕により掌を、図７で示されるように、人体の前方に仮想的にされた領域２１１乃至２１５を連続的に移動して選択する、または、領域２１５乃至２１１を連続的に移動して選択するようなジェスチャである場合、決定したことを示すジェスチャが認識されたものとみなして、処理は、ステップＳ１１３に進む。
【０１２６】
ステップＳ１１３において、情報選択制御部３２は、今現在選択されている子音で、かつ、母音の文字を決定された文字として認識し、その旨を情報機器システム制御部３４、および情報表示制御部３５に供給する。
【０１２７】
ステップＳ１１４において、情報表示制御部３５は、情報選択制御部３２より供給されてくる情報に基づいて、選択されていた文字が決定されたことを示すように表示部３６に表示させる。
【０１２８】
また、ステップＳ１１２において、決定を示すジェスチャではないと判定された場合、処理は、ステップＳ１１５に進む。
【０１２９】
ステップＳ１１５において、情報選択制御部３２は、姿勢認識部５４より供給されてくる姿勢コマンド、または、ジェスチャ認識部５６より供給されてくるジェスチャコマンドが、終了を指示する姿勢コマンド、またはジェスチャコマンドであるかを判定する。ステップＳ１１５において、終了を指示する姿勢コマンド、またはジェスチャコマンドではない場合、情報選択処理が、終了する。一方、ステップＳ１１５において、例えば、両腕を下げる姿勢を示す姿勢コマンドが供給されてきた場合、ステップＳ１１６において、情報選択制御部３２は、終了を指示する姿勢コマンドが認識されたものとみなして、処理の終了を認識する。
【０１３０】
以上のように説明した一連の処理を纏めると以下のようになる。
【０１３１】
すなわち、図１４の状態Ｐ１１の使用者たる人体の左腕ＬＨ５１で示されるように、矢印３５１で示されるように円を描くように掌が動くようなジェスチャがなされると開始が指示されたものとみなされて処理が開始される。このとき、図１４の状態Ｐ１１で示されるように、デフォルトで子音として「あ」行が選択されて、母音も「あ」が選択された状態となる。
【０１３２】
そして、状態Ｐ１１の左腕ＬＨ５１が、状態Ｐ１２の左腕ＬＨ５２で示されるように矢印３６１方向に９０度反時計回りに回転するジェスチャがなされると共に、右腕ＲＨ５１が右腕ＲＨ５２のように領域２１５を指す姿勢がなされるものとする。この場合、ジェスチャに伴って子音が、「あ」行から「か」行に移動し、さらに、姿勢により「か」行の「こ」が母音として特定される。この状態で決定を示すジェスチャがなされると、「こ」が選択される。
【０１３３】
次に、状態Ｐ１２の左腕ＬＨ５２が、状態Ｐ１３の左腕ＬＨ５３で示されるように矢印３７１方向に２７０度時計回りに回転するジェスチャがなされると共に、右腕ＲＨ５２がそのままで右腕ＲＨ５３のように領域３０５を指す姿勢がなされるものとする。この場合、ジェスチャに伴って９０度回転する毎に子音が、「あ」、および「゛」を経て「わ」行に移動し、さらに、姿勢により「わ」行の「ん」が母音として特定される。この状態で決定を示すジェスチャがなされると、「ん」が選択される。
【０１３４】
また、状態Ｐ１３の左腕ＬＨ５３が、状態Ｐ１４の左腕ＬＨ５４で示されるように矢印３８１方向に４５０度反時計回りに回転するジェスチャがなされると共に、右腕ＲＨ５３が右腕ＲＨ５４のように領域２１２を指す姿勢がなされるものとする。この場合、ジェスチャに伴って９０度回転する毎に子音が、「゛」、「あ」、「か」、「さ」および「た」を経て「な」行に移動し、さらに、姿勢により「な」行の「に」が母音として特定される。この状態で決定を示すジェスチャがなされると、「に」が選択される。
【０１３５】
さらに、状態Ｐ１４の左腕ＬＨ５４が、状態Ｐ１５の左腕ＬＨ５５で示されるように矢印３９１方向に９０度時計回りに回転するジェスチャがなされると共に、右腕ＲＨ５４と同様に右腕ＲＨ５５が領域２１２を指す姿勢がなされるものとする。この場合、ジェスチャに伴って９０度回転することで子音が、「た」行に移動し、さらに、姿勢により「た」行の「ち」が母音として特定される。この状態で決定を示すジェスチャがなされると、「ち」が選択される。
【０１３６】
そして、状態Ｐ１５の左腕ＬＨ５５が、状態Ｐ１６の左腕ＬＨ５６で示されるように矢印４０１方向に１８０度時計回りに回転するジェスチャがなされると共に、右腕ＲＨ５５から右腕ＲＨ５６のように領域２１１を指す姿勢がなされるものとする。この場合、ジェスチャに伴って９０度回転することで子音が、「な」行を経て、「は」行に移動し、さらに、姿勢により「は」行の「は」が母音として特定される。この状態で決定を示すジェスチャがなされると、「は」が選択される。
【０１３７】
最後に、状態Ｐ１６で示されるように、左腕ＬＨ５７、および右腕ＲＨ５７で示されるように、終了を示すように両腕が下げられる一連のジェスチャ、および姿勢により、「こんにちは」が決定されて入力されることになる。
【０１３８】
このように、左右の腕を使ったジェスチャ、および姿勢により文字を入力することが可能となる。この際、姿勢情報を利用することにより姿勢を認識し、姿勢情報の時系列の情報を利用してジェスチャを認識するようにしている。このため、人体のいずれか１のパーツの動きや位置に基づいて選択肢を選択して入力するような場合に、左右の腕の違いが識別できないといった誤認識を低減させることが可能となる。
【０１３９】
以上においては、上半身の８関節とそのパーツの動きから得られる姿勢情報に基づいた文字の入力手法を例として説明してきたが、例えば、掌を握った状態（グー）、人差し指と中指のみを立てた状態（チョキ）、開いた状態（パー）の三種類の状態を特徴量に加えるようにしてもよい。このようにすることで、例えば、母音の特定方法を上述した方法と同様にしても、パーの状態のとき通常文字、チョキの状態のとき濁点、グーの状態のとき半濁点といった切替により、図１１の右部で示されるように、姿勢コマンドによる母音の特定方法にバリエーションを増やすことが可能となる。
【０１４０】
また、仮名文字のみならず、例えば、図１５の左部で示されるように、回転ジェスチャにより「ａ」、「ｅ」、「ｉ」、「ｍ」、「ｑ」、「ｕ」、「ｙ」を、上述した子音のように選択できるようにしてもよい。そして、それぞれ「ａ」の場合、「ａ，ｂ，ｃ，ｄ」が、「ｅ」の場合、「ｅ，ｆ，ｇ，ｈ」が、「ｉ」の場合、「ｉ，ｊ，ｋ，ｌ」が、「ｍ」の場合「ｍ，ｎ，ｏ，ｐ」、「ｑ」の場合、「ｑ，ｒ，ｓ，ｔ」が、「ｕ」の場合、「ｕ，ｖ，ｗ，ｘ」が、「ｙ」の場合、「ｙ，ｚ」が、それぞれ上述した母音の選択と同様できるようにしてもよい。
【０１４１】
さらに、掌の状態による識別ができれば、図１５の右部で示されるように、回転ジェスチャにより「ａ」、「ｈ」、「ｌ」、「ｑ」、「ｗ」を、上述した子音のように選択できるようにしてもよい。そして、それぞれ「ａ」の場合、「ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ」が、「ｈ」の場合、「ｈ，ｉ，ｊ，ｋ」が、「ｌ」の場合「ｌ，ｍ，ｎ，ｏ，ｐ」、「ｑ」の場合、「ｑ，ｒ，ｓ，ｔ，ｕ，ｖ」が、「ｗ」の場合、「ｗ，ｘ，ｙ，ｚ」が、上述した母音の選択と同様できるようにしてもよい。
【０１４２】
また、図１５の右部で示される場合、掌の状態による識別を用いなくても、人体の前に仮想的に設定される領域２１１乃至２１５を増やすようにして対応してもよい。この場合、例えば、図１６の状態Ｐ４２で示されるように、領域５０１乃至５０９からなる９（＝３×３）領域からなる構成とするようにしてもよい。
【０１４３】
すなわち、例えば、図１６の状態Ｐ４１の使用者たる人体の左腕ＬＨ７１で示されるように、矢印４１１で示されるように円を描くように掌が動くようなジェスチャがなされると開始が指示されたものとみなされて処理が開始される。このとき、図１６の状態Ｐ４１で示されるように、デフォルトで子音として「ａ」行が選択されて、母音も「ａ」が選択された状態となる。
【０１４４】
そして、状態Ｐ４１の左腕ＬＨ７１が、状態Ｐ４２の左腕ＬＨ７２で示されるように矢印４１２方向に９０度反時計回りに回転するジェスチャがなされると共に、右腕ＲＨ７１が右腕ＲＨ７２のように領域５０３を指す姿勢がなされると、ジェスチャに伴って子音が、「ａ」行から「ｈ」行に移動し、さらに、姿勢により「ｈ」行の「ｈ」が母音として特定される。この状態で決定を示すジェスチャがなされると、「ｈ」が選択される。
【０１４５】
次に、状態Ｐ４２の左腕ＬＨ７２が、状態Ｐ４３の左腕ＬＨ７３で示されるように矢印４１３方向に９０度時計回りに回転するジェスチャがなされると共に、右腕ＲＨ７２が右腕ＲＨ７３のように領域５０５を指す姿勢がなされると、ジェスチャに伴って９０度回転する毎に子音が、「ａ」行に移動し、さらに、姿勢により「ａ」行の「ｅ」が母音として特定される。この状態で決定を示すジェスチャがなされると、「ｅ」が選択される。
【０１４６】
また、状態Ｐ４３の左腕ＬＨ７３が、状態Ｐ４４の左腕ＬＨ７４で示されるように矢印４１４方向に１８０度反時計回りに回転するジェスチャがなされると共に、右腕ＲＨ７３が右腕ＲＨ７４のように領域５０３を指す姿勢がなされると、ジェスチャに伴って９０度回転する毎に子音が、「ｈ」を経て「ｌ」行に移動し、さらに、姿勢により「ｌ」行の「ｌ」が母音として特定される。この状態で決定を示すジェスチャがなされると、「ｌ」が選択される。
【０１４７】
さらに、状態Ｐ４５の左腕ＬＨ７５および右腕ＲＨ７５で示されるように、状態Ｐ４４の状態が維持されたまま、決定を示すジェスチャがなされると、再び「ｌ」が選択される。
【０１４８】
そして、状態Ｐ４６の左腕ＬＨ７６のように、状態Ｐ４５の左腕ＬＨ７５が維持されて、右腕ＲＨ７５から右腕ＲＨ７６のように領域５０６を指す姿勢がなされると、姿勢により「ｌ」行の「ｏ」が母音として特定される。この状態で決定を示すジェスチャがなされると、「ｏ」が選択される。
【０１４９】
最後に、状態Ｐ４７の左腕ＬＨ７７、および右腕ＲＨ７７で示されるように、終了を示すように両腕が下げられる一連のジェスチャ、および姿勢により、「Ｈｅｌｌｏ」が入力されることになる。
【０１５０】
尚、以上においては、回転角度が９０度ごとに子音を１文字移動させる例について説明してきたが、回転角度ではなく、例えば、回転速度に応じて子音の移動文字数を変化させても良く、高速であれば移動文字数を増やし、低速であれば移動文字数を減らすようにしてもよい。
【０１５１】
また、姿勢情報としては、人体の各関節の３次元空間の位置座標と、角度とを用いる例について説明してきたが、掌の開閉、目や口などの開閉といった情報を加えるようにして区別できるようにしてもよい。
【０１５２】
さらに、以上においては、仮名文字、またはアルファベットといった文字を選択肢として入力する例について説明してきたが、選択肢は文字のみに限るものではなく、ファイルリストやフォルダリストなどによりファイルやフォルダを選択できるようにしてもよい。この場合、ファイルやフォルダは、作成された日付やファイルサイズなどにより、上述した母音や子音のように識別して選択できるようにしてもよい。また、ファイルとしては、写真ファイルなどであってもよく、この場合、撮像された年、月、日、週、または時間といった情報により、上述した母音、または子音のように分類して、選択できるようにしてもよい。
【０１５３】
以上によれば、人体の姿勢やジェスチャを認識する場合、左右の腕の交差などの部分的な隠蔽があった場合でも、左右の腕を区別して認識することができ、限られた空間を最大限に利用して、情報を入力することが可能となる。このため、腕の移動量を増やさずに大量の情報選択肢から所望の情報を選択することが可能となり、入力操作の手間に伴う入力意欲の減退を抑制することで、使用者の疲労を軽減し、操作性の高い情報選択処理を実現することが可能となる。 
【０１５４】
また、左右の手で別々のジェスチャを同時に認識することで、高速な情報選択が可能になると共に、一筆書きのような連続した動作での選択可能となる。さらに、回転や、スライド動作といった決定動作のための手形状の変化など、少数の単純なジェスチャのみで大量の情報を選択し、入力すること可能となるので、使用者に操作を覚え易く、初心者でも簡単に使用できるようにすることができるようなユーザインタフェースを実現することができる。
【０１５５】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１５６】
図１７は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタ-フェイス１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。
【０１５７】
入出力インタ-フェイス１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブルメディア１０１１に対してデータを読み書きするドライブ１０１０が接続されている。
【０１５８】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア１０１１から読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１５９】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【符号の説明】
【０１６０】
１１  情報入力装置，  ３１  非接触キャプチャ部，  ３２  情報選択制御部，  ３３  情報選択肢データベース，  ３４  情報機器システム制御部，  ３５  情報表示制御部，  ３６  表示部，  ５１  撮像部，  ５２  人体姿勢推定部，  ５３  姿勢記憶データベース，  ５４  姿勢認識部，  ５５  分類姿勢記憶データベース，  ５６  ジェスチャ認識部，  ５７  姿勢履歴データバッファ，  ５８  ジェスチャ記憶データベース
【図１】
2011253292.tif 000007
【図２】
2011253292.tif 000008
【図３】
2011253292.tif 000009
【図４】
2011253292.tif 000010
【図５】
2011253292.tif 000011
【図６】
2011253292.tif 000012
【図７】
2011253292.tif 000013
【図８】
2011253292.tif 000014
【図９】
2011253292.tif 000015
【図１０】
2011253292.tif 000016
【図１１】
2011253292.tif 000017
【図１２】
2011253292.tif 000018
【図１３】
2011253292.tif 000019
【図１４】
2011253292.tif 000020
【図１５】
2011253292.tif 000021
【図１６】
2011253292.tif 000022
【図１７】
2011253292.tif 000023