カメラ・ポーズを決定する方法および装置
(例えばコンピュータ・ビジョン・システムで使用される)6つの自由度で特徴付けられるカメラ・ポーズを決定する方法および装置が開示される。一実施形態では、カメラでキャプチャされたイメージが受領され、潜在的ポーズに関する少なくとも2つの制約が、カメラに対するイメージの既知の関係に従って実施され、それによって潜在的ポーズが、残りの2つの自由度に制限される。次いで、少なくとも1つの潜在的ポーズが、その残りの2つの自由度に従って決定される。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願への相互参照
本願は、参照により本明細書にその全体が組み込まれる2004年6月22日出願の米国仮特許出願第60/581,868号の特典を主張するものである。
【0002】
政府資金援助への参照
本発明は、米国陸軍によって与えられた交付番号DAAD19−01−2−0012の下で政府援助を伴ってなされたものである。政府は、本発明における一定の権利を有する。
【0003】
様々な応用例におけるコンピュータ・ビジョン・システムの有用性が広く認められている。コンピュータ・ビジョン・システムでの基本的な課題は、ワールド内の既知の地点の1つまたは複数のイメージが与えられたとして、イメージ取込み装置(例えばビデオカメラ)のポーズを決定することである。
【0004】
ポーズ推定の例示的応用例は車両位置確認である。車載カメラからの環境的特徴を追跡することにより、車両位置の変化を推定し、ナビゲーション、追跡、またはその他の目的でこの情報を使用することが可能である。しかし、周知のポーズ推定アルゴリズムに基づくカメラ・ベースの車両位置確認のための現在の技法は、車両上にある複数のカメラを最適に使用していない。ポーズ推定のための既存の方法は単一パースペクティブ・カメラ・モデルを想定しているからである。この制限の結果として、その場しのぎのポーズ推定方法が使用される。例えば、各車載カメラについて別個にポーズが推定され、その後で別々のポーズ推定が組み合わせされることがある。したがって、そのような方法は一般に、利用可能な情報を最良に使用していない。
【0005】
別の例として、較正パースペクティブ・カメラのポーズを決定する周知の一方法は、カメラの可能なポーズを最大4対の解に制限するために(ただし、各対からの有効な解はせいぜい1つである)、ワールド内の3つの既知の地点のイメージを実装する。これらの解は通常、周知の「3点パースペクティブ・ポーズ問題」に従って生成される。この手法を多くの状況で首尾よく適用することができるが、現状では、その有用性は、特定のカメラ幾何形状および視点に限定される。したがって、この手法は、コンピュータ・ビジョン・システムでますます一般的なツールとなっている、より一般化された幾何形状(例えば、中央パースペクティブ・モデルに準拠せず、または単一視点に対応しない幾何形状)を有するカメラモデルにはあまり適用可能ではない。
【非特許文献1】Book III of Euclid’s Elements
【非特許文献2】D.Nister、An Efficient Solution to the Five−Point Relative Pose Problem、IEEE Conference on Computer Vision and Pattern Recognition、Volume 2、pp.195−202、2003
【発明の開示】
【発明が解決しようとする課題】
【0006】
したがって、実質的にモデルに無関係なカメラ・ポーズを決定する方法および装置が当技術分野で求められている。
【課題を解決するための手段】
【0007】
(例えばコンピュータ・ビジョン・システムで使用される)6つの自由度で特徴付けられるカメラ・ポーズを決定する方法および装置が開示される。一実施形態では、カメラでキャプチャされたイメージが受領され、潜在的ポーズに関する少なくとも2つの制約が、カメラに対するイメージの既知の関係に従って実施され、それによって潜在的ポーズが、残りの2つの自由度に制限される。次いで、少なくとも1つの潜在的ポーズが、その残りの2つの自由度に従って決定される。
【0008】
上述の本発明の特徴を詳細に理解できる方式の結果、添付の図面にその一部が図示される実施形態を参照することにより、上記で簡潔に要約される本発明のより具体的な説明を得ることができる。しかし、添付の図面は本発明の典型的な実施形態を示すに過ぎず、したがって、本発明は同様に効果的な他の実施形態を認めることができるので、添付の図面を本発明の範囲の制限と見なすべきでないことに留意されたい。
【発明を実施するための最良の形態】
【0009】
本発明は、(例えばコンピュータ・ビジョン・システムのための)カメラ・ポーズを決定する方法および装置を開示する。カメラモデルまたはイメージ・キャプチャ幾何形状に関する仮定に依拠する、ポーズを決定する従来の方法とは異なり、本発明の方法および装置は、カメラモデルまたは幾何形状の如何に関わらず機能し、したがって実質上任意の種類のカメラのポーズを決定するように実装することができる。例えば、曲面ミラー(例えばカタディオプトリック系またはジオプトリック系)と共に動作するカメラ、マルチカメラ・リグ(例えばステレオ・カメラヘッド)、または互いにしっかりと取り付けられた複数の個々の検出素子を備える複合カメラはすべて、本発明の適用から利益を受けることのできる潜在的な構成である。さらに、ある時間から別の時間にカメラ位置を関係付けるポーズ変換が既知である限り、経時的に移動する1つまたは複数の従来型カメラを単一の一般化カメラとして扱うことができる。それぞれの場合に、本明細書で説明される方法および装置によって課される唯一の要件は、イメージ位置に対応する光線間の空間的関係が既知であることである。言い換えれば、本発明は、分類されない特殊ケースとして較正カメラ構成を含む較正一般化カメラに対処する。
【0010】
図1は、本発明による、カメラ・ポーズを決定する方法100の一実施形態を示す流れ図である。方法100は、実質上任意のカメラまたはイメージ取込み装置のポーズを決定するように実装することができる。本発明の一実施形態では、決定されるポーズは、6つの自由度、すなわち回転についての3つの自由度と並進に関する3つの自由度を有すると理解される。
【0011】
方法100はステップ102で初期化され、ステップ104に進み、ステップ104では、方法100は、少なくとも3つの既知のワールド・ポイントを含むイメージ(例えば、一続きのシーンイメージの個々のフレーム)を受け取る。一実施形態では、イメージが、何らかの任意ではあるが周知の方式でライト・フィールドまたはプレノプティック関数をサンプリングする一般化カメラから受領される。例えば、曲面ミラー(例えばカタディオプトリック系またはジオプトリック系)と共に動作するカメラ、マルチカメラ・リグ、または互いにしっかりと取り付けられた複数の個々の検出素子を備える複合カメラのうちの少なくとも1つからイメージを受け取ることができる。ワールド・ポイントは、受領されたイメージ内にキャプチャされ、現実世界での3次元位置が既知である現実世界の任意の地点を含む。
【0012】
ステップ106では、方法100は、既知のワールド・ポイントのうちの3つに投射される、イメージ取込み装置の座標系内の地点の光線を識別する。一実施形態では、これらの光線を直ちに導出することができるようにイメージ取込み装置が較正される。
【0013】
図2は、3つの既知のワールド・ポイント2041〜2043(以後「ワールド・ポイント204」と総称する)のイメージ2021〜2023(以後「イメージ202」と総称する)を含む例示的イメージ200を示す略図である。図示するように、既知のワールド・ポイント204の各イメージ202および対応するワールド・ポイント204自体は、共通光線2061〜2063(以後「光線206」と総称する)沿いにある。一般に、イメージ200をキャプチャしたイメージ取込み装置のポーズは、すべての光線206がそれらの対応するワールド・ポイント204と出会うように3つの光線206の固定変換を求めることによって推定することができる。この固定変換を求める方法の一実施形態を以下でより詳細に説明する。
【0014】
図1に戻ると、3つの光線(例えば光線206)を識別した後、方法100はステップ108に進み、3つの光線のうちの2つ(例えば第1光線および第2光線)によって与えられる制約を実施する。単一光線の制約(すなわち、光線が既知のワールド・ポイントを通過すべきであることを規定する制約)の実施により、カメラのポーズの2つの自由度が除かれる。したがって、2つの光線の制約を実施することにより、イメージ取込み装置のポーズが、6つの自由度から2つの自由度に制限される。したがって、ワールドに対する3つの光線の組全体のポーズは、ずっと狭い1組の可能性に制限される。
【0015】
次いで、方法100はステップ110に進み、実施された制約がこれら残りの2つの自由度に対して有する効果を求める。これら残りの2つの自由度のうちの一方は、第3光線に対応する既知のワールド・ポイントの変換の点から考慮することができる。残りの2つの自由度の2番目は、第3光線の可能な位置の点から考慮することができる。
【0016】
ステップ112では、方法100は、残りの2つの自由度の知識を使用して、ワールド・ポイントの座標系と光線の座標系との間の可能な変換を求める。これらの変換は、イメージ取込み装置のポーズに関する可能な解を表す。次いで方法100はステップ114で終了する。
【0017】
図3は、例示的な1対の光線(例えば、第1光線3001および第2光線3002。以後「光線300」と総称する)と、光線の制約の実施が残りの2つの自由度のうちの1番目(したがって、その1対の光線300を含む1組の3つの光線の潜在的ポーズ)に対して有する効果を示す略図である。3つのワールド・ポイント、すなわち第1ワールド・ポイント3021、第2ワールド・ポイント3022、および第3ワールド・ポイント3023(以後「ワールド・ポイント302」と総称する)が既知である。第1および第2光線300は、それぞれ第1および第2ワールド・ポイント3021、3022と出会う。
【0018】
第1および第2ワールド・ポイント3021、3022は、第1ワールド・ポイントと第2ワールド・ポイントの両方を通過する、空間内の固有軸304を定義する。したがって、ワールド・ポイント302の構成は、第1および第2光線300によって与えられる制約に違反することなく、軸304の周りに回転することができる(実際、これは、図1に関連して上記で議論した残りの2つの自由度の1番目を示す)。そのような回転は、第3ワールド・ポイント3023が、軸304に対してほぼ垂直な平面内の円306をトレースすることを可能にする。一実施形態では、円306の中心点Cは軸304沿いにある。したがって、ワールド座標系が第1および第2ワールド・ポイント3021、3022、および円306を含むと見なすことができる。したがって、(上記で議論した)第1の残りの自由度は、第3ワールド・ポイント3023がイメージ取込み装置に対する円をトレースすることを可能にする。
【0019】
図4は、第1および第2光線の制約の実施が光線300の対を含む1組の3つの光線の潜在的ポーズに対して有する効果をさらに示す略図である。具体的には、図4は、第1および第2光線300によって与えられる制約の実施が図1に関連して上記で議論した残りの2つの自由度の2番目に対して有する効果を示す。
【0020】
図4に示すように、与えられたイメージから投射される光線はすべてが平行ではないと仮定する。したがって、別個の方向を有する2つの光線を、その後でその制約が実施される第1および第2光線300として選ぶことができる。第1および第2光線300は、固有の共通垂直方向と、両方の光線300と交わる共通垂直方向の固有垂直軸400とを有する。
【0021】
第1および第2光線300によって課された制約を満たしながら、円筒(円筒の端部が円4041および4042で画定される。以後、円4041および4042を「円400」と呼ぶ)の周りに垂直軸400を回転させる剛体運動が存在する。垂直軸400に加えて、円400で画定された円筒は、それぞれの円400の円周上にある第1および第2ワールド・ポイント3021、3022も含む。垂直軸400の回転運動は、垂直軸400に垂直なすべての平面に同様に影響を及ぼす。したがって、垂直軸に沿った正射影を考慮する場合(射影方向を矢印402で示す)、円筒の断面を図5に示すように表すことができる。
【0022】
図5は、図4の垂直軸400に沿った正射影を示す図である(例えば円筒500の断面図)。図示するように、第1および第2光線300の相対位置が、その間の弧504を画定する。弧504を張り、第1および第2光線300で画定される角度(上述の垂直軸400が通過する円筒500上の地点502と接する角度)は、サイズθを有する。Book III of Euclid’s Elementsで述べられているように、円内の同一の弧(例えば弧504)を張るすべての内接角は等しい。したがって、弧504を張り、円筒500の円形断面で内接するすべての角はサイズθを有する。
【0023】
図4に戻ると、第3光線(図示せず)に対する垂直軸400の回転運動の効果を代数表現を使用して求めることができる。一実施形態では、既知のワールド・ポイント302を垂直軸400の円運動でトレースされる有効な位置のうちの1つにそれぞれ写像する変換のファミリが求められる。したがって、変換は、既知のワールド・ポイント302を光線300の座標系に写像する。以下でより詳細に議論するように、第3光線上に写像することのできるワールド・ポイントは、垂直軸400が回転するときに第3光線によってトレースされる線織4次曲面上にある。
【0024】
図6は、既知のワールド・ポイントをそれ自体の座標系から対応する光線の座標系に写像する方法600の一実施形態を示す流れ図である。方法600はステップ602で初期化され、ステップ604に進み、ステップ604では、方法600は、第1および第2光線300および既知のワールド・ポイント302を開始位置に変換する。これにより、後続の解析が単純になる。
【0025】
図7Aおよび7Bは、第1および第2光線300ならびに既知のワールド・ポイント302の変換の正射図を示すグラフである。図7Aおよび7Bでは、第1光線3001がy軸と一致し、垂直軸400がz軸と一致する。したがって、原点700は、第1光線3001が垂直軸400と交わる位置である。
【0026】
次いで、第1および第2ワールド・ポイント3021、3022が特定の位置に配置されるように既知のワールド・ポイント302が変換される。一実施形態では、第1ワールド・ポイント3021は原点源700と一致する。第1ワールド・ポイント3021の周りの回転の結果、第2ワールド・ポイント3022が第2光線3002のxz平面とz平面の間の交線上にある。通常、第2ワールド・ポイント3022について、そのような可能な位置が2つある。一実施形態では、x≧0となるように第2ワールド・ポイント3022についての位置が選ばれる。これにより、第1および第2ワールド・ポイント3021、3022によって画定される軸の周りの回転に対するワールド・ポイント302についての座標系が決定される。一実施形態では、この回転は任意に選ばれる。
【0027】
図6に戻ると、第1および第2光線300および既知のワールド・ポイント302が、その開始位置(例えば図7Aおよび7Bに示すもの)に変換された後、方法600はステップ606に進み、第1および第2ワールド・ポイント302をその対応する光線300上に変換する。一実施形態では、この変換はxy平面内で行われ、光線300を固定したままでワールド・ポイント302に適用される。
【0028】
図8は、例えば方法600のステップ606に従って、対応する光線(例えば光線300)上に変換された後の、ワールド・ポイント(例えばワールド・ポイント302)の構成の一実施形態を示す略図である。図示する構成は、第1および第2ワールド・ポイント3021、3022をそれぞれ第1および第2光線3001および3002上に配置するxy平面内の並進および回転の結果として得られる1つの可能な構成である。このとき、上記で議論した図4の円404で画定される円筒の周りの垂直軸(例えば垂直軸400)の回転運動は、確立された一致を維持する。この位置合せを達成するために、第2光線3002の投射が、以下の直線方程式を有するように求められる。
【0029】
y=sx (式1)
ただしsは投射の傾きである。
一実施形態では、変換は第1ワールド・ポイント3021をy軸上に維持しなければならない。したがって、第1ワールド・ポイント3021の位置はy=mであると求められる。さらに、投射800の直線方程式が以下のようになるように、第1および第2ワールド・ポイント3021、3022を通る軸の投射線800が配置される。
【0030】
y=kx+m (式2)
ただしkは投射800の傾きである。
さらに、変換は、第2ワールド・ポイント3022を第2光線3002上に維持する。したがって、第2光線3002の投射と投射800とは第2ワールド・ポイント3022の投射(b,c)で交わり、投射(b,c)は、以下のようなx座標bを有する。
【0031】
m=(s−k)b (式3)
図8から明らかなように、有効な変換は、以下の式に従ってワールド・ポイント302のxy座標(x,y)をxy座標(x’,y’)に写像する。
【0032】
【数1】
ただしDは、第1および第2ワールド・ポイント3021、3022間の投射距離である。
u≡D/b (式5)
のようにスカラuを定義し、ピタゴラスの定理により、(k2+1)b2=D2であることに注目することによって式4を書き直すことができる。
u2=1+k2 (式6)
したがって、式2、3、および5により、式4の変換を以下のように書き直すことができる。
【0033】
【数2】
したがって、有効な変換の1次元ファミリは、式6の制約下でuおよびkによってパラメータ表示される。
図6に戻ると、第1および第2ワールド・ポイント3021、3022が対応する光線300上に適切に変換された後、方法600はステップ608に進み、図4の円404で画定される円筒の周りの垂直軸(例えば垂直軸400)の回転運動によって第3光線上に写像されたワールド・ポイントのファミリを求める。方法600はステップ610で終了する。
一実施形態では、式7の変換を、ワールド・ポイントの均質座標X=[x y z 1]Tを新しい均質座標X’に写像する完全3次元変換として解釈することにより、第3光線上に写像されるワールド・ポイントのファミリを求めることができ、以下が得られる。
【0034】
【数3】
変換後の点X’は、LTX’=0、すなわち
a1+ka2+ua3=0 (式9)
である場合にのみ、平面L=[l1 l2 l3 l4]T上にある。
ただし、
a1≡xl1+yl2+sDI2 (式10)
a2≡xl2−yl1−DI2 (式11)
a3≡zl3+l4 (式12)
第3光線は、2つの平面LおよびL’で表すことができ、L’を用いて同様にa1’、a2’、a3’を定義した場合、以下を得る。
a1+ka2+ua3=0 (式9)
a1’+ka2’+ua3’=0 (式13)
kおよびuをそれぞれ取り除くと、
u(a2’a3−a2a3’)=(a2a1’−a2’a1) (式14)
−k(a2’a3−a2a3’)=(a3a1’−a3’a1) (式15)
式15および16を式6に挿入すると、
(a2a1’−a2’a1)2=(a2’a3−a2a3’)2+(a3a1’−a3’a1)2 (式16)
【0035】
これは、次数により、4次曲面の定義であることが容易にわかる。4次曲面は直線の集合であるので、線織4次曲面である。
【0036】
図9は、第2の残りの自由度に関連する回転運動によって第3光線でトレースすることのできる例示的線織4次曲面900を示すグラフである。一実施形態では、xy平面に平行である線織4次曲面900のすべての区間がリマソンであり、リマソンの頂点が、ねじれた立方体を形成し、その一部が線織4次曲面900についての自己交差の曲線である。
【0037】
ここで、円(例えば図3の円306)を含む平面についての式を挿入して、その平面内の4次曲線を得ることができる。円は、4次曲線と最大8個の交点を有し、これらの交点は、第3光線沿いにあるワールド・ポイントのファミリに対応する。
【0038】
図11A〜11Bは、例えば上記で議論した第1および第2光線の制約を実施することによって得られる、円1102(例えば図3に従って議論したときに導出されたもの)と線織4次曲面1104(例えば図9に従って議論したときに導出されたもの)との交差を示すグラフである。図示するように、複数の交差11061〜11068(以後「交差1106」と総称する)が、円1102と線織4次曲面1104との間に存在する。具体的には、図11Aは、頂面1108でのそのような4つの交差1106を示し、図11Bは底面1110でのそのような4つの交差1106を示す。以下でさらに詳細に議論するように、円1102と線織4次曲面1104との間の合計最大8個の交差1106は、ワールド・ポイントの座標系と対応する光線の座標系との間の変換に関する最大8個の可能な解を表す。これらの各変換は、ワールド・ポイントに対するイメージ取込み装置に関するポーズを確立する。
【0039】
図10は、以下でさらに議論する、ワールド・ポイントの座標系と対応する光線の座標系との間で変換する方法1000の一実施形態を示す流れ図である。方法1000はステップ1002で初期化され、ステップ1004に進み、ステップ1004では、方法1000は3つの光線(例えば光線300)をその正準位置に整列させる。
【0040】
一実施形態では、光線が、光線上の点p1、p2、およびp3と、単位方向ベクトルd1、d2、およびd3によって表される。d1はy軸に平行にされる。第1および第2光線の共通垂直方向は、
d4≡(d1×d2)/|d1×d2| (式17)
これはz軸に平行となるべき方向である。
次いで、x軸に平行となる方向は、以下のように定義される。
d5≡d1×d4 (式18)
式17および式18の条件は、光線が以下の回転で回転する場合に満たされる。
R1≡[d5 d1 d4]T (式19)
式1で定義される第2光線の傾きsは、
s≡(d1Td2)/(d5Td2) (式20)
さらに、第1光線が垂直軸と交わる点が原点に配置され、それによってその点が以下のように与えられる。
【0041】
P4≡P1+αd1 (式21)
ただし、α≡(d1−sd5)T(p2−p1) (式22)
したがって、光線をその開始位置に移動させる変換は、
【数4】
ただし、この変換が光線に対して常に適用されたと仮定することができる。
ステップ1006では、方法1000は、ワールド・ポイント(例えばワールド・ポイント302)をその正準位置に整列させる。一実施形態では、ワールド・ポイントはq1、q2、およびq3として与えられる。ワールド・ポイントをその開始位置に移動させるために、まず、第2光線がそのときにz座標eがz座標p2であるz平面内に完全にあることを観察することができる。
さらに、以下を観察することができる。
【0042】
【数5】
やはり、
d6≡[D 0 e]T/|q1−q2| (式25)
は、原点から、第2ワールド・ポイントを配置すべき位置に向かう方向の単位ベクトルである。変換前は、この方向は、
d7≡(q1−q2)/|q1−q2| (式26)
d8≡[0 1 0]T (式27)
および
d9≡(d7×(q3−q1))/|d7×(q3−q1)| (式28)
も定義される。ただしd8およびd9は、それぞれd6およびd7に対して垂直な単位ベクトルである。したがって、所望の回転は、
R2≡[d6 d8 (d6×d8)][d7 d9 d7×d9]T (式29)
となり、点に適用される変換は、
【数6】
ただし、一実施形態では、変換H2が既に点に適用されていると仮定する。
【0043】
ステップ1008では、方法1000は、第3光線を表す2つの平面方程式の係数LおよびL’を計算する。一実施形態では、係数LおよびL’は、d3に対して垂直な2つの別個の法線ベクトルnおよびn’を見つけることによって計算される。一実施形態では、nは、2つのベクトル積d3×[1 0 0]およびd3×[0 1 0]Tの最大の大きさのベクトルとして選ばれる。次いで、n’は、n’≡d3×nとなるように選ばれ、平面ベクトルは、
L≡[nT−nTp3]T (式31)
および
L≡[n’T−n’Tp3]T (式32)
となる。
【0044】
次いで、方法1000はステップ1010に進み、その根が円と線織4次曲面の交差に対応する8次多項式の係数を計算する。一実施形態では、zの8次多項式は、式16の4次表現からxおよびyを取り除くことによって導出される。ワールド・ポイントがステップ1006に従って整列された後、円は、以下によって定義される平面内に位置する。
[x y z]d6=q3Td6 (式33)
これにより、
x=k1 (式34)
が得られる。ただし、
【数7】
さらに、円は、平面と球
x2+y2+z2=|q3|2 (式36)
の間の交差である。
式34を式36に代入した場合、以下が得られる。
y2=k2 (式37)
ただし、k2=|q3|2−z2−k12 (式38)
式34を式10および11に次々に代入することにより、以下が得られる。
a1=yk3+k4 (式39)
a2=yk5+k6 (式40)
a3=k7 (式41)
a1’=yk8+k9 (式42)
a2’=yk10+k11 (式43)
a3’=k12 (式44)
ただし、
k3≡l2 (式45)
k4≡l1k1+sDl2 (式46)
k5≡−l1 (式47)
k6≡l2k1−Dl2 (式48)
k7≡zl3+l4 (式49)
k8≡l’2 (式50)
k9≡l’1k1+sDl’2 (式51)
k10≡−l’1 (式52)
k11≡l’2k1−Dl’2 (式53)
k12≡zl’3+l’4 (式54)
式39から44および式38を適用すると、式17の表現は以下のように拡張される。
a2a’1−a’2a1=k13y+k14 (式55)
a’2a3−a2a’3=k15y+k16 (式56)
a3a’1−a’3a’1=k17y+k18 (式57)
ただし、
k13≡k5k9+k6k8−k3k11−k4k10 (式58)
k14≡k6k9−k4k11+k2(k5k8−k3k10) (式59)
k15≡k7k10−k5k12 (式60)
k16≡k7k11−k6k12 (式61)
k17≡k7k8−k3k12 (式62)
k18≡k7k9−k4k12 (式63)
式55〜57の右辺を2乗し、式16に代入し、再び式38を適用すると、
k19=k20y (式64)
ただし
k19≡k2(k132−k152−k172)+k142−k162−k182 (式65)
k20≡2(k15k16+k17k18−k13k14 (式66)
式64を2乗し、再び式38を適用すると、以下が得られる。
k21=0 (式67)
ただし、
k21≡k192−k2k202 (式68)
【0045】
これは、その根が最大8個の解に対応するzの8次多項式である。
ステップ1010で8次多項式が確立された後、方法1000はステップ1012に進み、8次多項式の根を抽出する。一実施形態では、根は、随伴行列を固有値分解することによって抽出される。
一実施形態では、8次多項式がまず正規化され、その結果以下のように書くことができる。
z8+β7z7+β6z6+...+β0 (式69)
次いで、根が8×8随伴行列の固有値として見つけられる。
【0046】
【数8】
代替実施形態では、例えばD.NisterがAn Efficient Solution to the Five−Point Relative Pose Problem、IEEE Conference on Computer Vision and Pattern Recognition、Volume 2、pp.195−202、2003で論じているように、8次多項式の根をステュルム列として見つけることができる。
【0047】
8次多項式の根が抽出された後、方法1000はステップ1014に進み、8次多項式の各根で後退置換し、ワールド・ポイント座標系と光線座標系との間の変換のための解を得る。一実施形態では、これは、z、xについての各解を式34で計算し、yについての各解を式64で計算することによって実施される。次いで、EQN14および15をそれぞれ使用して、uおよびkを計算することができる。次いで、式7で定義される変換が一意的に求められ、それにH3と符号を付ける。各解について、円上の正しい点の周りに第3ワールド・ポイントq3を回転させる変換H4も見つかる。
【0048】
一実施形態では、d10が以下のように定義される。
d10=(d6×[x y z]T)/|d6×[x y z]T| (式71)
次いで、所望の回転は、
R4≡[d6 d10 (d6×d10)][d6 d8 (d6×d8)]T (式72)
また、ワールド・ポイントに適用される変換は、
【数9】
次いで、ワールド・ポイントの座標系から光線の座標系への全変換は、
H=H1−1H3H4H2 (式74)
【0049】
式74で実施される変換が、8次多項式の各根について求められ、それによって最大8個の変換が得られる。これらの8個の変換は、ワールド・ポイントの座標系から光線の座標系への変換についての潜在的解を表す。したがって、潜在的解を、イメージ取込み装置のポーズを求める仮定−試験アーキテクチャ内で試験するための仮定として扱うことができる。
【0050】
次いで方法1000はステップ1016で終了する。
図12は、汎用コンピューティング装置1200を使用して実装されるカメラ・ポーズ推定方法の高レベルブロック図である。一実施形態では、汎用コンピューティング装置1200はプロセッサ1202、メモリ1204、カメラ・ポーズ推定モジュール1205、およびディスプレイ、キーボード、マウス、モデムなどの様々な入出力(I/O)装置1206を備えることができる。一実施形態では、少なくとも1つのI/O装置は記憶装置(例えばディスク・ドライブ、光ディスク・ドライブ、フロッピィ・ディスク・ドライブ)である。通信チャネルを介してプロセッサに結合された物理的装置またはサブシステムとしてカメラ・ポーズ推定モジュール1205を実装できることを理解されたい。
【0051】
あるいは、カメラ・ポーズ推定モジュール1205は、1つまたは複数のソフトウェア・アプリケーション(さらには、ソフトウェアと、例えば特定用途向け集積回路(ASIC)を用いたハードウェアとの組合せ)で表すことができる。その場合ソフトウェアは、記憶媒体(例えばI/O装置1206)からロードされ、汎用コンピューティング装置1200のメモリ1204内でプロセッサ1202によって操作される。したがって、一実施形態では、上記の図を参照しながら本明細書で説明したカメラまたは他のイメージ取込み装置のポーズを求めるカメラ・ポーズ推定モジュール1205を、コンピュータ可読媒体またはキャリア(例えばRAM、磁気または光ドライブまたはディスケットなど)上に格納することができる。
【0052】
したがって、本発明は、コンピュータ・ビジョン・システムの分野での著しい進歩を表す。イメージ取込み装置およびイメージ取込み装置でキャプチャされたイメージについて知られている限られた量の情報に基づいて、イメージ取込み装置のポーズを仮定することを可能にする方法および装置が提供される。この方法および装置は、イメージ取込み装置のモデルまたは幾何形状とは無関係に機能し、したがって実質上任意の種類のイメージ取込み装置のポーズを決定するように実装することができる。
【0053】
上記は本発明の実施形態を対象とするものであるが、本発明の基本的範囲から逸脱することなく、本発明の別の実施形態を考案することができ、本発明の範囲は、添付の特許請求の範囲によって決定される。
【図面の簡単な説明】
【0054】
【図1】本発明による、カメラ・ポーズを決定する方法の一実施形態を示す流れ図である。
【図2】3つの既知のワールド・ポイントのイメージを含む例示的イメージを示す略図である。
【図3】例示的な1対の光線(および光線の制約の実施が残りの2つの自由度の1番目に対して有する効果)を示す略図である。
【図4】第1および第2光線の制約の実施が光線の対を含む1組の3つの光線の潜在的ポーズに対して有する効果をさらに示す略図である。
【図5】図4の垂直軸に沿った正射影を示す図である。
【図6】既知のワールド・ポイントをそれ自体の座標系から対応する光線の座標系に写像する方法の一実施形態を示す流れ図である。
【図7】第1および第2光線ならびに既知のワールド・ポイントの変換の正射図を示すグラフである。
【図8】対応する光線上に変換された後のワールド・ポイントの構成の一実施形態を示す略図である。
【図9】第2の残りの自由度に関連する回転運動によって第3光線でトレースすることのできる例示的線織4次曲面を示すグラフである。
【図10】上記でさらに詳細に議論した、ワールド・ポイントの座標系と対応する光線の座標系との間で変換する方法の一実施形態を示す流れ図である。
【図11】例えば第1および第2光線の制約を実施することによって得られる、円と線織4次曲面との交差を示すグラフである。
【図12】汎用コンピューティング装置を使用して実装されるカメラ・ポーズ推定方法の高レベルブロック図である。
【背景技術】
【0001】
関連出願への相互参照
本願は、参照により本明細書にその全体が組み込まれる2004年6月22日出願の米国仮特許出願第60/581,868号の特典を主張するものである。
【0002】
政府資金援助への参照
本発明は、米国陸軍によって与えられた交付番号DAAD19−01−2−0012の下で政府援助を伴ってなされたものである。政府は、本発明における一定の権利を有する。
【0003】
様々な応用例におけるコンピュータ・ビジョン・システムの有用性が広く認められている。コンピュータ・ビジョン・システムでの基本的な課題は、ワールド内の既知の地点の1つまたは複数のイメージが与えられたとして、イメージ取込み装置(例えばビデオカメラ)のポーズを決定することである。
【0004】
ポーズ推定の例示的応用例は車両位置確認である。車載カメラからの環境的特徴を追跡することにより、車両位置の変化を推定し、ナビゲーション、追跡、またはその他の目的でこの情報を使用することが可能である。しかし、周知のポーズ推定アルゴリズムに基づくカメラ・ベースの車両位置確認のための現在の技法は、車両上にある複数のカメラを最適に使用していない。ポーズ推定のための既存の方法は単一パースペクティブ・カメラ・モデルを想定しているからである。この制限の結果として、その場しのぎのポーズ推定方法が使用される。例えば、各車載カメラについて別個にポーズが推定され、その後で別々のポーズ推定が組み合わせされることがある。したがって、そのような方法は一般に、利用可能な情報を最良に使用していない。
【0005】
別の例として、較正パースペクティブ・カメラのポーズを決定する周知の一方法は、カメラの可能なポーズを最大4対の解に制限するために(ただし、各対からの有効な解はせいぜい1つである)、ワールド内の3つの既知の地点のイメージを実装する。これらの解は通常、周知の「3点パースペクティブ・ポーズ問題」に従って生成される。この手法を多くの状況で首尾よく適用することができるが、現状では、その有用性は、特定のカメラ幾何形状および視点に限定される。したがって、この手法は、コンピュータ・ビジョン・システムでますます一般的なツールとなっている、より一般化された幾何形状(例えば、中央パースペクティブ・モデルに準拠せず、または単一視点に対応しない幾何形状)を有するカメラモデルにはあまり適用可能ではない。
【非特許文献1】Book III of Euclid’s Elements
【非特許文献2】D.Nister、An Efficient Solution to the Five−Point Relative Pose Problem、IEEE Conference on Computer Vision and Pattern Recognition、Volume 2、pp.195−202、2003
【発明の開示】
【発明が解決しようとする課題】
【0006】
したがって、実質的にモデルに無関係なカメラ・ポーズを決定する方法および装置が当技術分野で求められている。
【課題を解決するための手段】
【0007】
(例えばコンピュータ・ビジョン・システムで使用される)6つの自由度で特徴付けられるカメラ・ポーズを決定する方法および装置が開示される。一実施形態では、カメラでキャプチャされたイメージが受領され、潜在的ポーズに関する少なくとも2つの制約が、カメラに対するイメージの既知の関係に従って実施され、それによって潜在的ポーズが、残りの2つの自由度に制限される。次いで、少なくとも1つの潜在的ポーズが、その残りの2つの自由度に従って決定される。
【0008】
上述の本発明の特徴を詳細に理解できる方式の結果、添付の図面にその一部が図示される実施形態を参照することにより、上記で簡潔に要約される本発明のより具体的な説明を得ることができる。しかし、添付の図面は本発明の典型的な実施形態を示すに過ぎず、したがって、本発明は同様に効果的な他の実施形態を認めることができるので、添付の図面を本発明の範囲の制限と見なすべきでないことに留意されたい。
【発明を実施するための最良の形態】
【0009】
本発明は、(例えばコンピュータ・ビジョン・システムのための)カメラ・ポーズを決定する方法および装置を開示する。カメラモデルまたはイメージ・キャプチャ幾何形状に関する仮定に依拠する、ポーズを決定する従来の方法とは異なり、本発明の方法および装置は、カメラモデルまたは幾何形状の如何に関わらず機能し、したがって実質上任意の種類のカメラのポーズを決定するように実装することができる。例えば、曲面ミラー(例えばカタディオプトリック系またはジオプトリック系)と共に動作するカメラ、マルチカメラ・リグ(例えばステレオ・カメラヘッド)、または互いにしっかりと取り付けられた複数の個々の検出素子を備える複合カメラはすべて、本発明の適用から利益を受けることのできる潜在的な構成である。さらに、ある時間から別の時間にカメラ位置を関係付けるポーズ変換が既知である限り、経時的に移動する1つまたは複数の従来型カメラを単一の一般化カメラとして扱うことができる。それぞれの場合に、本明細書で説明される方法および装置によって課される唯一の要件は、イメージ位置に対応する光線間の空間的関係が既知であることである。言い換えれば、本発明は、分類されない特殊ケースとして較正カメラ構成を含む較正一般化カメラに対処する。
【0010】
図1は、本発明による、カメラ・ポーズを決定する方法100の一実施形態を示す流れ図である。方法100は、実質上任意のカメラまたはイメージ取込み装置のポーズを決定するように実装することができる。本発明の一実施形態では、決定されるポーズは、6つの自由度、すなわち回転についての3つの自由度と並進に関する3つの自由度を有すると理解される。
【0011】
方法100はステップ102で初期化され、ステップ104に進み、ステップ104では、方法100は、少なくとも3つの既知のワールド・ポイントを含むイメージ(例えば、一続きのシーンイメージの個々のフレーム)を受け取る。一実施形態では、イメージが、何らかの任意ではあるが周知の方式でライト・フィールドまたはプレノプティック関数をサンプリングする一般化カメラから受領される。例えば、曲面ミラー(例えばカタディオプトリック系またはジオプトリック系)と共に動作するカメラ、マルチカメラ・リグ、または互いにしっかりと取り付けられた複数の個々の検出素子を備える複合カメラのうちの少なくとも1つからイメージを受け取ることができる。ワールド・ポイントは、受領されたイメージ内にキャプチャされ、現実世界での3次元位置が既知である現実世界の任意の地点を含む。
【0012】
ステップ106では、方法100は、既知のワールド・ポイントのうちの3つに投射される、イメージ取込み装置の座標系内の地点の光線を識別する。一実施形態では、これらの光線を直ちに導出することができるようにイメージ取込み装置が較正される。
【0013】
図2は、3つの既知のワールド・ポイント2041〜2043(以後「ワールド・ポイント204」と総称する)のイメージ2021〜2023(以後「イメージ202」と総称する)を含む例示的イメージ200を示す略図である。図示するように、既知のワールド・ポイント204の各イメージ202および対応するワールド・ポイント204自体は、共通光線2061〜2063(以後「光線206」と総称する)沿いにある。一般に、イメージ200をキャプチャしたイメージ取込み装置のポーズは、すべての光線206がそれらの対応するワールド・ポイント204と出会うように3つの光線206の固定変換を求めることによって推定することができる。この固定変換を求める方法の一実施形態を以下でより詳細に説明する。
【0014】
図1に戻ると、3つの光線(例えば光線206)を識別した後、方法100はステップ108に進み、3つの光線のうちの2つ(例えば第1光線および第2光線)によって与えられる制約を実施する。単一光線の制約(すなわち、光線が既知のワールド・ポイントを通過すべきであることを規定する制約)の実施により、カメラのポーズの2つの自由度が除かれる。したがって、2つの光線の制約を実施することにより、イメージ取込み装置のポーズが、6つの自由度から2つの自由度に制限される。したがって、ワールドに対する3つの光線の組全体のポーズは、ずっと狭い1組の可能性に制限される。
【0015】
次いで、方法100はステップ110に進み、実施された制約がこれら残りの2つの自由度に対して有する効果を求める。これら残りの2つの自由度のうちの一方は、第3光線に対応する既知のワールド・ポイントの変換の点から考慮することができる。残りの2つの自由度の2番目は、第3光線の可能な位置の点から考慮することができる。
【0016】
ステップ112では、方法100は、残りの2つの自由度の知識を使用して、ワールド・ポイントの座標系と光線の座標系との間の可能な変換を求める。これらの変換は、イメージ取込み装置のポーズに関する可能な解を表す。次いで方法100はステップ114で終了する。
【0017】
図3は、例示的な1対の光線(例えば、第1光線3001および第2光線3002。以後「光線300」と総称する)と、光線の制約の実施が残りの2つの自由度のうちの1番目(したがって、その1対の光線300を含む1組の3つの光線の潜在的ポーズ)に対して有する効果を示す略図である。3つのワールド・ポイント、すなわち第1ワールド・ポイント3021、第2ワールド・ポイント3022、および第3ワールド・ポイント3023(以後「ワールド・ポイント302」と総称する)が既知である。第1および第2光線300は、それぞれ第1および第2ワールド・ポイント3021、3022と出会う。
【0018】
第1および第2ワールド・ポイント3021、3022は、第1ワールド・ポイントと第2ワールド・ポイントの両方を通過する、空間内の固有軸304を定義する。したがって、ワールド・ポイント302の構成は、第1および第2光線300によって与えられる制約に違反することなく、軸304の周りに回転することができる(実際、これは、図1に関連して上記で議論した残りの2つの自由度の1番目を示す)。そのような回転は、第3ワールド・ポイント3023が、軸304に対してほぼ垂直な平面内の円306をトレースすることを可能にする。一実施形態では、円306の中心点Cは軸304沿いにある。したがって、ワールド座標系が第1および第2ワールド・ポイント3021、3022、および円306を含むと見なすことができる。したがって、(上記で議論した)第1の残りの自由度は、第3ワールド・ポイント3023がイメージ取込み装置に対する円をトレースすることを可能にする。
【0019】
図4は、第1および第2光線の制約の実施が光線300の対を含む1組の3つの光線の潜在的ポーズに対して有する効果をさらに示す略図である。具体的には、図4は、第1および第2光線300によって与えられる制約の実施が図1に関連して上記で議論した残りの2つの自由度の2番目に対して有する効果を示す。
【0020】
図4に示すように、与えられたイメージから投射される光線はすべてが平行ではないと仮定する。したがって、別個の方向を有する2つの光線を、その後でその制約が実施される第1および第2光線300として選ぶことができる。第1および第2光線300は、固有の共通垂直方向と、両方の光線300と交わる共通垂直方向の固有垂直軸400とを有する。
【0021】
第1および第2光線300によって課された制約を満たしながら、円筒(円筒の端部が円4041および4042で画定される。以後、円4041および4042を「円400」と呼ぶ)の周りに垂直軸400を回転させる剛体運動が存在する。垂直軸400に加えて、円400で画定された円筒は、それぞれの円400の円周上にある第1および第2ワールド・ポイント3021、3022も含む。垂直軸400の回転運動は、垂直軸400に垂直なすべての平面に同様に影響を及ぼす。したがって、垂直軸に沿った正射影を考慮する場合(射影方向を矢印402で示す)、円筒の断面を図5に示すように表すことができる。
【0022】
図5は、図4の垂直軸400に沿った正射影を示す図である(例えば円筒500の断面図)。図示するように、第1および第2光線300の相対位置が、その間の弧504を画定する。弧504を張り、第1および第2光線300で画定される角度(上述の垂直軸400が通過する円筒500上の地点502と接する角度)は、サイズθを有する。Book III of Euclid’s Elementsで述べられているように、円内の同一の弧(例えば弧504)を張るすべての内接角は等しい。したがって、弧504を張り、円筒500の円形断面で内接するすべての角はサイズθを有する。
【0023】
図4に戻ると、第3光線(図示せず)に対する垂直軸400の回転運動の効果を代数表現を使用して求めることができる。一実施形態では、既知のワールド・ポイント302を垂直軸400の円運動でトレースされる有効な位置のうちの1つにそれぞれ写像する変換のファミリが求められる。したがって、変換は、既知のワールド・ポイント302を光線300の座標系に写像する。以下でより詳細に議論するように、第3光線上に写像することのできるワールド・ポイントは、垂直軸400が回転するときに第3光線によってトレースされる線織4次曲面上にある。
【0024】
図6は、既知のワールド・ポイントをそれ自体の座標系から対応する光線の座標系に写像する方法600の一実施形態を示す流れ図である。方法600はステップ602で初期化され、ステップ604に進み、ステップ604では、方法600は、第1および第2光線300および既知のワールド・ポイント302を開始位置に変換する。これにより、後続の解析が単純になる。
【0025】
図7Aおよび7Bは、第1および第2光線300ならびに既知のワールド・ポイント302の変換の正射図を示すグラフである。図7Aおよび7Bでは、第1光線3001がy軸と一致し、垂直軸400がz軸と一致する。したがって、原点700は、第1光線3001が垂直軸400と交わる位置である。
【0026】
次いで、第1および第2ワールド・ポイント3021、3022が特定の位置に配置されるように既知のワールド・ポイント302が変換される。一実施形態では、第1ワールド・ポイント3021は原点源700と一致する。第1ワールド・ポイント3021の周りの回転の結果、第2ワールド・ポイント3022が第2光線3002のxz平面とz平面の間の交線上にある。通常、第2ワールド・ポイント3022について、そのような可能な位置が2つある。一実施形態では、x≧0となるように第2ワールド・ポイント3022についての位置が選ばれる。これにより、第1および第2ワールド・ポイント3021、3022によって画定される軸の周りの回転に対するワールド・ポイント302についての座標系が決定される。一実施形態では、この回転は任意に選ばれる。
【0027】
図6に戻ると、第1および第2光線300および既知のワールド・ポイント302が、その開始位置(例えば図7Aおよび7Bに示すもの)に変換された後、方法600はステップ606に進み、第1および第2ワールド・ポイント302をその対応する光線300上に変換する。一実施形態では、この変換はxy平面内で行われ、光線300を固定したままでワールド・ポイント302に適用される。
【0028】
図8は、例えば方法600のステップ606に従って、対応する光線(例えば光線300)上に変換された後の、ワールド・ポイント(例えばワールド・ポイント302)の構成の一実施形態を示す略図である。図示する構成は、第1および第2ワールド・ポイント3021、3022をそれぞれ第1および第2光線3001および3002上に配置するxy平面内の並進および回転の結果として得られる1つの可能な構成である。このとき、上記で議論した図4の円404で画定される円筒の周りの垂直軸(例えば垂直軸400)の回転運動は、確立された一致を維持する。この位置合せを達成するために、第2光線3002の投射が、以下の直線方程式を有するように求められる。
【0029】
y=sx (式1)
ただしsは投射の傾きである。
一実施形態では、変換は第1ワールド・ポイント3021をy軸上に維持しなければならない。したがって、第1ワールド・ポイント3021の位置はy=mであると求められる。さらに、投射800の直線方程式が以下のようになるように、第1および第2ワールド・ポイント3021、3022を通る軸の投射線800が配置される。
【0030】
y=kx+m (式2)
ただしkは投射800の傾きである。
さらに、変換は、第2ワールド・ポイント3022を第2光線3002上に維持する。したがって、第2光線3002の投射と投射800とは第2ワールド・ポイント3022の投射(b,c)で交わり、投射(b,c)は、以下のようなx座標bを有する。
【0031】
m=(s−k)b (式3)
図8から明らかなように、有効な変換は、以下の式に従ってワールド・ポイント302のxy座標(x,y)をxy座標(x’,y’)に写像する。
【0032】
【数1】
ただしDは、第1および第2ワールド・ポイント3021、3022間の投射距離である。
u≡D/b (式5)
のようにスカラuを定義し、ピタゴラスの定理により、(k2+1)b2=D2であることに注目することによって式4を書き直すことができる。
u2=1+k2 (式6)
したがって、式2、3、および5により、式4の変換を以下のように書き直すことができる。
【0033】
【数2】
したがって、有効な変換の1次元ファミリは、式6の制約下でuおよびkによってパラメータ表示される。
図6に戻ると、第1および第2ワールド・ポイント3021、3022が対応する光線300上に適切に変換された後、方法600はステップ608に進み、図4の円404で画定される円筒の周りの垂直軸(例えば垂直軸400)の回転運動によって第3光線上に写像されたワールド・ポイントのファミリを求める。方法600はステップ610で終了する。
一実施形態では、式7の変換を、ワールド・ポイントの均質座標X=[x y z 1]Tを新しい均質座標X’に写像する完全3次元変換として解釈することにより、第3光線上に写像されるワールド・ポイントのファミリを求めることができ、以下が得られる。
【0034】
【数3】
変換後の点X’は、LTX’=0、すなわち
a1+ka2+ua3=0 (式9)
である場合にのみ、平面L=[l1 l2 l3 l4]T上にある。
ただし、
a1≡xl1+yl2+sDI2 (式10)
a2≡xl2−yl1−DI2 (式11)
a3≡zl3+l4 (式12)
第3光線は、2つの平面LおよびL’で表すことができ、L’を用いて同様にa1’、a2’、a3’を定義した場合、以下を得る。
a1+ka2+ua3=0 (式9)
a1’+ka2’+ua3’=0 (式13)
kおよびuをそれぞれ取り除くと、
u(a2’a3−a2a3’)=(a2a1’−a2’a1) (式14)
−k(a2’a3−a2a3’)=(a3a1’−a3’a1) (式15)
式15および16を式6に挿入すると、
(a2a1’−a2’a1)2=(a2’a3−a2a3’)2+(a3a1’−a3’a1)2 (式16)
【0035】
これは、次数により、4次曲面の定義であることが容易にわかる。4次曲面は直線の集合であるので、線織4次曲面である。
【0036】
図9は、第2の残りの自由度に関連する回転運動によって第3光線でトレースすることのできる例示的線織4次曲面900を示すグラフである。一実施形態では、xy平面に平行である線織4次曲面900のすべての区間がリマソンであり、リマソンの頂点が、ねじれた立方体を形成し、その一部が線織4次曲面900についての自己交差の曲線である。
【0037】
ここで、円(例えば図3の円306)を含む平面についての式を挿入して、その平面内の4次曲線を得ることができる。円は、4次曲線と最大8個の交点を有し、これらの交点は、第3光線沿いにあるワールド・ポイントのファミリに対応する。
【0038】
図11A〜11Bは、例えば上記で議論した第1および第2光線の制約を実施することによって得られる、円1102(例えば図3に従って議論したときに導出されたもの)と線織4次曲面1104(例えば図9に従って議論したときに導出されたもの)との交差を示すグラフである。図示するように、複数の交差11061〜11068(以後「交差1106」と総称する)が、円1102と線織4次曲面1104との間に存在する。具体的には、図11Aは、頂面1108でのそのような4つの交差1106を示し、図11Bは底面1110でのそのような4つの交差1106を示す。以下でさらに詳細に議論するように、円1102と線織4次曲面1104との間の合計最大8個の交差1106は、ワールド・ポイントの座標系と対応する光線の座標系との間の変換に関する最大8個の可能な解を表す。これらの各変換は、ワールド・ポイントに対するイメージ取込み装置に関するポーズを確立する。
【0039】
図10は、以下でさらに議論する、ワールド・ポイントの座標系と対応する光線の座標系との間で変換する方法1000の一実施形態を示す流れ図である。方法1000はステップ1002で初期化され、ステップ1004に進み、ステップ1004では、方法1000は3つの光線(例えば光線300)をその正準位置に整列させる。
【0040】
一実施形態では、光線が、光線上の点p1、p2、およびp3と、単位方向ベクトルd1、d2、およびd3によって表される。d1はy軸に平行にされる。第1および第2光線の共通垂直方向は、
d4≡(d1×d2)/|d1×d2| (式17)
これはz軸に平行となるべき方向である。
次いで、x軸に平行となる方向は、以下のように定義される。
d5≡d1×d4 (式18)
式17および式18の条件は、光線が以下の回転で回転する場合に満たされる。
R1≡[d5 d1 d4]T (式19)
式1で定義される第2光線の傾きsは、
s≡(d1Td2)/(d5Td2) (式20)
さらに、第1光線が垂直軸と交わる点が原点に配置され、それによってその点が以下のように与えられる。
【0041】
P4≡P1+αd1 (式21)
ただし、α≡(d1−sd5)T(p2−p1) (式22)
したがって、光線をその開始位置に移動させる変換は、
【数4】
ただし、この変換が光線に対して常に適用されたと仮定することができる。
ステップ1006では、方法1000は、ワールド・ポイント(例えばワールド・ポイント302)をその正準位置に整列させる。一実施形態では、ワールド・ポイントはq1、q2、およびq3として与えられる。ワールド・ポイントをその開始位置に移動させるために、まず、第2光線がそのときにz座標eがz座標p2であるz平面内に完全にあることを観察することができる。
さらに、以下を観察することができる。
【0042】
【数5】
やはり、
d6≡[D 0 e]T/|q1−q2| (式25)
は、原点から、第2ワールド・ポイントを配置すべき位置に向かう方向の単位ベクトルである。変換前は、この方向は、
d7≡(q1−q2)/|q1−q2| (式26)
d8≡[0 1 0]T (式27)
および
d9≡(d7×(q3−q1))/|d7×(q3−q1)| (式28)
も定義される。ただしd8およびd9は、それぞれd6およびd7に対して垂直な単位ベクトルである。したがって、所望の回転は、
R2≡[d6 d8 (d6×d8)][d7 d9 d7×d9]T (式29)
となり、点に適用される変換は、
【数6】
ただし、一実施形態では、変換H2が既に点に適用されていると仮定する。
【0043】
ステップ1008では、方法1000は、第3光線を表す2つの平面方程式の係数LおよびL’を計算する。一実施形態では、係数LおよびL’は、d3に対して垂直な2つの別個の法線ベクトルnおよびn’を見つけることによって計算される。一実施形態では、nは、2つのベクトル積d3×[1 0 0]およびd3×[0 1 0]Tの最大の大きさのベクトルとして選ばれる。次いで、n’は、n’≡d3×nとなるように選ばれ、平面ベクトルは、
L≡[nT−nTp3]T (式31)
および
L≡[n’T−n’Tp3]T (式32)
となる。
【0044】
次いで、方法1000はステップ1010に進み、その根が円と線織4次曲面の交差に対応する8次多項式の係数を計算する。一実施形態では、zの8次多項式は、式16の4次表現からxおよびyを取り除くことによって導出される。ワールド・ポイントがステップ1006に従って整列された後、円は、以下によって定義される平面内に位置する。
[x y z]d6=q3Td6 (式33)
これにより、
x=k1 (式34)
が得られる。ただし、
【数7】
さらに、円は、平面と球
x2+y2+z2=|q3|2 (式36)
の間の交差である。
式34を式36に代入した場合、以下が得られる。
y2=k2 (式37)
ただし、k2=|q3|2−z2−k12 (式38)
式34を式10および11に次々に代入することにより、以下が得られる。
a1=yk3+k4 (式39)
a2=yk5+k6 (式40)
a3=k7 (式41)
a1’=yk8+k9 (式42)
a2’=yk10+k11 (式43)
a3’=k12 (式44)
ただし、
k3≡l2 (式45)
k4≡l1k1+sDl2 (式46)
k5≡−l1 (式47)
k6≡l2k1−Dl2 (式48)
k7≡zl3+l4 (式49)
k8≡l’2 (式50)
k9≡l’1k1+sDl’2 (式51)
k10≡−l’1 (式52)
k11≡l’2k1−Dl’2 (式53)
k12≡zl’3+l’4 (式54)
式39から44および式38を適用すると、式17の表現は以下のように拡張される。
a2a’1−a’2a1=k13y+k14 (式55)
a’2a3−a2a’3=k15y+k16 (式56)
a3a’1−a’3a’1=k17y+k18 (式57)
ただし、
k13≡k5k9+k6k8−k3k11−k4k10 (式58)
k14≡k6k9−k4k11+k2(k5k8−k3k10) (式59)
k15≡k7k10−k5k12 (式60)
k16≡k7k11−k6k12 (式61)
k17≡k7k8−k3k12 (式62)
k18≡k7k9−k4k12 (式63)
式55〜57の右辺を2乗し、式16に代入し、再び式38を適用すると、
k19=k20y (式64)
ただし
k19≡k2(k132−k152−k172)+k142−k162−k182 (式65)
k20≡2(k15k16+k17k18−k13k14 (式66)
式64を2乗し、再び式38を適用すると、以下が得られる。
k21=0 (式67)
ただし、
k21≡k192−k2k202 (式68)
【0045】
これは、その根が最大8個の解に対応するzの8次多項式である。
ステップ1010で8次多項式が確立された後、方法1000はステップ1012に進み、8次多項式の根を抽出する。一実施形態では、根は、随伴行列を固有値分解することによって抽出される。
一実施形態では、8次多項式がまず正規化され、その結果以下のように書くことができる。
z8+β7z7+β6z6+...+β0 (式69)
次いで、根が8×8随伴行列の固有値として見つけられる。
【0046】
【数8】
代替実施形態では、例えばD.NisterがAn Efficient Solution to the Five−Point Relative Pose Problem、IEEE Conference on Computer Vision and Pattern Recognition、Volume 2、pp.195−202、2003で論じているように、8次多項式の根をステュルム列として見つけることができる。
【0047】
8次多項式の根が抽出された後、方法1000はステップ1014に進み、8次多項式の各根で後退置換し、ワールド・ポイント座標系と光線座標系との間の変換のための解を得る。一実施形態では、これは、z、xについての各解を式34で計算し、yについての各解を式64で計算することによって実施される。次いで、EQN14および15をそれぞれ使用して、uおよびkを計算することができる。次いで、式7で定義される変換が一意的に求められ、それにH3と符号を付ける。各解について、円上の正しい点の周りに第3ワールド・ポイントq3を回転させる変換H4も見つかる。
【0048】
一実施形態では、d10が以下のように定義される。
d10=(d6×[x y z]T)/|d6×[x y z]T| (式71)
次いで、所望の回転は、
R4≡[d6 d10 (d6×d10)][d6 d8 (d6×d8)]T (式72)
また、ワールド・ポイントに適用される変換は、
【数9】
次いで、ワールド・ポイントの座標系から光線の座標系への全変換は、
H=H1−1H3H4H2 (式74)
【0049】
式74で実施される変換が、8次多項式の各根について求められ、それによって最大8個の変換が得られる。これらの8個の変換は、ワールド・ポイントの座標系から光線の座標系への変換についての潜在的解を表す。したがって、潜在的解を、イメージ取込み装置のポーズを求める仮定−試験アーキテクチャ内で試験するための仮定として扱うことができる。
【0050】
次いで方法1000はステップ1016で終了する。
図12は、汎用コンピューティング装置1200を使用して実装されるカメラ・ポーズ推定方法の高レベルブロック図である。一実施形態では、汎用コンピューティング装置1200はプロセッサ1202、メモリ1204、カメラ・ポーズ推定モジュール1205、およびディスプレイ、キーボード、マウス、モデムなどの様々な入出力(I/O)装置1206を備えることができる。一実施形態では、少なくとも1つのI/O装置は記憶装置(例えばディスク・ドライブ、光ディスク・ドライブ、フロッピィ・ディスク・ドライブ)である。通信チャネルを介してプロセッサに結合された物理的装置またはサブシステムとしてカメラ・ポーズ推定モジュール1205を実装できることを理解されたい。
【0051】
あるいは、カメラ・ポーズ推定モジュール1205は、1つまたは複数のソフトウェア・アプリケーション(さらには、ソフトウェアと、例えば特定用途向け集積回路(ASIC)を用いたハードウェアとの組合せ)で表すことができる。その場合ソフトウェアは、記憶媒体(例えばI/O装置1206)からロードされ、汎用コンピューティング装置1200のメモリ1204内でプロセッサ1202によって操作される。したがって、一実施形態では、上記の図を参照しながら本明細書で説明したカメラまたは他のイメージ取込み装置のポーズを求めるカメラ・ポーズ推定モジュール1205を、コンピュータ可読媒体またはキャリア(例えばRAM、磁気または光ドライブまたはディスケットなど)上に格納することができる。
【0052】
したがって、本発明は、コンピュータ・ビジョン・システムの分野での著しい進歩を表す。イメージ取込み装置およびイメージ取込み装置でキャプチャされたイメージについて知られている限られた量の情報に基づいて、イメージ取込み装置のポーズを仮定することを可能にする方法および装置が提供される。この方法および装置は、イメージ取込み装置のモデルまたは幾何形状とは無関係に機能し、したがって実質上任意の種類のイメージ取込み装置のポーズを決定するように実装することができる。
【0053】
上記は本発明の実施形態を対象とするものであるが、本発明の基本的範囲から逸脱することなく、本発明の別の実施形態を考案することができ、本発明の範囲は、添付の特許請求の範囲によって決定される。
【図面の簡単な説明】
【0054】
【図1】本発明による、カメラ・ポーズを決定する方法の一実施形態を示す流れ図である。
【図2】3つの既知のワールド・ポイントのイメージを含む例示的イメージを示す略図である。
【図3】例示的な1対の光線(および光線の制約の実施が残りの2つの自由度の1番目に対して有する効果)を示す略図である。
【図4】第1および第2光線の制約の実施が光線の対を含む1組の3つの光線の潜在的ポーズに対して有する効果をさらに示す略図である。
【図5】図4の垂直軸に沿った正射影を示す図である。
【図6】既知のワールド・ポイントをそれ自体の座標系から対応する光線の座標系に写像する方法の一実施形態を示す流れ図である。
【図7】第1および第2光線ならびに既知のワールド・ポイントの変換の正射図を示すグラフである。
【図8】対応する光線上に変換された後のワールド・ポイントの構成の一実施形態を示す略図である。
【図9】第2の残りの自由度に関連する回転運動によって第3光線でトレースすることのできる例示的線織4次曲面を示すグラフである。
【図10】上記でさらに詳細に議論した、ワールド・ポイントの座標系と対応する光線の座標系との間で変換する方法の一実施形態を示す流れ図である。
【図11】例えば第1および第2光線の制約を実施することによって得られる、円と線織4次曲面との交差を示すグラフである。
【図12】汎用コンピューティング装置を使用して実装されるカメラ・ポーズ推定方法の高レベルブロック図である。
【特許請求の範囲】
【請求項1】
イメージ取込み装置の潜在的ポーズを決定する方法において、前記潜在的ポーズが6つの自由度を有する方法であって、
前記イメージ取込み装置で取り込んだイメージを受け取るステップであって、前記イメージが少なくとも第1の既知のワールド・ポイント、第2の既知のワールド・ポイント、および第3の既知のワールド・ポイントのイメージを含み、および
前記イメージ取込み装置に対する前記イメージの既知の関係に従って前記潜在的ポーズに対して制約を実施するステップと、
第1光線、第2光線、および第3光線によって与えられる制約を実施するステップであって、前記第1光線、前記第2光線、および前記第3光線がそれぞれ、前記イメージ取込み装置から、それぞれ前記第1の既知のワールド・ポイント、前記第2の既知のワールド・ポイント、および前記第3の既知のワールド・ポイントに投射し、および
前記制約に従って少なくとも1つの潜在的ポーズを決定するステップと
を含むこと
を含む方法。
【請求項2】
前記実施するステップが、
前記潜在的ポーズが残りの2つの自由度に制限されるように前記第1光線および前記第2光線で与えられる制約をまず実施するステップ、および
前記第3ポイント、前記第3光線、および前記残りの2つの自由度に従って前記潜在的ポーズをさらに制限するステップと
を含む請求項1に記載の方法。
【請求項3】
前記残りの2つの自由度が、
前記第3の既知のワールド・ポイントの変換を表す第1自由度と、
前記イメージ取込み装置を前記第3既知のワールド・ポイントに投射する第3光線の少なくとも1つの可能な位置を表す第2自由度と
を含む請求項2に記載の方法。
【請求項4】
前記第1自由度が、前記イメージ取込み装置に対する前記第3の既知のワールド・ポイントの位置を円で画定されるエリア内に制限し、前記第2自由度が、前記イメージ取込み装置に対する前記第3光線の位置を線織4次曲面で画定されるエリア内に制限し、前記円と前記線織4次曲面が複数の交点を有する請求項3に記載の方法。
【請求項5】
前記複数の交点のそれぞれが、前記第1ワールド・ポイント、前記第2ワールド・ポイント、および前記第3ワールド・ポイントに対する前記イメージ取込み装置の潜在的ポーズを特定する請求項4に記載の方法。
【請求項6】
前記イメージ取込み装置が非中心投射イメージ形成モデルに準拠する請求項1に記載の方法。
【請求項7】
前記イメージ取込み装置が、マルチカメラ・リグ、カタディオプトリック・カメラ、ジオプトリック・カメラ、またはマルチレンズ・カメラのうちの少なくとも1つを含む請求項6に記載の方法。
【請求項8】
前記イメージ取込み装置が、異なる位置に配置された複数のカメラを含み、前記複数のカメラの相対的向きが既知である請求項6に記載の方法。
【請求項9】
複数の命令が格納されたコンピュータ可読媒体であって、前記複数の命令が、プロセッサで実行されたときに、イメージ取込み装置の潜在的ポーズを決定する方法の工程をプロセッサに実行させる命令を含み、前記潜在的ポーズが6つの自由度を有し、前記方法が、
前記イメージ取込み装置で取り込んだイメージを受け取るステップであって、前記イメージが少なくとも第1の既知のワールド・ポイント、第2の既知のワールド・ポイント、および第3の既知のワールド・ポイントのイメージを含み、および
前記イメージ取込み装置に対する前記イメージの既知の関係に従って前記潜在的ポーズに対して制約を実施することであって、
第1光線、第2光線、および第3光線によって与えられる制約を実施するステップであって、前記第1光線、前記第2光線、および前記第3光線がそれぞれ、前記イメージ取込み装置から、それぞれ前記第1の既知のワールド・ポイント、前記第2の既知のワールド・ポイント、および前記第3の既知のワールド・ポイントに投射し、および
前記制約に従って少なくとも1つの潜在的ポーズを決定するステップと
を含む
コンピュータ可読媒体。
【請求項10】
イメージ取込み装置の潜在的ポーズを決定する装置において、前記潜在的ポーズが6つの自由度を有し、
前記イメージ取込み装置で取り込んだイメージを受け取る手段であって、前記イメージが少なくとも第1の既知のワールド・ポイント、第2の既知のワールド・ポイント、および第3の既知のワールド・ポイントのイメージを含む手段と、
前記イメージ取込み装置に対する前記イメージの既知の関係に従って前記潜在的ポーズに対して制約を実施する手段であって、
第1光線、第2光線、および第3光線によって与えられる制約を実施する手段であって、前記第1光線、前記第2光線、および前記第3光線がそれぞれ、前記イメージ取込み装置から、それぞれ前記第1の既知のワールド・ポイント、前記第2の既知のワールド・ポイント、および前記第3の既知のワールド・ポイントに投射する手段と、
前記制約に従って少なくとも1つの潜在的ポーズを決定する手段と
を含む
装置。
【請求項1】
イメージ取込み装置の潜在的ポーズを決定する方法において、前記潜在的ポーズが6つの自由度を有する方法であって、
前記イメージ取込み装置で取り込んだイメージを受け取るステップであって、前記イメージが少なくとも第1の既知のワールド・ポイント、第2の既知のワールド・ポイント、および第3の既知のワールド・ポイントのイメージを含み、および
前記イメージ取込み装置に対する前記イメージの既知の関係に従って前記潜在的ポーズに対して制約を実施するステップと、
第1光線、第2光線、および第3光線によって与えられる制約を実施するステップであって、前記第1光線、前記第2光線、および前記第3光線がそれぞれ、前記イメージ取込み装置から、それぞれ前記第1の既知のワールド・ポイント、前記第2の既知のワールド・ポイント、および前記第3の既知のワールド・ポイントに投射し、および
前記制約に従って少なくとも1つの潜在的ポーズを決定するステップと
を含むこと
を含む方法。
【請求項2】
前記実施するステップが、
前記潜在的ポーズが残りの2つの自由度に制限されるように前記第1光線および前記第2光線で与えられる制約をまず実施するステップ、および
前記第3ポイント、前記第3光線、および前記残りの2つの自由度に従って前記潜在的ポーズをさらに制限するステップと
を含む請求項1に記載の方法。
【請求項3】
前記残りの2つの自由度が、
前記第3の既知のワールド・ポイントの変換を表す第1自由度と、
前記イメージ取込み装置を前記第3既知のワールド・ポイントに投射する第3光線の少なくとも1つの可能な位置を表す第2自由度と
を含む請求項2に記載の方法。
【請求項4】
前記第1自由度が、前記イメージ取込み装置に対する前記第3の既知のワールド・ポイントの位置を円で画定されるエリア内に制限し、前記第2自由度が、前記イメージ取込み装置に対する前記第3光線の位置を線織4次曲面で画定されるエリア内に制限し、前記円と前記線織4次曲面が複数の交点を有する請求項3に記載の方法。
【請求項5】
前記複数の交点のそれぞれが、前記第1ワールド・ポイント、前記第2ワールド・ポイント、および前記第3ワールド・ポイントに対する前記イメージ取込み装置の潜在的ポーズを特定する請求項4に記載の方法。
【請求項6】
前記イメージ取込み装置が非中心投射イメージ形成モデルに準拠する請求項1に記載の方法。
【請求項7】
前記イメージ取込み装置が、マルチカメラ・リグ、カタディオプトリック・カメラ、ジオプトリック・カメラ、またはマルチレンズ・カメラのうちの少なくとも1つを含む請求項6に記載の方法。
【請求項8】
前記イメージ取込み装置が、異なる位置に配置された複数のカメラを含み、前記複数のカメラの相対的向きが既知である請求項6に記載の方法。
【請求項9】
複数の命令が格納されたコンピュータ可読媒体であって、前記複数の命令が、プロセッサで実行されたときに、イメージ取込み装置の潜在的ポーズを決定する方法の工程をプロセッサに実行させる命令を含み、前記潜在的ポーズが6つの自由度を有し、前記方法が、
前記イメージ取込み装置で取り込んだイメージを受け取るステップであって、前記イメージが少なくとも第1の既知のワールド・ポイント、第2の既知のワールド・ポイント、および第3の既知のワールド・ポイントのイメージを含み、および
前記イメージ取込み装置に対する前記イメージの既知の関係に従って前記潜在的ポーズに対して制約を実施することであって、
第1光線、第2光線、および第3光線によって与えられる制約を実施するステップであって、前記第1光線、前記第2光線、および前記第3光線がそれぞれ、前記イメージ取込み装置から、それぞれ前記第1の既知のワールド・ポイント、前記第2の既知のワールド・ポイント、および前記第3の既知のワールド・ポイントに投射し、および
前記制約に従って少なくとも1つの潜在的ポーズを決定するステップと
を含む
コンピュータ可読媒体。
【請求項10】
イメージ取込み装置の潜在的ポーズを決定する装置において、前記潜在的ポーズが6つの自由度を有し、
前記イメージ取込み装置で取り込んだイメージを受け取る手段であって、前記イメージが少なくとも第1の既知のワールド・ポイント、第2の既知のワールド・ポイント、および第3の既知のワールド・ポイントのイメージを含む手段と、
前記イメージ取込み装置に対する前記イメージの既知の関係に従って前記潜在的ポーズに対して制約を実施する手段であって、
第1光線、第2光線、および第3光線によって与えられる制約を実施する手段であって、前記第1光線、前記第2光線、および前記第3光線がそれぞれ、前記イメージ取込み装置から、それぞれ前記第1の既知のワールド・ポイント、前記第2の既知のワールド・ポイント、および前記第3の既知のワールド・ポイントに投射する手段と、
前記制約に従って少なくとも1つの潜在的ポーズを決定する手段と
を含む
装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公表番号】特表2008−506283(P2008−506283A)
【公表日】平成20年2月28日(2008.2.28)
【国際特許分類】
【出願番号】特願2007−518260(P2007−518260)
【出願日】平成17年6月22日(2005.6.22)
【国際出願番号】PCT/US2005/022211
【国際公開番号】WO2006/002298
【国際公開日】平成18年1月5日(2006.1.5)
【出願人】(599134012)サーノフ コーポレーション (59)
【Fターム(参考)】
【公表日】平成20年2月28日(2008.2.28)
【国際特許分類】
【出願日】平成17年6月22日(2005.6.22)
【国際出願番号】PCT/US2005/022211
【国際公開番号】WO2006/002298
【国際公開日】平成18年1月5日(2006.1.5)
【出願人】(599134012)サーノフ コーポレーション (59)
【Fターム(参考)】
[ Back to top ]