(57)【要約】      （修正有）【課題】実空間での指先位置を高精度に検出可能な入力装置を提供する。【解決手段】入力装置は、第１の撮像部が指を撮影して得られた第１の画像及び第１の撮像部と所定間隔離して配置された第２の撮像部がその指を撮影して得られた第２の画像のうちの一方の画像において、その指が表された指領域及び指領域から指先位置を検出する指領域検出部１１と、指領域を含むテンプレートを設定し、かつテンプレート内の指領域に含まれない画素をマスクするテンプレート設定部１２と、テンプレートと第１の画像及び第２の画像のうちの他方の画像との間でテンプレートマッチングを行うことにより、一方の画像上の指先位置に対応する他方の画像上の対応点を求める照合部１３と、一方の画像上の指先位置と他方の画像上の対応点とに基づいて、指の先端の実空間での位置を算出する指先位置算出部１４とを有する。【選択図】図３
2017004438.tif 000002
【特許請求の範囲】
【請求項１】
指を撮影して当該指が表された第１の画像を生成する第１の撮像部と、
前記第１の撮像部と所定間隔離して配置され、かつ、前記指を撮影して前記指が表された第２の画像を生成する第２の撮像部と、
前記第１の画像及び前記第２の画像のうちの一方の画像において前記指が表された指領域及び前記指領域から前記指の先端に相当する指先位置を検出する指領域検出部と、
前記指領域を含むテンプレートを設定し、かつ前記テンプレート内の前記指領域に含まれない画素をマスクするテンプレート設定部と、
前記テンプレートと前記第１の画像及び前記第２の画像のうちの他方の画像との間でテンプレートマッチングを行うことにより前記一方の画像上の前記指先位置に対応する前記他方の画像上の対応点を求める照合部と、
前記一方の画像上の前記指先位置と前記他方の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出する指先位置算出部と、
を有する入力装置。
【請求項２】
前記指領域検出部は、前記一方の画像から肌色に相当する色を持つ画素を抽出し、該抽出された画素の集合に基づいて前記指領域を検出する、請求項１に記載の入力装置。
【請求項３】
前記指領域検出部は、前記第１の画像と前記第２の画像の両方から前記指領域及び前記指先位置を検出し、かつ、前記第１の画像上の前記指領域の長さと前記第２の画像上の前記指領域の長さを測定し、
前記テンプレート設定部は、前記第１の画像と前記第２の画像のうち、前記指領域が長い方の画像を前記一方の画像として前記テンプレートを設定する、
請求項１または２に記載の入力装置。
【請求項４】
前記第１の撮像部または前記第２の撮像部から前記指の先端の実空間での位置までの距離と前記第１の撮像部または前記第２の撮像部から対象物までの距離のとの差が所定の閾値以下である場合、前記指が前記対象物に接触していると判定して前記指の先端の実空間での位置に応じた入力信号を生成する接触判定部をさらに有する、請求項１〜３の何れか一項に記載の入力装置。
【請求項５】
第１の撮像部が指を撮影することにより生成した、当該指が表された第１の画像、及び、前記第１の撮像部と所定間隔離して配置された第２の撮像部が前記指を撮影することにより生成した、当該指が表された第２の画像のうちの一方の画像において前記指が表された指領域及び前記指領域から前記指の先端に相当する指先位置を検出し、
前記指領域を含むテンプレートを設定し、かつ前記テンプレート内の前記指領域に含まれない画素をマスクし、
前記テンプレートと前記第１の画像及び前記第２の画像のうちの他方の画像との間でテンプレートマッチングを行うことにより前記一方の画像上の前記指先位置に対応する前記他方の画像上の対応点を求め、
前記一方の画像上の前記指先位置と前記他方の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出する、
ことを含む指先位置検出方法。
【請求項６】
第１の撮像部が指を撮影することにより生成した、当該指が表された第１の画像、及び、前記第１の撮像部と所定間隔離して配置された第２の撮像部が前記指を撮影することにより生成した、当該指が表された第２の画像のうちの一方の画像において前記指が表された指領域及び前記指領域から前記指の先端に相当する指先位置を検出し、
前記指領域を含むテンプレートを設定し、かつ前記テンプレート内の前記指領域に含まれない画素をマスクし、
前記テンプレートと前記第１の画像及び前記第２の画像のうちの他方の画像との間でテンプレートマッチングを行うことにより前記一方の画像上の前記指先位置に対応する前記他方の画像上の対応点を求め、
前記一方の画像上の前記指先位置と前記他方の画像上の前記対応点とに基づいて、前記指の先端の実空間での位置を算出する、
ことをコンピュータに実行させるための指先位置検出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、画像に写った指先の位置に応じた入力信号を生成する入力装置、及び、そのような入力装置で利用される指先位置検出方法及び指先位置検出用コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、人間の動作を検知して、その動作に応じた入力信号を生成するユーザインタフェースが研究されている。そのようなユーザインターフェースを、例えば、パーソナルコンピュータ、あるいはスマートフォンといった情報端末へ応用することが検討されている。特に、オフィスで使用するパーソナルコンピュータなどの操作に上記のユーザインタフェースを適用する場合には、ユーザが大きなジェスチャーを伴う操作を行うことは困難である。そのため、ユーザインターフェースは、手または指などによる微妙なジェスチャーを認識可能であることが求められる。しかしながら、手または指などによる微妙なジェスチャーを認識するためにはユーザインタフェースとして高度の検出精度が要求される。
【０００３】
そこで、所定の視差でステレオ撮影して得られた左右の視差画像に基づき、画像中のオブジェクトに関する視差値を決定することで、ジェスチャーなどを認識する技術が提案されている（例えば、特許文献１を参照）。
【０００４】
特許文献１に開示された情報処理装置は、左目画像から肌色画素を抽出し、その肌色画素を左目画像の同位置の画素で置き換え、肌色画素以外の画素を背景画素に置き換えた左目の視差画像を作成する。同様に、この情報処理装置は、右目画像から肌色画素を抽出し、その肌色画素を右目画像の同位置の画素で置き換え、肌色画素以外の画素を背景画素に置き換えた右目の視差画像を作成する。そしてこの情報処理装置は、一方の視差画像を２以上のレベルを持つグレイスケール画像に変換し、変換したグレイスケール画像から所定方向に連続する同一レベルを有する連続画素群をオブジェクトとして抽出する。この情報処理装置は、オブジェクトごとに、オブジェクトの位置及び予め定めた最大許容視差に基づいて、一方の視差画像において基準領域を設定するとともに、他方の視差画像において探索エリアを設定する。そしてこの情報処理装置は、基準領域の画像をテンプレートとして探索エリア内においてテンプレートマッチングを行うことにより基準領域に類似する類似領域を探索し、基準領域と類似領域の位置の差に基づいてオブジェクトに関する視差値を決定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１７５３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、様々な環境条件、あるいは、撮影対象の特徴などにより、画像から撮影対象の肌色の部位が正確に抽出されないことがある。このような場合、基準領域に対する類似領域が正確に求められないことがあり、その結果として、視差値が不正確となることがある。
【０００７】
一つの側面では、本発明は、実空間での指先位置を高精度に検出可能な入力装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一実施形態によれば、入力装置が提供される。この入力装置は、指を撮影してその指が表された第１の画像を生成する第１の撮像部と、第１の撮像部と所定間隔離して配置され、かつ、その指を撮影してその指が表された第２の画像を生成する第２の撮像部と、第１の画像及び第２の画像のうちの一方の画像においてその指が表された指領域及び指領域からその指の先端に相当する指先位置を検出する指領域検出部と、指領域を含むテンプレートを設定し、かつテンプレート内の指領域に含まれない画素をマスクするテンプレート設定部と、テンプレートと第１の画像及び第２の画像のうちの他方の画像との間でテンプレートマッチングを行うことにより一方の画像上の指先位置に対応する他方の画像上の対応点を求める照合部と、一方の画像上の指先位置と他方の画像上の対応点とに基づいて、指の先端の実空間での位置を算出する指先位置算出部とを有する。
【発明の効果】
【０００９】
実空間での指先位置を高精度に検出できる。
【図面の簡単な説明】
【００１０】
【図１】一つの実施形態による入力装置の一構成例を示す概略斜視図である。
【図２】図１に示された入力装置のハードウェア構成図である。
【図３】制御部の機能ブロック図である。
【図４】テンプレートの一例を示す図である。
【図５】（ａ）は、テンプレートが設定された画像の一例を示し、（ｂ）は、他方の画像の一例を示す図である。
【図６】指先位置検出処理を含む入力処理の動作フローチャートである。
【図７】本実施形態による、指先の実空間の位置の測定結果と、比較例による、指先の実空間の位置の測定結果とを示す図である。
【図８】爪が検出されている場合の指領域における指の長さと爪の検出に失敗した場合の指領域における指の長さを示す模式図である。
【図９】変形例による、入力処理の動作フローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、入力装置について説明する。この入力装置は、二つのカメラのそれぞれでユーザの指を撮影して得られる二つの画像の一方について指先位置を含むテンプレートを生成し、テンプレートマッチングにより他方の画像上での指先位置の対応点を求めることで指先の実空間での位置を求める。そしてこの入力装置は、指先の実空間での位置に応じて、指先が基準となる対象物に接触したか否かを判定する。そしてこの入力装置は、指先が対象物に接触したと判定した場合に、その指先の位置に応じた入力信号を生成する。
【００１２】
この入力装置は、テンプレートを生成する際、一方の画像から、肌色に相当する色を持つ領域を抽出することで、指が写っている指領域を検出し、その指領域及び指先位置を含むようにテンプレートを生成する。そしてこの入力装置は、テンプレート内で、指領域に含まれない画素をマスクすることで、背景によるテンプレートマッチングへの影響を軽減する。一方、この入力装置は、他方の画像については、肌色に相当する色を持つ領域の抽出を行わず、他方の画像そのものをテンプレートマッチングに利用する。これにより、この入力装置は、肌色に相当する色を持つ領域の抽出に起因する、指の一部の抽出に失敗する可能性を低減しつつ、背景によるテンプレートマッチングへの影響を軽減することで、指先の実空間での位置の検出精度の向上を図る。
【００１３】
図１は、一例による入力装置の概略斜視図である。図２は、図１に示された入力装置のハードウェア構成図である。入力装置１は、投影装置２と、ミラー３と、二つのカメラ４−１、４−２と、通信部５と、記憶部６と、制御部７とを有する。入力装置１が有するこれらの各部は、側面から見て縦方向にコの字型をした筐体１０に収容される。なお、以下では説明の都合上、ユーザに面する側を正面と呼ぶ。
【００１４】
投影装置２は、例えば、液晶プロジェクタであり、筐体１０の正面側に、表示面を上方へ向けて配置される。投影装置２は、制御部７から受け取った映像信号に従って映像をその表示面に表示することで、映像を投影する。投影装置２から投影された映像は、正面側へ突出した筐体１０の天頂部１０ａの下側に設けられたミラー３により反射されて、例えば、ユーザの指先が接触したか否かの判定対象となる対象物８が載置されたテーブル面などに投影される。なお、対象物８は、例えば、シート状の物体とすることができるが、そのような物体に限定されない。また、対象物８は、入力装置１が載置されるテーブルそのものであってもよい。
【００１５】
二つのカメラ４−１、４−２は、それぞれ、撮像部の一例であり、天頂部１０ａに、ミラー３を挟んで所定間隔だけ離して鉛直下方に向けて配置される。なお、テーブル面からカメラ４−１、４−２までの高さは、対象物８がカメラ４−１とカメラ４−２の両方の撮影範囲に含まれ、かつ、対象物８の近傍に位置する指先を画像上で識別できるように、例えば、600mmに設定される。そしてカメラ４−１、４−２は、それぞれ、所定の撮影周期（例えば、10msec〜50msec）でその撮影範囲が写った画像を生成する。本実施形態では、カメラ４−１、４−２により生成される画像は、RGB表色系により表されるカラー画像である。また、本実施形態では、カメラ４−１とカメラ４−２間の視差方向は、各カメラにより生成された画像において水平方向となる。カメラ４−１、４−２は、画像を生成する度に、その画像を制御部７へ出力する。
【００１６】
通信部５は、入力装置１を他の機器と接続するためのインタフェース及びその制御回路を有する。そして通信部５は、例えば、他の機器から受け取った映像信号を制御部７へ渡す。あるいは、通信部５は、制御部７から受け取った、ユーザの入力に応じた入力信号を他の機器へ出力する。
【００１７】
記憶部６は、例えば、揮発性又は不揮発性の半導体メモリ回路を有する。そして記憶部６は、投影装置２により投影される映像を表す映像信号及びユーザの操作入力を検出するために利用される各種の情報を記憶する。ユーザの操作入力を検出するために利用される情報には、例えば、カメラ４−１とカメラ４−２間の間隔、カメラ４−１、４−２の焦点距離、指先位置の検出に利用する各種のパラメータなどが含まれる。さらに、ユーザの操作入力を検出するために利用される情報には、テーブルと平行な面の位置ごとにおける、カメラ４−１またはカメラ４−２から対象物８の表面までの距離が含まれてもよい。さらに、記憶部６は、カメラ４−１またはカメラ４−２から得られた画像を記憶してもよい。
【００１８】
制御部７は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部７は、投影装置２、カメラ４−１、４−２、通信部５及び記憶部６と信号線を介して接続されており、入力装置１全体を制御する。
また制御部７は、カメラ４−１及びカメラ４−２のそれぞれから受け取った画像上での指先の位置を求めることで、ユーザの指先の実空間での位置（すなわち、三次元位置）を特定する。そして制御部７は、指先の実空間での位置に基づいて、ユーザによる入力操作が行われたか否かを判定し、入力操作が行われたと判定した場合、指先の位置に応じた入力信号を生成して、その入力信号に応じた処理を実行する。
【００１９】
以下、制御部７により実行される、指先位置検出処理を含む入力処理に関する構成要素の詳細について説明する。
図３は、制御部７の機能ブロック図である。制御部７は、指領域検出部１１と、テンプレート設定部１２と、照合部１３と、指先位置算出部１４と、接触判定部１５とを有する。
制御部７が有するこれらの各部は、例えば、制御部７が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装されてもよい。なお、これらの各部は、それぞれ、別個の回路として、制御部７とは別個に入力装置１に実装されてもよく、あるいはこれらの各部の機能を実現する一つの集積回路として、制御部７とは別個に入力装置１に実装されてもよい。
【００２０】
指領域検出部１１は、カメラ４−１及びカメラ４−２のそれぞれから制御部７が画像を取得する度に、何れか一方のカメラから取得した画像上で指が写っている領域である指領域を検出する。以下の説明では、指領域検出部１１は、カメラ４−１から得られた画像上の指領域を検出するものとする。
【００２１】
本実施形態では、指領域検出部１１は、カメラ４−１から得られた画像上で肌色に相当する色を持つ領域を、指領域として抽出する。そのために、指領域検出部１１は、画像の各画素の値を、次式に従って、RGB表色系で表される値からHSV表色系で表される値に変換する。
【数１】
2017004438.tif 000003
ここで、R、G、Bは、それぞれ、変換前の画素の赤色成分、緑色成分、青色成分を表す。またMAX、MINは、それぞれ、変換前の画素の赤色成分、緑色成分、青色成分のうちの最大値及び最小値を表す。そしてH、V、Ｓは、それぞれ、変換後の画素の色相、明度、彩度を表す。ただし、Hの値に関しては、（１）式により得られた値が負の場合、その値に360を加えた値が色相の値となる。
この例では、明度V及び彩度Sは、それぞれ、0〜255の範囲内の値を取る。また、色相Hは、0〜359の値を取る。
【００２２】
指領域検出部１１は、各画素の値がHSV表色系で表された画像から、次式の条件を満たす画素を肌色を持つ画素として抽出する。
【数２】
2017004438.tif 000004
【００２３】
指領域検出部１１は、抽出された肌色を持つ画素（以下、便宜上、肌色画素と呼ぶ）に対してラベリング処理を実行することにより、肌色画素同士が連結された領域を指領域とする。なお、指領域検出部１１は、画像から肌色に相当する色を持つ画素の集合を抽出し、抽出した画素の集合から指領域を検出する様々な方法の何れかに従って指領域を検出してもよい。
【００２４】
指領域が検出されると、指領域検出部１１は、指領域の先端を、その画像上での指先の位置として検出する。例えば、画像上では指の根元が上側に位置し、指先が下側に位置することが想定される場合、指領域検出部１１は、指領域の輪郭上に位置する画素のうち、垂直方向の座標が最も下方となる画素の位置を指先位置とする。あるいは、指領域検出部１１は、画像上での指先位置を検出する様々な方法の何れか、例えば、特開２００３−３４６１６２号公報に開示されている方法にしたがって画像上の指先位置を検出してもよい。
【００２５】
指領域検出部１１は、画像上での指領域及び指先位置をテンプレート設定部１２へ通知する。さらに、指領域検出部１１は、画像上での指先位置を指先位置算出部１４へ通知する。
【００２６】
テンプレート設定部１２は、指領域及び指先位置が検出された画像に対して、他方の画像とのマッチングに利用するテンプレートを設定する。その際、テンプレート設定部１２は、指領域の少なくとも一部及び指先位置を含むようにテンプレートを設定する。
【００２７】
本実施形態では、テンプレート設定部１２は、指先位置を基準としてテンプレートを設定する。
なお、本実施形態では、画像上において指の根元が上側に位置し、指先が下側に位置するとともに、指は画像の垂直方向と略平行となるように写っているものとする。
【００２８】
図４は、テンプレートの一例を示す図である。テンプレート４００は、例えば、指４０１の一定部分、例えば、第１関節より先の部分がテンプレート４００に含まれるように設定される。例えば、画像上の指先位置Pの座標が(px,py)である場合、テンプレート４００の左上端座標R0(rx,ry)は、次式のように設定される。
rx=px-W/2
ry=y-H
ただし、Wは、テンプレート４００の水平方向の長さであり、Hは、テンプレート４００の垂直方向の長さである。カメラ４−１から指までの距離が略600mmであり、カメラ４−１の解像度がVGA(640x480画素)であり、かつ、画角が75°であれば、例えば、W=H=40に設定される。
【００２９】
テンプレート設定部１２は、テンプレートの指領域内の各画素について、その画素の値を、指領域及び指先位置が検出された画像におけるオリジナルの画素の値とする。本実施形態では、オリジナルの画像がRGB表色系で表された画像であるため、指領域内の各画素は、R,G,Bの各成分の値を持つ。
【００３０】
また、テンプレート設定部１２は、テンプレート内の指領域以外の画素の値によるテンプレートマッチングへの影響を低下させるために、テンプレート内の指領域に含まれない各画素をマスクする。例えば、テンプレート設定部１２は、テンプレート内の指領域に含まれない各画素の値を所定値に置換する。所定値は、任意の値であってよく、例えば、R、G、Bの各色成分について0または255とすることができる。ただし、照合部１３によるテンプレートマッチングの精度を向上するために、指領域以外の各画素の値は、HSV表色系の値に変換された場合に（２）式の条件を満たさない値とすることが好ましい。
【００３１】
あるいは、テンプレート設定部１２は、テンプレート内で指領域とその他の領域（以下、マスク領域と呼ぶ）とを識別するための情報を生成してもよい。そのような情報として、テンプレート設定部１２は、例えば、テンプレートと同サイズの２値画像を生成し、その２値画像において、指領域に含まれる画素に対応する画素の値と、マスク領域に含まれる画素に対応する画素の値を異ならせてもよい。あるいは、テンプレート設定部１２は、そのような情報として、テンプレート内でマスク領域に含まれる各画素の値を、オリジナルの画像では取り得ない値、例えば、R,G,Bの何れかについて負の値に設定してもよい。
【００３２】
テンプレート設定部１２は、テンプレートを照合部１３へわたす。さらに、テンプレート設定部１２は、テンプレート内で指領域とマスク領域とを識別するための情報を生成した場合には、その情報も照合部１３へわたす。
【００３３】
照合部１３は、テンプレートと他方の画像（この例では、カメラ４−２により得られた画像）との間でテンプレートマッチングを実行する。なお、照合部１３は、カメラ４−２により生成された画像のうち、テンプレートが設定されたカメラ４−１による画像の撮影時刻と最も近い撮影時刻の画像をテンプレートマッチングに利用する他方の画像とする。
【００３４】
図５（ａ）は、テンプレートが設定された画像の一例を示す図であり、一方、図５（ｂ）は、他方の画像の一例を示す図である。図５（ａ）に示されるように、画像５００に写っている指先位置Pを含むように、テンプレート５０１が設定されている。なお、この例では、画像５００から指全体が正しく抽出され、結果として指先位置Pが正確に設定されているものとする。
【００３５】
この場合、図５（ｂ）に示される、他方の画像５１０において、本来、指先位置を含む領域５１１がテンプレート５０１と最も一致する領域となる。しかし、従来技術のように、他方の画像５１０から肌色を持つ画素を抽出し、その抽出された肌色を持つ画素以外の画素の値が所定値とされたものがテンプレートマッチングに利用されたとする。この場合において、例えば、肌色を持つ画素の抽出の際に、爪５１２の検出に失敗したとすると、テンプレートと最も一致する領域として、誤って領域５１３が検出されてしまう。この場合、領域５１１の水平方向の位置x1と領域５１３の水平方向の位置x1'とが異なっているために、求められる実空間での指先位置も不正確となる。
【００３６】
そこで、本実施形態では、照合部１３は、他方の画像について肌色を持つ画素を抽出せずに、そのままテンプレートマッチングに利用する。これにより、照合部１３は、肌色を持つ画素の抽出の際に、指の一部（例えば、爪）の抽出に失敗することを防止できるので、指の一部の抽出失敗による、マッチング精度の低下を抑制できる。
【００３７】
照合部１３は、例えば、他方の画像に対するテンプレートの相対的な位置を水平方向（すなわち、視差方向）にずらしながら、テンプレートと他方の画像間の正規化相互相関値を算出する。照合部１３は、R,G,Bの何れかの色成分についてのみ、正規化相互相関値を算出してもよく、あるいは、各色成分について正規化相互相関値を算出し、その平均値を改めて正規化相互相関値としてもよい。あるいはまた、照合部１３は、テンプレート内の各画素の値及び他方の画像の各画素の値をそれぞれHSV表色系に変換した上で、輝度成分に基づいて正規化相互相関値を算出してもよい。なお、照合部１３は、他方の画像に対するテンプレートの相対的な位置を、垂直方向にもずらしてもよい。
【００３８】
また、照合部１３は、テンプレート内の指領域とマスク領域とを識別する情報を受け取っている場合には、正規化相互相関値を算出する際に、マスク領域に含まれる画素を使用しなくてもよい。
【００３９】
そして照合部１３は、正規化相互相関値が最大となったときの位置に位置合わせしたときのテンプレート内の指先位置P(px,py)に対応する、他方の画像上の対応点の位置Q1(x1,y1)を求める。
【００４０】
照合部１３は、対応点の位置Q1を指先位置算出部１４へ通知する。
【００４１】
指先位置算出部１４は、カメラ４−１による画像上の指先位置と、カメラ４−２による画像上の対応点の位置とに基づいて、実空間での指先位置を求める。
【００４２】
本実施形態では、各カメラの設置位置、画角及び解像度が分かっているので、指先位置算出部１４は、三角測量に基づいて、一方の画像上での指先位置と、他方の画像上での対応点の位置とから、指先の実空間での位置を求めることができる。例えば、指先位置算出部１４は、次式に従って、一方の画像上の指先位置と他方の画像上の対応点とから、カメラ４−１（あるいはカメラ４−２）から指先位置までのカメラ４−１の光軸方向に沿った距離Zを算出する。
【数３】
2017004438.tif 000005
ここでx0は、一方の画像における指先位置の水平方向座標であり、x1は、他方の画像における対応点の水平方向座標である。またfは、カメラ４−１及びカメラ４−２の焦点距離である。そしてTは、カメラ４−１とカメラ４−２間の距離である。
また、画像上の画素の位置は、カメラの光軸となす角と１対１に対応している。そのため、指先位置算出部１４は、カメラ４−１から指先までの距離と、画像上の指先の位置に対応する、光軸に対する角度とに基づいて、カメラ４−１の光軸に直交する面における指先の位置を特定できる。
指先位置算出部１４は、指先の実空間での位置を接触判定部１５に通知する。
【００４３】
接触判定部１５は、カメラ４−１から指先位置までの距離と、その指先の位置に対応する対象物８とカメラ４−１間の距離とを比較する。そして接触判定部１５は、その距離の差が、指の厚さに相当する所定の接触判定閾値以下である場合、指先が対象物８に接触したと判定する。
【００４４】
接触判定部１５は、指先が対象物８に接触したと判定した場合、指先位置の対象物８の表面における位置に応じた入力信号を生成し、その入力信号を通信部５を介して他の機器へ出力する。あるいは、制御部７は、その入力信号に応じた処理を実行してもよい。
【００４５】
図６は、指先位置検出処理を含む入力処理の動作フローチャートである。制御部７は、カメラ４−１及びカメラ４−２から画像を取得する度に、以下の動作フローチャートに従って入力処理を実行する。また、以下の動作フローチャートにおいて、ステップＳ１０１〜Ｓ１０６までが、指先位置検出処理に相当する。
【００４６】
指領域検出部１１は、カメラ４−１から得られた画像上で指が写っている指領域を検出する（ステップＳ１０１）。そして指領域検出部１１は、指領域の先端を画像上での指先位置として検出する（ステップＳ１０２）。
【００４７】
テンプレート設定部１２は、画像上での指先位置を含む、指領域の一部を含むようにテンプレートを設定する（ステップＳ１０３）。そしてテンプレート設定部１２は、テンプレート内で指領域に含まれない各画素をマスクする（ステップＳ１０４）。
【００４８】
照合部１３は、テンプレートと他方の画像間でのテンプレートマッチングを実行することにより、他方の画像においてそのテンプレート内の指先位置に対する対応点を検出する（ステップＳ１０５）。
【００４９】
指先位置算出部１４は、指先位置及び対応点に基づいて指先の実空間の位置を算出する（ステップＳ１０６）。
【００５０】
接触判定部１５は、その指先位置におけるカメラ４−１から対象物８までの距離と、カメラ４−１から指先までの距離Zとの差が接触判定閾値D以下か否か判定する（ステップＳ１０７）。その差が接触判定閾値Dより大きい場合（ステップＳ１０７−Ｎｏ）、接触判定部１５は、ユーザの指は対象物８に接触していないと判定する。そして制御部７は、入力処理を終了する。
一方、その差が接触判定閾値D以下である場合（ステップＳ１０７−Ｙｅｓ）、接触判定部１５は、その指先の位置にてユーザの指が対象物８に接触したと判定する。そして接触判定部１５は、その指先の位置の実空間における座標に応じた入力信号を生成し、その入力信号を出力する（ステップＳ１０８）。そして制御部７は、入力処理を終了する。
【００５１】
図７は、本実施形態による、指先の実空間の位置の測定結果と、比較例として、テンプレートとの照合に利用する他方の画像として、従来技術のように指領域以外の各画素の値を所定値で置換した画像を用いた場合の指先の実空間の位置の測定結果を示す。
【００５２】
この実験では、測定期間中、被験者の指先は、カメラ４−１から60mmの位置に置いた。そしてカメラ４−１及びカメラ４−２から画像が得られる度に、実空間での指先位置とカメラ４−１間の鉛直方向の距離zを測定した。図７の横軸は、各カメラからの画像の取得回数を表し、縦軸は距離を表す。そしてグラフ７０１は、本実施形態による、各画像取得時のカメラ４−１から指先までの距離の測定値を表すグラフである。一方、グラフ７０２は、比較例による、各画像取得時のカメラ４−１から指先までの距離の測定値を表すグラフである。本実施形態による、カメラ４−１から指先位置までの距離の測定結果の分散は3.2であり、一方、比較例による、カメラ４−１から指先位置までの距離の測定結果の分散は7.4であった。このように、比較例よりも、本実施形態の方が、カメラ４−１から指先位置までの距離の測定結果のバラツキが小さいことが分かる。
【００５３】
以上に説明してきたように、この入力装置は、一方の画像から肌色を持つ画素の集合を抽出することで検出された指領域を含むテンプレートについて、テンプレート内の指領域以外の画素をマスクすることで、背景によるテンプレートマッチングへの影響を軽減する。そしてこの入力装置は、そのテンプレートと、他方の画像そのものとのテンプレートマッチングを行うことで、一方の画像上の指先位置に対応する他方の画像の対応点を検出する。そしてこの入力装置は、一方の画像上の指先位置と他方の画像上の対応点とから、指先の実空間での位置を算出する。そのため、この入力装置は、一方の画像についてのみ、指領域を抽出するので、指領域の検出の際に指の一部の検出に失敗することによる、他方の画像上の対応点の位置の検出精度の低下を抑制できる。その結果として、この入力装置は、より高精度に指先の実空間での位置を特定できる。
【００５４】
なお、画像から肌色を持つ画素の集合を指領域として抽出する際に、指の一部の抽出に失敗すると、画像上での指領域が本来の指の長さに相当する指領域の長さよりも短くなることがある。特に、指において、爪の部分の色が指の他の部分の色と異なるために、指領域の検出の際に爪の部分の検出に失敗する可能性があるためである。そこで変形例によれば、入力装置は、二つのカメラのそれぞれの画像から指領域を抽出し、それぞれの画像について、指の長手方向に沿った指領域の長さを測定する。そしてこの入力装置は、指領域が長い方の画像についてテンプレートを設定し、指領域が短い方の画像については、オリジナルの画像をテンプレートマッチングに使用する。
【００５５】
この変形例による入力装置は、上記の実施形態と比較して、指領域検出部１１及びテンプレート設定部１２の処理の一部について相違する。そこで以下では、指領域検出部１１及びテンプレート設定部１２について説明する。入力装置の他の構成要素については、上記の実施形態の対応する構成要素の説明を参照されたい。
【００５６】
指領域検出部１１は、カメラ４−１及びカメラ４−２のそれぞれから制御部７が画像を取得する度に、カメラ４−１から取得した画像及びカメラ４−２から取得した画像の両方について指領域及び指先位置を検出する。なお、指領域及び指先位置の検出の具体的な方法は、上記の実施形態による指領域及び指先位置の検出の方法と同じとすることができるので、ここでは、その詳細な説明は省略する。
【００５７】
指領域検出部１１は、カメラ４−１により得られた画像とカメラ４−２により得られた画像のそれぞれについて、その画像上での指領域の長さを測定する。
【００５８】
上述したように、爪の部分の色が指の他の部分の色と異なるために、指領域検出部１１は、指領域の検出の際に、爪の部分の検出に失敗することがある。このような場合、爪の部分が正しく検出された場合と比較して、指の長手方向に沿った指領域の長さが短くなる。したがって、同じ指が写っている二つの画像において、指の長手方向に沿った指領域の長さが異なっている場合には、長い方の指領域の方が、正しく指全体を検出できている可能性が高い。そこで、指領域検出部１１は、テンプレートに利用する画像を選択するための指標として、各画像について、指の長手方向に沿った指領域の長さを測定する。
【００５９】
本実施形態では、指領域検出部１１は、各画像について、指領域の重心と指先位置間の距離を指の長手方向に沿った指領域の長さとして算出する。
【００６０】
図８は、爪が検出されている場合の指領域の長さと爪の検出に失敗した場合の指領域の長さを示す模式図である。画像８００では、検出された指領域８０１に、爪の部分も含まれている。一方、画像８１０では、爪の検出に失敗しており、その結果として、検出された指領域８１１に、爪の部分は含まれていない。そのため、画像８００における、指領域８０１の重心G1(x,y)と指先位置P1(x,y)間の距離d1は、画像８１０における、指領域８１１の重心G2(x,y)と指先位置P2(x,y)間の距離d2よりも長くなっている。そのため、この例では、画像８００に基づいてテンプレートが設定される。
【００６１】
なお、指領域検出部１１は、各画像について、他の方法に従って指領域の長さを測定してもよい。例えば、画像上では指の根元が上側に位置し、指先が下側に位置することが想定され、かつ、カメラ４−１とカメラ４−２が画像上での水平方向に相当する方向に沿って並んでいるとする。この場合、指領域検出部１１は、各画像について、指領域の上端と指先位置間の距離を、指領域の長さとしてもよい。
【００６２】
指領域検出部１１は、各画像についての指領域及び指先位置とともに、測定した指領域の長さをテンプレート設定部１２へ通知する。
【００６３】
テンプレート設定部１２は、カメラ４-１により得られた画像について測定された指領域の長さとカメラ４-２により得られた画像について測定された指領域の長さとを比較する。そしてテンプレート設定部１２は、指領域が長い方の画像について、その画像の指領域及び指先位置に基づいてテンプレートを設定する。例えば、カメラ４-１により得られた画像についての指領域の方が、カメラ４-２により得られた画像についての指領域よりも長い場合、テンプレート設定部１２は、カメラ４−１により得られた画像に基づいてテンプレートを設定する。なお、テンプレート設定の詳細については上記の実施形態の対応する記載を参照されたい。
【００６４】
図９は、この変形例による、入力処理の動作フローチャートである。制御部７は、カメラ４−１及びカメラ４−２から画像を取得する度に、以下の動作フローチャートに従って入力処理を実行する。また、以下の動作フローチャートにおいて、ステップＳ２０１〜Ｓ２０７までが、指先位置検出処理に相当する。
【００６５】
指領域検出部１１は、カメラ４−１から得られた画像及びカメラ４−２から得られた画像のそれぞれから、指が写っている指領域を検出する（ステップＳ２０１）。そして指領域検出部１１は、各画像について、指領域の先端を画像上での指先位置として検出する（ステップＳ２０２）。さらに、指領域検出部１１は、各画像について、指領域の重心から指先位置までの距離を指領域の長さとして測定する（ステップＳ２０３）。
【００６６】
テンプレート設定部１２は、カメラ４−１により得られた画像とカメラ４-２により得られた画像のうち、指領域が長い方の画像について、指先位置と指領域の一部を含むようにテンプレートを設定する（ステップＳ２０４）。
【００６７】
ステップＳ２０４の後、制御部７は、ステップＳ２０５〜ステップＳ２０９の処理を実行する。なお、ステップＳ２０５〜ステップＳ２０９の処理は、図６に示されたフローチャートにおける、ステップＳ１０４〜ステップＳ１０８の処理と同様であるため、ステップＳ２０５〜ステップＳ２０９の処理の詳細については省略する。なお、この変形例では、照合部１３は、ステップＳ２０６における他方の画像として、テンプレートが設定されなかった方の画像を利用する。
【００６８】
この変形例によれば、入力装置は、検出された指領域の長い方の画像からテンプレートを設定するので、指先まで含まれるテンプレートを設定できる可能性を高めることができる。またこの変形例でも、入力装置は、テンプレートとの照合に用いられる画像として、オリジナルの画像を用いるので、指領域の検出の失敗による指先位置の検出精度の低下を抑制できる。
【００６９】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００７０】
１    入力装置
２    投影装置
３    ミラー
４−１、４−２    カメラ
５    通信部
６    記憶部
７    制御部
８    対象物
１１    指領域検出部
１２    テンプレート設定部
１３    照合部
１４    指先位置算出部
１５    接触判定部
【図１】
2017004438.tif 000006
【図２】
2017004438.tif 000007
【図３】
2017004438.tif 000008
【図４】
2017004438.tif 000009
【図５】
2017004438.tif 000010
【図６】
2017004438.tif 000011
【図７】
2017004438.tif 000012
【図９】
2017004438.tif 000013
【図８】
2017004438.tif 000014