(57)【特許請求の範囲】
【請求項１】
三次元物体（２４）の二次元物体イメージを前記三次元物体（２４）に対して所定の空間関係を有している記憶された三次元モデルを用いて位置合せする方法であって、
コンピュータが、前記物体イメージにおける複数の特徴（２６）の位置を識別するステップと、
コンピュータが、前記三次元モデルの少なくとも一部を、仮定的な仮想カメラのイメージ平面（２０６）上に、該仮想カメラの仮定的された初期位置に基いて射影することによって、仮想イメージをレンダリングする（６８）ステップと、
コンピュータが、前記物体イメージにおける前記複数の特徴の位置と前記仮想イメージにおける先に関連付けられている特徴の対応する位置との間の差を測定するエラー関数を計算する（２５０）ステップと、
コンピュータが、前記エラー関数を縮小する仮想イメージ平面をもたらす前記仮想カメラの位置及び／又は方向を見出すステップと、
を含んでおり、前記位置及び／又は方向は、並進部分行列と回転部分行列とを含む変換行列を計算し適用することによって見出され、前記行列は、定数をエラー関数と相互作用行列Ｌの疑似逆行列との積と乗算することによって得られたベクトルの並進及び回転部分ベクトルから計算され、前記相互作用行列Ｌは計算された三次元物体モデルにおける複数の予め定義された点に対する二次元座標ｘp及びｙpと深さＺとを含み、前記二次元座標ｘp及びｙpは前記仮想イメージ平面上への前記予め定義された点の計算され射影された位置であることを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記仮想イメージ平面の方向は、前記仮想イメージ平面を予め定義された座標系に対して反復的に回転させることによって見出されることを特徴とする方法。
【請求項３】
請求項２記載の方法において、前記仮想イメージ平面の位置は、前記仮想イメージ平面を予め定義された座標系に対して反復的に並進させることによって見出されることを特徴とする方法。
【請求項４】
請求項１記載の方法において、前記エラー関数は複数の距離成分を有するベクトルによって表現され、前記距離成分はそれぞれが前記物体イメージにおける特徴位置と前記仮想イメージにおける対応する仮想特徴位置との間の距離であることを特徴とする方法。
【請求項５】
請求項４記載の方法において、前記物体イメージにおける前記特徴位置は、前記三次元物体上のリング状マーカ（２６、９０）を認識することによって決定されることを特徴とする方法。
【請求項６】
請求項５記載の方法において、前記リング状マーカは関連する識別子を用いて特定のマーカを識別するように符号化されていることを特徴とする方法。
【請求項７】
請求項６記載の方法において、前記リング状マーカはバイナリ・コードに従って符号化されていることを特徴とする方法。
【発明の詳細な説明】
【０００１】
本出願はソフトウェアのソース・コードのリストを含むマイクロフィッシュによるアペンディクスを含んでおり、このアペンディクスは本出願において援用される。
【０００２】
【発明の属する技術分野】
本発明は、広くは、人間とコンピュータとの間の視覚的なインターフェースに関し、更に詳しくは、対話型の「拡張現実」（augmented reality）アプリケーションのための人間とコンピュータとの間の視覚的なインターフェースに関する。
【０００３】
【従来の技術】
「拡張現実」（ＡＲ）とは、コンピュータによって生成された人工的な要素が現実世界の要素と混合又は並列されることにより、人工的な要素が現実世界の一部のように見える人間とコンピュータとの間の相互作用を意味する。例えば、コンピュータによって生成されたグラフィクス要素を部分的に透過的で部分的に反射性のヘルメット又はバイザ・ビューワの上に表示することによって、そのヘルメット又はバイザ・ビューワを装着している人間は、現実物体が、（バイザの内側からの反射によって射影される）コンピュータによって生成されたグラフィクスと混合されているように（バイザを通して）見ることができる。あるいは、現実物体のビデオ・イメージをコンピュータによって生成されたグラフィクスと合成し、その合成されたものを従来型の又は立体ビデオ・モニタの上に表示することができる。このようなＡＲ技術は、多数の応用例において、非常に有用な人間・コンピュータ間のインターフェースを与えてくれる。現実物体の可視的でない特徴をワイヤ・フレーム・グラフィクスとして表示し、その物体の内部構造を示すことができる。この技術は、例えば、外科医が込み入った手順を実行する際に誘導したり、メカニックが複雑な装置を修理する際に誘導したりするのに有用である。可視的でない地形的な特徴を表示し、パイロットやナビゲータを誘導して、複雑な三次元的な地域を通過させることもできる。空想上の又は潜在的な特徴を、建築家又はランドスケープ・デザイナのために、三次元的かつ対話的に表示することもできる。多くのこれ以外の教育的、商業的、娯楽的な応用も可能である。
【０００４】
ＡＲにおける中心的な問題は、グラフィカル情報を現実物体のイメージと位置調整することである。これは、「位置合せ」（登録、レジストレーション、registration）問題と称されることがある。例えば、ビデオ・ディスプレイ上では、コンピュータによって生成されたグラフィクスは、対応する現実物体のビデオ・イメージに対して見かけ上位置合せされているように、理想的な位置決めがなされていなければならない。透明なディスプレイでは、コンピュータ・グラフィクスは、見られている外部の物体と位置合せされて見えるように位置決めされていなければならず、それによって、現実の幻影（イリュージョン）が達成される。いずれの場合にも、位置合せを達成するためには、ビューワの物体に対する位置及び方向を見出さなければならない。この位置及び方向情報によって、コンピュータが、カメラ又はビューワの立場から見られるように、グラフィカル・オーバレイを正確にレンダリングすることが可能となる。グラフィカル・インターフェースが有用であるべき場合には、現実世界の物体とコンピュータによって生成されたグラフィクスとの間の位置合せが、物体又は観察者の予測される動きにもかかわらず位置合せを維持するのに十分な速度で動的に更新されなければならない。例えば、拡張現実の応用例では、ヘルメットに取り付けられたカメラと透明なバイザ表示システムとを装着しているメカニクス（機械工）は、エンジンと、その同じエンジンの特徴を強調し識別するコンピュータ・グラフィクスとを同時に見る。メカニクスの視点のルーチン的な動きや変化がある場合でも、コンピュータ・グラフィクスが現実のエンジンと正確に位置合せされていることが、最も効果的である。動いているメカニクスは、位置合せが動的な意味で正確であり応答的である場合にのみ、ディスプレイの現実を主観的な感覚をもって知覚するのである。
【０００５】
ＡＲのための位置合せ問題に対しては２つの一般的なアプローチがこれまで試みられてきた。すなわち、（１）物体ポーズ評価法と、（２）観察者ポーズ評価法とである。前者のアプローチは、受動的又は能動的な方法を用いて、物体の位置及びポーズを決定するものである。いったんこの情報が利用可能となれば、コンピュータ・グラフィクスは、レンダリングされ、その物体の既知の位置及びポーズと一致する。後者のアプローチでは、物体の位置及び方向を決定するのではなく、観察者又はカメラの位置及び方向が決定される。その上で、コンピュータ・グラフィクスは、観察者の位置及び方向が決定された状態で、物体と位置合せされているように見えるように、変換される。
物体ポーズ評価法
マサチューセッツ工科大学におけるウェアラブル・コンピューティング・プロジェクトは、次のワールド・ワイド・ウェブで説明されている。http://wearable.www.media.mit.edu/object/wearables/augmented-reality.html
このプロジェクトでは、３つのＬＥＤ（発光ダイオード）が、ある物体の上に相互の間の距離を既知として配置される。次に、焦点距離が既知であるカメラを用いて、これらのＬＥＤを含む平面の位置及び方向が決定される。この方法の制約の１つとして、ＬＥＤを有する平面の表面が、カメラ又はビューワから常に見えなくてはならないということがある。更に、ＬＥＤの平面の位置及び方向の評価に誤差があると、それは位置合せ誤差として明らかになり、二次的な訂正手段が必要となる。
【０００６】
類似のアプローチが、M. A. Fischer and R. C. Bolles, "Random Sample Consensus: A paradigm for model fitting with applications to image analysis and automated cartography," Graphics and Image Processing, 24 (6), pp. 381-395, 1981によって開発されたポーズ決定方式に基づいて、南カリフォルニア大学の研究者たちによって試みられてきている。彼らの方法は、二次多項式を解くことに関係している。曖昧性は、先行するフレームにおける解と最も近い解を選択することによって、解決される。このアプローチは、上述したＭＩＴグループのアプローチの場合と類似した短所を有する。
【０００７】
カーネギー・メロン大学（ＣＭＵ）で開発され「マジック・アイ」と称される別の方法では、特徴を検出する堅固なテンプレート・マッチング手順が用いられる。これについては、Uenohara and Kanade, "Vision-Based Object Registration for Real-time Image Overlay," in Proceedings 1st International Conference on Computer Vision, Virtual Reality and Robotics in Medicine (1995)を参照のこと。選択された特徴の位置及び周囲の表面の方向と物体の座標とは、既知であると仮定される。幾何学的不変量を用いて、トラッキングの間の特徴点の適切な対応が保証される。また、この不変量は、特徴点に対するグラフィカル・オーバレイの位置を符号化するのにも用いられる。この方法では、それぞれのグラフィカル・オーバレイが、その周囲に４つの特徴点が存在するように位置決めされ、それによって、幾何学的不変量を用いる方法が適用されている。このために、提供可能であるグラフィクス情報に対する制約が課されることになる。
【０００８】
ロチェスタ大学では、Kutulakos and J. Vallinoが、マーカを用いたライブ・ビデオ・ストリームにおいてアフィン座標系を決定することに基づくシステムを示している。これについては、Kutulakos and J. Vallino, "Affine object representations for Calibration-free Augmented Reality," in Proc. IEEE Virtual Reality Annual Symposium (1996)を参照のこと。この場合は、グラフィカルな物体が、ビデオ・ストリーム上にオーバレイされる前に、アフィン座標系において射影される。マーカをトラッキングすることによって、アフィン座標系は、マーカを有する物体の方向に対応するように調整される。アフィン座標は、現実物体とグラフィクスとの間の位置合せを、間接的に維持する。このシステムは、機能的ではあるが、計算的な要求が大きい。
観察者ポーズ評価法
Grimson et al.は、先に画像化され再構築されたＭＲＩ及びＣＴデータを手術室における患者のライブのビデオ信号に重畳させて見る方法を開発した。これについては、Grimson et al., "An automatic registration method for frameless stereotaxy, image guided surgery, and enhanced reality visualization," in IEEE Transactions on Medical Imaging, Vol. 15, no. 2, pp. 129-140 (1996)を参照のこと。この位置合せは、イメージ・データと三次元モデルとの間の距離の最小自乗最小化に基づいている。この場合、三次元モデル・データは、レーザ・レンジ・ファインダを用いた走査によって得られる。カメラのポーズは、この最小化手順から決定される。この方法は、計算的に非常に要求が大きく、また、データ取得のために、余分なハードウェア（レーザ・レンジ・ファインダ及びマーカ・プロジェクタ）を必要とする。
【０００９】
別のアプローチとして、例えば、磁場ベースのトラッキング装置や超音波ベースの装置のような能動的なトラッキング装置を用いて、観察者の頭部の位置及び方向をトラッキングするものがある。例えば、Weber et al., "Augmented Reality in architectural construction, inspection, and renovation," in Computing in Civil Engineering, pp. 913-919 (1996)を参照のこと。視覚的ディスプレイは、次に、能動的なトラッキング情報を用いて連続的に修正され、二次元の視覚的ディスプレイが三次元的な環境の上にオーバレイされているような印象を与えるようになっている。磁気及び／又は超音波トラッキング装置を用いることにより、ユーザは、緯度領域が制約され、歪みを受けることになる。
【００１０】
米国ノースキャロライナ州チャペルヒル所在のノースキャロライナ大学での類似するアプローチでは、ＡＲの研究者たちが、超音波イメージを患者のイメージ上に直接に表示するシステムを開発している。この位置合せ技術は、磁気センサと地球の磁場とを立体カメラと共に用いることによって、ユーザの頭部を同時的にトラッキングすることに基づいている。同心円状の色付きの円を、視覚的なトラッキングのための特徴として用いている。３つの特徴点が、これら３つの特徴点の立体的三角測量によって頭部のポーズを決定するために、必要となる。しかし、少なくとも３つの視覚的特徴が存在しない場合には、磁気トラッキングは、ポーズの推定により貢献する。十分な視覚的特徴が利用可能であるときには、精度が向上する。
【００１１】
コロラド鉱山学校のHoff et al.は、同心円状の円形マーカに基づく別の観察者ポーズ決定方法を開発している。これについては、Hoff et al., "Computer Vision-Based Registration Techniques for Augmented Reality," Proc. of Intelligent Robots and Computer Vision XV, Vol. 2904 in Intelligent Systems and Advanced Manufacturing, SPIE, Boston, MA, pp. 538-548 (1996)を参照のこと。この技術では、マーカを有する物体のビデオ・イメージを処理することによって、マーカが分離されている。そして、推定アルゴリズムを用いて、カメラのポーズを推定している。
【００１２】
パサディナにあるカリフォルニア工科大学のKoller et al.は、カメラ移動推定ベースのアプローチを示している。カメラ移動に対する線形加速モデルを用い、カルマン・フィルタリング技術を用いて、矩形マーカの予測的なトラッキングを実行し、カメラの移動を決定している。この方法は、計算的に見ていくぶん要求が大きく、そのために、動作速度が制限される。これについては、Koller et al., "Real-time Vision Based Camera Tracking for Augmented Reality Applications," Proceedings of the ACM Symposium on Virtual Reality Software and Technology, pp. 87-94 (1997)を参照のこと。
【００１３】
以上の及びそれ以外の方法は、すべて、ＡＲにおける位置合せ問題を解決しようとするものである。しかし、現時点では、従来の方法は、どれもが、面倒な位置及び／又は方向センサに利用可能な又はそのために必要な計算速度の点で、程度は様々であるが制約を有している。
【００１４】
【発明の概要】
本発明は、画像化装置が物体に対して移動する場合であってもグラフィクスと現実物体との間の位置合せの概観を維持しながら、コンピュータ・グラフィクスを現実物体のイメージと同時に視覚的に表示する装置及び方法である。
【００１５】
物体とコンピュータ・グラフィクス・イメージとの間の外観的な位置合せは、「視覚的サーボ」（visual servoing）方法に従って物体上の認識可能な特徴を自動的にトラッキングすることによって、維持される。この方法では、制御ループを用いて、現実のイメージ・フレーム上の特徴位置と物体のＣＡＤ表現上の対応する特徴位置との間の不一致を縮小させるのであるが、これは、ＣＡＤ表現を「仮想カメラ」上に射影し、仮想カメラの仮定されている位置及び／又は方向を変化させて現実の画像化装置の（物体に対する）動きをトラッキングすることによって、なされる。
【００１６】
本発明の別の実施例では、「イメージ処理ホスト」と１又は複数の「表示ホスト」とが、限定された帯域幅を有するチャネルを介して通信する。「イメージ処理ホスト」は計算的に要求が大きなイメージ処理動作を扱い、他方で、１又は複数の「表示ホスト」は現実物体のイメージと位置合せがなされるようにコンピュータによって生成されたグラフィクスを表示する。本発明の方法によると、位置合せされたグラフィクスを、それ以外の場合には位置合せされたイメージの伝送を許容しない帯域幅しか有していないチャネルを介して伝送することが、表示ホストが視覚的サーボ動作のために使用可能な少量の情報を符号化し伝送することによって、可能になる。１又は複数の表示ホストは、このようにして、ビデオ・フィード又はそれ以外の現実物体イメージと位置合せされるように三次元のＣＡＤ物体の適切な画像を、帯域幅を節約しながら、レンダリングし表示することができる。
【００１７】
【発明の実施の態様】
本発明の典型的な実施例が、例示的な対象物と共に、図１に示されている。カメラ又はそれ以外の画像化装置２０（ユーザ２２の頭部に取り付けることもできる）が、関心対象である物体２４を見る。関心対象の物体２４には、好ましくは、基準マーカ２６（人工的又は自然的いずれかの認識可能な特徴を用いることができる）を用いて、マーキングがなされている。カメラ２０は、ビデオ信号２８を生じ、これがフレーム・グラバ２９によってデジタル化され、デジタル化されたイメージが得られる。このデジタル化されたイメージは、イメージ処理ホスト３０によって受け取られる。イメージ処理ホスト３０は、ペンティアム（登録商標）・プロなどの汎用コンピュータである。様々なコンピュータのどれを用いることもできるが、少なくとも２００ＭＨｚのプロセッサ速度を有し、イメージ処理用の適当なＲＡＭ（少なくとも６４メガバイトが好ましい）を備えた３２ビットのコンピュータが好ましい。イメージ処理ホスト３０は、特徴の抽出と、物体２４（カメラには見えない内部構造を含んでいてもよい）の予めプログラムされたＣＡＤモデルへのマッチングとを行う。また、イメージ処理ホスト３０は、物体２４に関する視覚及びテキスト・レコードを記憶するディスク・ドライブなどのデータ記憶装置を含む。イメージ処理ホスト３０は、更に、新規な三次元的なイメージ位置合せ方法を実行し、ビデオ及びグラフィクス・オーバレイを処理し、合成された視覚的表示をユーザ２２が見るために表示装置３２に出力する。オプションであるが、ユーザは、ヘッドフォン３４のようなオーディオ出力装置と、例えば音声認識を用いた音声入力装置などのユーザ入力装置３６とを備えている場合もある。あるいは、キーボード、グラフィック・ユーザ・インターフェース装置（マウスなど）などのユーザ入力装置を用いることもできる。
【００１８】
本発明の内容及び環境をより詳細に説明するためには、具体的な応用例を考察するのが便利である。一例として、パーソナル・コンピュータを修理している技術者による拡張現実（ＡＲ）の利用を考える。具体的な用語を用いると、図１は、パーソナル・コンピュータ（物体２４）を見ているカメラ２０を装着した技術者２２を表している。イメージ処理ホスト３０は、パーソナル・コンピュータのイメージを処理し、それを、パーソナル・コンピュータの内部コンポーネントを配置しているグラフィカルなＣＡＤモデルのワイヤ・フレーム・アウトラインと合成する。ワイヤ・フレームのグラフィカルな表示が生成され、新規な方法を用いて、イメージ処理ホスト３０のビデオと位置合せされる。合成された表示は、適切に位置合せがなされており、視覚的ディスプレイ３２上に表示される。このディスプレイ３２は、ハンドヘルド表示ユニット、ヘルメット取付式バイザ射影ユニットなど、任意のグラフィカル・ディスプレイである。好ましくは、このディスプレイは、無線チャネル４０によって、イメージ・プロセッサに無線でリンクされている。このように、ケーブルによって悩まされることがないため、技術者は、物体２４に対する位置を自由に変更することができ、その場合でも、グラフィック・ディスプレイは位置合せがなされた状態に維持される。技術者は、ユーザ入力装置３６を介して入力を行うことも可能である。例えば、ユーザ入力装置３６が適切な音声認識ハードウェア及びソフトウェアを備えたマイクロフォンである場合には、ユーザは、「ＣＤ−ＲＯＭドライブを見せてください」という命令を入力することができる。それに応答して、イメージ処置ホスト３０は、ディスプレイ３２において、ＣＤ−ＲＯＭドライブのワイヤ・フレーム・アウトラインをグラフィカルに強調する。オプションであるが、ユーザ入力装置３６は、また、無線通信リンク４２によって、イメージ処置ホストとリンクされている場合もある。オーディオ情報が、ワイアード又は無線リンク４４を介して技術者に伝送されうる。この例示的な応用例で生じる視覚的な表示が、図２に示されている。ここでは、ワイヤ・フレーム・アウトライン５０が、パーソナル・コンピュータ５２のイメージ上に、テキスト情報５４と共に重畳されている。この場合のテキスト情報は、ＣＤ−ＲＯＭドライブに問題があることをユーザに告知するものである。
【００１９】
図３は、三次元処理ホスト３０がビデオ及びＣＡＤグラフィクス情報を処理するのに用いる手順のハイレベルでのフローを示している。この図は、全体として、問題実行のメイン・ループを構成している。図解されているフローでは、コンピュータにとって、２つの情報源が利用可能であるということを予め想定している。すなわち、（１）関心対象である物体の時間順のデジタル化されたビデオ・フレームと、（２）関心対象である物体と関連する記憶されている三次元ＣＡＤモデルとである。
【００２０】
応用例によっては、デジタル化されたビデオ・フレームは、スレショルド設定やコントラスト強化など、特徴の認識を助ける従来型の技術によって、イメージ処理することも可能である。
【００２１】
ＣＡＤモデルには、見られておりビデオ・フレームとの適切な位置合せのために回転させることができる三次元フォーマットで記憶されている（予測された）物体と関連する構造的及び幾何学的詳細が含まれている。テキスト及びカラー・コーディングなどの補完的情報も、オプションであるが、含まれる場合もありうる。
【００２２】
ビデオ及びＣＡＤ情報が与えられると、図３に示されているメイン・プログラム・ループは、以下のように動作する。第１に、プログラムは、ユーザ・キー・ストロークや音声コマンドなどのユーザ入力をチェックする（ステップ６０）。ユーザ入力が検出される場合には、プログラムは、そのコマンドが終了を命じる場合には中断する（ステップ６４）決定をし（ステップ６２）、コマンドが終了以外を命じるものである場合にはそのコマンドを実行する（ステップ６６）。一般的には、それ以外のコマンドには、現在のＣＡＤモデルの何らかの側面を操作するものが含まれる（ステップ６８）。例えば、「ＣＤ−ＲＯＭは、ＯＫ」というテキスト・ノートをパーソナル・コンピュータ・タワーの三次元レンダリングに追加することもできる。
【００２３】
どのようなユーザ・コマンドを実行することも求められない場合には、プログラムは、トラッキング可能な特徴を検出したかどうか（この場合は、「トラッキング」モード）、それとも、そのような特徴をまだ検出しなければならないか（従って、この場合は、「サーチ」モード）という決定をする（決定ボックス７０）。「サーチ」モードが検出された場合には、プログラムは、認識可能なイメージ特徴（典型的な応用例では、リング状のマーカ）を求めて現在のイメージの全体をサーチする。十分な数のそのような特徴（通常は、４個以上）が検出され認識された場合には、プログラムは決定７３において分岐し、図９との関係で後に詳述する方法によって識別された特徴をトラッキングする視覚的サーボ・モジュール７４を実行する。簡単に述べると、このモジュールは、仮定的な「仮想カメラ」の位置を回転及び並進させて、ビデオ・フレームにおける特徴の対応する識別された位置を備えたＣＡＤモデルに記録されている特徴の予測される位置と位置合せする。この方法は、次に、視覚的サーボ・モジュール７４によって現に計算されているパラメータに基づいて、現在の三次元ＣＡＤモデルの射影をレンダリングし、ビデオ・イメージ及び関連するテキスト情報と融合されている現在のレンダリングを、視覚的ディスプレイのために、出力する。次に、ループは、リターン分岐８０を介して開始点に戻り、メイン・ループにおける上述したステップを反復する。
【００２４】
マイン・ループの当初の反復の後で、予測されるすべての特徴がイメージにおいて識別される場合には、トラッキング・モードにおいて、最後に検出された領域において局所的（ローカル）にそれぞれの特徴をサーチして特徴の位置ごとに更新するサーチがなされる（ステップ８２）ことが好ましい。トラッキング・モードは、サーチ速度を向上させる。特徴がトラッキングされその位置が更新されると、プログラムは視覚的サーボ・モジュール７４に進み、ループは既に説明したように進行する。肯定的なトラッキングのためには不十分な数の特徴しか検出されていないフレームでは、常に、視覚的サーボ・モジュール７４は、バイパス経路８４を介してスキップされるが、ＣＡＤモデルは、先に論じられたようにレンダリングされ（ステップ６８）、プログラムは、示されているように、ステップ６０にループして戻る。一般的には、少なくとも４つの同一平面にない特徴がカメラの動きの明確な決定には必要である。特定の視野において、この最小値よりも少ない特徴しか検出されない場合には、観察者が、より多くの特徴の認識を可能にするより良い有利な点に移動するということがなされうる。このような場合には、プログラムは、特徴を再び探し、トラッキング・ループの中に固定される。
【００２５】
特定のソフトウェア・モジュール又はステップの詳細は以下で論じられる。特徴のサーチ（ステップ７２）又は視覚的サーボ・モジュール（ステップ７４）に用いられる従来型とは異なる方法は、特に詳細に説明される。
特徴の認識
本発明は、その物体のＣＡＤモデルへの対応が既知である位置にあり、見られている物体の上に配置された視覚的な基準マーカを用いる。位置合せを容易にするために、基準マーカは、混乱した環境においても明確に検出可能であり、相互に区別でき、一意的に識別可能でなければならない。より詳しくは、これらのマーカは、広角度から見られた場合であってもこれらの特性を有していなければならない。本発明のある実施例では、円形の基準マーカの明確なパターンが用いられる。類似している（しかし、同一ではない）マーカが、以前、U. Neumann et al., "A Self-Tracking Augmented Reality System," Proceeding of the ACM Symposium on Virtual Reality Software and Technology, pp. 109-115 (1996)及び発明の背景において上述したHoff氏による論文において用いられている。
【００２６】
図４には、マーキングの方式が示されている。基準マーカは、その外側黒色リング９０によって識別される。このリングの全体的な幅は、このリングの直径に対する所定の幅であることが好ましい。外側リング９０は、白色リング９２によって内側の境界が与えられ、別の白色リング９４によって外側の境界が与えられて、可能性のある最高のコントラストを提供することが最も好ましい。内側フィールド９６、９８、１００、１０２は、マーカ識別番号に対するバイナリ・コードとして解釈されるリングのパターンのための空間を提供している。ある方式では、黒色リングは１を意味し、白色リングは０を意味する。マーカＩＤは、例えば、次の数式に従って計算することができる。
【００２７】
【数１】
0004234343.tif 000002
【００２８】
ここで、ｉはインデクスｊに対応するリングの値であり、暗い場合には値１であり、明るい場合には値０を取る（ある適切な方式において）。符号化のための追加的な可能性は、色付きのリング・マーカを用いて得られる。
【００２９】
この同心円状のリング・マーキング方式は、スケール不変（少なくとも、カメラの視野とピクセルの解像度とによって与えられる境界の内部では）であるという利点を有している。外側のリングの直径は、内側のマーカ・パターンを読み出すためのノルムを提供する。どの視野角から見ても、円形のリング・パターンは、同心円状の楕円パターンに見える。図５ａには、ｉ2の同心円状のリング１０４はそれを黒色に色付けすることによって１に設定されることに注意することにより読み出すことができるＩＤ番号２を用いて符号化されたマーカが示されている。
【００３０】
図５ｂには、図５ａと同じリング・マーカ・パターンの一例が、カメラの斜めの角度からの見られたものとして示されている。水平方向及び垂直方向の走査線１０６及び１０８は、楕円体構造の中心において交差する。
【００３１】
特徴を求めるサーチ（図３のステップ７２）は、図６に示されている方法によって実行される。サーチの最初には、この方法は、イメージの上部から開始する（ステップ１２０）。分岐決定１２２は、イメージの底部をテストして、底部に到達すると経路１２４を介して終了する。底部に到達するまでは、プログラムは、３ステップのプロセスによって、リング状領域をテストする。第１に、エッジ検出演算子（例えば、ソーベル（Sobel）演算子）が水平方向の走査経路に適用される（ステップ１２６）。あるパターンの垂直方向エッジの候補が暗い及び明るい領域の中にグループ化され、エッジごとに分離され、暗い領域はそれらが一致するリング要素の対にグループ化することができるかどうかを判断するためにテストされる（ステップ１２８）。特に、リングの候補の幅が、それらがリングの直径に対するある比率の中に含まれるかを判断するためにテストされる。幅の比率の基準に合格した暗い領域は、リングの候補として選択される。これらのリング候補は、垂直方向の走査によっても更にテストされる。ソーベル演算子などのエッジ検出演算子が再度用いられ、垂直方向のリング構造が検出され、同じ直径／幅比率に関してテストされる。
【００３２】
次に、先のテストの両方に合格したリング候補は、最も外側の黒色のリングの外側エッジを追跡するエッジ追跡アルゴリズムによって、再度テストされる（ステップ１３０）。囲まれている領域に関する制約を適用して、誤ったマーカ検出を除去することができる。単純なエッジ追跡アルゴリズムを用いることは、計算状の要求はリングの直径ｄに対して線形に上昇するという点で、優れている。これとは異なり、二次元交差相関などの二次元的なテンプレート・マッチング・アプローチが用いられる場合には、計算上のコストは、ｄの２乗と共に上昇する。リング追跡アルゴリズムが閉じた経路においてその開始点に戻ると、楕円体リング・マーカがそのようなものとして確認される。楕円体の境界はこの時点で既知であり、リング・パターンは楕円の中心を通過する水平方向及び垂直方向の両方の走査において読み出すことができる。これらの２つのサーチ経路を走査することによって、ビット・パターンの評価のための４重の冗長性が与えられ、小型のマーカに対するピクセル量子化誤差を縮小させる。好ましくは、マーカが検出された後で、別のサーチ経路で既に検出されているかどうかを判断するためのチェックを行い、同じマーカが複数回検出されることを回避する。６４０ｘ４８０のピクセルで構成されるイメージの全体をサーチすることによって、上述の方法によって信頼性をもって複数のリング・マーカが検出され識別されるのに必要な時間は、２００ＭＨｚのペンティアム（登録商標）・プロ・プロセッサを用いて、約０．４秒である。
【００３３】
マーカの外側リングが識別されると、リング・マーカの中心の位置が、フィールドの上端と下端と左端と右端とを取り、中心の位置を決定するために平均化することによって、ほぼ決定される。
【００３４】
水平方向の走査線が処理されると、次の（その下にある）走査線が選択され（ステップ１３２）、このプロセスが、リターン経路１３４を介してステップ１２２にループ状に戻ることによって、イメージの全体がサーチされるまで、反復される。すべての検出可能なマーカの中心が識別されマーカＩＤと関連付けられた後で、これらのデータは、まとめられて、視覚的サーボ・モジュール３０に送られる。
視覚的サーボ・モジュール
視覚的サーボ・モジュール３０は、基準マーカの明らかな射影された位置を、仮定的な仮想カメラによって仮定された位置及び方向と共に見られたものとしての三次元ＣＡＤモデルに従い、マーカの予測された射影位置と位置合せを行う。実際のカメラ位置及び方向は、現時点での最良の推定値を除いては、このモジュールによって直接には知られていない（このモジュールにとってはアクセス可能でない）。仮想カメラの位置及び方向は、変動させて、推定されたマーカ位置とビデオ信号から抽出された測定された位置との間の誤差を縮小させる。
【００３５】
この方法は、ロボット・システムを制御するのに用いられる視覚的サーボ（visual servoing）と類似しているが、本発明では、実際のカメラを移動させるのにフィードバックを用いず、ビデオと仮想カメラによって見られたものとしてのＣＡＤモデルの計算された射影との間の誤差を縮小するために、仮想カメラが「移動」される点が異なっている。
【００３６】
視覚的サーボ方法を、図７に示されている閉じたループと共に、まず、抽象的に、最も明確に説明することにする。このループは、図１の「メイン・ループ」の単純化された抽象を表している。入力Ｓrは、ビデオ・フレームにおいて検出されたすべてのマーカのＩＤと射影位置とを含んでいる。（マーカ中心の実際の三次元座標は測定されない。）入力Ｓは、見られている物体の記憶された三次元ＣＡＤモデル上のマーカ位置の仮定的な組から導かれた、システム状態の組である。これらのシステム状態は、データベースから、所定のパターンで取り付けられたマーカの三次元的な位置を抽出し、それらの位置を、仮想カメラの当初の仮定された位置に基づいて、仮定されている「仮想カメラ」のイメージ平面の上に射影することによって、導かれる。「見る」モジュール２００が、仮定されている仮想カメラの平面上へのマーカ中心の射影を計算する。Ｓrの状態とＳの状態とが、モジュール２０２の誤差比較によって比較され、エラー信号ｅ（ベクトル）が生じる。エラー信号ｅに基づき、「移動」モジュール２０４が、仮想カメラの仮定されている位置を、ｅを縮小させるように計算される方向に移動させる（好ましくは、後で与える方程式によって計算される）。仮想カメラの新たな移動された位置に基づいて、見るモジュール２００は、再び、仮定されている二次元的な仮想カメラのフレームの上に、三次元的なマーカ位置の新たな射影を生じさせ、このプロセスは、示されているように閉じたループで反復される。エラー関数と有用な「移動」アルゴリズムとを適切に定義することによって、このプロセスは、収束させる、すなわち、現実物体の動きをトラッキングさせることが可能であり、それによって、対応する現実物体のビデオ視野と十分に対応する仮想カメラの視点から見たものとしてのＣＡＤモデルの一連の射影が得られる。
【００３７】
適切な「移動」アルゴリズムは、数学的には、以下のようにして導かれる。最良のトラッキングのためには、エラー関数ｅを最小化することが望まれる。そのためには、仮想カメラの動きとその結果である状態Ｓ（これは、仮想カメラの視点から見たものとして、物体のグラフィカルなＣＡＤモデル上への仮想マーカの射影位置を意味する）との間に解析的な関係が必要である。
【００３８】
便宜のために、仮想カメラの動きを、図８に示された二重の標準的な座標系との関係で定義する。平面２０６は、座標ｘ及びｙを有するイメージ射影の平面を表す。Ｘ、Ｙ、Ｚの座標系は、独立な、つまり、「世界」座標系を表す。Ｚ軸は、その原点２０８（ｘ＝ｙ＝０）において平面２０６と交差する。ここで、ピンホール射影を、すべてのベクトルＴ（成分Ｕ、Ｖ、Ｗを有する）を平面２０６の上の１点に写す写像として定義する。ここで、平面２０６上の１点は、ベクトルＴ（原点は世界座標系の原点にある）と平面２０６との交点である。そのような点２０９が示されている。ベクトルＴと射影平面２０６との交点は、点２０９によって示されており、その座標は、ｘp及びｙpと定義される。これは、平面２０６上への光線のピンホール射影に対応するが、ここで、ピンホールは世界座標系の原点に位置しており、光線の原点は原点を通過する直線上にベクトルＴの反対側にある。カメラの移動の回転速度成分は、成分Ａ、Ｂ、Ｃを有するΩとして定義される。ここで、エラー関数を次のように定義する。
【００３９】
【数２】
ｅ＝Ｓ−Ｓr
位置合せを保証するために、ｅの絶対値を最小化することが望まれる。エラー関数の変化は、次の式によって与えられる。
【００４０】
【数３】
0004234343.tif 000003
【００４１】
トラッキングをうまく行う解を見つけるために、エラー関数は、次の式で示すように、指数的に崩壊するものと仮定する。
【００４２】
【数４】
0004234343.tif 000004
【００４３】
ここで、定数λは指数の中に含まれ、崩壊速度（すなわち、収束速度）を制御する。従って、標準的な光フローの方程式（例えば、Horn, Robot Vision, Cambridge, 1987を参照）次の式が得られる。
【００４４】
【数５】
0004234343.tif 000005
【００４５】
そして、（ｘp，ｙp）におけるイメージ平面上に射影されたイメージの特徴の二次元的な変位は、次のように書くことができる。
【００４６】
【数６】
0004234343.tif 000006
【００４７】
１つの点の２次元的な射影の変化と移動パラメータとの関係は、次の形式を有する。
【００４８】
【数７】
0004234343.tif 000007
【００４９】
ここで、Ｌは、コラムがｘp及びｙpにおける二次元座標の単純な関数を表し、三次元の点の深さＺは、ｘp及びｙpに射影され、Ｌのそれぞれのローの対は、特定の識別された特徴（マーカ）に対するエントリを表す。従って、Ｌは６つのコラムと、計算に含まれる毎書くな特徴の数の２倍に等しい数のローを有する。Ｔは変換ベクトルであり、Ωは回転ベクトルである。ここで、Ｔ及びΩを決定する。特徴Ｓの移動は移動Ｔ及びΩに起因すると仮定すると、次の式が得られる。
【００５０】
【数８】
0004234343.tif 000008
【００５１】
この方程式を反転させることによって、次の制御規則が得られる。ただし、Ｌ+はＬの擬似逆行列（pseudo-inverse）である。
【００５２】
【数９】
0004234343.tif 000009
【００５３】
これらの方程式によって、エラーｅを最小化するのに必要な仮想カメラの移動の計算が可能になる。閉ループにおいて、演算が十分な回数だけ反復されれば、値ＳはＳrに近づき、ｅは縮小して０に近づく。
【００５４】
視覚的サーボ・モジュール３０（図１）によって用いられる方法の詳細は、図９に示されている。第１に、差ベクトルｅが予測された特徴位置の座標値と測定された特徴位置の座標値との差から計算される。予測された特徴位置は、ＣＡＤモデルと関連して記録されており、測定された特徴位置は、図６との関係で上述した方法によって、抽出されたマーカ位置である。次に、Ｌ行列が現在推定されているマーカ位置であるｘp及びｙpとＺから計算される（それぞれのマーカについて２つのロー、ステップ２５２）。行列Ｌの擬似逆行列が、特異値分解（singular value decomposition）の方法によって、次に計算される（ステップ２５４）。そして、並進及び回転行列Ｔ及びΩが、上述した方程式を用いて計算され、「仮想カメラ」の位置及び方向パラメータを更新するのに用いられ、よって、「仮想カメラ」の視点を回転させ並進させる（ステップ２５６）。
【００５５】
図１０は、本発明の別の実施例を示しているのであるが、この実施例は、例えば、インターネット・プロトコル（ＩＰ）などのネットワーク・プロトコルを用いた分散型のコンピューティング・システムにおいて、帯域幅が限定されている通信チャネルと共に用いるのに適している。本発明のこの実施例は、そのような環境において効果的なのであるが、その理由は、計算タスクが、二次元イメージ処理ホストと、視覚的サーボ計算を行う三次元表示ホスト２６０との間で分担されているからである。
【００５６】
この実施例では、ビデオ・カメラ２０が、基準マーカ２６を用いてマーキングがなされている物体２４を見ている。ビデオ信号２８は、二次元イメージ処理ホストに通信される。この二次元イメージ処理ホストは、図１の実施例との関係で既に述べた汎用コンピュータでよい。イメージ処理ホスト３０は、図１の実施例との関係で説明した特徴抽出及びイメージ処理機能を実行する。しかし、既に述べた実施例とは異なり、この実施例では、視覚的サーボとＣＡＤモデルとのイメージの比較とは、少なくとも１つの別個の表示ホスト２６０の責任である。ホスト２６０は、ハンドヘルド・ノートブック・コンピュータのような、携帯型コンピュータである。イメージ処理ホストは、ビデオ・フィード２８から特徴（通常は、マーカ）の位置を抽出して、ビデオ・カメラ２０の二次元的な射影平面上のそれぞれのマーカ位置と共に、マーカＩＤを符号化する。この情報は、例えばワイアード又は無線のインターネット・プロトコル・データ・チャネルなど、帯域幅が限定された通信チャネル２６２を介して、圧縮された二次元的なイメージ・データと共に送信されるのに十分なほどに圧縮されている。この低帯域幅情報は、次に、第１の表示ホスト２６０によって受け取られる。表示ホスト２６０は、このイメージを解凍し、ディスプレイ３２に送る。また、マーカの二次元的な射影位置を受け取り、それを予めプログラムされているＣＡＤモデルと比較し、図３及び９との関係で既に論じた視覚的サーボの方法を適用して、ＣＡＤモデルの射影を基準マーカの既知の射影と位置合せする。このようにして、表示ホストは、グラフィカルなＣＡＤモデルとビデオ・フィードとの最良の位置合せを与えるような仮想カメラの位置を発見し、両方の情報が重畳したものを、ユーザ２２が見ることができるようにディスプレイ３２上に表示する。第２の表示ホストなど他の表示ホストでも、通信チャネルを介してイメージ処理ホスト３０から情報を最適に受け取り、第２のディスプレイ２６４や第３のディスプレイ２６６などの他の視覚的ディスプレイの上に同時的に表示することができる。これによって、ビデオ・カメラ２０によって見られているプロセスの遠隔的なモニタリングが可能になる。このような遠隔的なモニタリングは、例えば、拡張現実のグラフィクスを用いることが求められるロボット・プロセスの制御などにおいて、有用である。
【００５７】
この実施例の変形も可能である。例えば、イメージ処理ホストからの抽出されたマーカ位置を表示ホストに送るのではなく、視覚的サーボ方法をイメージ処理ホストによって実行し、仮想カメラの位置及び方向を通信チャネルを介して１又は複数の表示ホストに送ることもできる。応用例によっては、ビデオ信号の全体を送ることは必要ない場合もある。例えば、透明なヘルメット型のディスプレイでは、見ている者（ビューワ）は、ヘルメットを通して現実の視覚的成分を見ることができる。そのような場合には、トラッキング情報だけを、通信チャネルを介して送信すれば十分である。それ以外の利用可能な帯域幅は、ＣＡＤ情報（元のもの又は更新されたもの）を１又は複数の表示ホストにダウンロードするのに利用することができる。
【００５８】
図１０の実施例は、限られた帯域幅の通信チャネルを効率的に利用している。というのは、この実施例によって、ビューワは、携帯型のディスプレイを用いて明らかに三次元的なグラフィクスをリアルタイムで見ることができ、その際に用いられる通信チャネルは、高度に圧縮された二次元イメージの伝送にしか適さないものでもかまわないからである。広く知られているように、圧縮されていない二次元イメージのデータ・セットは、多くの場合、はるかに大きなデータ・ファイルの伝送を必要とし、従って、帯域幅の広い通信チャネルを必要とする。追加的な利点としては、最も計算を要求するタスク（イメージ処理）は、携帯型のユーザ保持型の表示ホストを用いて実行するためには不要であり、その代わりに、イメージ処理ホストによって遠隔的に実行されるという点がある。これによって、より小型のハードウェアを携帯型の表示ホストに用いることが可能になる。更に、ユーザの移動度を高めるためには、ビデオ・カメラ信号２８を、ＴＶブロードキャストのような無線チャネルを介して伝送することもできる。
【００５９】
この別の実施例におけるイメージ処理ホストによって用いられる特定の方法は、図３及び６に示され、それらの図面との関係で既に説明したのと同じ方法である。同様に、１又は複数の表示ホスト２６２及び（オプションであるが）２６４によって用いられる視覚的サーボの方法は、図９に示され、その関係で既に説明されたのと同じ方法である。予測されるＣＡＤモデルは、携帯型の表示ホストに先にロードされ、それによって、イメージ処理ホストから送られなければならないデータの量が最小化される。あるいは、ＣＡＤモデルは、視覚的処理速度を犠牲にして、通信チャネルを介して圧縮された形態で送信することもできる。
【００６０】
図１との関係で既に述べた実施例では、オーディオ信号が、オプションで、オーディオ通信チャネル４４を介して提供され、ヘッドフォン３４などのトランスデューサ上で与えられた。このような拡張は、多くの場合、現実感覚と、情報をユーザ２２に伝える性能を向上させる。マイクロフォン３６のようなユーザ入力装置をオプションで追加して、ユーザからのチャネル４２を介したイメージ処理ホスト及び表示ホスト２６０との通信を可能にすることもできる。
【００６１】
応用例によっては、ユーザ２２は、ビデオ・カメラ２０及び物体２４の位置から離れた位置に存在することもある。例えば、可能性のある応用例として、ビデオ・カメラ２０を、人間であるユーザにとっては有害な環境において物体２４を検査するという遠隔操作的な制御を行っているロボットに取り付けることが考えられる。人間であるユーザ２２は、有害な環境からは離れ安全な場所で、ディスプレイ３２上にロボットの視点からそのシーンを見ることになる。その際に、それ以外のユーザは、２６４のような他の表示ホストや２６６のような二次的なディスプレイにおいて、その進行をモニタすることができる。このような構成は、例えば、複数の学生であるビューワが、限定された帯域幅を有する通信チャネルによってイメージ処置ホストにすべて接続されている複数の表示ホスト・ステーションにおいて拡張現実ディスプレイを見ることを可能にすることによって、外科技術や機械修理などを技能を教えるのに用いることができる。
【００６２】
以上では、本発明の複数の例示的な実施例を示し説明したが、当業者であれば、多くの変更や別の実施例を想到することが可能であろう。そのような改変や別の実施例は、冒頭の特許請求の範囲において定義されている本発明の精神及び範囲から逸脱することなく想到し、実現させることが可能である。
【図面の簡単な説明】
【図１】  本発明による装置を、その環境及びユーザとの典型的な関係において示しているシステム・レベルの概略図である。
【図２】  本発明によって作成された例示的な視覚的表示をユーザが見るために行われるレンダリングである。
【図３】  イメージ処理ホスト（図１）によってビデオとコンピュータによって生成されたグラフィクス情報とを処理するのに用いられるのが好ましい手順の概略的な流れ図である。
【図４】  本発明の対象となる任意の物体をマーキングするのに適している基準マーカのためのマーキング方式のテンプレートである。
【図５】  図５ａ及び５ｂで構成される。図５ａは、図４の方式に従って作られる特定のマーカの例である。図５ｂは、図５ａのマーカの斜めの角度から見た全体図である。
【図６】  イメージ処理ホスト（図１）が図３に示された方法の特徴サーチ・ステップを実行するのに用いる方法の流れ図である。
【図７】  一般化された制御ループの抽象図であり、図１のメイン・ループにおいて実現されている全体的な方法の数学的な導出を図解している。
【図８】  視覚的サーボ法の数学的導出において用いられる座標系の全体図である。
【図９】  図３の「視覚的サーボ」モジュールの詳細の流れ図である。
【図１０】  通信チャネルと１又は複数の「表示ホスト」とを含む本発明の別の実施例のシステム・レベルの概略図である。
【図１】
0004234343.tif 000010
【図２】
0004234343.tif 000011
【図３】
0004234343.tif 000012
【図４】
0004234343.tif 000013
【図５】
0004234343.tif 000014
【図６】
0004234343.tif 000015
【図７】
0004234343.tif 000016
【図８】
0004234343.tif 000017
【図９】
0004234343.tif 000018
【図１０】
0004234343.tif 000019