(57)【特許請求の範囲】
【請求項１】
第１の画像の少なくとも一部と第２の画像の少なくとも一部を位置合わせする方法であって、
ａ．実環境の第１の画像（Ｔ）および前記第１の画像に関連した座標系を用意するステップと、
ｂ．前記実環境の第２の画像（Ｉ）を用意するステップと、
ｃ．前記実環境を基準にして取り込み装置（Ｄ）の向き（Ｒ）および／または距離（ｄ１、ｄ２、…、ｄＮ）の測定を行う一方、前記第２の画像（Ｉ）を取り込むステップと、
ｄ．前記第２の画像（Ｉ）の少なくとも一部に関連した測定（ｍｅａｓｕｒｅｍｅｎｔｓ）から共線変換ワープ関数（Ｐ）を決定するステップと、
ｅ．前記対応する決定した共線変換ワープ関数（Ｐ）を適用することにより前記第２の画像（Ｉ）の前記少なくとも一部を変換するステップと、
ｆ．前記第２の画像の前記変換された少なくとも一部（Ｉｐ）および前記第１の画像（Ｔ）の前記少なくとも一部の画素に基づいて、画像レジストレーション方法により前記第２の画像の前記変換された少なくとも一部（Ｉｐ）と前記第１の画像（Ｔ）の前記少なくとも一部を位置合わせするための第２のワープ関数（Ａ）であって、２次元画像座標軸における平行移動、均一な拡大縮小および面内回転をサポートする前記第２のワープ関数（Ａ）を決定するステップと、
ｇ．前記共線変換ワープ関数（Ｐ）および前記第２のワープ関数（Ａ）を用いて前記第２の画像（Ｉ）の前記少なくとも一部と前記第１の画像（Ｔ）の前記少なくとも一部を位置合わせするステップと
を含む方法。
【請求項２】
前記向き（Ｒ）の測定は、慣性センサ、加速度計、ジャイロスコープ、コンパス、あるいは機械式、電磁気式、音響式または光学式の追跡システムのうちの少なくとも１つによりもたらされる、請求項１に記載の方法。
【請求項３】
前記距離（ｄ１、ｄ２、…、ｄＮ）の測定は、ＴＯＦカメラ、ステレオカメラ、無線信号の三角測量、位相差計側、または立体照明による手法を用いた装置のうちの少なくとも１つによりもたらされる、請求項１または２に記載の方法。
【請求項４】
前記向き（Ｒ）の測定（ｔｈｅ  ｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｏｒｉｅｎｔａｔｉｏｎ）は、重力ベクトル（ｎ）の測定に基づいて計算された２次元回転を包含する、請求項１から３の一項に記載の方法。
【請求項５】
前記第１の画像（Ｔ）の前記少なくとも一部は、前記測定した重力ベクトル（ｎ）に対して知られた向きに配置された物理的対象に対応する、請求項４に記載の方法。
【請求項６】
前記共線変換ワープ関数（Ｐ）は、前記測定した重力ベクトル（ｎ）に対して前記知られた向きにある仮想像平面（ＶＩＰ）に関連している、請求項５に記載の方法。
【請求項７】
前記向き（Ｒ）の測定（ｔｈｅ  ｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｏｒｉｅｎｔａｔｉｏｎ  （Ｒ））は、前記実環境を基準にした取り込み装置（Ｄ）の３次元回転を包含する一方、前記取り込み装置により前記第２の画像（Ｉ）を取り込む、請求項１から３の一項に記載の方法。
【請求項８】
前記向き（Ｒ）の測定および／または前記距離（ｄ１、ｄ２、…、ｄＮ）の測定（ｔｈｅｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｏｒｉｅｎｔａｔｉｏｎ  （Ｒ）  ａｎｄ／ｏｒ  ｄｉｓｔａｎｃｅ  （ｄ１、ｄ２、…、ｄＮ））から、前記第１の画像に関連した前記座標系に対しての取り込み装置（Ｄ）の前記向きが、ステップｄ）の前記共線変換ワープ関数（Ｐ）の決定のために計算され、かつ、使用される、請求項１から７の一項に記載の方法。
【請求項９】
前記共線変換ワープ関数（Ｐ）は、前記座標系に揃えられた仮想像平面（ＶＩＰ）に関連している、請求項８に記載の方法。
【請求項１０】
前記距離の測定（ｔｈｅ  ｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｄｉｓｔａｎｃｅ）からさらに、物理的対象に対する前記取り込み装置（Ｄ）の前記距離（ｄ１、ｄ２、…、ｄＮ）が、前記座標系中の前記取り込み装置の１次元平行移動を計算するために決定される、請求項８または９に記載の方法。
【請求項１１】
前記向きは、前記第２の画像（Ｉ）中のＮ点のセットの前記距離（ｄ１、ｄ２、…、ｄＮ）の測定（ｔｈｅ  ｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｄｉｓｔａｎｃｅ  ｄ１、ｄ２、…、ｄＮ）から決定され、Ｎが少なくとも３である、請求項８から１０の一項に記載の方法。
【請求項１２】
前記第１の画像（Ｔ）および／または第２の画像（Ｉ）は、区分的平面と仮定される対象の画像である、請求項１から１１の一項に記載の方法。
【請求項１３】
前記第２のワープ関数（Ａ）は、アフィンワープ関数である、請求項１から１２の一項に記載の方法。
【請求項１４】
前記画像レジストレーション方法は、反復最小化プロセスに基づいており、前記第１の画像（Ｔ）中の第１の画素セットは、前記第２の画像（Ｉ）中の計算した画素セットと比較され、前記比較に用いた前記第２の画像中の前記計算した画素セットは、反復ごとに変化する、請求項１から１３の一項に記載の方法。
【請求項１５】
前記画像レジストレーション方法における前記比較は、画像の強度に差異に基づいている、請求項１４に記載の方法。
【請求項１６】
前記第２のワープ関数（Ａ）のパラメータの初期推定は、前記反復最小化プロセスへ与えられる、請求項１４または１５に記載の方法。
【請求項１７】
前記第２のワープ関数（Ａ）の前記パラメータの初期推定は、前記第１の画像（Ｔ）の取り込みと前記第２の画像（Ｉ）の取り込みの間の前記取り込み装置（Ｄ）の動きの推定を用いて決定される、請求項１６に記載の方法。
【請求項１８】
ステップｃ）において、
少なくとも第３の画像および関連した座標系が、さらに用意され、
前記第２の画像（Ｉ）は、前記第１の画像（Ｔ）の対象および前記少なくとも第３の画像の対象を少なくとも一部含み、
ステップｄ）〜ｇ）は、前記第１の画像（Ｉ）および前記少なくとも第３の画像について個々に実行される、
請求項１から１７の一項に記載の方法。
【請求項１９】
前記第１の画像（Ｔ）および／または少なくとも第３の画像、ならびにそれらの関連した座標系は、オフラインで取得される、請求項１８に記載の方法。
【請求項２０】
前記第１の画像（Ｔ）および／または少なくとも第３の画像、ならびにそれらの関連した座標系は、オンラインで取得され、かつ／または、オンラインで更新される、請求項１８または１９に記載の方法。
【請求項２１】
前記第２の画像（Ｉ）の前記少なくとも一部の前記位置合わせの結果は、前記取り込み装置（Ｄ）の姿勢の決定に用いられる、請求項１から２０の一項に記載の方法。
【請求項２２】
前記取り込み装置（Ｄ）の前記決定された姿勢は、拡張現実アプリケーションに使用される、請求項２１に記載の方法。
【請求項２３】
コンピュータプログラムであって、デジタルコンピュータの内部メモリに読み込まれるようになされ、前記コンピュータプログラムが、前記コンピュータ上で実行しているときに、請求項１から２２のいずれかに記載の方法を実行するソフトウェアコードセクションを含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共線変換ワープ関数を用いて第１の画像の少なくとも一部と第２の画像の少なくとも一部を位置合わせする方法に関する。さらに、本発明は、この方法を実施するためのソフトウェアコードセクションを含むコンピュータプログラム製品に関する。
【背景技術】
【０００２】
このような方法は、拡張現実（ＡＲ）アプリケーションなどのコンピュータビジョンアプリケーションに必要とされることが多い。例えば、第１の画像Ｔをテンプレート画像とする場合、コンピュータビジョンの分野における多くのアプリケーションは、現在のカメラ画像である第２の画像Ｉの少なくとも一部を第１の画像Ｔに空間的に位置合わせすることを必要とする。例として、パノラマ合成、および例えばビデオシースルー型拡張現実アプリケーションのためのカメラ姿勢推定が挙げられる。いかなるレンズ歪もない完全なピンホールカメラを仮定するとき、平坦面に対応するテンプレートの任意の一部を現在のカメラ画像のその対応する位置に変換することは、３Ｄ平行移動、それに続く３Ｄ回転、および最後に像平面への透視投影で構成される。この変換は、テンプレート上の２Ｄの点とカメラ画像中の２Ｄの対応する点との間の透視変換を表す共線変換Ｗを用いて十分に説明することができる。
【０００３】
共線変換は、可逆である（３×３）の行列により表されることが多い。この行列は、ある縮尺以下（ｕｐ  ｔｏ  ａ  ｓｃａｌｅ）で定義され、８自由度を有し、
Ｗ＝
［ｐ１  ｐ２  ｐ３］
［ｐ４  ｐ５  ｐ６］
［ｐ７  ｐ８  １］
のように記載することができる。
【０００４】
共線変換は、１対１かつオントゥのワープ（ａ  ｏｎｅ  ｔｏ  ｏｎｅ  ａｎｄ  ｏｎｔｏ  ｗａｒｐｉｎｇ）を定める。共線変換ワープ関数は、以下の通りに、すなわち、
ｕ’＝（ｐ１ｕ＋ｐ２ｖ＋ｐ３）／（ｐ７ｕ＋ｐ８ｖ＋１）
ｖ’＝（ｐ４ｕ＋ｐ５ｖ＋ｐ６）／（ｐ７ｕ＋ｐ８ｖ＋１）
により点ｘ＝［ｕ，ｖ］を第１の画像から第２の画像中の点ｘ’＝［ｕ’，ｖ’］に変換する。
【０００５】
このようなワープは、共線性、同時性、接次数（ｏｒｄｅｒ  ｏｆ  ｃｏｎｔａｃｔ）、および複比（ｃｒｏｓｓ  ｒａｔｉｏ）を保存する。計算コストの観点でワープを高価にさせるワープ点当たり２つの分数部分（ｄｉｖｉｓｉｏｎ）がある。
【０００６】
対応する行列の項目ｐ７およびｐ８がゼロに等しいとき、共線変換ワープは、アフィンワープと呼ばれる。そこで、共線変換は、行列Ａ＝
［ｐ１  ｐ２  ｐ３］
［ｐ４  ｐ５  ｐ６］
［０  ０  １］
で表すことができる。
【０００７】
したがって、アフィンワープ関数は、以下の通りに、すなわち、
ｕ’＝ｐ１ｕ＋ｐ２ｖ＋ｐ３
ｖ’＝ｐ４ｕ＋ｐ５ｖ＋ｐ６
により点［ｕ，ｖ］を第１の画像から第２の画像中の点［ｕ’，ｖ’］に変換する。
【０００８】
この場合、アフィンワープのための操作数は、標準的な共線変換ワープ関数についての操作数よりも少ないことに留意されたい。特に、アフィンワープ関数中に分数部分（ｄｉｖｉｓｉｏｎ）がないため、アフィンワープは、計算能力が限られたデバイス上でより高速である。
【０００９】
加えて、とりわけ、アフィンワープは、並列性および距離同士の比率を保存する。
【００１０】
第１の画像および第２の画像が、像平面がある平坦面に平行であるように取得されるとき、その平坦面に対応する共線変換ワープは、アフィンワープである。
【００１１】
当該技術分野では、以下の参考文献が、本分野において出版されている。
［１］  Ｃ．Ｓｔｅｇｅｒ、Ｏｃｃｌｕｓｉｏｎ，ｃｌｕｔｔｅｒ，ａｎｄ  ｉｌｌｕｍｉｎａｔｉｏｎ  ｉｎｖａｒｉａｎｔ  ｏｂｊｅｃｔ  ｒｅｃｏｇｎｉｔｉｏｎ、Ｉｎｔ．Ａｒｃ．Ｐｈｏｔｏ、Ｒｅｍｏｔｅ  Ｓｅｎｓｉｎｇ，ＸＸＸＩＶ、ｐａｒｔ  ３Ａ：３４５〜３５０、２００２
［２］  Ｂ．ＬｕｃａｓおよびＴ．Ｋａｎａｄｅ、Ａｎ  ｉｔｅｒａｔｉｖｅ  ｉｍａｇｅ  ｒｅｇｉｓｔｒａｔｉｏｎ  ｔｅｃｈｎｉｑｕｅ  ｗｉｔｈ  ａｎ  ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ｓｔｅｒｅｏ  ｖｉｓｉｏｎ、Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｉｎｔ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ、１９８１
［３］  Ｗｏｎｗｏｏ  Ｌｅｅ他、  Ｐｏｉｎｔ−ａｎｄ−Ｓｈｏｏｔ  ｆｏｒ  Ｕｂｉｑｕｉｔｏｕｓ  Ｔａｇｇｉｎｇ  ｏｎ  Ｍｏｂｉｌｅ  Ｐｈｏｎｅｓ、Ｐｒｏｃ．Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｍｉｘｅｄ  ａｎｄ  Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ  ２０１０
［４］  Ｍｙｕｎｇ  Ｈｗａｎｇｂｏ、Ｊｕｎ−Ｓｉｋ  Ｋｉｍ、およびＴａｋｅｏ  Ｋａｎａｄｅ、Ｉｎｅｒｔｉａｌ−Ａｉｄｅｄ  ＫＬＴ  Ｆｅａｔｕｒｅ  Ｔｒａｃｋｉｎｇ  ｆｏｒ  ａ  Ｍｏｖｉｎｇ  Ｃａｍｅｒａ、Ｔｈｅ  ２００９  ＩＥＥＥ／ＲＳＪ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ
［５］  Ｌｏｂｏ，Ｊ、およびＤｉａｓ，Ｊ、Ｖｉｓｉｏｎ  ａｎｄ  Ｉｎｅｒｔｉａｌ  Ｓｅｎｓｏｒ  Ｃｏｏｐｅｒａｔｉｏｎ  Ｕｓｉｎｇ  Ｇｒａｖｉｔｙ  ａｓ  ａ  Ｖｅｒｔｉｃａｌ  Ｒｅｆｅｒｅｎｃｅ、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ、Ｖｏｌｕｍｅ：２５  Ｉｓｓｕｅ：１２、１５９７〜１６０８ページ
［６］  Ｓｉｍｏｎ  ＢａｋｅｒおよびＩａｉｎ  Ｍａｔｔｈｅｗｓ、Ｅｑｕｉｖａｌｅｎｃｅ  ａｎｄ  Ｅｆｆｉｃｉｅｎｃｙ  ｏｆ  Ｉｍａｇｅ  Ａｌｉｇｎｍｅｎｔ  Ａｌｇｏｒｉｔｈｍｓ、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００１  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ
［７］  Ｓ．Ｈｉｎｔｅｒｓｔｏｉｓｓｅｒ、Ｖ．Ｌｅｐｅｔｉｔ、Ｓ．Ｂｅｎｈｉｍａｎｅ、Ｐ．Ｆｕａ、およびＮ．Ｎａｖａｂ、Ｌｅａｒｎｉｎｇ  Ｒｅａｌ−Ｔｉｍｅ  Ｐｅｒｓｐｅｃｔｉｖｅ  Ｐａｔｃｈ  Ｒｅｃｔｉｆｉｃａｔｉｏｎ、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ、２０１０
【００１２】
変換を求めるための上述の標準的な手法を図１に示す。
【００１３】
第１のステップＳ１では、１つまたは複数のテンプレートまたは参照画像（第１の画像）が、カメラにより取り込まれるか、または、ソースから読み込まれる。次いで、まず、現在の画像（第２の画像）が、取り込まれるか、または、読み込まれる（ステップＳ２）。次のステップＳ３では、実際の推定が行われる。現在の画像の少なくとも一部とテンプレート画像中の対応する位置を位置合わせする共線変換ワープ関数を求めなければならない。数ある技法の中でも、これは、テンプレート画像中の第１の画素セットが、現在のカメラ画像中の計算した画素セットと比較され、比較に使用されるカメラ画像中の計算した画素セットが反復ごとに変化する反復最小化プロセスにおいて行うことができる（例えば［２］参照）。
【００１４】
カメラ画像の少なくとも一部をテンプレート画像の少なくとも一部に位置合わせするための数学的に全ての手法は、８次元非線形最適化を実行する。目標は、テンプレート画像に対応する全ての画素にわたってのテンプレートとワープした現在の画像との間の類似尺度の極値になるワープパラメータのベクトルを求めることである。これは、通常、非常に高価な計算タスクである。
【００１５】
最後に、ステップＳ４において、求めた共線変換ワープ関数Ｗがアプリケーションに使用される。
【００１６】
標準的な手法では、以下の制限が与えられる。
【００１７】
現在の画像の少なくとも一部をテンプレート画像と位置合わせする共線変換ワープ関数を求めるために必要とされる８次元非線形最適化は、高価であり、それに依存するアプリケーションを処理能力が限られたモバイル機器に関して特に困難にさせる。Ｌｕｃａｓ−Ｋａｎａｄｅ［２］などの反復手法では、テンプレートとの類似性を計算するために、現在の画像中の画素の高価な非線形ワープをあらゆる反復において計算しなければならない。
【００１８】
計算の複雑さに加えて、オフライン段階で多数の可能な方法でテンプレートを変換する手法では、メモリ消費は途方もないものになり得る。事前計算される変換の回数、およびメモリ消費は、自由度（ＤｏＦ）に比例して（指数的に）増加する。任意の剛体変換としては、６ＤｏＦ（３Ｄ平行移動および３Ｄ回転）がある。このような手法は、現在の画像ごとに現在の画像に最も近い事前計算される変換を求めようとする（例えば［１］参照）。膨大な量の必要な事前計算されるデータは、モバイルフォンなどのメモリの限られたデバイス上でそれらのデータを実行可能でなくさせる。
【００１９】
弱透視投影が拡大縮小された直交投影（すなわち、線形変換）による透視画に近づくといったすでに提案された解決策が存在する。このように近づけることにより、非線形ワープより計算が一般的に高速である線形ワープが可能となるが、テンプレートが光軸の近くに位置し、現在の画像中でカメラから遠く離れている場合、画像レジストレーションのために使用できるにすぎない。
【００２０】
アフィン変換は、平行移動、面内回転、および拡大縮小をサポートするだけである。全ての点がある平面が像平面に常に平行でなければならないので、このことは再び、高速線形ワープとなるが、適用範囲はごく限られている。
【００２１】
例えば、［３］の著者らは、加速度計により測定される携帯型取り込み装置の向きを使用して、著者らがテンプレート画像として使用する画像を調整する。しかし、現在のカメラ画像とテンプレート画像のアライメント調整中に、著者らは、装置の向きを全く考慮していない。
【００２２】
［４］の著者らは、カメラに取り付けられたジャイロスコープを使用して、ＫＬＴトラッカにおいて現在の画像から次の現在の画像へ追跡する特徴の位置および向きを予測する。これは、高速なカメラの動きに対して特に有用である。
【００２３】
［５］の著者らは、ステレオカメラに取り付けられた慣性センサを使用して、特徴が床面にあるか、ないかを判定する。また、著者らは、部屋の角などの床面からの垂直な特徴を検出することができる。
【００２４】
慣性センサを上記のコンピュータビジョンと組み合わせる手法は、カメラ画像の少なくとも一部をテンプレート画像と位置合わせすることを目的とするものではなく、アフィン変換および弱透視投影は、この課題に近づくことをもたらすにすぎない。これらは、非常に特別な場合に有用であるにすぎない。
【発明の概要】
【発明が解決しようとする課題】
【００２５】
したがって、より低い計算コストで標準的な手法と同様の結果をもたらす、現在のカメラ画像の少なくとも一部を任意のカメラの位置および向きについてのテンプレート画像の少なくとも一部に位置合わせするのに必要な共線変換ワープ関数を得るための手法を有することが望ましい。
【課題を解決するための手段】
【００２６】
本発明の一態様によれば、第１の画像の少なくとも一部と第２の画像の少なくとも一部を位置合わせする方法であって、
ａ．実環境の第１の画像および第１の画像に関連した座標系を用意するステップと、
ｂ．実環境の第２の画像を用意するステップと、
ｃ．実環境を基準にして取り込み装置の向きおよび／または距離の測定を行う一方、第２の画像を取り込むステップと、
ｄ．第２の画像の少なくとも一部に関連した測定（ｍｅａｓｕｒｅｍｅｎｔｓ）から共線変換ワープ関数を決定するステップと、
ｅ．対応する決定した共線変換ワープ関数を適用することにより第２の画像の少なくとも一部を変換するステップと、
ｆ．第２の画像の変換された少なくとも一部および第１の画像の少なくとも一部の画素に基づいて、画像レジストレーション方法により第２の画像の変換された少なくとも一部と第１の画像の少なくとも一部を位置合わせするための第２のワープ関数であって、２次元画像座標軸における平行移動、均一な拡大縮小および面内回転をサポートする第２のワープ関数を決定するステップと、
ｇ．共線変換ワープ関数および第２のワープ関数を用いて第２の画像の少なくとも一部と第１の画像の少なくとも一部を位置合わせするステップと
を含む方法が提供される。
【００２７】
このように、本発明は、取り込み装置の測定した向き（ｍｅａｓｕｒｅｄ  ｏｒｉｅｎｔａｔｉｏｎ）を組み込むことにより、取り込まれた現在の画像をテンプレート画像に空間的に位置合わせするのに必要な共線変換ワープ関数Ｗを、上述のように求めることの複雑さを低減することを提案する。特に、共線変換ワープ関数Ｗを、測定した向きから直接計算できる共線変換ワープ関数Ｐと、それに続いて推定される必要があるアフィン変換Ａと、に分解することができる。以下より詳細に述べる通り、必要とされる評価パラメータがより少ないため、Ａを求めることはＷを求めることよりも安価でより安定的である。
【００２８】
一実施形態によれば、向きの測定は、慣性センサ、加速度計、ジャイロスコープ、コンパス、あるいは機械式、電磁気式、音響式または光学式の追跡システムのうちの少なくとも１つによりもたらされる。本発明の内容では、慣性センサは、磁力計（例えば、コンパス）、モーションセンサ／回転センサ（加速度計／ジャイロスコープ）、重力センサ、およびそのような情報を与える他のセンサの任意の組み合わせを用いることで、環境に関して対象または装置の位置および／または向きを含むセンサ情報を例えば連続的に提供することができる。
【００２９】
さらなる実施形態によれば、距離の測定は、ＴＯＦカメラ、ステレオカメラ、無線信号の三角測量、位相差計側、または立体照明による手法を用いた装置のうちの少なくとも１つによりもたらされる。距離情報を提供するセンサは、光が可視または赤外線である、立体照明による手法を用いた装置であってもよい（例えば、Ｍｉｃｒｏｓｏｆｔの既知のＫｉｎｅｃｔカメラ）。
【００３０】
一実施形態によれば、向きの測定（ｔｈｅ  ｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｏｒｉｅｎｔａｔｉｏｎ  （Ｒ））は、重力ベクトルの測定に基づいて計算された２次元回転を包含する。例えば、第１の画像の少なくとも一部は、測定した重力ベクトルに対して知られた向きに配置された物理的対象に対応する。そして、共線変換ワープ関数は、測定した重力ベクトルに対して知られた向きにある仮想像平面に関連していてもよい。
【００３１】
別の実施形態によれば、向きの測定（ｔｈｅ  ｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｏｒｉｅｎｔａｔｉｏｎ  （Ｒ））は、実環境を基準にした取り込み装置の３次元回転を包含する一方、取り込み装置により第２の画像を取り込む。
【００３２】
例えば、向きの測定および／または距離の測定（ｔｈｅ  ｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｏｒｉｅｎｔａｔｉｏｎ  ａｎｄ／ｏｒ  ｄｉｓｔａｎｃｅ）から、第１の画像に関連した座標系に対しての取り込み装置の向きが、ステップｄ）の共線変換ワープ関数の決定のために計算され、かつ、使用される。共線変換ワープ関数は、座標系に揃えられた仮想像平面に関連していてもよい。
【００３３】
さらなる発展例によれば、距離の測定（ｔｈｅ  ｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｄｉｓｔａｎｃｅ）からさらに、物理的対象に対する取り込み装置の距離が、座標系中の取り込み装置の１次元平行移動を計算するために決定される。
【００３４】
例えば、向きは、第２の画像中のＮ点のセットの距離の測定（ｔｈｅ  ｍｅａｓｕｒｅｍｅｎｔｓ  ｏｆ  ｄｉｓｔａｎｃｅ）から決定され、Ｎが少なくとも３である。
【００３５】
一実施形態によれば、第１の画像および／または第２の画像は、区分的平面と仮定される３次元の物理的対象の画像である。例えば、第２のワープ関数は、アフィンワープ関数である。
【００３６】
さらなる実施形態によれば、画像レジストレーション方法は、反復最小化プロセスに基づいており、第１の画像中の第１の画素セットは、第２の画像中の計算した画素セットと比較され、比較に用いた第２の画像中の計算した画素セットは、反復ごとに変化する。例えば、画像レジストレーションにおける比較は、画像の強度の差異に基づいている。このようにして、測光誤差を計算することができる。この誤差は、パラメータセットの更新を検索する非線形最適化の費用関数に用いることができる。
【００３７】
第２のワープ関数は、［６］に記載されるように、逆合成法、逆加算法、前方合成法、または前方加算法などの傾斜降下を用いた方法で決定することができる。さらに、第２のワープ関数は、学習に基づいた方法で決定することができ、そこでは、テンプレート画像（第１の画像）の異なるビューが、事前計算されており、現在の変換に最も近い事前計算された変換が、［１］または［７］に記載されるように決定される。
【００３８】
特に、第２のワープ関数のパラメータの初期推定が、反復最小化プロセスへ与えられるようにしてもよい。例えば、ワープ関数のパラメータの初期推定が、第１の画像の取り込みと第２の画像の取り込みの間の取り込み装置の動きの推定を用いて決定される。
【００３９】
本発明の一実施形態によれば、ステップｃ）において、少なくとも第３の画像（例えば、１つまたは複数のさらなるテンプレート画像）およびそれぞれの関連した座標系が、さらに用意され、第２の画像は、第１の画像の対象および少なくとも第３の画像の対象を少なくとも一部含み、ステップｄ）〜ｇ）は、第１の画像および少なくとも第３の画像について個々に実行される。
【００４０】
例えば、第１の画像および／または少なくとも第３の画像、ならびにそれらの関連した座標系は、オフラインで取得される。
【００４１】
別の実施形態によれば、第１の画像および／または少なくとも第３の画像、ならびにそれらの関連した座標系は、オンラインで取得され、かつ／または、オンラインで更新される。この場合には、水平面上にある同じ平面にある平坦なテンプレートと現在の画像中の対応する領域の間の変換を求めることに加えて、２つ以上の現在の画像中の同じ平面にある水平領域の間の変換は、同じ方法で求めることができる。しかし、全ての画像が、仮想像平面へ投影されることが必要である。
【００４２】
これにより、床または天井のパノラマを得る画像合成が可能になる。興味深い特性は、合成に使用される平面上にない点、例えば、床上にある小さな対象、または天井にあるランプは、容易に特定できるということである。なぜなら、それらがカバーする画素の見かけは、投影したカメラ画像において、カメラの位置に応じて異なる一方で、平面上にある全ての点は、その見かけを理想的に維持するためである。これは、床面の自動高密度分割に用いることができる。
【００４３】
本発明の可能な実施では、第２の画像の少なくとも一部の位置合わせの結果は、取り込み装置の姿勢の決定に用いられる。例えば、取り込み装置の決定された姿勢は、拡張現実アプリケーションに使用される。
【００４４】
本発明の別の態様は、コンピュータプログラムであって、デジタルコンピュータの内部メモリに読み込まれるようになされ、コンピュータプログラムがコンピュータ上で実行しているときに、本発明による方法を実行するソフトウェアコードセクションを含むコンピュータプログラムにも関連している。
【００４５】
次に、添付図面と併せて例示的な実施形態の以下の説明を参照して本発明を説明する。
【図面の簡単な説明】
【００４６】
【図１】画像レジストレーションについての標準的な手法のフロー図である。
【図２】本発明の一実施形態による画像レジストレーションについての例示的な手法のフロー図である。
【図３】本発明の一実施形態による少なくとも第３の画像との画像レジストレーションについての例示的な手法のフロー図である。
【図４】知られた３ＤｏＦのカメラの向きおよび知られた任意のテンプレートの向きを用いて、本発明の一実施形態によるカメラにより取り込まれるテンプレート画像と現在の画像を位置合わせするプロセスの視覚化を示す図である。
【図５】知られた２ＤｏＦのカメラの向きおよび 水平にされたテンプレートを用いて、本発明の一実施形態によるカメラにより取り込まれたテンプレート画像と現在の画像を位置合わせする別のプロセスの視覚化を示す図である。
【図６】深さ感知カメラおよび知られていない任意のテンプレートの向きを用いて、本発明の一実施形態によるカメラにより取り込まれたテンプレート画像と現在の画像を位置合わせする別のプロセスの視覚化を示す図である。
【発明を実施するための形態】
【００４７】
添付の図面を参照して、本発明の態様による方法の実施形態をより詳細に説明する。以下の説明は、本発明による方法の態様の可能性のある実施の一例にすぎず、その方法またはステップは、第１の画像と第２の画像の位置合わせが行われる任意の他の分野または応用に使用することもできることを当業者は理解されよう。
【００４８】
以下には、固有パラメータ、すなわち内部カメラパラメータの推定を伴う実環境の画像を取り込むためのカメラなどの取り込み装置Ｄが提供されることが想定される。カメラの向きＲの測定を直接送り出す、または、環境中のおよび画像に取り込まれた少なくとも３点の測定した距離から決定されるカメラの向きＲの測定を送り出す、装置が取り付けられるている。発明者らは、現在のカメラ画像ＩをテンプレートＴに空間的に位置合わせすることを意図する。以下に、発明者らは、取り込み装置Ｄの測定した向き（ｍｅａｓｕｒｅｄ  ｏｒｉｅｎｔａｔｉｏｎ）Ｒを組み込むことによりＴとＩの視覚による位置合わせの複雑さを低減する手段を提案する。明確で読み易くするために、本説明は、平面物体の垂直正面図を表すテンプレート画像を取り扱い、テンプレートＴ全体をＩにおける対応する画素に位置合わせすることを目標とする。しかし、この方法は、区分的平面とみなすことができるターゲットに一般化することもできる。これは、例えば、テンプレート画像の一部を物理的対象の局所的な平坦領域に関係付けることにより簡単に行うことができる。
【００４９】
以下では、本発明の一実施形態による画像レジストレーションについての例示的な手法のフロー図を示す図２を参照する。図２は、概して手法を示しており、これは、図４〜図６に示されるように例によってさらに説明される。平坦なテンプレートＴの少なくとも一部と任意の視野角の下でとられる現在のカメラ画像Ｉのその対応する位置とを位置合わせする共線変換ワープ関数Ｗを求める本発明の態様による手法は、ステップＳ１において、関連した座標系ＣＳを用いて第１の画像Ｔをテンプレートとしてまず取り込むか、または、読み込む。ステップＳ２では、現在のカメラ画像としての第２の画像Ｉが、読み込まれるか、または、取り込まれる。ステップＳ３では、取り込み装置（すなわちカメラ）の向きが測定され、または、第２の画像が得られたときの向きが読み込まれる。ステップＳ４において、装置の向きＲ、座標系ＣＳおよび第２の画像Ｉを使用して、仮想像平面ＶＩＰへの第２の画像Ｉの投影を計算する。この変換は、カメラの向きＲおよびＣＳの関数である共線変換ワープ関数Ｐを用いて行われる。
【００５０】
変換した画像Ｉｐを第１の画像Ｔと位置合わせするための変換は、線形であり、アフィンホモグラフィを用いて説明することができる。ステップＳ５において、このホモグラフィＡが推定される（例えばＬｕｃａｓ  Ｋａｎａｄｅ［２］の知られたアルゴリズムを用いて、例えば、反復最小化プロセスの中で計算される）。やはり、これを行うために多くの手法が存在する。しかし、ホモグラフィＡは、アフィンホモグラフィであるので、ホモグラフィＡの推定は、標準的な手法を参照した上述したような共線変換ワープ関数の推定よりも、計算がより単純である。以下のステップＳ６では、元の現在の画像の少なくとも一部を変換する共線変換ワープ関数Ｗは、ＰとＡの組み合わせとして計算される。最後に、ステップＳ７において、拡張現実アプリケーションなどのアプリケーションは、この投影変換Ｗを使用する。ステップＳ５とステップＳ６の両方において、位置合わせは、どちらかの方向にワープすることにより実現することができることが当業者には理解されよう。例えば、ステップＳ５では、Ａは、変換した画像Ｉｐが第１の画像Ｔと位置合わせされるように決定することができ、またはＡの逆は、第１の画像Ｔを変換した画像Ｉｐに位置合わせすることにより決定することができる。
【００５１】
少なくとも第３の画像Ｔ３および関連した座標系ＣＳ３がさらに与えられ、第３の画像が追加のテンプレート画像である本発明の一実施形態では、図２中のフロー図は、図３中に示されるように拡張される。図３のステップＳ１では、第１の画像Ｔおよびその関連した座標系ＣＳに加え、少なくとも第３の画像Ｔ３と関連した座標系ＣＳ３が与えられる。前述のように、図３のステップＳ２およびステップＳ３では、第２の画像Ｉが取り込まれるか、または、読み込まれ、取り込み装置Ｄの向きＲが測定されるか、または、読み込まれる。次いで、ステップＳ４、Ｓ５およびＳ６において、ＩおよびＲが、現在の画像Ｉをテンプレート画像と位置合わせするコアアルゴリズムに与えられる。各テンプレート画像と関連した座標系、すなわち第１の画像および少なくとも第３の画像は、ステップＳ４〜Ｓ６を行うコアアルゴリズムのインスタンスにより処理される。結果として得られる共線変換ワープ関数Ｗ、Ｗ３、…は、最終的に、ステップＳ７においてアプリケーションに使用される。
【００５２】
標準的な手法との根本的な差異および改善点は、共線変換ワープ関数Ｗを、制約された、例えばアフィン変換Ａと、取り込み装置Ｄの測定した向きＲから直接計算できる共線変換ワープ関数Ｐと、に分解したことである。元の現在の画像Ｉをテンプレート画像Ｔに位置合わせすることは、標準的な手法において行われるのと同様に、画像レジストレーション方法を用いて非線形ワープ関数Ｗを求める８次元非線形最適化問題である。この場合には、完全な共線変換ワープ関数が推定されなければならない。本発明による新たな手法では、制約されている、例えばアフィンである変換Ａを決定しさえすればよい。
【００５３】
これにより、提案した手法は、標準的な手法よりも高速かつ安定的となる。加えて、テンプレートの事前計算したビューに基づいた画像レジストレーション技法の場合、この新たな手法であれば必要とするメモリが少なくてすむ。
【００５４】
以下に、図４〜図６に示される３つの例示的な実施を参照して、本発明による方法の態様を説明する。
【００５５】
図４は、任意であるが知られた向きでの（すなわち、平坦なテンプレート画像Ｔの法線ｎも、ベクトルｕを定義するための回転と同様に知られている）平坦なテンプレートへの位置合わせ、および取り込み装置の所与の現在の３ＤｏＦの向きを視覚化したものを示す。取り込み装置Ｄの測定した向きＲが、静止したワールド座標系に対して３次元回転を示す場合、静止した平坦なテンプレート画像Ｔの３次元の法線ｎ、およびワールド座標系中の１つの垂直なベクトルｕをオフラインまたはオンラインで定義することが提案される。実行時には、ｎおよびｕは、向きの測定のずれを説明するように更新することができる。
【００５６】
ｎ、ｕ、および取り込み装置Ｄの現在の向きＲが与えられたとすれば、テンプレート画像Ｔの知られた法線ｎに垂直であり、共線変換ワープ関数Ｐ（図４を参照せよ）を用いてテンプレート画像Ｔの知られたベクトルｕに揃えられた仮想像平面ＶＩＰへ現在のカメラ画像Ｉを投影することが提案される。
【００５７】
この変換した画像Ｉｐには、テンプレート画像Ｔ上にある点の任意のセットが、数学的に相似および正立で表される。より正確には、画像Ｉｐの見かけは、均一な拡大縮小、それに続く画像Ｔ中の元の点の平行移動の結果である。この変換は、均一な拡大縮小ならびにｘおよびｙ（２つの画像軸）における平行移動のみをサポートするアフィンホモグラフィＡを用いて十分に説明することができるので、そのとき、この変換された現在の画像Ｉｐとテンプレート画像Ｔの位置合わせは、線形ワープを求める３次元非線形最適化問題である。
【００５８】
要するに、図２のフロー図を参照すると、図４の例では、以下のそれぞれの仮定または実施がなされる。すなわち、取り込み装置の現在の３ＤｏＦの向きが知られている；グローバル座標系に対するテンプレート画像Ｔの向きが知られている；ステップＳ３は、グローバル座標系における取り込み装置Ｄの３Ｄ向きを測定できる任意の装置を用いて実施してもよい；向きの測定Ｒは、グローバル座標系における３Ｄ回転であり、Ｐ（ｘ，ｐ）は、装置の座標系に揃えられた仮想像平面ＶＩＰへの投影を表し；Ａ（ｘ，ｐ）は、ｘ、ｙ、ｚ平行移動（３Ｄ）をサポートするアフィンホモグラフィである。
【００５９】
図５は、重力に対して２ＤｏＦのカメラの向きが与えられる水平で平坦なテンプレートへの位置合わせの視覚化を示す。慣性センサのようないくつかのセンサが、重力ベクトルに対する取り込み装置の２次元回転を与えるのにすぎない。この場合には、向きの測定Ｒは、重力ベクトルの方向を表すのにすぎない。ここで、図４を参照して説明されるものと同様の手法を使用できるが、これは、水平にされた（水平）平面上にあるテンプレート、例えば、テーブル上にある雑誌、床または塗装した天井にあるモザイクに限定される。共線変換ワープ関数Ｐにより、測定した重力ｎに垂直である仮想像平面ＶＩＰへ現在のカメラ画像Ｉを投影する。これにより、テンプレート画像Ｔ上にある点の任意のセットが数学的に相似で表される変換した画像Ｉｐになる。より正確には、Ｉｐの見かけは、元の点の均一な拡大縮小の結果と合同である。または、視覚的に言えば、変換されたカメラ画像Ｉｐは、テンプレート画像Ｔの上部から直交して得られるように現れる（図５参照）。
【００６０】
この変換は、アフィンホモグラフィＡを用いて十分に説明できるので、このとき、この変換された現在の画像Ｉｐとテンプレート画像Ｔの位置合わせは、線形ワープを求める６次元非線形最適化問題である。このホモグラフィは、２つの画像軸に沿った平行移動、均一な拡大縮小、および面内回転のみをサポートする。
【００６１】
要するに、図２のフロー図を参照すると、図５の例では、以下のそれぞれの仮定または実施がなされる。すなわち、テンプレート画像Ｔは、水平にされた平面上にある；ステップＳ３は、加速度計を用いて実施されてもよい；向きの測定Ｒは重力の方向であり、したがって２Ｄ回転である；Ｐ（ｘ，ｐ）は、測定した重力に垂直な仮想像平面ＶＩＰへの投影を表す；ならびにＡ（ｘ，ｐ）は、ｘ、ｙ、ｚ平行移動および面内回転（４Ｄ）をサポートするアフィンホモグラフィである。
【００６２】
図６は、カメラ座標系中のテンプレートの法線が与えられた任意に向けられた平坦なテンプレートへの位置合わせの視覚化を示す。取り込み装置または付属の装置Ｄが、現在の画像Ｉの特定の画素についての測定した深さの情報を提供する場合、かつ内部カメラパラメータが知られている場合、カメラの座標系中の個々の画素の３Ｄ位置は、計算することができる。現在のカメラ画像Ｉが、標準的な手法を用いて任意に向けられたテンプレート画像Ｔとうまく位置合わせされた後、次の現在の画像において、発明者らは、テンプレートが最後の現在の画像（領域Ｒ１）にある中央領域（Ｒ２）に近い現在のカメラ画像Ｉ中の少なくとも３つの画素の測定した深さ（ｄ１、ｄ２、ｄ３、ｄＮ）をまずサンプリングすることを提案する（図６参照）。ここで、仮定は、これらの画素が現在の画像中のテンプレートをまだ含むというものである。次いで、図６に示されるように、サンプリングした画素に対応するこの３Ｄ点に平面を合わせ、法線ｎを有するこの平面を仮想像平面ＶＩＰとして使用する。
【００６３】
共線変換ワープ関数Ｐを用いてこの仮想像平面ＶＩＰに投影された現在のカメラ画像Ｉは、Ｉｐと呼ばれることになる。これをテンプレート画像Ｔに空間的に位置合わせすることは、ｘおよびｙ（画像軸）における平行移動、面内回転、および均一な拡大縮小をサポートするアフィンホモグラフィＡを用いて説明することができる。
【００６４】
要するに、図２のフロー図を参照すると、図６の例では、以下のそれぞれの仮定または実施がなされる。すなわち、ステップＳ３は、テンプレートを含むと考えられるカメラ画像中の少なくとも３つの画素の深さをサンプリングする知られたＭｉｃｒｏｓｏｆｔ  Ｋｉｎｅｃｔカメラなどの深さ感知カメラを用いて実施される；向きの測定Ｒは、取り込み装置の座標系中のテンプレートの法線の方向であり、したがって２Ｄ回転である；Ｐ（ｘ，ｐ）は、テンプレートの測定した法線に垂直な仮想像平面ＶＩＰへの投影を表す；Ａ（ｘ，ｐ）は、ｘ、ｙ、ｚ平行移動および面内回転（４Ｄ）をサポートするアフィンホモグラフィである。
【００６５】
以下に、本発明の態様のさらなる適宜の改善形態または追加の適用形態を説明する。以下の説明は、本発明を本応用分野に限定することなく、本発明の態様の可能な適用ケースを記載することが当業者には理解されよう。好ましい実施形態では、本発明は、カメラを搭載するモバイルコンピューティングデバイス上で実行するリアルタイムの拡張現実アプリケーションに使用することができる。本出願の目的は、例えば、コンピュータグラフィックモデルなどの仮想情報を水平面上にある実際の平面物体を取り込むライブビデオストリームに重ね合わせることである。そのようなアプリケーションにおいて行われる重ね合わせは、カメラと平面物体の間の相対的な姿勢を考慮しており、モバイルデバイスが、平面物体に対してその位置および向きを変化させているときにも、コンピュータグラフィックモデルがライブビデオストリームに継ぎ目なく統合されることを意味する。モバイルコンピューティングデバイス上で実行するアプリケーションは、水平面上にある平面物体に対するカメラの相対的な位置（３Ｄ平行移動）および向き（３Ｄ回転）を与えるアルゴリズムを含んでもよい。３Ｄ平行移動および回転は、（３×３）共線変換行列から得ることができ、このことは、アルゴリズムが、参照画像を現在取得した画像へ変換する最適な（３×３）共線変換行列をまず求め、次いで、モバイルコンピューティングデバイスのカメラの固有パラメータを知り３Ｄ平行移動および回転を抽出することを意味する。
【００６６】
この内容では、重力ベクトルに対するモバイルコンピューティングデバイスの向きが使用される場合、そのようなデータは、慣性センサによって提供されてもよく、平面物体が水平面上にあるとすると、知られていない共線変換行列がアフィンになるように現在の画像を事前にワープすることが可能である。この手法は、知られていない自由度が低減されるため、計算の要求および効率の観点からコンピュータグラフィックモデルをライブビデオストリームに継ぎ目なく統合するのに必要とされる３Ｄ平行移動および回転の決定プロセスを改善する。
【図１】
0005781682.tif 000002
【図２】
0005781682.tif 000003
【図３】
0005781682.tif 000004
【図４】
0005781682.tif 000005
【図５】
0005781682.tif 000006
【図６】
0005781682.tif 000007