(57)【特許請求の範囲】
【請求項１】
同一直線上に等間隔で配置され所定の色を有する３個のビーズを備えるワンドのビデオ画像から予め選択した自由空間におけるワンドの位置を決定する方法であって、
ビデオカメラ装置のビュー面上のワンドのビデオ画像をキャプチャして、前記画像を前記ビーズの相対的位置を含むフレームメモリによって表す、ビデオ画像キャプチャステップと、
前記ビュー面上における画素値が前記ビーズの色又は色相と一致するか否かを決定することによって前記ビーズを検出するステップと、
前記ビュー面上のビーズの中心を決定するとともに、それらの中心間の相対的間隔を決定するステップと、
前記相対的間隔と前記ビデオ画像を生成する既知のカメラ装置ジオメトリとに基づいて、自由空間におけるビーズの座標位置を計算するステップと、
を含む、
ことを特徴とする方法。
【請求項２】
物体が、同一直線上に等間隔に配置され所定の色を有する複数の目印を備え、且つ、ビデオカメラが既知の装置ジオメトリを有し、前記ビデオカメラ内にキャプチャされた画像から３次元自由空間における予め選択した物体の位置とポインティング方向を識別する装置であって、
前記画像の画素表現を含むフレームメモリと、
前記画素表現からビュー面内における前記目印の相対的位置を検出し、前記相対的位置と前記既知の装置ジオメトリから前記自由空間における前記物体の前記目印の対応する座標位置を計算するプロセッサと、
を具備し、
前記プロセッサが、前記画素表現における画素値が前記目印の色又は色相と一致するか否かを決定することによって前記目印を検出する、
ことを特徴とする装置。
【請求項３】
前記物体は、さらに、物体のポインティング方向を示すアライメント・インジケータを含んでいることを特徴とする請求項２に記載の装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般には現実世界の物体たとえばポインティング・ワンドを観測して、対話する方法および装置に関するものである。ワンドのポインティング方向は物体のビデオカメラ画像からコンピュータ装置で検出することができる。より詳細には、物体は、ポインティング方向を表すアライメント・インジケータと、少なくとも等間隔で配置された同一直線上の３つの点（それらの相互間隔距離は知られている）を有している。ビデオカメラによる物体の観察は、既知のカメラの幾何学的寸法と組み合って、物体の２次元投射像を自由空間における物体の３次元座標定義へ変換する基礎になる。本発明は、特に、ユーザーから処理装置へデータまたは命令を送るインタフェースとして、３次元物体たとえばポインティング・ワンドを使用することが意図されている処理装置に応用することができる。しかし、この分野の専門家は、本発明が、たとえば通信または他の通報の目的で３次元像形成または表示方法を使用することが有利である他の環境において使用する場合にも容易に適応できることを理解されるであろう。
【０００２】
【従来の技術】
ＰＣワークステーションの至る所での使用と、そのようなワークステーションがデータの入力と通信のためますますビデオカメラを装備するであろうという事実は、そのような通信を具体化する装置およびインタフェース・ツールに入力されるデータの性質および形式を拡張する機会を与える。
【０００３】
ここ数年の間に、コンピュータ生成画像の３次元ビューを提供することが可能になった。これは見る人の各眼に異なるビューを与えることによって行われる。これを行う１つの方法は、見る人の左右の眼から一方の画像または他方の画像を同期して隠す特殊ＬＣＤシャッタ眼鏡を着用しているときに、ＣＲＴディスプレイ上の２つのビューを時間を合わせて交互にすることである。各眼に対し異なるビューを与える別の方法、たとえばヘッドマウント型ディスプレイも入手可能である。このディスプレイ技術の助けを借りて、ユーザーは自分の眼の前に浮遊する３次元の仮想構造体を見ることができる。しかし、ユーザーはそのような構造体と対話したい、あるいは構造体上の場所を指し示したい、あるいは構造体に加えたいと思うであろう。そのような対話をするには、３次元位置決定装置が最も役に立つであろう。３次元位置決定装置は、表面的には、見る人と装置ディスプレイの間で３次元空間内の指示された位置をコンピュータに提供することができる。
【０００４】
【発明が解決しようとする課題】
そのような位置決定装置と対話することに伴う独特な問題は、３次元における装置の位置と向きの識別である。単一のカメラは２次元ビュー面をもつだけである。複数のカメラによって必要な３次元データ入力を提供することができるが、相対的カメラ位置の調整に加えて、２個以上のカメラを準備する費用は、単一のカメラ装置を開発する動機になる。
【０００５】
【課題を解決するための手段】
本発明は、多くの現行ＰＣワークステーションにおいて現在容易に入手できる形式の単一のビデオカメラからのキャプチャされた画像に基づいて、位置およびポインティング方向を３次元表現する対話ツールを考えている。
【０００６】
本発明は、インタフェース・ツール、たとえば仮想画像がユーザーに見える３次元自由空間におけるワンドの位置とポインティング方向を指示するワンドの位置を識別する方法および装置を提供する。ワンドは画像と対話するインタフェース・ツールから成っている。ワンドの位置とポインティング方向は、ビデオカメラ装置内のワンドの代表的な画像から決定される。ワンドは、アライメント・インジケータと、ビデオカメラのビュー面に投射される少なくとも等間隔に配置された同一直線上の３つの点から成っている。同一直線上の３つの点の相対的位置は、アライメント・インジケータからの点のアライメントと同様に、ビュー面において検出される。自由空間における実物体の対応する座標位置は、検出した相対的位置と既知のカメラの幾何学的寸法に基づいて計算される。詳細には、自由空間における物体位置とビュー面間の物体距離はビュー点とビュー面間の距離を使用して計算される。
【０００７】
本発明のもう１つの特徴に従って、検出は、画像を表現しているフレームメモリ上の点の画素位置を検出することから成っている。
【０００８】
本発明のより限定された特徴に従って、３つの点は、特定の自由空間における予想背景のセッティングから容易に区別できる所定の色相の３つのビーズから成っている。
【０００９】
【発明の実施の形態】
以下、図面を参照して説明するが、図は発明の好ましい実施例および代替実施例を明らかにするためだけのものであって、限定するためのものではない。発明は、特殊なワンドＷ（図２）と、ビデオカメラ１０、ビデオキャプチャハードウェア１２、および３次元自由空間におけるワンドの位置を識別するコンピュータ１４（図１）を用いて仕事をするソフトウェア・モジュール（図３）から成っている。ワンドは、その上に３つのビーズ（両端に２つ（１６、１８）と、中央に１つ（２０））をもつ棒である。ビーズは、自由空間における典型的な背景から装置が容易に区別できる特有の色すなわち色相（たとえば、蛍光グリーン）が与えられている。ビーズは、キャプチャされたビデオ画像の中で容易に見える程度に大きくなければならないが、取り扱うのが難しいほど大きくなくてもよい。ある種の手段、たとえばワンドＷのポインティング方向のためのアライメント・インジケータとして役目を果たすことができる異なる色またはしるしを連結棒の各半分に付けることによって、ワンドの一端と他端を区別することができる。
【００１０】
ビデオキャプチャ・ハードウェア１２は、コンピュータ上でランしているソフトウェアで分析できる一連のキャプチャされたビデオ画像を生成する。図３に、分析ソフトウェアのためのソフトウェア・モジュールのブロック図を示す。
【００１１】
ソフトウェア処理の第１ステップは、画像の中のビュー面上のビーズの位置を決定すること（２４）である。これは、フレームメモリ上の画像の画素値を調べて、それらがビーズの色と一致するかどうかを決定することによって行われる。ビーズのオストワルト純色(full color)と突き合わせようとする代わりに、色相の一致のみを調べることができる。これにより、照明の変動に起因する「けられ（shading）」の問題は解決する。色が輝度／クロミナンス色空間（たとえば、YES、 L*a*b* 、またはL*u*v* ） で表現されている場合は、色相はクロミナンス成分の比として定義できる。ビーズがカメラに対し十分に大きく、かつ十分に近く、複数画素区域を覆っている場合には、すべての画素を検査する必要はない。次に、各ビーズサイズ区域において少なくとも１個のサンプルの割合で画像をサンプルすることができる（ビーズを確実に見つけるには、この割合の約２倍にすることが好ましい）。実際のサンプル率は装置のプロパーティによって決まる。図４に、画像のサンプリングを示す。各“＋”（４０）はビーズを見つけ出すことができるようにフレームメモリ４２からのサンプリング点を表す。
【００１２】
ビーズが見つかったら、次のステップは、ビーズの中心の位置を決定すること（２６）である。これは、要求された色相を持つ領域内のすべての画素の質量中心を見つけ出すことによって行うことができる。たとえば、ビーズの位置に中心がある最大予想ビーズの直径の２倍の辺長をもつ正方形内の各画素を調べて、色相テストを満たしている正方形内のすべての画素について平均位置を見つけ出すことができるであろう。図５に、この方法を示す。代案として、ビーズ位置の決定でスタートし、隣接画素を「フラッドフィル(flood-fill) 」状に調べて、要求された色相をもつ画素の位置を決定することができるであろう。たとえば、開始点から左および右にステップし、ビーズの色相に一致していない値に達するまで、画素を集めることができるであろう。このビーズ画素のランの中心から、走査線を上に位置を変えて、処理を繰返すことができる。ビーズ着色画素のない走査に遭遇するまで、上に位置を変えることを続けることができる。同様に，ビーズ着色画素をもはや見つけ出すことができなくなるまで、下の画素へ位置を変えることができるであろう。画素を集めることは、平均位置を計算できるように、画素のｘ位置およびｙ位置をそれぞれ合計することを意味する。
【００１３】
ビーズ画素の中心を見つけたら、中心点が予想されるように一定の公差内で事実上同一直線上にあるかどうかを決定するテストを実行することができる。もし点が同一直線上になければ、検出は失敗したと、そしてワンド以外の物体が間違って解釈されたと考えることができる。この場合には、ワンドの位置を決定すること以上のことをしようとしてはならない。
【００１４】
処理における次のステップは、ワンドのどちらの端がポインティング端であるかを決定すること（２８）である。棒の半分がカラーコード化されている場合には、これは、ビーズの中心間の直線に沿って画素の色相を調べることによって決定することができる。たとえば、端ビーズと中心ビーズ間の直線に沿って、前端の色相および後端の色相と一致する画素を計数することができる。支配的な色によって、前端であるか後端であるかが決定される。図２の特有な断面ライニングは、考えられる異なる色を表すことを意図している。
【００１５】
最後のステップは、投射像の座標から現実世界の位置へ変換すること（３０）である。変換は、決定されたビーズの相対的間隔と既知の装置ジオメトリに基づいた幾何学的計算による、フレームメモリ上の投射像の「アンプロジェクション(unprojection)」から成っている。
【００１６】
投射に関して以下のモデルを仮定する。すなわち、キャプチャされた画像はまるでビュー点からビュー距離ｄに位置する２次元ビュー面に描かれたと同じように見えるであろう。物体上の点に対応するビュー面内の点の位置は物体点からビュー点への直線とビュー面との交点である（図６参照）。
【００１７】
このモデルでは、物体点の高さｙは投射点の高さｙｐと以下の関係にある。
ｙ＝ｙｐ（ｚ＋ｄ）ｄ
すなわち、    ｙ＝Ｂ（ｚ＋ｄ）である。（ここで、Ｂ＝ｙｐ／ｄ）
【００１８】
同様に、物体の水平位置ｘはその投射位置ｘｐと以下の関係にある。
ｘ＝Ａ（ｚ＋ｄ）  （ここで、Ａ＝ｘｐ／ｄ）
【００１９】
ここで、物体の上に直線に沿って等間隔で配置された３つの点をあると仮定する。それらの点に１、２、３の標識を付け、それらが点１と点３の間の距離Ｄをもつビーズ１６，１８，２０に対応していると仮定する。ユークリッド距離方程式から、
Ｄ2＝（ｘ１＋ｘ３）2＋（ｙ１−ｙ３）2＋（ｚ１−ｚ３）2
が得られる。
【００２０】
点２は点１と点３の中間点であるので、
ｘ２＝｛ｘ１＋ｘ３｝／２、
ｙ２＝（ｙ１＋ｙ３）／２、
ｚ２＝｛ｚ１＋ｚ３｝／２であることが判る。
また、３つの点は直線上にあるので、
ｘ１−ｘ２＝ｘ２−ｘ３であり、ｙ１−ｙ２＝ｙ２−ｙ３であることが判る。
それらの関係から、
Ａ１（ｚ１＋ｄ）−Ａ２（（ｚ１＋ｚ３）／２＋ｄ）＝
Ａ２（（ｚ１＋ｚ３）／２＋ｄ）−Ａ３（ｚ３＋ｄ）と、
Ｂ１（ｚ１＋ｄ）−Ｂ２（（ｚ１＋ｚ３）／２＋ｄ）＝
Ｂ２（（ｚ１＋ｚ３）／２＋ｄ）−Ｂ３（ｚ３＋ｄ）と
が得られる。
これらの式を（ｚ１＋ｄ）について解くことによって、
（ｚ１＋ｄ）＝ｇ（ｚ３＋ｄ）
が得られる。ここで、ｇ＝｛Ａ３−Ａ２｝／｛Ａ２−Ａ１｝＝｛Ｂ３−Ｂ２｝／（Ｂ２−Ｂ１）である。
【００２１】
この式を使用して距離方程式からｚ１＋ｄを除去することによって、ｚ３＋ｄについて解くことができる。すなわち、
ｚ３＋ｄ＝Ｄ／（Ａ３−ｇＡ１）2＋（Ｂ３−ｇＢ１）2＋（１−ｇ）1/2
【００２２】
したがって、物体点のｚ位置について解き、それらからｘ座標とｙ座標について解くツールが得られた。
【００２３】
われわれが３次元世界の座標を２次元のキャプチャした画像座標と同じ単位で計算する方法について説明したことに留意されたい。画像座標たとえば画素が与えられそうであり、また世界座標たとえばインチのほうが好まれそうである。したがって、ビュー距離ｄのようなプロパティに加えて個々のシステムについて経験的に決めることができる単純な倍率を適用する必要がある。
【００２４】
どちらのビーズが前端にあるかの知識に加えて、端ビーズの３次元位置が判れば、十分に本発明によって約束された位置またはポインティングが得られる。
【００２５】
画素がワンドに沿ったビーズに属するとして間違って識別された場合に生じることがある誤った結果を防止するために、得られた位置の値の妥当性を検査することができる。値と最大および最小予想座標とを比較することができる。選択した範囲の外側にある点は無視するか、誤っているとして標識を付けることができる。
【図面の簡単な説明】
【図１】本発明の基本的構造要素の単純化したブロック図である。
【図２】図１の装置によって検出することになっている目印ビーズを有するワンドの平面図である。
【図３】本発明を実施するためのソフトウェア・モジュールのブロック図である。
【図４】ワンドの位置と、ワンドのビデオ画像を表現するフレームメモリ内の目印ビーズの相対的位置とを識別するためのサンプリング計画を示す単純化した略図である。
【図５】ワンドの目印ビーズの中心を識別する分析方法の単純化した略図である。
【図６】既知の装置ジオメトリに基づいて、ビデオ画像内のワンドの検出位置を自由空間における対応する座標へ変換する幾何学的計算の説明を助ける幾何学的な略図である。
【符号の説明】
Ｗ  ワンド
１０  ビデオカメラ
１２  ビデオキャプチャ・ハードウェア
１４  コンピュータ
２０  ビーズ
４０  サンプリング点
【図１】
0004709364.tif 000002
【図２】
0004709364.tif 000003
【図３】
0004709364.tif 000004
【図４】
0004709364.tif 000005
【図５】
0004709364.tif 000006
【図６】
0004709364.tif 000007