カメラ運動情報取得装置、カメラ運動情報取得方法および記録媒体
【課題】ビデオカメラ等の時系列画像入力装置により撮影された、ロングシーケンス画像列の全ての画像について、その画像を撮影した際のカメラの三次元位置及び姿勢を自動的に求めることができるカメラ運動情報取得装置を提供する。
【解決手段】移動する画像入力装置により観測された画像列を取得する移動観測画像列取得手段11と、前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する移動観測画像列の分割手段12と、前記サブ画像列間で異なる座標系を共通の世界座標系に統合する座標系の統合手段13と、前記共通の世界座標系でのカメラ運動を再推定するカメラ運動情報の再推定手段14とを備える。
【解決手段】移動する画像入力装置により観測された画像列を取得する移動観測画像列取得手段11と、前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する移動観測画像列の分割手段12と、前記サブ画像列間で異なる座標系を共通の世界座標系に統合する座標系の統合手段13と、前記共通の世界座標系でのカメラ運動を再推定するカメラ運動情報の再推定手段14とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオカメラ等の時系列画像入力装置によって得られた移動観測画像列の、各画像を撮影した際のカメラの三次元位置及び姿勢を表す、カメラ運動情報を取得する方法および装置に関するものである。
【背景技術】
【0002】
移動する画像入力装置により観測された画像列、(以下、移動観測画像列と呼ぶ)からのカメラ運動情報の推定は、三次元モデル復元、物体認識、ロボットナビゲーション、複合現実感など、様々な分野への応用が可能である。代表的な手法に因子分解法がある。移動観測画像列の任意の画像上で発生させた特徴点を移動観測画像列の他の全ての画像上で対応付けを行って(以下、特徴点追跡と呼ぶ)、線形解法によって撮影対象の形状とカメラの運動情報を同時に復元することができる。例えば、下記非特許文献1では、透視投影カメラモデルで頑健にカメラの運動情報を取得している。
【0003】
尚、本発明に関連する、バンドル調整については下記非特許文献2に、クォータニオンについては下記非特許文献3に各々記載されている。
【非特許文献1】S.Christy and R.Horaud“Euclidean shape and motion from multiple perspective views by affine iterations”IEEE Transactions on Pattern Analysis and Machine Intelligence,18(11):1098−1104,1996.
【非特許文献2】B.Triggs,P.McLauchlan,R.Hartley and A.Fitzgibbon.Bundle Adjustment−A modern synthesis.Vision Algorithms’99,LNCS 1883,pp.298−372,2000.
【非特許文献3】B.K.P.Horn.Closed−form solution of absolute orientation using unit quaternions.Journal of the Optical Society of America A,vol.〜4,pp.〜629−−642,1987.
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら因子分解法では移動観測画像列の全ての画像で特徴点を対応付けなくてはならない。移動距離が長いシーケンスの移動観測画像列(以下、ロングシーケンス画像列と呼ぶ)では、特徴点のフレームアウトが発生するために、カメラ運動を推定することが不可能となってしまう。
【0005】
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、その目的は、ビデオカメラ等の時系列画像入力装置により撮影された、ロングシーケンス画像列の全ての画像について、その画像を撮影した際のカメラの三次元位置及び姿勢を自動的に求めることができるカメラ運動情報取得装置、カメラ運動情報取得方法および記録媒体を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために本発明は、ビデオカメラなどの時系列画像入力装置を用いて、移動観測画像列を取得し、これを処理することで、移動観測画像列の各画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得する方法および装置であって、移動観測画像列を取得する手段と、前記取得した移動観測画像列を複数のサブ画像列に分割する手段と、前記分割された各サブ画像列を用いて独立にカメラ運動情報を推定する手段と、前記推定された各サブ画像列のカメラ運動情報を用いて、各サブ画像列で独立に推定されたカメラ運動情報を共通の世界座標系に統合する手段と、前記統合されたカメラ運動情報を全移動観測画像列で最適化を行って、統合されたカメラ運動情報を再推定する手段を備えることを特徴とする。
【0007】
すなわち、請求項1に記載のカメラ運動情報取得装置は、移動する画像入力装置により観測された画像列から、画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得するカメラ運動情報取得装置であって、移動する画像入力装置により観測された画像列を取得する移動観測画像列取得手段と、前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する移動観測画像列の分割手段と、前記サブ画像列間で異なる座標系を共通の世界座標系に統合する座標系の統合手段と、前記共通の世界座標系でのカメラ運動を再推定するカメラ運動情報の再推定手段とを備えることを特徴としている。
【0008】
また請求項2に記載のカメラ運動情報取得装置は、請求項1に記載のカメラ運動情報取得装置において、前記移動観測画像列の分割手段は、特徴点追跡の結果を利用してサブ画像列を決定し、前記特徴点追跡結果を用いて計測行列を作成し、因子分解法によりカメラ運動を推定することを特徴としている。
【0009】
また請求項3に記載のカメラ運動情報取得装置は、請求項1に記載のカメラ運動情報取得装置において、前記移動観測画像列の分割手段は、特徴点追跡の結果を利用してサブ画像列を決定し、前記特徴点追跡結果を用いて逐次的に射影復元を行ってカメラ運動を推定することを特徴としている。
【0010】
また請求項4に記載のカメラ運動情報取得装置は、請求項1乃至3に記載のカメラ運動情報取得装置において、前記座標系の統合手段は、サブ画像列間の重複フレームを利用してステレオ処理により三次元対応点テーブルを作成し、前記三次元対応点テーブルを利用してサブ画像列間の座標変換行列を計算し、座標系を統合することを特徴としている。
【0011】
また請求項5に記載のカメラ運動情報取得方法は、移動する画像入力装置により観測された画像列から、画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得するカメラ運動情報取得方法であって、移動観測画像列取得手段が、移動する画像入力装置により観測された画像列を取得するステップと、移動観測画像列の分割手段が、前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する分割ステップと、座標系の統合手段が、前記サブ画像列間で異なる座標系を共通の世界座標系に統合する統合ステップと、カメラ運動情報の再推定手段が、前記共通の世界座標系でのカメラ運動を再推定するステップとを備えることを特徴としている。
【0012】
また請求項6に記載のカメラ運動情報取得方法は、請求項5に記載のカメラ運動情報取得方法において、前記分割ステップは、特徴点追跡の結果を利用してサブ画像列を決定するステップと、前記特徴点追跡結果を用いて計測行列を作成し、因子分解法によりカメラ運動を推定するステップと、推定されたカメラ運動を最適化するステップと、移動観測画像列の分割が終了か否かを判定するステップと、重複するフレーム数を決定するステップとを有することを特徴としている。
【0013】
また請求項7に記載のカメラ運動情報取得方法は、請求項5に記載のカメラ運動情報取得方法において、前記分割ステップは、特徴点追跡の結果を利用してサブ画像列を決定するステップと、前記特徴点追跡結果を用いて逐次的に射影復元を行ってカメラ運動を推定するステップと、推定されたカメラ運動を最適化するステップと、移動観測画像列の分割が終了か否かを判定するステップと、重複するフレーム数を決定するステップとを有することを特徴としている。
【0014】
また請求項8に記載のカメラ運動情報取得方法は、請求項5乃至7に記載のカメラ運動情報取得方法において、前記統合ステップは、サブ画像列間の重複フレームを利用してステレオ処理により三次元対応点テーブルを作成するステップと、前記三次元対応点テーブルを利用してサブ画像列間の座標変換行列を計算し、座標系を統合するステップとを有することを特徴としている。
【0015】
また請求項9に記載の記録媒体は、請求項5乃至8のいずれかに記載のカメラ運動情報取得方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0016】
上記構成において、分割されたサブ画像列には重複部分が存在し、この重複部分を利用して3次元対応点の関係が決まる。このため1つのローカル座標系を基準とした世界座標系に変換することで、カメラ運動情報を得ることができる。
【発明の効果】
【0017】
本発明によれば、従来不可能であった、特徴点追跡が全フレームで不可能なロングシーケンス画像列から座標系の統一されたカメラ運動情報を取得することができる。このようにして得られたカメラ運動情報により、ステレオ法、シルエット法など目的にあった様々な画像からの三次元復元方法を用いて広域の三次元モデルを安定的に、しかも精度良く復元することが可能となる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。図1は、本発明の実施形態例によるカメラ運動情報取得装置の構成を示している。本発明のカメラ運動情報取得装置は、移動観測画像列取得手段11と、移動観測画像列の分割手段12と、座標系の統合手段13と、カメラ運動情報の再推定手段14で構成される。
【0019】
移動観測画像列取得手段11は、画像入力装置を移動させながら時系列画像データを取得する手段であり、一例として、手持ちカメラによる歩行撮影や車に取り付けたカメラなどが考えられる。
【0020】
移動観測画像列の分割手段12は、前記移動観測画像列を複数のサブ画像列に、各サブ画像列間で複数の画像を重複させながら分割すると同時に、各サブ画像列を用いて、各サブ画像列に固有の座標系で表されたカメラ運動を推定する手段である。
【0021】
座標系の統合手段13は、隣接するサブ画像列の重複画像部分を用いて、各サブ画像列で推定されたカメラ運動情報を共通の世界座標系に統合する手段である。
【0022】
カメラ運動情報の再推定手段14は、前記世界座標系に統一されたカメラ運動情報を移動観測画像列の全ての画像を用いて最適化を行い、カメラ運動情報を再推定する手段である。
【0023】
次に本発明の実施形態例を詳細に説明する。本発明の目的は、移動するカメラ等の画像入力装置によって観測された移動観測画像列から、移動観測画像列を構成する各フレーム撮影時のカメラの三次元位置および姿勢を取得することである。
【0024】
本実施形態例では、図2のように移動するビデオカメラにより時系列画像列を撮影して、各画像撮影時のカメラの三次元位置と姿勢を推定する例を説明する。
【0025】
本実施形態例において使用するビデオカメラのカメラ内部パラメータは事前に校正を行っておく。
【0026】
図3は本実施形態例の動作を示すフローチャートである。処理が開始されると、移動観測画像列取得手段11により、カメラを移動させながら観測した移動観測画像列Nを取得する(ステップS201)。
【0027】
次に移動観測画像列の分割手段12により、図4のように移動観測画像列Nを隣接サブ画像列間で重複させながらK個のサブ画像列に分割する(ステップS202)。この分割処理のステップS202は、図5に示すフローチャートに沿って実行される。
【0028】
図5において、まずサブ画像列の通し番号を表すnを、n=1として処理が開始される。
【0029】
次にサブ画像列#nを構成する画像の決定を行う(ステップS301)。
【0030】
各サブ画像列を構成する画像数は安定したカメラ運動推定という観点ではより多くの画像数が必要であるが、あまりに画像数が多いと特徴点の消失により、特徴点追跡を行うことが出来ない。そこで各サブ画像列の画像数は安定的に特徴点追跡が行える画像数として決定することが望ましい。例えば、以下の手順で行うことが可能である。
【0031】
特徴点追跡とは画像列中の任意のフレームで発生させた特徴点の画像座標値とその他の全ての画像で対応する画像座標値を求めることである。特徴点追跡はある画像で検出した特徴点を時系列方向及び時系列逆方向の双方向で追跡を行う。
【0032】
まず特徴点を検出する画像を選択するために、時系列上で二番目の画像から順に選択をしていき、それぞれの画像で特徴点を検出し、時系列逆方向にサブ画像列最初の画像まで特徴点の追跡を行う。検出した特徴点がある閾値以上追跡に失敗した場合、新たな画像を選択するのを中止し、その前に選択された画像を特徴点を検出する画像として採用する。
【0033】
次にその同じ特徴点を時系列方向に追跡を行っていき、検出した特徴点がある閾値以上追跡に失敗した画像の時系列一つ手前の画像をサブ画像列最後の画像として決定する。
【0034】
このようにすることでサブ画像列は安定した特徴点追跡を可能な最大の画像数として決定することが出来る。
【0035】
次に決定されたサブ画像列の各画像を撮影したときのカメラ運動、すなわちサブ画像列の第iフレームにおけるカメラの三次元位置(xi,yi,zi)と姿勢(φi,θi,γi)を求める(ステップS302)。
【0036】
以下、本実施例では、カメラ運動の推定に因子分解法を用いる例で説明を行うが、逐次射影復元などを用いても実現可能であることは自明である。
【0037】
ステップS301で行った特徴点追跡の結果を用いて因子分解法を適用する。まず特徴点を追跡した結果から計測行列を作成する。計測行列とはサブ画像列のフレーム数をF、特徴点数をNとすると以下の式(1)で表されるF行N列の行列となる。
【0038】
【数1】
【0039】
ただし、(uij,vij)はiフレーム目のj番目の特徴点の画像座標値を表す。
【0040】
因子分解法は式(1)で表される計測行列から、例えば特異値分解などにより、各特徴点の三次元位置とカメラ運動(図4で示される各フレーム毎の三次元位置(xi,yi,zi)、姿勢(φi,θi,γi))を求める方法であり、例えば非特許文献1の方法を用いれば透視投影モデルで頑健にカメラ運動を推定することが出来る。
【0041】
次に推定されたカメラ運動の最適化を行う(ステップS303)。
【0042】
ステップS302で推定されたカメラ運動及び特徴点の三次元位置を初期解として、最適化を行うことで、より精度の良いカメラ運動を得ることが出来る。これは例えばよく知られたバンドル調整(非特許文献2)によって実現可能である。
【0043】
次に分割が終了か否かの判断を行う(ステップS304)。もし現在処理しているサブ画像列が移動観測画像列Nの最終フレームに到達していれば、これ以上の分割は必要ないので、処理を終了とする。逆にまだ処理されていないフレームが残されている場合には、ステップS305の処理に進む。
【0044】
ステップS305では、隣接サブ画像列間の重複フレーム数を決定する。この重複フレームは各サブ画像列で推定された座標系の異なるカメラ運動を統合するのに利用する。後述するが、この統合にはステレオ処理により復元した三次元点群を利用する。そのため重複フレームを利用したステレオ処理によって三次元点群が精度良く復元されることが重要である。
【0045】
ステレオ処理を利用した三次元点群の精度は利用する画像ペアを撮影した際のカメラ光学中心の三次元位置を結んだ距離、すなわちベースラインが長いほど復元される精度が良い。しかしながらベースラインが長すぎるとステレオ処理自体が困難になる。そこでこのベースラインの長さを利用して、重複フレーム数を決定する。
【0046】
ステップS303で求めたカメラ運動の最適化の結果を利用する。サブ画像列の最終フレームを撮影したときのカメラの三次元位置を(Xf,Yf,Zf)とする。時系列で最終フレームの前のフレームより逆時系列順にフレームを選択し、選択されたフレームを撮影したときのカメラの三次元位置(Xs,Ys,Zs)を用いて、ベースライン距離Bを以下の式(2)にて計算する。
【0047】
【数2】
【0048】
例えば、ある閾値Tを用意しておき、BがTを初めて超えた際に、最終フレームからそのフレームまでを重複するフレームとして決定する。閾値Tは経験的に任意の値として決定することが出来る。
【0049】
重複フレームが決定したら次のサブ画像列を決定するためにサブ画像列番号nをn=n+1としてステップS301の処理に戻る。以上述べた処理を繰り返すことで移動観測画像列Nを分割する。
【0050】
以上のように移動観測画像列の分割処理の終了後、座標系の統合手段13により、サブ画像列間の座標変換行列を計算し、座標系を共通の世界座標系に統合する。
【0051】
まず重複フレーム部分を用いて、同一の三次元点を隣接サブ画像列間に由来している二つの座標系で表した対応関係を表す、三次元対応点テーブルを作成する(ステップS203)。
【0052】
本実施例では、この三次元対応点テーブルを作成するのにステレオ処理を用いる。ステレオ処理に用いる基準画像と比較画像は重複フレームの中から任意に選ぶことが可能である。例えば、重複フレーム部分の最初のフレームと最終フレームをそれぞれ基準画像、比較画像とすることができる。ステレオ処理を行うことで、この基準画像の各画素(u,v)と比較画像の各画素(u’,v’)の対応付けを行って、対応点データを得る。
【0053】
次に前記対応点データを用いて三次元点の復元を行う。三次元点の復元は一つの対応点について、重複フレームを含む隣接する二つのサブ画像列から推定された二つのカメラ運動データを用いて計算を行う。つまり基準画像の各画素(u,v)について二つの座標系で表された三次元点が計算されることになる。
【0054】
三次元点復元は、基準画像の投影行列をP、比較画像の投影行列P’とすると、投影行列Pは3行4列の行列で、推定されたカメラ運動(三次元位置(x,y,z)、姿勢(φ,θ,γ))とカメラ内部行列Aから以下の式(3)のように計算できる。すなわち、
【0055】
【数3】
【0056】
であり、A行列の各要素はカメラ校正により既知である。
【0057】
式(3)により、基準画像の投影行列Pおよび比較画像の投影行列P’をまず計算する。
【0058】
次に対応点データと投影行列PおよびP’を使って三次元点を復元する。基準画像の画像座標(u,v)と比較画像の画像座標(u’,v’)が対応しているとすると、三次元点M=(X,Y,Z)は以下の式(4)により復元される。すなわち、
【0059】
【数4】
【0060】
であり、pijおよびp’ijはPおよびP’のi行j列の要素を表し、B+はB行列の疑似逆行列である。
【0061】
これを二つのカメラ運動を用いることで、二つの座標系で表された三次元点を得ることが出来る。これを基準画像の全画素について行うことで、図6のような三次元対応点テーブルを作成することが出来る。
【0062】
以上の処理を全ての隣接サブ画像列間の重複フレームで行う。次に得られた三次元対応点テーブルを用いて、統合されたカメラ運動を再推定するために、ステップS201で因子分解法により得た特徴点の三次元点と移動観測画像列の全てのフレームの投影行列を共通の座標系に統合する(ステップS204)。
【0063】
共通の世界座標系は任意のサブ画像列のローカル座標系とすることができる。例えば、時系列上で中央のサブ画像列のローカル座標系を共通の世界座標系とすることができる。以下では図7のように、時系列上で中央のサブ画像列のローカル座標系を共通の世界座標系とし、このサブ画像列の番号をW、Tiは座標変換行列で、i<WならTiはサブ画像列番号iからサブ画像列番号i+1の座標系へ変換する行列であり、i≧WならTiはサブ画像列番号i+1からサブ画像列番号iの座標系へ変換する行列である。
【0064】
このような行列TiはステップS203で求めた三次元対応点テーブルを用いて、例えば非特許文献3に記載のクオータニオンを利用した方法で計算することが出来る。全ての隣接サブ画像列間において行列Tiの計算を行う。
【0065】
次に求めたTiを用いて共通の世界座標系での各サブ画像列で因子分解法により獲得した特徴点の三次元点を世界座標系に変換する。これは以下の式(5)を用いて計算できる。
【0066】
【数5】
【0067】
ただし、(Xi,Yi,Zi)はサブ画像列番号iより因子分解法により計算された特徴点の三次元座標値、(Xw,Yw,Zw)は(Xi,Yi,Zi)を世界座標系にて表した三次元座標値である。この変換を全てのサブ画像列において因子分解法によって得られた三次元点全てに対し行う。
また同様にして世界座標系で表された投影行列の計算も行う。これは以下の式(6)で計算することができる。
【0068】
【数6】
【0069】
ただし、Piはサブ画像列番号iの各画像の投影行列を表し、Pwは変換されて世界座標系で表された投影行列を表す。この変換を各サブ画像列の全ての画像の投影行列に対して行う。以上の処理にて各サブ画像列毎のカメラ運動を推定するのに利用した特徴点の三次元点と移動観測画像列の全ての画像の投影行列を共通の世界座標系へと変換することができる。
【0070】
最後に前記得られた共通の世界座標系で表された特徴点の三次元座標値を用いてカメラ運動情報の再推定手段14により世界座標系で統一されたカメラ運動の再推定を行う(ステップS205)。
【0071】
カメラ運動の再推定は前記ステップS302でも説明したようにバンドル調整により行うことができる。ステップS204で得られた共通の世界座標系で表された特徴点の三次元座標値および投影行列とステップS202で各サブ画像列にて特徴点追跡を行った計測行列を用いて、特徴点の三次元座標値の最投影誤差を最小とするように最適化を行って、これを世界座標系に統合されたカメラ運動情報とする。
【0072】
本実施形態例では移動観測画像列の分割手段12においてカメラ運動の推定に因子分解法を用いる例を説明したが、移動観測画像の特徴点追跡結果からカメラ運動を推定する手段であれば、何を用いても実現可能であり、例えば、逐次射影復元を用いても構わない。
【0073】
本実施形態例では、座標系の統合手段13において、ステレオ処理により復元した三次元点群を利用してクォータニオンを用いて統合を行ったが、これに限るものではなく、単純な最小二乗近似などによって変換行列の推定を行っても構わない。
【0074】
また、前記カメラのパラメータや、途中の3次元座標は、例えばメモリに格納して利用するように構成するものである。
【0075】
尚、図1で示した装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、図3で示した処理の手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばFDや、MO、ROM、メモリカード、CD、DVD、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【0076】
(実施例)
以下に、上述のカメラ運動情報取得装置を用いて、移動する1台のビデオカメラから取得した移動観測画像を処理した結果を図3に示した処理フローを用いて述べる。
【0077】
まず処理が開始されると、移動観測画像列の取得を行う(ステップS201)。図8は取得した移動観測画像列の一例の一部である(801〜806)。これはビデオカメラを手に持って歩きながら撮影を行って取得したもので、時系列順に番号が振ってある。最初のフレーム(801)で見えていた箇所は最後のフレーム(806)ではすでに見えなくなっており、全てのフレームでの特徴点追跡が不可能なロングシーケンス画像列であることが分かる。
【0078】
次にステップS202では移動観測画像列の分割を行う。これは図5の処理フロー図を用いて説明する。ステップS301はサブ画像列の決定を行う。これは特徴点追跡が安定して行える画像数として決定する。図9はあるサブ画像列における特徴点追跡の結果の一例の一部(901〜903)であり、901から撮影した時系列順に並んでいる。中央の画像(902)はサブ画像列の丁度時系列順で中央に位置する画像であり、画像中の四角い枠の中にHarris特徴を用いた特徴点を発生させた。ここで発生した特徴点を時系列逆方向、順方向ともに追跡して、サブ画像列の全てのフレームで対応付けを行う。特徴点の消失がなく、安定した追跡がされていることを確認することができる。
【0079】
ステップS302では特徴点追跡結果を用いて因子分解法によりカメラ運動を推定し、ステップS303ではこれを初期解として最適化を行う。図10に、推定されたカメラ運動及び復元した特徴点の三次元位置の一例を示す。なお図10の各軸はX,Y,Z軸をそれぞれ表しており、特徴点の三次元位置とカメラ位置の相対的な位置関係を表している。以後、図11、図12も同様である。
【0080】
ステップS304では分割終了か否かの判定が行われる。現在処理しているサブ画像列が移動観測画像列の最終フレームまで入っていれば、分割を終了とする。そうでなければ重複フレーム数の決定処理(ステップS305)に進む。ここでは推定されたカメラ運動を用いて最適な重複フレーム数を決定する。重複フレーム間のベースライン距離を利用してステレオ処理により三次元点群が精度良く復元できるようにする。処理を終えたら処理するサブ画像列の番号nをn=n+1として、ステップS301へ戻る。
【0081】
以上の処理を繰り返し、移動観測画像列の分割処理(ステップS202)が終了したら、三次元対応点テーブル作成を行う(ステップS203)。これは重複フレーム部でステレオ処理を行い、得られた対応点データから隣接するサブ画像列から推定した二つのカメラ運動で三次元点を復元することで実現する。
【0082】
図11はステレオ処理による視差画像(対応点データ)と二つのカメラ運動を用いた三次元点群の復元結果の一例である。復元された三次元点群は座標系が異なるために、二つに分離されていることが確認できる。この三次元点群一点一点について対応関係が求められている。この処理を全ての隣接サブ画像列間で行う。
【0083】
次にステップS204では得られた三次元対応点テーブルを用いてステップS202で因子分解法によってサブ画像列毎に得られた特徴点の三次元位置と移動観測画像列の全画像の投影行列を共通の世界座標系に統合する。
【0084】
最後にステップS205ではステップS204で求めた共通の世界座標系に統合された特徴点の三次元位置、投影行列、特徴点追跡結果を用いてバンドル調整により三次元点の再投影誤差を最小化するように最適化を行って、統合されたカメラ運動を推定する。図12は全てのサブ画像列毎に復元した特徴点の三次元位置を共通の世界座標系に統合した三次元点群と統合されたカメラ運動の一例を示した図である。この図12によれば、シームレスにカメラ運動が復元されている様子が確認できる。
【0085】
以上述べた処理により、本実施形態例ではロングシーケンス画像列からカメラ運動情報が推定できる。
【図面の簡単な説明】
【0086】
【図1】本発明の一実施形態例によるカメラ運動情報取得装置の構成図である。
【図2】本発明の一実施形態例によるカメラ運動情報取得装置におけるデータ取得の様子を示す説明図である。
【図3】本発明の一実施形態例におけるカメラ運動情報取得方法の処理手順を示すフローチャートである。
【図4】本発明の一実施形態例における移動観測画像列の分割の様子を示した説明図である。
【図5】本発明の一実施形態例における移動観測画像列の分割の処理手順を示すフローチャートである。
【図6】本発明の一実施形態例における異なる座標系で表された三次元点の対応点テーブルの例を示す説明図である。
【図7】本発明の一実施形態例における世界座標系への座標系統合の方法を示す説明図である。
【図8】本発明の一実施形態例における移動観測画像の一例を示す説明図である。
【図9】本発明の一実施形態例のサブ画像列における特徴点追跡の結果の一例を示す説明図である。
【図10】本発明の一実施形態例において、特徴点追跡結果を用いて因子分解により、特徴点の三次元復元結果と推定したカメラ運動の一例を示す説明図である。
【図11】本発明の一実施形態例において、ステレオ処理結果を示す視差画像および視差画像と二つのカメラ運動を用いて三次元点群を復元した結果の一例を示す説明図である。
【図12】本発明の一実施形態例において、世界座標系に三次元点群およびカメラ運動を統合した結果の一例を示す説明図である。
【符号の説明】
【0087】
11…移動観測画像列取得手段、12…移動観測画像列の分割手段、13…座標系の統合手段、14…カメラ運動情報の再推定手段。
【技術分野】
【0001】
本発明は、ビデオカメラ等の時系列画像入力装置によって得られた移動観測画像列の、各画像を撮影した際のカメラの三次元位置及び姿勢を表す、カメラ運動情報を取得する方法および装置に関するものである。
【背景技術】
【0002】
移動する画像入力装置により観測された画像列、(以下、移動観測画像列と呼ぶ)からのカメラ運動情報の推定は、三次元モデル復元、物体認識、ロボットナビゲーション、複合現実感など、様々な分野への応用が可能である。代表的な手法に因子分解法がある。移動観測画像列の任意の画像上で発生させた特徴点を移動観測画像列の他の全ての画像上で対応付けを行って(以下、特徴点追跡と呼ぶ)、線形解法によって撮影対象の形状とカメラの運動情報を同時に復元することができる。例えば、下記非特許文献1では、透視投影カメラモデルで頑健にカメラの運動情報を取得している。
【0003】
尚、本発明に関連する、バンドル調整については下記非特許文献2に、クォータニオンについては下記非特許文献3に各々記載されている。
【非特許文献1】S.Christy and R.Horaud“Euclidean shape and motion from multiple perspective views by affine iterations”IEEE Transactions on Pattern Analysis and Machine Intelligence,18(11):1098−1104,1996.
【非特許文献2】B.Triggs,P.McLauchlan,R.Hartley and A.Fitzgibbon.Bundle Adjustment−A modern synthesis.Vision Algorithms’99,LNCS 1883,pp.298−372,2000.
【非特許文献3】B.K.P.Horn.Closed−form solution of absolute orientation using unit quaternions.Journal of the Optical Society of America A,vol.〜4,pp.〜629−−642,1987.
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら因子分解法では移動観測画像列の全ての画像で特徴点を対応付けなくてはならない。移動距離が長いシーケンスの移動観測画像列(以下、ロングシーケンス画像列と呼ぶ)では、特徴点のフレームアウトが発生するために、カメラ運動を推定することが不可能となってしまう。
【0005】
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、その目的は、ビデオカメラ等の時系列画像入力装置により撮影された、ロングシーケンス画像列の全ての画像について、その画像を撮影した際のカメラの三次元位置及び姿勢を自動的に求めることができるカメラ運動情報取得装置、カメラ運動情報取得方法および記録媒体を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために本発明は、ビデオカメラなどの時系列画像入力装置を用いて、移動観測画像列を取得し、これを処理することで、移動観測画像列の各画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得する方法および装置であって、移動観測画像列を取得する手段と、前記取得した移動観測画像列を複数のサブ画像列に分割する手段と、前記分割された各サブ画像列を用いて独立にカメラ運動情報を推定する手段と、前記推定された各サブ画像列のカメラ運動情報を用いて、各サブ画像列で独立に推定されたカメラ運動情報を共通の世界座標系に統合する手段と、前記統合されたカメラ運動情報を全移動観測画像列で最適化を行って、統合されたカメラ運動情報を再推定する手段を備えることを特徴とする。
【0007】
すなわち、請求項1に記載のカメラ運動情報取得装置は、移動する画像入力装置により観測された画像列から、画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得するカメラ運動情報取得装置であって、移動する画像入力装置により観測された画像列を取得する移動観測画像列取得手段と、前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する移動観測画像列の分割手段と、前記サブ画像列間で異なる座標系を共通の世界座標系に統合する座標系の統合手段と、前記共通の世界座標系でのカメラ運動を再推定するカメラ運動情報の再推定手段とを備えることを特徴としている。
【0008】
また請求項2に記載のカメラ運動情報取得装置は、請求項1に記載のカメラ運動情報取得装置において、前記移動観測画像列の分割手段は、特徴点追跡の結果を利用してサブ画像列を決定し、前記特徴点追跡結果を用いて計測行列を作成し、因子分解法によりカメラ運動を推定することを特徴としている。
【0009】
また請求項3に記載のカメラ運動情報取得装置は、請求項1に記載のカメラ運動情報取得装置において、前記移動観測画像列の分割手段は、特徴点追跡の結果を利用してサブ画像列を決定し、前記特徴点追跡結果を用いて逐次的に射影復元を行ってカメラ運動を推定することを特徴としている。
【0010】
また請求項4に記載のカメラ運動情報取得装置は、請求項1乃至3に記載のカメラ運動情報取得装置において、前記座標系の統合手段は、サブ画像列間の重複フレームを利用してステレオ処理により三次元対応点テーブルを作成し、前記三次元対応点テーブルを利用してサブ画像列間の座標変換行列を計算し、座標系を統合することを特徴としている。
【0011】
また請求項5に記載のカメラ運動情報取得方法は、移動する画像入力装置により観測された画像列から、画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得するカメラ運動情報取得方法であって、移動観測画像列取得手段が、移動する画像入力装置により観測された画像列を取得するステップと、移動観測画像列の分割手段が、前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する分割ステップと、座標系の統合手段が、前記サブ画像列間で異なる座標系を共通の世界座標系に統合する統合ステップと、カメラ運動情報の再推定手段が、前記共通の世界座標系でのカメラ運動を再推定するステップとを備えることを特徴としている。
【0012】
また請求項6に記載のカメラ運動情報取得方法は、請求項5に記載のカメラ運動情報取得方法において、前記分割ステップは、特徴点追跡の結果を利用してサブ画像列を決定するステップと、前記特徴点追跡結果を用いて計測行列を作成し、因子分解法によりカメラ運動を推定するステップと、推定されたカメラ運動を最適化するステップと、移動観測画像列の分割が終了か否かを判定するステップと、重複するフレーム数を決定するステップとを有することを特徴としている。
【0013】
また請求項7に記載のカメラ運動情報取得方法は、請求項5に記載のカメラ運動情報取得方法において、前記分割ステップは、特徴点追跡の結果を利用してサブ画像列を決定するステップと、前記特徴点追跡結果を用いて逐次的に射影復元を行ってカメラ運動を推定するステップと、推定されたカメラ運動を最適化するステップと、移動観測画像列の分割が終了か否かを判定するステップと、重複するフレーム数を決定するステップとを有することを特徴としている。
【0014】
また請求項8に記載のカメラ運動情報取得方法は、請求項5乃至7に記載のカメラ運動情報取得方法において、前記統合ステップは、サブ画像列間の重複フレームを利用してステレオ処理により三次元対応点テーブルを作成するステップと、前記三次元対応点テーブルを利用してサブ画像列間の座標変換行列を計算し、座標系を統合するステップとを有することを特徴としている。
【0015】
また請求項9に記載の記録媒体は、請求項5乃至8のいずれかに記載のカメラ運動情報取得方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0016】
上記構成において、分割されたサブ画像列には重複部分が存在し、この重複部分を利用して3次元対応点の関係が決まる。このため1つのローカル座標系を基準とした世界座標系に変換することで、カメラ運動情報を得ることができる。
【発明の効果】
【0017】
本発明によれば、従来不可能であった、特徴点追跡が全フレームで不可能なロングシーケンス画像列から座標系の統一されたカメラ運動情報を取得することができる。このようにして得られたカメラ運動情報により、ステレオ法、シルエット法など目的にあった様々な画像からの三次元復元方法を用いて広域の三次元モデルを安定的に、しかも精度良く復元することが可能となる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。図1は、本発明の実施形態例によるカメラ運動情報取得装置の構成を示している。本発明のカメラ運動情報取得装置は、移動観測画像列取得手段11と、移動観測画像列の分割手段12と、座標系の統合手段13と、カメラ運動情報の再推定手段14で構成される。
【0019】
移動観測画像列取得手段11は、画像入力装置を移動させながら時系列画像データを取得する手段であり、一例として、手持ちカメラによる歩行撮影や車に取り付けたカメラなどが考えられる。
【0020】
移動観測画像列の分割手段12は、前記移動観測画像列を複数のサブ画像列に、各サブ画像列間で複数の画像を重複させながら分割すると同時に、各サブ画像列を用いて、各サブ画像列に固有の座標系で表されたカメラ運動を推定する手段である。
【0021】
座標系の統合手段13は、隣接するサブ画像列の重複画像部分を用いて、各サブ画像列で推定されたカメラ運動情報を共通の世界座標系に統合する手段である。
【0022】
カメラ運動情報の再推定手段14は、前記世界座標系に統一されたカメラ運動情報を移動観測画像列の全ての画像を用いて最適化を行い、カメラ運動情報を再推定する手段である。
【0023】
次に本発明の実施形態例を詳細に説明する。本発明の目的は、移動するカメラ等の画像入力装置によって観測された移動観測画像列から、移動観測画像列を構成する各フレーム撮影時のカメラの三次元位置および姿勢を取得することである。
【0024】
本実施形態例では、図2のように移動するビデオカメラにより時系列画像列を撮影して、各画像撮影時のカメラの三次元位置と姿勢を推定する例を説明する。
【0025】
本実施形態例において使用するビデオカメラのカメラ内部パラメータは事前に校正を行っておく。
【0026】
図3は本実施形態例の動作を示すフローチャートである。処理が開始されると、移動観測画像列取得手段11により、カメラを移動させながら観測した移動観測画像列Nを取得する(ステップS201)。
【0027】
次に移動観測画像列の分割手段12により、図4のように移動観測画像列Nを隣接サブ画像列間で重複させながらK個のサブ画像列に分割する(ステップS202)。この分割処理のステップS202は、図5に示すフローチャートに沿って実行される。
【0028】
図5において、まずサブ画像列の通し番号を表すnを、n=1として処理が開始される。
【0029】
次にサブ画像列#nを構成する画像の決定を行う(ステップS301)。
【0030】
各サブ画像列を構成する画像数は安定したカメラ運動推定という観点ではより多くの画像数が必要であるが、あまりに画像数が多いと特徴点の消失により、特徴点追跡を行うことが出来ない。そこで各サブ画像列の画像数は安定的に特徴点追跡が行える画像数として決定することが望ましい。例えば、以下の手順で行うことが可能である。
【0031】
特徴点追跡とは画像列中の任意のフレームで発生させた特徴点の画像座標値とその他の全ての画像で対応する画像座標値を求めることである。特徴点追跡はある画像で検出した特徴点を時系列方向及び時系列逆方向の双方向で追跡を行う。
【0032】
まず特徴点を検出する画像を選択するために、時系列上で二番目の画像から順に選択をしていき、それぞれの画像で特徴点を検出し、時系列逆方向にサブ画像列最初の画像まで特徴点の追跡を行う。検出した特徴点がある閾値以上追跡に失敗した場合、新たな画像を選択するのを中止し、その前に選択された画像を特徴点を検出する画像として採用する。
【0033】
次にその同じ特徴点を時系列方向に追跡を行っていき、検出した特徴点がある閾値以上追跡に失敗した画像の時系列一つ手前の画像をサブ画像列最後の画像として決定する。
【0034】
このようにすることでサブ画像列は安定した特徴点追跡を可能な最大の画像数として決定することが出来る。
【0035】
次に決定されたサブ画像列の各画像を撮影したときのカメラ運動、すなわちサブ画像列の第iフレームにおけるカメラの三次元位置(xi,yi,zi)と姿勢(φi,θi,γi)を求める(ステップS302)。
【0036】
以下、本実施例では、カメラ運動の推定に因子分解法を用いる例で説明を行うが、逐次射影復元などを用いても実現可能であることは自明である。
【0037】
ステップS301で行った特徴点追跡の結果を用いて因子分解法を適用する。まず特徴点を追跡した結果から計測行列を作成する。計測行列とはサブ画像列のフレーム数をF、特徴点数をNとすると以下の式(1)で表されるF行N列の行列となる。
【0038】
【数1】
【0039】
ただし、(uij,vij)はiフレーム目のj番目の特徴点の画像座標値を表す。
【0040】
因子分解法は式(1)で表される計測行列から、例えば特異値分解などにより、各特徴点の三次元位置とカメラ運動(図4で示される各フレーム毎の三次元位置(xi,yi,zi)、姿勢(φi,θi,γi))を求める方法であり、例えば非特許文献1の方法を用いれば透視投影モデルで頑健にカメラ運動を推定することが出来る。
【0041】
次に推定されたカメラ運動の最適化を行う(ステップS303)。
【0042】
ステップS302で推定されたカメラ運動及び特徴点の三次元位置を初期解として、最適化を行うことで、より精度の良いカメラ運動を得ることが出来る。これは例えばよく知られたバンドル調整(非特許文献2)によって実現可能である。
【0043】
次に分割が終了か否かの判断を行う(ステップS304)。もし現在処理しているサブ画像列が移動観測画像列Nの最終フレームに到達していれば、これ以上の分割は必要ないので、処理を終了とする。逆にまだ処理されていないフレームが残されている場合には、ステップS305の処理に進む。
【0044】
ステップS305では、隣接サブ画像列間の重複フレーム数を決定する。この重複フレームは各サブ画像列で推定された座標系の異なるカメラ運動を統合するのに利用する。後述するが、この統合にはステレオ処理により復元した三次元点群を利用する。そのため重複フレームを利用したステレオ処理によって三次元点群が精度良く復元されることが重要である。
【0045】
ステレオ処理を利用した三次元点群の精度は利用する画像ペアを撮影した際のカメラ光学中心の三次元位置を結んだ距離、すなわちベースラインが長いほど復元される精度が良い。しかしながらベースラインが長すぎるとステレオ処理自体が困難になる。そこでこのベースラインの長さを利用して、重複フレーム数を決定する。
【0046】
ステップS303で求めたカメラ運動の最適化の結果を利用する。サブ画像列の最終フレームを撮影したときのカメラの三次元位置を(Xf,Yf,Zf)とする。時系列で最終フレームの前のフレームより逆時系列順にフレームを選択し、選択されたフレームを撮影したときのカメラの三次元位置(Xs,Ys,Zs)を用いて、ベースライン距離Bを以下の式(2)にて計算する。
【0047】
【数2】
【0048】
例えば、ある閾値Tを用意しておき、BがTを初めて超えた際に、最終フレームからそのフレームまでを重複するフレームとして決定する。閾値Tは経験的に任意の値として決定することが出来る。
【0049】
重複フレームが決定したら次のサブ画像列を決定するためにサブ画像列番号nをn=n+1としてステップS301の処理に戻る。以上述べた処理を繰り返すことで移動観測画像列Nを分割する。
【0050】
以上のように移動観測画像列の分割処理の終了後、座標系の統合手段13により、サブ画像列間の座標変換行列を計算し、座標系を共通の世界座標系に統合する。
【0051】
まず重複フレーム部分を用いて、同一の三次元点を隣接サブ画像列間に由来している二つの座標系で表した対応関係を表す、三次元対応点テーブルを作成する(ステップS203)。
【0052】
本実施例では、この三次元対応点テーブルを作成するのにステレオ処理を用いる。ステレオ処理に用いる基準画像と比較画像は重複フレームの中から任意に選ぶことが可能である。例えば、重複フレーム部分の最初のフレームと最終フレームをそれぞれ基準画像、比較画像とすることができる。ステレオ処理を行うことで、この基準画像の各画素(u,v)と比較画像の各画素(u’,v’)の対応付けを行って、対応点データを得る。
【0053】
次に前記対応点データを用いて三次元点の復元を行う。三次元点の復元は一つの対応点について、重複フレームを含む隣接する二つのサブ画像列から推定された二つのカメラ運動データを用いて計算を行う。つまり基準画像の各画素(u,v)について二つの座標系で表された三次元点が計算されることになる。
【0054】
三次元点復元は、基準画像の投影行列をP、比較画像の投影行列P’とすると、投影行列Pは3行4列の行列で、推定されたカメラ運動(三次元位置(x,y,z)、姿勢(φ,θ,γ))とカメラ内部行列Aから以下の式(3)のように計算できる。すなわち、
【0055】
【数3】
【0056】
であり、A行列の各要素はカメラ校正により既知である。
【0057】
式(3)により、基準画像の投影行列Pおよび比較画像の投影行列P’をまず計算する。
【0058】
次に対応点データと投影行列PおよびP’を使って三次元点を復元する。基準画像の画像座標(u,v)と比較画像の画像座標(u’,v’)が対応しているとすると、三次元点M=(X,Y,Z)は以下の式(4)により復元される。すなわち、
【0059】
【数4】
【0060】
であり、pijおよびp’ijはPおよびP’のi行j列の要素を表し、B+はB行列の疑似逆行列である。
【0061】
これを二つのカメラ運動を用いることで、二つの座標系で表された三次元点を得ることが出来る。これを基準画像の全画素について行うことで、図6のような三次元対応点テーブルを作成することが出来る。
【0062】
以上の処理を全ての隣接サブ画像列間の重複フレームで行う。次に得られた三次元対応点テーブルを用いて、統合されたカメラ運動を再推定するために、ステップS201で因子分解法により得た特徴点の三次元点と移動観測画像列の全てのフレームの投影行列を共通の座標系に統合する(ステップS204)。
【0063】
共通の世界座標系は任意のサブ画像列のローカル座標系とすることができる。例えば、時系列上で中央のサブ画像列のローカル座標系を共通の世界座標系とすることができる。以下では図7のように、時系列上で中央のサブ画像列のローカル座標系を共通の世界座標系とし、このサブ画像列の番号をW、Tiは座標変換行列で、i<WならTiはサブ画像列番号iからサブ画像列番号i+1の座標系へ変換する行列であり、i≧WならTiはサブ画像列番号i+1からサブ画像列番号iの座標系へ変換する行列である。
【0064】
このような行列TiはステップS203で求めた三次元対応点テーブルを用いて、例えば非特許文献3に記載のクオータニオンを利用した方法で計算することが出来る。全ての隣接サブ画像列間において行列Tiの計算を行う。
【0065】
次に求めたTiを用いて共通の世界座標系での各サブ画像列で因子分解法により獲得した特徴点の三次元点を世界座標系に変換する。これは以下の式(5)を用いて計算できる。
【0066】
【数5】
【0067】
ただし、(Xi,Yi,Zi)はサブ画像列番号iより因子分解法により計算された特徴点の三次元座標値、(Xw,Yw,Zw)は(Xi,Yi,Zi)を世界座標系にて表した三次元座標値である。この変換を全てのサブ画像列において因子分解法によって得られた三次元点全てに対し行う。
また同様にして世界座標系で表された投影行列の計算も行う。これは以下の式(6)で計算することができる。
【0068】
【数6】
【0069】
ただし、Piはサブ画像列番号iの各画像の投影行列を表し、Pwは変換されて世界座標系で表された投影行列を表す。この変換を各サブ画像列の全ての画像の投影行列に対して行う。以上の処理にて各サブ画像列毎のカメラ運動を推定するのに利用した特徴点の三次元点と移動観測画像列の全ての画像の投影行列を共通の世界座標系へと変換することができる。
【0070】
最後に前記得られた共通の世界座標系で表された特徴点の三次元座標値を用いてカメラ運動情報の再推定手段14により世界座標系で統一されたカメラ運動の再推定を行う(ステップS205)。
【0071】
カメラ運動の再推定は前記ステップS302でも説明したようにバンドル調整により行うことができる。ステップS204で得られた共通の世界座標系で表された特徴点の三次元座標値および投影行列とステップS202で各サブ画像列にて特徴点追跡を行った計測行列を用いて、特徴点の三次元座標値の最投影誤差を最小とするように最適化を行って、これを世界座標系に統合されたカメラ運動情報とする。
【0072】
本実施形態例では移動観測画像列の分割手段12においてカメラ運動の推定に因子分解法を用いる例を説明したが、移動観測画像の特徴点追跡結果からカメラ運動を推定する手段であれば、何を用いても実現可能であり、例えば、逐次射影復元を用いても構わない。
【0073】
本実施形態例では、座標系の統合手段13において、ステレオ処理により復元した三次元点群を利用してクォータニオンを用いて統合を行ったが、これに限るものではなく、単純な最小二乗近似などによって変換行列の推定を行っても構わない。
【0074】
また、前記カメラのパラメータや、途中の3次元座標は、例えばメモリに格納して利用するように構成するものである。
【0075】
尚、図1で示した装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、図3で示した処理の手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばFDや、MO、ROM、メモリカード、CD、DVD、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【0076】
(実施例)
以下に、上述のカメラ運動情報取得装置を用いて、移動する1台のビデオカメラから取得した移動観測画像を処理した結果を図3に示した処理フローを用いて述べる。
【0077】
まず処理が開始されると、移動観測画像列の取得を行う(ステップS201)。図8は取得した移動観測画像列の一例の一部である(801〜806)。これはビデオカメラを手に持って歩きながら撮影を行って取得したもので、時系列順に番号が振ってある。最初のフレーム(801)で見えていた箇所は最後のフレーム(806)ではすでに見えなくなっており、全てのフレームでの特徴点追跡が不可能なロングシーケンス画像列であることが分かる。
【0078】
次にステップS202では移動観測画像列の分割を行う。これは図5の処理フロー図を用いて説明する。ステップS301はサブ画像列の決定を行う。これは特徴点追跡が安定して行える画像数として決定する。図9はあるサブ画像列における特徴点追跡の結果の一例の一部(901〜903)であり、901から撮影した時系列順に並んでいる。中央の画像(902)はサブ画像列の丁度時系列順で中央に位置する画像であり、画像中の四角い枠の中にHarris特徴を用いた特徴点を発生させた。ここで発生した特徴点を時系列逆方向、順方向ともに追跡して、サブ画像列の全てのフレームで対応付けを行う。特徴点の消失がなく、安定した追跡がされていることを確認することができる。
【0079】
ステップS302では特徴点追跡結果を用いて因子分解法によりカメラ運動を推定し、ステップS303ではこれを初期解として最適化を行う。図10に、推定されたカメラ運動及び復元した特徴点の三次元位置の一例を示す。なお図10の各軸はX,Y,Z軸をそれぞれ表しており、特徴点の三次元位置とカメラ位置の相対的な位置関係を表している。以後、図11、図12も同様である。
【0080】
ステップS304では分割終了か否かの判定が行われる。現在処理しているサブ画像列が移動観測画像列の最終フレームまで入っていれば、分割を終了とする。そうでなければ重複フレーム数の決定処理(ステップS305)に進む。ここでは推定されたカメラ運動を用いて最適な重複フレーム数を決定する。重複フレーム間のベースライン距離を利用してステレオ処理により三次元点群が精度良く復元できるようにする。処理を終えたら処理するサブ画像列の番号nをn=n+1として、ステップS301へ戻る。
【0081】
以上の処理を繰り返し、移動観測画像列の分割処理(ステップS202)が終了したら、三次元対応点テーブル作成を行う(ステップS203)。これは重複フレーム部でステレオ処理を行い、得られた対応点データから隣接するサブ画像列から推定した二つのカメラ運動で三次元点を復元することで実現する。
【0082】
図11はステレオ処理による視差画像(対応点データ)と二つのカメラ運動を用いた三次元点群の復元結果の一例である。復元された三次元点群は座標系が異なるために、二つに分離されていることが確認できる。この三次元点群一点一点について対応関係が求められている。この処理を全ての隣接サブ画像列間で行う。
【0083】
次にステップS204では得られた三次元対応点テーブルを用いてステップS202で因子分解法によってサブ画像列毎に得られた特徴点の三次元位置と移動観測画像列の全画像の投影行列を共通の世界座標系に統合する。
【0084】
最後にステップS205ではステップS204で求めた共通の世界座標系に統合された特徴点の三次元位置、投影行列、特徴点追跡結果を用いてバンドル調整により三次元点の再投影誤差を最小化するように最適化を行って、統合されたカメラ運動を推定する。図12は全てのサブ画像列毎に復元した特徴点の三次元位置を共通の世界座標系に統合した三次元点群と統合されたカメラ運動の一例を示した図である。この図12によれば、シームレスにカメラ運動が復元されている様子が確認できる。
【0085】
以上述べた処理により、本実施形態例ではロングシーケンス画像列からカメラ運動情報が推定できる。
【図面の簡単な説明】
【0086】
【図1】本発明の一実施形態例によるカメラ運動情報取得装置の構成図である。
【図2】本発明の一実施形態例によるカメラ運動情報取得装置におけるデータ取得の様子を示す説明図である。
【図3】本発明の一実施形態例におけるカメラ運動情報取得方法の処理手順を示すフローチャートである。
【図4】本発明の一実施形態例における移動観測画像列の分割の様子を示した説明図である。
【図5】本発明の一実施形態例における移動観測画像列の分割の処理手順を示すフローチャートである。
【図6】本発明の一実施形態例における異なる座標系で表された三次元点の対応点テーブルの例を示す説明図である。
【図7】本発明の一実施形態例における世界座標系への座標系統合の方法を示す説明図である。
【図8】本発明の一実施形態例における移動観測画像の一例を示す説明図である。
【図9】本発明の一実施形態例のサブ画像列における特徴点追跡の結果の一例を示す説明図である。
【図10】本発明の一実施形態例において、特徴点追跡結果を用いて因子分解により、特徴点の三次元復元結果と推定したカメラ運動の一例を示す説明図である。
【図11】本発明の一実施形態例において、ステレオ処理結果を示す視差画像および視差画像と二つのカメラ運動を用いて三次元点群を復元した結果の一例を示す説明図である。
【図12】本発明の一実施形態例において、世界座標系に三次元点群およびカメラ運動を統合した結果の一例を示す説明図である。
【符号の説明】
【0087】
11…移動観測画像列取得手段、12…移動観測画像列の分割手段、13…座標系の統合手段、14…カメラ運動情報の再推定手段。
【特許請求の範囲】
【請求項1】
移動する画像入力装置により観測された画像列から、画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得するカメラ運動情報取得装置であって、
移動する画像入力装置により観測された画像列を取得する移動観測画像列取得手段と、
前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する移動観測画像列の分割手段と、
前記サブ画像列間で異なる座標系を共通の世界座標系に統合する座標系の統合手段と、
前記共通の世界座標系でのカメラ運動を再推定するカメラ運動情報の再推定手段とを備える
ことを特徴とするカメラ運動情報取得装置。
【請求項2】
請求項1に記載のカメラ運動情報取得装置において、
前記移動観測画像列の分割手段は、
特徴点追跡の結果を利用してサブ画像列を決定し、前記特徴点追跡結果を用いて計測行列を作成し、因子分解法によりカメラ運動を推定する
ことを特徴とするカメラ運動情報取得装置。
【請求項3】
請求項1に記載のカメラ運動情報取得装置において、
前記移動観測画像列の分割手段は、
特徴点追跡の結果を利用してサブ画像列を決定し、前記特徴点追跡結果を用いて逐次的に射影復元を行ってカメラ運動を推定する
ことを特徴とするカメラ運動情報取得装置。
【請求項4】
請求項1乃至3に記載のカメラ運動情報取得装置において、
前記座標系の統合手段は、
サブ画像列間の重複フレームを利用してステレオ処理により三次元対応点テーブルを作成し、前記三次元対応点テーブルを利用してサブ画像列間の座標変換行列を計算し、座標系を統合することを特徴とするカメラ運動情報取得装置。
【請求項5】
移動する画像入力装置により観測された画像列から、画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得するカメラ運動情報取得方法であって、
移動観測画像列取得手段が、移動する画像入力装置により観測された画像列を取得するステップと、
移動観測画像列の分割手段が、前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する分割ステップと、
座標系の統合手段が、前記サブ画像列間で異なる座標系を共通の世界座標系に統合する統合ステップと、
カメラ運動情報の再推定手段が、前記共通の世界座標系でのカメラ運動を再推定するステップとを備える
ことを特徴とするカメラ運動情報取得方法。
【請求項6】
請求項5に記載のカメラ運動情報取得方法において、
前記分割ステップは、
特徴点追跡の結果を利用してサブ画像列を決定するステップと、前記特徴点追跡結果を用いて計測行列を作成し、因子分解法によりカメラ運動を推定するステップと、推定されたカメラ運動を最適化するステップと、移動観測画像列の分割が終了か否かを判定するステップと、重複するフレーム数を決定するステップとを有する
ことを特徴とするカメラ運動情報取得方法。
【請求項7】
請求項5に記載のカメラ運動情報取得方法において、
前記分割ステップは、
特徴点追跡の結果を利用してサブ画像列を決定するステップと、前記特徴点追跡結果を用いて逐次的に射影復元を行ってカメラ運動を推定するステップと、推定されたカメラ運動を最適化するステップと、移動観測画像列の分割が終了か否かを判定するステップと、重複するフレーム数を決定するステップとを有する
ことを特徴とするカメラ運動情報取得方法。
【請求項8】
請求項5乃至7に記載のカメラ運動情報取得方法において、
前記統合ステップは、サブ画像列間の重複フレームを利用してステレオ処理により三次元対応点テーブルを作成するステップと、前記三次元対応点テーブルを利用してサブ画像列間の座標変換行列を計算し、座標系を統合するステップとを有する
ことを特徴とするカメラ運動情報取得方法。
【請求項9】
請求項5乃至8のいずれかに記載のカメラ運動情報取得方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
移動する画像入力装置により観測された画像列から、画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得するカメラ運動情報取得装置であって、
移動する画像入力装置により観測された画像列を取得する移動観測画像列取得手段と、
前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する移動観測画像列の分割手段と、
前記サブ画像列間で異なる座標系を共通の世界座標系に統合する座標系の統合手段と、
前記共通の世界座標系でのカメラ運動を再推定するカメラ運動情報の再推定手段とを備える
ことを特徴とするカメラ運動情報取得装置。
【請求項2】
請求項1に記載のカメラ運動情報取得装置において、
前記移動観測画像列の分割手段は、
特徴点追跡の結果を利用してサブ画像列を決定し、前記特徴点追跡結果を用いて計測行列を作成し、因子分解法によりカメラ運動を推定する
ことを特徴とするカメラ運動情報取得装置。
【請求項3】
請求項1に記載のカメラ運動情報取得装置において、
前記移動観測画像列の分割手段は、
特徴点追跡の結果を利用してサブ画像列を決定し、前記特徴点追跡結果を用いて逐次的に射影復元を行ってカメラ運動を推定する
ことを特徴とするカメラ運動情報取得装置。
【請求項4】
請求項1乃至3に記載のカメラ運動情報取得装置において、
前記座標系の統合手段は、
サブ画像列間の重複フレームを利用してステレオ処理により三次元対応点テーブルを作成し、前記三次元対応点テーブルを利用してサブ画像列間の座標変換行列を計算し、座標系を統合することを特徴とするカメラ運動情報取得装置。
【請求項5】
移動する画像入力装置により観測された画像列から、画像撮影時のカメラの三次元位置および姿勢を表すカメラ運動情報を取得するカメラ運動情報取得方法であって、
移動観測画像列取得手段が、移動する画像入力装置により観測された画像列を取得するステップと、
移動観測画像列の分割手段が、前記取得した移動観測画像列を、各サブ画像列間で複数の画像を重複させながら複数のサブ画像列に分割する分割ステップと、
座標系の統合手段が、前記サブ画像列間で異なる座標系を共通の世界座標系に統合する統合ステップと、
カメラ運動情報の再推定手段が、前記共通の世界座標系でのカメラ運動を再推定するステップとを備える
ことを特徴とするカメラ運動情報取得方法。
【請求項6】
請求項5に記載のカメラ運動情報取得方法において、
前記分割ステップは、
特徴点追跡の結果を利用してサブ画像列を決定するステップと、前記特徴点追跡結果を用いて計測行列を作成し、因子分解法によりカメラ運動を推定するステップと、推定されたカメラ運動を最適化するステップと、移動観測画像列の分割が終了か否かを判定するステップと、重複するフレーム数を決定するステップとを有する
ことを特徴とするカメラ運動情報取得方法。
【請求項7】
請求項5に記載のカメラ運動情報取得方法において、
前記分割ステップは、
特徴点追跡の結果を利用してサブ画像列を決定するステップと、前記特徴点追跡結果を用いて逐次的に射影復元を行ってカメラ運動を推定するステップと、推定されたカメラ運動を最適化するステップと、移動観測画像列の分割が終了か否かを判定するステップと、重複するフレーム数を決定するステップとを有する
ことを特徴とするカメラ運動情報取得方法。
【請求項8】
請求項5乃至7に記載のカメラ運動情報取得方法において、
前記統合ステップは、サブ画像列間の重複フレームを利用してステレオ処理により三次元対応点テーブルを作成するステップと、前記三次元対応点テーブルを利用してサブ画像列間の座標変換行列を計算し、座標系を統合するステップとを有する
ことを特徴とするカメラ運動情報取得方法。
【請求項9】
請求項5乃至8のいずれかに記載のカメラ運動情報取得方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−292657(P2007−292657A)
【公開日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願番号】特願2006−122186(P2006−122186)
【出願日】平成18年4月26日(2006.4.26)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願日】平成18年4月26日(2006.4.26)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]