(57)【要約】３Ｄ座標によって特定される点を有するポイントクラウドを含む、シーンの３Ｄモデルを再構成するシステムは、画像の視点を規定する異なる姿勢からシーンの１セットの画像を取り込むセンサー（複数の場合もある）と、画像と、３Ｄモデルとを記憶するメモリとを備える。本システムは、メモリに動作可能に接続され、記憶された命令に結合されるプロセッサであって、このプロセッサは、１セットの画像からの画像を変換して、仮想視点から視認されるシーンの１セットの仮想画像を生成し、画像及び仮想画像からのいくつかの特徴を比較して、１セットの画像内の各画像の視点を特定し、少なくとも２つの画像の視点に従って、モデル内の点（複数の場合もある）の３Ｄ座標を、この点に対応する２つの画像のピクセルからの光線逆投影法の交点の座標と一致するように更新する、プロセッサも備える。
2019536170.tif 000002
【特許請求の範囲】
【請求項１】
画像の視点を規定する異なる姿勢において少なくとも１つのセンサーによって取り込まれたシーンの１セットの画像から前記シーンの３次元（３Ｄ）モデルを再構成する方法であって、前記３Ｄモデルは、３Ｄ座標によって特定される点を有するポイントクラウドを含み、前記方法のステップは、前記１セットの画像を記憶するメモリに接続され、前記方法を実施する記憶された命令と結合されるプロセッサによって実行され、前記命令は、前記プロセッサによって実行されるときに、前記方法の少なくともいくつかのステップを実行し、前記方法は、
前記１セットの画像からの前記画像を変換して、仮想視点から視認される前記シーンの１セットの仮想画像を生成することと、
前記画像及び前記仮想画像からの少なくともいくつかの特徴を比較し、前記１セットの画像内の各画像の前記視点を特定することと、
少なくとも２つの画像の前記視点に従って、前記シーンの前記３Ｄモデル内の少なくとも１つの点の３Ｄ座標を、前記点に対応する前記２つの画像のピクセルからの光線逆投影法の交点の座標と一致するように更新することと、
を含む、方法。
【請求項２】
前記１セットの画像は第１の視点を規定する第１の姿勢において取り込まれるシーンの第１の画像と、第２の視点を規定する第２の姿勢において取り込まれる前記シーンの第２の画像とを含み、前記方法は、
前記第１の画像を変換して、前記第１の視点とは異なる仮想視点に対応する第１の仮想画像を生成することであって、前記変換することは、前記シーンの同じ点を表すために、前記第１の画像及び前記仮想画像の少なくともいくつかのピクセル間の対応を保持することと、
前記第２の画像のうちの少なくともいくつかの特徴を前記仮想画像のうちの少なくともいくつかの特徴と比較し、前記第２の画像、前記仮想画像及び前記第１の画像の少なくともいくつかのピクセル間の対応を特定することと、
前記第２の画像からのピクセルのサブセットの座標と、前記第１の画像からのピクセルのサブセットに対応する前記シーンの点の座標とに基づいて、前記第１の画像及び前記第２の画像からの前記対応するピクセルのサブセットを用いて、前記第１の画像の前記第１の視点に対する前記第２の画像の前記第２の視点を決定することと、
前記第１の画像及び前記第２の画像内の対応するピクセルのバンドル調整を用いて、前記シーンの前記３Ｄモデル内の前記点の３Ｄ座標を更新することと、
を含む、請求項１に記載の方法。
【請求項３】
前記第１の画像は３Ｄセンサーによって取り込まれ、前記方法は、
前記３Ｄセンサーを用いて、前記第１の画像からのピクセルの前記サブセットに対応する前記シーンの点の前記座標を特定することを更に含む、請求項２に記載の方法。
【請求項４】
所定の初期距離を用いて、前記第１の画像からのピクセルの前記サブセットに対応する前記シーンの点の前記座標を特定することを更に含む、請求項２に記載の方法。
【請求項５】
前記仮想視点は前記第１の視点と同じ位置を有するが、異なる向きを有し、前記方法は、
前記仮想視点と前記第１の視点との間の向きの違いと、カメラ内部行列とから求められるホモグラフィ行列を用いて、前記第１の画像のあらゆるピクセルをワーピングすることによって前記第１の仮想画像を生成することを更に含む、請求項２に記載の方法。
【請求項６】
前記１セットの画像は、第３の視点を規定する第３の姿勢において取り込まれる前記シーンの第３の画像を含み、前記方法は、
前記第１の画像及び前記第３の画像の特徴を比較し、前記シーン内の同じ点に対応する前記第１の画像及び前記第３の画像のピクセルを特定することと、
相対姿勢推定を用いて、前記第１の画像からのピクセルの前記サブセットに対応する前記シーンの点の前記座標を特定することと、
を更に含む、請求項２に記載の方法。
【請求項７】
６自由度（６−ＤＯＦ）センサー姿勢空間をサンプリングして、１セットのサンプリングされた視点を生成することと、
前記１セットのサンプリングされた視点に関する前記仮想画像を生成することと、
を更に含む、請求項１に記載の方法。
【請求項８】
前記サンプリングは、前記１セットの画像内の、未知の視点を有する画像に向かってバイアスをかけられる、請求項７に記載の方法。
【請求項９】
画像の将来の視点を得るために、前記６−ＤＯＦセンサー姿勢空間の部分空間を推定することと、
前記６−ＤＯＦセンサー姿勢空間の前記部分空間をサンプリングし、サンプリングされた視点を生成することと、
前記サンプリングされた視点に関する前記仮想画像を生成することと、
を更に含む、請求項７に記載の方法。
【請求項１０】
前記センサーの現在の姿勢と、前記センサーの運動の軌道とを用いて、前記６−ＤＯＦセンサー姿勢空間の前記部分空間を推定することを更に含む、請求項９に記載の方法。
【請求項１１】
前記仮想視点は、前記１セットの画像からの少なくとも１つの画像をワーピングすること、シーンの前記３Ｄモデルを前記仮想視点に投影すること、及び平面誘発ホモグラフィを用いることのうちの１つ又は組み合わせを用いて生成される、請求項９に記載の方法。
【請求項１２】
３次元（３Ｄ）座標によって特定される点を有するポイントクラウドを含む、シーンの３Ｄモデルを再構成するシステムであって、
画像の視点を規定する異なる姿勢から前記シーンの１セットの画像を取り込む少なくとも１つのセンサーと、
前記１セットの画像と、前記シーンの前記３Ｄモデルとを記憶するメモリと、
前記メモリに動作可能に接続され、記憶された命令に結合されるプロセッサであって、
前記１セットの画像からの前記画像を変換して、仮想視点から視認される前記シーンの１セットの仮想画像を生成し、
前記画像及び前記仮想画像からの少なくともいくつかの特徴を比較して、前記１セットの画像内の各画像の前記視点を特定し、
少なくとも２つの画像の前記視点に従って、前記シーンの前記３Ｄモデル内の少なくとも１つの点の３Ｄ座標を、前記点に対応する前記２つの画像のピクセルからの光線逆投影法の交点の座標と一致するように更新するものと、
を備える、システム。
【請求項１３】
前記１セットの画像は、第１の視点を規定する第１の姿勢において取り込まれる前記シーンの第１の画像を含み、第２の視点を規定する第２の姿勢において取り込まれる前記シーンの第２の画像を含み、前記プロセッサは、
前記第１の画像を変換して、前記第１の視点とは異なる仮想視点に対応する第１の仮想画像を生成し、なお、前記変換することは、前記シーンの同じ点を表すように、前記第１の画像及び前記仮想画像の少なくともいくつかのピクセル間の対応を保持し、
前記第２の画像の少なくともいくつかの特徴を前記仮想画像の少なくともいくつかの特徴と比較して、前記第２の画像、前記仮想画像及び前記第１の画像の少なくともいくつかのピクセルの間の対応を特定し、
前記第２の画像からのピクセルのサブセットの座標と、前記第１の画像からのピクセルのサブセットに対応する前記シーンの点の座標とに基づいて、前記第１の画像及び前記第２の画像からの前記対応するピクセルの前記サブセットを用いて、前記第１の画像の前記第１の視点に対する前記第２の画像の前記第２の視点を特定し、
前記第１の画像及び前記第２の画像内の対応するピクセルのバンドル調整を用いて、前記シーンの前記３Ｄモデル内の前記点の３Ｄ座標を更新する、
ように更に構成される、請求項１２に記載のシステム。
【請求項１４】
前記第１の画像は３Ｄセンサーによって取り込まれ、前記プロセッサは、前記３Ｄセンサーを用いて、前記第１の画像からのピクセルの前記サブセットに対応する前記シーンの点の前記座標を特定する、請求項１３に記載のシステム。
【請求項１５】
前記１セットの画像は、第３の視点を規定する第３の姿勢において取り込まれる前記シーンの第３の画像を含み、前記プロセッサは、
前記第１の画像及び前記第３の画像の特徴を比較して、前記シーン内の同じ点に対応する前記第１の画像及び前記第３の画像のピクセルを特定し、
相対姿勢推定を用いて、前記第１の画像からのピクセルの前記サブセットに対応する前記シーンの点の前記座標を特定する、請求項１３に記載のシステム。
【請求項１６】
前記仮想画像は、前記１セットの画像からの少なくとも１つの画像をワーピングすること、前記シーンの前記３Ｄモデルを前記仮想視点に投影すること、及び平面誘発ホモグラフィを用いることのうちの１つ又は組み合わせを用いて生成される、請求項１３に記載のシステム。
【請求項１７】
画像の視点を規定する異なる姿勢において少なくとも１つのセンサーによって取り込まれるシーンの１セットの画像から前記シーンの３次元（３Ｄ）モデルを再構成する方法を実行するためにプロセッサによって実行可能であるプログラムを具現する、非一時的コンピューター可読記憶媒体であって、前記３Ｄモデルは、３Ｄ座標によって特定される点を有するポイントクラウドを含み、前記方法は、
前記１セットの画像からの前記画像を変換して、仮想視点から視認される前記シーンの１セットの仮想画像を生成することと、
前記画像及び前記仮想画像からの少なくともいくつかの特徴を比較して、前記１セットの画像内の各画像の前記視点を特定することと、
少なくとも２つの画像の前記視点に従って、前記シーンの前記３Ｄモデル内の少なくとも１つの点の３Ｄ座標を、前記点に対応する前記２つの画像のピクセルからの光線逆投影法の交点の座標と一致するように更新することと、
を含む、非一時的コンピューター可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は包括的には、シーンのモデルを再構成することに関し、より詳細には、同時位置特定及びマッピング（ＳＬＡＭ：simultaneous localization and mapping）に関する。
【背景技術】
【０００２】
ロボットマッピングにおいて、同時位置特定及びマッピング（ＳＬＡＭ）は、未知の環境内のエージェントの場所を追跡しながら、同時に、環境のマップ及び／又はモデルを構成又は更新するという計算問題である。ＳＬＡＭは、マップの構築（マッピング）及びマップの使用（位置特定）に関連するが、ＳＬＡＭを実行すべきシステムにとって、位置特定に関連付けられるプロセス及びマッピングに関連付けられるプロセスは実際には同時に実行される必要はない。例えば、複数の手順を多重化するようにして実行することができる。
【０００３】
いくつかの適用例、例えば、都市環境又は屋内環境において、ＧＰＳ又は別の位置推定システムは、ＳＬＡＭにおいて十分に利用できないか、実用的でないか、又は正確ではない。そのため、いくつかのシステムは、専用の位置推定システムを使用するのに加えて、又はその代わりに、カメラ等の他の見通し線センサー(line-of-sight sensor)に頼り、視覚的ＳＬＡＭと呼ばれる種類の技法を使用する。視覚的ＳＬＡＭ（ＶＳＬＡＭ）は、環境のモデル、例えば、その環境を表すポイントクラウドを構築するため視覚センサーデータ又は画像を入力として使用する。例えば、ＶＳＬＡＭは、周囲環境の幾何学的形状及び外観(appearance)の両方を記述するモデルを形成するために、周囲環境の画像を取り込み、複数のそのような画像を一貫性のある座標系、例えば、グローバル座標系の中に重ね合わせるために見通し線センサーを使用する。
【０００４】
ＶＳＬＡＭは、センサーによって取り込まれた画像を用いて、その座標系内でセンサーの６自由度（ＤＯＦ：degrees-of-freedom）姿勢（場所及び向き）を推定する。そのため、ＶＳＬＡＭは、異なる画像において観測される同じ物理的領域の対応を見つける能力に頼る。しかしながら、異なる視点から視認される同じ領域の外観は著しく変化する可能性があるので、ＶＳＬＡＭは長基線長照合問題（large-baseline matching problem）に悩まされ、すなわち、２つの遠方の視点から観測される領域がそのような照合プロセス中に頻繁に見逃される可能性がある。
【０００５】
いくつかの方法は、ＶＳＬＡＭ技法を別の姿勢推定方法と組み合わせることによって、この問題に対処する。例えば、特許文献１において記述されている方法は、カメラを搬送するロボットの姿勢を推定するために、モーションセンサーを使用する。モーションセンサーの使用は、有用ではあるが、必ずしも望ましいとは限らない。
【０００６】
別の方法は、複数の画像を撮影し、画像間の小さい姿勢変動を確保することによって、センサーの姿勢を絶えず追跡する。例えば、特許文献２を参照されたい。しかしながら、その方法は、計算及びメモリにコストがかかり、環境の３Ｄモデルを構成するために、その環境内で、細心の注意を要し、複雑な軌道に追従するようにセンサーに要求する可能性がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第７１６２３３８号
【特許文献２】米国特許出願公開第２０１４０１２６７６９号
【発明の概要】
【０００８】
したがって、センサーの姿勢を追跡するために使用される画像の数を削減しながら、シーンの３Ｄモデルを構成するのに適したＶＳＬＡＭが必要とされている。同じ数の画像を与えられると、そのようなＶＳＬＡＭは、より多くの数の再構成される３Ｄ点を達成するだけでなく、より高い３Ｄ再構成及び姿勢推定精度も達成するはずである。
【０００９】
いくつかの実施の形態の目的は、シーンの３次元（３Ｄ）モデルを再構成するための視覚センサーデータ入力として画像を使用する視覚的同時位置特定及びマッピング（ＳＬＡＭ）に関する方法を開示することである。いくつかの実施の形態の別の目的は、センサーの姿勢を追跡するために使用される画像の数を削減しながら、そのシーンの３Ｄモデルを構成するのに適している、そのような視覚的ＳＬＡＭ（ＶＳＬＡＭ）を提供することである。
【００１０】
いくつかの実施の形態は、そのシーンの３Ｄマップ又は３Ｄモデルを構成するための画像の数を削減するために、それらの画像が、相対的に遠方にある視点から取り込まれる必要があるという認識に基づく。そのようにして、少ない画像を用いて、そのシーンの複雑な部分を取り込むことができる。しかしながら、そのような手法は、ＶＳＬＡＭによって利用される姿勢追跡に根差している長基線長照合問題を引き起こす。具体的には、２つの離間した視点から観測されたランドマークがＶＳＬＡＭ照合プロセスによって見逃される可能性がある。なぜなら、異なる視点から視認された同じランドマークの外観が著しく変化する可能性があるためである。
【００１１】
この長基線長照合問題の簡単な例は以下の通りである。場所Ｂの方を向いているセンサー、例えば、カメラを、第１の軌道と呼ばれる、場所Ａから場所Ｂまで一直線に動かすことによって、視覚的ＳＬＡＭマップが構築されると仮定する。ここで、そのカメラが１８０度方向転換し、場所Ａの方を向きながら、第２の軌道と呼ばれる、場所Ｂから場所Ａまで動くと仮定する。その際、第２の軌道内で新たに観測される特徴が、第１の軌道内で観測され、マップ内に存在する特徴と著しく異なる可能性があるので、ＶＳＬＡＭフレームワークは、以前に構築されたマップ内でこのカメラの姿勢を正しく特定するのに失敗する可能性がある。
【００１２】
いくつかの実施の形態は、仮想画像が、外観不変性(appearance invariance)へのＶＳＬＡＭのそのような依存性を回避するのを助けることができるという理解に基づく。例えば、モデル再構成中に、将来に訪問する可能性がある新たな視野からのいくつかの新たな仮想画像を合成することができる。上記で言及された例を用いてこの原理を説明すると、場所Ａから場所Ｂの方を向いている第１の軌道内のカメラによって取り込まれた画像を、場所Ｂから場所Ａの方を向いている第２の軌道内の仮想視点から視認されるような仮想画像に変換することができる。仮想画像は、長基線長照合問題を回避するために、場所Ｂから場所Ａの方を向いている第２の軌道内のカメラによって新たに撮影された画像との比較のために使用することができる。そのようなＶＳＬＡＭは、本明細書において、仮想的に拡張された（virtually-augmented）視覚的ＳＬＡＭ（ＶＡ−ＶＳＬＡＭ）と呼ばれる。ＶＡ−ＶＳＬＡＭは、従来の視覚的ＳＬＡＭより少ない数の画像で、そのシーンの類似のモデルを構成することができるか、又は同じ数の画像で、従来の視覚的ＳＬＡＭより良好なモデルを構成することができる。そのため、ＶＡ−ＶＳＬＡＭは計算能力及びメモリ使用量を削減することができ、環境マップを作成するセンサーによって追従される軌道を簡単にすることができる。
【００１３】
具体的には、そのような仮想画像は、姿勢追跡のためのランドマークとして使用される特徴の異なる外観を有することができる。しかしながら、仮想画像は現実画像から生成されるので、現実画像内のランドマークと仮想画像内のランドマークとの間の対応は、その外観にかかわらず保持することができる。そのため、仮想画像の助けを借りて、新たに取り込まれた現実画像を他の現実画像と比較することができる。
【００１４】
例えば、新たな画像内のランドマークが仮想画像内のランドマークの外観に類似の外観を有することができ、それゆえ、そのようなランドマークは、仮想画像内の対応するランドマークと重ね合わせることができる。さらに、仮想画像内のランドマークは、その仮想画像がそこから生じる異なる現実画像内の対応するランドマークとあらかじめ重ね合わせられる。そのようにして、新たに取り込まれた画像からのランドマークを、仮想画像を通して、先行する画像のランドマークと重ね合わせることができる。そのようにして、長基線長照合問題を軽減することができ、それにより、少ない数の画像を用いて、そのシーンのモデルを構成できるようになる。
【００１５】
したがって、１つの実施の形態は、画像の視点を規定する異なる姿勢において少なくとも１つのセンサーによって取り込まれたシーンの１セットの画像からこのシーンの３次元（３Ｄ）モデルを再構成する方法であって、この３Ｄモデルは、３Ｄ座標によって特定される点を有するポイントクラウドを含み、本方法のステップは、この１セットの画像を記憶するメモリに接続され、本方法を実施する記憶された命令と結合されるプロセッサによって実行され、この命令は、このプロセッサによって実行されるときに、本方法の少なくともいくつかのステップを実行し、本方法は、１セットの画像からの画像を変換して、仮想視点から視認されるシーンの１セットの仮想画像を生成することと、画像及び仮想画像からの少なくともいくつかの特徴を比較し、１セットの画像内の各画像の視点を特定することと、少なくとも２つの画像の視点に従って、シーンのモデル内の少なくとも１つの点の３Ｄ座標を、この点に対応するこの２つの画像のピクセルからの光線逆投影法（ray back-projection）の交点の座標と一致するように更新することとを含む、方法を開示する。
【００１６】
別の実施の形態は、３次元（３Ｄ）座標によって特定される点を有するポイントクラウドを含む、シーンの３Ｄモデルを再構成するシステムを開示する。本システムは、画像の視点を規定する異なる姿勢からシーンの１セットの画像を取り込む少なくとも１つのセンサーと、１セットの画像と、シーンの３Ｄモデルとを記憶するメモリと、メモリに動作可能に接続され、記憶された命令に結合されるプロセッサであって、このプロセッサは、１セットの画像からの画像を変換して、仮想視点から視認されるシーンの１セットの仮想画像を生成し、画像及び仮想画像からの少なくともいくつかの特徴を比較して、１セットの画像内の各画像の視点を特定し、少なくとも２つの画像の視点に従って、シーンのモデル内の少なくとも１つの点の３Ｄ座標を、この点に対応するこの２つの画像のピクセルからの光線逆投影法の交点の座標と一致するように更新する、プロセッサとを備える。
【００１７】
更に別の実施の形態は、画像の視点を規定する異なる姿勢において少なくとも１つのセンサーによって取り込まれるシーンの１セットの画像からこのシーンの３次元（３Ｄ）モデルを再構成する方法を実行するためにプロセッサによって実行可能であるプログラムを具現する、非一時的コンピューター可読記憶媒体であって、この３Ｄモデルは、３Ｄ座標によって特定される点を有するポイントクラウドを含み、方法は、１セットの画像からの画像を変換して、仮想視点から視認されるシーンの１セットの仮想画像を生成することと、画像及び仮想画像からの少なくともいくつかの特徴を比較して、１セットの画像内の各画像の視点を特定することと、少なくとも２つの画像の視点に従って、シーンのモデル内の少なくとも１つの点の３Ｄ座標を、この点に対応するこの２つの画像のピクセルからの光線逆投影法の交点の座標と一致するように更新することとを含む、非一時的コンピューター可読記憶媒体を開示する。
【図面の簡単な説明】
【００１８】
【図１Ａ】いくつかの実施の形態による、ＶＡ−ＶＳＬＡＭに適したシステムのブロック図である。
【図１Ｂ】いくつかの実施の形態による、システムの一例として、ＶＡ−ＶＳＬＡＭシステムを組み込むことができるモバイルロボットを示す図である。
【図１Ｃ】いくつかの実施の形態によって使用されるような、グローバル基準系内のロボット及び／又はセンサーの姿勢の例示的な位置（ｘ，ｙ）を示す図である。
【図２Ａ】いくつかの実施の形態による、ＶＡ−ＶＳＬＡＭフレームワークのブロック図である。
【図２Ｂ】いくつかの実施の形態による、仮想画像を用いて長基線長照合問題に対処する概略図の一例を示す図である。
【図２Ｃ】環境を通る、取り得る軌道の例示的な概略図である。
【図３Ａ】いくつかの実施の形態による、シーンの１セットの画像から、そのシーンの３Ｄモデルを再構成する方法のブロック図である。
【図３Ｂ】いくつかの実施の形態による、シーンの１セットの画像から、そのシーンの３Ｄモデルを再構成する方法のブロック図である。
【図４Ａ】ＶＡ−ＶＳＬＡＭの一実施の形態による、ＶＡ−ＶＳＬＡＭ初期化のフロー図である。
【図４Ｂ】一実施の形態による、或る平面で初期化されたシーンの画像を取り込むカメラの概略的な側面図である。
【図４Ｃ】異なる姿勢にカメラを動かした後のカメラの概略的な側面図である。
【図５Ａ】一実施の形態による、あらかじめ計算された点−平面マップ内の可視平面を探索するために使用される仮想視点から視認されるポイントクラウドを示す図である。
【図５Ｂ】いくつかの実施の形態による、仮想画像を生成するために使用されるシーンのワーピングされた画像の例を示す図である。
【図６】一実施の形態によるシステムの概略図である。
【発明を実施するための形態】
【００１９】
図１Ａは、いくつかの実施の形態による、仮想的に拡張された視覚的同時位置特定及びマッピング（ＶＡ−ＶＳＬＡＭ）に適したシステム１００のブロック図を示す。システム１００は、汎用プロセッサ１６１及びメモリ１６４を含むことができる。それに加えて、又はその代わりに、システム１００は、画像プロセッサ１６６、姿勢プロセッサ１６８及び仮想画像プロセッサ１６７等の専用プロセッサを含むことができる。また、デバイス１００は、１つ以上のバス１７７に結合される複数のセンサーと、プロセッサ１６１、１６６、１６７及び１６８のうちの少なくとも１つに更に結合される信号線とを含むことができる。
【００２０】
システム１００は、モバイルデバイス、ワイヤレスデバイス、携帯電話、携帯情報端末、ウェアラブルデバイス（例えば、眼鏡、腕時計、ヘッドウェア、又は身に着ける類似のデバイス）、モバイルコンピューター、タブレット、パーソナルコンピューター、ラップトップコンピューター、又は処理能力を有する任意のタイプのデバイス若しくはプラットフォームの一部とすることができる。
【００２１】
システム１００は、カメラ１２４、３Ｄセンサー、及び／又は赤緑青奥行（ＲＧＢＤ：red-green-blue-depth）センサー（図示せず）と呼ばれる、カメラ及び３Ｄセンサーの組み合わせ等のシーンの画像を取り込むセンサーを含むことができ、任意選択で、加速度計、ジャイロスコープ、電子コンパス又は他の類似の運動検知要素等のモーションセンサー１２１を含む場合がある。また、システム１００は、前面及び／又は背面カメラ（例えば、カメラ１２４）において画像を取り込むこともできる。システム１００はユーザーインターフェース１５０を更に含むことができ、ユーザーインターフェースは、ディスプレイ１２２、キーボード及びキーパッド１５２等の入力デバイスのうちの１つ又は組み合わせを含む。必要に応じて、タッチスクリーン／センサーを備えるディスプレイ１２２に仮想キーパッドを組み込むことによって、キーボード又はキーパッド１５２を不要にすることができる。例えば、デバイス１００が携帯電話等のモバイルプラットフォームである場合には、ユーザーインターフェース１５０はマイクロフォン１５４及びスピーカー１５６を含むこともできる。
【００２２】
いくつかの実施態様において、システム１００は、モバイル又はワイヤレスデバイスとして機能することができ、送受信機１４０を用いて１つ以上のワイヤレス通信リンクを介して通信することができる。システム１００は、ポータブル若しくは非ポータブル電子デバイスに通常関連付けられる他の構成要素だけでなく、衛星測位システム受信機、電源デバイス（例えば、電池）等の種々の他の要素も含むことができる。
【００２３】
１つ以上の例示的な実施の形態において、上記の機能又はモジュールは、制御ユニット１６０のハードウェア（例えば、ハードウェア１６２）、ソフトウェア（例えば、ソフトウェア１６５）、ファームウェア（例えば、ファームウェア１６３）又はその任意の組み合わせにおいて実現することができる。コンピュータープログラム製品としてソフトウェアにおいて実現される場合には、機能又はモジュールは、１つ以上の命令又はコードとして、非一時的コンピューター可読媒体上に記憶することができるか、又は非一時的コンピューター可読媒体を介して送信することができる。コンピューター可読媒体は、或る場所から別の場所へのコンピュータープログラムの転送を容易にする任意の媒体を含む、コンピューター記憶媒体及び通信媒体の両方を含むことができる。記憶媒体は、コンピューターによってアクセス可能である任意の市販の媒体とすることができる。一例であって、限定はしないが、そのような非一時的コンピューター可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他の光ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は命令若しくはデータ構造の形で所望のプログラムコードを搬送又は記憶するために使用することができ、コンピューターによってアクセス可能である任意の他の媒体を含むことができる。
【００２４】
図１Ｂは、システム１００の一例として、ＶＡ−ＶＳＬＡＭシステムを組み込むことができるモバイルロボット１０１を示す。図示されるロボット１０１は、ＳＬＡＭモジュールがグローバル位置を特定できるようにランドマークを視覚的に認識するために使用される視覚センサー１０４を含む。視覚センサー１０４のために広範な視覚センサーを使用することができる。例えば、視覚センサー１０４は、ＣＣＤ撮像装置、ＣＭＯＳ撮像装置、赤外線撮像装置等を備えるデジタルカメラに対応することができる。また、視覚センサー１０４は、構造化光センサー（structured light sensor）、飛行時間センサー、ＬＩＤＡＲ及びＲＧＢＤセンサー等の３Ｄセンサーに対応することもできる。視覚センサー１０４は、標準的なレンズ、又は広角レンズ、魚眼レンズ、全方位レンズ（omni-directional lens）等の特殊なレンズを含むことができる。さらに、レンズは、相対的に広い視野又は複数の視点を与えるために使用することができる、平面鏡、放物面鏡又は円錐鏡等の反射面を含むことができる。別の例において、視覚センサー１０４は、単一のカメラ又は複数のカメラに対応することができる。一実施の形態において、ＶＡ−ＶＳＬＡＭシステムは有利には、単一のカメラで動作するように構成され、それは有利には、複数のカメラと比べてコストを削減する。
【００２５】
ロボット１０１を移動させるために、図示されるロボット１０１のモーター１１０、１１２が車輪１１４、１１６に結合される。車輪の代わりに、又は車輪に加えて、ロボットの他の実施の形態は、動き回るために、脚、線路、ローラー、プロペラ等の異なるアクチュエーターを使用できることは当業者には理解されよう。図示される実施の形態において、走行距離計測法としても知られる、車輪の回転に関する情報が、制御部１０８への入力として与えられる。視覚センサー１０４からの画像データ１０６も、ロボット１０１のための制御部１０８への入力として与えられる。一実施の形態において、ＶＡ−ＶＳＬＡＭシステムは、制御部１０８内で具現される。図示される実施の形態において、制御部１０８は、ロボット１０１の移動を制御するためにモーター１１０、１１２に結合される。明確にするために、電池等の、ロボット１０１のための電源は図１Ｂには示されない。
【００２６】
画像データ１０６に応答して、制御部１０８は、モーター１１０、１１２に、ロボット１０１の移動を制御する制御信号を与えることができる。例えば、制御部１０８は、ロボットを前進させる、停止させる、後退させる、方向転換させる、垂直軸の周りで回転させるように指示する等の制御信号を与えることができる。ロボットが、図１Ｂに示される例示的な垂直軸１１８等の垂直軸の周りを回転するとき、この回転は「ヨー」と呼ばれる。ロボットの姿勢はセンサー１０４の姿勢を規定するので、本明細書では同じ意味で使用される。さらに、カメラの姿勢は、センサーによって取り込まれる画像の視点を規定する。そのため、ロボットの姿勢、センサーの姿勢、及び画像の視点は関連付けられ、グローバル基準系内の位置、例えば、センサー及び／又はロボットの位置と、カメラの向き若しくはロボットの機首方位（heading）とを含む。
【００２７】
図１Ｃは、いくつかの実施の形態において使用されるような、グローバル基準系内のロボット１３２及び／又はセンサー１３４の姿勢の例示的な位置（ｘ，ｙ）を示す。ロボット１３２は点より大きい空間の面積を占有するので、その位置はロボット１３２の中心に正確に対応する必要はないことは理解されよう。グローバル基準系に関する零ベクトル１３６は、環境内の様々な場所のうちの１つに対応することができる。図示される例では、グローバル基準系に関する零ベクトル１３６は、ロボット１３２が初期化される場所に設定される。一実施の形態において、グローバル基準系に関するｘ方向は、ロボットが初期化されたときのロボットの真正面に軸に対応する。
【００２８】
例えば、図示される実施の形態において、ｘ軸は、零ベクトル１３６において初期化された時点でロボットが前方にそのまま進行するときの、ロボットが進行する経路に対応する。図示される実施の形態において、ｙ方向はｘ軸に直交する軸に対応し、上方から見たときに正のｙ軸はｘ軸の左に向かって増加していく。基準系に関する零ベクトル、並びに零ベクトルに対するｘ軸及びＹ軸の位置合わせは、例えば、初期化時等の、零ベクトルが設定される時点においてロボットが位置する場所及びロボットの向きによって決まる可能性があることは理解されよう。
【００２９】
また、図１Ｃは、グローバル基準系内のロボットの姿勢の向きも示す。図示される実施の形態において、ロボットに関する向きθは、零ベクトルが設定されたときにロボットが有した初期機首方位を基準にする。有利には、ロボットの場所及びロボットに関する初期の向きは任意であり、それにより、ユーザーのためにロボットの設定を簡略化する。
【００３０】
ｘ軸方向又はｙ軸方向に沿った変位に加えて、通常のモバイルロボットは、垂直軸の周りで回転又は「ヨーイング」することもできる。向きを変更するために、ロボットは直接回転又はヨーイングする必要はないことは理解されよう。例えば、角を曲がる行為もロボットの向き又は機首方位を変更する。いくつかの実施態様において、センサー１３４は、ロボット１３２に回転可能に取り付けられるので、センサー１３４は、ロボットの向きから独立して、又はロボットの向きに加えて、その向きを変更することができる。
【００３１】
上記で図示された実施の形態は、３−ＤＯＦ姿勢（２−ＤＯＦ位置及び１−ＤＯＦ向き）を有する、平坦な地面上を移動するモバイルロボットに関して説明された。この場合、ＶＡ−ＶＳＬＡＭフレームワークは、他のＤＯＦ、すなわち、ｚ軸方向に沿った１−ＤＯＦ位置と、「ロール」及び「ピッチ」に対応する２−ＤＯＦ向きとを０であると見なすことによって、３−ＤＯＦ姿勢を推定することができる。いくつかの他の実施の形態では、システム及び／又はセンサーは、３Ｄ空間内で任意に移動することができ、ＶＡ−ＶＳＬＡＭフレームワークは、センサーの６−ＤＯＦ姿勢を推定する。そのような事例は、３Ｄ空間内を飛行しているか、平坦でない地面上を移動しているロボット上に組み込まれるシステム、及び操作者によって携帯されるポータブルプラットフォーム上に組み込まれるシステムを含む。
【００３２】
図２Ａは、１つ以上のカメラの６−ＤＯＦ姿勢（位置及び向き）と、幾何学的周囲物の３Ｄ記述との両方を推定するために視覚的ＳＬＡＭフレームワーク２１０を利用するいくつかの実施の形態によるＶＡ−ＶＳＬＡＭフレームワーク２００のブロック図を示す。ＶＡ−ＶＳＬＡＭフレームワークは、いくつかの実際の視点からカメラ及び／又はセンサー１２４によって取り込まれた現在観測されている現実画像（奥行を有するか又は有しない）に関する１セットの特徴と、いくつかの仮想視点から仮想カメラによって観測された仮想的に生成された画像に関する１セットの特徴とを照合することによって機能する。その方法のステップは、１セットの画像を記憶するメモリ１６４等のメモリに接続され、その方法を実施するソフトウェア１６５等の記憶された命令と結合される、汎用プロセッサ１６１及び／又は専用プロセッサ１６６、１６７及び１６８等のプロセッサによって実行することができる。それらの命令は、プロセッサによって実行されるときに、ＶＡ−ＶＳＬＡＭフレームワーク２００の方法の少なくともいくつかのステップを実行する。
【００３３】
視覚的ＳＬＡＭフレームワーク２１０は以下のように機能する。画像の１セットの現実フレーム｛Ｆｉ｝が、いくつかの特徴抽出器によって処理され、画像の各フレームＦｉに関する１セットの特徴
【００３４】
【数１】
2019536170.tif 000003
【００３５】
が選択される。フレームＦｉは、１チャネルのグレー情報若しくは３チャネルのＲＧＢ情報を伴う通常の２Ｄ画像、及び／又は第４のチャネルがピクセルの奥行、すなわち、カメラ中心と、そのピクセルの光線方向に沿った最も近い物体との間のカメラ視認方向に沿った距離を記述する、４チャネルのＲＧＢＤ情報を伴う３Ｄ画像を含むことができる。ピクセルの光線方向を特定するプロセスは、ピクセルの逆投影法として知られており、カメラの内部パラメーターを使用することによって実行することができる。例えば、特徴
【００３６】
【数２】
2019536170.tif 000004
【００３７】
は、この特徴が幾何学的形状又は外観(appearance)のいずれかに関してその隣接領域と著しく異なる限り、フレームＦｉが２Ｄ画像である場合には２Ｄ点とすることができ、フレームＦｉが３Ｄ画像である場合には３Ｄ点とすることができる。特徴抽出器の例は、Ｈａｒｒｉｓ、ＦＡＳＴ又はＯＲＢキーポイント検出器を含む。
【００３８】
その後、特徴
【００３９】
【数３】
2019536170.tif 000005
【００４０】
及び特徴
【００４１】
【数４】
2019536170.tif 000006
【００４２】
がそのシーン内のランドマーク又は対象点と呼ばれる同じ物理領域に対応するような、対応する特徴対｛（ｊ，ｊ’）｝を見つけるために、この特徴セットｆｉが別の１セットの特徴ｆ’と照合される。そのような照合は、対象点の位置を特定し、その記述を生成するスケール不変特徴変換（ＳＩＦＴ：Scale Invariant Feature Transform）、スピードアップロバスト特徴（ＳＵＲＦ：Speed Up Robust Features）、勾配場所−向きヒストグラム（ＧＬＯＨ：Gradient Location-Orientation histogram）、ＯＲＢ、若しくは他の同等の技法等の種々の特徴記述方法、及び／又はＲＡＮＳＡＣ等のサンプリングベース方法を通して行うことができる。
【００４３】
対応する特徴対を用いて、視覚的ＳＬＡＭ２１０は、特徴セットｆ’がいかに構成されるかに応じて、先行して観測された１つのフレームＦｋに対して、又は先行して観測された全てのフレームを含むマップ２４０
【００４４】
【数５】
2019536170.tif 000007
【００４５】
に対して、このフレームＦｉの姿勢２２０を追跡することができる。追跡される姿勢及び特徴対応は、マップ２４０を更に更新するために使用される、フレームの最良の６−ＤＯＦ姿勢、及び特徴の３Ｄ幾何学記述を見つけるために、バンドル調整２３０に送られる。
【００４６】
異なる視点からの複数の３Ｄ点を表す１セットの画像を与えられると、バンドル調整２３０は、全ての点の対応する画像投影を伴う最適性基準に従って、シーン幾何学を記述する３Ｄ座標の精緻化、カメラの相対運動のパラメーター、及び画像を取り込むために利用されるカメラ（複数の場合もある）の光学特性のうちの１つ又は組み合わせを同時に解く問題と定義することができる。
【００４７】
一実施の形態において、バンドル調整は、観測される画像点及び予測される画像点の画像場所間の再投影誤差を最小化することを含み、再投影誤差は、多数の非線形実数値関数の二乗和として表される。このようにして、最小化は非線形最小二乗法を用いて達成される。例えば、一実施の形態は、実施するのが容易であること、及び広範な初期推測から迅速に収束する能力を与える実効的な減衰方式を使用することに起因して、レーベンバーグ・マーカート最適化を使用する。現在の推定値の近傍において最小化されるように関数を繰り返し線形化することによって、レーベンバーグ・マーカート法は、正規方程式と呼ばれる連立一次方程式を解くことを伴う。バンドル調整のフレームワークにおいて生じる最小化問題を解くとき、正規方程式は、異なる３Ｄ点及びカメラに関するパラメーター間の相互作用の欠如に起因して、疎なブロック構造を有する。正規方程式のゼロのパターンを明示的に利用し、ゼロ要素の記憶及び演算を回避する、レーベンバーグ・マーカート法の疎な変形形態を利用することによって、これを利用して計算に関する恩恵を受けることができる。
【００４８】
いくつかの実施の形態のＶＡ−ＶＳＬＡＭは、シーン２４０の３Ｄマップ又は３Ｄモデルを構成するために取り込まれる画像２１５の数を削減することを目的とする。そのため、いくつかの実施の形態は、画像２１５が相対的に離れた視点から取り込まれる必要があるという認識に基づく。そのようにして、少ない画像を用いて、シーンの複雑な部分を取り込むことができる。しかしながら、そのような手法は、姿勢追跡２２０に根差している長基線長照合問題を引き起こす。具体的には、異なる視点から視認された同じランドマークの外観が著しく変化する可能性があるため、２つの離間した視野から観測されるランドマークがＶＳＬＡＭ照合プロセスによって見逃される可能性がある。
【００４９】
この長基線長照合問題の簡単な例は以下の通りである。場所Ｂの方を向いているカメラを、第１の軌道と呼ばれる、場所Ａから場所Ｂまで一直線に動かすことによって、視覚的ＳＬＡＭマップが構築されると仮定する。ここで、そのカメラが１８０度方向転換し、場所Ａの方を向きながら、第２の軌道と呼ばれる、場所Ｂから場所Ａまで動くと仮定する。その際、第２の軌道内で新たに観測される特徴が、第１の軌道内で観測され、マップ内に存在する特徴と著しく異なる可能性があるので、ＶＳＬＡＭフレームワークは、以前に構築されたマップ内でこのカメラの姿勢を正しく特定するのに失敗する可能性がある。
【００５０】
いくつかの実施の形態は、仮想画像が、外観不変性へのＶＳＬＡＭのそのような依存性を回避するのを助けることができるという理解に基づく。例えば、モデル再構成中に、将来に訪問する可能性がある新たな視野からのいくつかの新たな仮想画像を合成することができる。上記で言及された例を用いてこの原理を説明すると、場所Ａから場所Ｂの方を向いている第１の軌道内のカメラによって取り込まれた画像を、場所Ｂから場所Ａの方を向いている第２の軌道内の仮想視点から視認されるような仮想画像に変換することができる。仮想画像は、長基線長照合問題を回避するために、場所Ｂから場所Ａの方を向いている第２の軌道内のカメラによって新たに撮影された画像との比較のために使用することができる。
【００５１】
具体的には、そのような仮想画像は、姿勢追跡のためのランドマークとして使用される特徴の異なる外観を有することができる。しかしながら、仮想画像は現実画像から生成されるので、現実画像内のランドマークと仮想画像内のランドマークとの間の対応は、その外観にかかわらず保持することができる。そのため、仮想画像の助けを借りて、新たに取り込まれた現実画像を他の現実画像と比較することができる。
【００５２】
例えば、新たな画像内のランドマークが仮想画像内のランドマークの外観に類似の外観を有することができ、それゆえ、そのようなランドマークは、仮想画像内の対応するランドマークと重ね合わせることができる。さらに、仮想画像内のランドマークは、その仮想画像がそこから生じる異なる現実画像内の対応するランドマークとあらかじめ重ね合わせられる。そのようにして、新たに取り込まれた画像からのランドマークを、仮想画像を通して、先行する画像のランドマークと重ね合わせることができる。そのようにして、長基線長照合問題を軽減することができ、それにより、少ない数の画像を用いて、そのシーンのモデルを構成できるようになる。
【００５３】
そのため、ＶＡ−ＶＳＬＡＭフレームワーク２００は、仮想フレーム又は画像２５５の概念を適用し、上記で言及された限界に対処する仮想画像生成器２５０を含む。ＶＡ−ＶＳＬＡＭは、既存の特徴照合方法において限界がある視点不変性に単に頼るのではなく、現実画像上で観測された特徴を仮想的に観測された画像上の特徴に明示的に変換する。
【００５４】
仮想フレーム生成器２５０は、画像２１５を変換して、仮想視点から視認されたシーンの仮想画像｛Ｖｉ｝２５５を生成する。これらの仮想画像は、その後、視覚的ＳＬＡＭ２１０に提示され、仮想特徴
【００５５】
【数６】
2019536170.tif 000008
【００５６】
が抽出され、姿勢追跡器が位置特定ロバスト性及び精度を改善するのを助けるとともに、ＳＬＡＭマップを
【００５７】
【数７】
2019536170.tif 000009
【００５８】
として増補する。
【００５９】
図２Ｂは、いくつかの実施の形態による、仮想画像を用いて長基線長照合問題に対処する概略の一例を示す。この例では、画像２６０、２７０及び２９０は、異なる姿勢を有する少なくとも１つのセンサーによって取り込まれた現実画像であり、すなわち、画像２６０、２７０及び２９０は異なる視点を有する。画像は同じセンサーによって取り込まれるか、又は複数のセンサーによって取り込まれる、すなわち、各画像が異なるセンサーによって取り込まれる場合があることに留意されたい。画像２８０は、仮想視点を有する仮想画像である。画像２６０及び２７０の視点は互いに相対的に近い。そのため、画像２６０及び２７０は、そのシーン内の同じ特徴に対応するランドマーク２６５及び２７５を含み、すなわち、ランドマーク２６５及び２７５のピクセルは、そのシーン内の同じ点Ｐに対応し、類似の幾何学的形状及び／又は外観を有する。三角測量又は任意の他の適切な計算技法を用いて、そのシーン内の点Ｐの座標２２５を計算することができる。しかしながら、点Ｐの座標を特定するために２つの画像のみが使用されるとき、そのような座標は不正確な場合がある。
【００６０】
また、画像２９０は、そのシーン内に、ランドマーク２６５及び２７５と同じ点Ｐを表すランドマーク２９５を含む。しかしながら、画像２９０の視点は、画像２６０及び２７０の視点とは異なるので、ランドマーク２９５は異なる外観を有し、ランドマーク２６５及び２７５と照合することはできない。しかしながら、仮想画像２８０の視点は画像２９０の視点に近く、ランドマーク２６５及び２７５と同じ点Ｐに対応するランドマーク２８５は、ランドマーク２９５に類似の外観を有し、ランドマーク２９５と照合することができる。そのようにして、いくつかの実施の形態は、ランドマーク２６５、２７５及び２９５がそのシーン内の同じ点Ｐに対応すると判断することができる。そのため、画像２９０の姿勢を用いて、点Ｐの座標を点Ｐ’の座標２３５に更新することができる。そのようにして、仮想画像を使用することにより、そのシーンのモデルの精度が高められる。
【００６１】
同様に、画像２７０は、そのシーン内の点Ｑに対応するランドマーク２７７を含む。また、画像２９０は、そのシーン内に、ランドマーク２７７と同じ点Ｑを表すランドマーク２９７を含む。しかしながら、画像２９０の視点は画像２７０の視点とは異なるので、ランドマーク２９７は異なる外観を有し、ランドマーク２７７と照合することはできない。そのため、点Ｑの座標は未知であり、点Ｑはそのシーンのモデルに追加することはできない。
【００６２】
しかしながら、仮想画像２８０の視点は画像２９０の視点に近く、ランドマーク２７７と同じ点Ｑに対応するランドマーク２８７はランドマーク２９７に類似の外観を有し、ランドマーク２９７と照合することができる。そのようにして、いくつかの実施の形態は、ランドマーク２７７及び２９７がそのシーン内の同じ点Ｑに対応すると判断することができる。そのため、画像２９０の姿勢を用いて、点Ｑの座標２４５を特定することができ、点Ｑをそのシーンのモデルに追加することができる。そのようにして、仮想画像を使用することによって、仮想画像を使用しなければ必要であった画像より少ない画像で、そのシーンのモデルの密度が高められる。
【００６３】
図２Ｃは、環境を通る、システム１００、例えば、ロボット１０１の取り得る軌道の例示的な概略図を示す。この例では、環境内のシーンのモデルを構成するために仮想画像を利用しないときには、ロボット１０１は、状態１９１、１９２、１９３、１９４、１９５等の、丸印及び星印を用いて表される各状態において画像を取り込む必要がある。しかしながら、仮想画像を使用するとき、ロボット１０１は、星印で表される状態｛Ｘ０，Ｘ１，Ｘ２，…ＸＭ−１，ＸＭ｝においてのみ画像を取り込むことができ、丸印で表される状態において生成された仮想画像の助けを借りて位置特定及びマッピングを実行することができる。そのようにして、仮想画像を使用することにより、現実画像の数を削減し、シーンのスパースモデリングを可能にする。
【００６４】
図３Ａは、いくつかの実施の形態による、シーンの１セットの画像から、そのシーンの３Ｄモデルを再構成する方法のブロック図を示す。１セットの画像は、画像の視点を規定する異なる姿勢において少なくとも１つのセンサーによって取り込まれる。３Ｄモデルは、３Ｄ座標によって特定される点を有するポイントクラウドを含む。その方法のステップは、１セットの画像を記憶するメモリに接続され、その方法を実施する記憶された命令に結合されるプロセッサによって実行される。命令は、プロセッサによって実行されるとき、その方法の少なくともいくつかのステップを実行する。
【００６５】
その方法は、１セットの画像３１０からの画像を変換し（３２０）、仮想視点から視認されたシーンの１セットの仮想画像３２５を生成する。１セット３１０及び３２５のサイズは同じとすることができるか、又は異なることができる。一実施の形態において、仮想画像は、１セット３１０からの現実画像が互いに照合するのに失敗するときに必要に応じて生成される。それに加えて、又はその代わりに、仮想画像は先を見越して生成することができる。
【００６６】
そのため、異なる実施の形態は、仮想画像を生成するための仮想視点を選択するために異なる方式を採用する。例えば、一実施の形態は、６−ＤＯＦカメラ姿勢空間内でいくつかの有効な姿勢を、例えば、ランダムに、又は決定論的にサンプリングする。そのようなサンプリングは、姿勢空間にわたって均一にすることができるか、又は訪問されない領域に向かってバイアスをかけることができる。別の実施の形態は、現実画像の既存の現実視点を用いて、将来における１セットの取り得る姿勢を推定する。この実施の形態は、モバイルロボットの軌道があらかじめ決定されるときに、図１Ｂのモバイルロボット例にとって有利である。
【００６７】
更に別の実施の形態は、既存の現実視点の位置を保持するが、各現実視点をその位置の周りで回転させて、仮想視点が現実視点と異なる向きを有するが、現実視点と同じ位置において規定されるようにする。それらの仮想視点において生成される仮想画像は、現実画像とは異なる外観を有する可能性がある。なぜなら、（１）現実視点及び仮想視点は異なる投影モデルを使用する可能性があり、例えば、現実視点が魚眼投影モデルを使用する場合があり、一方、仮想視点は透視投影モデルを使用する場合があるためであり、（２）現実視点及び仮想視点が同じ透視投影モデルを使用する場合であっても、透視投影モデルが或る平面（すなわち、画像センサー面）において均一であるが、角度領域において不均一に光線をサンプリングし、それゆえ、仮想視点の向きが異なると、異なる組の光線がサンプリングされるためである。これは、カメラの視野が大きいほど明白になる。大きい視野を有する透視画像では、画像の中心領域に比べて、画像の周辺領域が引き伸ばされるように見え、それは射影歪みと呼ばれる。それゆえ、この実施の形態は、システムがいくつかの異なるセンサーを使用する、例えば、魚眼カメラ及び透視投影カメラを使用する、又は３Ｄセンサー及び透視投影カメラを使用する、又は異なる内部パラメーターを有する複数の透視投影カメラを使用するときに有利である。
【００６８】
次に、その方法は、画像３１０及び仮想画像３２５からの少なくともいくつかの特徴を比較して（３３０）、１セットの画像内の各画像の視点３３５を特定し、その後、少なくとも２つの画像の視点に従って、そのシーンのモデル３４５内の少なくとも１つの点の３Ｄ座標を、その点に対応する２つの画像のピクセルからの光線逆投影法の交点の座標と一致するように更新する（３４０）。例えば、異なる画像３１０からの異なるピクセルが互いに照合されるので、いくつかの実施の形態は、ステレオ三角測量及び／又はシート光三角測量（sheet of light triangulation）を用いて、シーンの奥行を特定することができる。
【００６９】
図３Ｂは、いくつかの実施の形態による、シーンの３Ｄモデルを再構成する方法のブロック図を示し、１セットの画像が、第１の視点を規定する第１の姿勢においてカメラによって視認されるシーンの第１の画像を含み、第２の視点を規定する第２の姿勢においてカメラによって視認されるシーンの第２の画像を含む。
【００７０】
その方法は、第１の視点とは異なる仮想視点に対応する第１の仮想画像を生成するように第１の画像を変換する（３５０）。とりわけ、その変換は、そのシーンの同じ点を表すように、第１の画像及び仮想画像の少なくともいくつかのピクセル間の対応を保持する。次に、その方法は、第２の画像の少なくともいくつかの特徴を仮想画像の少なくともいくつかの特徴と比較し（３６０）、第２の画像、仮想画像及び第１の画像の少なくともいくつかのピクセルの間の対応を特定する。そのような対応は、ランドマークが異なる外観を有する場合であっても、第２の画像からのランドマークを第１の画像のランドマークと照合できるようにする。
【００７１】
その方法は、第２の画像からのピクセルのサブセットの座標と、第１の画像からのピクセルのサブセットに対応するシーンの点の座標とに基づいて、第１の画像及び第２の画像からの対応するピクセルのサブセットを用いて、第１の画像の第１の視点に対する第２の画像の第２の視点を特定する（３７０）。次に、その方法は、第１の画像及び第２の画像内の対応するピクセルのバンドル調整を用いて、そのシーンのモデル内の点の３Ｄ座標を更新する（３８０）。
【００７２】
第２の視点の特定は、第１の画像及び第２の画像内の対応するピクセルから逆投影される光線が或る３Ｄ点において交差するはずであるという事実を利用する。例えば、画像２６０及び２７０の視点が既知である場合には、三角測量によって、すなわち、２つの光線の交点として、点Ｐの座標２２５を特定することができる。代替的には、画像２６０の視点及び座標２２５が既知である場合には、２Ｄ−３Ｄ重ね合わせ法（registration method）によって、光線が対応する３Ｄ点を通り抜けることができるような画像２７０の視点を特定することができる。そのような２Ｄ−３Ｄ重ね合わせ法は、パースペクティブｎポイント法（perspective-n-point method）として知られる。
【００７３】
例えば、いくつかの実施の形態は、３Ｄセンサーを用いて、第１の画像からのピクセルのサブセットに対応するシーンのモデルの点の座標を初期化する。３Ｄセンサーの例は、キネクト（Kinect）タイプのＲＧＢＤカメラ、又はステレオカメラを含む。それに加えて、又はその代わりに、いくつかの実施の形態は類似の視点を有する複数の画像を用いて、モデル内の点の座標を初期化することができる。
【００７４】
図４Ａは、ＶＡ−ＶＳＬＡＭの一実施の形態による初期化のフロー図を示す。ブロック４０１において、その実施の形態は、後続の画像を処理する前に、第１の画像（例えば、単一の基準画像）から３Ｄモデルを初期化することができる。例えば、第１の画像（例えば、カメラ１２４から取り込まれる単一の基準画像）を初期化することは、初期の推定された奥行を有する３次元空間内の１セットの対象点を決定することを含むことができる。いくつかの実施の形態において、初期化は直ちに、又はリアルタイムに、又は概ねリアルタイムに、又は基準画像を取り込む短い時間ウィンドウ内で行うことができる。
【００７５】
１つの実施態様において、その実施の形態は、初期の取り込まれた基準画像からモデルを作成する。モデルは、本明細書において使用されるときに、３Ｄ物体又はシーンのマップであると理解することもできる。その実施の形態は、単一のカメラセンサー又は単眼のソースに由来する単一の画像から目標物を生成することができる。モデルはメモリ（例えば、デバイス１００のメモリ１６４）内に記憶することができ、或る画像から抽出又は計算される１つ以上の３Ｄ対象点によって表すことができるか、又はそのような対象点に関連付けることができる。いくつかの実施の形態において、３Ｄモデルは、初期基準画像又は第２の基準画像を選択することきに、いなかるユーザー入力も用いることなく初期化することができる。
【００７６】
ブロック４０２において、その実施の形態は１つ以上の後続の画像を処理する。処理することは、後続の画像のそれぞれにおける１セットのランドマークを特定することを含むことができる。いくつかの実施の形態において、１セットのランドマークは、基準画像を処理した後に特定されるのと同じランドマークとすることができる。しかしながら、その場所及び奥行の値は、基準画像とは異なる場合がある。また、処理することは、ランドマークの異なる外観を有する仮想画像を生成することを含むこともできる。
【００７７】
ブロック４０３において、その実施の形態は、６自由度において３Ｄ目標物を追跡する。追跡することは、直ちに、又は同時に、又はリアルタイムに、又は概ねリアルタイムに、又は第１の単一の基準画像を受信した後の短い期間内に行うことができる。いくつかの実施の形態において、３Ｄモデルは、即時に、又はリアルタイムに、又は概ねリアルタイムに、又はフレームを取り込む短い期間内に初期化することができるので、初期化は、拡張現実ユーザーに容易に明らかになる場合がある。システム１００は、以下に更に詳細に説明されるように、追跡中に目標物の表現を表示することができる。
【００７８】
ブロック４０４において、その実施の形態は、１つ以上の後続の画像の処理に基づいて、３Ｄモデルを更新する。その実施の形態は、ランドマークを推定できるか否かを判断し、カメラの一連の動きにわたってモデルを徐々に精緻化する。１つの実施態様において、その実施の形態は、目標物を、想定される奥行値を有する平面に近似することによって、初期の小さい運動に関するカメラ運動推定値を与えることができる。また、目標物が平面で近似される実施態様では、第１の基準画像から絶えずカメラ１２４に追跡させるために、エピポーラ幾何学を明確に解くステップ（それは十分な並進（translation）を有することに依存する場合がある）を省くことができる。
【００７９】
図４Ｂは、一実施の形態による、或る平面で初期化されたシーンの画像を取り込むカメラの概略的な側面図を示す。この初期化において、１セットのランドマーク、例えば、ランドマーク４２５、４３０、４３５、４４０、４４５及び４５０が、位置４０５にあるカメラ１２４から視認されるように、所定の初期距離にある平面４２０上で初期化される。全てのランドマークが最初に同じ平面にあるように（例えば、単一の平面４２０上にある点４２５、４３０、４３５、４４０、４４５及び４５０）、各ランドマークを初期奥行に関連付けることができる。
【００８０】
他の実施の形態では、ランドマークは任意の他の幾何学的形状で初期化することができるか、又は初期化された奥行値の任意の配列で初期化することができる。例えば、それらの実施の形態は、別の幾何学的形状がその目標物のための基線始点になるはずであり、発見される目標物情報が増えるほど精緻化されるはずであると判断することができる。さらに、あらゆるランドマークが同じ奥行値を有する代わりに、当該技術分野において既知であるような他の技法によって、初期化される奥行値を個々に推定又は特定することができる。例えば、初期奥行値は、平均ランドマーク奥行が所定の閾値平均奥行内に入るような範囲の値とすることができる。
【００８１】
また、図４Ｂは、カメラ１２４によって観測される３Ｄシーンを表す物体（例えば、物体４１０）も示す。ライン４１５は光線を示しており、物体４１０に関連付けられるランドマーク４２５がその光線下で視認される（例えば、物体４１０のエッジに関連付けられるランドマーク４２５は、平面４２０上で検出される他のランドマークに等しい初期奥行を有する）。ライン４１５に沿った、位置４０５にあるカメラ１２４からランドマーク４２５までの距離は、ランドマーク４２５の想定される奥行である。
【００８２】
図４Ｃは、第２の画像を取り込む姿勢４０７までカメラが移動した（４０６）後のカメラ４０５の概略的な側面図を示し、それにより、姿勢４０７におけるカメラ１２４によって、１セットの点４７０、４７１、４７２、４７３、４７４及び４７５のそれぞれに関して、より精度が高い（すなわち、更新された）ランドマーク奥行を観測できるようになる。光線４８０は光線４１５に対応し、更新されたランドマーク４７０がその光線下で視認される。そのようにして、そのシーンのモデル内の点の３Ｄ座標は、少なくとも２つの画像の視点に従って、その点に対応する２つの画像のピクセルからの光線逆投影法の交点の座標と一致するように更新される。
【００８３】
いくつかの実施の形態は、２つの現実画像を用いて、第１の画像からのピクセルのサブセットに対応するシーンのモデルの点の座標を初期化する。例えば、一実施の形態において、１セットの画像は第３の視点を規定する第３の姿勢においてカメラによって視認されるシーンの第３の画像を含む。その実施の形態は、第１の画像及び第３の画像の特徴を比較して、そのシーン内の同じ点に対応する第１の画像及び第３の画像のピクセルを特定し、その後、ピクセルのサブセットに対応するシーンの点の座標を特定し、相対姿勢推定法を用いて、第１の姿勢に対する第３の姿勢を特定する。そのような相対姿勢推定は、５点法、７点法及び８点法のうちの１つ又は組み合わせを含み、第１の画像と第３の画像との間の少なくとも５つの２Ｄ−２Ｄピクセル対応によって機能する。それらの２Ｄ−２Ｄピクセル対応は、上記のように第１の画像及び／又は第３の画像から生成される仮想画像を介して取得することができ、必ずしも、２つの現実（第１及び第３の）画像を直接照合することによらないことに留意されたい。
【００８４】
異なる実施の形態は、仮想視点と、システムの現実フレームのデータタイプとの両方に応じて、或る仮想視点を与えられる場合に異なる方法を用いて仮想フレームを生成する。例えば、フレームが３Ｄ情報を含むとき、例えばフレームがＲＧＢＤ画像を含むとき、仮想画像は、シーンを記述する密なポイントクラウドから直接生成することができる。例えば、一実施態様において、シーンのマップ又はモデルから、このシーンのテクスチャ付きメッシュモデル（textured mesh model）を作成することができる。その後、このテクスチャ付きメッシュが、所与の対象姿勢に設定された仮想カメラの姿勢（すなわち、ＯｐｅｎＧＬの用語においてモデル−ビュー行列）とともに、ＯｐｅｎＧＬ等のグラフィックスパイプラインに提示され、その射影行列が、通常、現実カメラの内部行列と同じであるか、又はそれに近い所望のカメラ内部行列によって設定される。この時点で、ＯｐｅｎＧＬパイプラインの色バッファからＲＧＢ情報が抽出され、奥行バッファから奥行情報が抽出される。このようにして、所望の仮想視点においてＲＧＢＤ画像の仮想フレームが生成される。
【００８５】
図５Ａは、一実施の形態による、あらかじめ計算された点−平面マップ内の可視平面を探索するために使用される仮想視点から視認されるポイントクラウドを示す。仮想視野５１０において視認可能である主要面は、仮想カメラの中心から、その像面内のピクセルを通して、そのシーンの中に光線を投じることによって決定される。光線がシーン点に当たるとき、マップＭを用いて、空間内の平面の位置（平面パラメーター）を探索する。このステップは、仮想視野の全てのピクセルに関して実行され（ただし、効率のために、ピクセル領域内の空間サブサンプリングを使用することができる）、結果として生成される平面リストが、各平面に属するピクセルの数によって並べ替えられる。平面ごとに、その実施の形態は、その平面の一部であるピクセルを追跡する。図５Ｂは、一実施の形態によって仮想画像を生成するために使用されるシーンのワーピングされた画像５２０、５３０及び５４０の例を示す。別の実施の形態では、フレームが通常の２Ｄ画像であり、仮想視点は、向きに関してのみ異なるが、現実フレームと同じ視認位置を有する。この実施の形態において、ｐｖ＝Ｈｐｒによって、現実フレーム内のピクセルｐｒから新たなフレーム内の全てのピクセルｐｖをワーピングすることによって仮想フレームを生成することができる。ただし、ｐｖ及びｐｒはピクセルの２Ｄ同次座標であり、Ｈは
【００８６】
【数８】
2019536170.tif 000010
【００８７】
によって定義される３×３ホモグラフィ行列であり、Ｒは現実の視点に対する仮想視点の向きに対応する３Ｄ回転行列であり、Ｋｖ及びＫｒはそれぞれ、３×３仮想及び現実カメラ内部行列（camera intrinsic matrix）である。
【００８８】
更に別の実施の形態において、仮想視点が全ての現実フレームと異なる位置を有するとき、仮想画像は、平面誘発ホモグラフィ（plane-induced homography）を用いて生成される。この事例では、多くの場合にピクセル当たりの３Ｄ情報が不足しているので、フレーム内のピクセルごとに、遠方の仮想視点から仮想フレームを生成するのは難しい。先行する２つの事例のような密な仮想画像を生成する代わりに、あらかじめ推定された３Ｄ情報、すなわち、この現実フレーム内の全ての特徴点を用いてピクセル位置に集中する疎な仮想画像を生成することができる。この生成プロセスは、以下に説明される、平面誘発ホモグラフィを使用する画像ベースワーピングを通して行うことができる。特徴点の対応するランドマークが局所的に小さい平面（ｎｗ，ｄｗ）であると仮定する。ただし、ｎｗは世界座標系内の平面の３Ｄ法線方向であり、ｄｗはその平面への世界原点の距離である。この特徴点が、世界内のその姿勢が
【００８９】
【数９】
2019536170.tif 000011
【００９０】
である現実フレーム内であらかじめ観測されており（ただし、Ｒｒ及びｔｒはそれぞれ現実カメラの３Ｄ回転行列及び並進ベクトルである）、所与の仮想視点の姿勢が
【００９１】
【数１０】
2019536170.tif 000012
【００９２】
である場合には（ただし、Ｒｖ及びｔｖはそれぞれ仮想カメラの３Ｄ回転行列及び並進ベクトルである）、多視点幾何学理論から、現実フレームと、同じ局所平面を観測することによって誘発される仮想フレームとの間のホモグラフィ行列を以下のように見つけることができる。
【００９３】
【数１１】
2019536170.tif 000013
【００９４】
ただし、
【００９５】
【数１２】
2019536170.tif 000014
【００９６】
であり、Ｋｖ及びＫｒはそれぞれ３×３仮想及び現実カメラ内部行列である。
【００９７】
このホモグラフィ行列を用いて、現実フレーム上のパッチとしてこの特徴点及びその隣接するピクセルを仮想フレーム上のパッチにワーピングすることができる。このワーピングされたパッチは、現実カメラが仮想姿勢Ｔｖから対応するランドマークを観測する場合に観測されると予想されるものを表す。現実フレーム上の特徴点ごとにこのワーピング演算を繰り返すことによって、疎な特徴を有する仮想フレームが生成される。一実施の形態において、この事例において使用される３Ｄ情報は、特に視覚的ＳＬＡＭプロセスの初期段階中に、相対的に大きい分散を含む可能性がある推定値であるので、ＳＬＡＭマップ品質が向上するにつれて良好な仮想視野が生成されるように、仮想画像生成は、後続の姿勢推定及びＳＬＡＭマップ最適化とともに再帰的に実行される。
【００９８】
本明細書において説明される実施の形態は、様々な装置（例えば、デバイス）に組み込まれる（例えば、様々な装置内で実現されるか、又は様々な装置によって実行される）場合がある。例えば、本明細書において教示される１つ以上の態様は、電話（例えば、携帯電話）、携帯情報端末（「ＰＤＡ」）、タブレット、モバイルコンピューター、ラップトップコンピューター、タブレット、エンターテイメントデバイス（例えば、音楽又はビデオデバイス）、ヘッドセット（例えば、ヘッドフォン、イヤフォン等）、医療デバイス（例えば、バイオメトリックセンサー、心拍数モニター、歩数計、ＥＫＧデバイス等）、ユーザーＩ／Ｏデバイス、コンピューター、サーバー、販売時点情報管理（point-of-sale）デバイス、エンターテイメントデバイス、セットトップボックス、又は任意の他の適切なデバイスに組み込まれる場合がある。これらのデバイスは、異なる電力及びデータ要件を有する場合があり、結果として、ランドマークごとに、又は１セットのランドマークに対して異なる電力プロファイルが生成される場合がある。
【００９９】
図６は、一実施の形態によるシステムの概略図を示す。そのシステムは、自動化パーキング６５０を実行するように構成されるプロセッサ６０２を含む車両６０１を含む。また、車両は、ＬＩＤＡＲ６１０及び／又はカメラ６２０等の少なくとも１つのセンサーを含む。センサーはプロセッサ６０２に動作可能に接続され、駐車スペースの少なくとも一部の幾何学的形状を示す情報を検知するように構成される。この情報を用いて、プロセッサ６０２は、ＶＡ−ＶＳＬＡＭを用いて駐車スペース６３０のモデルを決定し、及び／又は更新する。さらに、プロセッサ６０２は、マップ１３０を用いて、自動化パーキング６５０を実行する。
【０１００】
本発明の上記で説明した実施の形態は、多数の方法のうちの任意のもので実施することができる。例えば、実施の形態は、ハードウェア、ソフトウェア又はそれらの組み合わせを用いて実施することができる。ソフトウェアで実施される場合、ソフトウェアコードは、単一のコンピューターに設けられるのか又は複数のコンピューター間に分散されるのかにかかわらず、任意の適したプロセッサ又はプロセッサの集合体において実行することができる。そのようなプロセッサは、１つ以上のプロセッサを集積回路部品に有する集積回路として実装することができる。ただし、プロセッサは、任意の適したフォーマットの回路類を用いて実装することができる。
【０１０１】
また、本発明の実施の形態は、例が提供された方法として実施することができる。この方法の一部として実行される動作は、任意の適切な方法で順序付けすることができる。したがって、動作が示したものと異なる順序で実行される実施の形態を構築することができ、これには、例示の実施の形態では一連の動作として示されたにもかかわらず、いくつかの動作を同時に実行することを含めることもできる。
【０１０２】
請求項の要素を修飾する、特許請求の範囲における「第１」、「第２」等の序数の使用は、それ自体で、１つの請求項の要素の別の請求項の要素に対する優先順位も、優位性も、順序も暗示するものでもなければ、方法の動作が実行される時間的な順序も暗示するものでもなく、請求項の要素を区別するために、単に、或る特定の名称を有する１つの請求項の要素を、同じ（序数の用語の使用を除く）名称を有する別の要素と区別するラベルとして用いられているにすぎない。
【図１Ａ】
2019536170.tif 000015
【図１Ｂ】
2019536170.tif 000016
【図１Ｃ】
2019536170.tif 000017
【図２Ａ】
2019536170.tif 000018
【図２Ｂ】
2019536170.tif 000019
【図２Ｃ】
2019536170.tif 000020
【図３Ａ】
2019536170.tif 000021
【図３Ｂ】
2019536170.tif 000022
【図４Ａ】
2019536170.tif 000023
【図４Ｂ】
2019536170.tif 000024
【図４Ｃ】
2019536170.tif 000025
【図５Ａ】
2019536170.tif 000026
【図５Ｂ】
2019536170.tif 000027
【図６】
2019536170.tif 000028
【国際調査報告】
2019536170.tif 000029
2019536170.tif 000030
2019536170.tif 000031