(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-10
(54)【発明の名称】移動可能な物体の三次元位置を決定するための位置決めシステム及び方法
(51)【国際特許分類】
G06T 7/70 20170101AFI20231227BHJP
G06T 7/00 20170101ALI20231227BHJP
G05D 1/43 20240101ALI20231227BHJP
【FI】
G06T7/70 A
G06T7/00 650Z
G05D1/02 H
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023535884
(86)(22)【出願日】2021-12-09
(85)【翻訳文提出日】2023-07-12
(86)【国際出願番号】 IB2021000824
(87)【国際公開番号】W WO2022123304
(87)【国際公開日】2022-06-16
(32)【優先日】2020-12-09
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】523214579
【氏名又は名称】マルティナ バリック
【氏名又は名称原語表記】Martina BARIC
【住所又は居所原語表記】Alagovac 54, 88340 Grude, Bosnia and Herzegovina
(74)【代理人】
【識別番号】100167184
【氏名又は名称】井上 真一郎
(72)【発明者】
【氏名】マルティナ バリック
【テーマコード(参考)】
5H301
5L096
【Fターム(参考)】
5H301AA03
5H301AA06
5H301BB05
5H301BB14
5H301CC03
5H301CC04
5H301CC06
5H301CC07
5H301CC08
5H301CC10
5H301FF11
5H301GG08
5H301GG11
5H301GG14
5H301GG16
5L096AA09
5L096BA04
5L096CA02
5L096CA27
5L096FA19
5L096FA26
5L096FA66
5L096FA67
5L096FA69
(57)【要約】
本発明は、移動可能な物体1の三次元位置を決定するための位置決めシステムおよび方法に関する。位置決めシステムは、物体1に対して定義された相対位置及び向きで物体に取り付け可能であり、カメラ10から離間した固定位置に配置可能または配置された複数の視覚的特徴2の少なくとも一部の画像表現を含む画像をキャプチャするように構成されたカメラ10と、複数の視覚的特徴2の3Dモデルを記憶するための記憶手段11であって、3Dモデルが、視覚的特徴2のためのランドマークl
1,l
2,…,l
nのセットを含み、ランドマークl
1,l
2,…,l
nが、対応する視覚的特徴(2)の三次元位置に関する情報を含む記憶手段11と、計算手段12であって、キャプチャされた画像における視覚的特徴2の画像表現の位置を、視覚的特徴2の画像位置i
1,i
2,…,i
nとして検出し、カメラ10の向きの推定を行い、好ましくは、カメラ10の向きの推定に基づいて、仮想画像平面を定義し、3Dモデルに記憶された視覚的特徴2の少なくとも一部の三次元位置を仮想画像平面に投影して、視覚的特徴2の投影位置p
1,p
2,…,p
nを作成し、視覚的特徴2の画像位置i
1,i
2,…,i
nと、視覚的特徴2の投影位置p
1,p
2,…,p
nとの間でマッチングを行い、画像内でキャプチャされた視覚的特徴2を識別し、マッチングプロセスで識別された視覚的特徴2の三次元位置に関する情報に基づいて、物体1の三次元位置を決定するように構成された計算手段12と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
移動可能な物体(1)の三次元位置を決定するための位置決めシステムであって、
前記物体(1)に対して定義された相対位置及び向きで前記物体に取り付け可能なカメラ(10)であって、離間した固定位置に配置可能または配置された複数の視覚的特徴(2)の少なくとも一部の画像表現を含む画像をキャプチャするように構成された前記カメラ(10)と、
前記複数の視覚的特徴(2)の3Dモデルを記憶するための記憶手段(11)であって、前記3Dモデルが、前記視覚的特徴(2)のためのランドマーク(l
1,l
2,…,l
n)のセットを含み、前記ランドマーク(l
1,l
2,…,l
n)が、対応する視覚的特徴(2)の三次元位置に関する情報を含む前記記憶手段(11)と、
計算手段(12)であって、
・前記キャプチャされた画像における前記視覚的特徴(2)の画像表現の位置を、前記視覚的特徴(2)の画像位置(i
1,i
2,…,i
n)として検出し、
・前記カメラ(10)の向きの推定を行い、
・好ましくは、前記カメラ(10)の向きの前記推定に基づいて、仮想画像平面を定義し、
・前記3Dモデルに記憶された前記視覚的特徴(2)の少なくとも一部の三次元位置を前記仮想画像平面に投影して、前記視覚的特徴(2)の投影位置(p
1,p
2,…,p
n)を作成し、
・前記視覚的特徴(2)の前記画像位置(i
1,i
2,…,i
n)と、前記視覚的特徴(2)の前記投影位置(p
1,p
2,…,p
n)との間でマッチングを行い、前記画像内でキャプチャされた前記視覚的特徴(2)を識別し、
・前記マッチングプロセスで識別された前記視覚的特徴(2)の前記三次元位置に関する前記情報に基づいて、前記物体(1)の前記三次元位置を決定するように構成された前記計算手段(12)と、を備える、前記位置決めシステム。
【請求項2】
向き決定手段(13)、好ましくはジャイロスコープ、加速度計および/または磁力計を備え、前記計算手段(12)は、前記向き決定手段(13)から取得された情報に基づいて、前記カメラ(10)の向きの前記推定を行うように構成される、請求項1に記載の位置決めシステム。
【請求項3】
前記計算手段(12)は、前記画像位置(i
n)の記述子(d
in)及び前記投影位置(p
n)の記述子(d
pn)に基づいて、前記視覚的特徴(2)の前記画像位置(i
1,i
2,…,i
n)と前記投影位置(p
1,p
2,…,p
n)との間でマッチングを行うように構成され、前記計算手段(12)は、隣接する画像/投影位置(i
n/p
n)の分布に基づいて、画像/投影位置(i
n/p
n)の記述子(d
in/d
pn)を計算するように構成される、請求項1または2に記載の位置決めシステム。
【請求項4】
前記計算手段(12)は、前記画像/投影位置(i
n/p
n)の前記記述子(d
in/d
pn)を数値のセットとして計算するように構成され、前記数値は、
【数47】
のうちの少なくとも1つを含み、
【数48】
は前記画像/投影位置(i
n/p
n)から最も近い画像/投影位置までのベクトルであり、
【数49】
は前記画像/投影位置(i
n/p
n)から2番目に近い画像/投影位置までのベクトルであり、
【数50】
は前記画像/投影位置(i
n/p
n)から3番目に近い画像/投影位置までのベクトルであり、および
【数51】
は前記最も近い画像/投影位置から前記2番目に近い画像/投影位置までのベクトルである、請求項3に記載の位置決めシステム。
【請求項5】
前記計算手段(12)は、所定数の画像位置(i
1,i
2,…,i
n)、好ましくは3つの画像位置(i
1,i
2,…,i
n)が投影位置(p
1,p
2,…,p
n)にマッチするまでマッチングを行うように構成される、請求項1から4のいずれか一項に記載の位置決めシステム。
【請求項6】
前記計算手段(12)は、
・前記視覚的特徴(2)の前記画像位置(i
1,i
2,…,i
n)と前記視覚的特徴(2)の前記投影位置(p
1,p
2,…,p
n)との間のマッチングにおいて取得されたマッチした投影位置(p
1,p
2,…,p
n)に、マッチした画像位置(i
1,i
2,…,i
n)を変換するための第1の変換(T)を決定し、
・前記画像内でキャプチャされた前記視覚的特徴(2)の前記画像位置(i
1,i
2,…,i
n)に前記第1の変換(T)を適用して、洗練された画像位置(i’
1,i’
2,…,i’
n)を取得し、
・前記視覚的特徴(2)の前記洗練された画像位置(i’
1,i’
2,…,i’
n)と、前記視覚的特徴(2)の前記投影位置(p
1,p
2,…,p
n)との間でマッチングを行い、前記画像内でキャプチャされた前記視覚的特徴(2)を識別するように構成される、請求項1から5のいずれか一項に記載の位置決めシステム。
【請求項7】
前記計算手段(12)は、前記カメラ(10)と、前記キャプチャされた画像にその画像表現が含まれる少なくとも1つの視覚的特徴(2)との間の距離の推定を行うように構成される、請求項1から6のいずれか一項に記載の位置決めシステム。
【請求項8】
前記計算手段(12)は、位置決めシステムの以前の動作中の前記カメラ(10)と前記視覚的特徴(2)との間の平均距離に基づいて、前記カメラ(10)と、前記キャプチャされた画像にその画像表現が含まれる少なくとも1つの視覚的特徴(2)との間の前記距離の前記推定を行うように構成される、請求項7に記載の位置決めシステム。
【請求項9】
前記計算手段(12)は、前記キャプチャされた画像内の前記視覚的特徴(2)の前記画像表現の数に基づいて、前記カメラ(10)と、前記キャプチャされた画像にその画像表現が含まれる少なくとも1つの視覚的特徴(2)との間の前記距離の前記推定を行うように構成される、請求項7に記載の位置決めシステム。
【請求項10】
前記計算手段(12)は、重力方向に垂直な平面を仮想画像平面として定義するように構成される、請求項1から9のいずれか一項に記載の位置決めシステム。
【請求項11】
前記計算手段(12)は、前記視覚的特徴(2)の前記画像位置(i
1,i
2,…,i
n)のアンスキューを行うように構成される、請求項1から10のいずれか一項に記載の位置決めシステム。
【請求項12】
前記計算手段(12)は、前記カメラ(10)の前記推定される向きを前記仮想画像平面上で直交するベクトルに変換する第1のアンスキュー変換(S
1)を決定するように構成され、前記視覚的特徴(2)の前記画像位置(i
1,i
2,…,i
n)の前記アンスキューは、前記第1のアンスキュー変換(S
1)を前記画像位置(i
1,i
2,…,i
n)に適用することによって行われる、請求項11に記載の位置決めシステム。
【請求項13】
前記計算手段(12)は、前記カメラ(10)の前記推定される向きを前記重力方向または前記重力方向と反対の方向のベクトルに変換する第2のアンスキュー変換(S
2)を決定するように構成され、前記視覚的特徴(2)の前記画像位置(i
1,i
2,…,i
n)の前記アンスキューは、前記第2のアンスキュー変換(S
2)を前記画像位置(i
1,i
2,…,i
n)に適用することによって行われる、請求項11に記載の位置決めシステム。
【請求項14】
前記計算手段(12)は、前記カメラ(10)のレンズ歪みのために、前記キャプチャされた画像および/または前記視覚的特徴(2)の前記画像位置(i
1,i
2,…,i
n)の補正を行うように構成される、請求項1から13のいずれか一項に記載の位置決めシステム。
【請求項15】
移動可能な物体(1)の三次元位置を決定するための方法であって、
a)前記物体(1)に対する既知の位置および/または向きを有する前記カメラ(10)によってキャプチャされた画像を受信するステップであって、前記画像が、前記物体(1)から離間した固定位置に位置する複数の視覚的特徴(2)の少なくとも一部の画像表現を含む前記ステップと、
b)前記キャプチャされた画像における前記視覚的特徴(2)の画像表現の位置を、前記視覚的特徴(2)の画像位置(i
1,i
2,…,i
n)として検出するステップと、
c)前記カメラ(10)の向きの推定を行うステップと、
d)好ましくは、前記カメラ(10)の向きの前記推定に基づいて、仮想画像平面を定義するステップと、
e)3Dモデル(30)に記憶された前記視覚的特徴(2)の少なくとも一部の三次元位置を前記仮想画像平面に投影して、前記視覚的特徴(2)の投影位置(p
1,p
2,…,p
n)を作成するステップであって、前記3Dモデル(30)が、前記視覚的特徴(2)のためのランドマーク(l
1,l
2,…,l
n)のセットを含み、前記ランドマーク(l
1,l
2,…,l
n)が、対応する視覚的特徴(2)の三次元位置に関する情報を含む前記ステップと、
f)前記視覚的特徴(2)の前記画像位置(i
1,i
2,…,i
n)と、前記視覚的特徴(2)の前記投影位置(p
1,p
2,…,p
n)との間でマッチングを行い、前記画像内でキャプチャされた前記視覚的特徴(2)を識別するステップと、
g)前記マッチングプロセスで識別された前記視覚的特徴(2)の前記三次元位置に関する前記情報に基づいて、前記物体(1)の前記三次元位置を決定するステップと、を備える前記方法。
【発明の詳細な説明】
【背景技術】
【0001】
本発明は、請求項1及び15に記載のテーマに係る移動可能な物体の三次元位置を決定するための位置決めシステム及び方法に関する。
【0002】
移動可能な物体の三次元位置を決定することは、多くの異なる技術分野において関連性の高いタスクである。信頼できる位置決めシステムが保証される技術分野の顕著な例は、自動運転の分野である。自動運転車は、可能な限り情報に基づいた判断を可能にするために、常に自体の位置と向きを知ることが必要である。物体(例えば、車両)の位置を決定するための伝統的なアプローチは、ホイールオドメトリの使用に基づいている。しかしながら、ホイールオドメトリは、長時間の使用では信頼性に欠ける。時折車輪のスリップによって位置の誤算が発生し、システムを頻繁にリセットする必要があるからである。もう1つのアプローチは、GPSなどの地理的位置決めシステムの使用に基づいている。これらのシステムは依然として空間分解能が不十分であり、倉庫内で使用される車両などの屋内での使用には適していない。
【0003】
計算能力の向上に伴い、マシンビジョンに依存した位置決めシステムはますます魅力的になっている。カメラベースの位置決めシステムは、精密と汎用性を約束する。
【0004】
カメラベースの位置決めシステムは、測位対象物に堅固に取り付けられたカメラによってキャプチャされた画像を処理することによって、対象物の位置の決定を行う。キャプチャされた画像を処理することにより、3D空間におけるカメラの位置及び3D空間におけるカメラの向きを決定することができる。堅固な取付により測位対象物に対するカメラの位置と向きが固定されるため、カメラの決定された位置から対象物の三次元位置を容易に推測することができることが知られる。
【0005】
カメラベースの位置決めシステムは、フィルムカメラの位置と向きを決定するために広く使用されている。フィルムカメラのポーズ(すなわち、位置と向き)を自動的に決定することは、拡張現実と仮想現実の分野では不可欠なタスクである。フィルムカメラのポーズが正確に知られる場合、グラフィックエンジンは、このデータを使用して仮想グラフィックを現実的にレンダリングし、フィルムカメラによって記録された画像データとそれらを重ね合わせることができる。グラフィックをリアルに表示するには、グラフィック、ライト、シャドウを正しい視点でレンダリングする必要がある。そのため、フィルムカメラの微小な動きごとに、レンダリングエンジンは、位置決めシステムによって決定されたフィルムカメラの更新されたポーズを受け取り、その動きを説明するようにグラフィックレンダリングを調整する。
【0006】
位置決めシステムのカメラによってキャプチャされた画像を処理することで、フィルムカメラのような対象物の位置および/または向きを決定することは、様々な方法で行うことができる。
【0007】
文献では、一般的に用いられる方法の分野は、SLAM(Synchronous Location and Mapping)と呼ばれる。このアプローチにより、位置決めシステムは、周囲でのその位置を追跡しながら、その最初の未知の周囲のマップを構築および/または更新する。このアプローチにより、位置決めシステムは、位置決めシステムのカメラによってキャプチャされた周囲の視覚的特徴を自動的に検出し、検出された視覚的特徴の3D位置を決定して視覚的特徴の3D位置に関する情報を含む3Dモデルに記憶する。そして、これらの記憶された3D位置を使用して、カメラの位置を決定することができる。この3Dモデルは、例えば、標準的な「運動からの構造復元(Structure from Motion:SFM)」技術を使用して作成され得る。
SLAMアルゴリズムの実装を説明したこの分野の先駆的な作品は、2003年に発表されたAndrew J. Davisonによる「Real-Time Simultaneous Localisation and Mapping with a Single Camera」(DOI10.1109/ICCV.2003.1238654)である。さらに、H. Durrant-Whyte e.a.による「Simultaneous localization and mapping: part I」(DOI:10.1109/MRA.2006.1638022)及びT. Baileyによる「Simultaneous localization and mapping (SLAM): part II」(DOI:10.1109/MRA.2006.1678144)を参照することができる。SLAMの文献では、コンピュータモデルに記憶された視覚的特徴は、しばしば「ランドマーク」と呼ばれる。ランドマークが記憶された視覚的特徴のコンピュータまたは3Dモデルは、文献では「マップ」とも呼ばれ、それを作成するプロセスは「マッピング」と呼ばれる。
【0008】
SLAMアルゴリズムは、利用可能なリソースに合わせてカスタマイズされるため、完璧を目指すのではなく、運用コンプライアンスを目指している。公開されたアプローチは、自動運転車、無人航空機、自律型無人潜水機、惑星探査ローバー、及びロボット工学の分野で採用されている。
【0009】
SLAMベースの位置決めシステムの重要な利点の1つは、視覚的特徴の3Dモデル、すなわち、マップが、視覚的特徴の既知の3D位置に対するカメラの位置と向きを「固定する」ため、それらがドリフトを経験しないことである。
【0010】
しかしながら、SLAMベースのアプローチでは、カメラの周囲をマッピングするために相当な時間とリソースを必要とする。マップが作成されると、位置決めシステムが長期間シャットダウンされた後でも、そのマップを複数の場面で使用することができる。長時間後に再起動する場合、システムの位置の初期決定が必要である。すなわち、位置決めシステムは、カメラによってキャプチャされた画像に含まれる視覚的特徴に対するカメラの位置を決定する必要がある。これを実現するために、位置決めシステムは、カメラによって検出された視覚的特徴と3Dモデル内のランドマークとの間の対応関係を確立する必要がある。
【0011】
コンピュータモデル内のランドマークは、例えば、各ランドマークにユニークなIDを割り当てることによって、互いに区別可能になるように記憶される。コンピュータモデルは、ランドマークごとに3D空間に位置を記憶する。通常、ビジュアルSLAMシステムは、互いに区別される視覚的特徴を使用する。したがって、コンピュータモデルは、視覚的特徴に関する情報を記憶することができ、この情報は、後でカメラ画像におけるその特徴の認識を容易にする。しかしながら、視覚的特徴が互いにかなり類似している場合、または照明が不十分な状況では、個々の視覚的特徴に関して記憶するための十分な信頼できる、個々の視覚的特徴を他の視覚的特徴の中で認識可能にする情報が存在しない可能性がある。このような状況では、視覚的特徴同士の相対的な位置は、他の星に対する空のほとんど見えない星の位置を観察することによってそれらを識別するのと同様に、個々の特徴の識別を容易にするものである。
【0012】
所与の位置決めシステムにおいて、コンピュータモデルには合計N個のランドマークが含まれる。位置決めシステムのカメラは、1フレーム内でM個の視覚的特徴を検出することができ、通常、N≧Mである。画像中で検出されたM個の視覚的特徴とコンピュータモデル内の対応するランドマークとの間の対応関係を確立するタスクにより、組合せの数がC=N!/(N-M)!であるという組合せ問題が生成される。
【0013】
SLAMシステムでは、位置決めシステムが未知の時間のオフになった後で起動すると、このタスクは特に困難であることが判明する。システムがオフになっている間に、システムは、カメラがどのような動きを受けたかを認識していない。また、位置決めシステムがアクティブであるが、カメラの視野が長時間妨げられている場合にも、問題が発生する可能性がある。以上の考慮から、位置決めシステムが、長期間非アクティブであっても、記憶された3Dモデルに基づいてその位置を決定することに迅速かつ確実に戻ることを可能にするために、システムの位置を決定するためのロバストでありながら効率的な手段の必要性が存在することが明らかである。
【0014】
上記の問題に対する一般的なアプローチは、検出された視覚的特徴及びランドマークをそれぞれ2D点及び3D点として表現し、それらの間の対応関係を求めようとすることである。点セット間の対応関係を求める作業のほとんどは、反復最近接点(ICP)アルゴリズムのバリアントを使用し、このアルゴリズムは、多くの現実世界の例で次善の結果を生成することが知られている。
【0015】
Gu et al.による「A Quick 3D-to-2D Points Matching based on the Perspective Projection」(DOI: 10.1007/978-3-540-89639-5_61)には、3D点セットと2D点セットの両方の凸包を計算し、各点セットを境界点と内部点に分割することによって、3D点を2D点とマッチングさせるアルゴリズムが開示されている。これにより、マッチングの検索を簡略化する。このアプローチは、2D点セットがより大きな3D点セットのサブセットにしか対応しない場合に適用できず、したがって、カメラがコンピュータモデルに記憶された視覚的特徴の一部のみをキャプチャする場合、典型的なSLAMシナリオには本質的に不適切である。
【0016】
Gold et al.による「New algorithms for 2D and 3D point matching: Pose Estimation and Correspondence」(DOI: 10.1016/s0031-3203(98)80010-1)には、特徴のペア間のマッチングを求めるという本質的離散問題を連続問題に変換し、そして、様々な最適化技術を用いてグローバル最適を求める。このアプローチは、SLAMシステムにかなりの計算需要を課す。
【発明を実施するための形態】
【0017】
以上のことに鑑み、本発明の1つの目的は、記憶されたコンピュータモデルまたは視覚的特徴の3Dマップに基づいて物体の位置を確立するように構成されたカメラベースの位置決めシステムを用いて、物体の三次元位置を決定する課題に対する改善された解決策を提供することである。特に、本発明の1つの目的は、カメラベースの位置決めシステムが、カメラによってキャプチャされた視覚的特徴を識別できない状況下でも、カメラ(および/またはカメラに取り付けられた物体)の位置を決定することを可能にすることである。本明細書では、改善された解決策には、ロバスト性と必要な計算能力との間の実行可能なトレードオフを示すことが望ましい。
【0018】
上記課題は、請求項1のテーマに係る位置決めシステムと、請求項15のテーマに係る物体の三次元位置を決定する方法とによって解決される。本発明の好ましい実施形態は、従属項のテーマによって定義される。
【0019】
具体的には、本発明は、移動可能な物体の三次元位置を決定するための位置決めシステムを提供する。位置決めシステムは、定義された相対位置及び向きで前記物体に取り付け可能であり、好ましくは前記物体に堅固的に取り付け可能であり、物体および/またはカメラから離間した固定位置に配置可能または配置された複数の視覚的特徴の少なくとも一部の画像表現を含む画像をキャプチャするように構成された前記カメラと、前記複数の視覚的特徴の3Dモデルを記憶するための記憶手段であって、前記3Dモデルが、前記視覚的特徴のためのランドマークのセットを含み、前記ランドマークが、対応する視覚的特徴の三次元位置に関する情報を含む前記記憶手段と、計算手段であって、
・前記キャプチャされた画像における前記視覚的特徴の画像表現の位置を、前記視覚的特徴の画像位置として検出し、
・前記カメラの向きの推定を行い、
・好ましくは、前記カメラの向きの前記推定に基づいて、仮想画像平面を定義し、
・前記3Dモデルに記憶された前記視覚的特徴の少なくとも一部の三次元位置を前記仮想画像平面に投影して、前記視覚的特徴の投影位置を作成し、
・前記視覚的特徴の前記画像位置と、前記視覚的特徴の前記投影位置との間でマッチングを行い、前記画像内でキャプチャされた前記視覚的特徴を識別し、
【0020】
・前記マッチングプロセスで識別された前記視覚的特徴の前記三次元位置に関する前記情報に基づいて、前記物体の前記三次元位置および/または向きを決定するように構成された前記計算手段と、を備える。
【0021】
本発明の特徴的要素の1つは、カメラが長期間視力を失った後、またはシステムが使用前にシャットダウンされた後であっても、カメラ位置決めシステムが、カメラ画像内で検出された視覚的特徴と、3Dモデル内に記憶された視覚的特徴の三次元位置またはランドマークとの間の対応関係を確立することができることである。
【0022】
本発明は、視覚的特徴の記憶された3D位置の2D投影を生成することによって、カメラの画像中で検出された視覚的特徴(画像位置であり、したがって本質的に二次元(または2D)である)と、3Dモデル中のランドマークに記憶された視覚的特徴の三次元(または3D)位置との間の対応関係を確立することを容易にするという知見に基づく、新規で効率的な方法を用いてこれを実現する。次に、2D画像位置のセットと2D投影位置のセットをマッチさせるように構成された適切なパターンマッチング方法を用いて、対応関係を確立し、画像内でキャプチャされた視覚的特徴を識別するために必要な、画像位置と投影位置との間のマッチングを実行し得る。
【0023】
「画像平面」は当該技術分野において周知の概念である。ほとんどの場合、「画像平面」は、3D平面と、カメラの光学的/投影的中心を表す3D点とを意味し、光学的/投影的中心から出発して前記3D平面に直交する3D光線は、カメラが観察している方向を表す。これは、カメラの実際の画像平面(すなわち、カメラによってキャプチャされた画像によって表される平面であり、そこから画像位置が導出される)の定義、ならびに仮想画像平面の定義に適用される。いくつかの場合、特に正射投影が使用されている場合(以下を参照)、仮想画像平面は、光学的/投影的中心を表す3D点を含まない3D平面のみを意味し得る。
【0024】
マッチングプロセスの性能は、3Dモデルに記憶された視覚的特徴の3D位置の2D投影に依存する。原則として、3Dモデルに記憶された視覚的特徴の3D位置を投影し得る仮想画像平面は無限数に存在する。実行可能なマッチングは、3Dモデルに記憶された視覚的特徴の3D位置が投影される仮想画像平面の有意義な選択と、ロバストなマッチング手順との組合せに依存する。
【0025】
例えば、カメラの実際の画像平面を投影用の仮想画像平面として使用することが可能であれば、カメラの画像内でキャプチャされた視覚的特徴の画像位置は、画像内でキャプチャされた視覚的特徴に対応する投影位置のサブセットと完全にマッチすることができる。仮想画像平面とカメラの画像平面との間の偏差が増加するにつれて、マッチングが悪化する。
【0026】
このために、位置決めシステムの計算手段は、カメラの向きの推定を行い、好ましくは、この推定に基づいて仮想画像平面を定義するように構成される。カメラの向きを推定することによって、画像位置と投影位置との間のマッチングを成功させることに適していない仮想画像平面を排除することで仮想画像平面の選択に制約が課される。したがって、カメラの向きの推定は、仮想画像平面の定義の可能な選択を効果的に減らすために利用され得る。
【0027】
画像位置と投影位置との間のマッチングプロセスは、仮想画像平面がカメラの画像平面と完全にマッチするときに取得される画像位置と投影位置の非同一の分布に対して、ロバストであるべきである。仮想画像平面の適切な定義とロバストなマッチングプロセスとの組合せにより、高い計算効率と信頼性でカメラおよびそれに取り付けられた物体の位置を決定することが可能になる。
【0028】
言い換えれば、物体の位置を決定するために、位置決めシステムは、視覚的特徴の3Dモデル内のランドマークと、カメラの画像内でキャプチャされた視覚的特徴の画像位置との間の対応関係を求めるように構成される。位置決めシステムは、少なくともいくつかのランドマークから2D投影位置を生成するように構成される。カメラの向き(およびいくつかの場合に、好ましくはカメラの位置であり、カメラの向きと位置との組合せがカメラのポーズとして示される)を推定した後、仮想画像平面が定義され、3Dモデルからのランドマークを仮想画像平面に投影することができる。これは、「カメラが特定のポーズ(または向き)にある場合、画像のどの位置で特定の3D点を検出するか」という質問をすることに対応する。本発明の文脈において、視覚的特徴の画像表現が予想される画像内の位置は、投影位置、すなわち、仮想画像平面に投影される、3Dモデルに記憶された3D位置から算出される2D位置に対応する。
【0029】
カメラの実際の向きが未知であるので、この質問で使用されるカメラの向きの推定(仮想画像平面の定義がこの推定に基づいている)は、仮説として指定され得る。制限がなければ、仮説の数は実質的に無限になる。
【0030】
本発明によれば、計算手段は、カメラの向きを推定するように構成され、それにより、仮説の数を減らす手段を提供する。減少した数の仮説に基づいて、本発明に係るシステムは、残りの仮説のため、2つのセットの2D位置、すなわち画像位置と投影位置との間でマッチングを行う。マッチを見つけると、システムは精確な位置決めで再開することができる。
【0031】
マッチングが成功しない場合、計算手段は、位置決定プロセスの一部または全てのステップを繰り返すように構成されてもよい。例えば、所定の時間または所定の数のマッチングステップの後にマッチングが成功しない場合、計算手段は、任意でカメラの向きの新しい推定に基づいて、新しい仮想画像平面を定義し、新しい仮想画像平面への視覚的特徴の新しい投影を生成するように構成されてもよい。その後、画像位置と新たな投影位置とのマッチングを行ってもよい。
【0032】
カメラの向きの推定は、カメラの向きに関する入手可能な情報に応じて、異なる方法で実行され得る。例えば、推定は、カメラの向きに制約を課すことによって、例えば、位置決めシステムのユーザにカメラを本質的に垂直に上向きまたは下向きの方向に向けるように促すことによって実行され得る。さらなる例によれば、カメラの向きの推定は、物体およびそれに取り付けられたカメラに所定の向きを提供する機械的支持体に物体を置くようにユーザに促すことによって実行され得る。これにより、仮想画像平面の定義が基づくことができるカメラのおおよその向きが生成される。
【0033】
カメラの推定された向きは、カメラからカメラの視野の中心(すなわち、カメラの光軸)の方向を指すベクトルによって表され得る。仮想画像平面は、カメラの(推定された)光軸に垂直な平面として定義され得る。カメラに対するカメラの画像平面(すなわち、カメラの光学系によりキャプチャされた環境が投影される平面)の位置および向きが知られている。したがって、カメラの推定された向きに基づく仮想画像平面の定義は、推定された向きでカメラの画像平面とマッチするように選択され得る。しかしながら、本発明は、仮想画像平面のそのような定義に限定されない。いくつかの場合、仮想画像平面の他の定義は、後で詳述するように、効率的なマッチングプロセスを実現することにより適切であり得る。
【0034】
マッチングプロセスにより画像位置と投影位置との間の対応関係が確立されると、3Dモデルに記憶されている識別された視覚的特徴の三次元位置に基づいてカメラの位置を決定することができる。物体に対するカメラの位置及び向きが知られているため、カメラの決定された位置(及び向き)から物体の位置を容易に決定することができる。物体の位置を決定するためには、位置決めシステムのカメラによってキャプチャされた1つの画像のみが必要である。任意で、位置決めシステムが画像位置と投影位置との間の対応関係を求めることができない場合、位置決めシステムは、カメラによってキャプチャされた後続の画像のいずれかに対して説明された手順を繰り返すことができる。2つの連続したカメラ画像の間の時間は短いと考えられる。2つの連続したカメラ画像がかなり類似して見えると予想されることを考慮すると、新たにキャプチャされたカメラ画像における検出された視覚特徴表現と、以前にキャプチャされたカメラ画像における検出された視覚特徴表現との間の対応関係は、容易に決定可能である。したがって、1つのカメラ画像を使用してマッチングプロセスを完了できない場合、本発明は、任意で、最適化された方法で後続のカメラ画像を使用することができる。すなわち、前のカメラ画像で検出されなかった、新しいカメラ画像で検出された視覚特徴表現のみが、3Dモデルからのランドマークとマッチするように試みられる。
【0035】
位置が決定される物体は、位置決めシステムのカメラが物体に堅固に取り付け可能である限り、またはカメラに対する物体の位置および向きが任意の時点で決定可能である限り、特に限定されない。これにより、カメラと物体との間の位置(及び回転)関係が明確に定義される。したがって、位置決めシステムによって決定されるカメラの位置(及び向き)から、物体の位置を容易に推定することができる。物体は、位置決めシステムのカメラの自体であることもできる(この場合、上記の位置関係及び回転関係は両方ともゼロである)。
【0036】
本発明の文脈において、「ランドマーク」という用語は、従来の方法で使用される。すなわち、ランドマークは、本発明の3Dモデルなどの3Dコンピュータモデルに記憶された視覚的特徴の表現である。ランドマークは、少なくとも、対応する視覚的特徴の三次元位置に関する情報を含む。
【0037】
視覚的特徴の三次元位置に関する情報は、例えば3Dモデル内のデカルト座標として記憶され得る絶対位置を含むことができる。この情報は、視覚的特徴を区別し、明確に識別することができるように、視覚的特徴ごとに識別子とともに記憶される。三次元位置に関する情報は、視覚的特徴ごとに位置誤差マージンまたは確率分布をさらに含み得る。3Dモデルは、SLAM、または標準的な「運動からの構造復元」技術の使用など、当該技術分野で既知の任意の手段によって取得され得る。
【0038】
本発明の文脈において、「視覚的特徴」という用語は、カメラ画像内でその存在及び位置を自動的に検出することができる、カメラ(および物体)の周囲の一部として理解されるべきである。視覚的特徴は、カメラの環境の任意の顕著な部分であることができる。視覚的特徴がカメラによってキャプチャされると、それは画像内の識別可能な領域によって表される。例えば、壁上の長方形の絵は、少なくとも4つの視覚的特徴、すなわち、絵の角を含む。視覚的特徴は角である必要がない。長方形の絵の例では、絵自体も1つの視覚的特徴として定義され得る。視覚的特徴の画像表現は、ブロブ、円形、三角形、長方形、または画像内で検出可能な任意の他の形状の形態を採り得る。それらは、自然(すでに環境内にある)であっても、人工的であってもよく、例えば、カメラから離間した固定位置に配置可能または配置された可視マーカーの形態であってもよい。
【0039】
視覚的特徴の三次元位置に関する情報がランドマーク内のデカルト座標として提供される場合、対応する視覚的特徴は、「点ベース」特徴に理想化される必要がある。このために、キャプチャされた画像内の検出された特徴から点位置を抽出する方法が使用され得る。このような検出された特徴から点を抽出する方法は、単一の視覚的特徴の複数の画像から抽出された点がすべて、実空間における単一の3D点の画像表現に対応するか、またはその近接に対応するように、一貫性を保つべきである。
【0040】
例えば、接続された画素のグループを考慮した場合にのみ、コーナーを認識することができる。しかし、コーナーが認識された後、そのコーナーの先端が表される画像から、デカルト座標の実数を持つ2D点位置を抽出することができる。同様に、特徴は、ブロブ、すなわち、幾分凸状の形状の画像内の隣接する画素の識別可能なグループであることができる。画像内の輝度が所定の閾値を超えるブロブを表す画素の閉じた領域の中心画素位置を算出することによって、またはいくつかの他の同様の方法によって、2D検出点位置をブロブから抽出することができる。中心画素位置の算出のため、影響を受けた画素は、それらの輝度または画像内の画素の別の識別可能な特性に応じて重み付けされ得る。あるいは、ブロブを構成する画素の位置を平均化してもよい。
【0041】
視覚的特徴が顕著なサイズを有する場合(例えば、視覚的特徴が、固定位置に配置可能または配置された異なるサイズのマーカーを含む場合)、視覚的特徴のサイズに関する情報もランドマークに含まれ得る。例えば、視覚的特徴が本質的に円形の形状を有する視覚的マーカーを含む場合、ランドマークは、視覚的マーカーの直径に関する情報を含み得る。ランドマークに記憶された視覚的特徴の位置は、そのような視覚的特徴の幾何学的な中心を示し得る。
【0042】
本発明の文脈において、ランドマークが、上述したように、視覚的特徴の位置に関する点ベースの情報または確率分布を含むかどうかは決定的ではない。視覚的特徴の三次元位置に関する情報の精密は、単に位置決定の最大取得可能な精度を制限するだけである。
【0043】
いくつかの実施形態では、視覚的特徴の画像位置と視覚的特徴の投影位置との間でマッチングを行うタスクは、2D変換により変換されるときに投影位置と重なる画像位置が十分な数存在するという条件を満たす、回転、並進、及びスケーリングからなる2D変換を識別することを含んでもよい。あるいは、マッチングは、2D変換により変換されるときに画像位置と重なる投影位置が十分な数存在するという条件を満たす、回転、並進、及びスケーリングからなる2D変換を求めることを含んでもよい。重なりの要件は、画像位置と投影位置の同一の位置に限定されない。例えば、3Dモデルを構築する際の視覚的特徴のマッピングにおける所与の不確実性を考慮してもよい。
【0044】
任意に、上記の変換の決定及び適用の後、十分な数の投影位置と画像位置の対応するペアを識別することができ、そのために、例えばそれらの間の距離が所定の閾値を超えないときに、ペアになる投影位置と画像位置が互いに近接して存在する。この場合、画像位置と投影位置との間に重なりまたはマッチがあると仮定することができる。この場合、それぞれのペアになる画像位置と投影位置は、同じ視覚的特徴に対応していると仮定することができる。所定の閾値は、厳格なマッチング基準(低い閾値が選択される場合)または緩やかなマッチング基準(高い閾値が選択される場合)のいずれかを生成するように微調整することができる。言い換えれば、所定の閾値は、マッチした2Dパターンがマッチと見なされるためにどの程度類似している必要があるかを定義する。厳格なパターンマッチングでは、結果が得られるまでに時間がかかることがあるが、結果がより正確になり、特性分布がより均一な環境でシステムを動作させることができる。緩やかなパターンマッチングは、いくつかの不正確なマッチを起こしやすいが、より速く、不完全な初期推定に対してよりロバストになり得る。
【0045】
3Dモデル内の位置情報が確率分布として提供されると、投影位置の確率分布(3Dモデル内の確率分布を代表する2D確率分布である)と画像位置が重なる場合、重なりがあると仮定することができる。
【0046】
画像位置を確率分布として決定することもできる。画像位置と3Dモデル内の位置情報との両方が確率分布によって表されると、投影位置と画像位置の確率分布の間の重なりが所定の閾値を超える場合、または確率分布の間の重なりが見出されるときに、重なりがあると仮定することができる。
【0047】
投影位置または画像位置のいずれか一方が離散値によって表され、他方が確率分布で表されると、画像位置または投影位置の離散位置が投影位置または画像位置の確率分布内にある場合、または確率分布に対する離散位置の最小距離が所定の閾値を超えない場合(これは、離散位置が確率分布によって表される可能性が所定の閾値を超えるという基準に対応する)、重なりがあると仮定することができる。
【0048】
マッチングが完了すると、キャプチャされた画像に画像表現が含まれている視覚的特徴を識別することができる。そして、3Dモデルに基づいて、位置決定をシームレスに継続することができる。位置決定を可能にするために、カメラによってキャプチャされる今後の画像を分析することは、任意の適切なSLAMアルゴリズムに基づいてもよい。カメラ画像内の視覚特徴表現が識別される(3Dモデル内のランドマークとマッチする)と、今後のカメラ画像内の視覚特徴表現を識別するプロセスは、いくつかの方法で行うことができる。今後のカメラ画像中の視覚特徴表現を識別する1つの可能な方法は、マッチングが正常に完了する前に視覚特徴表現を識別するための本発明の基礎となる概念的アプローチに基づいてもよい。連続したカメラ画像が短時間でキャプチャされるという事実に基づいて、カメラがその短時間内であまり距離を通過していないと予想できる。したがって、次のカメラ画像内の検出される視覚特徴表現は、前のカメラ画像内の対応する視覚特徴表現の近くに位置することが予想される。あるいは、1つの画像内の検出される視覚特徴表現の対応するランドマークを知ることにより、これらのランドマークの既知の3D位置及びカメラの固有の特性に基づいてカメラのポーズを算出することが可能になる。算出されたポーズは、2つの連続したカメラフレーム間の期間内に急激に変化しないか、または予測可能な方法で変化することが予想される。したがって、次のカメラ画像について、予想されるポーズを、前の画像内のデータに基づいて推定することができる。予想されるポーズを使用して、ランドマークを投影点のセットに投影することができる。投影点のセットは、新しいカメラ画像内の検出される視覚的表現を識別するプロセスにおいて、新しいカメラ画像に非常に関連性があると予想される。そのような投影点は、互いに近い距離内にある検出点と投影点のペアを見つけるために、検出された視覚的表現に対応する点のセットとマッチさせることができる。
【0049】
好ましくは、計算手段は、画像位置と、それぞれの投影位置によってマッチングプロセスで表される3Dモデルからのランドマークとの対比較によりマッチングを行うように構成される。対比較では、比較の最大数はP・Iであり、Pは3Dモデル内のランドマークの数であり、したがって、作成可能な投影位置の最大数であり、Iは撮像された画像内の画像位置の数である。マッチングをペアワイズで行うことによって、マッチングプロセスの反復手順を提供することができ、これにより、計算効率的かつ簡単なアプローチが可能になる。
【0050】
位置決めシステムは、仮想画像平面の定義に基づいて、したがって、カメラの推定された向きでのランドマークの3D位置の投影に基づいてもよい。カメラの(推定された)位置は、また、ペアワイズマッチングプロセスによって暗黙的に考慮されてもよい。位置決めシステムが、画像位置とランドマーク(投影位置によって表される)との対比較によりマッチングを行うように構成されると、マッチングプロセスに用いられる一対のランドマークと画像位置の選択は、カメラの位置を部分的に決定する。なぜなら、マッチングプロセスに用いられる一対のランドマーク(投影位置によって表される)と画像位置の選択は、ランドマークが、キャプチャされた画像内の画像位置に対応するという仮定と同等であるからである。
【0051】
言い換えれば、本発明によれば、計算手段は、カメラの向きを推定するように構成される。画像位置と投影位置との間のペアワイズマッチングのために、3Dモデルからのランドマークと、画像内で検出された視覚的特徴とが選択される。このペアを潜在的なマッチとして使用し、カメラの向きの推定と組み合わせて、計算手段は、ランドマーク位置を仮想画像平面に投影し、マッチングプロセスを行うことによって、投影位置のセットとカメラ画像内で検出された視覚的特徴のセットとの間で対応関係を確立するように構成される。ランドマーク/投影位置と画像位置とのマッチングを試みることによって、カメラの位置の暗黙的推定が実行される。なぜなら、カメラの(暗黙的に推定される)位置が、ランドマークの投影位置が視覚的特徴の画像位置に対応するようなものである場合にのみ、ランドマーク/投影位置と画像位置との間のマッチを生成することができるからである。
【0052】
3Dモデルに記憶された視覚的特徴の位置の仮想画像平面への投影を、透視投影として行うことが好ましい。透視投影のためには、仮想画像平面の向きと位置が必要である。(推定される)カメラの視点がその平面に対して既知の位置にあるからである。上述したように、仮想画像平面の向きは、カメラの推定された向きに基づいて決定され得、位置は、ランドマーク/投影位置と画像位置との対比較によって暗黙的に推定される。
【0053】
あるいは、投影は、平行投影または正射投影として実行されてもよい。これは、カメラの位置について(暗黙の)仮定が行われないという利点がある。そのため、投影位置の生成は一度だけ実行する必要がある。しかしながら、この場合、投影位置の相対位置とカメラによってキャプチャされた画像位置との間の予想される偏差を考慮し、画像内でキャプチャされた視覚的特徴の透視投影を表すために、マッチングプロセスは、比較的緩やかなマッチング基準で行われるべきである。以下で区別がなされない場合、正射投影よりも透視投影が好ましい。
【0054】
好ましい実施形態によれば、位置決めシステムは、向き決定手段、好ましくはジャイロスコープ、加速度計、磁力計、および/または別の慣性測定ユニットを含む。好ましくは、計算手段は、向き決定手段から取得された情報に基づいて、カメラの向きの推定を行うように構成される。向き決定手段は、好ましくはカメラに堅固に取り付けられ、カメラの向きに関する情報を提供するように構成される。
【0055】
向き決定手段を提供することにより、カメラの向きの推定の精度を向上させることができる。例えば、位置決めシステムのカメラが一定期間に視力を失った場合、ジャイロスコープ、加速度計、磁力計、および/または任意の他の慣性測定ユニットを使用して、カメラが視力を失った時間の間にカメラの角速度を積算することによってカメラの向きを推定することができる。積算された角速度と、カメラが視力を失う前の向きとに基づいて、カメラの向きを推定することができる。
【0056】
さらに好ましくは、向き決定手段は、絶対向き(例えば、重力方向または別の固定向き)に対するカメラの向きの推定を提供するように構成されてもよい。例えば、向き決定手段は、(例えば、向き決定手段のカメラへの堅固な取付により)カメラに対して既知の向きにある加速度計を含んでもよい。カメラが静止している間、加速度計は、カメラに対する重力方向を決定するために使用され得る。この情報に基づいて、カメラの向きを推定することができる。
【0057】
計算手段は、画像位置及び投影位置の記述子に基づいて、視覚的特徴の画像位置と投影位置との間でマッチングを行うように構成されることがさらに好ましく、計算手段は、好ましくは、隣接する画像/投影位置の分布に基づいて、画像/投影位置の記述子を計算するように構成される。
【0058】
特に、画像位置と投影位置との対比較を行う場合、比較の際に、隣接する画像位置及びランドマーク/投影位置の分布に関する情報を考慮に入れることが有利である。そのような情報を利用して、個々の画像位置及び投影位置を特徴付け、それらを互いに区別可能にすることができる。したがって、記述子を使用することで、より効率的なマッチングプロセスが可能になる。
【0059】
好ましくは、記述子は、画像/投影位置の環境の特性を定量化する数値を含む。より好ましくは、記述子は、回転、並進、および/またはスケールに対して不変である。これにより、記述子の計算と、記述子に基づいたマッチングとが容易になる。画像位置の記述子の数値と投影位置の記述子の数値とを比較し、マッチを生成するようにこれらの値の差が所定の閾値を超えないことを要求することによって、マッチングを行うことができる。
【0060】
対応する画像位置と投影位置との間でマッチングを行う際に、記述子を算出することができる。あるいは、記述子を予め算出し、計算手段によるアクセスのために記憶手段のデータ構造に記憶することができる。
【0061】
記述子は、画像位置及び投影位置に対して決定または算出されてもよい。画像位置の記述子と投影位置の記述子を区別する必要がある場合、それに応じて用語を選択する。画像位置及び投影位置の両方の記述子に適用されるという記述子の一般的な特性が記載される場合、「記述子」という用語は、さらに説明することなく使用されてもよい。さらに、画像位置と投影位置を参照する場合には、「画像/投影位置」という用語を使用する。
【0062】
好ましい実施形態によれば、計算手段は、画像/投影位置の記述子を数値のセットとして計算するように構成され、数値は、
【数1】
のうちの少なくとも1つを含み、
【数2】
は画像/投影位置から最も近い画像/投影位置までのベクトルであり、
【数3】
は画像/投影位置から2番目に近い画像/投影位置までのベクトルであり、
【数4】
は画像/投影位置から3番目に近い画像/投影位置までのベクトルであり、および
【数5】
は最も近い画像/投影位置から2番目に近い画像/投影位置までのベクトルである。
【0063】
上記の記述子値には、様々な利点がある。これらは、画像/投影位置の環境の記述の特異性と、算出に必要な計算能力との間の有利なトレードオフを表す。さらに、すべての指定された記述子値は、並進、回転、および/またはスケールに対して不変である。すなわち、画像/投影位置は、画像/投影位置のコンステレーション及びその最も近い隣接の回転、並進、および/またはスケーリングにかかわらず、同じ記述子を生成する。これにより、マッチングプロセスがさらに促進される。
【0064】
記述子を用いることにより、計算手段は、画像位置の記述子と投影位置の記述子との対比較によってマッチングを行うように構成されてもよい。記述子を比較する時、記述子の数値が比較される。比較された画像位置と投影位置の記述子の数値が同一である場合、または数値の差が所定の閾値を下回る場合には、画像位置と投影位置との対応関係が確認されると判定してもよい。この場合、それぞれの記述子の計算のために考慮された、マッチした画像位置及び投影位置の次の隣接も、マッチすると見なされ得る。
【0065】
当業者は、記述子値の定義を一般化して、画像/投影位置が2D回転および/または並進および/または均一なスケーリングを受ける場合に変更されない、画像位置および投影位置に関するできるだけ多くの情報を抽出することができる方法を理解することができる。
【0066】
カメラが視覚的特徴から遠く離れている状況では、キャプチャされた画像において、小さな視覚的特徴が検出されないことがある。そのような状況では、それらの間に適切に大きな間隔を有する大きな視覚的特徴を使用することが望ましい。しかしながら、カメラが後でこれらの大きな視覚的特徴に近づくと、それらのうちの少数しかカメラの視野に残ることができない。
【0067】
したがって、本発明の一実施形態は、複数のサイズの視覚的特徴を使用する。この場合、3Dモデルのランドマークは、視覚的特徴のサイズに関する情報を含むことが好ましい。位置決めシステムは、所与の異なるサイズを有する離散的な数の複数の視覚的特徴を含むことが特に好ましく、例えば、各視覚的特徴は、3つの所与のサイズのうちの1つを有する。
複数のサイズを有する視覚的特徴の効用は二重である。
【0068】
第一、視覚的特徴のサイズの違いにより、それらが互いにより区別するようになる。1つの好ましい実施形態によれば、視覚的特徴のサイズ間の差、および/または視覚的特徴の画像表現のサイズ間の差を記述子値として使用することができる。
【0069】
1つの好ましい実施形態によれば、サイズの違いを利用して、サイズ関係などのサイズに関連する数値を算出することができる。したがって、そのような数値を記述子値として使用することができる。これにより、マッチングプロセスはさらに識別性が高くなり、ミスマッチがより少なくなる。一部の異なる視覚的特徴のサイズが使用される場合、2つの視覚的特徴の間に比較的少数の可能なサイズ関係が存在する。様々なイメージング欠陥が、検出された視覚特徴表現をわずかに小さくまたは大きく見えるようにすることができるので、この洞察は、ロバスト性を高める。サイズ関係は、2つの視覚的特徴または視覚特徴表現のサイズを入力として取り、入力されたサイズ間のサイズ差と相関するメジャーを出力として生成する任意の関数であり得る。前記サイズ関係を計算する関数は、例えば、2つのサイズの比率または2つのサイズ間の差であり得る。サイズの比率を算出する利点は、これらの値がスケール不変であることが期待されることである。
【0070】
第二、そしてより重要なことに、様々なサイズの視覚的特徴の使用は、「最も近い隣接」の代替概念に用いられ得る。例えば、カメラが視覚的特徴から遠く離れている場合、大きな視覚的特徴のみを検出し、小さな視覚的特徴を見逃す可能性がある。そして、キャプチャされた画像に含まれる視覚的特徴の最も近い隣接する視覚的表現は、3Dモデル内の最も近い隣接するランドマークに対応しない可能性がある。そのため、好ましい実施形態では、通常の最も近い隣接の代わりに、「サイズ認識の最も近い隣接」という概念を使用する。ペアワイズマッチングのために画像位置及びランドマークを選択した後、画像/投影位置の最も近い隣接(かつ、場合によっては、2番目および/または3番目に近い隣接)が識別される。
【0071】
サイズ認識の最も近い隣接の概念では、選択された画像位置の視覚的表現に対して所与のサイズ関係を有する画像位置のみが、最も近い隣接(かつ、場合によっては、2番目および/または3番目に近い隣接)の決定のために考慮され、選択された投影位置/ランドマークに対して所与のサイズ関係を有する投影位置/ランドマークのみが、最も近い隣接(かつ、場合によっては、2番目および/または3番目に近い隣接)の決定のために考慮される。例えば、選択された画像位置のサイズ認識の最も近い隣接の決定では、選択された画像位置の画像表現のサイズとほぼ等しいサイズの視覚的表現を有する画像位置のみを最も近い隣接の決定のために考慮することが必要であり得る。同様に、この場合、選択された投影位置/ランドマークの最も近い隣接の決定のために、選択された投影位置/ランドマークのサイズとほぼ等しいサイズを有する投影位置/ランドマークのみが考慮される。
【0072】
したがって、サイズ認識の最も近い隣接を用いた好ましい実施形態によれば、最も近い(および/または2番目に近い、および/または3番目に近い)画像/投影位置および/またはランドマークは、選択された画像/投影位置および/またはランドマークに関して所定のサイズ関係を有する最も近い(および/または2番目に近い、および/または3番目に近い)画像/投影位置および/またはランドマークとして決定される。
【0073】
計算された値を既知の可能な値の1つに四捨五入することによって、ノイズに対する耐性でサイズ関係を算出することができる。いくつの異なる特徴サイズが使用されているかがわかっている場合、可能なサイズ関係の数は有限である。したがって、2つまたは3つの異なる特徴サイズのみが使用される場合、マッチした最も近い隣接のサイズ関係は、非常にロバスト/ノイズに耐性のある手順をもたらすことができる。ちょうどこの情報を必要とする瞬間に、特定のランドマークのサイズ認識の最も近い隣接の検索を行う必要がない。代わりに、特定のサイズ関係を有する最も近い隣接を、3Dモデルの作成中に確立して同じ3Dモデル内に記憶することができ、またはそれ以降の任意の時点で記憶することができる。
【0074】
本発明の文脈において、画像内の最も近い隣接する視覚特徴表現、または3Dモデル内の最も近い隣接するランドマーク、または最も近い隣接する投影ランドマークを見つけることに依存する概念は、サイズ認識の最も近い隣接の概念を利用するオプションを包含するものとして理解されるべきである。
【0075】
計算手段は、キャプチャされた画像内の視覚的特徴の画像表現のサイズを決定し、画像/投影位置に対応する視覚的特徴のサイズ関係および隣接する視覚的特徴のサイズを表す数値を含むように、画像/投影位置の記述子を算出するように構成されてもよい。
【0076】
例えば、投影位置に対して記述子が算出される場合、対応する視覚的特徴と最も近い視覚的特徴とのサイズ関係、および/または対応する視覚的特徴と2番目に近い視覚的特徴とのサイズ関係は、記述子の数値として算出され得る。同様に、画像位置の対応する記述子を算出する際に、対応する視覚的特徴の画像表現と最も近い視覚的特徴の画像表現とのサイズ関係、および/または対応する視覚的特徴の画像表現と2番目に近い視覚的特徴の画像表現とのサイズ関係は、記述子の数値として算出される。
【0077】
記述子がマッチングプロセスに使用されなくても、マッチングプロセスは、視覚的特徴とその最も近い隣接(3Dモデルのランドマークに記憶されているように)とのサイズ関係と、視覚的特徴の画像表現とその最も近い隣接とのサイズ関係との比較を依然として含んでもよい。サイズ関係が実質的に異なる場合、この2つのペアがマッチにならないと推定される。
【0078】
さらに好ましくは、計算手段は、所定の数の画像位置が投影位置にマッチするまで、すなわち、所定の数の画像位置と投影位置の対応するペアが見つかるまで、マッチングを行うように構成される。好ましくは、画像位置と投影位置の対応するペアの所定の数は、3つ以上である。これは、物体の三次元位置のよりロバストな決定を提供する。
【0079】
一般に、視覚的特徴の位置に規則性がなく、したがって、ランドマーク位置に規則性がない場合、大多数の記述子の比較ではマッチが発生しない。これは、不規則な分布を有する視覚的特徴が、記述子に基づいてマッチを生成する、隣接する視覚的特徴の十分に同様な分布をめったに有していないためである。しかしながら、不正確な対応関係に対しても、画像位置と投影位置のペアの間の記述子ベースの対応関係の多くが見出される状況がある。これらの状況は、完璧なグリッドやマッチング基準における弱い閾値などの視覚的特徴の過度に規則的な分布によって引き起こされることが多い。
【0080】
このような場合、所定の数の画像位置と投影位置の対応するペアが見つかるまでマッチングを行うことが好ましい。選択される所定の数が高いほど、マッチングプロセスの信頼性が高くなる。
【0081】
計算手段は、マッチングプロセスの一部として、マッチングプロセスに関連して、および/またはマッチングプロセス中に、確証を行うように構成されることがさらに好ましい。マッチングがポジティブな結果を返した後に確証を行うことが特に好ましい。
【0082】
確証とは、マッチを検証するプロセスのことである。すなわち、所定の一対の投影位置と画像位置との間でマッチが確立された後、計算手段は、(まだマッチしていない)画像位置と投影位置との間でさらに比較を行い、マッチを確証するように構成される。確証のための十分な数の追加の比較がポジティブな結果を返す場合、確証プロセスは、ポジティブな結果で終了することができる。それに応じて、確証のための追加の比較がネガティブな結果または不十分な数のポジティブな結果を返す場合、マッチを破棄し、マッチングプロセスを再開してもよい。このようにして、不正確なマッチを識別して信頼性を向上させることができ、したがって、位置決めシステムの性能を向上させることができる。確証は、マッチングプロセスの一部と見なすことができる。
さらに好ましい実施形態では、計算手段は、
【0083】
・視覚的特徴の画像位置と視覚的特徴の投影位置との間のマッチングにおいて取得されたマッチした投影位置に、マッチした画像位置を変換するための第1の変換を決定し、
・画像内でキャプチャされた視覚的特徴の画像位置に第1の変換を適用して、洗練された画像位置を取得し、
・視覚的特徴の洗練された画像位置と、視覚的特徴の投影位置との間でマッチングを行い、画像内でキャプチャされた視覚的特徴を識別するように構成される。
【0084】
第1の変換の決定及びその後の洗練された画像位置と投影位置とのマッチングにより、画像位置と投影位置のセット間のマッチング効率を向上させることができる。第1の変換を決定するために、計算手段は、所定の数のマッチが見つかるまで、投影位置と画像位置との間でマッチングを行うように構成される。好ましくは、マッチを構成する対応するペアの所定の数は、2つ以上である。画像位置と投影位置のセットのうちの2つのペアは、画像位置のペアを対応する投影位置のペアに変換することに適した、2D回転、並進、および/またはスケーリングからなる第1の変換を決定することに十分である。
【0085】
少なくとも1つの次の隣接を考慮した上述のような記述子を用いてマッチングを行う場合、画像位置と投影位置との間の1つの記述子ベースのマッチは、画像と投影位置の最も近い隣接も互いに対応することを意味する。したがって、ポジティブな結果でマッチングを終了するために、画像位置と投影位置との間の1つの記述子ベースのマッチのみを必要とし、マッチング位置の最も近い隣接をさらなるマッチとして修飾することで十分であり得る。これらのマッチに基づいて、第1の変換を決定することができる。
【0086】
第1の変換を決定した後、それを(まだマッチしていない)画像位置に適用して、洗練された画像位置を取得する。その後、洗練された画像位置と投影位置との間でマッチング(すなわち、画像位置と投影位置の対応するペアの検索)を継続する。好ましくは、洗練された画像位置と投影位置との間の所定の数の対応するペアが見出される場合、洗練された画像位置と投影位置との間のマッチングは、ポジティブな結果で終了する。
【0087】
したがって、洗練された画像位置と投影位置とのマッチングは、第1の変換の算出が基づくマッチの確証に対応する。第1の変換が決定されるマッチが有効である場合、画像位置のセットへの第1の変換の適用は、洗練された画像位置と投影位置との間のさらなるマッチを確立することができるように、投影位置のセットに近接する洗練された画像位置のセットを生成する。洗練された画像位置と投影位置との間に所定の数のマッチが確立される場合、マッチングはポジティブな結果で終了することができる。所定の時間内に、洗練された画像位置と投影位置との間のマッチが所定の数に到達しない場合、またはすべての洗練された画像位置を比較した後、第1の変換の算出が基づくマッチングは、偽マッチとして判定され得る。この場合、第1の変換を再算出することに十分な数のマッチを確立するために、画像位置と投影位置の他のペアを比較することにより、マッチングプロセスを再開する。
代替の好ましい実施形態では、計算手段は、
【0088】
・視覚的特徴の画像位置と視覚的特徴の投影位置との間のマッチングにおいて取得されたマッチした画像位置に、マッチした投影位置を変換するための第2の変換を決定し、
・第2の変換を投影位置に適用して、洗練された投影位置を取得し、
・視覚的特徴の画像位置と、視覚的特徴の洗練された投影位置との間でマッチングを行い、画像内でキャプチャされた視覚的特徴を識別するように構成される。
【0089】
本実施形態で得られる利点は、前の実施形態で説明したものに対応する。第2の変換を算出するために十分な数の画像と投影位置の対応するペアを確立した後、投影位置を洗練された投影位置に変換し、画像位置と洗練された投影位置との間でマッチングを行うことによって、確証を行う。前の実施形態と同様に、画像位置と洗練された投影位置との間で所定の数のマッチが確立されると、マッチングはポジティブな結果で終了してもよい。
【0090】
さらに好ましい代替の実施形態によれば、計算手段は、画像位置とランドマーク/投影位置との間の識別された対応するペアに基づいて第3の変換を決定し、カメラの向き(および/または位置)の洗練された推定を得るために、第3の変換をカメラの推定された向き(および/または位置)に適用するように構成される。計算手段は、前記第3の変換と組み合わせた推定されたカメラの向き(および/または位置)に基づいて、例えば、カメラの向き(および/または位置)の洗練された推定に基づいて仮想画像平面の定義を洗練することによって、ランドマーク位置を投影するようにさらに構成される。本実施形態では、第3の変換を決定するために十分な数の画像位置とランドマーク/投影位置の対応するペアを識別した後、第3の変換を用いてカメラの向き(および/または位置)の推定を洗練する。したがって、その画像表現がカメラによってキャプチャされた画像に含まれる視覚的特徴を識別することにより適切であり得る、洗練された仮想画像平面が得られる。好ましくは、第3の変換の算出が基づく対応するペアの数は、2つ以上である。
【0091】
画像位置とランドマーク/投影位置とを選択してマッチングを行う際に、それらのそれぞれの最も近い隣接が選択される。選択されたランドマーク/投影位置について、その最も近い隣接は、3Dモデル内のランドマーク間の距離に基づいて、または選択された投影位置に最も近い投影位置を識別することによって、識別され得る。第3の変換は、ロール回転(および/または並進)からなるカメラの向き(および/または位置)の変換であり、選択された2つの画像位置が選択された2つのランドマーク位置/投影位置に対応するという制約に基づいて一意に決定される。この第3の変換は、最初に推定されたカメラの向き(および/または位置)に適用されると、洗練されたカメラの向き(および/または位置)を生成する。洗練されたカメラの向き(および/または位置)を使用して、位置決めシステムは、投影点が画像位置のいずれかと重なるかどうかを確認するために、まだ相関していないランドマークの位置を投影するように、直ちに確証を行うことができる。
【0092】
前記変換は、例えば、1つの最も近い隣接に関する情報のみを含む本発明の意味での記述子の助けを借りて決定することができる。変換の決定に使用される記述子は、主にマッチング自体を実行することに役立つことがなく、カメラの向きの推定を洗練することに役立つので、些細な記述子として指定することができる。些細な記述子は、他のいずれかの些細な記述子と比較する場合、常に成功したマッチを生成する。この成功したマッチは、第1、第2、または第3の変換の決定に使用することができ、これにより、位置決めシステムは、画像位置または投影位置を洗練し、確証を進めることによってマッチングを継続することができる。
【0093】
さらに好ましい実施形態によれば、計算手段は、カメラと、その画像表現がキャプチャされた画像に含まれる少なくとも1つの視覚的特徴との間の距離の推定を行うように構成される。
【0094】
カメラによってキャプチャされた画像から、画像内で表される視覚的特徴に関する深さ情報を取得することができない。すなわち、カメラとキャプチャされた視覚的特徴との間の距離は、画像に含まれる情報から導出することができない。カメラとキャプチャされた視覚的特徴との間の距離が修正された場合、キャプチャされた画像内の視覚的特徴間の2D距離の比率は変化し得る。この効果は視差効果と呼ばれる。したがって、マッチングプロセスをさらに最適化するために、カメラと、その画像表現がキャプチャされた画像に含まれる少なくとも1つの視覚的特徴との間の距離の推定を行うことが好ましい。好ましくは、仮想画像平面を定義する際に推定される距離を考慮することができるように、仮想画像平面を定義する前に距離の推定を行う。
【0095】
カメラと、キャプチャされた画像にその画像表現が含まれる少なくとも1つの視覚的特徴との間の距離の推定は、位置決めシステムの以前の動作中に取得されるカメラと視覚的特徴との間の平均距離に基づいていることが好ましい。
【0096】
成功したマッチングが完了した後、すなわち、位置決めシステムが画像内でその画像表現がキャプチャされた視覚的特徴を識別することができる動作中の位置決めシステムの使用のために、適切なSLAMアルゴリズムによりカメラの位置を決定することができる。この動作の間に、位置決めシステムのカメラと、カメラによって撮影された画像内でキャプチャされた視覚的特徴との間の距離を決定することもできる。カメラが視力を失っている期間の後に、本発明に係る位置決めシステムを用いて物体の3D位置の決定を行う場合、カメラが視覚を失う前の位置決めシステムの以前の動作中のカメラと視覚的特徴との間の距離に基づいて、カメラと画像内でキャプチャされた視覚的特徴との間の距離を推定することができる。以前の動作は、3Dモデルが作成されたときの動作時間であってもよい。距離の推定は、以前の動作中にカメラと、少なくとも1つの画像内でキャプチャされた少なくとも1つの視覚的特徴との間の距離に基づいてもよい。好ましくは、以前の動作中の視覚的特徴とカメラとの間の複数の距離が考慮される。さらに好ましくは、距離の推定は、位置決めシステムの以前の動作中のカメラと視覚的特徴との間の複数の距離の平均値に基づいている。
【0097】
カメラと、キャプチャされた画像にその画像表現が含まれる少なくとも1つの視覚的特徴との間の距離の推定は、キャプチャされた画像内の視覚的特徴の画像表現の数に基づいていることがさらに好ましい。このアプローチは、視覚的特徴のおおよその空間密度が知られている場合に実行可能である。カメラと視覚的特徴との間の距離が長くなるにつれて、カメラによってキャプチャされた画像には、より多くの視覚的特徴が表現されるようになる。この相関関係に基づいて、カメラと少なくとも1つの視覚的特徴との間の距離が推定され得る。このアプローチは、計算が効率的で概念が単純な距離推定を可能にする。
好ましい実施形態によれば、計算手段は、重力方向に垂直な平面を仮想画像平面として定義するように構成される。
【0098】
多くの場合、視覚的特徴の大部分は、位置決めシステムの上方に位置する。例えば、位置決めシステムが屋内で使用され、視覚的特徴が天井に位置する場合である。さらに、そのような場合には、視覚的特徴のほとんどが、特に視覚的特徴がカメラから十分な距離に位置する場合に、本質的に共通の3D平面上に配置されると仮定することは、合理的な近似であり得る。好ましくは、そのような場合、視覚的特徴は、本質的に共通の水平3D平面、すなわち、重力方向に垂直な3D平面上にあると仮定される。その後、仮想画像平面が重力方向に垂直な平面として定義される場合、ランドマークの位置は、視覚的特徴が実質的に存在する平面に平行な平面上に本質的に投影される。これにより、マッチングプロセスが促進される。
【0099】
重力方向に垂直な平面が仮想画像平面として定義されると、3Dモデルのランドマークは、重力方向に関する情報を含むことが好ましい場合がある。この情報は、カメラが静止している間に加速度計のような向き決定手段の出力を読み取ることによって、3Dモデルの作成中に3Dモデルのランドマークに記憶され得る。代替的にまたは追加的に、カメラ位置決めシステムが動作可能である間、ユーザは、カメラを空間内のいくつかの点に位置決めする必要があり得、各点は、単一の平面上の所与の許容範囲内にある。これにより、位置決めシステムは、3Dモデル内の平面およびそれに付随する法線ベクトルを識別することができる。代替的にまたは追加的に、カメラ位置決めシステムが動作可能である間、ユーザは、そのようにして平面を識別するために、実質的に同じ平面上に存在する3Dモデルのいくつかのランドマークを選択する必要があり得る。
【0100】
さらに好ましい実施形態によれば、計算手段は、補助平面を3Dモデル内のランドマークの位置に適合させ、仮想画像平面を補助平面に平行な平面として定義するように構成される。
【0101】
本実施形態は、視覚的特徴が本質的に共通の平面上にあるという仮定に再び基づいている。補助平面の位置及び向きは、例えば、補助平面とランドマークの位置との間の二乗距離の合計を最小化することによって決定することができる。
【0102】
驚くべきことに、視覚的特徴に関する前記平面性仮定は、ほとんどの場合(視覚的特徴の分布が仮定の本質的な平面配置から著しく逸脱している場合であっても)にマッチングプロセスの有益な性能をもたらすという非常に緩い仮定であることが判明している。3D空間におけるランドマークの分布は、適合した補助平面または重力方向に垂直な平面から著しく逸脱することができ、物体の位置は依然として満足のいく精度で決定することができる。その理由として、視覚的特徴の理論的に可能な分布の多くが、現実の状況では非常に起こりにくいからである。例えば、環境内の視覚的特徴は、通常、カメラの視野をまたがり、1つずつ後ろに積み重ねられているのではない。
さらに好ましくは、計算手段は、視覚的特徴の画像位置のアンスキューを行うように構成される。
【0103】
本発明の文脈において、「アンスキュー」という用語は、カメラの向きが仮想画像平面に直交している場合、画像位置がキャプチャされた画像内に配置される位置への画像位置の変換を表す。
【0104】
ほとんどの視覚的特徴が実質的に同じ3D平面上に配置されていると仮定すると、カメラがその平面を直交に観察している場合(したがって、視覚的特徴の3D平面に平行であると定義される仮想画像平面を直交に見ている場合)、画像位置を投影位置とマッチさせることがより容易である。カメラの推定された向きが、カメラが平面を直交に観察していないようなものであると、カメラの向きが視覚的特徴を含む3D平面に直交に配向されている場合、画像位置を変換してそれらの位置をシミュレートするために、アンスキューを実行し得る。これにより、マッチングプロセスが促進される。
【0105】
画像位置のアンスキューを使用することも有益である。その理由として、投影ステップを繰り返すことなく、3Dモデルに記憶された視覚的特徴の三次元位置を1回だけ投影し、2D空間で後続のマッチングを完全に行うだけで十分であり得るように、画像位置を変換することである。
【0106】
好ましくは、計算手段は、仮想画像平面に対して直交に見えるようにカメラを整列させるカメラの回転を表す第1のアンスキュー変換を決定するように構成され、視覚的特徴の画像位置のアンスキューは、第1のアンスキュー変換を画像位置に適用することによって実行される。これにより、画像位置のアンスキューを行うための簡単な解決策が提供される。
【0107】
さらに好ましくは、計算手段は、カメラを重力方向または重力方向の反対側に向けるように整列させるカメラの回転を表す第2のアンスキュー変換を決定するように構成され、視覚的特徴の画像位置のアンスキューは、第2のアンスキュー変換を画像位置に適用することによって実行される。このアプローチは、仮想画像平面が重力方向に垂直な平面として定義される場合に好ましい。この場合、第2のアンスキュー変換の適用により、画像位置が仮想画像平面に平行な平面に投影され、それによって、マッチングが容易になる。最初に検出された画像位置の代わりにアンスキュー画像位置を使用することにより、カメラの向きのより精確な推定を得ることができる(カメラが上を向いているか下を向いているかが分かる)。カメラロールは、カメラの向きに関する唯一の欠落した情報である。
【0108】
さらに好ましい実施形態によれば、計算手段は、カメラのレンズ歪みのために、キャプチャされた画像および/または視覚的特徴の画像位置の補正を行うように構成される。
【0109】
この補正を適用すると、カメラ画像内の視覚的特徴の位置が歪まないようになる。画像内の特徴の位置が歪んでいない場合、検出された特徴の位置から抽出される幾何学的特性は、より正確である。したがって、レンズ歪みを補正することで、位置決定の精度を高め得る。
特に明記されていない場合、本発明の文脈における画像位置へのすべての言及は、歪んでいない画像位置を意味するが、それはこの解釈に限定されない。
【0110】
歪みを防止するために、カメラ及びその撮像光学系のモデルが提供され、好ましくは、計算手段によるアクセスのために記憶手段に記憶される。そのようなモデルには、典型的には、カメラの画素分解能、視野、中心シフト(コンピュータビジョンの分野における主点としても知られている)、及びレンズ歪みのモデルに関する情報が含まれる。
【0111】
より高い幾何学的精度を達成するために、カメラによってキャプチャされた画像内の特徴の位置を決定する際に、最初に元のカメラ画像の歪みを補正することが可能である。あるいは、最適化として、視覚特徴表現を含む画像画素のみの歪みを補正することができる。あるいは、撮像された画像において決定される画像位置の値に対して補正を行う。このアプローチは、視覚的特徴または画像全体を表示している個々の画素位置値の歪みを補正する必要がないことにより、処理能力を節約する。
【0112】
本発明のさらなる態様は、移動可能な物体の三次元位置を決定する方法に関する。この方法は、
a) 物体に対する明確に定義された位置および/または向きを有するカメラによってキャプチャされた画像を受信するステップであって、画像が、物体および/またはカメラから離間した固定位置に位置する複数の視覚的特徴の少なくとも一部の画像表現を含むステップと、
b) キャプチャされた画像における視覚的特徴の画像表現の位置を、視覚的特徴の画像位置として検出するステップと、
c) カメラの向きの推定を行うステップと、
d) 好ましくは、カメラの向きの推定に基づいて、仮想画像平面を定義するステップと、
【0113】
e) 3Dモデルに記憶された視覚的特徴の少なくとも一部の三次元位置を仮想画像平面に投影して、視覚的特徴の投影位置を作成するステップであって、3Dモデルが、視覚的特徴のためのランドマークのセットを含み、ランドマークが、対応する視覚的特徴の三次元位置に関する情報を含むステップと、
f) 視覚的特徴の画像位置と、視覚的特徴の投影位置との間でマッチングを行い、画像内でキャプチャされた視覚的特徴を識別するステップと、
g) マッチングプロセスで識別された視覚的特徴の三次元位置に関する情報に基づいて、物体の三次元位置および/または向きを決定するステップと、を備える。
【0114】
本発明の方法によって達成される技術的利点は、上述した位置決めシステムによって達成される技術的利点に対応している。本発明の位置決めシステムの文脈で説明された態様、特徴、及び利点は、本発明の方法にも適用可能であり、逆もまた同様である。特に、本発明の位置決めシステムの計算装置が実行するように構成される任意のタスクは、本発明の方法における方法ステップとして用いることができ、逆もまた同様である。上述した本発明の位置決めシステムを使用して本発明の方法を実行することが好ましい。
【0115】
本発明の位置決めシステムと同様に、移動可能な物体の三次元位置を決定する本発明の方法は、位置決めシステムのカメラが3Dモデルの軌跡を失い、現在キャプチャされた画像にどの視覚的特徴が表れるかを決定できなくなった後に、物体を位置決めするためのロバストで計算効率の高い解決策を提供する。
【0116】
なお、本方法は、上述したステップの順序に限定されるものではない。これらのステップは、異なる順序で実行されてもよく、同時に実行されてもよく、および/または繰り返されてもよい。例えば、ステップa)~d)の順序を逆にしたり変更したりしてもよいし、これらのステップを同時に実行してもよい。ステップの順序に関して適用可能な唯一の制限は、いくつかのステップが他のステップに依存していることである。たとえば、ステップd)を事前に実行していない場合、ステップe)を実行することができない。同様に、ステップb)はステップa)の完了に依存し、ステップf)はステップb)とステップe)の完了に依存する。ステップd)とステップe)は、ステップf)のすべての実行の前に実行されてもよい。ステップf)でマッチングが成功しない場合(すなわち、所定の時間、所定の数のマッチング試行後、または各投影位置と各画像位置とのペアワイズマッチング後、マッチが取得されない場合)、ステップa)、b)、c)、d)、および/またはe)は、ステップf)を繰り返す前に繰り返されてもよい。好ましくは、マッチングが成功しない場合、ステップc)および/またはステップd)を繰り返すことにより、新たな仮想画像平面を定義する。
【0117】
ステップc)は、カメラに結合されている、少なくとも1つの向き決定手段、好ましくはジャイロスコープ、加速度計、磁力計および/または慣性測定ユニットを使用して実行されることが好ましい。
【0118】
さらに好ましくは、視覚的特徴の画像位置と投影位置とのマッチングは、画像位置及び投影位置の記述子に基づいて行われ、画像位置の記述子は、隣接する画像位置の分布に基づいて計算され、投影位置の記述子は、隣接する投影位置の分布に基づいて計算される。本明細書では、マッチングは、画像位置及び投影位置の記述子の対比較によって行われることが好ましい。これにより、実装が簡単で信頼性の高いマッチングプロセスを実現することができる。
【0119】
画像および/または投影位置の記述子を数値のセットとして計算することがさらに好ましい。この数値は、
【数6】
のうちの少なくとも1つを含み、
【数7】
は画像/投影位置から最も近い画像/投影位置までのベクトルであり、
【数8】
は画像/投影位置から2番目に近い画像/投影位置までのベクトルであり、
【数9】
は画像/投影位置から3番目に近い画像/投影位置までのベクトルであり、および
【数10】
は最も近い画像/投影位置から2番目に近い画像/投影位置までのベクトルである。
さらに好ましい実施形態によれば、マッチングは、所定の数の画像位置、好ましくは3つの画像位置が投影位置にマッチするまで行われる。
さらに好ましくは、マッチングステップは、
【0120】
h)視覚的特徴の画像位置と視覚的特徴の投影位置との間のマッチングに基づいて、マッチした画像位置をマッチした投影位置に変換するための第1の変換を決定すること、
i)画像内でキャプチャされた視覚的特徴の画像位置に第1の変換を適用して、洗練された画像位置を取得すること、及び
j)視覚的特徴の洗練された画像位置と、視覚的特徴の投影位置との間でマッチングを行い、画像内でキャプチャされた視覚的特徴を識別すること、を含む。
ここで、任意に、ステップh)~~ステップj)を繰り返す。
【0121】
好ましくは、本方法は、洗練された画像位置と最も近い投影位置との間の距離を決定することによりステップj)のマッチングを確証すること、及び、洗練された画像位置と最も近い投影位置との間の所定の数の距離が所定の閾値を下回る場合にマッチングを終了することを含む。
【0122】
代替の好ましい実施形態によれば、マッチングステップは、
h)視覚的特徴の画像位置と視覚的特徴の投影位置との間のマッチングに基づいて、マッチした投影位置をマッチした画像位置に変換するための第2の変換を決定すること、
i)第2の変換を投影位置に適用して、洗練された投影位置を取得すること、及び
j)視覚的特徴の画像位置と、視覚的特徴の洗練された投影位置との間でマッチングを行い、画像内でキャプチャされた視覚的特徴を識別すること、を含む。
ここで、任意に、ステップh)~ステップj)を繰り返す。
【0123】
好ましくは、本方法は、画像位置と最も近い洗練された投影位置との間の距離を決定することによりステップj)のマッチングを確証すること、及び、画像位置と最も近い洗練された投影位置との間の所定の数の距離が所定の閾値を下回る場合にマッチングを終了することを含む。
【0124】
本発明の位置決めシステムの文脈で前述したように、画像位置および投影位置のそれぞれの記述子に基づいてそれらの対比較によりマッチングを行うステップは、1つのマッチが見つかる場合、ポジティブな結果で終了することができる。あるいは、記述子のペア間の所定の数のマッチが見つかるまでマッチングを継続してもよい。さらに、上記のようにポジティブな結果でマッチングが終了すると、マッチング結果に対して確証を行うことができる。
【0125】
確証のために、画像位置に適用されると、それらの位置をマッチした投影位置の位置に変換する(またはその逆も可能である)第1の(または第2の)変換の決定を可能にするために、十分な数の画像位置が対応する投影位置にマッチするまでマッチングを行うことが好ましい。典型的には、2つ以上のマッチは、前記第1の(または第2の)変換を決定することに十分である。マッチングを実行して画像位置と投影位置との間に所定の数のマッチを生成すると、第1の(または第2の)変換が決定される。確証のために、第1の(または第2の)変換を1つ以上の画像位置(または投影位置)に適用して洗練された画像位置(または洗練された投影位置)を取得し、洗練された画像位置(または画像位置)が投影位置(または洗練された投影位置)とマッチするか否か、例えば、洗練された画像位置(または画像位置)と最も近い投影位置(または最も近い洗練された投影位置)との間の距離が所定の閾値を下回るか否かを決定する。この場合、確証カウントが1ずつインクリメントされる。このようにして、確証カウントが所定の閾値に達するかまたはそれを超えるまで、確証を継続する。閾値に達するか、または閾値を超える場合、マッチングがポジティブであることを確認し、マッチングプロセスが終了する。確証カウントが所定の閾値に達していないかまたはそれを超えていない場合、マッチが偽であると判定され、本方法は、画像位置と投影位置の別のペアを比較することでマッチングを行うプロセスで再開する。
【0126】
2つの次の隣接を考慮した記述子でマッチングを行うと、記述子の比較によりマッチが生成される場合に画像位置と投影位置の3つのマッチングペアが見つかると仮定され得る。この場合、1つのマッチが見つかるまでマッチングを行い、確証に用いられる変換を決定するように、それぞれの記述子を算出するために使用される画像と投影位置を使用することで十分であり得る。
【0127】
さらに好ましい実施形態によれば、本方法は、カメラと、その画像表現がキャプチャされた画像に含まれる少なくとも1つの視覚的特徴との間の距離を推定するステップを含む。
【0128】
カメラと、キャプチャされた画像にその画像表現が含まれる少なくとも1つの視覚的特徴との間の距離を推定することは、以前の位置決め決定中のカメラと視覚的特徴との間の平均距離に基づいていることが好ましい。
【0129】
カメラと、キャプチャされた画像にその画像表現が含まれる少なくとも1つの視覚的特徴との間の距離を推定することは、キャプチャされた画像内の視覚的特徴の画像表現の数に基づいていることがさらに好ましい。
さらに好ましい実施形態によれば、仮想画像平面は、重力方向に垂直な平面として定義される。
本方法、好ましくはステップb)は、視覚的特徴の画像位置のアンスキューを含むことがさらに好ましい。
【0130】
好ましくは、アンスキューは、仮想画像平面に対して直交に見えるようにカメラを整列させるカメラの回転を表す第1のアンスキュー変換を決定することを含み、視覚的特徴の画像位置のアンスキューは、第1のアンスキュー変換を画像位置に適用することによって実行される。
【0131】
あるいは、アンスキューは、カメラを重力方向または重力方向の反対側に向けるように整列させるカメラの回転を表す第2のアンスキュー変換を決定することを含み、視覚的特徴の画像位置のアンスキューは、第2のアンスキュー変換を画像位置に適用することによって実行される。
好ましい実施形態によれば、本方法は、カメラのレンズ歪みのために、キャプチャされた画像および/または視覚的特徴の画像位置を補正することを含む。
【0132】
マッチングを実行する上記の方法では、画像位置及び投影位置の最も近い隣接を見つけることは、頻繁に実行する必要がある通常のタスクである。最適化の目的のために、このタスクは、各画像位置および/または各投影位置に対して1回実行されることが好ましい。この結果は、各画像/投影位置の最も近い隣接のリストを含むテーブルに記憶されてもよい。
【0133】
上記の方法をさらに最適化するために、画像位置および/または投影位置を、それらの位置に基づいてハッシュマップデータ構造に記憶することが好ましい場合がある。これにより、画像位置および/または投影位置への迅速なアクセスが可能となる。
【0134】
任意に、画像位置および/または投影位置は、例えば、予想される誤差よりも高い小数点以下の桁数に座標を四捨五入することによって、近似した形式で記憶される。このようにして、許可されるエラーの範囲内にある任意の2つの点は、常にハッシュマップ内の同じキーにマッピングされる。
本発明の目的は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、上記の本発明の方法に従ってステップを含むコンピュータ実装方法を実行させる命令を含むコンピュータ可読媒体により、さらに解決される。本発明の方法によって達成される技術的利点は、コンピュータ実装方法及び対応するコンピュータ可読媒体によって達成される利点に対応している。本発明の方法の文脈で説明された態様、特徴、及び利点は、本発明のコンピュータ実装方法及びコンピュータ可読媒体にも適用可能である。
本発明の上記並びにさらなる特徴及び利点は、添付の図面を参照して本発明の好ましい実施形態の以下の詳細な説明からより容易に明らかになる。
【図面の簡単な説明】
【0135】
図1は、本発明の好ましい実施形態による位置決めシステムの概略図である。
図2は、重力方向に平行な方向に対する位置決めシステムのカメラの向きを概略的に示す。
図3a~dは、本発明の好ましい実施形態による記述子の定義を示す概念図である。
図4a~cは、本発明のさらに好ましい実施形態による記述子の定義を示す概念図である。
図5は、本発明の好ましい実施形態によるアンスキュープロセスを概略的に示す。
【0136】
図1は、本発明の好ましい実施形態による位置決めシステムの概略図である。位置決めシステムは、物体1の位置を決定するために使用される。カメラ10は、定義された相対的な位置及び向きで物体1に取り付けられる。そのようにして、物体1及びカメラ10が移動しても、物体1とカメラ10との間の相対的な位置及び向きは変更されない。
【0137】
カメラ10は、計算手段12及び記憶手段11に通信可能に結合され、記憶手段11は、以下でより詳細に説明される3Dモデル30を記憶するように構成される。計算手段12及び記憶手段11は、カメラ10とは異なる1つまたは複数のユニット、例えば、カメラ10に通信可能に結合されるコンピュータに含まれてもよい。あるいは、計算手段12および/または記憶手段11は、例えば、マイクロコンピュータ及び対応するデータ記憶装置の形態で、カメラ10の位置に配置されてもよい。
位置決めシステムは、カメラ10と、記憶手段11と、計算手段12とを備える。
【0138】
複数の視覚的特徴2は、物体1から離間して、物体1の環境中に存在する。
図1に示される実施形態では、視覚的特徴2は、物体1の上方に位置する円形または楕円形のマーカーによって表される。物体1に対する位置も、視覚的特徴2の性質も、本実施形態に限定されない。単に決定的なことに、カメラ10は、少なくとも一部の視覚的特徴2の画像表現を含む画像をキャプチャすることができる。
【0139】
図1では、カメラ10の画像平面が、当該技術分野で一般的な方法でカメラ10の上方で概略的に描かれている。カメラ10の向きは、カメラ10からその光軸に沿ってカメラの画像平面に垂直な方向を指し、カメラの視野の中心を通って延びるベクトル
【数11】
によって表される。
【0140】
カメラ10の視野内にある視覚的特徴2は、描かれた画像平面に対応する、カメラ10によってキャプチャされた画像内で可視となる。これらの視覚的特徴2の画像表現は、カメラ10の上方で描かれた画像平面に概略的に示される。物体1、すなわち、カメラ10が移動すると、カメラの位置および/または向きが変化する。それに応じて、カメラ10によってキャプチャされた画像は、カメラの視野内の視覚的特徴2の画像表現の動きを表示する。いくつかの視覚的特徴2は、カメラ10の視野から離れ、他の視覚的特徴2は、カメラ10の視野に入る。
【0141】
記憶手段11は、視覚的特徴2の3Dモデル30を記憶する。3Dモデル30は、ランドマークl1,…,lnと呼ばれる視覚的特徴2の三次元位置に関する情報を含む。N個の視覚的特徴2が3Dモデル30に考慮される場合、3Dモデル30は、N個のランドマークl1,…,lnを含み、それぞれのランドマークl1,…,lnは、対応する視覚的特徴2の三次元位置に関する情報を含む。説明の一般的な部分で詳述されるように、視覚的特徴2の3D位置に関する情報は、例えば、離散座標として、または確率分布として提供されてもよい。
【0142】
位置決めシステムが画像に表される視覚的特徴2に対応するランドマークlnを認識できる場合、3Dモデル30に含まれる視覚的特徴2の既知の位置とカメラ10の固有の特性とに基づいて、カメラ10及び物体1の位置を算出することができる。
【0143】
しかしながら、位置決めシステムの動作中にカメラ10が遮られて移動する場合、または位置決めシステムが一定時間オフになって再びオンになる場合、カメラ10の画像にどの視覚的特徴2がキャプチャされるかを決定することは不可能である。この場合、カメラ10及び物体1の位置を決定することができない。
【0144】
したがって、カメラ10の三次元位置、よって、物体1の三次元位置を決定するために、カメラ10によってキャプチャされた画像にその画像表現が含まれる、カメラ10の視野内の視覚的特徴2を識別する必要がある。
【0145】
このタスクを達成するために、計算手段12は、カメラ10の画像内でキャプチャされた視覚的特徴2を識別する方法を行うように構成される。カメラ10の画像に表される視覚的特徴2の識別に基づいて、上記したように物体1の位置を決定することができる。
【0146】
カメラ10の画像内でキャプチャされた視覚的特徴2を識別する方法は、新規で効率的なアルゴリズムに基づいている。このアルゴリズムは、画像内でキャプチャされた視覚的特徴2の識別を可能にするために、カメラ10の画像内でキャプチャされた視覚的特徴2を3Dモデル30にマッチさせるように設計される。
【0147】
物体1の位置を決定するために、位置決めシステムのカメラ10は、少なくとも一部の視覚的特徴2の画像表現を含む画像をキャプチャするように構成される。
図1の例では、カメラ10によってキャプチャされた画像は、9つの視覚的特徴2の画像表現を含む。位置決めシステムは、キャプチャされた画像内の視覚的特徴2の画像表現の位置を検出するように構成される。これらの位置は、画像位置i
1,…,i
nとして記憶される。
【0148】
画像位置i1,…,inの検出は、説明の一般的な部分で詳述されるように、適切な特徴抽出アルゴリズムに基づいてもよい。視覚的特徴2の画像表現が画像内に実質的な範囲を有する場合(すなわち、視覚的特徴2の画像表現が画像の実質的な領域を複数の画素でカバーする場合)、画像位置i1,…,inは、画像表現の領域の中心として決定され、x/y(画素)座標として記憶されてもよい。あるいは、画像位置i1,…,inは、画像表現の領域を表す分布として記憶されてもよい。
【0149】
このようにして得られた画像位置i1,…,inは、画像位置i1,…,inに対応する視覚的特徴2を識別するために、3Dモデル30内のランドマークl1,…,lnに記憶された視覚的特徴2の3D位置とマッチさせる必要のある2D位置のセットを表す。
【0150】
このようなマッチングを可能にするために、位置決めシステムは、視覚的特徴2の3D位置が投影される仮想画像平面を定義するように構成される。この投影により、視覚的特徴の投影位置p1,…,pnが生成される。(2D)画像位置i1,…,inと、(2D)投影位置p1,…,pnとの間で、マッチングを行う。
【0151】
画像位置i1,…,inが決定される撮像された画像の画像平面と、投影位置p1,p2,…,pnが生成される仮想画像平面とが同様の向きを有する場合、画像位置i1,…,inと投影位置p1,…,pnとの間のマッチングは促進される。仮想画像平面の適切な定義を可能にするために、位置決めシステムは、カメラ10の向きを推定するように構成される。
【0152】
図2は、重力方向に平行な方向に対する位置決めシステムの物体1及びカメラ10の向きを概略的に示す。カメラ10の向きは、再び、カメラ10の光学系からカメラ10の画像平面に垂直な方向を指すベクトル
【数12】
で表される。向きベクトル
【数13】
は、カメラ10の光軸上に位置する。参照として、重力方向とは反対のベクトル
【数14】
も
図2に示される。
【0153】
カメラ10の向きは、カメラ10に堅固に取り付けられた向き決定手段13の助けを借りて推定され得る。向き決定手段13の例としては、ジャイロスコープ、加速度計、磁力計などの慣性測定ユニットが挙げられる。好ましくは、向き決定手段13は、カメラ10の少なくともおおよその向きを可能にするように構成される。例えば、向き判定手段13が加速度計を備える場合、カメラ10が静止しているときに重力方向
【数15】
を決定することができる。カメラ10に対する向き決定手段13の固定および既知の位置決めを考慮して、カメラ10の向き
【数16】
を推定することができる。
【0154】
追加的にまたは代替的に、向き決定手段13は、カメラの向きを推定するための基準として使用され得る地球磁場の方向を決定するように構成される磁力計を含んでもよい。さらに、向き決定手段13は、カメラの動作中にジャイロスコープにより提供される角速度を積分することでカメラ10の向きを推定するために使用することができるジャイロスコープを含んでもよい。
【0155】
なお、向き決定手段13の提供は、位置決めシステムの必須要素ではない。カメラ10の向きは、また、他の手段によって、例えば、ユーザに、カメラ10を定義された方向(例えば、北、真っ直ぐ上向き、45°などの角度で上向きに傾ける)に向けるように指示することによって推定され得る。カメラ10が指示されたようにほぼ方向付けられると、カメラ10は、カメラ10及び物体1の位置を決定するために使用される画像をキャプチャする。そして、カメラ10の向きは、指示された方向に対応するように推定される。
【0156】
さらに、位置決定用の画像をキャプチャする前に、カメラ10を有する物体1が載置された専用のカメラ台座やマウントを用いて、カメラ10の向きを推定することができる。
【0157】
位置決めシステムは、3Dモデル30に記憶された視覚的特徴2の位置が投影される仮想画像平面を定義するように構成される。仮想画像平面の定義は、好ましくは、カメラ10の向きの推定に基づいている。いくつかの実施形態では、仮想画像平面は、カメラ10の推定された向きに垂直な平面として定義される。したがって、仮想画像平面は、推定された向きでカメラ10の画像平面に平行であると定義される。以下に説明する他の実施形態では、仮想画像平面は、3Dモデル30に記憶された視覚的特徴2の位置に基づいて定義されるか、または重力方向に垂直な平面として定義される。
【0158】
定義された仮想画像平面が与えられると、位置決めシステムは、3Dモデル30に記憶された視覚的特徴2の3D位置を仮想画像平面に投影してもよい。したがって、視覚的特徴2の投影位置p1,…,pnを作成する。画像位置i1,…,inと同様に、投影位置p1,…,pnは、ランドマークl1,…,lnから入手可能な視覚的特徴2の位置に関する情報に応じて、離散x/y座標またはx/y確率分布として表され得る2D位置のセットを形成する。
【0159】
位置決めシステムは、画像内でキャプチャされた視覚的特徴2を識別するために、画像位置i1,…,inと投影位置p1,…,pnとの間でマッチングを行うように構成される。マッチングプロセスは、画像位置ipと投影位置pqの対比較によって好ましく行われる反復手順である。いくつかの実施形態では、一対の画像位置ipと投影位置pqの選択ごとに、投影位置p1,…,pnの新しいセットが作成される。
【0160】
マッチングの間、位置決めシステムは、1つの画像位置ip及びランドマークlqに対応する1つの投影位置pqを選択するように構成される。マッチングプロセスの目的は、選択された画像位置ipと選択された投影位置pq(及び、したがって、対応するランドマークlq)が同じ視覚的特徴2に対応するかどうかを判定することである。
【0161】
一実施形態によれば、ペアワイズマッチングは、選択された画像位置ipと選択された投影位置pqの隣接する画像/投影位置の分布を定量化することによって実行される。この定量化は、選択された画像位置ipの記述子dip及び選択された投影位置pqの記述子dpqの算出によって達成される。記述子は、隣接する画像/投影位置の分布を特徴付ける数値の配列によって表される。
【0162】
図3a~3dは、本発明の好ましい実施形態による記述子値の定義を概略的に示す。画像位置i
pと投影位置p
qとの間の迅速かつ信頼性の高いマッチングを可能にするために、対応する記述子d
ip/d
pqは、好ましくは、それらが回転、並進および/またはスケーリングに不変であるように定義される。
【0163】
図3a~3dに示される記述子値の定義の説明については、記述子値の定義が画像位置と投影位置の記述子に同様に適用されるため、画像位置と投影位置との間に区別がない。
【0164】
図3a及び3bは、本発明の好ましい実施形態による第1の記述子の定義を示す。記述子は、対応する画像/投影位置i
p/p
qの環境を示す数値のセットを含む。
図3aでは、画像/投影位置i
p/p
qの記述子を示している。記述子を計算するために、画像/投影位置i
p/p
qの2つの次に近い隣接を識別する。すると、画像/投影位置
p/p
qとその最も近い隣接との間のベクトル
【数17】
を計算する。同様に、画像/投影位置
p/p
qとその2番目に近い隣接との間のベクトル
【数18】
を計算する。さらに、
図3aに例示されるように、画像/投影位置i
p/p
qの最も近い隣接と2番目に近い隣接との間のベクトル
【数19】
を計算してもよい。
【0165】
ベクトル
【数20】
、
【数21】
および
【数22】
から、回転、並進、および/またはスケーリングに不変である複数の記述子値を計算することができる。例えば、ベクトルの大きさの商
【数23】
は、回転、並進、及びスケーリングに不変の記述子値を生成する。同様に、ベクトル
【数24】
及び
【数25】
のベクトル積、または標準化されたベクトルのベクトル積を考慮してもよい。ベクトル
【数26】
及び
【数27】
のベクトル積から、ベクトル間の角度αを算出することができ、それは回転、並進、スケーリングにも不変である。
【0166】
図3c及び3dは、画像/投影位置i
p/p
qの3つの最も近い隣接を算出に考慮した記述子値の定義を示している。
図3a及び
図3bを参照して上述した方法と同様に、画像/投影位置i
p/p
qの3つの次に近い隣接を識別する。そして、画像/投影位置i
p/p
qとその最も近い隣接との間のベクトル
【数28】
、画像/投影位置i
p/p
qとその2番目に近いベクトル
【数29】
、及び画像/投影位置i
p/p
qとその3番目に近いベクトル
【数30】
を計算する。さらに、
図3cに例示されるように、画像/投影位置i
p/p
qの最も近い隣接と2番目に近い隣接との間のベクトル
【数31】
を計算してもよい。また、画像/投影位置i
p/p
qの2番目に近い隣接と3番目に近い隣接との間のベクトル
【数32】
(図示せず)を計算することも可能である。
これらのベクトルから、様々な不変記述子値が算出され得る。適切な記述子値の非限定的な例は、次のとおりである。
【数33】
【0167】
標準化されたベクトル積
【数34】
から、ベクトル
【数35】
及び
【数36】
の間の角度αは、画像/投影位置i
p/p
qの記述子の数値として算出され得る。同様に、ベクトル
【数37】
及び
【数38】
の間の角度β、ベクトル
【数39】
及び
【数40】
の間の角度γは、それぞれの標準化されたベクトルまたはスカラー積から、画像/投影位置i
p/p
qの記述子の数値として計算することができる。
【0168】
記述子に基づくマッチングは、以下のように行うことができる。まず、1つの画像位置i
pと1つの投影位置p
qを選択する。次いで、画像位置i
pの記述子d
ip及び投影位置p
qの記述子d
pqを算出し、記述子d
ip及び記述子d
pqは、同一の記述子値のセットを含み、例えば、両方とも、記述子値
【数41】
、
【数42】
、及び
【数43】
を含む。
【0169】
記述子dipと記述子dpqは、それぞれの記述子値の差を算出することによって比較される。すべての記述子値の差がそれぞれの所定の閾値を下回る場合、マッチが確認される。そうでなければ、画像位置ipと投影位置pqとの間にマッチがないと判定し、新しい一対の画像位置と投影位置をマッチングのために選択する。
【0170】
図4a及び4bは、様々なサイズの視覚的特徴2が存在する場合に使用され得る追加の記述子値の定義を示す。上述した記述子値に加えて、視覚的特徴2の視覚表現のサイズを考慮することが可能であり、それから画像位置i
pが決定され、記述子d
ipの算出のために考慮される。同様に、3Dモデル30が視覚的特徴2のサイズに関する情報を含む場合、投影位置p
qの記述子d
pqの算出のために、この情報を考慮してもよい。
図4a及び4bは、選択された画像/投影位置i
p/p
qに関連するs
0、及び3つの次に近い隣接のサイズs
1、s
2、s
3を示す。スケーリングの不変性を達成するために、記述子値としてサイズの比率、例えば、値s
0/s
2を用いることが好ましい。
【0171】
図4cは、サイズ認識の最も近い隣接の決定を実行するためのサイズ関係の利用を示す。画像/投影位置i
p/p
qを選択した後、画像/投影位置の最も近い隣接は、i
p/p
qに関して視覚表現(画像位置i
pの場合)または投影サイズ(投影位置p
qの場合)が特定のサイズ関係を有する最も近い隣接として識別される。
図4cの例では、選択された画像/投影位置i
p/p
qのサイズs
0とほぼ等しいサイズs
0の画像表現または投影を有する視覚的特徴のみが、最も近い隣接(
図4cでベクトル
【数44】
によって強調表示される)及び2番目に近い隣接(
図4cでベクトル
【数45】
によって強調表示される)の決定に考慮される。選択された画像/投影位置i
p/p
qに対して異なるサイズ関係を有する視覚的特徴は考慮されない。
図4cの例では、選択された画像/投影位置i
p/p
qのサイズs
0と実質的に異なるサイズs
1及びs
2を有する2つの画像/投影位置は、最も近い隣接及び2番目に近い隣接の決定のために考慮されない(選択された画像/投影位置i
p/p
qまでのそれらのユークリッド距離は、サイズ認識の最も近い隣接及び2番目に近い隣接の距離よりも小さいものの)。
マッチングは、所定の数のマッチが確認されるまで反復的に実行されてもよい。所定の数のマッチが確認されるとき、マッチングを終了してもよい。
【0172】
あいまいなマッチングに対してより高いロバスト性が望まれる場合、所定の数のマッチが見つかった後に確証を実行することができる。この場合、マッチした画像位置ia,ib,…,icのセット、及びマッチした投影位置px,py,…,pzの対応するセットを形成する。好ましくは、各セットは、2つ以上の位置を含む。そして、マッチした画像位置ia,ib,…,icのセットをマッチした投影位置px,py,…,pzのセットに変換する(第1の)変換Tを決定する。続いて、マッチしていない画像位置idに変換Tを反復的に適用して、洗練された画像位置idTを得る。個々の洗練された画像位置idTについて、洗練された画像位置idTが投影位置pdに十分に近いかどうかを調査する。この調査は、例えば、洗練された画像位置idTに最も近い投影位置を識別し、それらの間の距離が所定の閾値を下回るかどうかをチェックすることで、実行することができる。
【0173】
洗練された画像位置idTが投影位置pdに十分に近いと判定される場合、確証カウントは1ずつインクリメントされる。このようにして、所定の確証カウントに達するか、またはそれを超えるまで、確証を継続する。この場合、確証が肯定的であるので、確証のための変換Tが決定されたマッチが確認される。すべての画像位置の変換後に、確証カウントが所定の確証カウントに達しないか、またはそれを超えない場合、マッチを破棄し、マッチングのための新しい一対の画像位置と投影位置を選択してマッチングを再開する。
【0174】
確証が肯定的である場合、どの投影位置pjに、したがって、どのランドマークljにマッチした画像位置ijが対応するかを識別することが可能である。そして、マッチングプロセスにより、3Dモデル30内で識別されたランドマークljに含まれる情報に基づいて、カメラ10及び物体1の位置を決定することができる。
【0175】
確証の説明では、画像位置を投影位置に変換するための(第1の)変換Tの決定について説明した。マッチした投影位置px,py,…,pzをそれぞれのマッチした画像位置ia,ib,…,icに変換する(第2の)変換T-1を決定することにより、逆方法で確証を行うことも可能である。この場合、変換T-1を投影位置pdに適用し、洗練された投影位置pdT-1が画像位置idに十分に近いかどうかを調べることにより、確証を行う。
【0176】
マッチングプロセスの別の可能な実施形態によれば、カメラ10の向きを推定した後、1つの画像位置ipと1つのランドマークlqのペアを選択する。次に、選択された画像位置ipに最も近い画像位置irを決定する。位置決めシステムが異なるサイズの視覚的特徴をサポートするように構成される場合、ip及びirに対応する画像表現のサイズ関係が算出され得る。あるいは、irが、ipに対応する視覚特徴表現に対して特定のサイズである、例えば、ipに対応する視覚特徴表現とほぼ同じサイズである、ipに最も近い視覚特徴表現の位置として選択される場合、サイズ関係は、先験的に既知であり得る。さらに、3Dモデル30内で入手可能な情報に基づいて、選択されたランドマークlqの最も近い隣接lsを識別する。選択された画像位置ipとその最も近い隣接のサイズ関係が算出されると、選択されたランドマークlqの最も近い隣接ls(サイズ認識の最も近いランドマーク隣接の選択)を識別する場合、このサイズ関係を考慮することができる。任意に、irは、その画像表現がipの画像表現に対する特定のサイズに対応する、例えば、ipの画像表現とほぼ同じサイズである、ipに最も近い画像位置として選択することができる。
【0177】
画像位置ip、ir及びランドマークlq、lsのこれらの選択に基づいて、位置決めシステムは、pqがipに対応し、psがirに対応するように、ランドマークlq及びlsがそれぞれ投影位置pq及びpsに投影される、カメラ10の向き/ポーズを見つけるように構成される。
【0178】
カメラ10の所望の向き/ポーズを確立するために、カメラ10の元々の推定された向きを、好ましくは並進及びロール回転(すなわち、カメラ10の推定された向きを表すベクトルの周りの回転)からなる、(第3の)変換T2と組み合わせる。ipとpqの間、及びirとpsの間の2つの対応関係は、(第3の)変換T2を一意に決定する。変換T2が決定されると、それはカメラ10の推定された向きに適用されて、洗練された仮想画像平面の定義を可能にする。
【0179】
その後、マッチングは確証ステップに直接進むことができる。まだマッチしていないランドマーク、すなわち、まだマッチしていない投影位置を表すランドマーク(すなわち、pq及びpsを除くすべての投影位置)は、3Dモデル30から選択され、結果として生じる投影位置がまだマッチしていない画像位置のいずれかに対応するかどうかを確認するために投影される。この実施形態の文脈において、3Dモデル30内で互いに近いランドマークが、投影2D位置のセットにおいて互いに近いこともあり、したがって、それが、画像位置i1,…,inが決定されたキャプチャされた画像によって表されるカメラの視野内にある確率が最も高いことを期待することが合理的であるため、lqに最も近いまだマッチしていないランドマークを最初にピックすることが有益であり得る。
【0180】
このマッチングプロセスの実施形態では、選択された画像位置ip及び選択されたランドマークlqに対応する投影位置pqの隣接する画像/投影位置の分布を考慮するため、このマッチングプロセスは、また、記述子ベースのマッチングプロセスと見なされてもよい。すなわち、説明されたマッチングプロセスについて決定的な第3の変換T2の決定は、ip及びir、選択されたランドマーク/投影位置lq/pq、及び隣接するランドマーク/投影位置ls/psに基づいて決定される。任意にサイズ関係の算出を含むこれらの最も近い隣接の決定は、選択された画像位置ip及び選択されたランドマーク/投影位置lq/pqをそれらのそれぞれの最も近い隣接によって特徴付ける記述子の算出と等しい。
【0181】
あるいは、3Dモデル30内の距離に基づいて最も近い(サイズ認識の)ランドマークとしてlsを選択する代わりに、3Dモデル30内のlqに最も近い複数のランドマークを投影することが可能であり、したがって、投影点ps1,ps2,…のセットを生成する。そして、投影位置pqに最も近い(サイズ認識の)投影位置を、セットps1,ps2,…から選択することができる。ランドマークの深さに顕著な差がある場合に、このアプローチはより良いマッチング性能をもたらすことができる。
【0182】
前述のように、位置決めシステム及び対応する方法のいくつかの実施形態では、仮想画像平面は、3Dモデル30に記憶された視覚的特徴2の位置に基づいて、または重力方向に垂直な平面として定義され得る。このような仮想平面の定義は、視覚的特徴が物体1及びカメラ10から遠く離れている場合に特に有用である。一実施形態によれば、3Dモデルに記憶された視覚的特徴2の位置に補助平面を適合させることによって、例えば、視覚的特徴2の位置に対する最小二乗適合により、仮想画像平面の向きを決定する。次いで、仮想画像平面を、補助平面に平行な平面、または補助平面と同一の平面として定義する。
【0183】
このような補助平面の定義は、視覚的特徴2がほぼ位置する共通平面の決定として理解されてもよい。視覚的特徴2が位置決めシステムのはるか上方に位置する場合、補助平面の適合のことの代わりに、仮想画像平面を重力方向に垂直な平面として定義してもよい。これは、視覚的特徴2がほぼ同じ高さに位置するという仮定に対応する。
【0184】
このタイプの定義を仮想画像平面に用いる場合、画像位置i1,…,inが存在するカメラ10の画像平面の向きは、仮想画像平面の向きから実質的に逸脱してもよい。この場合、マッチングポロセスの性能を向上させるために、画像位置i1,…,inをアンスキューすることが好ましい。アンスキューは、本質的に、カメラ10の向きが仮想画像平面に直交している場合に得られるアンスキュー画像位置i’1,…,i’nに画像位置i1,…,inを変換する変換Sの決定及び適用を指定する。
【0185】
図5は、アンスキュープロセスを概略的に示す。カメラ10の上方に位置する視覚的特徴2は、カメラ10によってキャプチャされる。カメラ10の向きは、破線で示される。カメラ10の対応する画像平面は、点線で示される。カメラ10の画像内でキャプチャされた視覚的特徴2の画像表現に対応する画像位置i
1,…,i
nは、中空円で示される。カメラ10の推定された向きに基づいて、画像位置i
1,…,i
nは、カメラ10の推定された向きの仮想画像平面に垂直な方向への変換を表すアンスキュー変換Sを決定することによって、アンスキューすることができる。変換Sは、画像位置i
1,…,i
nをアンスキューするために使用される。アンスキュー画像位置i’
1,…,i’
nは、
図5において塗りつぶし円として表される。アンスキュー画像位置i’
1,…,i’
nが位置するアンスキュー平面は、実線として示される。したがって、アンスキュー画像位置i’
1,…,i’
nは、カメラ10の向きが仮想画像平面(
図5の場合、水平に向いて、重力方向に垂直である
【数46】
)に垂直である場合に得られる画像位置に対応する。次いで、アンスキュー画像位置i’
1,…,i’
n及び投影位置p
1,…,p
nで、マッチングを行う。
【0186】
位置決めシステム及び対応する方法のいくつかの実施形態によれば、カメラ10の画像内でキャプチャされた視覚的特徴2とカメラ10との間の距離は、投影位置p1,…,pnの生成時に考慮される。カメラ10によってキャプチャされた画像は、画像位置i1,…,inの検出及び決定に用いられる。しかしながら、キャプチャされた画像から導出可能な深さ情報がない。仮想画像平面を定義する際に、カメラ10の推定された向きを考慮する(または、アンスキューを使用する場合、アンスキューのためにカメラ10の向きを考慮する。アンスキューがカメラ10の仮定向きから仮想画像平面の向きへの変換を表すので、それは、仮想画像平面を定義するためにカメラ10の向きを考慮することと等しい)。
【0187】
カメラ10と視覚的特徴2との間の距離(特に視覚的特徴2がカメラ10から遠い距離に位置していない場合)は、キャプチャされた画像内の視覚的特徴2の画像表現の相対位置にも実質的に影響を与える。このような場合、キャプチャされた画像にその画像表現が含まれる視覚的特徴2の深さを推定することが有益であり得る。そして、仮想画像平面の定義は、推定された深さ、すなわち、カメラ10の画像内でキャプチャされた視覚的特徴2とカメラ10との間の推定された距離を考慮に入れ得る。カメラ10の画像内でキャプチャされた視覚的特徴2とカメラ10との間の深さまたは距離を推定するための例示的な適切な手段は、説明の一般的な部分に記載されている。
【0188】
上記の説明に基づいて、
図6を参照しながら、位置決めシステム及び対応する方法の一実施形態による物体1の位置を決定するための方法ステップのシーケンスを説明する。
【0189】
本方法は、カメラ10が、少なくともいくつかの視覚的特徴2の画像表現を含む画像をキャプチャすることから開始する。キャプチャされた画像において、視覚的特徴2の画像表現の画像位置i1,…,inを検出する。さらに、カメラ10の向きを推定する(このステップは、画像のキャプチャ前、キャプチャ中、またはキャプチャ後に行ってもよい)。
【0190】
続いて、仮説を設定する。仮説を設定することは、仮想画像平面を定義することと、任意に画像位置i1,…,inをアンスキューすることとを含む。さらに、任意に、仮説を設定することは、画像内でキャプチャされた視覚的特徴2とカメラ10との間の距離の推定を含んでもよい。
【0191】
次に、3Dモデル30からのランドマークlqと画像位置ipからなるペアを選択する。選択されたランドマークlqと選択された画像位置ipが同じ視覚的特徴2に対応すると仮定すると、カメラ10の位置に関する仮定が以下のように暗黙的に行われる。選択されたランドマークlqと選択された画像位置ipが同じ視覚的特徴2に対応する場合、カメラ10は、ランドマークlqに記憶された位置と、カメラ10の仮定された向きに垂直な画像平面上の画像位置ipとを通って延びる線に位置すると仮定する必要がある。また、カメラ10の画像内でキャプチャされた視覚的特徴2と視覚的特徴のカメラ10との間の深さまたは距離も推定されている場合、前記線上のカメラ10の位置も暗黙的に想定される。したがって、仮説は、ランドマークlqと画像位置ipのペアの選択によって洗練される。仮説のさらなる洗練は、変換TまたはT-1の算出及び適用により、またはカメラ向きおよび/または仮想画像平面の定義の推定を洗練することによって(例えば、変換T2の算出及び適用により)、画像位置または投影位置を洗練することを含んでもよい。
【0192】
続いて、3Dモデル30のランドマークl1,…,lnに記憶された視覚的特徴2の3D位置を仮想画像平面に投影し、投影位置p1,…,pnを作成する。位置決めシステムは、(任意に、アンスキューの)画像位置i1,…,inと投影位置p1,…,pnとの間でマッチングを行う。マッチングは、上述のような記述子の算出を含んでもよい。所定の数のマッチが見つかる場合、ポジティブな結果でマッチングを終了する。
【0193】
その後、ポジティブなマッチング結果に対して確証を行ってもよい。確証もポジティブな結果を返す場合、画像位置i1,…,inと投影位置p1,…,pnとのマッチに基づいて、画像内でキャプチャされた視覚的特徴2を3Dモデル30において識別してもよく、物体1の位置を決定してもよい。マッチングプロセスまたは確証がポジティブな結果を返さない場合、プロセスは、新しい一対のランドマークlqと画像位置ipを選択することに戻る。ランドマークlqと画像位置ipのすべての可能なペアが選択され、マッチングに失敗する場合、本方法は新しい仮説の設定に戻る。
【0194】
代替の実施形態によれば、
図7に示される方法ステップのシーケンスを実行する。プロセスシーケンスのステップは、
図6に関連して説明されたステップに対応する。
図7に示される方法シーケンスの違いは、仮説を設定するステップと、一対のランドマークl
qと画像位置i
pを選択するステップとの順序が逆になることである。本実施形態によれば、同じ一対のランドマークl
q及び画像位置i
pで、複数の仮説を検証する。カメラ10の画像内でキャプチャされた視覚的特徴2と視覚的特徴2のカメラ10との間の深さまたは距離を十分な信頼性で推定することができないと、この方法ステップのシーケンスは、例えば、好ましい場合がある。この場合、仮説のセットを設定してもよい。ここで、仮説は、視覚的特徴2の深さについての仮定において異なる。そして、新しい一対のランドマークl
qと画像位置i
pが選択される前に、これらの仮説を連続して検証する。
【0195】
上記の説明から明らかなように、本発明の異なる実施形態による位置決めシステム及び対応する方法の説明された特徴及び機能を、位置決めシステム及び対応する方法が適用される状況に応じて、異なる方法で組み合わせてもよい。この柔軟性をより詳細に説明するために、本発明の概念を適切な方法で組み合わせることによって得られる利点を強調するように、主に仮説の設定(すなわち、カメラの向きの推定、視覚的特徴2の深さの任意の推定、仮想画像平面の定義、及び画像位置i1,…,inの任意のアンスキュー)において異なる本発明の実施形態を説明する。
【0196】
本発明の可能な実施形態によれば、位置決めシステムは、視覚的特徴2の画像表現を含む画像をキャプチャし、画像内でキャプチャされた視覚的特徴2に対応する画像位置i1,…,inを検出するように構成される。続いて、カメラ10の向き、及び画像内の少なくとも1つの視覚的特徴2の深さを推定する。一対のランドマークlqと画像位置ipを選択する。仮想画像平面は、推定された向きを有するカメラ10の画像平面として定義され、ランドマークlqに対応する視覚的特徴2から推定された距離に位置する。続いて、マッチングを行う。マッチングが失敗すると、新しい一対のランドマークlqと画像位置ipを選択し、このプロセスを繰り返す。マッチングが成功すると、マッチング結果に対して確証を任意に行う。
【0197】
前述のように、第1、第2または第3の変換T、T-1、T2のいずれかの使用を任意に含む記述子の使用により、またはパターンマッチングアルゴリズムにより、マッチングを行ってもよい。
【0198】
あるいは、カメラのロール(すなわち、その光軸の周りのカメラ10の回転向き)を推定してもよく、選択されたランドマークlqに対応する投影位置pqと選択された画像位置ipとを直接に重ね合わせ、十分な数の残りの画像位置inが投影位置pnに十分に近いかどうかを確認することによって、マッチングを行ってもよい。マッチが見つからない場合、ロールおよび/または深さの新しい推定を選択し、マッチングを繰り返す。これにより、位置決定のための概念的に単純で容易に実装可能な方法を提供する。
【0199】
本発明の別の可能な実施形態によれば、位置決めシステムは、視覚的特徴2の画像表現を含む画像をキャプチャし、画像内でキャプチャされた視覚的特徴2に対応する画像位置i1,…,inを検出するように構成される。続いて、カメラ10の向きを推定する。3Dモデル30のランドマークl1,…,lnに記憶された視覚的特徴2の位置に平面を適合させる。この平面は、仮想画像平面として定義される。続いて、3Dモデル30のランドマークl1,…,lnに記憶された視覚的特徴2の位置を適合させた平面に正射投影して、投影位置p1,…,pnを取得する。カメラ10の推定された向きの仮想画像平面に垂直なベクトルへの変換を表すアンスキュー変換Sに基づいて、画像位置i1,…,inをアンスキューする。続いて、アンスキュー画像位置i’1,…,i’nと投影位置p1,…,pnとの間のペアワイズマッチングは、好ましくは記述子の使用によって、行われる。投影位置p1,…,pnが正射投影によって得られるため、マッチング及び確証の基準は、あまりにも厳格に設定されるべきではない。すなわち、記述子値の間の差および/または確証中の距離が比較的大きな閾値を下回る場合、アンスキュー画像位置i’nと投影位置pnとの間でマッチを確認するべきである。
【0200】
本実施形態は、投影位置p1,…,pnの生成が1回のみ行われるという利点を有する。本実施形態は、視覚的特徴2がほぼ共通の平面にあると仮定され得る場合、及びカメラ10が視覚的特徴から遠い距離に位置している場合に特に好適である。
【0201】
精度を向上させるために、まず画像位置i1,…,inを変換して、カメラの光軸を法線とする平面に正射投影を形成し、次に、上述したようにこれらの修正された画像位置をアンスキューすることによって、画像位置i1,…,inのアンスキューを修正してもよい。これにより、マッチングプロセスの精度と効率が向上する可能性がある。
【0202】
本発明の別の可能な実施形態によれば、位置決めシステムは、視覚的特徴2の画像表現を含む画像をキャプチャし、画像内でキャプチャされた視覚的特徴2に対応する画像位置i1,…,inを検出するように構成される。続いて、カメラ10の向きを推定する。3Dモデル30のランドマークl1,…,lnに記憶された視覚的特徴2の位置に平面を適合させる。さらに、画像内でキャプチャされた視覚的特徴2のうちの少なくとも1つの深さを推定する。一対のランドマークlqと画像位置ipを選択し、仮想画像平面は、推定された深さに対応する距離で適合平面から離間した、適合平面に平行な平面として定義される。カメラ10の推定された向きの仮想画像平面に垂直なベクトルへの変換を表すアンスキュー変換Sに基づいて、画像位置i1,…,inをアンスキューする。3Dモデル30に記憶された視覚的特徴2の位置は、斜視投影により仮想画像平面に投影され、カメラ10の位置は、選択された一対のランドマークlqとアンスキュー画像位置i’pに基づいて推定される。続いて、マッチングは、好ましくは記述子を使用して行われ、好ましくは確証を含む。
本実施形態は、以前の実施形態よりも高いマッチング精度を提供し得るが、マッチングステップごとに投影位置を再生成する必要がある。
【0203】
本発明の別の可能な実施形態によれば、カメラ10の向きは、ユーザにカメラ10を本質的に上向きの方向に向けるように促すことによって推定される。カメラがこのように配向されると、位置決めシステムは、視覚的特徴2の画像表現を含む画像をキャプチャし、画像内でキャプチャされた視覚的特徴2に対応する画像位置i1,…,inを検出するように構成される。仮想画像平面は、重力方向に垂直な平面として定義される。
【0204】
第1の代替の実施形態によれば、3Dモデル30のランドマークl1,…,lnに記憶された視覚的特徴2の位置を適合させた平面に正射投影して、投影位置p1,…,pnを取得し、マッチングを行う。第2の代替の実施形態によれば、画像内でキャプチャされた視覚的特徴2の深さを推定し、仮想画像平面は、推定された深さに対応する距離で画像内でキャプチャされた視覚的特徴2から離間した、重力方向に垂直な平面として定義される。
続いて、マッチングを行い、好ましくは記述子及び確証の使用によって行う。
【0205】
本実施形態は、カメラの向きを本質的に上向きまたは下向きに制限することによって、マッチングの精度が大幅に改善され得るという利点を有する。さらに、アンスキューする必要がない。驚くべきことに、本方法は非常にロバストであり、視覚的特徴2が共通の平面にほぼ位置していなくても、信頼性のある位置決め結果を生成することが分かっている。この方法は、視覚的特徴2の大部分が物体1の上方に遠距離に位置する場合に特に好ましい。
【0206】
上記のいくつかの実施形態の可能な修正によれば、3Dモデル30のランドマークl1,…,lnに記憶された視覚的特徴2の位置を投影するステップの代わりに、複数の画像をキャプチャし、その後、複数の画像をキャプチャするときにカメラの視野に現れる視覚的特徴2の画像表現を含むより大きなデータ構造に組み合わせるステップを実行してもよい。好ましくは、カメラ10は、データ構造を生成するための複数の画像をキャプチャしながら移動して、より多くの視覚的特徴2をキャプチャする。データ構造に表される視覚的特徴2の投影位置p1,…,pnは、画像位置i1,…,inの決定に類似する方法でデータ構造に表される視覚的特徴2の位置を検出することによって、データ構造から生成することができる。したがって、この修正によれば、カメラ10によって撮像された画像から視覚的特徴2の位置情報を取得することによって、3Dモデル30のランドマークl1,…,lnに記憶された視覚的特徴2の位置の投影を実行する。
【国際調査報告】