(57)【要約】【課題】ジェスチャ操作の誤認識を抑制する入力装置を提供する。【解決手段】ＨＭＤ１００は、現実空間に固定して設定される基準点及びユーザの手を含む撮像画像を取得するカメラ１０５を備える。ＨＭＤ１００は、カメラ１０５の動きから基準点の撮像画像内における位置を検出するカメラ座標系変換部２０９と、手の撮像画像内における位置の所定時間内の変化により、該手の撮像画像内におけるジェスチャ操作を認識する手ジェスチャ認識部２０５と、基準点の位置の撮像画像内における所定時間内の変化により、基準点の撮像画像内におけるジェスチャを認識する基準点ジェスチャ認識部２１１と、手の撮像画像内におけるジェスチャ操作と、基準点の撮像画像内におけるジェスチャとを比較し、比較結果に基づいて手によるジェスチャ操作に応じた結果を出力するか否かを判定する出力判定部２１２と、を備える。【選択図】図１
2017191426.tif 000002
【特許請求の範囲】
【請求項１】
現実空間に固定して設定される所定の基準点及び入力操作を行う指示体を含む範囲を連続して撮像する撮像手段と、
前記撮像手段で撮像された撮像画像内における前記指示体の位置を検出する第１位置検出手段と、
前記撮像手段の位置及び姿勢を検出する姿勢検出手段と、
前記撮像手段の位置及び姿勢から前記基準点の前記撮像画像内における位置を検出する第２位置検出手段と、
前記第１位置検出手段で連続する撮像画像から検出した前記指示体の位置の所定時間内の変化により、該指示体の前記撮像画像内における動きによる入力操作を認識する第１認識手段と、
前記第２位置検出手段で検出した前記基準点の位置の前記所定時間内の変化により、前記基準点の前記撮像画像内における動きを認識する第２認識手段と、
前記指示体の前記撮像画像内における動きと、前記基準点の前記撮像画像内における動きとを比較し、比較結果に基づいて前記指示体による前記入力操作に応じた結果を出力するか否かを判定する出力判定手段と、を備えることを特徴とする、
入力装置。
【請求項２】
前記出力判定手段は、前記指示体の前記撮像画像内における動きと、前記基準点の前記撮像画像内における動きとが一致するときに、前記指示体による前記入力操作に応じた結果の出力を停止し、前記指示体の前記撮像画像内における動きと、前記基準点の前記撮像画像内における動きとが一致しないときに、前記指示体による前記入力操作に応じた結果の出力を許可することを特徴とする、
請求項１記載の入力装置。
【請求項３】
前記指示体が動く軌跡の近傍に前記基準点を設定する基準点設定手段をさらに備えることを特徴とする、
請求項１又は２記載の入力装置。
【請求項４】
前記基準点設定手段は、前記基準点を前記撮像手段から５０［ｃｍ］の位置に設定することを特徴とする、
請求項３記載の入力装置。
【請求項５】
前記姿勢検出手段により検出された前記撮像手段の位置及び姿勢の変化に基づいて、当該撮像手段が静止しているか否かを検出する静止検出手段をさらに備えており、
前記基準点設定手段は、前記撮像手段の静止が検出されると、前記基準点を再設定することを特徴とする、
請求項３又は４記載の入力装置。
【請求項６】
前記撮像画像内における前記指示体の位置を、前記姿勢検出手段により検出された前記撮像手段の位置及び姿勢に基づいて前記現実空間の位置に変換する変換手段をさらに備えており、
前記基準点設定手段は、前記現実空間の位置に変換された前記指示体の位置に基づいて、前記基準点を設定することを特徴とする、
請求項３又は４記載の入力装置。
【請求項７】
前記第２位置検出手段は、前記現実空間を表す第１座標系により設定される前記基準点の位置を、前記撮像画像に基づく第２座標系における位置に座標変換することで、前記基準点の前記撮像画像内における位置を検出し、
前記第１位置検出手段は、前記撮像画像に基づいて、前記指示体の前記第２座標系における位置を検出することを特徴とする、
請求項１〜６のいずれか１項記載の入力装置。
【請求項８】
前記第２認識手段は、前記基準点の前記撮像画像内における動きを、前記第１認識手段と同様の処理により認識することを特徴とする、
請求項１〜７のいずれか１項記載の入力装置。
【請求項９】
前記第１認識手段は、前記第１位置検出手段で連続する撮像画像から検出した前記指示体の位置の所定時間内の変化から特徴量を算出し、予め学習しておいた認識対象ジェスチャモデルとのマッチングを行うことで、該指示体の前記撮像画像内における動きによる入力操作を認識することを特徴とする、
請求項８記載の入力装置。
【請求項１０】
前記撮像手段はユーザの身体に装着されることを特徴とする、
請求項１〜９のいずれか１項記載の入力装置。
【請求項１１】
現実空間に固定して設定される所定の基準点及び入力操作を行う指示体を含む範囲を連続して撮像する撮像手段から、撮像画像を取得する入力装置により実行される方法であって、
前記撮像手段の位置及び姿勢を検出する工程と、
検出した前記撮像手段の位置及び姿勢に応じて前記基準点の撮像画像内における位置を検出する工程と、
前記撮像手段で撮像された前記撮像画像内における前記指示体の位置を検出する工程と、
連続する撮像画像から検出した前記指示体の位置の所定時間内の変化により、該指示体の前記撮像画像内における動きによる入力操作を認識する工程と、
前記撮像画像内における前記基準点の位置の前記所定時間内の変化により、前記基準点の前記撮像画像内における動きを認識する工程と、
前記指示体の前記撮像画像内における動きと、前記基準点の前記撮像画像内における動きとを比較し、比較結果に基づいて前記指示体による前記入力操作に応じた結果を出力するか否かを判定する工程と、を含むことを特徴とする、
入力制御方法。
【請求項１２】
現実空間に固定して設定される所定の基準点及び入力操作を行う指示体を含む範囲を連続して撮像する撮像手段から撮像画像を取得するコンピュータを、
前記撮像手段で撮像された撮像画像内における前記指示体の位置を検出する第１位置検出手段、
前記撮像手段の位置及び姿勢を検出する姿勢検出手段、
前記撮像手段の位置及び姿勢から前記基準点の前記撮像画像内における位置を検出する第２位置検出手段、
前記第１位置検出手段で連続する撮像画像から検出した前記指示体の位置の所定時間内の変化により、該指示体の前記撮像画像内における動きによる入力操作を認識する第１認識手段、
前記第２位置検出手段で検出した前記基準点の位置の前記所定時間内の変化により、前記基準点の前記撮像画像内における動きを認識する第２認識手段、
前記指示体の前記撮像画像内における動きと、前記基準点の前記撮像画像内における動きとを比較し、比較結果に基づいて前記指示体による前記入力操作に応じた結果を出力するか否かを判定する出力判定手段、
として機能させるためのコンピュータプログラム。
【請求項１３】
請求項１２記載のコンピュータプログラムを記憶するコンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザのジェスチャを入力操作として認識する入力装置に関する。
【背景技術】
【０００２】
ユーザを撮像装置により連続して撮像し、撮像画像からユーザのジェスチャを入力操作として認識することで、該入力操作を受け付ける入力装置がある。ジェスチャによる入力操作を「ジェスチャ操作」という。ジェスチャは、ユーザの手、指等の身体の一部、或いは指示棒等の指示体の動きである。ジェスチャ操作を用いた入力装置は、ユーザのジェスチャを正確に認識することが重要である。撮像装置がユーザの身体に装着可能なものである場合、撮像装置がユーザの動きに応じて動いてしまう。例えば、ＨＭＤ（Head Mount Display）のように撮像装置と表示装置とが一体となってユーザの頭部に装着される装置では、ユーザの首の動きに応じて撮像装置の撮像範囲が動いてしまう。入力装置は、ユーザがジェスチャ操作を行っていない場合であっても、ユーザの動きに応じて撮像装置が動くことで、撮像画像内で指示体の位置が移動してしまい、これをジェスチャ操作に誤認識することがある。これはユーザの意図しないジェスチャ操作となり、操作性の低下につながる。
【０００３】
特許文献１のジェスチャ入力装置は、撮像画像によりジェスチャを認識し、ユーザの身体の動きに伴う撮像装置の姿勢の変動量を求め、変動量に基づいてジェスチャに応じたコマンドを出力する技術を開示する。このジェスチャ入力装置は、撮像装置の変動量が大きい場合、ジェスチャ操作に応じたコマンドの出力を制限することで、ジェスチャ操作の誤認識を抑制する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１４６２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
撮像装置の動きによるジェスチャ操作の誤認識の本質的な要因は、撮像装置の動き量の大小ではなく、撮像画像内の指示体が、撮像装置の動きに応じてジェスチャ操作のように動くことである。撮像画像内の指示体がジェスチャ操作のように動いているか否かは、撮像装置の動き量の大小から判断することは困難である。
【０００６】
本発明は、上記の問題を解決するために、撮像装置の動きに起因するジェスチャ操作の誤認識を抑制する入力装置を提供することを主たる課題とする。
【課題を解決するための手段】
【０００７】
本発明の入力装置は、現実空間に固定して設定される所定の基準点及び入力操作を行う指示体を含む範囲を連続して撮像する撮像手段と、前記撮像手段で撮像された撮像画像内における前記指示体の位置を検出する第１位置検出手段と、前記撮像手段の位置及び姿勢を検出する姿勢検出手段と、前記撮像手段の位置及び姿勢から前記基準点の前記撮像画像内における位置を検出する第２位置検出手段と、前記第１位置検出手段で連続する撮像画像から検出した前記指示体の位置の所定時間内の変化により、該指示体の前記撮像画像内における動きによる入力操作を認識する第１認識手段と、前記第２位置検出手段で検出した前記基準点の位置の前記所定時間内の変化により、前記基準点の前記撮像画像内における動きを認識する第２認識手段と、前記指示体の前記撮像画像内における動きと、前記基準点の前記撮像画像内における動きとを比較し、比較結果に基づいて前記指示体による前記入力操作に応じた結果を出力するか否かを判定する出力判定手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、撮像画像内の基準点の動きと指示体の動きとを比較し、比較結果に応じてジェスチャ操作の誤認識を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】（ａ）、（ｂ）、（ｃ）はＨＭＤの構成の説明図。
【図２】（ａ）、（ｂ）はジェスチャ操作の説明図。
【図３】（ａ）、（ｂ）はジェスチャ操作の説明図。
【図４】（ａ）、（ｂ）は基準点の説明図。
【図５】（ａ）、（ｂ）は基準点の説明図。
【図６】入力制御処理を表すフローチャート。
【図７】（ａ）、（ｂ）はジェスチャ認識処理の説明図。
【図８】（ａ）、（ｂ）はジェスチャ認識処理の説明図。
【図９】ＨＭＤの機能構成図。
【図１０】入力制御処理を表すフローチャート。
【図１１】ＨＭＤの機能構成図。
【図１２】入力制御処理を表すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を参照して実施形態を詳細に説明する。ただし、本実施形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
［第１実施形態］
本実施形態では、入力装置としてユーザの頭部に装着されるＨＭＤを用いる例を説明する。ＨＭＤは撮像装置及び表示装置を備えており、撮像装置で撮像した撮像画像を表示装置に表示する。入力装置は、ユーザの手、指等の身体の一部、或いは指示棒等の指示体の動き（ジェスチャ）による入力操作（ジェスチャ操作）を受け付けて、入力操作の結果を表示装置に表示する。或いは、入力装置は、受け付けた入力操作に応じたコマンドを所定の情報処理装置に送信して、該情報処理装置にコマンドに応じた処理を実行させる。なお、本実施形態の入力装置は、ユーザの身体に装着可能な撮像装置を備えた構成であれば、表示装置を備える必要はない。この場合、表示装置は撮像装置と分離して設けられる。撮像装置に分離して設けられる表示装置は、例えばプロジェクタである。
【００１２】
（構成）
図１は、ＨＭＤの構成の説明図である。図１（ａ）は、ＨＭＤ１００の外観図である。ＨＭＤ１００は眼鏡型であり、ユーザの頭部に装着されて指示体によるジェスチャ操作の認識を行う。本実施形態では、指示体としてユーザの手を用いる例を説明する。ジェスチャ操作の認識のために、ＨＭＤ１００は、装着時にユーザの視界を撮像範囲に含むような位置に、撮像装置であるカメラ１０５を備える。カメラ１０５は、ステレオカメラであるが、赤外線距離カメラであってもよい。またＨＭＤ１００は、カメラ１０５で撮像した画像を表示するディスプレイ１０６を備える。ＨＭＤ１００は、例えばジェスチャ操作に応じた操作結果を、ディスプレイ１０６に表示する。
【００１３】
図１（ｂ）は、ＨＭＤ１００のハードウェア構成図である。ＨＭＤ１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、及びストレージ１０４を備える情報処理装置である。ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ストレージ１０４、カメラ１０５、及びディスプレイ１０６は、システムバス１０７を介して相互に通信可能に接続される。ＣＰＵ１０１は、ＲＯＭ１０２及びストレージ１０４に格納されたコンピュータプログラムを読み込み、ＲＡＭ１０３を作業領域に用いて実行することで、ＨＭＤ１００の動作を制御する。ＲＯＭ１０２は、例えば起動時にＨＭＤ１００の各ハードウェアの起動処理を行うための起動プログラムを格納する。ストレージ１０４は、例えばＨＭＤ１００による各種処理を行うための制御プログラムを格納する。ストレージ１０４は、ハードディスクや外部記憶媒体である。ＣＰＵ１０１は、コンピュータプログラムの実行により、カメラ１０５及びディスプレイ１０６の動作を制御する。カメラ１０５は連続して撮像を行い、撮像した連続する撮像画像、例えば動画をＣＰＵ１０１に送信する。
【００１４】
本実施形態のＨＭＤ１００は、カメラ１０５で撮像した撮像画像に基づくジェスチャ操作に応じた認識結果をディスプレイ１０６に表示する場合について説明する。図１（ｃ）は、このような処理を行うためのＨＭＤ１００の機能構成図である。ＨＭＤ１００は、ＣＰＵ１０１がコンピュータプログラムを実行することで、各機能を実現するが、少なくとも一部をハードウェアにより実現してもよい。ＨＭＤ１００は、撮像画像取得部２０１、出力判定部２１２、及び表示制御部２１３として機能する。ＨＭＤ１００は、ジェスチャ操作を認識するための手検出部２０２、手位置検出部２０３、手位置記憶部２０４、及び手ジェスチャ認識部２０５として機能する。ＨＭＤ１００は、現実空間を表す世界座標系におけるカメラ１０５の動きの判断基準となる基準点を決めるための基準点設定部２０６及び第１基準点記憶部２０７として機能する。ＨＭＤ１００は、カメラ１０５の現実空間における動きを検出するためのカメラ姿勢検出部２０８、カメラ座標系変換部２０９、第２基準点記憶部２１０、及び基準点ジェスチャ認識部２１１として機能する。
【００１５】
撮像画像取得部２０１は、カメラ１０５により撮像された、指示体となるユーザの手及び基準点を含む範囲の撮像画像を取得する。カメラ１０５が連続して撮像するため、撮像画像取得部２０１は連続して撮像画像を取得する。
手検出部２０２は、撮像画像取得部２０１により取得された撮像画像から、ユーザの手領域を検出する。手検出部２０２は、撮像画像中の肌色領域を検出することで、手領域の検出を行う。手検出部２０２は、肌色領域、且つＨＭＤ１００（カメラ１０５）からの距離が閾値以内にある領域のみを手領域として検出してもよい。閾値は、人間の手の長さに応じて決められる。これにより、ユーザの手以外の肌色領域を手領域として誤検出することが抑制される。
【００１６】
手位置検出部２０３は、手検出部２０２より検出された手領域の、撮像画像内における位置を検出する。撮像画像内における位置は、撮像画像に基づく座標系（以下、「カメラ座標系」という。）により表される。手領域の位置は、一般的に、手領域を構成する各ピクセルの重心座標で表される。この他に、例えば手領域を構成する各ピクセルの内、手領域の輪郭への最短距離が最長のピクセルを手領域の位置としてもよい。この場合、手の平の中心付近が手の位置となる。手位置記憶部２０４は、手位置検出部２０３より検出された手領域のカメラ座標系における座標（位置）を記憶する。撮像画像が連続して取得されるために、手位置記憶部２０４は、手領域の位置を該手領域の検出時刻に関連付けて記憶する。
【００１７】
手ジェスチャ認識部２０５は、手位置記憶部２０４に記憶された手領域の位置の所定時間内の時系列データに基づいて、手の動きがジェスチャ操作であるか否かを認識する。手ジェスチャ認識部２０５は、連続する撮像画像内の手の位置の変化により、手の動きを認識する。手ジェスチャ認識部２０５は、例えば手領域の位置及び時間経過による手領域の位置の変化から手の速度、加速度等の特徴量を算出する。手ジェスチャ認識部２０５は、算出した特徴量と、予め学習しておいた認識対象ジェスチャモデルとのマッチングを行い、マッチングの尤度が大きい場合に該ジェスチャ操作を認識する。手ジェスチャ認識部２０５は、認識対象ジェスチャをＨＭＭ（Hidden Markov Model）でモデル化し、マッチング時の最尤経路探索にビタビアルゴリズムを用いる。この他に手ジェスチャ認識部２０５は、決定木等のルールベースによる認識アルゴリズムを用いてマッチングを行ってもよい。
【００１８】
基準点設定部２０６は、世界座標系内の所定の位置を基準点として設定する。基準点は、世界座標系において固定されており、移動しない。第１基準点記憶部２０７は、基準点設定部２０６より設定された基準点の世界座標系における座標（位置）を記憶する。「基準点」の詳細は後述する。
【００１９】
カメラ姿勢検出部２０８は、カメラ１０５の位置、姿勢を検出する。カメラ姿勢検出部２０８は、例えば、撮像画像取得部２０１より取得された連続する撮像画像中の動きベクトルや、ユーザの周辺の世界座標系に設けられる位置姿勢検出用マーカを利用して、センサを用いずにカメラ１０５の位置及び姿勢を検出可能である。また、カメラ姿勢検出部２０８は、ＨＭＤ１００に赤外線ビーコンや加速度センサ、ジャイロセンサ等のセンサを別途追加することにより、カメラ１０５の位置及び姿勢を高精度に検出することも可能である。
【００２０】
カメラ座標系変換部２０９は、第１基準点記憶部２０７に記憶された基準点の世界座標系における座標をカメラ座標系に座標変換する。つまりカメラ座標系変換部２０９は、世界座標系に設定された基準点の位置をカメラ座標系内の位置に変換することで、基準点の撮像画像内の位置を検出する。カメラ座標系は、カメラ１０５により撮像された撮像画像内の座標系であり、カメラ姿勢検出部２０８により検出されたカメラ１０５の位置及び姿勢に基づいて決定される。カメラ座標系変換部２０９は、例えばカメラ１０５の焦点距離、主点座標、歪み係数に加え、カメラ１０５の動きに基づく平行移動パラメータと回転パラメータとに基づいて、基準点の世界座標系における座標のカメラ座標系への座標変換を行う。第２基準点記憶部２１０は、カメラ座標系に変換された基準点の座標（位置）を記憶する。撮像画像が連続して取得されるために、カメラ姿勢検出部２０８が連続してカメラ１０５の位置及び姿勢を検出する。そのためにカメラ座標系変換部２０９は、カメラ座標系を連続して決定し、基準点の世界座標系における座標をカメラ座標系に座標変換する。第２基準点記憶部２１０は、カメラ座標系に座標変換された基準点の位置を該座標の決定時刻に関連付けて記憶する。
【００２１】
基準点ジェスチャ認識部２１１は、第２基準点記憶部２１０に記憶された基準点のカメラ座標系における位置の所定時間内の時系列データに基づいて、基準点の動きをジェスチャ操作として認識する。基準点ジェスチャ認識部２１１は、連続する撮像画像内の基準点の位置の変化により、基準点の動きを認識する。基準点ジェスチャ認識部２１１は、手ジェスチャ認識部２０５のジェスチャ認識処理においてジェスチャ実行中であるとみなされた時間区間（以下、「ジェスチャ実行区間」という。）と同じ時間区間の基準点の位置の時系列データを用いて処理を行う。また、基準点ジェスチャ認識部２１１は、基準点のカメラ座標系における位置の時系列データを、手の位置の時系列データであると仮定した上でマッチングを行い、基準点のジェスチャを認識する。これは、基準点と同様の動きが手によって行われた場合に、その動きがジェスチャとして認識されるか否かを判定するためである。ただし、基準点の動きは、カメラ１０５の動きの変化に応じた撮像画像中の動きである。基準点ジェスチャ認識部２１１の認識処理は、手ジェスチャ認識部２０５の認識処理と同様のアルゴリズムにより可能である。基準点ジェスチャ認識部２１１は、基準点のカメラ座標系における位置及びそれにかかる速度、加速度以外の特徴量が認識処理に必要となる場合、手ジェスチャ認識部２０５が認識処理で用いた手の特徴量を用いる。或いは基準点ジェスチャ認識部２１１は、基準点から取得できない特徴量に基づく尤度計算部分を除外したアルゴリズムを用いて認識処理を行う。
【００２２】
出力判定部２１２は、手ジェスチャ認識部２０５による手のジェスチャ操作の認識結果と、基準点ジェスチャ認識部２１１による基準点のジェスチャの認識結果とを比較し、比較結果に基づいて手のジェスチャ操作の認識結果を出力するか否かを判定する。表示制御部２１３は、ディスプレイ１０６に、手のジェスチャ操作の認識結果を表示する。
【００２３】
（ジェスチャ操作）
図２、図３は、ＨＭＤ１００を装着したユーザによるジェスチャ操作の説明図である。図２では、ユーザが右手を右から左へ動かすジェスチャ操作を行っている。図３では、ユーザがジェスチャ操作を行っておらず、首を左から右へ振っている。図２（ａ）、図３（ａ）はＨＭＤ１００を装着したユーザの俯瞰図であり、図２（ｂ）、図３（ｂ）はカメラ１０５による撮像画像の例示図である。
【００２４】
図２に示す通り、ユーザが右手を右から左へ移動させることで、ＨＭＤ１００は、撮像画像中の手の動き（位置の時系列データ）により、ユーザが手を右から左へ動かすジェスチャ操作を行ったことを認識する。図３に示す通り、ユーザが手を動かさずに首を左から右へ振った場合、撮像画像中の手が右から左へ移動する（図３（ｂ））。これは、図２（ｂ）の手の動きと同じである。そのためにＨＭＤ１００は、このままではユーザがジェスチャ操作を行っていないにも関わらず、ユーザが手を右から左へ動かすジェスチャ操作を行ったと誤認識してしまう。本実施形態のＨＭＤ１００は、このような誤認識を抑制する。
【００２５】
（基準点）
図４、図５は、ジェスチャ操作の誤認識を抑制するために用いる基準点の説明図である。本実施形態では、基準点のカメラ座標系内の動きにより、手によるジェスチャ操作の認識結果を出力するか否かを判定する。そのために基準点の適切な設定は、正確なジェスチャ操作の認識のために重要である。図４では、図２と同様にユーザが右手を右から左へ動かすジェスチャ操作を行っている。図５では、図３と同様に、ユーザがジェスチャ操作を行わず、首を左から右へ振っている。図４（ａ）、図５（ａ）はＨＭＤ１００を装着したユーザの俯瞰図であり、図４（ｂ）、図５（ｂ）はカメラ１０５による撮像画像の例示図である。
【００２６】
図４（ａ）では、世界座標系におけるユーザの正面に基準点４０１が設定される。ユーザが首を動かさずに手を右から左へ振った場合、カメラ１０５は、手が右から左へ移動する画像を撮像する（図４（ｂ））。ＨＭＤ１００の動きに起因する撮像画像中（カメラ座標系）の基準点４０１の動きは、カメラ１０５が動かないために、手の動きと大きく異なる。そのための基準点４０１の動きは、右から左へ振るジェスチャとは認識されない。これは、撮像画像中における手の動きが、ＨＭＤ１００の動きに起因するものではないことを表す。よって、この場合、ＨＭＤ１００は、手が右から左へ振られたというジェスチャ操作の認識結果の出力を許可する。
【００２７】
図５（ａ）では、図４（ａ）と同様の位置に基準点４０１が設定される。ユーザが手を動かさずに首を左から右へ振った場合、カメラ１０５は、手が右から左へ移動する画像を撮像する（図５（ｂ））。ＨＭＤ１００の動きに起因する撮像画像中（カメラ座標系）の基準点４０１の動きは、手の動きに類似しており、撮像画像中を右から左へ振るジェスチャとして認識される。これは、撮像画像中における手のジェスチャが、ＨＭＤ１００の動きに起因するものであることを表す。よって、この場合、ＨＭＤ１００は、手が右から左へ振られたというジェスチャ操作の認識結果の出力を停止する。
【００２８】
基準点４０１は、ユーザがジェスチャ操作を行う際に手が動く軌跡の近傍に設定されることで、ジェスチャ認識の判定精度が向上する。世界座標系におけるユーザの手の位置と基準点４０１の位置とが近いほど、カメラ１０５の動きに起因する手の動きと基準点４０１の動きとが類似するためである。例えば基準点４０１は、ジェスチャ認識の処理開始時におけるＨＭＤ１００（カメラ１０５）の撮像範囲内で、ＨＭＤ１００（カメラ１０５）からの距離が５０［ｃｍ］の位置に設定されることが好ましい。逆に、基準点４０１がＨＭＤ１００（カメラ１０５）から遠く離れた位置やユーザの背後に設定された場合、カメラ１０５の動きに起因する基準点４０１の動きと手の動きとが乖離し、ジェスチャ操作の認識結果の出力の判定精度が下がることになる。基準点４０１は、カメラ１０５による撮像画像中に実際には表示されない、世界座標系中の仮想の点である。また、基準点４０１として体積を有する仮想的な物体を設定してもよい。
【００２９】
（ジェスチャ認識処理）
図６は、このようなＨＭＤ１００によるユーザのジェスチャ操作による入力制御処理を表すフローチャートである。この処理は、ユーザがＨＭＤ１００を頭部に装着してジェスチャ操作を行う際に行われる。処理の開始時に、カメラ１０５は撮像を開始しており、ＣＰＵ１０１に連続して撮像画像を入力している。
【００３０】
ＨＭＤ１００は、基準点設定部２０６により基準点４０１の世界座標系における位置を設定し、この位置の世界座標系における座標を第１基準点記憶部２０７に記憶させる（Ｓ３０１）。カメラ姿勢検出部２０８は、撮像画像取得部２０１により取得された撮像画像に基づいて、カメラ１０５の世界座標系における位置、姿勢を検出する（Ｓ３０２）。カメラ座標系変換部２０９は、第１基準点記憶部２０７に記憶された基準点４０１の世界座標系における座標を、カメラ１０５の位置、姿勢に基づくカメラ座標系に座標変換し、第２基準点記憶部２１０に記憶する（Ｓ３０３）。カメラ１０５が連続して撮像を行うため、第２基準点記憶部２１０は、時系列に応じて基準点４０１のカメラ座標系における位置を表す時系列データを記憶する。
【００３１】
手検出部２０２は、撮像画像取得部２０１により取得された撮像画像に基づいて、ユーザの手領域を検出する（Ｓ３０４）。手位置検出部２０３は、手検出部２０２により検出された手領域のカメラ座標系における位置を検出して、手位置記憶部２０４に記憶させる（Ｓ３０５）。カメラ１０５が連続して撮像を行うため、手位置記憶部２０４は、時系列に応じて手領域のカメラ座標系における位置を表す時系列データを記憶する。手ジェスチャ認識部２０５は、手位置記憶部２０４に記憶された手領域の位置の時系列データに基づいて、ユーザの手の動きがジェスチャ操作を行っているか否か認識する（Ｓ３０６）。手ジェスチャ認識部２０５がジェスチャ操作が行われていないと判定した場合（Ｓ３０７：N）、ＨＭＤ１００は、次の撮像画像を取得したか否かの判定を行う（Ｓ３１２）。
【００３２】
ジェスチャ操作が行われたと認識された場合（Ｓ３０７：Y）、基準点ジェスチャ認識部２１１は、第２基準点記憶部２１０に記憶されたカメラ座標系の基準点の位置を表す時系列データに基づいて、基準点の動きによるジェスチャを認識する（Ｓ３０８）。基準点ジェスチャ認識部２１１は、Ｓ３０６の処理におけるジェスチャ実行区間と同じ時間区間のカメラ座標系の基準点の位置の時系列データを使用して、基準点によるジェスチャを認識する。なお、基準点４０１として体積のある物体を設定した場合、基準点ジェスチャ認識部２１１は、物体の大きさを特徴量としてジェスチャ認識処理に用いてもよい。
【００３３】
基準点によるジェスチャと、手によるジェスチャ操作との認識結果が一致する場合（Ｓ３０９：Y）、出力判定部２１２は、手によるジェスチャ操作の認識結果の出力を停止する（Ｓ３１０）。基準点によるジェスチャと手によるジェスチャ操作とが一致するということは、カメラ１０５の動きに起因する基準点４０１のカメラ座標系における動きが、ジェスチャ操作時の手の動きに類似することを意味する（図５（ｂ）参照）。つまり、ユーザが手を動かさなくてもジェスチャ操作として認識されてしまう撮像画像が、カメラ１０５の動きにより撮像されたと解釈できる。よって、ＨＭＤ１００は、ジェスチャ操作の認識が誤りであると判定して、表示制御部２１３へのジェスチャ操作の認識結果の出力を停止する。
【００３４】
基準点によるジェスチャと、手によるジェスチャ操作との認識結果が一致しない場合（Ｓ３０９：N）、出力判定部２１２は、手によるジェスチャ操作の認識結果の出力を許可する（Ｓ３１１）。表示制御部２１３は、ジェスチャ操作の認識結果に応じた画像を表示する。基準点によるジェスチャと手のジェスチャ操作とが一致しないということは、カメラ１０５の動きに起因する基準点のカメラ座標系における動きが、ジェスチャ操作時の手の動きとは大きく異なることを表す（図４（ｂ）参照）。つまり、カメラ１０５の動きが、ユーザが手を動かさなければジェスチャ操作として認識されないものであったと解釈できる。よって、ＨＭＤ１００は、ジェスチャ操作の認識結果がユーザの意図通りであると判定し、表示部１２３へのジェスチャ操作の認識結果の出力を許可する。
【００３５】
ＨＭＤ１００のＣＰＵ１０１は、カメラ１０５から次の撮像画像を取得したか否かの判定を行う（Ｓ３１２）。次の撮像画像を取得した場合（Ｓ３１２：Y）、ＣＰＵ１０１はＳ３０２以降の処理を繰り返し行う。次の撮像画像を取得しない場合（Ｓ３１２：N）、ＣＰＵ１０１は処理を終了する。
【００３６】
以上のような本実施形態のＨＭＤ１００は、世界座標系に設定される基準点により、カメラ１０５の動きに起因する、手によるジェスチャ操作の誤認識を抑制する。そのためにＨＭＤ１００は、ユーザの身体に装着されるカメラ１０５が動いた際の、ユーザの意図しないジェスチャ操作を防止することができる。特にＨＭＤ１００は、ジェスチャ操作の誤認識の本質的な要因である、カメラ１０５の動きに起因する撮像画像内の手の動きが如何にジェスチャ操作に類似しているかを、既存のジェスチャ操作の認識アルゴリズムに基づいて判定することが可能となる。
【００３７】
［第２実施形態］
基準点は、カメラ１０５の撮像範囲に応じて適切に設定されることが好ましいが、カメラ１０５を装着したユーザの動きによっては、一度設定した基準点が適切な位置から外れることがある。図７、図８は、基準点４０１が適切な位置から外れた場合のジェスチャ認識処理の説明図である。図７は、基準点４０１がＨＭＤ１００（カメラ１０５）から大きく離れた位置に設定される。図８では、ユーザの移動により基準点４０１がユーザの後背に位置し、カメラ１０５の撮像範囲から外れている。図７（ａ）、図８（ａ）はＨＭＤ１００を装着したユーザの俯瞰図であり、図７（ｂ）、図８（ｂ）はカメラ１０５による撮像画像の例示図である。いずれの場合も、基準点４０１が適切な位置から外れているために、カメラ１０５の動きに応じた基準点４０１の動きとユーザの手の動きとが乖離し、正確なジェスチャ操作の認識が困難である。
【００３８】
そのために第２実施形態のＨＭＤ１００は、撮像装置（カメラ１０５）を装着したユーザの位置、姿勢等の動きに伴い、基準点を再設定する。具体的には、ＨＭＤ１００は、カメラ１０５が静止したタイミングで、基準点の再設定を行う。ＨＭＤ１００の外観、ハードウェア構成は、第１実施形態のＨＭＤ１００と同様であるため説明を省略する。
【００３９】
図９は、第２実施形態のＨＭＤ１００の機能構成図である。第２実施形態のＨＭＤ１００の機能構成は、図１（ｃ）に示す第１実施形態のＨＭＤ１００の機能構成に、カメラ静止検出部５０１を追加した構成である。同様の機能については説明を省略する。カメラ静止検出部５０１は、カメラ姿勢検出部２０８により検出されたカメラ１０５の位置及び姿勢の変化に基づいて、カメラ１０５が静止しているか否かを検出する。
【００４０】
図１０は、第２実施形態のＨＭＤ１００によるユーザのジェスチャ操作による入力制御処理を表すフローチャートである。図６に示す第１実施形態のフローチャートと同じ処理には同じステップ番号を付してある。
【００４１】
基準点の設定後にカメラ１０５の動きを検出したＨＭＤ１００は、カメラ静止検出部５０１により、検出されたカメラ１０５の動きが静止しているか否かを判定する（Ｓ３０１、Ｓ３０２、Ｓ１００１）。静止判定は、カメラ１０５の世界座標系における動き量、例えばカメラ１０５の位置や角度の変動量と所定の閾値との比較により行われる。カメラ静止検出部５０１は、動き量が閾値以下の場合にカメラ１０５が静止していると判定する。静止していない場合（Ｓ１００１：N）、ＨＭＤ１００は、Ｓ３０３以降の処理を行う。静止している場合（Ｓ１００１：Y）、基準点設定部２０６は世界座標系における新たな基準点を設定して、第１基準点記憶部２０７に記憶させる（Ｓ１００２）。新たな基準点の設定が終了すると、ＨＭＤ１００は、Ｓ３０３以降の処理を行う。
【００４２】
このように第２実施形態のＨＭＤ１００は、カメラ１０５の動きが静止する度に新たな基準点を設定し、基準点が最適な位置から外れることを防止する。これにより基準点は、ユーザがジェスチャを行う位置の近傍に常に設定される。そのために第２実施形態のＨＭＤ１００は、第１実施形態のＨＭＤ１００の効果の他に、ユーザの動きが大きい場合であっても、ＨＭＤ１００は、カメラ１０５の動きに起因する、手によるジェスチャ操作の誤認識を抑制するという効果を持つ。
【００４３】
［第３実施形態］
第１、第２実施形態では、手によるジェスチャ操作の認識前に基準点を設定しているが、基準点は、ジェスチャ操作の認識後に設定されてもよい。第３実施形態のＨＭＤ１００は、手によるジェスチャ操作の実行中に、基準点を設定する。ジェスチャ操作の実行中であるために、基準点が、手の位置に基づく適切な位置に設定可能である。
【００４４】
ＨＭＤ１００の外観、ハードウェア構成は、第１実施形態のＨＭＤ１００と同様であるため説明を省略する。図１１は、第３実施形態のＨＭＤ１００の機能構成図である。第３実施形態のＨＭＤ１００の機能構成は、図１（ｃ）に示す第１実施形態のＨＭＤ１００の機能構成に、世界座標系変換部６０１及びカメラ姿勢記憶部６０２を追加した構成である。同様の機能については説明を省略する。
【００４５】
世界座標系変換部６０１は、カメラ姿勢検出部２０８より検出されたカメラ１０５の位置及び姿勢に基づいて、手位置検出部２０３より検出されたカメラ座標系における手の位置を、世界座標系に座標変換する。カメラ姿勢記憶部６０２は、カメラ姿勢検出部２０８より検出されたカメラ１０５の位置、姿勢等の動きを記憶する。
【００４６】
図１２は、第３実施形態のＨＭＤ１００によるユーザのジェスチャ操作による入力制御処理を表すフローチャートである。図６に示す第１実施形態のフローチャートと同じ処理には同じステップ番号を付してある。この処理は、ユーザがＨＭＤ１００を頭部に装着してジェスチャ操作を行う際に行われる。処理の開始時に、カメラ１０５は撮像を開始しており、ＣＰＵ１０１に連続して撮像画像を入力している。
【００４７】
カメラ姿勢検出部２０８は、撮像画像取得部２０１により取得された撮像画像に基づいて、カメラ１０５の位置、姿勢等の動きを検出して、カメラ姿勢記憶部６０２に記憶させる（Ｓ１２０１）。手検出部２０２は、撮像画像取得部２０１により取得された撮像画像に基づいて、ユーザの手領域を検出する（Ｓ３０４）。手位置検出部２０３は、手検出部２０２により検出された手領域のカメラ座標系における位置を検出して、手位置記憶部２０４に記憶させる（Ｓ３０５）。カメラ１０５が連続して撮像を行うため、手位置記憶部２０４は、時系列に応じて手領域のカメラ座標系における位置を表す時系列データを記憶する。
【００４８】
世界座標系変換部６０１は、手位置記憶部２０４に記憶された手領域のカメラ座標系における位置を、カメラ姿勢記憶部６０２に記憶されたカメラ１０５の位置、姿勢（動き）に基づいて世界座標系に座標変換して、手位置記憶部２０４に記憶させる（Ｓ１２０２）。
【００４９】
手ジェスチャ認識部２０５は、手位置記憶部２０４に記憶された手領域のカメラ座標系における位置の時系列データに基づいて、ユーザの手の動きがジェスチャ操作を行っているか否か認識する（Ｓ３０６）。手ジェスチャ認識部２０５がジェスチャ操作が行われていないと判定した場合（Ｓ３０７：N）、ＨＭＤ１００は、次の撮像画像を取得したか否かの判定を行う（Ｓ３１２）。
【００５０】
ジェスチャ操作が行われたと認識された場合（Ｓ３０７：Y）、基準点設定部２０６は、手位置記憶部２０４に記憶された手領域の世界座標系における位置に基づいて、基準点の世界座標系における位置を設定する。基準点設定部２０６は、設定した基準点の世界座標系における位置を、第２基準点記憶部２１０に記憶させる（Ｓ１２０３）。ここで基準点設定部２０６は、直前に行われるＳ３０６のジェスチャ操作の認識処理において認識されたジェスチャ実行区間における手領域の平均位置を、基準点の位置とする。ジェスチャ操作の認識後に基準点の位置を設定することで、基準点をジェスチャ操作時の手の近くに配置することができる。
【００５１】
カメラ座標系変換部２０９は、カメラ姿勢記憶部６０２に記憶されたカメラ１０５の位置、姿勢に基づいて、Ｓ１２０３で設定された基準点の世界座標系における座標（位置）をジェスチャ実行区間におけるカメラ座標系の座標に変換する（Ｓ１２０４）。カメラ座標系変換部２０９は、カメラ座標系の座標に変換した基準点の座標（位置）を第２基準点記憶部２１０に記憶させる。カメラ座標系における基準点の座標（位置）の第２基準点記憶部２１０への記憶後に、ＨＭＤ１００は、Ｓ３０８以降の処理を行う。
【００５２】
このように第３実施形態のＨＭＤ１００は、手によるジェスチャ操作を認識した後に基準点を設定し、カメラ座標系における基準点の位置がジェスチャ実行区間においてどのように変化したかを過去に遡って逆算する。これにより第３実施形態のＨＭＤ１００は、第１実施形態のＨＭＤ１００の効果の他に、基準点と手の位置との乖離を抑制して、カメラ１０５の動きに起因する手によるジェスチャ操作の誤認識を抑制するという効果を持つ。
【００５３】
第１〜第３実施形態では、基準点を１つ設定する場合について説明したが、基準点は複数設けられてもよい。基準点を複数設ける場合、手の位置に最も近接する１以上の基準点のカメラ座標系における動きに応じてジェスチャ操作の判定を行うことで、基準点と手の位置の乖離を抑制することができる。また、撮像装置（カメラ１０５）は、ユーザの身体に装着するものの他に、ハンディカメラや車載カメラ等に対する適応も可能である。
【００５４】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵ、ＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2017191426.tif 000003
【図２】
2017191426.tif 000004
【図３】
2017191426.tif 000005
【図４】
2017191426.tif 000006
【図５】
2017191426.tif 000007
【図６】
2017191426.tif 000008
【図７】
2017191426.tif 000009
【図８】
2017191426.tif 000010
【図９】
2017191426.tif 000011
【図１０】
2017191426.tif 000012
【図１１】
2017191426.tif 000013
【図１２】
2017191426.tif 000014