以下、図面を参照して、本技術を適用した実施の形態について説明する。
〈第1の実施の形態〉
〈本技術について〉
本技術は、空間上の異なる位置で撮影された撮影画像に基づいて、所定の撮影画像を撮影したときの撮影位置および撮影姿勢を推定することができるようにするものである。例えば本技術は、スマートフォンやデジタルカメラ、パーソナルコンピュータ、クラウドを利用して撮影画像の撮影位置および撮影姿勢を推定する画像処理システムなどに適用することができる。
カメラにより撮影された撮影画像の撮影位置および撮影姿勢を高精度に推定することができる手法として、撮影画像のみを用いる手法、つまり画像ベースの手法がある。
例えば図1に示すように、3次元空間上における3つの異なる位置V11乃至位置V13において、所定の基準空間上の位置および形状が既知である物体H11を撮影したとする。そして、その結果、各位置V11乃至位置V13のそれぞれを視点とした撮影画像PC11乃至撮影画像PC13のそれぞれが得られたとする。
この例では、各撮影画像PC11乃至撮影画像PC13を撮影した位置が互いに異なるので、それらの撮影画像上における被写体としての物体H11の見え方が異なっている。しかし、これらの撮影画像PC11乃至撮影画像PC13では、物体H11の同一部位から特徴点が検出されている。
すなわち、位置V11で撮影した撮影画像PC11からは、物体H11上の部位P1乃至部位P7のそれぞれに対応する特徴点FP11-1乃至特徴点FP17-1が検出される。ここで、各部位P1乃至部位P7の基準空間上の位置は既知である。
同様に、位置V12で撮影した撮影画像PC12からは、物体H11上の部位P1乃至部位P7のそれぞれに対応する特徴点FP11-2乃至特徴点FP17-2が検出される。また、位置V13で撮影した撮影画像PC13からは、物体H11上の部位P1乃至部位P7のそれぞれに対応する特徴点FP11-3乃至特徴点FP17-3が検出される。
このように、物体H11の位置および形状が既知である場合、撮影画像PC11乃至撮影画像PC13上に、物体H11の部位に対応する4点以上の特徴点があると、画像ベースの手法により、各撮影画像を撮影したときの撮影位置および撮影姿勢、すなわち撮影画像を撮影したときのカメラの撮影位置および撮影姿勢を一意に定めることができる。以下では、カメラにより所定の撮影位置および撮影姿勢で撮影された撮影画像について、その撮影画像を撮影したときのカメラの撮影位置および撮影姿勢を、撮影画像の撮影位置および撮影姿勢と称することとする。
ここで、撮影画像の撮影位置および撮影姿勢とは、所定の基準となる基準空間における撮影位置および撮影姿勢である。また、撮影画像の撮影姿勢とは、撮影画像を撮影したときのカメラの姿勢、すなわちカメラによる撮影方向である。
さらに、基準空間とは、例えば特定の2つの撮影画像のそれぞれを撮影したときの撮影位置間の距離を1とするなど、基準となる距離(スケール)が任意に設定された空間である。したがって、例えば上記の撮影位置間の距離を、現実の空間における距離と同じ値に設定すれば、基準空間のスケールは、実際の現実空間のスケールと同じとなる。
基準空間における撮影位置は、例えば基準空間の所定位置を原点とする3次元座標系における、撮影画像が撮影された座標位置などとされる。また、基準空間における撮影姿勢は、例えば撮影画像を撮影したときのカメラによる撮影方向を示す角度情報等などとされる。具体的には、例えば撮影姿勢は、基準空間の3次元座標系の各軸を基準となる回転軸(基準軸)としたときの所定の基準方向に対するカメラの撮影方向のロール角、ピッチ角、およびヨー角などとされる。
以下の説明において、撮影画像の撮影位置および撮影姿勢というときは、基準空間における撮影位置および撮影姿勢をいうこととする。また、相対的な撮影位置および撮影姿勢というときは、所定の撮影画像の撮影位置および撮影姿勢から見た撮影位置および撮影姿勢をいうこととする。したがって、例えば相対的な撮影位置は、基準空間におけるスケールが未知である状態、つまりその撮影位置が他の撮影位置等の所定位置に対して位置している方向は定まっているが、それらの位置間の基準空間における距離が定まっていない状態であるとする。
なお、実際に各撮影画像の撮影位置と撮影姿勢を推定する場合には、基準空間における物体H11の位置が未知であり、複数の撮影画像の撮影位置と撮影姿勢を順番に推定していくことが一般的に行われる。
そのような場合には、例えば図2の矢印Q11に示すように、まず位置V11で撮影された撮影画像PC11と、位置V12で撮影された撮影画像PC12とに基づいて、それらの撮影画像から検出された特徴点の位置関係から、撮影画像の相対的な撮影位置および撮影姿勢が推定される。
すなわち、撮影画像PC11を撮影したときの撮影位置および撮影姿勢と、撮影画像PC12を撮影したときの撮影位置および撮影姿勢との相対的な位置関係が推定される。なお、図2において図1における場合と対応する部分には同一の符号を付してあり、その説明は省略する。
この場合、基準空間における物体H11の位置が未知であるが、撮影画像PC11と撮影画像PC12とで、互いに対応する特徴点が5点以上検出されれば、撮影画像PC11と撮影画像PC12のそれぞれを撮影したときのカメラの位置関係、つまり2つの撮影画像の相対的な撮影位置および撮影姿勢を推定することができる。
そして、推定により得られた相対的な撮影位置および撮影姿勢と、各撮影画像上の特徴点の位置とから、互いに対応する特徴点が検出された被写体の部位の位置、より詳細には、各撮影位置に対する相対的な位置を推定することができる。そして、基準となるスケール、つまり基準空間のスケールが与えられれば、基準空間における各撮影画像の撮影位置および撮影姿勢と、被写体の部位の位置とが定まることになる。
このようにして基準空間における、物体H11の位置と、撮影画像PC11および撮影画像PC12の各撮影画像を撮影したときの撮影位置および撮影姿勢とが既知となると、以降においては矢印Q12に示すように、これまでに推定された被写体の部位の基準空間上の位置が用いられて、順次、未知である撮影画像の撮影位置と撮影姿勢が推定されていく。
例えば、撮影画像PC11や撮影画像PC12を撮影したときの撮影位置および撮影姿勢から算出される物体H11の部位の位置と、撮影画像PC13とに基づいて、撮影画像PC13を撮影したときの基準空間における撮影位置および撮影姿勢が推定される。
この場合、撮影画像PC11、撮影画像PC12、および撮影画像PC13の3つの撮影画像のそれぞれから、互いに対応する特徴点、つまり共通する特徴点が4点以上検出されれば、撮影画像PC13を撮影したときの基準空間における撮影位置および撮影姿勢が定まる。
ここで、このような画像ベースの撮影位置および撮影姿勢の推定手法について、より詳細に説明する。なお、以下では、以上において説明した画像ベースの撮影位置および撮影姿勢の推定手法を、4点共通推定手法とも称することとする。
また、以下では、複数の各撮影画像から検出された、同一被写体部位に対応する特徴点を、特に対応点とも称することとする。例えば図1に示した例では、撮影画像PC11乃至撮影画像PC13のそれぞれから、同一の部位P1に対応する特徴点FP11-1乃至特徴点FP11-3が検出されているから、これらの互いに対応する特徴点FP11-1乃至特徴点FP11-3が対応点となる。
4点共通推定手法では、例えば図3に示すように3以上の撮影画像で、共通する4つの対応点が検出できれば、未知の撮影画像の撮影位置および撮影姿勢を推定することができる。
この例では、3次元空間上にカメラCA11、カメラCA12、およびカメラCA13が配置されている。ここで、カメラCA11により撮影された撮影画像の基準空間上における撮影位置および撮影姿勢と、カメラCA12により撮影された撮影画像の基準空間上における撮影位置および撮影姿勢とが既知となっているとする。これに対して、カメラCA13により撮影された撮影画像の基準空間上における撮影位置および撮影姿勢は未知であるとする。
なお、以下では、カメラCA11により撮影された撮影画像を撮影画像CA11とも称することとする。同様に、カメラCA12により撮影された撮影画像を撮影画像CA12とも称することとし、カメラCA13により撮影された撮影画像を撮影画像CA13とも称することとする。
ここで、各カメラCA11乃至カメラCA13により、基準空間上の位置が既知である4つの被写体の部位P11乃至部位P14が観察されているので、各撮影画像で共通する4つの対応点が得られることになり、撮影画像CA13の撮影位置および撮影姿勢を推定することができる。
具体的には、基準空間における撮影画像CA11と撮影画像CA12の撮影位置および撮影姿勢が既知であるので、それらの撮影画像CA11と撮影画像CA12で観察されている被写体の部位P11乃至部位P14の基準空間上の位置も既知となる。
次に、部位P11乃至部位P14のうちの任意の3つの部位を選択し、選択した3つの部位の基準空間上の位置と、それらの3つの部位に対応する撮影画像CA13上の特徴点の位置との関係から、基準空間上の撮影画像CA13の撮影位置および撮影姿勢が推定される。このとき、基準空間上の撮影画像CA13の撮影位置および撮影姿勢として、4通りの位置および姿勢が候補として得られる。
さらに、それらの4つの候補ごとに、候補として得られた撮影画像CA13の撮影位置および撮影姿勢と、部位P11乃至部位P14のうちの残りの1つの部位の基準空間上の位置とから、その部位が撮影画像CA13上に再投影される。
そして、その再投影結果と、撮影画像CA13上における部位P11乃至部位P14のうちの残りの1つの部位に対応する特徴点の位置との誤差が算出され、誤差が最小となる候補が基準空間における最終的な撮影画像CA13の撮影位置および撮影姿勢とされる。
このような画像ベースの撮影位置および撮影姿勢の推定手法(4点共通推定手法)については、例えば“Complete solution classification for the Perspective-Three-Point Problem”等に詳細に記載されている。
また、被写体部位の再投影を行ってカメラの位置および姿勢を決定する技術については、例えばURL〈http://iplimage.com/blog/p3p-perspective-point-overview/〉のウェブページ等に詳細に記載されている。
なお、ここでは、3つの撮影画像を用いる場合について説明したが、互いに共通する対応点を有する、基準空間における撮影位置および撮影姿勢が既知である2以上の撮影画像と、撮影位置および撮影姿勢が未知である1つの撮影画像とから、未知である撮影画像の撮影位置および撮影姿勢を推定するようにしてもよい。
ところで、撮影画像間で互いに対応する特徴点、つまり対応点を検出する場合には、一般的に以下のような手順で対応点が検出される。ここでは、例えば撮影画像Aと撮影画像Bとの間で、対応点が検出される場合について説明する。
まず、撮影画像Aと撮影画像Bのそれぞれについて、撮影画像からハリスコーナーやSIFT(Scale Invariant Feature Transform)等のアルゴリズムに従って特徴点が検出され、各特徴点について、撮影画像上の特徴点周囲の領域から特徴量が抽出される。
そして撮影画像Aから検出された特徴点の特徴量と、撮影画像Bから検出された特徴点の特徴量との距離が算出され、特徴量の距離が閾値以下となる特徴点のペアが検出される。このような特徴点のペアは、互いに特徴点周囲の画像が類似するペアである。
次に、検出された特徴点のペアのなかから、特徴的である特徴点のペアが抽出される。ここで、特徴的である特徴点のペアとは、ペアを構成する特徴点の周囲の模様(テクスチャ)と、他の特徴点の周囲の模様との類似度が低い特徴点のペアである。つまり、この処理では、誤った特徴点の対応付けが行われないように、撮影画像上の繰り返しパタン部分から抽出された特徴点のペアが除去される。
最後に、これまでで残っている特徴点のペアのなかから、幾何学的および統計的に妥当であると思われる特徴点のペアが抽出されて、抽出された特徴点のペアを構成する各特徴点が、互いに対応する対応点、つまり同一部位から検出された特徴点とされる。
なお、上記の一連の妥当な特徴点のペアを抽出する方法については、例えば「Noah Snavely, Steven M. Seitz, Richard Szeliski, "Photo tourism: Exploring photo collections in 3D," ACM Transactions on Graphics (SIGGRAPH Proceedings), 25(3), 2006」などに具体的に記載されている。
このような手順に従って対応点を検出すると、撮影画像から多くの特徴点が検出された場合でも、対応点とされる特徴点は少ないこともある。
例えば図4の矢印Q21に示すように、3つのカメラCA21乃至カメラCA23で、主な注目する被写体H21と、その背景となる被写体H22を撮影することを考える。ここでは、各カメラを注目する被写体H21である人に向けて撮影を行い、被写体H21に対して、その背景にある被写体H22は遠い位置にあるとする。
このとき、カメラCA21乃至カメラCA23の互いに隣接するカメラ同士の間隔、つまりカメラ間の角度が狭い場合には、各カメラで撮影された撮影画像上において、被写体H22の見え方はあまり差がなく、共通して写っている被写体H22の部分の領域も多い。そのため、各カメラで得られた撮影画像に基づいて、確実に基準空間における各撮影画像の撮影位置および撮影姿勢を推定することが可能である。
これに対して、例えば矢印Q22に示すように、互いに隣接するカメラ同士の間隔が広い場合には、各カメラで撮影された撮影画像上において、被写体H22の見え方が変化し、共通して写っている被写体H22の部分の領域も少なくなる。
具体的には、矢印Q22に示す状態で撮影を行った結果、例えばカメラCA21乃至カメラCA23のそれぞれにより、撮影画像PC21乃至撮影画像PC23のそれぞれが得られたとする。この例では、各撮影画像には、被写体H21と、被写体H22に対応する建物である被写体H31乃至被写体H33の一部または全部とが被写体として写っている。
すなわち、カメラCA21により撮影された撮影画像PC21には、被写体H31乃至被写体H33が含まれている。また、そのカメラCA21に隣接するカメラCA22により撮影された撮影画像PC22にも、被写体H31乃至被写体H33が含まれている。
しかし、撮影画像PC22では、各被写体H31乃至被写体H33の見え方が、撮影画像PC21における場合と大きく異なり、例えば被写体H33は半分以上見えなくなってしまっている。
また、撮影画像PC21と撮影画像PC23とを比較すると、撮影画像PC23には被写体H33が含まれておらず、被写体H31および被写体H32も撮影画像上における見え方が大きく異なっている。さらに、撮影画像PC21と撮影画像PC23とでは、同じ被写体が写っている領域が少ないことも分かる。
このような場合、互いに隣接する位置で撮影された撮影画像PC21と撮影画像PC22や、撮影画像PC22と撮影画像PC23では、それらの撮影画像から、それなりに多くの対応点が検出される。しかし、撮影位置が大きく離れている撮影画像PC21と撮影画像PC23では、対応点が検出されにくく、場合によっては4点共通推定手法で必要となる条件、つまり3つの撮影画像PC21乃至撮影画像PC23で、共通する4点以上の対応点が検出されないこともある。
このように、3つの撮影画像で共通する4点以上の対応点が必要となる4点共通推定手法では、カメラの位置関係によっては基準空間における撮影位置および撮影姿勢を推定することができないこともあり、より必要条件が緩い撮影位置および撮影姿勢の推定手法が望まれている。すなわち、より広範囲な撮影条件で撮影位置および撮影姿勢を推定することができるようにすることが望まれている。
そこで、本技術では、より緩い条件でも基準空間における撮影画像の撮影位置および撮影姿勢を推定することができるようにした。つまり、より広範囲な撮影条件において撮影位置および撮影姿勢を推定することができるようにした。
具体的には本技術では、例えば図5に示すように2つのカメラのそれぞれで得られた撮影画像間の相対的な撮影位置および撮影姿勢が推定された後、基準空間上における撮影画像の撮影位置および撮影姿勢が推定される。
図5に示す例では、3次元空間上にカメラCA31乃至カメラCA33が配置されており、これらのカメラCA31乃至カメラCA33によって、3次元空間上の被写体の部位P21が観察されている。
また、カメラCA32で得られた撮影画像と、カメラCA33で得られた撮影画像とで共通する5点以上の対応点が検出されており、カメラCA31乃至カメラCA33の各カメラで得られた撮影画像で、共通する1点以上の対応点が検出されているとする。この例では、部位P21に対応する特徴点が、カメラCA31乃至カメラCA33の各カメラで得られた撮影画像で共通する対応点となっている。
さらに、以下では、カメラCA31で得られた撮影画像を撮影画像CA31とも称し、カメラCA32で得られた撮影画像を撮影画像CA32とも称し、カメラCA33で得られた撮影画像を撮影画像CA33とも称することとする。
いま、基準空間上における撮影画像CA31と撮影画像CA32の撮影位置および撮影姿勢は既知であり、未知である撮影画像CA33の撮影位置および撮影姿勢を推定するものとする。
この場合、まず撮影画像CA32上の対応点と、撮影画像CA33上の対応点との位置関係に基づいて、5点以上の共通する対応点を有する撮影画像CA32と撮影画像CA33について、それらの撮影画像を撮影したときの相対的な撮影位置および撮影姿勢が推定される。この時点では、撮影画像CA33の撮影位置は、あくまで撮影画像CA32の撮影位置に対する相対的なものであり、基準空間上における撮影位置ではない。
但し、基準空間上における撮影画像CA32の撮影位置および撮影姿勢は既知であるので、基準空間における撮影画像CA32の撮影姿勢と、撮影画像CA33の撮影画像CA32に対する相対的な撮影姿勢とから、基準空間における撮影画像CA33の撮影姿勢が定まる。
また、撮影画像CA32の撮影位置に対する相対的な撮影画像CA33の撮影位置、つまりカメラCA32から見たカメラCA33がある方向が推定により計算されているので、基準空間上におけるカメラCA32、カメラCA33、および対応点に対応する部位P21の相対的な位置関係が得られたことになる。
すなわち、カメラCA32、カメラCA33、および部位P21の各位置を結んで得られる三角形の形状は定まっているが、その三角形の大きさ(スケール)は定まっていない状態である。換言すれば、カメラCA32から見て、カメラCA33が直線L11上に位置することと、カメラCA32から見た部位P21が位置する方向とは分かっているが、カメラCA32からカメラCA33や部位P21までの距離は定まっていない状態である。
このような状態から、3つのカメラCA31乃至カメラCA33のそれぞれで撮影された撮影画像に基づいて、具体的には3つの撮影画像CA31乃至撮影画像CA33で共通する1点以上の対応点に基づいて、基準空間上における撮影画像CA33の撮影位置が推定される。
例えば、基準空間における撮影画像CA31の撮影位置および撮影姿勢と、撮影画像CA32の撮影位置および撮影姿勢は既知であるから、それらの撮影画像の間での対応点に対応する部位P21の基準空間上の位置も推定により定まる。すると、基準空間上における撮影位置が既知である撮影画像CA32および部位P21と、撮影画像CA32の撮影位置に対する相対的な撮影画像CA33の撮影位置とから、基準空間上における撮影画像CA33の撮影位置を推定することができる。
例えばカメラCA33、つまり撮影画像CA33の撮影位置が直線L11上の所定の位置にいるとして、基準空間上における位置が既知である部位P21を、撮影画像CA33上に投影したときの投影位置と、撮影画像CA33上に実際に写っている部位P21に対応する特徴点(対応点)の位置との誤差が算出される。そして、その誤差が最小となるときの撮影画像CA33の撮影位置が、基準空間上における撮影画像CA33の撮影位置となる。
なお、ここでは撮影画像CA31と撮影画像CA32の基準空間における撮影位置および撮影姿勢が既知である例について説明した。しかし、これらの撮影画像CA31と撮影画像CA32の撮影位置および撮影姿勢は、撮影画像CA33の相対的な撮影位置および撮影姿勢を算出する段階では既知でなくてもよく、撮影画像CA31と撮影画像CA32は、それらの撮影画像の基準空間における撮影位置および撮影姿勢が推定可能なものであればよい。すなわち、撮影画像CA31および撮影画像CA32は、最終的に撮影画像CA31乃至撮影画像CA33から、基準空間における撮影画像CA33の撮影位置および撮影姿勢を推定可能なものであればよい。具体的には、例えば撮影画像CA31乃至撮影画像CA33の撮影位置および撮影姿勢が未知である状態から、それらの各撮影画像の撮影位置および撮影姿勢が略同時に推定されるようにしてもよい。
以下では、図5を参照して説明した撮影画像の撮影位置および撮影姿勢の推定手法を、特に1点共通推定手法とも称することとする。
1点共通推定手法では、撮影位置および撮影姿勢を推定しようとする処理対象の撮影画像との間で、共通する5点以上の対応点を有する、基準空間における撮影位置および撮影姿勢が既知の撮影画像が少なくとも1つ以上あり、かつ処理対象の撮影画像と、基準空間における撮影位置および撮影姿勢が既知の2以上の撮影画像との間で共通する1点以上の対応点があれば、基準空間における処理対象の撮影画像の撮影位置と撮影姿勢を推定することができる。
このように1点共通推定手法で必要とされる条件は、上述した4点共通推定手法で必要とされる条件よりも、相対的に緩い条件であることが分かる。このことから、1点共通推定手法によれば、4点共通推定手法よりも、より広範囲な撮影条件において撮影画像の撮影位置および撮影姿勢を推定できることが分かる。
なお、ここでは、基準空間における撮影位置および撮影姿勢が既知である撮影画像が2つである例について説明したが、上述した条件を満たすことができれば、2以上の撮影画像の撮影位置および撮影姿勢等に基づいて撮影画像CA33の撮影位置および撮影姿勢を推定するようにしてもよい。
また、ここでは撮影画像CA32と撮影画像CA33との相対的な撮影位置および撮影姿勢を推定する例について説明したが、その他、例えば撮影画像CA31と撮影画像CA33との相対的な撮影位置および撮影姿勢が推定されるようにしてもよい。
さらに、カメラCA31乃至カメラCA33は、同一のカメラであってもよいし、それらのカメラの一部または全部が異なるカメラであってもよい。例えば1つのカメラが移動しながら、互いに異なる時刻において各位置で撮影画像を撮影するような場合には、カメラCA31乃至カメラCA33は同一のカメラとなる。
また、例えば図6に示すように処理対象の撮影画像について、2つの撮影画像の基準空間における既知である撮影位置および撮影姿勢のそれぞれに対する相対的な撮影位置および撮影姿勢が推定され、それらの相対的な撮影位置および撮影姿勢から、基準空間における処理対象の撮影画像の撮影位置および撮影姿勢が推定されるようにしてもよい。なお、図6において、図5における場合と対応する部分には同一の符号を付してあり、その説明は適宜、省略する。
図6に示す例では、カメラCA31およびカメラCA32の基準空間上における撮影位置および撮影姿勢、つまり基準空間における撮影画像CA31および撮影画像CA32の撮影位置および撮影姿勢が既知である。また、基準空間におけるカメラCA33、つまり撮影画像CA33の撮影位置および撮影姿勢が未知である。
また、撮影画像CA31と、撮影画像CA33とで共通する5点以上の対応点が検出されており、同様に撮影画像CA32と、撮影画像CA33とで共通する5点以上の対応点が検出されている。
この場合、まず1点共通推定手法における場合と同様に、撮影画像CA32の撮影位置および撮影姿勢に対する撮影画像CA33の相対的な撮影位置および撮影姿勢が推定される。その結果、カメラCA32から見て、カメラCA33が直線L11上に位置していることが分かる。
また、撮影画像CA32における場合と同様に、撮影画像CA31上の対応点と、撮影画像CA33上の対応点との位置関係に基づいて、撮影画像CA31の撮影位置および撮影姿勢に対する撮影画像CA33の相対的な撮影位置および撮影姿勢が推定される。その結果、カメラCA31から見て、カメラCA33が直線L12上に位置していることが分かる。
このようにして、撮影画像CA32の撮影位置に対する相対的な撮影画像CA33の撮影位置と、撮影画像CA31の撮影位置に対する相対的な撮影画像CA33の撮影位置とが分かると、それらの相対的な位置関係から、カメラCA33は基準空間上における直線L11と直線L12の交点位置に存在していることが分かる。すなわち、基準空間における撮影画像CA33の撮影位置が分かる。
また、撮影画像CA32および撮影画像CA33から推定した撮影画像CA33の相対的な撮影姿勢と、撮影画像CA31および撮影画像CA33から推定した撮影画像CA33の相対的な撮影姿勢との少なくとも何れか一方を用いて、基準空間上における撮影画像CA33の撮影姿勢も定めることができる。
なお、ここでは撮影画像CA31と撮影画像CA32の基準空間における撮影位置および撮影姿勢が既知である例について説明した。しかし、これらの撮影画像CA31と撮影画像CA32の撮影位置および撮影姿勢は、撮影画像CA31や撮影画像CA32から、撮影画像CA33の相対的な撮影位置および撮影姿勢を算出する段階では既知でなくてもよく、撮影画像CA31と撮影画像CA32は、それらの撮影画像の撮影位置および撮影姿勢が推定可能なものであればよい。すなわち、撮影画像CA31および撮影画像CA32は、最終的に撮影画像CA31乃至撮影画像CA33から、基準空間における撮影画像CA33の撮影位置および撮影姿勢を推定可能なものであればよい。具体的には、例えば撮影画像CA31乃至撮影画像CA33の撮影位置および撮影姿勢が未知である状態から、それらの各撮影画像の撮影位置および撮影姿勢が略同時に推定されるようにしてもよい。
以下では、図6を参照して説明した撮影画像の撮影位置および撮影姿勢の推定手法を、特に零点共通推定手法とも称することとする。
零点共通推定手法では、撮影位置および撮影姿勢を推定しようとする処理対象の撮影画像との間で、共通する5点以上の対応点を有する、基準空間における撮影位置および撮影姿勢が既知の撮影画像が少なくとも2つ以上あれば、基準空間における処理対象の撮影画像の撮影位置と撮影姿勢を推定することができる。
このように零点共通推定手法で必要とされる条件は、上述した4点共通推定手法で必要とされる条件よりも、相対的に緩い条件であることが分かる。このことから、零点共通推定手法によれば、4点共通推定手法よりも、より広範囲な撮影条件において撮影画像の撮影位置および撮影姿勢を推定できることが分かる。
なお、ここでは、基準空間における撮影位置および撮影姿勢が既知である撮影画像が2つである例について説明したが、上述した条件を満たすことができれば、2以上の撮影画像の撮影位置および撮影姿勢等に基づいて、基準空間における撮影画像CA33の撮影位置および撮影姿勢を推定するようにしてもよい。
また、この場合においてもカメラCA31乃至カメラCA33は、同一のカメラであってもよいし、それらのカメラの一部または全部が異なるカメラであってもよい。
以上のことから、図7に示すように本技術を適用した位置および姿勢の推定手法である1点共通推定手法や零点共通推定手法によれば、4点共通推定手法よりも緩い条件、つまりより広範囲な撮影条件において撮影画像の撮影位置および撮影姿勢を推定することができる。
図7では、基準空間における撮影位置および撮影姿勢が既知の2つの撮影画像を利用して、基準空間における処理対象の撮影画像の撮影位置および撮影姿勢を推定しようとする場合に必要となる各推定手法の必要条件が示されている。
すなわち、4点共通推定手法では、2つの撮影画像間で共通する対応点の数はいくつであってもよいが、3つの撮影画像で共通する4点以上の対応点が必要となる。
これに対して、1点共通推定手法では、3つの撮影画像で共通する対応点の数は1点あればよく、その代わりに処理対象の撮影画像と、他の1つの撮影画像との間で共通する対応点が5点以上必要となる。
一般的に3つの撮影画像で共通する対応点が存在する可能性よりも、2つの撮影画像で共通する対応点が存在する可能性の方が高いので、1点共通推定手法を行うために必要となる条件は、4点共通推定手法を行うために必要となる条件よりも緩いということができる。したがって、1点共通推定手法では、4点共通推定手法よりも、より広範囲な撮影条件で基準空間における撮影画像の撮影位置および撮影姿勢を推定することができる。
また、零点共通推定手法では、3つの撮影画像で共通する対応点は必要なく、その代わりに処理対象の撮影画像と、他の2つの撮影画像のそれぞれとの間で共通する対応点が5点以上必要となる。この条件も4点共通推定手法で必要となる条件よりも緩いので、零点共通推定手法では、4点共通推定手法よりも、より広範囲な撮影条件で基準空間における撮影画像の撮影位置および撮影姿勢を推定することができる。
〈画像処理装置の構成例〉
続いて、以上において説明した本技術を適用した、より具体的な実施の形態について説明する。図8は、本技術を適用した画像処理装置の構成例を示す図である。
画像処理装置11は、画像取得部21、特徴点検出部22、対応点検出部23、記録部24、位置姿勢算出部25、ランドマーク位置算出部26、非線形最適化部27、入力部28、制御部29、画像処理部30、再生制御部31、および表示部32を有する。
画像取得部21は、例えば1または複数のカメラ(撮影部)からなり、周囲の被写体を撮影することで撮影画像を撮影し、撮影画像を特徴点検出部22および記録部24に供給する。
具体的には、画像取得部21が1つのカメラから構成される場合には、カメラは、各時刻において互いに異なる位置で撮影画像を撮影する。例えば図5に示した例では、1つのカメラがカメラCA31として撮影を行った後、カメラCA32として撮影を行い、さらにカメラCA33として撮影を行い、それ以降においても各位置で順次、撮影を行っていく。
また、画像取得部21が複数のカメラから構成される場合には、複数の各カメラは互いに異なる位置に配置され、同時にまたは異なる時刻で各カメラが撮影を行う。例えば図5に示した例では、カメラCA31乃至カメラCA33を含む複数のカメラから画像取得部21が構成されることになる。
さらに、画像取得部21が通信部から構成され、画像取得部21が通信網等を介してサーバなどの他の装置から、撮影画像を取得するようにしてもよい。また、以下では、画像取得部21が複数のカメラから構成されるものとし、撮影画像を撮影したときのカメラの撮影位置および撮影姿勢を、単に撮影画像の撮影位置および撮影姿勢と称することとする。
特徴点検出部22は、画像取得部21から供給された撮影画像から特徴点を検出し、その検出結果を対応点検出部23に供給する。対応点検出部23は、特徴点検出部22から供給された特徴点の検出結果に基づいて、任意の2つの撮影画像のペアについて、それらの撮影画像間の互いに対応する特徴点、つまり対応点を検出し、その検出結果を記録部24に供給する。
記録部24は、例えば揮発性または不揮発性のメモリからなり、画像取得部21から供給された撮影画像を記録するとともに、対応点検出部23から供給された対応点の検出結果を対応点情報として記録する。
また、記録部24は、非線形最適化部27から供給された、撮影画像上の対応点の位置と、その対応点に対応する実際の被写体の部位(以下、ランドマークとも称する)の基準空間上の位置とを示す情報をランドマーク情報として記録するとともに、非線形最適化部27から供給された、基準空間における撮影画像の撮影位置および撮影姿勢を示す情報を位置姿勢情報として記録する。
さらに、記録部24は、記録している撮影画像、対応点情報、ランドマーク情報、位置姿勢情報等の各種の情報のうち、必要な情報を位置姿勢算出部25、非線形最適化部27、または画像処理部30に供給する。
位置姿勢算出部25は、記録部24に記録されている各撮影画像について、基準空間におけるそれらの撮影画像の撮影位置および撮影姿勢を算出し、その算出結果をランドマーク位置算出部26に供給する。
位置姿勢算出部25は、対応画像選択部41、位置姿勢算出部42、対応画像選択部43、位置姿勢算出部44、再投影部45、対応画像選択部46、基礎行列算出部47、相対位置姿勢算出部48、位置算出部49、対応画像選択部50、基礎行列算出部51、相対位置姿勢算出部52、位置算出部53、および姿勢算出部54を有している。
対応画像選択部41は、記録部24に記録されている対応点情報に基づいて、各撮影画像のペアのうち、最も信頼度の高いペアを選択し、そのペアの対応点情報を記録部24から読み出して位置姿勢算出部42に供給する。ここで撮影画像のペアの信頼度は、例えば対応点の数や、様々な距離の特徴点が含まれているか否か、つまり1つの射影変換で表現できない対応点の割り合い、それらの組み合わせ等により定められる。例えば対応点数が多いほど信頼度が高くなるようにされる。
位置姿勢算出部42は、対応画像選択部41から供給された対応点情報に基づいて、基準空間における撮影画像の撮影位置および撮影姿勢を算出し、その算出結果と対応点情報とをランドマーク位置算出部26に供給する。
これらの対応画像選択部41および位置姿勢算出部42では、1つもランドマークの基準空間上の位置が算出されていない状態で、基準空間における最初の2つの撮影画像の撮影位置および撮影姿勢が算出される。
対応画像選択部43は、記録部24に記録されているランドマーク情報等に基づいて、4点共通推定手法で必要となる条件を満たす撮影画像を選択する。また、対応画像選択部43は、選択した撮影画像の撮影位置および撮影姿勢の算出に用いるランドマーク情報を記録部24から読み出して位置姿勢算出部44に供給する。
位置姿勢算出部44は、対応画像選択部43から供給されたランドマーク情報に基づいて基準空間における撮影画像の撮影位置および撮影姿勢の候補を算出し、その算出結果とランドマーク情報とを再投影部45に供給する。再投影部45は、位置姿勢算出部44から供給された算出結果、およびランドマーク情報に基づいて、基準空間における撮影画像の撮影位置および撮影姿勢を決定し、その決定結果をランドマーク位置算出部26に供給する。
これらの対応画像選択部43乃至再投影部45では、4点共通推定手法により、基準空間における撮影画像の撮影位置および撮影姿勢が算出される。
対応画像選択部46は、記録部24に記録されている対応点情報に基づいて、基準空間における処理対象とした撮影画像の撮影位置および撮影姿勢を1点共通推定手法により算出するのに用いる撮影画像(カメラ)と位置が既知のランドマークを選択する。また、対応画像選択部46は、その選択結果に応じて対応点情報、位置姿勢情報、およびランドマーク情報を記録部24から読み出して基礎行列算出部47に供給する。
基礎行列算出部47は、対応画像選択部46から供給された対応点情報に基づいて基礎行列を算出し、その算出結果と、対応点情報、位置姿勢情報、およびランドマーク情報とを相対位置姿勢算出部48に供給する。相対位置姿勢算出部48は、基礎行列算出部47から供給された基礎行列に基づいて処理対象の撮影画像の相対的な撮影位置および撮影姿勢を算出するとともに、その算出結果と、対応点情報、位置姿勢情報、およびランドマーク情報とを位置算出部49に供給する。
位置算出部49は、相対位置姿勢算出部48から供給された相対的な撮影位置および撮影姿勢の算出結果と、位置姿勢情報、およびランドマーク情報とに基づいて基準空間における撮影画像の撮影位置を算出し、その結果得られた基準空間における撮影画像の撮影位置および撮影姿勢の算出結果と対応点情報とをランドマーク位置算出部26に供給する。
これらの対応画像選択部46乃至位置算出部49では、1点共通推定手法により、基準空間における撮影画像の撮影位置および撮影姿勢が算出される。
対応画像選択部50は、記録部24に記録されている対応点情報に基づいて、処理対象とした撮影画像の撮影位置および撮影姿勢を零点共通推定手法により算出するのに用いる撮影画像(カメラ)を選択する。そして対応画像選択部50は、その選択結果に応じて対応点情報および位置姿勢情報を記録部24から読み出して基礎行列算出部51に供給する。
基礎行列算出部51は、対応画像選択部50から供給された対応点情報に基づいて基礎行列を算出し、その算出結果と対応点情報および位置姿勢情報とを相対位置姿勢算出部52に供給する。相対位置姿勢算出部52は、基礎行列算出部51から供給された基礎行列に基づいて処理対象の撮影画像の相対的な撮影位置および撮影姿勢を算出するとともに、その算出結果と対応点情報および位置姿勢情報とを位置算出部53に供給する。
位置算出部53は、相対位置姿勢算出部52から供給された相対的な撮影位置および撮影姿勢の算出結果と位置姿勢情報とに基づいて基準空間における撮影画像の撮影位置を算出し、その結果得られた基準空間における撮影画像の撮影位置および相対的な撮影姿勢と、対応点情報および位置姿勢情報とを姿勢算出部54に供給する。
姿勢算出部54は、位置算出部53から供給された撮影画像の相対的な撮影姿勢および位置姿勢情報に基づいて、基準空間における撮影画像の撮影姿勢を決定し、その結果得られた基準空間における撮影画像の撮影位置および撮影姿勢の算出結果と対応点情報とをランドマーク位置算出部26に供給する。
これらの対応画像選択部50乃至姿勢算出部54では、零点共通推定手法により、基準空間における撮影画像の撮影位置および撮影姿勢が算出される。
また、ランドマーク位置算出部26は、位置姿勢算出部42、再投影部45、位置算出部49、または姿勢算出部54から供給された、基準空間における撮影画像の撮影位置および撮影姿勢の算出結果等に基づいて、基準空間におけるランドマークの位置を算出する。このとき、ランドマーク位置算出部26は、必要に応じて、非線形最適化部27を介して記録部24から、既知である撮影画像の撮影位置および撮影姿勢を示す位置姿勢情報等を取得して、ランドマーク位置の算出に用いる。また、ランドマーク位置算出部26は、基準空間における撮影画像の撮影位置および撮影姿勢の算出結果と、対応点情報と、ランドマーク位置の算出結果とを非線形最適化部27に供給する。
非線形最適化部27は、ランドマーク位置算出部26から供給された基準空間における撮影画像の撮影位置および撮影姿勢の算出結果と、対応点情報と、ランドマーク位置の算出結果とに基づいて、非線形最適化を行い、基準空間における撮影画像の撮影位置および撮影姿勢とランドマーク位置を最適化する。非線形最適化部27は、非線形最適化により得られた位置姿勢情報およびランドマーク情報を記録部24に供給し、記録させる。
入力部28は、例えばマウスやボタン、タッチパネルなどからなり、ユーザ等の操作に応じた操作信号を制御部29に供給する。
制御部29は、入力部28から供給された操作信号に基づいて、画像処理装置11全体の動作を制御する。例えば制御部29は、位置姿勢算出部25に基準空間における撮影画像の撮影位置および撮影姿勢を算出させたり、画像処理部30に所定の画像処理を実行させたりする。
画像処理部30は、記録部24に記録されている撮影画像と位置姿勢情報とに基づいて、所定の画像処理を行って、再生用の画像である再生画像を生成する。ここで、再生画像は、撮影画像から得られた動画像であってもよいし、静止画像であってもよい。
画像処理部30は、生成された再生画像を再生制御部31に供給する。再生制御部31は、画像処理部30から供給された再生画像を表示部32に供給し、再生画像を再生させる。表示部32は、例えば液晶ディスプレイ等からなり、再生制御部31の制御に従って再生画像を再生する。
〈再生処理の説明〉
次に、画像処理装置11の動作について説明する。
例えばユーザ等が入力部28を操作し、再生画像の再生を指示すると、画像処理装置11は、ユーザ等の指示に応じて再生処理を開始して再生画像を生成し、再生する。以下、図9のフローチャートを参照して、画像処理装置11による再生処理について説明する。
ステップS11において、画像取得部21は複数の撮影画像を取得して、特徴点検出部22および記録部24に供給する。例えば画像取得部21は、複数のカメラにより各位置で撮影画像を撮影することで、撮影画像を取得する。また、記録部24は、画像取得部21から供給された撮影画像を記録する。
ステップS12において、特徴点検出部22は、画像取得部21から供給された複数の各撮影画像から特徴点を検出し、その検出結果を対応点検出部23に供給する。
例えば特徴点検出部22は、ハリスコーナーやSIFT等のアルゴリズムに従って撮影画像から特徴点を検出するとともに各特徴点について撮影画像から特徴量を抽出し、撮影画像上の特徴点の位置と、特徴点の特徴量とを特徴点の検出結果として出力する。
ステップS13において、対応点検出部23は、特徴点検出部22から供給された各撮影画像からの特徴点の検出結果に基づいて、撮影画像のペアごとに対応点を検出し、その検出結果を記録部24に供給する。また、記録部24は、対応点検出部23から供給された対応点の検出結果を、対応点情報として記録する。
例えば対応点検出部23は、任意の2つの撮影画像のペアを選択し、ペアとされた撮影画像間で特徴量の距離が閾値以下となる特徴点のペアを選択する。また、対応点検出部23は、検出された特徴点のペアのなかから、特徴的である特徴点のペアを抽出するとともに、抽出した特徴点のペアから、さらに幾何学的および統計的に妥当である特徴点のペアを抽出し、抽出された特徴点のペアを、対応点のペアとする。
このようにして対応点検出部23は、画像取得部21で取得された全ての撮影画像を対象として、2つの撮影画像の全組み合わせについて対応点を検出する。
ステップS14において、対応画像選択部41は、記録部24に記録されている対応点情報に基づいて、撮影画像のペアのうち、最も信頼度の高いペアを選択し、そのペアの対応点情報を記録部24から読み出して位置姿勢算出部42に供給する。ここで撮影画像のペアの信頼度は、例えば対応点の数や、様々な距離の特徴点が含まれているか否か、つまり1つの射影変換で表現できない対応点の割り合い、それらの組み合わせ等により定められる。例えば対応点数が多いほど信頼度が高くなるようにされる。
これにより、最も信頼度の高い2つの撮影画像が選択されたことになる。つまり、まだランドマークの基準空間上の位置が1つも算出されていない状態で、処理対象とする最初の2つの撮影画像が選択されたことになる。
ステップS15において、位置姿勢算出部42は、対応画像選択部41からの対応点情報に基づいて、ペアとされた撮影画像について、各撮影画像を撮影したときの基準空間における撮影位置および撮影姿勢を算出し、その算出結果と対応点情報とをランドマーク位置算出部26に供給する。
具体的には位置姿勢算出部42は、ペアとされた2つの撮影画像についての対応点情報に基づいて基礎行列を算出し、基礎行列を分解することで、ペアとされた2つの撮影画像のそれぞれを撮影したときの相対的な撮影位置および撮影姿勢を算出する。そして、例えば位置姿勢算出部42は、適切に基準空間のスケールを設定することで、算出された2つの撮影画像の相対的な撮影位置および撮影姿勢から、それらの2つの撮影画像の基準空間上の撮影位置および撮影姿勢を定める。
なお、基礎行列を算出して撮影画像の撮影位置および撮影姿勢を推定する方法については、例えば「Richard Hartley and Andrew Zisserman,“Multiple View Geometry in Computer Vision”」などに詳細に記載されている。
ステップS16において、ランドマーク位置算出部26は、位置姿勢算出部42から供給された、2つの撮影画像の撮影置および撮影姿勢の算出結果と対応点情報とに基づいて、基準空間上のランドマークの位置を算出する。
例えばランドマーク位置算出部26は、ステレオ視等によりランドマークの位置を算出する。具体的には、例えば対応点ごとに、2つの撮影画像について基準空間上におけるカメラの視点と投影面上の対応点とを結ぶ光線ベクトルが算出され、それらの2つの撮影画像ごとに算出した光線ベクトルの交点が基準空間におけるランドマークの位置とされる。なお、2つの光線ベクトルが交点をもたない時には、それらの2つの光線ベクトルからの距離が最も近い位置が基準空間におけるランドマークの位置とされる。
ランドマーク位置算出部26は、ランドマーク位置の算出結果と、撮影画像の撮影位置および撮影姿勢の算出結果と、対応点情報とを非線形最適化部27に供給する。
ステップS17において、非線形最適化部27は、ランドマーク位置算出部26からの撮影画像の撮影位置および撮影姿勢の算出結果と、対応点情報と、ランドマーク位置の算出結果とに基づいて、非線形最適化を行う。
すなわち、非線形最適化部27は、基準空間上のランドマークの位置と、基準空間における撮影画像の撮影位置および撮影姿勢に基づいて、ランドマークを撮影画像に対応する投影面上に投影する。そして非線形最適化部27は、投影面上におけるランドマークの投影位置と、実際の撮影画像上のランドマークに対応する対応点の投影位置との誤差が小さくなるように基準空間における撮影画像の撮影位置および撮影姿勢と、ランドマークの基準空間上の位置とを調整する。このような撮影画像の撮影位置および撮影姿勢と、ランドマーク位置とを調整する処理は、バンドル調整とも呼ばれている。
非線形最適化部27は、非線形最適化により調整された撮影画像の撮影位置および撮影姿勢を、最終的な基準空間における撮影画像の撮影位置および撮影姿勢として位置姿勢情報を生成するとともに、非線形最適化により調整されたランドマーク位置と対応点情報とからランドマーク情報を生成する。
このようなランドマーク情報を参照すれば、各ランドマークに対応する対応点(特徴点)がどの撮影画像のどの位置で検出されたかや、各ランドマークの基準空間上の位置を把握することができる。
非線形最適化部27は生成した位置姿勢情報とランドマーク情報を記録部24に供給し、記録させる。
ステップS18において、制御部29は、全ての撮影画像について、撮影画像を撮影したときの撮影位置および撮影姿勢を推定したか否かを判定する。
ステップS18において、まだ全ての撮影画像の撮影位置および撮影姿勢を推定していないと判定された場合、処理はステップS19へと進む。
ステップS19において、制御部29は、4点共通推定手法で撮影画像の撮影位置および撮影姿勢を推定するか否かを判定する。例えば制御部29は、ユーザ等が入力部28を操作し、撮影画像の撮影位置および撮影姿勢の推定手法を指定したときに入力部28から供給された操作信号に基づいて、4点共通推定手法で撮影画像の撮影位置および撮影姿勢を推定するか否かを判定する。
ステップS19において、4点共通推定手法で撮影画像の撮影位置および撮影姿勢を推定すると判定された場合、制御部29は、位置姿勢算出部25に対して4点共通推定手法での推定を指示し、処理はステップS20へと進む。
ステップS20において、画像処理装置11は4点共通推定手法による位置姿勢推定処理を行って、処理対象の撮影画像の撮影位置および撮影姿勢を算出する。これにより、新たに撮影位置および撮影姿勢が推定された撮影画像の姿勢位置情報とランドマーク情報が記録部24に記録されることになる。
4点共通推定手法による位置姿勢推定処理が行われると、その後、処理はステップS18へと戻り、上述した処理が繰り返し行われる。なお、4点共通推定手法による位置姿勢推定処理の詳細は後述する。
また、ステップS19において、4点共通推定手法で撮影画像の撮影位置および撮影姿勢を推定しないと判定された場合、ステップS21において、制御部29は、1点共通推定手法で撮影画像の撮影位置および撮影姿勢を推定するか否かを判定する。
ステップS21において、1点共通推定手法で撮影画像の撮影位置および撮影姿勢を推定すると判定された場合、制御部29は、位置姿勢算出部25に対して1点共通推定手法での推定を指示し、処理はステップS22へと進む。
ステップS22において、画像処理装置11は1点共通推定手法による位置姿勢推定処理を行って、処理対象の撮影画像の撮影位置および撮影姿勢を算出する。これにより、新たに撮影位置および撮影姿勢が推定された撮影画像の姿勢位置情報とランドマーク情報が記録部24に記録されることになる。
1点共通推定手法による位置姿勢推定処理が行われると、その後、処理はステップS18へと戻り、上述した処理が繰り返し行われる。なお、1点共通推定手法による位置姿勢推定処理の詳細は後述する。
また、ステップS21において、1点共通推定手法で撮影画像の撮影位置および撮影姿勢を推定しないと判定された場合、制御部29は、位置姿勢算出部25に対して零点共通推定手法での推定を指示し、処理はステップS23へと進む。そして、ステップS23において、画像処理装置11は零点共通推定手法による位置姿勢推定処理を行って、処理対象の撮影画像の撮影位置および撮影姿勢を算出する。これにより、新たに撮影位置および撮影姿勢が推定された撮影画像の姿勢位置情報とランドマーク情報が記録部24に記録されることになる。
零点共通推定手法による位置姿勢推定処理が行われると、その後、処理はステップS18へと戻り、上述した処理が繰り返し行われる。なお、零点共通推定手法による位置姿勢推定処理の詳細は後述する。
さらに、ステップS18において、全ての撮影画像の撮影位置および撮影姿勢を推定したと判定された場合、ステップS24において、画像処理部30は、記録部24から撮影画像および位置姿勢情報を読み出して再生画像を生成する。そして画像処理部30は、生成した再生画像を再生制御部31に供給する。
例えば画像処理部30は、制御部29の制御に従って、基準空間上において互いに隣接して並ぶ2つのカメラの撮影画像と位置姿勢情報とに基づいて、それらのカメラの間の位置を視点位置とする撮影画像を補間処理等の画像処理により生成する。
そして、画像処理部30は、各位置のカメラの撮影画像や、新たに生成した各視点位置の撮影画像等が基準空間における位置の順に再生される再生画像を生成する。これにより、例えばあたかも被写体が静止した状態でカメラによりパンニングが行われているかのような再生画像を得ることができる。
なお、再生画像は、複数の各撮影画像の基準空間における撮影位置間の位置関係に基づいて、それらの複数の撮影画像や補間処理等により生成された撮影画像を用いた再生処理を行うもための画像であれば、どのような画像であってもよい。
ステップS25において、再生制御部31は、画像処理部30から供給された再生画像を表示部32に供給して再生させ、再生処理は終了する。
以上のようにして、画像処理装置11は、4点共通推定手法、1点共通推定手法、または零点共通推定手法の何れかの推定手法を選択し、選択した推定手法により各撮影画像の基準空間における撮影位置および撮影姿勢を算出する。
このように4点共通推定手法、1点共通推定手法、または零点共通推定手法の何れかの推定手法を選択して撮影画像の撮影位置および撮影姿勢を推定することで、より堅強に、かつより広範囲な撮影条件で撮影画像の撮影位置および撮影姿勢を推定することができる。特に、1点共通推定手法や零点共通推定手法により撮影位置および撮影姿勢を推定することで、堅強に、かつより広範囲な撮影条件で撮影画像の撮影位置および撮影姿勢を推定することができる。
なお、各撮影画像の撮影位置および撮影姿勢を推定するときに、全撮影画像で同じ推定手法が選択されるようにしてもよいし、撮影画像ごとに推定手法が選択されるようにしてもよい。また、ユーザ等の外部入力により推定手法を選択する他、各推定手法を行うための条件が満たされているか等に基づいて、推定手法が選択されるようにしてもよい。
〈4点共通推定手法による位置姿勢推定処理の説明〉
続いて、図9のステップS20、ステップS22、およびステップS23に対応する処理について説明する。
まず、図10のフローチャートを参照して、図9のステップS20の処理に対応する、4点共通推定手法による位置姿勢推定処理について説明する。
ステップS51において、対応画像選択部43は、基準空間における位置が既知であるランドマークに対応する対応点が4点以上ある、基準空間における撮影位置および撮影姿勢が未知である撮影画像を処理対象の撮影画像として選択する。
すなわち、対応画像選択部43は、記録部24に記録されているランドマーク情報に基づいて、処理対象とする撮影画像を選択する。このとき、処理対象の候補となる撮影画像が複数ある場合には、対応画像選択部43は、基準空間における撮影位置および撮影姿勢が未知であり、基準空間における位置が既知であるランドマークに対応する対応点の数が最も多い撮影画像を処理対象の撮影画像として選択する。これにより、基準空間上における撮影位置および撮影姿勢が未知であり、かつ4点共通推定手法で必要となる条件を満たす撮影画像が処理対象の撮影画像として選択される。
対応画像選択部43は、処理対象の撮影画像上の対応点に対応するランドマークの基準空間上の位置を示すランドマーク情報を記録部24から読み出して、位置姿勢算出部44に供給する。
ステップS52において、位置姿勢算出部44は、対応画像選択部43からのランドマーク情報に基づいて、基準空間における処理対象の撮影画像の撮影位置および撮影姿勢の候補を算出し、その算出結果と、ランドマーク情報とを再投影部45に供給する。
例えば位置姿勢算出部44は、処理対象の撮影画像における、基準空間における位置が既知であるランドマークに対応する対応点のなかから3つの対応点を選択する。そして位置姿勢算出部44は、選択した3つの対応点の撮影画像上の位置と、それらの対応点に対応するランドマークの基準空間上の位置とから、基準空間における処理対象の撮影画像の撮影位置および撮影姿勢の候補を算出する。これにより、処理対象の撮影画像の4つの撮影位置および撮影姿勢が候補として得られる。
ステップS53において、再投影部45は、位置姿勢算出部44から供給された算出結果と、ランドマーク情報とに基づいて、基準空間における撮影画像の撮影位置および撮影姿勢を決定し、その決定結果をランドマーク位置算出部26に供給する。
例えば再投影部45は、処理対象の撮影画像における、基準空間における位置が既知であるランドマークに対応する対応点のなかから、ステップS52の処理で用いられていない対応点を1つ選択する。そして、再投影部45は、処理対象の撮影画像の撮影位置および撮影姿勢の候補ごとに、候補とされた撮影位置および撮影姿勢と、選択された1つの対応点に対応するランドマークの位置とから、そのランドマークを投影面(撮影画像)上に再投影する。
さらに、再投影部45は、ランドマークを再投影したときの投影位置と、実際の対応点の位置との誤差が最小となる候補を、最終的な処理対象の撮影画像の基準空間における撮影位置および撮影姿勢として決定する。
このようにして処理対象の撮影画像の撮影位置および撮影姿勢が推定されると、その後、ステップS54の処理およびステップS55の処理が行われて4点共通推定手法による位置姿勢推定処理は終了し、処理は図9のステップS18へと進む。
なお、これらのステップS54およびステップS55の処理は図9のステップS16およびステップS17の処理と同様であるので、その説明は省略する。
但し、ステップS54およびステップS55では、処理対象の撮影画像から検出された対応点のうち、基準空間における撮影位置および撮影姿勢が既知である他の撮影画像と共通する対応点がある場合には、そのような対応点全てについて、対応点に対応する基準空間上のランドマーク位置が算出される。なお、既にランドマーク位置が算出されている対応点については、ランドマーク位置の算出は行われない。
また、このとき、ランドマーク位置算出部26は、必要に応じて、非線形最適化部27を介して記録部24から、必要となる撮影画像の撮影位置および撮影姿勢を示す位置姿勢情報と、対応点情報とを取得して、ランドマーク位置を算出する。
以上のようにして、画像処理装置11は、4点共通推定手法により処理対象の撮影画像の撮影位置および撮影姿勢を算出する。
〈1点共通推定手法による位置姿勢推定処理の説明〉
次に、図11のフローチャートを参照して、図9のステップS22の処理に対応する、1点共通推定手法による位置姿勢推定処理について説明する。
ステップS81において、対応画像選択部46は、記録部24に記録されている対応点情報および位置姿勢情報に基づいて、撮影位置および撮影姿勢が未知である撮影画像を処理対象の撮影画像として選択するとともに、処理対象の撮影画像との間で最も信頼度の高い、撮影位置および撮影姿勢が既知である撮影画像を選択する。以下、処理対象の撮影画像と最も信頼度の高い、撮影位置および撮影姿勢が既知である撮影画像を参照撮影画像とも称する。例えば図5に示した例で、撮影画像CA33が処理対象の撮影画像とされた場合には、撮影画像CA32が参照撮影画像とされる。
対応画像選択部46は、処理対象の撮影画像と、参照撮影画像との間の対応点の関係を示す対応点情報、および参照撮影画像の位置姿勢情報を記録部24から読み出して、基礎行列算出部47に供給する。なお、処理対象の撮影画像と、参照撮影画像とは、少なくとも互いに対応する5点以上の対応点を有しているものとする。但し、これらの5点以上の各対応点については、それらの対応点に対応するランドマークの位置は既知である必要はない。
さらに、対応画像選択部46は、記録部24に記録されている対応点情報およびランドマーク情報を参照して、処理対象の撮影画像から検出された対応点に対応するランドマークのなかから、基準空間における位置が既知であるランドマークを検索する。そして、対応画像選択部46は、検索の結果得られた1以上のランドマークの基準空間における位置を示すランドマーク情報を記録部24から読み出して基礎行列算出部47に供給する。
このような検索により得られるランドマークは位置が既知であるから、少なくとも基準空間における撮影位置および撮影姿勢が既知である2以上の撮影画像に、そのランドマークに対応する対応点があることになる。したがって、検索により得られるランドマークに対応する対応点が、撮影位置および撮影姿勢が既知である2以上の撮影画像と、処理対象の撮影画像とにあることになる。
例えば図5に示した例では、基準空間における位置が既知であり、かつ対応する対応点が処理対象の撮影画像CA33にあるランドマークの検索結果として、部位P21が得られることになる。部位P21は、基準空間における撮影位置および撮影姿勢が既知である2つの撮影画像CA31および撮影画像CA32で観察されているので、基準空間における部位P21の位置は既知である。
なお、検索結果として得られるランドマークは、処理対象の撮影画像に、そのランドマークに対応する対応点があればよく、必ずしもそのランドマークに対応する対応点が参照撮影画像にある必要はない。
ステップS82において、基礎行列算出部47は、対応画像選択部46から供給された対応点情報に基づいて、すなわち処理対象の撮影画像上の対応点と、参照撮影画像上の対応点との位置関係に基づいて基礎行列を算出する。
基礎行列算出部47は、算出された基礎行列、対応点情報、位置姿勢情報、およびランドマーク情報を相対位置姿勢算出部48に供給する。
ステップS83において、相対位置姿勢算出部48は、基礎行列算出部47から供給された基礎行列に基づいて、参照撮影画像に対する処理対象の撮影画像の相対的な撮影位置および撮影姿勢を算出する。すなわち、参照撮影画像を撮影したときのカメラと、処理対象の撮影画像を撮影したときのカメラとの相対的な位置関係が算出される。例えばステップS83では、図9のステップS15と同様の処理が行われる。この処理により、例えば図5に示した例では、撮影画像CA32に対する撮影画像CA33の相対的な撮影位置および撮影姿勢が算出される。
相対位置姿勢算出部48は、算出された処理対象の撮影画像の相対的な撮影位置および撮影姿勢と、対応点情報、位置姿勢情報、およびランドマーク情報とを位置算出部49に供給する。
ステップS84において、位置算出部49は、相対位置姿勢算出部48から供給された処理対象の撮影画像の相対的な撮影位置および撮影姿勢と、対応点情報、位置姿勢情報、およびランドマーク情報とに基づいて、撮影画像の基準空間における撮影位置を算出する。
すなわち、位置算出部49は、上述した検索の結果として得られた、ランドマーク情報により示される基準空間における位置が既知であるランドマークを、処理対象の撮影画像に対応する投影面上に投影する。そして位置算出部49は、ランドマークの投影位置と、そのランドマークに対応する対応点の投影面上の位置とに基づいて、処理対象の撮影画像の基準空間における撮影位置を算出する。
例えば、ランドマークの投影位置となり得る位置は、位置姿勢情報により示される参照撮影画像の基準空間上の撮影位置および撮影姿勢と、処理対象の撮影画像の相対的な撮影位置および撮影姿勢と、ランドマーク情報により示されるランドマークの位置とから定まる。位置算出部49は、ランドマークの投影位置と、ランドマークに対応する実際の対応点の位置との誤差が最小となるように、基準空間における処理対象の撮影画像の撮影位置を定める。
なお、3以上の撮影画像で共通する対応点が複数ある場合には、最小二乗法やRANSAC(Random Sample Consensus)法などにより、基準空間における処理対象の撮影画像の撮影位置を算出すればよい。
また、基準空間における処理対象の撮影画像の撮影姿勢は、基準空間における参照撮影画像の撮影姿勢と、参照撮影画像に対する処理対象の撮影画像の相対的な撮影姿勢とから算出される。
位置算出部49は、基準空間における処理対象の撮影画像の撮影位置および撮影姿勢の算出結果と対応点情報とをランドマーク位置算出部26に供給する。
処理対象の撮影画像の撮影位置および撮影姿勢が算出されると、その後、ステップS85およびステップS86の処理が行われて1点共通推定手法による位置姿勢推定処理は終了し、処理は図9のステップS18へと進む。
なお、これらのステップS85およびステップS86の処理は図10のステップS54およびステップS55の処理と同様であるので、その説明は省略する。
以上のようにして、画像処理装置11は、1点共通推定手法により処理対象の撮影画像の撮影位置および撮影姿勢を算出する。このように、1点共通推定手法を用いれば、より堅強に、かつより広範囲な撮影条件で撮影画像の撮影位置および撮影姿勢を推定することができる。
なお、以上において説明した1点共通推定手法による位置姿勢推定処理では、基準空間における撮影位置および撮影姿勢が既知である撮影画像が参照撮影画像とされると説明した。しかし、参照撮影画像の撮影位置は、参照撮影画像を選択する時点で既知である必要はなく、基準空間における撮影位置および撮影姿勢を算出することが可能な撮影画像を参照撮影画像とするようにしてもよい。すなわち、参照撮影画像とされる撮影画像は、最終的に、基準空間における処理対象の撮影画像の撮影位置および撮影姿勢を推定することができる撮影画像であればよい。
〈零点共通推定手法による位置姿勢推定処理の説明〉
次に、図12のフローチャートを参照して、図9のステップS23の処理に対応する、零点共通推定手法による位置姿勢推定処理について説明する。
ステップS111において、対応画像選択部50は、記録部24に記録されている対応点情報および位置姿勢情報に基づいて、撮影位置および撮影姿勢が未知である撮影画像を処理対象の撮影画像として選択する。また、ステップS111において、対応画像選択部50は、処理対象の撮影画像との間で最も信頼度の高い、基準空間における撮影位置および撮影姿勢が既知である撮影画像を2つ選択する。以下、処理対象の撮影画像と最も信頼度の高い、撮影位置および撮影姿勢が既知である撮影画像を参照撮影画像とも称する。
例えば図6に示した例で、撮影画像CA33が処理対象の撮影画像とされる場合、撮影画像CA31および撮影画像CA32が参照撮影画像として選択される。
対応画像選択部50は、処理対象の撮影画像と、各参照撮影画像との間の対応点の関係を示す対応点情報、および各参照撮影画像の位置姿勢情報を記録部24から読み出して、基礎行列算出部51に供給する。なお、処理対象の撮影画像と、2つの参照撮影画像のそれぞれとは、少なくとも互いに対応する5点以上の対応点を有しているものとする。
ステップS112において、基礎行列算出部51は、対応画像選択部50から供給された対応点情報に基づいて、1つ目の参照撮影画像と処理対象の撮影画像とについての基礎行列を算出する。
基礎行列算出部51は、算出された基礎行列、対応点情報、および位置姿勢情報を相対位置姿勢算出部52に供給する。
ステップS113において、相対位置姿勢算出部52は、基礎行列算出部51から供給された基礎行列に基づいて、1つ目の参照撮影画像に対する処理対象の撮影画像の相対的な撮影位置および撮影姿勢を算出する。すなわち、1つ目の参照撮影画像を撮影したときのカメラと、処理対象の撮影画像を撮影したときのカメラとの相対的な位置関係が算出される。
相対位置姿勢算出部52は、算出された処理対象の撮影画像の相対的な撮影位置および撮影姿勢と、対応点情報および位置姿勢情報とを位置算出部53に供給する。
なお、これらのステップS112およびステップS113では、図11のステップS82およびステップS83と同様の処理が行われる。
また、1つ目の参照撮影画像に対する処理対象の撮影画像の相対的な撮影位置および撮影姿勢が算出されると、その後、ステップS114およびステップS115の処理が行われるが、これらの処理はステップS112およびステップS113の処理と同様であるので、その説明は省略する。すなわち、ステップS114およびステップS115では、2つ目の参照撮影画像に対する処理対象の撮影画像の相対的な撮影位置および撮影姿勢が算出される。
ステップS116において、位置算出部53は、相対位置姿勢算出部52から供給された相対的な撮影位置および撮影姿勢の算出結果と、位置姿勢情報とに基づいて処理対象の撮影画像の基準空間における撮影位置を算出する。
例えば位置算出部53は、1つ目の参照撮影画像に対する処理対象の撮影画像の相対的な撮影位置と、1つ目の参照撮影画像の位置姿勢情報とから、基準空間における1つ目の参照撮影画像の撮影位置と、処理対象の撮影画像の撮影位置とを結ぶ直線を1つ目の検出直線として算出する。同様にして、位置算出部53は、2つ目の参照撮影画像についても基準空間における2つ目の参照撮影画像の撮影位置と、処理対象の撮影画像の撮影位置とを結ぶ直線を2つ目の検出直線として算出する。これらの2つの検出直線は、例えば図6に示した直線L11と直線L12に対応する。
そして、位置算出部53は、1つ目の検出直線と2つ目の検出直線との基準空間上における交点位置を算出し、その交点位置を基準空間における処理対象の撮影画像の撮影位置とする。なお、より詳細には実際に検出直線が算出される必要はなく、演算により基準空間における2つの検出直線の交点位置が算出されればよい。
また、1つ目の検出直線と2つ目の検出直線とが交点をもたないときには、それらの検出直線に最も近い位置、つまりそれらの直線からの距離が最も短い位置を最小二乗法で算出し、その算出結果として得られた位置が、基準空間における処理対象の撮影画像の撮影位置とされる。
さらに、ここでは参照撮影画像が2つである場合について説明したが、参照撮影画像は3以上であってもよい。そのような場合には、各参照撮影画像ごとに検出直線が算出され、それらの検出直線に基づいて、最小二乗法やRANSAC法などにより、処理対象の撮影画像の撮影位置を算出すればよい。
位置算出部53は、このようにして得られた処理対象の撮影画像の基準空間上の撮影位置、各参照撮影画像について算出された処理対象の撮影画像の相対的な撮影姿勢、対応点情報、および位置姿勢情報を姿勢算出部54に供給する。
ステップS117において、姿勢算出部54は、位置算出部53から供給された処理対象の撮影画像の相対的な撮影姿勢、および参照撮影画像の位置姿勢情報に基づいて、基準空間における処理対象の撮影画像の撮影姿勢を算出する。
例えば姿勢算出部54は、1つ目の参照撮影画像の位置姿勢情報と、1つ目の参照撮影画像に対する処理対象の撮影画像の相対的な撮影姿勢とから、基準空間における処理対象の撮影画像の撮影姿勢を算出する。
同様にして、姿勢算出部54は、2つ目の参照撮影画像の位置姿勢情報と、2つ目の参照撮影画像に対する処理対象の撮影画像の相対的な撮影姿勢とから、基準空間における処理対象の撮影画像の撮影姿勢を算出する。
そして、姿勢算出部54は、処理対象の撮影画像について算出された、基準空間における2つの撮影姿勢の少なくとも何れか一方を用いて、処理対象の撮影画像の最終的な、基準空間における撮影姿勢を算出する。例えば2つの参照撮影画像のうち、より処理対象の撮影画像の撮影位置に近い位置に撮影位置がある参照撮影画像について算出した、処理対象の撮影画像の撮影姿勢が、最終的な撮影姿勢とされるようにしてもよい。これは、処理対象の撮影画像の撮影位置に撮影位置が近い撮影画像ほど、より多くの対応点があるはずであり、より高精度に撮影画像の撮影姿勢を算出することができるからである。
また、例えば2つの参照撮影画像について算出した、基準空間における処理対象の撮影画像の撮影姿勢の平均値や重み付け加算値などが処理対象の撮影画像の最終的な、基準空間における撮影姿勢とされるようにしてもよい。
このようにして処理対象の撮影画像の撮影位置および撮影姿勢が算出されると、姿勢算出部54は、基準空間における処理対象の撮影画像の撮影位置および撮影姿勢と、対応点情報とをランドマーク位置算出部26に供給する。
また、基準空間における処理対象の撮影画像の撮影位置および撮影姿勢が算出されると、その後、ステップS118およびステップS119の処理が行われて零点共通推定手法による位置姿勢推定処理は終了し、処理は図9のステップS18へと進む。
なお、これらのステップS118およびステップS119の処理は図10のステップS54およびステップS55の処理と同様であるので、その説明は省略する。
以上のようにして、画像処理装置11は、零点共通推定手法により処理対象の撮影画像の撮影位置および撮影姿勢を算出する。このように、零点共通推定手法を用いれば、より堅強に、かつより広範囲な撮影条件で撮影画像の撮影位置および撮影姿勢を推定することができる。
なお、以上において説明した零点共通推定手法による位置姿勢推定処理では、基準空間における撮影位置および撮影姿勢が既知である2つの撮影画像が参照撮影画像とされると説明した。しかし、参照撮影画像の撮影位置は、参照撮影画像を選択する時点で既知である必要はなく、基準空間における撮影位置および撮影姿勢を算出することが可能な撮影画像を参照撮影画像とするようにしてもよい。すなわち、参照撮影画像とされる撮影画像は、最終的に、基準空間における処理対象の撮影画像の撮影位置および撮影姿勢を推定することができる撮影画像であればよい。
〈第2の実施の形態〉
〈再生処理の説明〉
なお、以上においては、4点共通推定手法、1点共通推定手法、または零点共通推定手法の何れか1つの推定手法により処理対象の撮影画像の撮影位置および撮影姿勢が推定される例について説明した。しかし、例えばそれらの3つの推定手法で処理対象の撮影画像の撮影位置および撮影姿勢が算出され、それらの算出結果のなかから、最も確からしいものを最終的な算出結果として採用するようにしてもよい。
そのような場合、例えば図13に示す再生処理が行われる。以下、図13のフローチャートを参照して、画像処理装置11による再生処理について説明する。
なお、ステップS141乃至ステップS148の処理は、図9におけるステップS11乃至ステップS18の処理と同様であるので、その説明は省略する。
ステップS148において、まだ全ての撮影画像の撮影位置および撮影姿勢を推定していないと判定された場合、ステップS149において、画像処理装置11は4点共通推定手法による位置姿勢推定処理を行う。なお、このステップS149の処理は、図9のステップS20の処理、つまり図10を参照して説明した処理と同様であるので、その説明は省略する。
但し、ステップS149の時点では、非線形最適化部27は、4点共通推定手法により推定された位置姿勢情報およびランドマーク情報を記録部24に供給せずに保持している。
また、ステップS150において、画像処理装置11は1点共通推定手法による位置姿勢推定処理を行う。なお、このステップS150の処理は、図9のステップS22の処理、つまり図11を参照して説明した処理と同様であるので、その説明は省略する。
但し、ステップS150の時点では、非線形最適化部27は、1点共通推定手法により推定された位置姿勢情報およびランドマーク情報を記録部24に供給せずに保持している。
ステップS151において、画像処理装置11は零点共通推定手法による位置姿勢推定処理を行う。なお、このステップS151の処理は、図9のステップS23の処理、つまり図12を参照して説明した処理と同様であるので、その説明は省略する。
但し、ステップS151の時点では、非線形最適化部27は、零点共通推定手法により推定された位置姿勢情報およびランドマーク情報を記録部24に供給せずに保持している。
また、ステップS149乃至ステップS151では、同一の撮影画像が処理対象の撮影画像として選択され、処理対象の撮影画像の撮影位置および撮影姿勢が算出される。
ステップS152において、非線形最適化部27はステップS149乃至ステップS151の各処理で得られた処理対象の撮影画像の撮影位置および撮影姿勢とランドマーク位置とに基づいて、再投影誤差が最小となる撮影位置および撮影姿勢を、基準空間における処理対象の撮影画像の最終的な撮影位置および撮影姿勢として採用する。
すなわち、非線形最適化部27は各推定手法で得られたランドマークの位置と、処理対象の撮影画像の撮影位置および撮影姿勢とに基づいて、ランドマークを投影面上に投影し、その投影位置と、ランドマークに対応する撮影画像の対応点の投影面における位置との誤差を算出する。
非線形最適化部27は、ランドマークごとに算出した誤差の平均値等を評価値として算出し、各推定手法のうちの最も評価値が小さいもの、つまり最も誤差が小さい推定手法を選択する。非線形最適化部27は、このようにして選択した推定手法により得られた処理対象の撮影画像の撮影位置および撮影姿勢を、最終的な撮影位置および撮影姿勢として採用する。これにより、各推定手法のうち、最も高精度に撮影位置および撮影姿勢が推定されたものが採用されたことになる。
また、非線形最適化部27は、最終的に得られた基準空間における処理対象の撮影画像の撮影位置および撮影姿勢を示す位置姿勢情報と、その位置姿勢情報とともに算出されたランドマーク情報とを記録部24に供給し、記録させる。
非線形最適化部27により処理対象の撮影画像の最終的な撮影位置および撮影姿勢が推定されると、その後、処理はステップS148に戻り、上述した処理が繰り返し行われる。
また、ステップS148において、全ての撮影画像の撮影位置および撮影姿勢を推定したと判定されると、その後、ステップS153およびステップS154の処理が行われて再生処理は終了するが、これらの処理は図9のステップS24およびステップS25の処理と同様であるので、その説明は省略する。
以上のようにして、画像処理装置11は、各推定手法により処理対象の撮影画像の撮影位置および撮影姿勢を算出し、それらの算出結果から最も算出精度が高いものを最終的な撮影位置および撮影姿勢として採用する。これにより、より堅強かつ高精度に、またより広範囲な撮影条件で処理対象の撮影画像の撮影位置および撮影姿勢を推定することができるようになる。
なお、ここでは3つの推定手法で撮影画像の撮影位置および撮影姿勢を算出し、最も算出精度の高いものを選択する例について説明したが、2以上の異なる推定手法で撮影画像の撮影位置および撮影姿勢を算出し、最も算出精度の高いものを選択するようにしてもよい。
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図14は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、入力部506、出力部507、記録部508、通信部509、及びドライブ510が接続されている。
入力部506は、キーボード、マウス、マイクロフォン、撮像素子などよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記録部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインターフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体511を駆動する。
以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブル記録媒体511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、本技術は、以下の構成とすることも可能である。
(1)
少なくとも第1の撮影位置および第1の撮影姿勢で撮影された第1の撮影画像と、第2の撮影位置および第2の撮影姿勢で撮影された第2の撮影画像と、第3の撮影位置および第3の撮影姿勢で撮影された第3の撮影画像とを含む複数の撮影画像について、撮影位置および撮影姿勢を推定する情報処理方法であって、
基準空間において前記第1の撮影位置および前記第1の撮影姿勢と、前記第2の撮影位置および前記第2の撮影姿勢とを推定可能な場合に、
前記第2の撮影画像および前記第3の撮影画像にそれぞれ含まれ、かつ共通する画像中の対応点に基づいて、前記第2の撮影位置と前記第3の撮影位置との間の相対的な位置関係を推定し、
前記第2の撮影位置と前記第3の撮影位置との間の相対的な位置関係と、前記第1の撮影画像および前記第3の撮影画像にそれぞれ含まれ、かつ共通する画像中の対応点とに基づいて、前記基準空間における前記第1の撮影位置および前記第1の撮影姿勢、前記第2の撮影位置および前記第2の撮影姿勢、並びに前記第3の撮影位置および前記第3の撮影姿勢を推定する
ステップを含む情報処理方法。
(2)
前記第2の撮影画像と前記第3の撮影画像とは、少なくとも5以上の共通する前記対応点を有する
(1)に記載の情報処理方法。
(3)
前記第1の撮影画像および前記第3の撮影画像にそれぞれ含まれ、かつ共通する画像中の前記対応点に基づいて、前記第1の撮影位置と前記第3の撮影位置との間の相対的な位置関係をさらに推定し、
前記第2の撮影位置と前記第3の撮影位置との間の相対的な位置関係と、前記第1の撮影位置と前記第3の撮影位置との間の相対的な位置関係とに基づいて、前記基準空間における前記第1の撮影位置および前記第1の撮影姿勢、前記第2の撮影位置および前記第2の撮影姿勢、並びに前記第3の撮影位置および前記第3の撮影姿勢を推定する
(1)または(2)に記載の情報処理方法。
(4)
前記第1の撮影画像と前記第3の撮影画像とは、少なくとも5以上の共通する前記対応点を有する
(3)に記載の情報処理方法。
(5)
前記第2の撮影位置と前記第3の撮影位置との間の相対的な位置関係により定まる前記第2の撮影位置および前記第3の撮影位置を結ぶ第1の直線と、前記第1の撮影位置と前記第3の撮影位置との間の相対的な位置関係により定まる前記第1の撮影位置および前記第3の撮影位置を結ぶ第2の直線との交点位置、または前記第1の直線および前記第2の直線から最も近い位置を算出することで、前記基準空間における前記第3の撮影位置を推定する
(3)または(4)に記載の情報処理方法。
(6)
前記第2の撮影画像および前記第3の撮影画像にそれぞれ含まれる共通する前記対応点に基づく前記第3の撮影姿勢の推定結果と、前記第1の撮影画像および前記第3の撮影画像にそれぞれ含まれる共通する前記対応点に基づく前記第3の撮影姿勢の推定結果との少なくとも何れかに基づいて、前記基準空間における前記第3の撮影姿勢を推定する
(3)乃至(5)の何れか一項に記載の情報処理方法。
(7)
前記第2の撮影位置と前記第3の撮影位置との間の相対的な位置関係と、前記第1の撮影画像、前記第2の撮影画像、および前記第3の撮影画像にそれぞれ含まれ、かつ共通する画像中の対応点とに基づいて、前記基準空間における前記第3の撮影位置を推定する
(1)または(2)に記載の情報処理方法。
(8)
前記第1の撮影画像、前記第2の撮影画像、および前記第3の撮影画像は互いに異なる撮影部により撮影された画像である
(1)乃至(7)の何れか一項に記載の情報処理方法。
(9)
前記第1の撮影画像、前記第2の撮影画像、および前記第3の撮影画像は同一の撮影部により撮影された画像である
(1)乃至(7)の何れか一項に記載の情報処理方法。
(10)
前記基準空間における前記第3の撮影位置および前記第3の撮影姿勢と、前記第3の撮影画像とに基づいて所定の画像処理をさらに行う
(1)乃至(9)の何れか一項に記載の情報処理方法。
(11)
前記第1の撮影位置、前記第2の撮影位置、および前記第3の撮影位置の間の位置関係に基づいて、前記第1の撮影画像、前記第2の撮影画像、および前記第3の撮影画像を用いた再生処理をさらに行う
(1)乃至(9)の何れか一項に記載の情報処理方法。
(12)
少なくとも第1の撮影位置および第1の撮影姿勢で撮影された第1の撮影画像と、第2の撮影位置および第2の撮影姿勢で撮影された第2の撮影画像と、第3の撮影位置および第3の撮影姿勢で撮影された第3の撮影画像とを含む複数の撮影画像について、撮影位置および撮影姿勢を推定する情報処理装置であって、
基準空間において前記第1の撮影位置および前記第1の撮影姿勢と、前記第2の撮影位置および前記第2の撮影姿勢とを推定可能な場合に、
前記第2の撮影画像および前記第3の撮影画像にそれぞれ含まれ、かつ共通する画像中の対応点に基づいて、前記第2の撮影位置と前記第3の撮影位置との間の相対的な位置関係を推定する相対位置関係推定部と、
前記第2の撮影位置と前記第3の撮影位置との間の相対的な位置関係と、前記第1の撮影画像および前記第3の撮影画像にそれぞれ含まれ、かつ共通する画像中の対応点とに基づいて、前記基準空間における前記第1の撮影位置および前記第1の撮影姿勢、前記第2の撮影位置および前記第2の撮影姿勢、並びに前記第3の撮影位置および前記第3の撮影姿勢を推定する位置姿勢推定部と
を備える情報処理装置。
(13)
少なくとも第1の撮影位置および第1の撮影姿勢で撮影された第1の撮影画像と、第2の撮影位置および第2の撮影姿勢で撮影された第2の撮影画像と、第3の撮影位置および第3の撮影姿勢で撮影された第3の撮影画像とを含む複数の撮影画像について、撮影位置および撮影姿勢を推定する画像処理装置を制御するコンピュータに、
基準空間において前記第1の撮影位置および前記第1の撮影姿勢と、前記第2の撮影位置および前記第2の撮影姿勢とを推定可能な場合に、
前記第2の撮影画像および前記第3の撮影画像にそれぞれ含まれ、かつ共通する画像中の対応点に基づいて、前記第2の撮影位置と前記第3の撮影位置との間の相対的な位置関係を推定し、
前記第2の撮影位置と前記第3の撮影位置との間の相対的な位置関係と、前記第1の撮影画像および前記第3の撮影画像にそれぞれ含まれ、かつ共通する画像中の対応点とに基づいて、前記基準空間における前記第1の撮影位置および前記第1の撮影姿勢、前記第2の撮影位置および前記第2の撮影姿勢、並びに前記第3の撮影位置および前記第3の撮影姿勢を推定する
ステップを含む処理を実行させるプログラム。