(57)【要約】【課題】複数のカメラを用いて移動中の対象物の三次元位置を推定する場合において、三次元位置の推定精度を向上させる。【解決手段】情報処理装置は、複数のカメラにより撮像された画像を時系列で取得し、取得した画像に基づいてカメラから対象物までの距離を算出する。情報処理装置は、対象物が所定のＸＹ平面に到達した場合に、時系列で取得した複数の画像間で対象物の面積の差が所定の閾値以下であったとき、算出された距離をカメラからＸＹ平面までの距離に補正する。【選択図】図８
2014202540.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラと情報処理装置とを有する位置算出システムであって、
前記情報処理装置は、
前記複数のカメラにより撮像された画像を時系列で取得する取得部と、
前記画像に基づいて前記カメラから対象物までの距離を算出する算出部と、
前記対象物が所定のＸＹ平面に到達した場合に、時系列で取得した複数の画像間で前記対象物の面積の差が所定の閾値以下であったとき、前記算出された距離を前記カメラから前記ＸＹ平面までの距離に補正する補正部と、
を有することを特徴とする位置算出システム。
【請求項２】
前記情報処理装置は、
前記カメラから前記対象物までの距離が前記カメラから前記ＸＹ平面までの距離であったとき、前記ＸＹ平面上に投影された表示情報が選択されたと判断し、前記カメラから前記対象物までの距離が前記カメラから前記ＸＹ平面までの距離未満であったとき、前記表示情報が選択されていないと判断する判断部
を有することを特徴とする請求項１に記載の位置算出システム。
【請求項３】
前記補正部は、
前記時系列で取得した複数の画像間で前記対象物の前記ＸＹ平面上の移動距離が所定の閾値を超えると判断した場合、前記複数の画像間で前記対象物の面積の差が所定の閾値以下か否かを判断し、前記算出された距離を前記カメラから前記ＸＹ平面までの距離に補正する
ことを特徴とする請求項１または請求項２に記載の位置算出システム。
【請求項４】
複数のカメラにより撮像された画像を時系列で取得し、
前記画像に基づいて前記カメラから対象物までの距離を算出し、
前記対象物が所定のＸＹ平面に到達した場合に、時系列で取得した複数の画像間で前記対象物の面積の差が所定の閾値以下であったとき、前記算出された距離を前記カメラから前記ＸＹ平面までの距離に補正する
処理をコンピュータに実行させることを特徴とする位置算出プログラム。
【請求項５】
複数のカメラにより撮像された画像を時系列で取得し、
前記画像に基づいて前記カメラから対象物までの距離を算出し、
前記対象物が所定のＸＹ平面に到達した場合に、時系列で取得した複数の画像間で前記対象物の面積の差が所定の閾値以下であったとき、前記算出された距離を前記カメラから前記ＸＹ平面までの距離に補正する
処理をコンピュータが実行することを特徴とする位置算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置算出システム、位置算出プログラム、および、位置算出方法に関する。
【背景技術】
【０００２】
画像から物体の三次元位置を推定する方法として、二眼ステレオ法がある。この二眼ステレオ法は、位置関係が既知かつ平行な２台のカメラ画像から同一物体（対象物）が撮影された画素の位置ずれ（視差）を利用して、三角測量の原理により対象物までの距離を推定する。この二眼ステレオ法においては、カメラ間で画像の取得タイミングを同期することが難しく、移動中の対象物を撮影すると、視差が変化してしまい、対象物の距離を正しく推定できないという問題があった。このような問題を解決するため、存在しないフレームの対応点を疑似的に作成し、作成した疑似対応点と観測点を用いて、対象物の三次元位置を推定する技術がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】清水,藤吉(中部大学),”複数非同期カメラを用いた高速三次元位置推定に関する研究”,2005
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術では、例えば、対象物の動きが複雑な場合、対象物の三次元位置の推定精度が下がってしまう。
【０００５】
一つの側面では、三次元位置の推定精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
一つの案の位置算出システムは、複数のカメラと情報処理装置とを有する。情報処理装置は、複数のカメラにより撮像された画像を時系列で取得する。また、情報処理装置は、前記画像に基づいて前記カメラから対象物までの距離を算出する。さらに、情報処理装置は、前記対象物が所定のＸＹ平面に到達した場合に、時系列で取得した複数の画像間で前記対象物の面積の差が所定の閾値以下であるか否か判断する。ここで、複数の画像間で前記対象物の面積の差が所定の閾値以下であるとき、情報処理装置は、前記算出された距離を前記カメラから前記ＸＹ平面までの距離に補正する。
【発明の効果】
【０００７】
開示の態様では、複数のカメラを用いて移動中の対象物の三次元位置を推定する場合において、三次元位置の推定精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、位置算出システムの全体の概略構成の一例を示す図である。
【図２】図２は、情報処理装置の全体構成を示す図である。
【図３】図３は、二眼ステレオ法による、対象物の距離の算出方法を説明する図である。
【図４】図４は、指先の動きによる指先のＸ座標、指先距離、および、手の面積の変化の一例を示す図である。
【図５】図５は、カメラのシャッタータイミングの一例を示す図である。
【図６】図６は、指先の動きによる指先のＸ座標、指先距離、および、手の面積の変化の一例を示す図である。
【図７】図７は、投影面上における対象物の動きの一例を示す図である。
【図８】図８は、情報処理装置による、投影面へのタッチからタッチ解析までの処理の手順を示すフローチャートである。
【図９】図９は、位置算出プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する位置算出システム、位置算出プログラム、および、位置算出方法の実施例を、図面に基づいて詳細に説明する。なお、この実施例により開示技術が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１０】
図１は、位置算出システムの全体の概略構成の一例を示す図である。図１に示すように、位置算出システム１００は、カメラ１，２と、プロジェクタ（表示装置）３と、情報処理装置１０とを有する。情報処理装置１０は、カメラ１，２およびプロジェクタ３とネットワーク（図示省略）を介して通信可能に接続される。
【００１１】
プロジェクタ３は、画像や映像をスクリーンなどに投影する装置である。例えば、プロジェクタ３は、机や台など所定の投影面上にドキュメントの画像を投影する。カメラ１，２は、画像を撮像（撮影）する装置である。例えば、カメラ１，２は、投影面上に投影されたドキュメントの画像、対象物（例えば、操作者の手や指）の画像などを撮影する。そして、情報処理装置１０は、入力された情報を処理する装置である。例えば、情報処理装置１０は、カメラ１，２により撮影された時系列の画像から、対象物の三次元位置を算出する。その後、情報処理装置１０は、算出された対象物の三次元位置に基づき、ドキュメントに対する操作を判断する。例えば、情報処理装置１０は、ドキュメントのどの情報がタッチ(選択)されたのか、またタッチ（選択）が解除されたのかなどを判断する。
【００１２】
なお、カメラ１，２やプロジェクタ３への接続に用いられるネットワークは、有線または無線を問わず、Local  Area  Network（ＬＡＮ）やVirtual  Private  Network（ＶＰＮ）などの任意の通信網が挙げられる。また、カメラ１，２間で画像の取得タイミングが同期されていなくてもよい。さらに、位置算出システム１００は、カメラを３台以上有していてもよい。また、プロジェクタ３と、情報処理装置１０とはネットワークを介して接続されるものとしたが、接続されていなくてもよい。なお、カメラ１，２による撮影の対象物は、投影されたドキュメントの操作者の手や指である場合を例に説明するが、これに限定されない。例えば、対象物は、ペンや棒などであってもよい。
【００１３】
次に、図２を用いて、実施例１にかかる情報処理装置１０について説明する。図２は、情報処理装置の全体構成を示す図である。図２に示すように、情報処理装置１０は、通信Ｉ／Ｆ（インタフェース）部１１と、表示部１２と、入力部１３と、記憶部１４と、制御部１５とを有する。
【００１４】
通信Ｉ／Ｆ（取得）部１１は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部１１は、ネットワークを介して各種情報を受信する。例えば、通信Ｉ／Ｆ部１１は、カメラ１，２からドキュメントや対象物を撮影した画像を受信する。かかる通信Ｉ／Ｆ部１１の一態様としては、ＬＡＮカードなどのネットワークインタフェースカードが挙げられる。
【００１５】
表示部１２は、各種情報を表示する表示デバイスである。例えば、表示部１２としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスが挙げられる。表示部１２は、各種情報を表示する。例えば、表示部１２は、記憶部１４に格納される各情報を表示する。
【００１６】
入力部１３は、各種の情報を入力する入力デバイスである。例えば、入力部１３としては、マウス、キーボード、タッチセンサなどの入力デバイスが挙げられる。入力部１３は、情報処理装置１０のユーザから入力された情報を制御部１５へ出力する。例えば、入力部１３は、後記する、表示情報１４１、色情報１４２、形状情報１４３などの元となる情報を受け付けると、制御部１５へ出力し、制御部１５経由で記憶部１４に記憶させる。
【００１７】
記憶部１４は、ハードディスク、ＳＳＤ（Solid  State  Drive）、光ディスクなどの不揮発性の記憶装置である。なお、記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory)などのデータを書き換え可能な半導体メモリであってもよい。
【００１８】
記憶部１４は、制御部１５で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。また、記憶部１４は、プログラムで用いられる各種データやプログラムにより生成された各種データを記憶する。例えば、記憶部１４は、表示情報１４１と、色情報１４２と、形状情報１４３とを記憶する。表示情報１４１は、制御部１５経由でプロジェクタ３により投影面上に投影される情報（例えば、前記したドキュメント）である。また、色情報１４２は、対象物として想定される物の色の範囲を示した情報である。この色の範囲は、例えば、ＨＳＶ（色相(Hue)、彩度(Saturation)、明度(Value)）表色系における色相と彩度により定義される。この色情報１４２は、制御部１５が対象物の領域（例えば、手の領域）を検出する際に参照される。形状情報１４３は、対象物（例えば、手）の形状と、その形状における特徴点（例えば、指先）とを示した情報である。この形状情報１４３は、制御部１５が、対象物から特徴点を検出する際に参照される。
【００１９】
制御部１５は、情報処理装置１０を制御するデバイスである。制御部１５としては、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用できる。制御部１５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部１５は、各種のプログラムが動作しており、各種の処理部として機能する。
【００２０】
制御部１５は、表示処理部１５１と、三次元位置算出部１５２と、操作判断部（判断部）１５３と、位置算出部１５４とを有する。
【００２１】
表示処理部１５１は、表示情報１４１を通信Ｉ／Ｆ部１１経由でプロジェクタ３により所定の投影面へ投影させる。また、表示処理部１５１は、記憶部１４の各種情報を表示部１２へ表示させる。
【００２２】
三次元位置算出部１５２は、通信Ｉ／Ｆ部１１経由でカメラ１，２から取得した時系列の画像をもとに、二眼ステレオ法などにより対象物の三次元位置を算出する。三次元位置算出部１５２は、例えば、図１に例示した投影面をＸＹ平面と考えたときの、対象物のＸＹ座標を算出する。また、三次元位置算出部１５２は、カメラ１，２から対象物までの距離を算出する。なお、ここで算出されるカメラ１，２から対象物までの距離は、例えば、カメラ１，２の中間点から対象物までの距離とする。
【００２３】
この二眼ステレオ法におけるカメラから対象物までの距離の算出の概要を、図３を用いて説明する。図３は、二眼ステレオ法による、対象物の距離の算出方法を説明する図である。二眼ステレオ法は、位置関係が既知かつ平行な２台のカメラにより撮影された画像から、同じ対象物が撮影された画素の位置のずれ（視差）を利用して、カメラから対象物までの距離を算出する方法である。例えば、図３に示す、カメラ１，２を用いた場合、カメラ１，２の中間点から、対象物（図３の時刻ｔにおけるobject）までの距離Ｚｐは、以下の式（１）および式（２）により計算される。
【００２４】
【数１】
2014202540.tif 000003
【数２】
2014202540.tif 000004
【００２５】
ただし、式（１）および式（２）におけるｆはカメラ１，２の焦点距離である。Ｂはカメラ１，２間の距離である。ｕ１は一方のカメラ（例えば、カメラ１）が撮影した画像における対象物の座標位置である。ｕ２は他方のカメラ（例えば、カメラ２）が撮影した画像における対象物の座標位置である。視差ｄは｜ｕ１−ｕ２｜である。
【００２６】
図２の説明に戻る。操作判断部１５３は、対象物の三次元位置に基づき、投影面に投影された画像（つまり、表示情報１４１）に対し、どのような操作が行われたかを判断する。例えば、まず、操作判断部１５３は、対象物が投影面上に置かれた（タッチされた）ことを検出すると、位置算出部１５４を起動させる。そして、操作判断部１５３は、この位置算出部１５４により算出された対象物の三次元位置により、投影面に投影された画像（つまり、表示情報１４１）に対しどのような操作が行われたかを判断する。例えば、操作判断部１５３は、位置算出部１５４により算出されたカメラ１，２から対象物までの距離に基づき、タッチが解除されたか否かを判断する。
【００２７】
なお、対象物が投影面上に置かれた（タッチされた）ことの検出は、三次元位置算出部１５２により算出されたカメラ１，２から対象物までの距離が、カメラ１，２から投影面（ＸＹ平面）までの距離と同じか否かにより判断される。つまり、カメラ１，２から対象物までの距離が、カメラ１，２から投影面（ＸＹ平面）までの距離と同じとき、操作判断部１５３は、対象物が投影面上に置かれた（タッチされた）と判断する。一方、カメラ１，２から対象物までの距離が、カメラ１，２から投影面（ＸＹ平面）までの距離未満のときは、操作判断部１５３は、対象物がまだ投影面上に置かれていない（まだタッチされていない）と判断する。なお、カメラ１，２から投影面までの距離は、記憶部１４の所定領域に記憶されているものとする。
【００２８】
位置算出部１５４は、通信Ｉ／Ｆ部１１経由でカメラ１，２により撮像された画像を時系列に取得し、画像に基づいてカメラ１，２から対象物までの距離を算出または補正する。例えば、位置算出部１５４は、操作判断部１５３により、対象物が投影面上に置かれたと検出されてから、対象物が投影面上から離れたと検出されるまでの間、カメラ１，２から対象物までの距離を算出または補正する。位置算出部１５４は、領域決定部１５５と、算出部１５６と、補正部１５７とを有する。
【００２９】
領域決定部１５５は、色情報１４２を参照して、画像における対象物の領域を検出する。例えば、対象物が手である場合、領域決定部１５５は、手の色を示す色情報１４２と、取得した画像における各画素の色とに基づき、手の領域を検出する。色情報１４２としては、例えば、以下の式（３）および式（４）を用いる。なお、式（３）は、画像の画素値がＨＳＶ表色系で示されたときの色相（Ｈ）の値に関する条件を示す。式（４）は、ＨＳＶ表色系で示されたときの彩度（Ｓ）の値に関する条件を示す。
【００３０】
【数３】
2014202540.tif 000005
【数４】
2014202540.tif 000006
【００３１】
領域決定部１５５は、検出した対象物の領域の面積を算出する。例えば、領域決定部１５５は、取得した画像における画素のうち、色に関する条件に該当する画素に「１（黒）」を設定し、該当しない画素に「０（白）」を設定することで、二値画像を生成する。そして、領域決定部１５５は、その領域の画素数を面積として検出する。なお、画像における色がＨＳＶ表色系以外の表色系で表現されている場合、領域決定部１５５は、画像における色をＨＳＶ表色系へ変換する。
【００３２】
算出部１５６は、形状情報１４３を参照して、対象物の領域の形状に基づき、対象物の特徴点を検出する。例えば、対象物が手である場合、算出部１５６は、形状情報１４３に示される指の先端部の形状モデルと、領域決定部１５５により検出された手の領域の形状とのパターンマッチングにより、手の指先部分を検出する。そして、算出部１５６は、カメラ１，２それぞれの二値画像における対象物の特徴点のＸＹ座標を算出する。また、算出部１５６は、前記した式（１）および式（２）に基づき、カメラ１，２から対象物の特徴点までの距離を算出する。
【００３３】
補正部１５７は、対象物の特徴点が投影面（所定のＸＹ平面）に到達した場合に、カメラ１，２から時系列で取得した複数の画像間で対象物の面積の差が所定の閾値以下であるか否かを判断する。例えば、補正部１５７は、カメラ１から取得した所定時刻ｔ−１における画像と、現時刻ｔにおける画像との間で対象物の面積の差が所定の閾値以下であるか否かを判断する。ここで、画像間の対象物の面積の差が所定の閾値以下である場合、補正部１５７は、算出部１５６により算出されたカメラ１，２から対象物の特徴点までの距離を、カメラ１，２から投影面までの距離（基準距離）に補正する。一方、画像間の対象物の面積の差が所定の閾値を超える場合、補正部１５７は、算出部１５６により算出された対象物の距離を、カメラ１，２から対象物の特徴点までの距離とする。このようにして算出または補正された距離の情報に基づいて、操作判断部１５３は、対象物が投影面上に置かれたか、対象物が投影面上から離れたか、投影面に対してどのような操作が行われたか等を判断する。
【００３４】
ここで、補正部１５７が画像間の対象物の面積の差が所定の閾値以下である場合、補正部１５７は、算出部１５６により算出されたカメラ１，２から対象物の特徴点までの距離を、カメラ１，２から投影面までの距離（基準距離）に補正する理由を以下に説明する。
【００３５】
例えば、対象物である手の指先を投影面上（ＸＹ平面上）で左右（Ｘ方向）に動かした場合を考える。図４は、指先の動きによる指先のＸ座標、指先距離、および、手の面積の変化の一例を示す図である。この場合、カメラ１，２で撮影された時系列の画像により、三次元位置算出部１５２により算出される指先のＸ座標およびカメラ１，２から指先までの距離と、領域決定部１５５により算出される手の面積とは、図４に示すような値となる。つまり、指先を左右（Ｘ方向）に移動させているときは、カメラ１，２から指先までの距離は変動するが、手の面積は殆ど変動しない。一方、指先のＸ座標の位置をほぼ固定にした状態で上下（Ｚ方向）に移動させているときは、カメラ１，２から指先までの距離が短くなると、算出される手の面積は大きくなる。また、カメラ１，２から指先までの距離が長くなると、算出される手の面積は小さくなる。
【００３６】
なお、指先を左右（Ｘ方向）に移動させているとき、カメラ１，２から指先までの距離が変動する理由を図３および図５を用いて説明する。図５は、カメラのシャッタータイミングの一例を示す図である。例えば、対象物が投影面上の図３の時刻ｔの位置から、時刻ｔ＋１の位置まで移動した場合に、図５に例示するようにカメラ１，２のシャッタータイミングが異なると、カメラ１，２の視差に変化が生じる。そして、この視差の変化により、二眼スレテオ法で算出されるカメラ１，２から対象物（対象物の特徴点）までの距離Ｚｐが距離Ｚｐ´となってしまう可能性があるからである。
【００３７】
図６は、指先の動きによる指先のＸ座標、指先距離、および、手の面積の変化の一例を示す図である。図６に示すように、映像中Ｔ１〜Ｔ２ (指先を静止させていたシーン)では手の面積も指先距離も殆ど変化していない。ところがＴ２〜Ｔ３ (指先を水平に移動させたシーン)では手の面積は変化していないが、カメラ１，２のシャッタータイミングが異なるため、視差が変化し、カメラ１，２からの指先までの距離が変化している。しかし、指先は投影面上にあるため、実際のカメラ１，２から指先までの距離は変化していない。したがって、補正部１５７は、対象物である手の面積変化が閾値以下であれば、カメラ１，２から指先までの距離を、静止時におけるカメラ１，２から指先までの距離に補正する。つまり、補正部１５７は、カメラ１，２から対象物までの距離を、カメラ１，２から投影面までの距離（基準距離）に補正する。このようにすることで、例えば、操作判断部１５３が、カメラ１，２から対象物までの距離に応じて操作を判断する場合において、操作の誤判断が発生する確率を低減できる。図７は、投影面上における対象物の動きの一例を示す図である。例えば、図７の投影面上のドキュメントが指先でタッチされ、（ａ）から（ｂ）の位置までスライドされたときに、操作判断部１５３において、（ｃ）に示すように指先のタッチが解除されたと判断される可能性を低減できる。
【００３８】
次に、本実施例にかかる情報処理装置１０による、投影面へのタッチからタッチ解析までの処理の流れを説明する。図８は、情報処理装置による、投影面へのタッチからタッチ解析までの処理の手順を示すフローチャートである。ここでは、対象物が手であり、対象物の特徴点が指先であり、情報処理装置１０はカメラ１，２から手の指先までの距離（指先距離）に基づき、投影面へのタッチ解析を行う場合を例に説明する。
【００３９】
まず、情報処理装置１０の操作判断部１５３は、手が投影面上にタッチされたと判断したとき（Ｓ１００肯定）、カメラ１，２により撮影された時系列の画像の取り込みを行う（Ｓ１０１）。一方、操作判断部１５３は、手が投影面上にまだタッチされていないと判断されたときは（Ｓ１００否定）、Ｓ１０１の処理を行わない。そして、操作判断部１５３は、Ｓ１０１の後、画像の取り込みが終了であれば（Ｓ１０２肯定）、処理を終了し、画像取り込みが終了でなければ（Ｓ１０２否定）、位置算出部１５４を起動させる。そして、領域決定部１５５は、色情報１４２を参照して、取り込んだ画像における手の領域の検出を行い（Ｓ１０３）、手の領域の面積Ｓｔを算出する（Ｓ１０４）。次に、補正部１５７は、Ｓ１０４で算出した面積Ｓｔと、基準となる画像の手の領域の面積（基準手領域面積Ｓ）との差である、手の領域の面積変化量ΔＳ＝｜Ｓｔ−Ｓ｜を算出する（Ｓ１０５）。ここでの基準となる画像は、例えば、手が投影面上にタッチされたときの画像を用いる。
【００４０】
次に、算出部１５６は、カメラ１，２からの画像と形状情報１４３とを用いて、手の指先部分の検出を行い、カメラ１，２から手の指先までの距離（指先距離）Ｚｔを算出する（Ｓ１０６）。また、算出部１５６は、手の指先のＸ方向の移動量ΔＸ＝｜Ｘ１−Ｘ２｜を算出する（Ｓ１０７）。ただし、Ｘ１は、現時刻の画像における指先のＸ座標の位置であり。Ｘ２は、前時刻の画像における指先のＸ座標の位置である。
【００４１】
補正部１５７は、指先の移動量ΔＸが所定の閾値ｔｈ１以下であれば（Ｓ１０８肯定）、Ｓ１０９へ進み、基準となる画像におけるカメラ１，２からの指先までの距離（基準指先距離Ｚ）と基準手領域面積Ｓとを更新する。つまり、指先の移動量ΔＸが所定の閾値ｔｈ１以下であれば、指先はほぼ静止状態と判断されるので、補正部１５７は、基準指先距離ＺをＳ１０６で算出された距離Ｚｔに置き換える。また、補正部１５７は、基準手領域面積ＳをＳ１０４で算出された面積Ｓｔに置き換える。そして、Ｓ１１０へ進み、位置算出部１５４は、指先距離を決定する。ここでは、位置算出部１５４は、Ｓ１０６で算出された指先距離Ｚｔを指先距離として決定する。
【００４２】
一方、指先移動量ΔＸが閾値ｔｈ１よりも大きく（Ｓ１０８否定）、面積変化量ΔＳが所定の閾値ｔｈ２（例えば、５０．０ｍｍ２）以下であれば（Ｓ１１１肯定）、Ｓ１１２に進み、補正部１５７は、指先距離Ｚｔに基準指先距離Ｚを代入する。つまり、補正部１５７は、Ｓ１０６で算出された指先距離Ｚｔを、準指先距離Ｚに補正する。すなわち、指先のＸ方向の動きはあるが、手の領域の面積の変化があるということは、指が投影面上に置かれたままＸ方向にスライドされた可能性が高い。よって、補正部１５７は、Ｓ１０６で算出された指先距離Ｚｔを、基準指先距離Ｚに置き換える。そして、Ｓ１１０へ進み、位置算出部１５４は、指先距離を決定する。ここでは、補正部１５７は、基準指先距離Ｚを指先距離として決定する。
【００４３】
また、面積変化量ΔＳが所定の閾値ｔｈ２よりも大きければ（Ｓ１１１否定）、Ｓ１１３に進み、位置算出部１５４は、Ｓ１０６で算出された指先距離Ｚｔを指先距離として採用する。すなわち、手の領域の面積の変化が所定の閾値ｔｈ２よりも大きいということは、手の指先が上下に動いた可能性が高いので、位置算出部１５４は、Ｓ１０６で算出された指先距離Ｚｔを指先距離として採用する。そして、Ｓ１１０へ進み、位置算出部１５４は、Ｓ１０６で算出された指先距離Ｚｔを指先距離として決定する。
【００４４】
Ｓ１１０の後、操作判断部１５３は、Ｓ１１０で決定された指先距離に基づき、投影面への指先のタッチ解析を行う（Ｓ１１２）。つまり、決定された指先距離が、カメラ１，２から投影面までの距離（基準指先距離Ｚ）とほぼ同じであれば、操作判断部１５３は、投影面上に指先がタッチされたままであると判断する。一方、決定された指先距離が、カメラ１，２から投影面までの距離（基準指先距離Ｚ）未満であれば、操作判断部１５３は、投影面上への指先のタッチが解除されたと判断する。これにより、操作判断部１５３は、例えば、投影面上に投影された表示情報１４１（ドキュメントなど）のタッチにより、表示情報１４１が選択されたか否かを判断することができる。
【００４５】
実施例１に開示された技術によれば、情報処理装置１０は、カメラ１，２が非同期カメラであった場合でも、移動中の対象物の、カメラ１，２からの距離についてほぼ正確な値を算出することができる。また、情報処理装置１０は、カメラ１，２から対象物までの距離についてほぼ正確な値を算出できるので、投影面上に投影された表示情報１４１が選択されたか否かの判断について、誤判断が発生する確率を低減できる。さらに、情報処理装置１０は、対象物の投影面上の移動距離が所定の閾値ｔｈ１を超えると判断した場合に、カメラ１，２から対象物までの距離について補正を行うか否かを判断する。つまり、情報処理装置１０は、対象物が投影面上でほぼ静止した状態であるときは、カメラ１，２から対象物までの距離について補正を行うか否かの判断を行わない。よって、情報処理装置１０は、カメラ１，２から対象物までの距離を算出するときの負荷を低減できる。
【実施例２】
【００４６】
さて、これまで開示のシステムに関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、他の実施例を説明する。
【００４７】
情報処理装置１０の操作判断部１５３は、画像における対象物の特徴点のＸＹ座標の位置および投影された表示情報１４１の位置と、前記したタッチ解析の結果とを用いて、表示情報１４１におけるどの情報が選択されたかを判断してもよい。例えば、操作判断部１５３は、指先が投影面上の表示情報１４１（ドキュメントなど）にタッチされていると判断したとき、表示情報１４１におけるタッチされた位置の情報が選択されたと判断する。また、操作判断部１５３は、投影面上の表示情報１４１のタッチが解除されたと判断したとき、この情報の選択が解除されたと判断する。
【００４８】
また、操作判断部１５３は、カメラ１，２から対象物までの距離を用いて、投影面へのタッチおよびタッチの解除を判断することとしたが、これに限定されない。例えば、操作判断部１５３は、カメラ１，２から対象物の距離（Ｚ軸方向の距離）を用いて、様々な操作内容を判断するようにしてもよい。例えば、操作判断部１５３は、カメラ１，２から手までの距離を用いて、手のジェスチャーにより示される操作内容を判断するようにしてもよい。
【００４９】
また、操作判断部１５３は、情報処理装置１０内の構成であるものとして説明したが、情報処理装置１０外にあってもよい。この場合、操作判断部１５３は、通信Ｉ／Ｆ部１１経由で三次元位置算出部１５２や、位置算出部１５４による対象物の位置の算出結果を受信して操作内容を判断する。
【００５０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示す制御部１５の各処理部が適宜統合または分割されてもよい。また、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００５１】
［位置算出プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図９は、位置算出プログラムを実行するコンピュータを示す図である。
【００５２】
図９に示すように、コンピュータ３００は、ＣＰＵ３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３１０〜３４０の各部は、バス４００を介して接続される。
【００５３】
ＲＯＭ３２０には上記実施例の各処理部と同様の機能を発揮する位置算出プログラム３２０ａが予め記憶される。例えば、上記実施例の制御部１５同様の機能を発揮する位置算出プログラム３２０ａを記憶させる。なお、位置算出プログラム３２０ａについては、適宜分離しても良い。
【００５４】
ＨＤＤ３３０は、各種データを記憶する。例えば、ＨＤＤ３３０は、ＯＳや各種データを記憶する。
【００５５】
そして、ＣＰＵ３１０が、位置算出プログラム３２０ａをＲＯＭ３２０から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、位置算出プログラム３２０ａは、実施例の制御部１５と同様の動作を実行する。
【００５６】
なお、上記した位置算出プログラム３２０ａについては、必ずしも最初からＲＯＭ３２０に記憶させることを要しない。位置算出プログラム３２０ａはＨＤＤ３３０に記憶させてもよい。
【００５７】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、Compact  Disk  Read  Only  Memory（ＣＤ−ＲＯＭ）、Digital  Versatile  Disk（ＤＶＤ）、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００５８】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００５９】
１，２      カメラ
３      プロジェクタ
１０    情報処理装置
１１    通信Ｉ／Ｆ部
１２    表示部
１３    入力部
１４    記憶部
１５    制御部
１００  位置算出システム
１４１  表示情報
１４２  色情報
１４３  形状情報
１５１  表示処理部
１５２  三次元位置算出部
１５３  操作判断部
１５４  位置算出部
１５５  領域決定部
１５６  算出部
１５７  補正部
【図１】
2014202540.tif 000007
【図２】
2014202540.tif 000008
【図３】
2014202540.tif 000009
【図４】
2014202540.tif 000010
【図５】
2014202540.tif 000011
【図６】
2014202540.tif 000012
【図７】
2014202540.tif 000013
【図８】
2014202540.tif 000014
【図９】
2014202540.tif 000015