(57)【要約】      （修正有）【課題】操作性を向上させる情報操作表示システム、表示プログラム、および、表示方法を提供する。【解決手段】情報操作表示システム１００は、カメラ１、２とプロジェクタ３と情報処理装置１０とを有する。情報処理装置１０は、カメラ１、２により撮像された撮影画像を取得し、取得された撮影画像に含まれる手指の３次元座標位置を計測する。そして、情報処理装置１０は、計測された手指の３次元座標位置に応じて、手指により選択操作が行われている箇所を示す選択位置確認画像を被操作対象物に表示するようにプロジェクタ３を制御する。【選択図】図２
2014203174.tif 000002
【特許請求の範囲】
【請求項１】
カメラとプロジェクタと情報処理装置とを有する情報操作表示システムであって、
前記情報処理装置は、
前記カメラにより撮像された撮影画像を取得する取得部と、
前記取得部によって取得された撮影画像に含まれる操作対象物の３次元座標位置を計測する計測部と、
前記計測部によって計測された操作対象物の３次元座標位置に応じて、前記操作対象物により選択操作が行われている箇所を示す画像を被操作対象物に表示するように前記プロジェクタを制御する表示部と、
を有することを特徴とする情報操作表示システム。
【請求項２】
前記表示部は、前記操作対象物と前記被操作対象物との距離に応じて、前記画像の輪郭形状を変更させて前記被操作対象物に表示するように前記プロジェクタを制御することを特徴とする請求項１に記載の情報操作表示システム。
【請求項３】
前記表示部は、前記操作対象物と前記被操作対象物との距離に応じて、前記画像の明度を変更させて前記被操作対象物に表示するように前記プロジェクタを制御することを特徴とする請求項１に記載の情報操作表示システム。
【請求項４】
前記表示部は、前記操作対象物と前記被操作対象物との距離に応じて、前記画像の色を変更させて前記被操作対象物に表示するように前記プロジェクタを制御することを特徴とする請求項１に記載の情報操作表示システム。
【請求項５】
前記表示部は、前記操作対象物と前記被操作対象物との距離が遠いほど、前記計測部によって計測された３次元座標位置から離れた位置に前記画像を表示し、前記操作対象物と前記被操作対象物との距離が近くなるほど、前記３次元座標位置から近い位置に前記画像を表示するように前記プロジェクタを制御することを特徴とする請求項１〜４のいずれか一つに記載の情報操作表示システム。
【請求項６】
カメラとプロジェクタと情報処理装置とを有する情報操作表示システムであって、
前記情報処理装置は、
前記カメラにより撮像された撮影画像を取得する取得部と、
前記取得部によって取得された撮影画像に含まれる操作対象物の３次元座標位置を計測する計測部と、
前記計測部によって計測された操作対象物の３次元座標位置を用いて、前記操作対象物の静止状態を検知し、該静止状態から被操作対象物への操作開始または操作終了の指示を検出する検出部と、
前記検出部によって静止状態が検出されている間に、前記操作対象物の静止を指示する情報を報知するように前記プロジェクタを制御する表示部と、
を有することを特徴とする情報操作表示システム。
【請求項７】
前記表示部は、前記操作対象物の静止を指示する情報として、静止状態が完了するまでの進行状況を示す情報を報知するように前記プロジェクタを制御することを特徴とする請求項６に記載の情報操作表示システム。
【請求項８】
カメラにより撮像された撮影画像を取得し、
前記撮影画像に含まれる操作対象物の３次元座標位置を計測し、
前記操作対象物の３次元座標位置に応じて、前記操作対象物により選択操作が行われている箇所を示す画像を被操作対象物に表示するように前記プロジェクタを制御する
処理をコンピュータに実行させることを特徴とする表示プログラム。
【請求項９】
カメラにより撮像された撮影画像を取得し、
前記撮影画像に含まれる操作対象物の３次元座標位置を計測し、
前記操作対象物の３次元座標位置に応じて、前記操作対象物により選択操作が行われている箇所を示す画像を被操作対象物に表示するように前記プロジェクタを制御する
ことを含んだことを特徴とする表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報操作表示システム、表示プログラム、および、表示方法に関する。
【背景技術】
【０００２】
近年、現実の物体にプロジェクタを使ってバーチャル画像を投影させ、現実の物体に関連付けられた注釈やメニューなどを提示する拡張現実技術が知られている。また、このような拡張現実技術において、手指などの操作対象物によるジェスチャを検出し、バーチャル画像などの被操作対象物とのインタラクションを実現するユーザインタフェース技術が利用されている。例えば、バーチャル画像などの被操作対象物の一部に指先で触れるジェスチャを行うことで、被操作対象物の一点を選択する指示を行うことができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】P.  Mistry,  P.  Maes,”Sixth  Sense-A  Wearable  Gestural  Interface.”  In  the  Proceedings  of  SIGGRAPH  Asia  2009,  Emerging  Technologies.  Yokohama,  Japan.  2009
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術では、ユーザが行っている操作の状況をユーザ自身で把握し難く、意図していない入力や出力が装置側に認識されてしまう場合がある。例えば、手指を用いた操作では、細かい場所への指示を与えることが多く、指示している場所が少しでもずれて認識されると、何度もやり直しを行うこととなり、操作性が低下する。
【０００５】
一つの側面では、操作性を向上させる情報操作表示システム、表示プログラム、および、表示方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの案の情報操作表示システムは、カメラとプロジェクタと情報処理装置とを有する情報操作表示システムであって、前記情報処理装置は、前記カメラにより撮像された撮影画像を取得する取得部と、前記取得部によって取得された撮影画像に含まれる操作対象物の３次元座標位置を計測する計測部と、前記計測部によって計測された操作対象物の３次元座標位置に応じて、前記操作対象物により選択操作が行われている箇所を示す画像を被操作対象物に表示するように前記プロジェクタを制御する表示部と、を有することを特徴とする。
【発明の効果】
【０００７】
一実施形態によれば、操作性を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、情報操作表示システムの全体の概略構成の一例を示す図である。
【図２】図２は、実施例１に係る情報処理装置の全体構成を示す図である。
【図３】図３は、作業面の３次元構造を表すデータ例を示す図である。
【図４】図４は、指の座標を表すデータ例を示す図である。
【図５】図５は、指の深度を表すデータ例を示す図である。
【図６Ａ】図６Ａは、選択箇所の表示処理を説明する図である。
【図６Ｂ】図６Ｂは、選択箇所の表示処理を説明する図である。
【図７】図７は、操作者が想定したタッチ位置と装置が検出したタッチ位置とのずれについて説明する図である。
【図８】図８は、指先で選択位置が隠れる場合について説明する図である。
【図９】図９は、手指をＹ方向に移動した場合のアラート線の表示を示す図である。
【図１０】図１０は、実施例１に係る情報処理装置による、選択位置表示処理の手順を示すフローチャートである。
【図１１】図１１は、実施例２に係る情報処理装置の全体構成を示す図である。
【図１２】図１２は、指の静止を指示する表示処理について説明する図である。
【図１３】図１３は、コピー処理完了を示す重畳表示と画像の移動アニメーション表示を示す図である。
【図１４】図１４は、実施例２に係る情報処理装置による、指先の静止指示とコピー選択処理の手順を示すフローチャートである。
【図１５】図１５は、表示プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する情報操作表示システム、表示プログラム、および、表示方法の実施例を、図面に基づいて詳細に説明する。なお、この実施例により開示技術が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１０】
［情報操作表示システムの構成］
図１は、情報操作表示システムの全体の概略構成の一例を示す図である。図１に示すように、情報操作表示システム１００は、カメラ１、２と、プロジェクタ（表示装置）３と、情報処理装置１０とを有する。情報処理装置１０は、カメラ１、２およびプロジェクタ３とネットワーク（図示省略）を介して通信可能に接続される。プロジェクタ３は、所定の投影面上にバーチャル画像を投影する。カメラ１、２は、投影面上に投影された画像と該画像上に置かれた操作対象物（例えば、操作者の手や指）との画像を撮影する。
【００１１】
この情報操作表示システム１００では、プロジェクタ３を投影するための投影面を持ち、投影面上を作業面とすることで作業環境上にバーチャル画像を投影する。プロジェクタと二台のカメラ１、２は、投影面の上方部に、鉛直下向きの方向で設置されている。二台のカメラ１、２は、内部パラメータが等しく既知であり、互いの光軸が平行で、かつ画像中の横軸が同一直線状上になるように配置される。このカメラ１、２により投影面や作業面上の色情報、深度が取得される。またプロジェクタ３によりバーチャル画像が作業面上に投影される。使用者は、ある一方向から手を作業面上に出しインタラクションを行う。
【００１２】
また、情報処理装置１０は、カメラ１、２により撮影された時系列の画像から、操作対象物の三次元位置を算出する。そして、情報処理装置１０は、算出された操作対象物の三次元位置に基づき、ドキュメントなどの被操作対象物に対する操作を判断する。例えば、情報処理装置１０は、ドキュメントのどの情報がタッチ（選択）されたのか、またタッチ（選択）が解除されたのかなどを判断する。なお、カメラ１、２やプロジェクタ３への接続に用いられるネットワークは、有線または無線を問わず、Local  Area  Network（ＬＡＮ）やVirtual  Private  Network（ＶＰＮ）などの任意の通信網が挙げられる。
【００１３】
また、カメラ１、２のシャッタータイミングは必ずしも同じでなくてもよい。つまり、カメラ１、２は非同期カメラであってよい。さらに、情報操作表示システム１００は、カメラを３台以上有していてもよい。また、プロジェクタ３と、情報処理装置１０とはネットワークを介して接続されるものとしたが、接続されていなくてもよい。なお、カメラ１、２による撮影の対象物は、投影されたドキュメントの操作者の手や指である場合を例に説明するが、これに限定されない。例えば、対象物は、ペンや棒などであってもよい。
【００１４】
また、情報操作表示システム１００では、あらかじめカメラ１、２の認識座標系とプロジェクタ３の表示座標系の間の位置合わせ（キャリブレーション）を行う。情報操作表示システム１００では、カメラ１、２とプロジェクタ３の位置関係が変化するたびに、キャリブレーションを一回行う。具体的なキャリブレーションの方法について、プロジェクタ３の出力画像をカメラ１、２で読み取ることで、システム内部でキャリブレーションを実行する方法を説明する。なお、キャリブレーションの方法は、この方法に限らない。また、情報操作表示システム１００では、２台のカメラそれぞれについて、キャリブレーションを実行する。
【００１５】
はじめに、情報操作表示システム１００では、プロジェクタ３の表示座標系において、ある任意の座標値（ｘ＿ｐ，ｙ＿ｐ）にマーカを表示させる。このマーカは、周囲の背景と区別しやすいような任意の色・形状が可能である。そして、カメラ１、２は、投影面に投影させた状況を撮影する。続いて、情報処理装置１０は、マーカを画像処理手法によって読み取る。マーカに円形の模様を用いたときは、例えば「Kimmeら、”Finding  circles  by  an  array  of  accumulators”,  Communications  of  the  Association  for  Computing  Machinery”,  #18,  pp.120-122,  1975.」に開示されるハフ円変換により円形状を読み取るようにすればよい。そして、読み取った際の座標値を（ｘ＿ｉ，ｙ＿ｉ）とする。
【００１６】
情報処理装置１０は、上記したマーカを読み取る処理を任意の場所で４点分繰り返す。そして、情報処理装置１０は、このようにして得られた（ｘ＿ｐ，ｙ＿ｐ）に対応する（ｘ＿ｉ，ｙ＿ｉ）の組４組から、３行３列のホモグラフィ行列Ｈの各成分を８次元連立一次方程式で求める。ここでホモグラフィ行列Ｈとは、三次元空間上のある平面から別の平面への射影変換を表す行列である。ここではカメラ座標平面とプロジェクタ座標平面との対応付けを求める。そして、情報処理装置１０は、以上のようにして求めたホモグラフィ行列を保存しておき、バーチャル画像の投影時に利用する。
【００１７】
［情報処理装置の構成］
次に、図２を用いて、実施例１にかかる情報処理装置１０について説明する。図２は、実施例１に係る情報処理装置の全体構成を示す図である。図２に示すように、情報処理装置１０は、通信Ｉ／Ｆ（インタフェース）部１１と、表示部１２と、入力部１３と、記憶部１４と、制御部１５とを有する。
【００１８】
通信Ｉ／Ｆ部１１は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部１１は、ネットワークを介して各種情報を受信する。例えば、通信Ｉ／Ｆ部１１は、カメラ１、２からドキュメントや操作対象物を撮影した画像を受信する。かかる通信Ｉ／Ｆ部１１の一態様としては、ＬＡＮカードなどのネットワークインタフェースカードが挙げられる。
【００１９】
表示部１２は、各種情報を表示する表示デバイスである。例えば、表示部１２としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスが挙げられる。表示部１２は、各種情報を表示する。例えば、表示部１２は、記憶部１４に格納される各情報を表示する。
【００２０】
入力部１３は、各種の情報を入力する入力デバイスである。例えば、入力部１３としては、マウス、キーボード、タッチセンサなどの入力デバイスが挙げられる。入力部１３は、情報処理装置１０のユーザから入力された情報を制御部１５へ出力する。例えば、入力部１３は、後記する、作業面座標情報１４１、手指座標情報１４２、表示情報１４３などの元となる情報を受け付けると、制御部１５へ出力し、制御部１５経由で記憶部１４に記憶させる。
【００２１】
記憶部１４は、ハードディスク、ＳＳＤ（Solid  State  Drive）、光ディスクなどの不揮発性の記憶装置である。なお、記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory)などのデータを書き換え可能な半導体メモリであってもよい。
【００２２】
記憶部１４は、制御部１５で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。また、記憶部１４は、プログラムで用いられる各種データやプログラムにより生成された各種データを記憶する。例えば、記憶部１４は、作業面座標情報１４１と、手指座標情報１４２と、表示情報１４３とを記憶する。
【００２３】
作業面座標情報１４１は、作業面の三次元形状に関する情報を記憶する。例えば、作業面座標情報１４１は、図３のテーブルに例示されるように、作業面の３次元直交座標として、任意の基準点に対する各画素の座標と、深度の座標とが対応付けられた情報である。
【００２４】
この作業面座標情報１４１は、あらかじめ取得され、記憶された情報である。例えば、情報処理装置１０は、作業面座標情報１４１を取得する方法として、アクティブステレオ法と呼ばれる方法により作業面の三次元形状を事前に取得する。アクティブステレオ法では、物体にプロジェクタ３により既定のパターンを投影し、カメラ１、２で投影パターンの変化を計測することで、物体の三次元形状を取得する方法である。
【００２５】
アクティブステレオ法には、様々な種類があるが、ここでは一例として、例えば、特開昭６０−１５２９０３号公報に記載の空間コード法を用いる。しかし、実現の方法は空間コード法に限らない。この空間コード法では、プロジェクタ３における全画素の座標をＩＤとして明暗をパターン化し複数回投影する。その結果を用い、三角測量によりプロジェクタ３の各画素に対する深度［ｍ］を得る。
【００２６】
手指座標情報１４２は、計測部１５２によって計測された操作対象物である手指の３次元座標位置に関する情報である。手指座標情報１４２は、図４のテーブルに例示されるように、５本の指を識別するために付与された番号である「指Ｎｏ．」と、各指の座標を示す「指の座標」とが対応付けられた情報である。この例では片手で手を広げた場合における、二つのカメラ１、２それぞれでの各指の先端部の座標が単位：pixelで表されている。なお、指の押下の際は最低限一本の指が認識できれば後の処理が可能である。
【００２７】
例えば、手指座標情報１４２は、ユーザが片手で指を広げた場合における、２台のカメラ１、２それぞれが撮像する画像から算出される各指先の指先座標が、指先ＩＤと対応付けられて格納される。指先ＩＤは、例えば、横方向の座標の小さい順に付与されればよい。なお、各指先画素の座標の基準点は、例えば、画像の左上端と規定することができる。
【００２８】
また、手指座標情報１４２は、図５のテーブルに例示されるように、「指Ｎｏ．」と、ユーザの指先の深度を示す「深度」とが対応付けられた情報である。例えば、図５のテーブルにおいて、指先ＩＤは、図４のテーブルの指先ＩＤと同一のＩＤが付与され、各指先ＩＤに対応する深度が格納される。
【００２９】
表示情報１４３は、プロジェクタ３により表示される、手指により選択操作が行われている箇所を示す画像に関する情報を記憶する。表示情報１４３は、表示部１５３が手指により選択操作が行われている箇所を示す画像を表示する際に参照される情報である。
【００３０】
制御部１５は、情報処理装置１０を制御するデバイスである。制御部１５としては、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用できる。制御部１５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部１５は、各種のプログラムが動作しており、各種の処理部として機能する。制御部１５は、取得部１５１と、計測部１５２と、表示部１５３とを有する。
【００３１】
取得部１５１は、カメラ１、２により撮像された撮影画像を取得する。例えば、取得部１５１は、毎秒所定回（例えば、６０回）２台のカメラ１、２からの画像を取得する。
【００３２】
次に、取得部１５１は、取得されたそれぞれの画像に対して、手指の位置検出を行う。手指の位置を検出する方法は、例えば、特開２００３−３４６１６２号公報に記載された、画像処理により画像のみから手指位置を推定する手法を用いてもよい。
【００３３】
また、情報処理装置１０では、あらかじめ手の形状に関する学習データを保持しておき、現時点での画像と学習データの間の類似度を計算して手指形状を推定する方法を用いてよい。なお、現時点での画像と学習データの間の類似度を計算して手指形状を推定する方法については、例えば、「山下ら、『３次元Active  Appearance  Modelを用いた手形状認識』画像の認識・理解シンポジウム、MIRU2012,  IS3-70,  2012-08」に記載されている。以下では、画像処理により画像のみから手指位置を推定する手法を用いて以降の説明を行う。この方法では、入力画像から肌色部分を抜き出し手領域を抽出する。その後、手の本数を認識し、手領域の輪郭から指先座標の推定を行う。
【００３４】
次に、取得部１５１は、手指の有無の判定を行う。ここでは、手指の位置検出の出力データが存在するか否かをチェックし、もし出力データが無い場合、前フレームのバーチャル画像を同じ場所に表示することで現フレームの処理を終える。
【００３５】
計測部１５２は、取得部１５１によって取得された撮影画像に含まれる操作対象物の３次元座標位置を計測する。例えば、計測部１５２は、操作対象物として、手指の３次元座標位置を算出する。ここではステレオカメラによる手指の座標算出について説明する。計測部１５２は、三角測量の原理により、３次元空間の奥行き方向の深度Ｚについて、二台のカメラの間の線分の長さ（基線長）をｂ、カメラの焦点距離をｆ、左右の対応する二次元座標をそれぞれ（ｕ，ｖ），（ｕ’，ｖ’）として、以下の（１）式で求める。なお、３次元空間の奥行き方向の深度Ｚの算出方法については、例えば「『ディジタル画像処理』CG-ARTS協会編、pp.259」に記載されている。
【００３６】
【数１】
2014203174.tif 000003
【００３７】
そして、計測部１５２は、（１）式を用いて、各指の頂点部分の深度を推定する。また、計測部１５２は、左右のカメラ１、２で横方向の座標の小さい順に、指先部分に番号を振る。そして、計測部１５２は、番号の同じ指先点同士を対応点と見なし、それぞれの対応点について上式に代入してＺを得る。計測部１５２は、推定された手指の深度を記憶部１４に格納する。なお、ｆを算出するためのカメラの内部パラメータ推定には、例えば、「Zhangら、”A  flexible  new  technique  for  camera  calibration”,  IEEE  Transactions  on  Pattern  Analysis  and  Machine  Intelligence,  22(11),  pp.1330-1334,  2000.」に記載のキャリブレーション方法を用いることができる。
【００３８】
次に、計測部１５２は、押下判定を行う。ここでは、指の作業面との接触を検知することで押下判定を行う例を挙げる。あらかじめ前述のように、実行開始時にアクティブステレオ法により作業面の深度を計測しておき、計測部１５２は、指の深度がドキュメント面の深度に対する閾値範囲内に収まっているときに押下されたことを検知する。複数の指の深度が閾値範囲内に収まっている場合は、複数の指が押下しているものとみなす。また、複数の指の深度が閾値範囲内に収まっていない場合、前フレームのバーチャル画像を同じ場所に表示することで現フレームの処理を終える。
【００３９】
表示部１５３は、計測部１５２によって計測された手指の３次元座標位置に応じて、手指により選択操作が行われている箇所を示す選択位置確認画像をバーチャル画像が投影された被操作対象物に表示するようにプロジェクタ３を制御する。
【００４０】
表示部１５３は、指が空中に浮いている状態から、作業面の選択位置を示す選択位置確認画像を表示する。例えば、図６Ａ、図６Ｂの例では、指先の検出位置を作業面に中心点として投影し、その周囲に円の大きさで作業面から指の高さを示している。図６Ａの例では、指先が作業面から遠いため、円を大きく表示している。また、図６Ｂの例では、指先が作業面から近いため、円を小さく表示している。このため、使用者は、中心点を目的の指示位置に合せながら作業面に触れることで正確に作業位置を指示できる。
【００４１】
つまり、従来では、例えば、図７に例示するように、使用者がＡ点で指示しているつもりであるが、装置側はＢ点を指示された点として認識しており、数ミリから１センチ程度のずれが発生することがあった。使用者は、自分の意図した位置が指示できていないことを、コピーされた画像などを見て確認し、再度位置を指示し直すという作業を繰り返し、最終的に意図したコピー結果を得る。こうした意図のずれた操作は、使い勝手を大きく損ない、作業効率を低下させていた。このため、情報操作表示システム１００では、装置が使用者の指の検出結果を使用者に可視化して示すことで、使用者の意図と装置検出結果のずれを低減させることができ、作業効率を向上させることができる。
【００４２】
表示部１５３は、表示場所に関しては、あらかじめ得られているカメラ認識座標系とプロジェクタ３の表示座標系との間のホモグラフィ行列から、以下の（２）式および（３）式により選択位置確認画像を投影するプロジェクタ平面中の座標を決定する。（ｘ＿ｓｒｃ，ｙ＿ｓｒｃ）をカメラ認識座標系での表示位置の中心座標、（ｘ＿ｄｓｔ，ｙ＿ｄｓｔ）をプロジェクタ３表示座標系での表示位置の中心座標とする。またｈ＿１１からｈ＿３３までの各成分は、上記キャリブレーションで得られているホモグラフィ行列の逆行列Ｈ＾−１である。指の座標は、図４に例示した情報を用い、深度に応じて、選択位置確認画像の輪郭形状を変更させて表示する。例えば、図６Ａ、図６Ｂに例示するように円の大きさを変化させる。
【００４３】
【数２】
2014203174.tif 000004
【００４４】
【数３】
2014203174.tif 000005
【００４５】
ここで、深度に応じて円の大きさを決定する方法を以下に示す。表示部１５３は、作業面の深度をＬ、指先の深度をＺとして、円の半径ｒを式「ｒ＝α（Ｌ−Ｚ）＋ｂ」により求める。α、ｂは、任意の値を設定可能である。また、指先が作業面に触れると、ｒ＝ｂとなる。
【００４６】
また、指先の深度に応じた選択位置確認画像の表示方法は、円に限らない。例他の例としては、深度に応じて明度を変化させ、遠いほど暗く、近いほど明るく表示してもよい。また、他の例としては、深度に応じて色を変化させ、遠いほど赤く、近いほど青く表示してもよい。
【００４７】
ここで、図８に例示するように、プロジェクタ３の光が指先で隠れ作業面に選択位置を表示できないケースが発生する場合がある。特に中心点を表示できない場合は、選択位置が分からなくなってしまう。これは、選択位置を指先の少し内側に設定した場合の他、指が速く動いた場合に、表示の追従が遅れた場合にも発生する。また、指先検出の誤差等によっても発生する可能性がある。
【００４８】
そこで、指先が空中に浮いている間は確実に選択位置が表示されるように、表示位置にオフセットをかけて位置をずらし、指先で隠れないようにすることが可能である。表示部１５３は、作業面に近づいたときにオフセットがあると、間違った位置を選択するため、指先の深度によってオフセットを変化させ、作業面に近いほどオフセットを小さく表示する。
【００４９】
例えば、１例として、Ｙ座標方向にオフセットを与える場合、作業面の深度をＬ、指先の深度をＺとして、オフセット量Ｙｏｓを式「Ｙｏｓ＝α（Ｌ−Ｚ）＋ｂ」により算出する。ここでα、ｂは、任意の値を設定可能であり、ｂ＝０とすると指先が作業面に触れた場合にオフセットがゼロとなる。
【００５０】
オフセットにより改善された結果を図９に示す。オフセット量の一例としては、選択位置を表示する円の半径（ｒ）である。指先の深度に応じて、円の大きさ、オフセット量が変化する。深度が大きいほど、円の半径、オフセット量も大きくなる。これにより、円全体および中心点も常に表示され利用者は選択位置を認識しやすくなる。
【００５１】
［情報処理装置による処理］
次に、図１０を用いて、実施例１に係る情報処理装置１０による処理を説明する。図１０は、実施例１に係る情報処理装置による、選択位置表示処理の手順を示すフローチャートである。
【００５２】
図１４に示すように、情報処理装置１０の取得部１５１は、カメラ１、２により撮像された撮影画像を取得する（ステップＳ１０１）。例えば、取得部１５１は、毎秒６０回、２台のカメラ１、２からの画像を取得する。続いて、取得部１５１は、撮影画像の中から手指領域のみを検出する。
【００５３】
そして、取得部１５１は、撮影画像の中から手指領域のみを抽出する（ステップＳ１０２）。例えば、取得部１５１は、画像における各画素の色情報、および抽出するための色に関する条件に基づき、肌色領域を検出し、撮影画像の中から手指領域のみを抽出する。
【００５４】
そして、取得部１５１は、手指の位置検出の出力データの有無を判定する（ステップＳ１０３）。この結果、取得部１５１によって手指の出力データがないと判定された場合には（ステップＳ１０３否定）、ステップＳ１０６の処理に移る。この場合には、表示部１５３は、現フレームの処理として、前フレームのバーチャル画像を同じ場所に表示する表示更新処理を行う（ステップＳ１０６）。
【００５５】
また、取得部１５１によって手指の出力データがあると判定した場合には（ステップＳ１０３肯定）、計測部１５２は、手指の３次元座標を算出する（ステップＳ１０４）。そして、表示部１５３は、手指により選択操作が行われている箇所を示す選択位置確認画像を被操作対象物に重畳表示する位置を決定する（ステップＳ１０５）。例えば、表示部１５３は、表示場所に関しては、あらかじめ得られているカメラ認識座標系とプロジェクタ３の表示座標系との間のホモグラフィ行列から、上記した（２）式および（３）式により選択位置確認画像を投影するプロジェクタ平面中の座標を決定する。
【００５６】
そして、表示部１５３は、選択位置確認画像を被操作対象物に重畳表示する位置を決定すると、該位置に選択位置確認画像を表示する表示更新処理を行う（ステップＳ１０６）。続いて、計測部１５２は、押下判定を行う（ステップＳ１０７）。例えば、計測部１５２は、指の作業面との接触を検知することで押下判定を行う。
【００５７】
この結果、計測部１５２は、押下が検出されなかったと判定した場合には（ステップＳ１０７否定）、ステップＳ１０１の処理に戻る。また、計測部１５２は、押下が検出されたと判定した場合には（ステップＳ１０７肯定）、一定時間手指が静止したか判定する（ステップＳ１０８）。この結果、計測部１５２は、一定時間手指が静止しなかったと判定した場合には（ステップＳ１０８否定）、ステップＳ１０１の処理に戻る。また、計測部１５２は、一定時間手指が静止したと判定した場合には（ステップＳ１０８肯定）、指先にピッタリ重なるように選択位置確認画像が移動するようにプロジェクタ３に表示させる（ステップＳ１０９）。なお、選択位置確認画像が移動する際に、「ピッ」という音を出力してもよい。その後、計測部１５２は、手指のジェスチャから操作内容を検出し（ステップＳ１１０）、処理を終了する。
【００５８】
[実施例１の効果]
上述してきたように、情報操作表示システム１００は、カメラ１、２とプロジェクタ３と情報処理装置１０とを有する。情報処理装置１０は、カメラ１、２により撮像された撮影画像を取得し、取得された撮影画像に含まれる手指の３次元座標位置を計測する。そして、情報処理装置１０は、計測された手指の３次元座標位置に応じて、手指により選択操作が行われている箇所を示す選択位置確認画像を被操作対象物に表示するようにプロジェクタ３を制御する。このため、使用者の意図と違う入力を低減し、操作ミスの低減や操作性の向上を図ることが可能である。
【００５９】
また、情報処理装置１０は、手指と被操作対象物との距離に応じて、選択位置確認画像の輪郭形状を変更させて被操作対象物に表示するようにプロジェクタ３を制御する。このため、使用者は、中心点を目的の指示位置に合せながら作業面に触れることで正確に作業位置を指示することが可能である。
【００６０】
また、情報処理装置１０は、手指と被操作対象物との距離に応じて、選択位置確認画像の明度を変更させて被操作対象物に表示するようにプロジェクタ３を制御する。このため、操作者に対して選択位置確認画像を視認しやすくすることができ、正確に作業位置を指示することが可能である。
【００６１】
また、情報処理装置１０は、手指と被操作対象物との距離に応じて、選択位置確認画像の色を変更させて被操作対象物に表示するようにプロジェクタ３を制御する。このため、操作者に対して選択位置確認画像を視認しやすくすることができ、正確に作業位置を指示することが可能である。
【００６２】
また、情報処理装置１０は、手指と被操作対象物との距離が遠いほど、計測された３次元座標位置から離れた位置に選択位置確認画像を表示する。また、情報処理装置１０は、手指と被操作対象物との距離が近くなるほど、３次元座標位置から近い位置に選択位置確認画像を表示するようにプロジェクタ３を制御する。これにより、プロジェクタ３の光が指先で隠れ作業面に選択位置確認画像を表示できなくなることを防止し、円全体および中心点も常に表示され利用者は選択位置を認識しやすくすることが可能である。
【実施例２】
【００６３】
ところで、上記の実施例１では、指が空中に浮いている状態から、作業面の選択位置を示す選択位置確認画像を表示することで、正確に作業位置を指示できる場合を説明したが、実施例は、これに限定されるものではない。例えば、情報処理装置は、手指の静止状態を検知し、該静止状態から被操作対象物への操作開始または操作終了の指示を検出し、静止状態が検出されている間に、手指の静止を指示する情報を報知してもよい。
【００６４】
従来では、例えば、コピー範囲を指定する場合に、指先の深度と作業面の深度が閾値以下となったときに、コピー範囲指定の開始位置を決定し、閾値以上となったときに終了を決定していた。しかし実際には、深度の検出精度が十分でない場合には、閾値を大きくする必要があり、一例としては５ｍｍほどとなる。その場合は、深度に加え、指先のＸ座標、Ｙ座標の動きを監視し、指先が一定時間静止した状態と深度の閾値とを組み合せて接触状態、つまり押下操作を検出する。
【００６５】
しかし使用者が、指先を静止される時間を把握していない場合には、使用者は押下したつもりでも、装置は押下を検出していないと判断し、使用者は結果を見ながら何度も、同じ動作を繰り返す場合がある。そこで、装置が押下を判断した結果や、判断するまでに必要な時間を作業面に表示して、使用者に一定時間、指先の静止を促すことが有効である。
【００６６】
そこで、以下の実施例２では、静止状態が検出されている間に、手指の静止を指示する情報を報知場合として、図１１〜図１４を用いて、実施例２における情報操作表示システム１００Ａの構成と処理について説明する。
【００６７】
まず、図１１を用いて、実施例２における情報操作表示システム１００Ａの情報処理装置１０Ａの構成について、図２に示した情報処理装置１０と比較して説明する。情報処理装置１０Ａは、図２に示した情報処理装置１０と比較して、検出部１５４を有する点が相違する。かかる情報処理装置１０Ａにおいて、検出部１５４は、計測部１５２によって計測された操作対象物の３次元座標位置を用いて、手指の静止状態を検知し、該静止状態から被操作対象物への操作開始または操作終了の指示を検出する。
【００６８】
表示部１５３は、検出部１５４によって静止状態が検出されている間に、手指の静止を指示する情報を報知するようにプロジェクタ３を制御する。また、表示部１５３は、手指の静止を指示する情報として、静止状態が完了するまでの進行状況を示す情報を報知するようにプロジェクタ３を制御する。
【００６９】
ここで、図１２を用いて、指の静止を指示する表示処理について説明する。図１２は、指の静止を指示する表示処理について説明する図である。図１２に示すように、使用者の操作としては、コピー範囲を指定するため、開始位置で指先を使って押下し、矩形の対角線で終了位置を指定し指を外す。そこで、表示部１５３は、開始位置において、押下を検出までの一定時間経過後に、押下を検出した旨を表す画像を表示する。例えば、表示部１５３は、図１２に例示するように、「ＣＯＰＹ」という文字を表示するようにプロジェクタ３を制御する。
【００７０】
また、図１２に例示するように、終了位置に到達したら、静止を促すための経過表示を行う。例えば、表示部１５３は、図１２に例示するように、選択領域の開始位置から終了位置までを数秒かけて重畳表示で塗りつぶす表示を行うようにプロジェクタ３を制御する。
【００７１】
また、表示部１５３は、図１３に例示するように、塗りつぶしの完了が検出完了した場合には、完了した旨を示すために、コピーした画像をコピー元に重畳表示し、保存領域に移動するアニメーション表示を行うようにプロジェクタ３を制御する。図１３は、コピー処理完了を示す重畳表示と画像の移動アニメーション表示を示す図である。
【００７２】
次に、図１４を用いて、実施例２にかかる情報処理装置１０Ａによる、指先の静止指示とコピー選択処理について説明する。図１４は、実施例２に係る情報処理装置による、指先の静止指示とコピー選択処理の手順を示すフローチャートである。
【００７３】
まず、情報処理装置１０Ａは、手指による押下を検出すると（ステップＳ２０１）、手指が一定時間静止したか否かを判定する（ステップＳ２０２）。この結果、情報処理装置１０Ａは、一定時間静止していないと判定した場合には（ステップＳ２０２否定）、そのまま処理を終了する。また、情報処理装置１０Ａは、一定時間静止した場合には（ステップＳ２０２肯定）、始点、すなわち押下を検出した旨を表す画像を表示する（ステップＳ２０３）。例えば、情報処理装置１０Ａは、図１２に例示するように、「ＣＯＰＹ」という文字を表示するようにプロジェクタ３を制御する。
【００７４】
そして、情報処理装置１０Ａは、指先の移動を検出すると（ステップＳ２０４）、指先の静止を検出したか否かを判定する（ステップＳ２０５）。この結果、情報処理装置１０Ａは、指先の静止を検出しなかった場合には（ステップＳ２０５否定）、処理を終了する。一方、情報処理装置１０Ａは、指先の静止を検出した場合には（ステップＳ２０５肯定）、塗りつぶし表示を更新する（ステップＳ２０６）。例えば、情報処理装置１０Ａは、選択領域の開始位置から終了位置までを数秒かけて重畳表示で塗りつぶす表示を行うようにプロジェクタ３を制御する。
【００７５】
そして、情報処理装置１０Ａは、塗りつぶしが終点位置に到達したか否かを判定する（ステップＳ２０７）。この結果、情報処理装置１０Ａは、塗りつぶしが終点位置に到達しなかった場合には（ステップＳ２０７否定）、ステップＳ２０５の処理に戻る。また、情報処理装置１０Ａは、塗りつぶしが終点位置に到達した場合には（ステップＳ２０７肯定）、コピー画像の重畳表示を行うようにプロジェクタ３を制御する（ステップＳ２０８）。そして、情報処理装置１０Ａは、コピー画像の移動アニメーションを表示する（ステップＳ２０９）。例えば、情報処理装置１０Ａは、コピーした画像をコピー元に重畳表示し、保存領域に移動するアニメーション表示を行うようにプロジェクタ３を制御する。
【００７６】
このように実施例２によれば、情報操作表示システム１００Ａは、カメラとプロジェクタと情報処理装置とを有する。情報処理装置１０Ａは、カメラ１、２により撮像された撮影画像を取得し、取得された撮影画像に含まれる操作対象物の３次元座標位置を計測する。そして、情報処理装置１０Ａは、計測された操作対象物の３次元座標位置を用いて、手指の静止状態を検知し、該静止状態から被操作対象物への操作開始または操作終了の指示を検出する。そして、情報処理装置１０Ａは、静止状態が検出されている間に、手指の静止を指示する情報を報知するようにプロジェクタ３を制御する。このため、使用者に一定時間、指先の静止を適切に促すことが可能である。
【００７７】
また、実施例２によれば、情報処理装置１０Ａは、手指の静止を指示する情報として、静止状態が完了するまでの進行状況を示す情報を報知するようにプロジェクタ３を制御する。このため、使用者に指先の静止を促しつつ、静止状態が完了するまでの進行状況を報知することが可能である。
【００７８】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示す取得部１５１、計測部１５２、表示部１５３の各処理部が適宜統合または分割されてもよい。また、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７９】
［プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図１５は、表示プログラムを実行するコンピュータを示す図である。
【００８０】
図１５に示すように、コンピュータ３００は、ＣＰＵ３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３１０〜３４０の各部は、バス４００を介して接続される。
【００８１】
ＲＯＭ３２０には上記実施例の各処理部と同様の機能を発揮する表示プログラム３２０ａが予め記憶される。例えば、上記実施例の制御部１５同様の機能を発揮する表示プログラム３２０ａを記憶させる。なお、表示プログラム３２０ａについては、適宜分離しても良い。
【００８２】
ＨＤＤ３３０には、各種データを記憶する。例えば、ＨＤＤ３３０は、ＯＳや各種データを記憶する。
【００８３】
そして、ＣＰＵ３１０が、表示プログラム３２０ａをＲＯＭ３２０から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、表示プログラム３２０ａは、実施例の制御部１５と同様の動作を実行する。
【００８４】
なお、上記した表示プログラム３２０ａについては、必ずしも最初からＲＯＭ３２０に記憶させることを要しない。表示プログラム３２０ａはＨＤＤ３３０に記憶させてもよい。
【００８５】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、Compact  Disk  Read  Only  Memory（ＣＤ−ＲＯＭ）、Digital  Versatile  Disk（ＤＶＤ）、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８６】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００８７】
１、２      カメラ
３      プロジェクタ
１０    情報処理装置
１１    通信Ｉ／Ｆ部
１２    表示部
１３    入力部
１４    記憶部
１５    制御部
１００  情報操作表示システム
１４１  作業面座標情報
１４２  手指座標情報
１４３  表示情報
１５１  取得部
１５２  計側部
１５３  表示部
１５４  検出部
【図１】
2014203174.tif 000006
【図２】
2014203174.tif 000007
【図３】
2014203174.tif 000008
【図４】
2014203174.tif 000009
【図５】
2014203174.tif 000010
【図６Ａ】
2014203174.tif 000011
【図６Ｂ】
2014203174.tif 000012
【図７】
2014203174.tif 000013
【図８】
2014203174.tif 000014
【図９】
2014203174.tif 000015
【図１０】
2014203174.tif 000016
【図１１】
2014203174.tif 000017
【図１２】
2014203174.tif 000018
【図１３】
2014203174.tif 000019
【図１４】
2014203174.tif 000020
【図１５】
2014203174.tif 000021