(57)【要約】      （修正有）【課題】複数種類のジェスチャを認識する認識装置、認識方法および認識プログラムを提供する。【解決手段】認識装置１００は、距離画像センサ５０から利用者の視線方向の空間に存在する物体までの距離画像を距離画像センサから取得部１１０と、距離画像に含まれる物体の特徴点と基準点間の距離に基づいて、指先および指の根本を識別することで指領域を特定し、特定した指領域を基にして手領域を特定する特定部と、手領域に含まれる指先の位置と指の根本の位置との差分値を基にして、ジェスチャの種別を認識するジャスチャ認識部１３０を備える。【選択図】図１
2017102598.tif 000002
【特許請求の範囲】
【請求項１】
利用者側から利用者の視線方向に空間に存在する物体までの距離情報を取得する距離センサと、
前記距離センサから利用者の視線方向の空間に存在する物体までの距離情報を距離画像として取得する取得部と、
前記距離画像として表された前記物体の特徴点と基準点間の距離に基づいて、指先および指の根本を識別することで指領域を特定し、特定した指領域を基にして手領域を特定する特定部と、
前記手領域に含まれる前記指先の位置と前記指の根本の位置との差分値を基にして、ジェスチャの種別を認識するジェスチャ認識部と
を有することを特徴とする認識装置。
【請求項２】
前記特定部は前記物体上の隣り合う３つの特徴点を選択し、前記基準点と第１特徴点との第１距離、前記基準点と第２特徴点との第２距離、前記基準点と第３特徴点との第３距離を算出し、前記第２距離が前記第１距離よりも大きく、かつ、前記第２距離が前記第３距離よりも大きい場合に、前記第２点を指先の点として識別することを特徴とする請求項１に記載の認識装置。
【請求項３】
前記特定部は前記物体上の隣り合う３つの特徴点を選択し、前記基準点と第１特徴点との第１距離、前記基準点と第２特徴点との第２距離、前記基準点と第３特徴点との第３距離を算出し、前記第２距離が前記第１距離よりも小さく、かつ、前記第２距離が前記第３距離よりも小さい場合に、前記第２点を指根本の点として識別することを特徴とする請求項１または２に記載の認識装置。
【請求項４】
前記特定部は、前記指先と、隣り合う第１の指の根本および第２の指の根本を選択し、前記指先から第１の指の根本までの距離と、前記指先から第２の指の根本までの距離との差が閾値未満であり、かつ、前記指先および第１の指の根本を通る線分と、前記指先および第２の指の根本を通る線分とによって形成される角度が所定角度未満である場合に、前記指先と、隣り合う第１の指の根本および第２の指の根本に囲まれる領域を、前記指領域として特定することを特徴とする請求項１、２または３に記載の認識装置。
【請求項５】
前記特定部は、特定した指領域の数が５である場合に、各指領域を含む物体の領域を手領域として特定することを特徴とする請求項１〜４のいずれか一つに記載の認識装置。
【請求項６】
前記ジェスチャ認識部は、前記指先の位置から前記指の根本の位置を引いた値が正の値である場合には、前記手領域が前方に傾いていると認識し、前記指先の位置から前記指の根本の位置を引いた値が負の値である場合には、前記手領域が後方に傾いていると認識することを特徴とする請求項１〜５のいずれか一つに記載の認識装置。
【請求項７】
前記特定部は、複数の指の根本を通る直線と、前記物体の輪郭との交点を新たな指の根本として特定し、特定した新たな指の根本を用いて指領域を特定することを特徴とする請求項１〜６のいずれか一つに記載の認識装置。
【請求項８】
コンピュータが実行する認識方法であって、
利用者側から利用者の視線方向に空間に存在する物体までの距離情報を取得する距離センサから利用者の視線方向の空間に存在する物体までの距離情報を距離画像として取得し、
前記距離画像として表された前記物体の特徴点と基準点間の距離に基づいて、指先および指の根本を識別することで指領域を特定し、特定した指領域を基にして手領域を特定し、
前記手領域に含まれる前記指先の位置と前記指の根本の位置との差分値を基にして、ジェスチャの種別を認識する
処理を実行することを特徴とする認識方法。
【請求項９】
コンピュータに、
利用者側から利用者の視線方向に空間に存在する物体までの距離情報を取得する距離センサから利用者の視線方向の空間に存在する物体までの距離情報を距離画像として取得し、
前記距離画像として表された前記物体の特徴点と基準点間の距離に基づいて、指先および指の根本を識別することで指領域を特定し、特定した指領域を基にして手領域を特定し、
前記手領域に含まれる前記指先の位置と前記指の根本の位置との差分値を基にして、ジェスチャの種別を認識する
処理を実行させることを特徴とする認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識装置等に関する。
【背景技術】
【０００２】
近年、ＨＭＤ（Head  Mounted  Display）が普及している。ＨＭＤは、利用者の頭部に装着するディスプレイ装置であり、利用者にＣＧ（Computer  Graphics）映像や遠隔映像を見せることで、利用者は、バーチャルリアリティを体験することができる。
【０００３】
ここで、全画面型のＨＭＤを装着した利用者は目がディスプレイによって覆われるため、利用者は、ＨＭＤを装着したまま、キーボード等の入力装置を操作することが難しく、映像内の視点を変更することが難しかった。このため、ＨＭＤを装着した利用者が所定のジェスチャ等を行うことで、映像内の視点を変更できる技術が求められている。
【０００４】
従来技術１について説明する。従来技術１は、Kinect（登録商標）等の固定センサを用いて、利用者の腕の移動に基づくジェスチャを認識し、６方向のナビゲーションを可能とするものである。図１３は、従来技術１を説明するための図である。例えば、１Ａに示すように、利用者が手の位置を固定すると、移動停止を装置に指示する。１Ｂに示すように、利用者が腕の位置を左に移動させると、左方向への移動を装置に指示し、腕の位置を右に移動させると、右方向への移動を装置に指示する。１Ｃに示すように、利用者が腕の位置を前方へ移動させると、前方への移動を装置に指示し、腕の位置を後方へ移動させると、後方への移動を装置に指示する。１Ｄに示すように、利用者が腕の位置を上方に移動させると、上方への移動を装置に指示し、腕の位置を下方へ移動させると、下方への移動を装置に指示する。
【０００５】
従来技術１は、ＨＭＤに適用されるものではないため、仮に、従来技術１をＨＭＤに適用し、映像内の視点位置を変更する場合について検討する。ＨＭＤに搭載されるカメラは、利用者の頭部から視線方向を撮影するように取り付けられるため、撮影範囲に手のひらが含まれるものの、腕が含まれないため、腕の移動を検出できず、視点の移動方向を指示することが難しい。例えば、図１３で説明した１Ｂ，１Ｄのジェスチャを認識することが難しい。
【０００６】
なお、従来技術１の１Ｃのように、腕を前方・後方に移動させる場合には、カメラの撮影範囲に腕を含めることが可能である。しかし、利用者毎に身体的な特徴が異なるため、利用者毎に手の長さが異なり、例えば、手のひらとカメラとの間の距離によって、腕の曲げ伸ばしを推定することが難しい。
【０００７】
従来技術２について説明する。従来技術２は、ＨＭＤのカメラの撮影範囲に、利用者の両手のひらが存在するか否かを判定し、両手のひらが存在する場合には、視点位置を前方に移動させる技術である。従来技術２は、従来技術１と比較して、両手のひらが存在するか否かを判定するだけでよいので、利用者はＨＭＤを装着した状態で、視点位置を前方に移動させることができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−７９１７７号公報
【特許文献２】特開平１０−１７７４４９号公報
【特許文献３】特開２０１４−７２５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、複数種類のジェスチャを認識することができないという問題がある。
【００１０】
例えば、従来技術２では、両手のひらが存在するか否かを判定するのみであるため、操作可能な視点位置の移動方向が限られてしまう。
【００１１】
１つの側面では、本発明は、複数種類のジェスチャを認識することができる認識装置、認識方法および認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の案では、認識装置は、距離センサと、取得部と、特定部と、ジェスチャ認識部とを有する。距離センサは、利用者側から利用者の視線方向に空間に存在する物体までの距離情報を取得する。取得部は、距離センサから利用者の視線方向の空間に存在する物体までの距離情報を距離画像として取得する。特定部は、距離画像として表された物体の特徴点と基準点間の距離に基づいて、指先および指の根本を識別することで指領域を特定し、特定した指領域を基にして手領域を特定する。ジェスチャ認識部は、手領域に含まれる指先の位置と指の根本の位置との差分値を基にして、ジェスチャの種別を認識する。
【発明の効果】
【００１３】
複数種類のジェスチャを認識することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施例に係る認識装置の構成を示す機能ブロック図である。
【図２】図２は、手領域候補を切り出す処理を説明するための図である。
【図３】図３は、平滑化する処理を説明するための図である。
【図４】図４は、指先候補点と指根本候補点とを特定する処理を説明するための図（１）である。
【図５】図５は、指先候補点と指根本候補点とを特定する処理を説明するための図（２）である。
【図６】図６は、指根本候補点を検出するその他の処理を説明するための図である。
【図７】図７は、指領域を特定する処理を説明するための図である。
【図８】図８は、手領域を特定する処理を説明するための図である。
【図９】図９は、本実施例に係る認識装置の処理手順を示すフローチャートである。
【図１０】図１０は、指先候補点と指根本候補点とを算出する処理手順を示すフローチャートである。
【図１１】図１１は、指先候補点と指根本候補点から指領域を算出する処理手順を示すフローチャートである。
【図１２】図１２は、認識プログラムを実行するコンピュータの一例を示す図である。
【図１３】図１３は、従来技術１を説明するための図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する認識装置、認識方法および認識プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１６】
図１は、本実施例に係る認識装置の構成を示す機能ブロック図である。認識装置１００は、例えば、図示しないＨＭＤ（Head  Mounted  Display）に組み込まれる。認識装置１００は、ＨＭＤに搭載された距離画像センサ５０および表示装置６０に接続される。利用者は、認識装置１００が組み込まれたＨＭＤを頭部に装着する。
【００１７】
距離画像センサ５０は、距離画像センサ５０から、距離画像センサ５０の撮影範囲に含まれる物体までの距離情報を計測するセンサである。距離画像センサの撮影方向は、利用者の視線方向とする。
【００１８】
距離画像センサ５０は、ＴＯＦ（Time  Of  Flight）方式に基づいて、距離画像センサ５０から物体までの距離情報を計測する。距離情報は、距離画像センサ５０から物体上の各点までの距離をそれぞれ含む。距離画像センサ５０は、距離情報を、認識装置１００に出力する。なお、距離画像センサ５０は、カメラによる撮影範囲の画像と距離情報とを組み合わせた距離画像の情報を、認識装置１００に出力しても良い。また、距離画像としては、対象物体と距離センサ間の距離を画素値で表した距離画像であってもよい。また、以下に説明する処理も、距離情報の代わりに、距離画像を用いて、処理を行っても良い。
【００１９】
表示装置６０は、認識装置１００から出力される映像情報を表示する表示装置である。
【００２０】
認識装置１００は、取得部１１０と、特定部１２０と、ジェスチャ認識部１３０と、表示制御部１４０とを有する。
【００２１】
取得部１１０は、距離画像センサ５０から距離情報を取得する取得部である。取得部１１０は、取得した距離情報を、特定部１２０に出力する。
【００２２】
特定部１２０は、距離情報に含まれる物体上の点と基準点との距離を基にして、利用者の指先および指の根本を識別することで、指領域を特定し、特定した指領域を基にして手領域を特定する処理部である。特定部１２０は、手領域の情報を、ジェスチャ認識部１３０に出力する。
【００２３】
以下において、特定部１２０の処理を具体的に説明する。特定部１２０は、手領域候補を切り出す処理、手領域候補の輪郭を平滑化する処理、指先候補点と指根本候補点とを特定する処理、指領域を特定する処理、手領域候補が手領域か否かを特定する処理を実行する。
【００２４】
特定部１２０が、手領域候補を切り出す処理について説明する。特定部１２０は、距離情報に基づいて、距離画像センサ５０からの距離が閾値未満となる領域に存在する物体を、手領域候補として切り出す。
【００２５】
図２は、手領域候補を切り出す処理を説明するための図である。図２において、例えば、距離情報１０ａには、物体１１，１２，１３，１４が含まれる。物体１１〜１４のうち、物体１４が、距離画像センサ５０からの距離が閾値未満となる領域に存在するものとする。この場合には、特定部１２０は、距離情報１０ａから物体１４を切り出すことで、距離情報１０ｂを生成する。
【００２６】
特定部１２０が、手領域候補の輪郭を平滑化する処理について説明する。特定部１２０は、手領域候補を切り出した距離情報について、隣り合う輪郭との重み付き平均などを実行することで、平滑化を行う。
【００２７】
図３は、平滑化する処理を説明するための図である。特定部１２０は、距離情報全体に、平滑化フィルタ２０をかけることで、距離情報を平滑化する。平滑化フィルタは、中心画素２１ｉの距離の値を、式（１）に基づき算出するフィルタである。
【００２８】
中心画素２１ｉの距離の値＝１／９（画素２１ａの距離の値＋画素２１ｂの距離の値＋画素２１ｃの距離の値＋画素２１ｄの距離の値＋画素２１ｅの距離の値＋画素２１ｆの距離の値＋画素２１ｇの距離の値＋画素２１ｈの距離の値）・・・（１）
【００２９】
特定部１２０が、指先候補点と指根本候補点とを特定する処理について説明する。図４および図５は、指先候補点と指根本候補点とを特定する処理を説明するための図である。特定部１２０は、平滑化が行われた距離情報に含まれる手領域候補１４について、基準点１５を設定する。図４に示したように、例えば、特定部１２０は、手領域候補１４の重心位置を、基準点１５として設定する。
【００３０】
特定部１２０は、手領域候補１４の輪郭上の全点について、下記の第１条件および第２条件を満たす点を算出し、指先候補点と指根本候補点とを特定する。ここでは、図５に示すように、隣り合う輪郭上の点１６Ａ，点１６Ｂ，点１６Ｃを用いて説明する。基準点１５と、点１６Ａとの距離をＤａとする。基準点１５と、点１６Ｂとの距離をＤｂとする。基準点１５と、点１６Ｃとの距離をＤｃとする。
【００３１】
特定部１２０は、下記の第１条件を満たす場合に、点１６Ｂを、指先候補点として特定する。
【００３２】
第１条件：Ｄａ＜Ｄｂ、Ｄｂ＞Ｄｃ
【００３３】
特定部１２０は、第２条件を満たす場合に、点１６Ｂを、指根本候補点として特定する。
【００３４】
第２条件：Ｄａ＞Ｄｂ、Ｄｂ＜Ｄｃ
【００３５】
特定部１２０は、例えば、図４の手領域候補１４の輪郭上の全点について、上記処理を繰り返し実行することで、指先候補点１７ａ，１７ｂ，１７ｃ，１７ｄ，１７ｅ，１７ｆ，１７ｇを特定する。また、特定部１２０は、指根本候補点１８ａ，１８ｂ，１８ｃ，１８ｄ，１８ｅを特定する。
【００３６】
特定部１２０は、各指先候補点１７ａ〜１７ｇの位置を比較し、各指先候補点間の距離が閾値未満となる指先候補点同士をマージする。また、特定部１２０は、各指根本点候補１８ａ〜１８ｅの位置を比較し、各指根本候補点間の距離が閾値未満となる指根本候補点同士をマージする。
【００３７】
例えば、図４に示す例では、指先候補点１７ｅと指先候補点１７ｆとの距離が閾値未満であるため、特定部１２０は、指先候補点１７ｅと指先候補点１７ｆとをマージする。例えば、特定部１２０は、指先候補点１７ｅを残し、指先候補点１７ｆを削除することでマージする。なお、特定部１２０は、指先候補点１７ｅの距離と、指先候補点１７ｆの距離との平均距離を求め、求めた平均距離を、新たな指先候補点の距離とし、指先候補点１７ｅ，１７ｆを削除することで、マージしても良い。
【００３８】
ここで、上記処理では、端の指における指根本候補点の検出が不安定となり、適切に指根本候補点を検出できない場合がある。このため、特定部１２０は、下記に示す処理を更に実行することで、上記処理では検出していない指根本候補点を検出してもよい。
【００３９】
図６は、指根本候補点を検出するその他の処理を説明するための図である。特定部１２０は、複数の指先候補点を通る直線と、手領域候補１４の輪郭との交点とを求め、求めた交点を、指根本候補点として検出する。例えば、図６に示すように、特定部１２０は、指根本候補点１８ｄ，１８ｅを通る直線１９と、手領域候補１４の輪郭の交点１８ｆを、指根本候補点として検出する。
【００４０】
なお、特定部１２０は、後述する処理により手領域を特定した後に、手領域に含まれる指根本点を通る直線と、手領域候補１４の輪郭の交点を、指根本点として検出しても良い。以下の説明では、指根本点を通る直線と、手領域候補１４の輪郭の交点により特定した指根本点を、仮想指根本点と表記する。
【００４１】
特定部１２０が指領域を特定する処理について説明する。図７は、指領域を特定する処理を説明するための図である。特定部１２０は、下記の第３条件および第４条件を満たす指先候補点と２つの指根本候補点とからなる領域を指領域として特定する。
【００４２】
一例として、図７に示すように、指先候補点１７Ａと、二つの指根本候補点１８Ｂ，１８Ｃとを用いて説明する。ここでは、指先候補点１７Ａと、二つの指根本候補点１８Ｂ，１８Ｃとからなる三角形を三角形ＡＢＣと表記する。特定部１２０は、三角形ＡＢＣの形状を判定し、第３条件を満たし、かつ、第４条件を満たす場合に、三角形ＡＢＣの領域を指領域として判定する。
【００４３】
第３条件：三角形ＡＢＣの点１７Ａの角度が鋭角である。
第４条件：点１７Ａおよび点１８Ｂを結ぶ辺ＡＢの長さと、点１７Ａおよび点１８Ｃを結ぶ辺ＡＣとの長さの差分が閾値未満である。
【００４４】
図７に示す三角形ＡＢＣが、第３条件および第４条件を満たす場合には、特定部１２０は、指先候補点１７Ａと、二つの指根本候補点１８Ｂ，１８Ｃとに囲まれる領域を、指領域として特定する。特定部１２０は、他の指先候補点、他の二つの指根本候補点について、上記処理を繰り返し実行することで、他の指領域を特定する。以下の説明では、指領域に含まれる指先候補点を指先点と表記し、指領域に含まれる指根本候補点を指根本点と表記する。
【００４５】
また、特定部１２０は、指先候補点と、１つの指根本候補点と、１つの仮想指根本点とから構成される三角形を特定し、特定した三角形が、第３条件および第４条件を満たす場合には、該当する三角形を指領域として特定する。
【００４６】
特定部１２０が、手領域候補が手領域か否かを判定する処理について説明する。特定部１２０は、手領域候補から検出した指領域の数を基にして、手領域候補が手領域であるか否かを判定する。例えば、特定部１２０は、手領域候補に含まれる指領域の数が、５である場合に、手領域候補が手領域であると判定する。
【００４７】
図８は、手領域を特定する処理を説明するための図である。例えば、図８に示す例では、手領域候補１４から、指領域２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅが特定されたものとする。特定部１２０は、指領域２０ａ〜２０ｅの数が「５」であるため、手領域候補１４が、手領域であると判定する。
【００４８】
特定部１２０は、手領域の情報を、ジェスチャ認識部１３０に出力する。手領域の情報には、手領域に含まれる各指領域の指先点の距離および指根本点の距離が含まれる。ここで、指先点の距離は、距離画像センサ５０から指先点までの距離を示す。指根本点の距離は、距離画像センサ５０から指根本点までの距離を示す。なお、特定部１２０は、指先点の距離および指根本点の距離を、３次元座標に変換してもよい。
【００４９】
ジェスチャ認識部１３０は、手領域に含まれる指先点の距離と、指根本点の距離との差分値を基にして、ジェスチャの種別を認識する処理部である。例えば、ジェスチャ認識部１３０は、指先点の距離から指根本の距離を引いた値が「正の値」である場合には、手領域が前方に傾いていると認識する。これに対して、ジェスチャ認識部１３０は、指先点の距離から指根本点の距離を引いた値が「負の値」である場合には、手領域が後方に傾いていると認識する。
【００５０】
なお、ジェスチャ認識部１３０は、指領域に含まれる指先点および指根本点の差分値を、各指領域からそれぞれ算出し、算出した複数の差分値の平均値を、上記の差分値としても良い。または、ジェスチャ認識部１３０は、複数の指領域のうち、いずれか一つの指領域を選択し、選択した指領域に含まれる指先点および指根本点に基づき、上記差分値を算出しても良い。
【００５１】
ジェスチャ認識部１３０は、ジェスチャの認識結果の情報を、表示制御部１４０に出力する。例えば、ジェスチャの認識結果の情報には、手領域が前方に傾いているか、手領域が後方に傾いているかの情報と、手領域に含まれる指先点の距離と、指根本点の距離との差分値の絶対値の情報が含まれる。
【００５２】
表示制御部１４０は、バーチャル空間の映像を、表示装置６０に表示させる処理部である。また、表示制御部１４０は、ジェスチャの認識結果の情報を基にして、表示装置６０に表示させるバーチャル空間上の利用者の視点位置を移動させる。
【００５３】
例えば、表示制御部１４０は、ジェスチャの認識結果の情報に、手領域が前方に傾いている旨の情報が含まれている場合には、表示装置６０に表示させるバーチャル空間の映像を制御して、バーチャル空間上の利用者の視点位置を前方に移動させる。
【００５４】
表示制御部１４０は、ジェスチャの認識結果の情報に、手領域が後方に傾いている旨の情報が含まれている場合には、表示装置６０に表示させるバーチャル空間の映像を制御して、バーチャル空間上の利用者の視点位置を後方に移動させる。
【００５５】
表示制御部１４０は、利用者の視点位置を移動させる場合の移動速度を、ジェスチャの認識結果の情報に含まれる絶対値の情報を基にして調整しても良い。例えば、表示制御部１４０は、絶対値が大きくなるほど、視点位置の移動速度を速くし、絶対値が０に近づくほど、移動速度を遅くする。
【００５６】
次に、本実施例に係る認識装置の処理手順の一例について説明する。図９は、本実施例に係る認識装置の処理手順を示すフローチャートである。図９に示す処理は、認識装置１００が、距離画像センサ５０から距離情報を取得する度に実行される。図９に示すように、認識装置１００の特定部１２０は、手領域候補を切り出す（ステップＳ１０１）。
【００５７】
特定部１２０は、手領域候補の輪郭を平滑化する（ステップＳ１０２）。特定部１２０は、手領域候補に含まれる指先候補点と指根本候補点とを算出する（ステップＳ１０３）。特定部１２０は、指先候補点と指根本候補点とから指領域を算出する（ステップＳ１０４）。
【００５８】
特定部１２０は、指領域の数をカウントする（ステップＳ１０５）。特定部１２０は、指領域の数が５であるか否かを判定する（ステップＳ１０６）。特定部１２０は、指領域の数が５でない場合には（ステップＳ１０６，Ｎｏ）、処理を終了する。
【００５９】
特定部１２０は、指領域の数が５である場合には（ステップＳ１０６，Ｙｅｓ）、指領域を含む手領域候補を、手領域として特定する（ステップＳ１０７）。認識装置１００のジェスチャ認識部１３０は、手領域に含まれる指先点の距離と指根本点の距離との差分値を基にして、ジェスチャを認識する（ステップＳ１０８）。
【００６０】
認識装置１００の表示制御部１４０は、ジェスチャの認識結果を基にして、バーチャル空間の視点位置を制御する（ステップＳ１０９）。
【００６１】
次に、図９のステップＳ１０３に示した指先候補点と指根本候補点とを算出する処理手順について説明する。図１０は、指先候補点と指根本候補点とを算出する処理手順を示すフローチャートである。図１０に示すように、認識装置１００の特定部１２０は、基準点を決定する（ステップＳ２０１）。
【００６２】
特定部１２０は、手領域候補の輪郭の全点に対して、第１条件を満たす点を指先候補点として特定する（ステップＳ２０２）。特定部１２０は、手領域候補の輪郭の全点に対して、第２条件を満たす点を指根本候補点として特定する（ステップＳ２０３）。
【００６３】
特定部１２０は、隣接する指先候補点同士をマージする（ステップＳ２０４）。特定部１２０は、隣接する指根本候補点同士をマージする（ステップＳ２０５）。
【００６４】
次に、図９のステップＳ１０４に示した指先候補点と根本候補点から指領域を算出する処理手順について説明する。図１１は、指先候補点と指根本候補点から指領域を算出する処理手順を示すフローチャートである。図１１に示すように、認識装置１００の特定部１２０は、両隣に指根本候補点がある指先候補点を選択する（ステップＳ３０１）。
【００６５】
特定部１２０は、指先候補点Ａと、その指先候補点Ａの両隣の指根本候補点Ｂ，Ｃとを結ぶ三角形ＡＢＣが、第３条件および第４条件を満たす場合に、三角形ＡＢＣの領域を指領域として特定する（ステップＳ３０２）。
【００６６】
特定部１２０は、指領域に属する指根本点を通る直線と、手領域候補の輪郭との交点を仮想指根本点として特定する（ステップＳ３０３）。特定部１２０は、指先候補点Ａと、その指先候補点Ａの両隣の指根本候補点（仮想指根本点）Ｂ，Ｃとを結ぶ三角形ＡＢＣが、第３条件および第４条件を満たす場合に、三角形ＡＢＣの領域を指領域として特定する（ステップＳ３０４）。
【００６７】
次に、本実施例に係る認識装置１００の効果について説明する。認識装置１００は、距離情報に含まれる物体の指先候補点および指根本候補点に基づいて手領域を特定し、手領域に含まれる指先点と指根本点との差分を基にして、ジェスチャの種別を認識する。このため、認識装置１００によれば、複数種類のジェスチャを認識することができる。また、ジェスチャの認識結果を用いることで、例えば、全画面表示ＨＭＤにおいて、直感的な視点移動ナビゲーションが可能となる。
【００６８】
認識装置１００は、物体上の隣り合う３つの点を選択し、選択した点と基準点との距離の関係が、第１条件を満たす場合に、中央の点を指先候補点として選択する。このため、物体上の各点から指先の候補を適切に特定することができる。
【００６９】
認識装置１００は、物体上の隣り合う３つの点を選択し、選択した点と基準点との距離の関係が、第２条件を満たす場合に、中央の点を指根本候補点として選択する。このため、物体上の各点から指根本の候補を適切に特定することができる。
【００７０】
認識装置１００は、指先候補点と、隣り合う指根本候補点とを選択し、選択した各候補点によって構成される三角形の形状が、第３条件および第４条件を満たす場合に、選択した各候補点の領域を指領域として特定する。このため、物体から指領域を正確に特定することができる。
【００７１】
認識装置１００は、特定した指領域の数が５である場合に、各指領域を含む手領域候補を、手領域として判定する。このため、利用者は、意識的に手の指を開いた状態で、手を傾けることで、認識装置１００にジェスチャを認識させることができる。また、利用者の手の指が開いていない状態で、誤って手を視線前に出してしまっても、手の領域として認識されないので、意識していない間に、認識装置１００にジェスチャを認識させることを防止できる。
【００７２】
認識装置１００は、指先点の距離から指根本点の距離を引いた値が正の値である場合には、手領域が前方に傾いていると認識する。また、認識装置１００は、指先点の距離から指根本点の距離を引いた値が負の値である場合には、手領域が後方に傾いていると認識する。このため、認識装置１００は、利用者の身体的な相違に左右されることなく、利用者のジェスチャを適切に認識することができる。
【００７３】
認識装置１００は、複数の指根本点を通る直線と、手領域候補の輪郭との交点を新たな指根本候補点として特定し、特定した新たな指根本候補点を用いて、指領域を特定する。このため、端の指における指根本候補点の検出が不安定となっても、適切に指根本候補点を検出することができる。
【００７４】
ところで、上述した認識装置１００の処理は一例であり、認識装置１００は、その他の処理を行ってジェスチャを認識しても良い。例えば、認識装置１００のジェスチャ認識部１３０は、指先点の距離から指根本点の距離を引いた値が「負の値」である場合には、手領域が後方に傾いていると認識すると判定していたが、これに限定されるものではない。
【００７５】
例えば、ジェスチャ認識部１３０は、取得部１１０から距離情報を取得し、距離画像センサ５０から物体までの距離が閾値未満である場合には、手領域が後方に傾いていると認識してもよい。
【００７６】
距離画像センサ５０は、ＨＭＤに直接装着されるものの他に、ヘルメットに装着しても良い。また、距離画像センサ５０は、必ずしも頭部に装着しなくても良い。例えば、利用者が首から距離画像センサ５０をかける装着方法でも良い。
【００７７】
本実施例に係る認識装置１００を組み込むＨＭＤは、全画面表示ＨＭＤでも良いし、光学シースルーＨＭＤ等でも良い。また、表示装置６０はＨＭＤに限定されるものではなく、プロジェクタ等を用いて、ユーザの視界に投影しても良い。
【００７８】
次に、上記実施例に示した認識装置１００と同様の機能を実現する認識プログラムを実行するコンピュータの一例について説明する。図１２は、認識プログラムを実行するコンピュータの一例を示す図である。
【００７９】
図１２に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置３０５と、距離画像センサ３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。そして、各装置３０１〜３０８は、バス３０９に接続される。
【００８０】
ハードディスク装置３０８は、取得プログラム３０８ａ、特定プログラム３０８ｂ、認識プログラム３０８ｃを有する。ＣＰＵ３０１は、取得プログラム３０８ａ、特定プログラム３０８ｂ、認識プログラム３０８ｃを読み出してＲＡＭ３０７に展開する。
【００８１】
取得プログラム３０８ａは、取得プロセス３０７ａとして機能する。特定プログラム３０８ｂは、特定プロセス３０７ｂとして機能する。認識プログラム３０８ｃは、認識プロセス３０７ｃとして機能する。
【００８２】
取得プロセス３０７ａの処理は、取得部１１０の処理に対応する。特定プロセス３０７ｂの処理は、特定部１２０の処理に対応する。認識プロセス３０７ｃの処理は、ジェスチャ認識部１３０の処理に対応する。
【００８３】
なお、取得プログラム３０８ａ、特定プログラム３０８ｂ、認識プログラム３０８ｃについては、必ずしも最初からハードディスク装置３０８に記憶させておかなくても良い。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０８ａ〜３０８ｃを読み出して実行するようにしてもよい。
【００８４】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８５】
（付記１）利用者側から利用者の視線方向に空間に存在する物体までの距離情報を取得する距離センサと、
前記距離センサから利用者の視線方向の空間に存在する物体までの距離情報を距離画像として取得する取得部と、
前記距離画像として表された前記物体の特徴点と基準点間の距離に基づいて、指先および指の根本を識別することで指領域を特定し、特定した指領域を基にして手領域を特定する特定部と、
前記手領域に含まれる前記指先の位置と前記指の根本の位置との差分値を基にして、ジェスチャの種別を認識するジェスチャ認識部と
を有することを特徴とする認識装置。
【００８６】
（付記２）前記特定部は前記物体上の隣り合う３つの特徴点を選択し、前記基準点と第１特徴点との第１距離、前記基準点と第２特徴点との第２距離、前記基準点と第３特徴点との第３距離を算出し、前記第２距離が前記第１距離よりも大きく、かつ、前記第２距離が前記第３距離よりも大きい場合に、前記第２点を指先の点として識別することを特徴とする付記１に記載の認識装置。
【００８７】
（付記３）前記特定部は前記物体上の隣り合う３つの特徴点を選択し、前記基準点と第１特徴点との第１距離、前記基準点と第２特徴点との第２距離、前記基準点と第３特徴点との第３距離を算出し、前記第２距離が前記第１距離よりも小さく、かつ、前記第２距離が前記第３距離よりも小さい場合に、前記第２点を指根本の点として識別することを特徴とする付記１または２に記載の認識装置。
【００８８】
（付記４）前記特定部は、前記指先と、隣り合う第１の指の根本および第２の指の根本を選択し、前記指先から第１の指の根本までの距離と、前記指先から第２の指の根本までの距離との差が閾値未満であり、かつ、前記指先および第１の指の根本を通る線分と、前記指先および第２の指の根本を通る線分とによって形成される角度が所定角度未満である場合に、前記指先と、隣り合う第１の指の根本および第２の指の根本に囲まれる領域を、前記指領域として特定することを特徴とする付記１、２または３に記載の認識装置。
【００８９】
（付記５）前記特定部は、特定した指領域の数が５である場合に、各指領域を含む物体の領域を手領域として特定することを特徴とする付記１〜４のいずれか一つに記載の認識装置。
【００９０】
（付記６）前記ジェスチャ認識部は、前記指先の位置から前記指の根本の位置を引いた値が正の値である場合には、前記手領域が前方に傾いていると認識し、前記指先の位置から前記指の根本の位置を引いた値が負の値である場合には、前記手領域が後方に傾いていると認識することを特徴とする付記１〜５のいずれか一つに記載の認識装置。
【００９１】
（付記７）前記特定部は、複数の指の根本を通る直線と、前記物体の輪郭との交点を新たな指の根本として特定し、特定した新たな指の根本を用いて指領域を特定することを特徴とする付記１〜６のいずれか一つに記載の認識装置。
【００９２】
（付記８）コンピュータが実行する認識方法であって、
利用者側から利用者の視線方向に空間に存在する物体までの距離情報を取得する距離センサから利用者の視線方向の空間に存在する物体までの距離情報を距離画像として取得し、
前記距離画像として表された前記物体の特徴点と基準点間の距離に基づいて、指先および指の根本を識別することで指領域を特定し、特定した指領域を基にして手領域を特定し、
前記手領域に含まれる前記指先の位置と前記指の根本の位置との差分値を基にして、ジェスチャの種別を認識する
処理を実行することを特徴とする認識方法。
【００９３】
（付記９）前記特定する処理は、前記物体上の隣り合う３つの特徴点を選択し、前記基準点と第１特徴点との第１距離、前記基準点と第２特徴点との第２距離、前記基準点と第３特徴点との第３距離を算出し、前記第２距離が前記第１距離よりも大きく、かつ、前記第２距離が前記第３距離よりも大きい場合に、前記第２点を指先の点として識別することを特徴とする付記８に記載の認識方法。
【００９４】
（付記１０）前記特定する処理は、前記物体上の隣り合う３つの特徴点を選択し、前記基準点と第１特徴点との第１距離、前記基準点と第２特徴点との第２距離、前記基準点と第３特徴点との第３距離を算出し、前記第２距離が前記第１距離よりも小さく、かつ、前記第２距離が前記第３距離よりも小さい場合に、前記第２点を指根本の点として識別することを特徴とする付記８または９に記載の認識方法。
【００９５】
（付記１１）前記特定する処理は、前記指先と、隣り合う第１の指の根本および第２の指の根本を選択し、前記指先から第１の指の根本までの距離と、前記指先から第２の指の根本までの距離との差が閾値未満であり、かつ、前記指先および第１の指の根本を通る線分と、前記指先および第２の指の根本を通る線分とによって形成される角度が所定角度未満である場合に、前記指先と、隣り合う第１の指の根本および第２の指の根本に囲まれる領域を、前記指領域として特定することを特徴とする付記８、９または１０に記載の認識方法。
【００９６】
（付記１２）前記特定する処理は、特定した指領域の数が５である場合に、各指領域を含む物体の領域を手領域として特定することを特徴とする付記８〜１１のいずれか一つに記載の認識方法。
【００９７】
（付記１３）前記認識する処理は、前記指先の位置から前記指の根本の位置を引いた値が正の値である場合には、前記手領域が前方に傾いていると認識し、前記指先の位置から前記指の根本の位置を引いた値が負の値である場合には、前記手領域が後方に傾いていると認識することを特徴とする付記８〜１２のいずれか一つに記載の認識方法。
【００９８】
（付記１４）前記特定する処理は、複数の指の根本を通る直線と、前記物体の輪郭との交点を新たな指の根本として特定し、特定した新たな指の根本を用いて指領域を特定することを特徴とする付記８〜１３のいずれか一つに記載の認識方法。
【００９９】
（付記１５）コンピュータに、
利用者側から利用者の視線方向に空間に存在する物体までの距離情報を取得する距離センサから利用者の視線方向の空間に存在する物体までの距離情報を距離画像として取得し、
前記距離画像として表された前記物体の特徴点と基準点間の距離に基づいて、指先および指の根本を識別することで指領域を特定し、特定した指領域を基にして手領域を特定し、
前記手領域に含まれる前記指先の位置と前記指の根本の位置との差分値を基にして、ジェスチャの種別を認識する
処理を実行させることを特徴とする認識プログラム。
【０１００】
（付記１６）前記特定する処理は、前記物体上の隣り合う３つの特徴点を選択し、前記基準点と第１特徴点との第１距離、前記基準点と第２特徴点との第２距離、前記基準点と第３特徴点との第３距離を算出し、前記第２距離が前記第１距離よりも大きく、かつ、前記第２距離が前記第３距離よりも大きい場合に、前記第２点を指先の点として識別することを特徴とする付記１５に記載の認識プログラム。
【０１０１】
（付記１７）前記特定する処理は、前記物体上の隣り合う３つの特徴点を選択し、前記基準点と第１特徴点との第１距離、前記基準点と第２特徴点との第２距離、前記基準点と第３特徴点との第３距離を算出し、前記第２距離が前記第１距離よりも小さく、かつ、前記第２距離が前記第３距離よりも小さい場合に、前記第２点を指根本の点として識別することを特徴とする付記１５または１６に記載の認識プログラム。
【０１０２】
（付記１８）前記特定する処理は、前記指先と、隣り合う第１の指の根本および第２の指の根本を選択し、前記指先から第１の指の根本までの距離と、前記指先から第２の指の根本までの距離との差が閾値未満であり、かつ、前記指先および第１の指の根本を通る線分と、前記指先および第２の指の根本を通る線分とによって形成される角度が所定角度未満である場合に、前記指先と、隣り合う第１の指の根本および第２の指の根本に囲まれる領域を、前記指領域として特定することを特徴とする付記１５、１６または１７に記載の認識プログラム。
【０１０３】
（付記１９）前記特定する処理は、特定した指領域の数が５である場合に、各指領域を含む物体の領域を手領域として特定することを特徴とする付記１５〜１８のいずれか一つに記載の認識プログラム。
【０１０４】
（付記２０）前記認識する処理は、前記指先の位置から前記指の根本の位置を引いた値が正の値である場合には、前記手領域が前方に傾いていると認識し、前記指先の位置から前記指の根本の位置を引いた値が負の値である場合には、前記手領域が後方に傾いていると認識することを特徴とする付記１５〜１９のいずれか一つに記載の認識プログラム。
【０１０５】
（付記２１）前記特定する処理は、複数の指の根本を通る直線と、前記物体の輪郭との交点を新たな指の根本として特定し、特定した新たな指の根本を用いて指領域を特定することを特徴とする付記１５〜２０のいずれか一つに記載の認識プログラム。
【符号の説明】
【０１０６】
５０  距離画像センサ
６０  表示装置
１００  認識装置
１１０  取得部
１２０  特定部
１３０  ジェスチャ認識部
１４０  表示制御部
【図１】
2017102598.tif 000003
【図２】
2017102598.tif 000004
【図３】
2017102598.tif 000005
【図４】
2017102598.tif 000006
【図５】
2017102598.tif 000007
【図６】
2017102598.tif 000008
【図７】
2017102598.tif 000009
【図８】
2017102598.tif 000010
【図９】
2017102598.tif 000011
【図１０】
2017102598.tif 000012
【図１１】
2017102598.tif 000013
【図１２】
2017102598.tif 000014
【図１３】
2017102598.tif 000015