(57)【要約】【課題】カメラ姿勢の推定において、精度、頑健さ、撮影環境の自由度を向上すること。【解決手段】カメラ姿勢推定装置１は、予め作成された被写体の３次元モデル１１および特徴点データベース２１と入力撮影画像とに基づいて、エッジ対応誤差err1と、特徴点対応誤差err2とを含むトラッキング状態を計測するトラッキング状態計測部４０と、トラッキング状態に応じて、エッジ対応誤差err1と特徴点対応誤差err2とを案分する指標として、エッジベーストラッキングと特徴点ベーストラッキングとを統合した統合トラッキングの信頼度ｆを計算する信頼度計算部５０と、必要に応じて補正信頼度ηを生成する信頼度補正部６０と、補正信頼度ηに応じて、エッジ対応誤差err1と特徴点対応誤差err2とを案分する割合を変動させて統合誤差errを生成し、統合誤差が最小となるようにカメラ姿勢Ｅk+1を推定するカメラ姿勢推定手段７０とを備える。【選択図】図１
2011118724.tif 000002
【特許請求の範囲】
【請求項１】
被写体の撮影画像中のエッジおよび特徴点を用いてカメラ姿勢を推定するモデルベースによるカメラ姿勢推定装置であって、
カメラの撮影方向に存在する被写体の特徴の情報を示す３次元モデルを記憶する３次元モデル記憶手段と、
前記３次元モデルの特徴点の記述子および３次元情報を含む特徴点情報を格納した特徴点データベースを記憶する特徴点データベース記憶手段と、
予め作成された前記３次元モデルおよび前記特徴点データベースと、入力される前記被写体を含む撮影画像とに基づいて、前記エッジをベースにして求めたトラッキングの第１誤差と、前記特徴点をベースにして求めたトラッキングの第２誤差とを少なくとも含むトラッキング状態を計測するトラッキング状態計測手段と、
前記計測されたトラッキング状態に応じて、前記第１誤差と前記第２誤差とを案分する指標として、エッジベーストラッキングと特徴点ベーストラッキングとを統合した統合トラッキングの信頼度を計算する信頼度計算手段と、
前記統合トラッキングの信頼度に応じて、前記第１誤差と前記第２誤差とを案分する割合を変動させて統合誤差を生成し、前記統合誤差が最小となるように現在のカメラ姿勢を推定するカメラ姿勢推定手段と、
を備えることを特徴とするカメラ姿勢推定装置。
【請求項２】
前記トラッキング状態計測手段は、
前記トラッキング状態として、前記第１誤差と、前記第２誤差と、前記エッジ数と、前記特徴点数と、前記カメラの動きに応じてぼけるエッジの個数を示す動きボケ強度と、カメラ姿勢の推定前の値に対する信頼度を示す初期カメラ姿勢の信頼度と、前記３次元モデルのモデルエッジに対応する前記撮影画像中のエッジの周囲に存在するエッジ対応点候補の数とを計測し、
前記信頼度計算手段は、
前記トラッキング状態として計測された動きボケ強度の値が予め定められた第１閾値よりも大きい場合には、前記第１誤差だけ用いるように前記統合トラッキングの信頼度を計算し、
前記動きボケ強度の値が前記第１閾値以下の場合、かつ、前記トラッキング状態として計測された初期カメラ姿勢の信頼度の値が予め定められた第２閾値よりも大きい場合には、前記動きボケ強度に比例し、かつ、前記初期カメラ姿勢の信頼度および前記特徴点数にそれぞれ反比例するように案分して前記統合トラッキングの信頼度を計算し、
前記動きボケ強度の値が前記第１閾値以下の場合、かつ、前記初期カメラ姿勢の信頼度の値が前記第２閾値以下の場合には、前記エッジ数および前記動きボケ強度にそれぞれ比例し、かつ、前記初期カメラ姿勢の信頼度、前記特徴点数および前記エッジ対応点候補の数にそれぞれ反比例するように案分して前記統合トラッキングの信頼度を計算する、
ことを特徴とする請求項１に記載のカメラ姿勢推定装置。
【請求項３】
前記統合トラッキングの信頼度を補正した補正信頼度を生成する信頼度補正手段をさらに備え、
前記カメラ姿勢推定手段は、前記補正信頼度に応じて、前記第１誤差と前記第２誤差とを案分する割合を変動させ、現在のカメラ姿勢を推定し、
前記信頼度補正手段は、
前記統合トラッキングの信頼度が０．５より大きく、かつ、前記特徴点数に対する前記エッジ数の割合を示すサンプル比が１より小さい場合には、前記統合トラッキングの信頼度に比例し、かつ、前記サンプル比に反比例するような第１補正式により前記補正信頼度を計算し、
前記統合トラッキングの信頼度が０．５より小さく、かつ、前記サンプル比が１より大きい場合には、前記統合トラッキングの信頼度に比例し、かつ、前記サンプル比に反比例するような第２補正式により前記補正信頼度を計算する、
ことを特徴とする請求項２に記載のカメラ姿勢推定装置。
【請求項４】
前記トラッキング状態計測手段は、
入力される前記撮影映像からエッジを検出するエッジ検出手段と、
前記３次元モデルに含まれるモデルエッジと、前記検出されたエッジとのマッチング処理により、前記エッジ対応点候補の数と、前記エッジ数とを算出するエッジマッチング手段と、
入力される前記撮影映像の動きボケに基づき、前記動きボケ強度を算出する動きボケ計算手段と、
入力される前記撮影映像から特徴点を検出し、前記特徴点データベースに格納された特徴点と、前記検出された特徴点とのマッチング処理により、前記特徴点数を算出する特徴点検出マッチング手段と、
前記特徴点のマッチング処理の結果から前記初期カメラ姿勢を求め、この求めた初期カメラ姿勢に対して前記初期カメラ姿勢の信頼度を算出する初期カメラ姿勢計算手段と、を備える、
ことを特徴とする請求項２または請求項３に記載のカメラ姿勢推定装置。
【請求項５】
被写体の撮影画像中のエッジおよび特徴点を用いてモデルベースによりカメラ姿勢を推定するために、カメラの撮影方向に存在する被写体の特徴の情報を示す３次元モデルを記憶する３次元モデル記憶手段と、前記３次元モデルの特徴点の記述子および３次元情報を含む特徴点情報を格納した特徴点データベースを記憶する特徴点データベース記憶手段とを備えたコンピュータを、
予め作成された前記３次元モデルおよび前記特徴点データベースと、入力される前記被写体を含む撮影画像とに基づいて、前記エッジをベースにして求めたトラッキングの第１誤差と、前記特徴点をベースにして求めたトラッキングの第２誤差とを少なくとも含むトラッキング状態を計測するトラッキング状態計測手段、
前記計測されたトラッキング状態に応じて、前記第１誤差と前記第２誤差とを案分する指標として、エッジベーストラッキングと特徴点ベーストラッキングとを統合した統合トラッキングの信頼度を計算する信頼度計算手段、
前記統合トラッキングの信頼度に応じて、前記第１誤差と前記第２誤差とを案分する割合を変動させて統合誤差を生成し、前記統合誤差が最小となるように現在のカメラ姿勢を推定するカメラ姿勢推定手段、
として機能させるためのカメラ姿勢推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想現実感、拡張現実感、ロボット制御、映像合成などで利用されるカメラ姿勢推定装置およびカメラ姿勢推定プログラムに係り、特に、モデルベースのカメラ姿勢推定装置およびカメラ姿勢推定プログラムに関する。
【背景技術】
【０００２】
カメラパラメータ（カメラ姿勢）を推定する技術は、映像合成や仮想現実感（ＶＲ：Virtual Reality）、拡張現実感（ＡＲ：Augmented Reality）を表現する装置において必要とされる技術である。近年では、特殊なセンサを用いないで撮影映像からカメラ姿勢を推定する手法が提案されているが、カメラトラッキングの安定性や精度、変化する撮影環境に対する柔軟性に課題があり、改善が望まれている。
【０００３】
このうち、例えば、撮影画像中のマーカ座標を基にしてカメラパラメータを計算するマーカベースの方法には、多くの先行技術があり、いくつかの手法は既に実用化されている。ただし、撮影方向にマーカを設置することは、運用面において多くの制限を与えている。例えば、マーカは、視覚的な妨害となったり、屋外環境では遠景への設置を考えると設置自体が困難であったり、相応のサイズが必要となったりする場合がある。このような理由から、マーカを用いない手法が多く提案されている。中でも、その頑健性と柔軟性からモデルベース手法を基本とした手法がいくつか提案されている。
【０００４】
モデルベースによるカメラ姿勢推定手法（モデルベースカメラ姿勢推定手法）では、この手法を実現するシステムが、例えば図３（ａ）に示すような撮影シーンの３次元モデルを予め保有していることを前提としている。この例では、３次元モデルは、例えば、直方体３０１、円柱３０２、それらの周囲の床や壁と、その３次元座標の情報である。
【０００５】
図３（ａ）に符号３０３で示す領域についての被写体の特徴を示す情報を、過去に求めたカメラ姿勢やラフに（粗く）求めたカメラ姿勢でカメラ座標空間に投影して生成したカメラ映像（投影画像）を図３（ｂ）に示す。ここでは、投影画像にエッジ３０４，３０５，３０６を含んでいる。ここで、３次元モデルとラフなカメラ姿勢は、事前に計測するなどして既知であると仮定し、推定を行なうものとする。
【０００６】
そして、図３（ｃ）に示すように、現在の映像（カメラ画像）から、特徴点（例えば、被写体表面模様に含まれる絵柄のコーナーなど）やエッジなどの視覚的手がかりを抽出する。ここでは、現在の映像にエッジ３１４，３１５，３１６を含んでいる。そして、図３（ｄ）に示すように、現在の映像から抽出した特徴点やエッジなどの視覚的手がかりと、予めシステムが有している撮影シーンの３次元モデルをラフに求めたカメラ姿勢で投影したカメラ映像との位置ずれを求める。この例では、カメラトラッキングにより、エッジ３０４，３０５，３０６と、エッジ３１４，３１５，３１６との位置ずれが求められる。そして、この位置ずれが最小化するように、構造を変換する関数（並進の移動量Δｔや回転の移動量ΔＲ）を求める。この一連の手順により、モデルベースカメラ姿勢推定手法は、精度の高いカメラ姿勢を推定することができる。
【０００７】
従来、映像上の特徴点またはエッジのいずれか一方を用いるモデルベースカメラ姿勢推定手法が知られている。また、映像上の特徴点およびエッジの双方を用いるモデルベースカメラ姿勢推定手法（非特許文献１〜５参照）も知られている。非特許文献１〜４に記載の技術は、エッジと特徴点のずれの総和を最小化する推定手法に関するものである。また、非特許文献５に記載の技術は、エッジおよび特徴点の双方の理論的な分析と、エッジおよび特徴点の双方の特徴の連続性とに基づいた手法に関するものである。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Vacchetti L, Lepetit V,Fua P. Combining edge and texture information for real-time accurate 3D camera tracking. In Proc. of IEEE and ACM Intl. Sym. on Mixed and Augmented Reality, 2004;48-57.
【非特許文献２】Dornaika F, Garcia C. Pose estimation using point and line correspondences. Real-Time Imaging 1999; 5: 215-230.
【非特許文献３】Pressigout M, Marchand E. Real-time 3D model-based tracking: Combining edge and texture information. In Proc. of Intl. Conf. on Robotics and Automation, 2006: 2726-2731.
【非特許文献４】Park H, 0h J, Seo BK, Park JI. Object-adaptive tracking for AR guidance system. In Proc. of Intl. Conf. on Virtual-Reality Continuum and Its Applications in Industry, 2008.
【非特許文献５】Rosten E, Drummond T. Fusing points and lines for high performance tracking. In Proc. of Intl. Conf on Computer Vision, 2005; 2: 1508-1511.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、映像上の特徴点またはエッジのいずれか一方を用いる既存のモデルベースカメラ姿勢推定手法は、信頼性の高い推定を行なうためには、限定された環境に拘束するか、または、環境条件をある程度拘束する必要がある。具体的には、次の（１）〜（３）等の制限が必要である。
（１）撮影シーンに、くっきりした模様が含まれる。
（２）撮影シーンに、複数の強いエッジが含まれる。
（３）撮影条件として、照明などの環境が変化しない。
【００１０】
また、映像上の特徴点およびエッジの双方を用いるモデルベースカメラ姿勢推定手法では、非特許文献１〜４に記載の技術は、特徴点を用いた誤差とエッジを用いた誤差とを統合する誤差を考えて双方に重み付けを行なうものではない。また、仮にそのような統合をしていると捉えたとしてもヒューリステックに（正解ではなく簡易的にまたは近似的に）重みを決定している。つまり、非特許文献１〜４に記載の技術は、特徴点およびエッジからの寄与の双方を解析的に融合して利用するものではなく、環境を拘束する必要がある。
【００１１】
また、非特許文献５に記載の技術は、特徴点およびエッジの双方について理論的な分析をしているものの、特徴点およびエッジの双方の環境条件に対する依存性までは考慮するものではなく、環境を拘束する必要がある。
【００１２】
さらに、放送映像では、撮影シーンが静的であることは稀であり、照明条件も一定ではないため、環境を拘束することが困難である。
【００１３】
本発明は、以上のような問題点に鑑みてなされたものであり、カメラ姿勢の推定において、カメラトラッキングの精度、頑健さ、撮影環境の自由度を向上することを課題とする。
【課題を解決するための手段】
【００１４】
前記課題を解決するために、本発明の請求項１に記載のカメラ姿勢推定装置は、被写体の撮影画像中のエッジおよび特徴点を用いてカメラ姿勢を推定するモデルベースによるカメラ姿勢推定装置であって、３次元モデル記憶手段と、特徴点データベース記憶手段と、トラッキング状態計測手段と、信頼度計算手段と、カメラ姿勢推定手段とを備えることとした。
【００１５】
かかる構成によれば、カメラ姿勢推定装置は、３次元モデル記憶手段に、カメラの撮影方向に存在する被写体の特徴の情報を示す３次元モデルを記憶する。なお、この３次元モデルの位置情報は、例えば世界座標空間の３次元座標で記述される。また、カメラ姿勢推定装置は、特徴点データベース記憶手段に、前記３次元モデルの特徴点の記述子および３次元情報を含む特徴点情報を格納した特徴点データベースを記憶する。なお、この特徴点データベースにおける特徴点の位置情報は、例えばカメラ座標空間の３次元座標で記述される。
【００１６】
そして、カメラ姿勢推定装置は、トラッキング状態計測手段によって、予め作成された前記３次元モデルおよび前記特徴点データベースと、入力される前記被写体を含む撮影画像とに基づいて、前記エッジをベースにして求めたトラッキングの第１誤差と、前記特徴点をベースにして求めたトラッキングの第２誤差とを少なくとも含むトラッキング状態を計測する。
【００１７】
そして、カメラ姿勢推定装置は、信頼度計算手段によって、前記計測されたトラッキング状態に応じて、前記第１誤差と前記第２誤差とを案分する指標として、エッジベーストラッキングと特徴点ベーストラッキングとを統合した統合トラッキングの信頼度を計算する。ここで、撮影環境に応じて第１誤差と第２誤差とを案分する割合を決定する関数を予め求めておくことができる。この関数は、計測されたトラッキング状態に応じて、例えばｘ軸上の区間［ａ，ｂ］の任意の位置の値を返す関数とすることができる。この場合、特徴点ベーストラッキングだけを用いる場合をｘ＝ａの位置で表し、エッジベーストラッキングだけを用いる場合をｘ＝ｂの位置で表してもよい。一般的に、環境変化のないような整えられた環境下では、エッジベーストラッキングは、特徴点ベーストラッキングと比較して精度が良い。そこで、最も単純化した場合には、区間［ａ，ｂ］を区間［０，１］で表すことができる。この場合、例えば、統合トラッキングの信頼度が０．４であれば、第２誤差よりも第１誤差の方の寄与が大きいので、エッジベーストラッキングよりも特徴点ベーストラッキングの方の寄与が大きいことになる。
【００１８】
そして、カメラ姿勢推定装置は、カメラ姿勢推定手段によって、前記統合トラッキングの信頼度に応じて、前記第１誤差と前記第２誤差とを案分する割合を変動させて統合誤差を生成し、前記統合誤差が最小となるように現在のカメラ姿勢を推定する。例えば、入力映像のフレーム毎に以下の動作を行う。すなわち、トラッキング状態として第１誤差および第２誤差等を計測し、これらの結果を用いて統合誤差を生成する。そして、カメラ姿勢を推定するためのカメラトラッキングの予め用意された目的関数に含まれる誤差を、この生成した統合誤差に置き換えて、目的関数における誤差が最小となっときのカメラ姿勢の値を現在のカメラ姿勢の推定値として求める。
【００１９】
また、本発明の請求項２に記載のカメラ姿勢推定装置は、請求項１に記載のカメラ姿勢推定装置において、前記トラッキング状態計測手段が、前記トラッキング状態として、前記第１誤差と、前記第２誤差と、前記エッジ数と、前記特徴点数と、前記カメラの動きに応じてぼけるエッジの個数を示す動きボケ強度と、カメラ姿勢の推定前の値に対する信頼度を示す初期カメラ姿勢の信頼度と、前記３次元モデルのモデルエッジに対応する前記撮影画像中のエッジの周囲に存在するエッジ対応点候補の数とを計測することとした。
【００２０】
かかる横成によれば、カメラ姿勢推定装置において、前記信頼度計算手段が、前記トラッキング状態として計測された動きボケ強度の値が予め定められた第１閾値よりも大きい場合には、前記第１誤差だけ用いるように前記統合トラッキングの信頼度を計算する。
また、前記信頼度計算手段は、前記動きボケ強度の値が前記第１閾値以下の場合、かつ、前記トラッキング状態として計測された初期カメラ姿勢の信頼度の値が予め定められた第２閾値よりも大きい場合には、前記動きボケ強度に比例し、かつ、前記初期カメラ姿勢の信頼度および前記特徴点数にそれぞれ反比例するように案分して前記統合トラッキングの信頼度を計算する。
また、前記信頼度計算手段は、前記動きボケ強度の値が前記第１閾値以下の場合、かつ、前記初期カメラ姿勢の信頼度の値が前記第２閾値以下の場合には、前記エッジ数および前記動きボケ強度にそれぞれ比例し、かつ、前記初期カメラ姿勢の信頼度、前記特徴点数および前記エッジ対応点候補の数にそれぞれ反比例するように案分して前記統合トラッキングの信頼度を計算する。
【００２１】
ここで、動きボケ強度の第１閾値と、初期カメラ姿勢の信頼度の第２閾値とは、撮影環境に応じて異なる値である。これらの閾値は、撮影シーンの実環境に対して予め行う実験に基づいて決定することができる。また、この実験により、映像上のエッジと特徴点の２つの特徴をどのように統一的に評価すれば良いのかを分析することができる。この分析により、エッジと特徴点という異なる特徴量を、撮影環境の変化から受ける影響を考慮して条件毎に場合分けして、適した重み付け導出式を求めた。信頼度計算手段は、これらの重み付け導出式を利用する。そのため、信頼度計算手段は、エッジと特徴点を協調的に利用することができる。これにより、モデルベースによるカメラ姿勢推定手法を頑健にすることができる。そして、このように重み付け導出式を条件に応じて変更して利用することで、エッジと特徴点という異なる特徴を統一的に扱い評価可能とした。したがって、撮影環境の変化から影響を低減し、安定かつ高精度にカメラ姿勢を推定できる。
【００２２】
また、本発明の請求項３に記載のカメラ姿勢推定装置は、請求項２に記載のカメラ姿勢推定装置において、信頼度補正手段をさらに備え、前記カメラ姿勢推定手段は、前記補正信頼度に応じて、前記第１誤差と前記第２誤差とを案分する割合を変動させ、現在のカメラ姿勢を推定することとした。
【００２３】
かかる横成によれば、カメラ姿勢推定装置は、信頼度補正手段によって、前記統合トラッキングの信頼度を補正した補正信頼度を生成することとした。そして、この信頼度補正手段は、前記統合トラッキングの信頼度が０．５より大きく、かつ、前記特徴点数に対する前記エッジ数の割合を示すサンプル比が１より小さい場合には、前記統合トラッキングの信頼度に比例し、かつ、前記サンプル比に反比例するような第１補正式により前記補正信頼度を計算する。ここで、統合トラッキングの信頼度が０．５より大きい場合とは、エッジベーストラッキングの撮影環境が良い場合を示す。また、サンプル比が１より小さい場合とは、エッジの個数が相対的に少ない場合を示す。このようにエッジベーストラッキングの撮影環境が良くても、用いるエッジの数が相対的に少ない場合には、信頼度の計算結果が良好なものとならない場合がある。しかし、第１補正式により補正信頼度を計算することで、モデルエッジと撮影画像から検出するエッジとの誤対応を防止することができる。
【００２４】
また、信頼度補正手段は、前記統合トラッキングの信頼度が０．５より小さく、かつ、前記サンプル比が１より大きい場合には、前記統合トラッキングの信頼度に比例し、かつ、前記サンプル比に反比例するような第２補正式により前記補正信頼度を計算する。ここで、統合トラッキングの信頼度が０．５より小さい場合とは、特徴点ベーストラッキングの撮影環境が良い場合を示す。また、サンプル比が１より大きい場合とは、特徴点の個数が相対的に少ない場合を示す。このように特徴点ベーストラッキングの撮影環境が良くても、用いる特徴点の個数が相対的に少ない場合には、信頼度の計算結果が良好なものとならない場合がある。しかし、第２補正式により補正信頼度を計算することで、特徴点データベースの特徴点と、撮影画像から検出する特徴点との誤対応を防止することができる。
【００２５】
また、請求項４に記載のカメラ姿勢推定装置は、請求項２または請求項３に記載のカメラ姿勢推定装置において、前記トラッキング状態計測手段が、エッジ検出手段と、エッジマッチング手段と、動きボケ計算手段と、特徴点検出マッチング手段と、初期カメラ姿勢計算手段とを備えることとした。
【００２６】
かかる横成によれば、カメラ姿勢推定装置において、トラッキング状態計測手段は、エッジ検出手段によって、入力される前記撮影映像からエッジを検出する。そして、トラッキング状態計測手段は、エッジマッチング手段によって、前記３次元モデルに含まれるモデルエッジと、前記検出されたエッジとのマッチング処理により、前記エッジ対応点候補の数と、前記エッジ数とを算出する。また、トラッキング状態計測手段は、動きボケ計算手段によって、入力される前記撮影映像の動きボケに基づき、前記動きボケ強度を算出する。また、トラッキング状態計測手段は、特徴点検出マッチング手段によって、入力される前記撮影映像から特徴点を検出し、前記特徴点データベースに格納された特徴点と、前記検出された特徴点とのマッチング処理により、前記特徴点数を算出する。そして、トラッキング状態計測手段は、初期カメラ姿勢計算手段によって、前記特徴点のマッチング処理の結果から前記初期カメラ姿勢を求め、この求めた初期カメラ姿勢に対して前記初期カメラ姿勢の信頼度を算出する。ここで、初期カメラ姿勢は推定前のカメラ姿勢を示す。
【００２７】
また、請求項５に記載のカメラ姿勢推定プログラムは、被写体の撮影画像中のエッジおよび特徴点を用いてモデルベースによりカメラ姿勢を推定するために、カメラの撮影方向に存在する被写体の特徴の情報を示す３次元モデルを記憶する３次元モデル記憶手段と、前記３次元モデルの特徴点の記述子および３次元情報を含む特徴点情報を格納した特徴点データベースを記憶する特徴点データベース記憶手段とを備えたコンピュータを、トラッキング状態計測手段、信頼度計算手段、カメラ姿勢推定手段として機能させるためのプログラムである。
【００２８】
かかる構成によれば、カメラ姿勢推定プログラムは、トラッキング状態計測手段によって、予め作成された前記３次元モデルおよび前記特徴点データベースと、入力される前記被写体を含む撮影画像とに基づいて、前記エッジをベースにして求めたトラッキングの第１誤差と、前記特徴点をベースにして求めたトラッキングの第２誤差とを少なくとも含むトラッキング状態を計測する。
【００２９】
そして、カメラ姿勢推定プログラムは、信頼度計算手段によって、前記計測されたトラッキング状態に応じて、前記第１誤差と前記第２誤差とを案分する指標として、エッジベーストラッキングと特徴点ベーストラッキングとを統合した統合トラッキングの信頼度を計算する。
【００３０】
そして、カメラ姿勢推定プログラムは、カメラ姿勢推定手段によって、前記統合トラッキングの信頼度に応じて、前記第１誤差と前記第２誤差とを案分する割合を変動させて統合誤差を生成し、前記統合誤差が最小となるように現在のカメラ姿勢を推定する。
【発明の効果】
【００３１】
請求項１に記載の発明によれば、カメラ姿勢推定装置は、予め作成されたモデルと特徴点データベースと撮影画像とに基づいて計測されたトラッキング状態に応じて、エッジをベースにして求めたトラッキングの第１誤差と、特徴点をベースにして求めたトラッキングの第２誤差とを案分する割合を変動させて統合誤差を生成し、現在のカメラ姿勢を推定する。したがって、いずれか一方の誤差を用いる場合や、双方の誤差を固定的に案分する場合に比べて、カメラトラッキングの精度、頑健さ、撮影環境の自由度を向上することができる。
【００３２】
請求項２に記載の発明によれば、カメラ姿勢推定装置は、トラッキング状態として、エッジをベースにして求めたトラッキングの第１誤差、特徴点をベースにして求めたトラッキングの第２誤差、動きボケ強度、エッジ数、特徴点数、初期カメラ姿勢の信頼度、およびエッジ対応点候補の数とを計測し、計測結果に応じて最適の条件式で信頼度を計算する。したがって、カメラ姿勢の推定において、撮影環境が変わっても柔軟に適用することができる。
【００３３】
請求項３に記載の発明によれば、カメラ姿勢推定装置は、特徴点数に対するエッジ数の割合を示すサンプル比と統合トラッキングの信頼度の値とに応じて、統合トラッキングの信頼度を補正した補正信頼度を生成する。したがって、エッジまたは特徴点の誤対応を防止することができる。
【００３４】
請求項４に記載の発明によれば、カメラ姿勢推定装置は、マッチング処理により、エッジ対応点候補の数と、エッジ数と、特徴点数とを算出し、撮影映像から、動きボケ強度と初期カメラ姿勢の信頼度とを算出することができる。そのため、安定的にカメラ姿勢を推定することができる。
【００３５】
請求項５に記載の発明によれば、カメラ姿勢推定プログラムは、予め作成されたモデルと特徴点データベースと撮影画像とに基づいて計測されたトラッキング状態に応じて、エッジをベースにして求めたトラッキングの第１誤差と、特徴点をベースにして求めたトラッキングの第２誤差とを案分する割合を変動させて統合誤差を生成し、現在のカメラ姿勢を推定することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態に係るカメラ姿勢推定装置の構成を模式的に示すブロック図である。
【図２】本発明の実施形態に係るカメラ姿勢推定装置を含む映像合成システムを模式的に示す説明図であって、（ａ）は映像合成システムの構成を示すブロック図、（ｂ）は人物が装着した状態の一例をそれぞれ示している。
【図３】本発明のモデルベースによるカメラトラッキングの概要を示す説明図であって、（ａ）は３次元モデル、（ｂ）は過去のカメラ姿勢を用いた投影画像、（ｃ）は現在のカメラ画像、（ｄ）は移動量をそれぞれ示している。
【図４】従来方法を用いてカメラ姿勢の初期値にガウスノイズを加えた場合のカメラ姿勢推定誤差のシミュレーション結果を示すグラフであって、（ａ）は点ベーストラッキング方法、（ｂ）はエッジベーストラッキング方法を示している。
【図５】従来方法を用いてシーンの複雑さに相当する視覚的手がかりの量とカメラ姿勢推定誤差との関係のシミュレーション結果を示すグラフであって、（ａ）は点ベーストラッキング方法、（ｂ）はエッジベーストラッキング方法を示している。
【図６】従来のエッジベーストラッキング方法においてシーンの複雑さが影響するエッジ探索性能に関するカメラ姿勢推定誤差のシミュレーション結果を示すグラフである。
【図７】従来方法を用いてカメラ映像に動きボケを加えた場合のカメラ姿勢推定誤差のシミュレーション結果を示すグラフであって、（ａ）は点ベーストラッキング方法、（ｂ）はエッジベーストラッキング方法を示している。
【図８】従来方法を用いてカメラ映像にガウスノイズを加えた場合のカメラ姿勢推定のシミュレーション結果を示すグラフであって、（ａ）は点ベーストラッキング方法、（ｂ）はエッジベーストラッキング方法を示している。
【図９】本発明の実施形態に係るカメラ姿勢推定装置の信頼度計算処理および信頼度補正処理の手順の一例を示すフローチャートである。
【図１０】カメラ姿勢の並進項ｔ１の推定結果を示すグラフであって、（ａ）は従来の点ベース方法、（ｂ）は従来のエッジベース方法、（ｃ）はηを固定した場合、（ｄ）は本発明においてηを変化させた場合、（ｅ）はηの変化をそれぞれ示している。
【図１１】カメラ姿勢の並進項ｔ２の推定結果を示すグラフであって、（ａ）は従来の点ベース方法、（ｂ）は従来のエッジベース方法、（ｃ）はηを固定した場合、（ｄ）は本発明においてηを変化させた場合をそれぞれ示している。
【図１２】カメラ姿勢の並進項ｔ３の推定結果を示すグラフであって、（ａ）は従来の点ベース方法、（ｂ）は従来のエッジベース方法、（ｃ）はηを固定した場合、（ｄ）は本発明においてηを変化させた場合をそれぞれ示している。
【図１３】本発明において、カメラの動きと共に照明が変化する場合にカメラ姿勢を推定したときの映像合成結果を模式的に示す図であって、（ａ）は照明が通常の場合、（ｂ）は照明が暗くなった場合、（ｃ）は照明が明るくなった場合をそれぞれ示している。
【発明を実施するための形態】
【００３７】
以下、本発明のカメラ姿勢推定装置を実施するための形態（以下「実施形態」という）について図面を参照して詳細に説明する。以下では、１．カメラ姿勢推定装置の概要、２．映像合成システム、３．カメラ姿勢推定装置の構成、４．線形反復解法によるモデルベースカメラトラッキング、５．撮影環境の分析手法、６．カメラ姿勢推定装置の動作の各章に分けて順次説明する。
【００３８】
［１．カメラ姿勢推定装置の概要］
図１に示すカメラ姿勢推定装置１は、被写体の撮影画像中のエッジおよび特徴点を用いてカメラ姿勢を推定するモデルベースによるカメラ姿勢推定装置である。ここで、カメラ姿勢とは、いわゆるカメラの外部パラメータである。ここでは、例えば、カメラレンズの撮影角度、カメラレンズの設置場所や高さを示す３次元座標、カメラのパン軸、チルト軸、ズーム軸、フォーカス軸等の操作を反映したカメラ姿勢を示す軸移動角度や軸移動距離、カメラレンズの焦点距離、カメラの撮像素子の画素ピッチ等を含んでもよい。
【００３９】
このカメラ姿勢推定装置１では、図３に示すように、被写体の３次元モデルを仮想的なスクリーンに投影した投影画像と、撮影映像の被写体上の特徴とのズレを最小化することでカメラ姿勢を推定する手法を利用している。本実施形態では、映像上の被写体の特徴として、エッジと特徴点の双方の情報を映像に対応して重み付けをして利用する。また、後記するように、エッジと特徴点の双方の情報が撮影環境から受ける影響を、事前に撮影映像から分析することとした。この分析結果に基づき導きだした重み付け導出式を、カメラ姿勢推定装置１が利用し、カメラ映像と投影映像のズレを評価して重み付けに反映する。これにより、照明条件や、カメラの速い動きなど一般的に想定される撮影の条件、環境の変化に対する頑健さを備えることができる。
【００４０】
図１に示したカメラ姿勢推定装置１は、図２に示す映像合成システム１００の構成部分のみを示したものであり、図１では省略したカメラ２等を含んでもよい。ここで、映像合成システム１００について説明する。
【００４１】
［２．映像合成システム］
図２（ａ）に示す映像合成システム１００は、ユーザが拡張現実感を享受するためのシステムであって、図１に示したカメラ姿勢推定装置１の１つの適用例を示している。
映像合成システム１００は、カメラ姿勢推定装置１と、カメラ２と、仮想３次元物体モデル記憶手段３と、レンダリング装置４と、映像合成装置５とを備える。ここでは、映像合成システム１００は、図２（ｂ）に示すようにユーザに装着されるものである。図２（ｂ）に示す装着者Ｐは、頭部に、カメラ２とＨＭＤ（Head Mounted Display）７とを装着している。また、装着者Ｐは、腰部にウェアラブルＰＣ（Personal Computer）８を装着している。このウェアラブルＰＣ８は、カメラ姿勢推定装置１と、仮想３次元物体モデル記憶手段３と、レンダリング装置４と、映像合成装置５とを備える。
【００４２】
この映像合成システム１００では、ユーザは、視覚センサとしてのカメラ以外には特殊なセンサなどを装着する必要なしに拡張現実感を享受することができる。
カメラ２は、ユーザの頭部に装着される小型カメラであり、撮影映像をカメラ姿勢推定装置１および映像合成装置５に出力する。
カメラ姿勢推定装置１は、映像中のエッジおよび特徴点という視覚的手がかりを解析的に統合してカメラ姿勢を推定し、推定したカメラ姿勢をレンダリング装置４に出力する。なお、カメラ姿勢推定装置１の詳細については後記する。
【００４３】
仮想３次元物体モデル記憶手段３は、ＣＧ（Computer Graphics）データ６を記憶するものであって、一般的なメモリ等から構成される。
レンダリング装置４は、ＣＧデータ６に基づいて仮想３次元空間データを生成し、入力されたカメラ姿勢に基づいてＣＧオブジェクト（ＣＧ画像）およびアルファプレーンをレンダリングし、レンダリングしたＣＧオブジェクトを、アルファプレーンと共に映像合成装置５に出力する。なお、アルファプレーンは、ＣＧオブジェクトの被写体領域とそうでない領域とを区別する情報を有する画像である。
【００４４】
映像合成装置５は、レンダリング装置４のレンダリングしたＣＧオブジェクトの画像とアルファプレーンを用いて、カメラ２から出力される撮影画像に映像合成するものである。映像合成装置５の出力する合成画像（合成映像）は、例えば図２（ｂ）に示すＨＭＤ７に表示され、ユーザに提示される。なお、映像合成装置５は、公知のバーチャルスタジオ用ＣＧ合成装置で実現するようにしてもよい。
【００４５】
映像合成システム１００によれば、ユーザは、例えば、実際にそこには配置されていない仮想的な物体をあたかも存在しているように視覚的に感じながら行動することができる。つまり、ユーザは拡張現実感を享受しながら行動できる。
また、この映像合成システム１００では、環境を制御していない。例えば、装着者Ｐが行動する環境において、次の（１）〜（３）のような条件を人工的に実現するように外部から環境を制御するといったことをしていない。
（１）撮影シーンに、くっきりした模様が含まれる。
（２）撮影シーンに、複数の強いエッジが含まれる。
（３）撮影条件として、照明などの環境が変化しない。
つまり、この映像合成システム１００では、装着者Ｐが視線を向けた方向（カメラ２の撮影方向）に、くっきりした模様やエッジが存在しない場合に、それを察知して視線を向けた方向に、くっきりした模様やエッジを自動的に配置するようなことはしていない。また、装着者Ｐが暗い方向に視線を向けた場合に、それを察知して視線を向けた方向の照明を明るくしたりするように環境をコントロールすることはしていない。
しかしながら、映像合成システム１００は、本実施形態のカメラ姿勢推定装置１を備えているために頑健にカメラ姿勢を推定することができる。また、時間的に変化のある環境下でも頑健にカメラ姿勢を推定することができる。
【００４６】
［３．カメラ姿勢推定装置の構成］
図１に示すカメラ姿勢推定装置１は、例えば、ＣＰＵ等の演算装置と、メモリやハードディスク等の記憶装置（記憶手段）と、外部との間で各種情報の送受信を行うインタフェース装置とを備えたコンピュータと、このコンピュータにインストールされたプログラムとから構成される。
【００４７】
カメラ姿勢推定装置１は、ハードウェア装置とソフトウェアとが協働することによって、前記したハードウェア資源がプログラムによって制御されることにより実現され、図１に示すように、３次元モデル記憶手段１０と、特徴点データベース記憶手段２０と、映像入力手段３０と、トラッキング状態計測部（トラッキング状態計測手段）４０と、信頼度計算部（信頼度計算手段）５０と、信頼度補正部（信頼度補正手段）６０と、カメラ姿勢推定手段７０と、出力手段８０とを備えている。なお、図１のブロック図は、カメラパラメータ推定アルゴリズムの処理の流れをそのまま反映した図を示している。
【００４８】
＜３次元モデル記憶手段＞
３次元モデル記憶手段１０は、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等のメモリやハードディスク等の記憶装置から構成され、事前に作成された３次元モデル１１を記憶することとした。３次元モデル１１は、カメラの撮影方向に存在する被写体の特徴の情報を示す。被写体の特徴の情報とは、例えば、被写体の形状や表面模様に含まれる絵柄のコーナーなどの特徴点の位置を示す情報である。なお、この３次元モデル１１の位置情報は、例えば世界座標空間の３次元座標で記述される。
【００４９】
＜特徴点データベース記憶手段＞
特徴点データベース記憶手段２０は、メモリやハードディスク等の記憶装置から構成され、事前に作成された特徴点データベース２１を記憶することとした。特徴点データベース２１は、被写体の３次元モデル１１の特徴点の記述子および３次元情報を含む特徴点情報を格納したデータベースである。ここで、３次元モデルの特徴点の記述子とは、被写体の３次元モデルに存在する特徴点はどういったものかということを記述したもので、特徴点を識別することのできる名称や識別子を示す。また、３次元情報とは、３次元モデルの特徴点のｘ座標、ｙ座標、ｚ座標を示す。なお、この特徴点データベースにおける特徴点の３次元情報は、３次元モデルの世界座標空間からカメラ座標空間に投影された座標（カメラ座標）で記述されている。また、特徴点データベース２１は、３次元モデル１１の情報を基に想定したカメラ姿勢で、これらの情報を仮想的なスクリーンに投影したものと、この投影したときのカメラパラメータとを格納している。
【００５０】
＜映像入力手段＞
映像入力手段３０は、被写体を含む撮影映像を入力するものであり、所定の入力インタフェース等から構成される。なお、映像入力手段３０は、図示しない通信ネットワークから撮影映像を入力する通信インタフェース等から構成するようにしてもよい。ここで入力された撮影映像は、トラッキング状態計測部４０のエッジ検出マッチング部４１、動きボケ計算部４２、特徴点検出マッチング部４３に出力される。
【００５１】
＜トラッキング状態計測部＞
トラッキング状態計測部（トラッキング状態計測手段）４０は、３次元モデル１１および特徴点データベース２１と、入力される撮影画像とに基づいて、エッジ対応誤差err1と、特徴点対応誤差err2とを含むトラッキング状態を計測するものである。
【００５２】
ここで、エッジ対応誤差err1は、エッジをベースにして求めたトラッキング誤差（第１誤差）であり、対応するエッジがどれくらいずれているかを示す。
また、特徴点対応誤差err2は、特徴点をベースにして求めたトラッキング誤差（第２誤差）であり、対応する特徴点がどれくらいずれているかを示す。
【００５３】
本実施形態では、トラッキング状態計測部４０は、トラッキング状態として、さらに、エッジ数ａeと、エッジ対応点候補の数ｃcと、特徴点数ａpと、初期カメラ姿勢の信頼度ｖと、動きボケ強度ｂとを計測する。
エッジ数ａeは、３次元モデル１１のモデルエッジに対応する撮影画像中のエッジ数を表す。
エッジ対応点候補の数ｃcは、モデルエッジに対応する撮影画像中のエッジの周囲に存在するエッジ対応点候補の数を表す。つまり、エッジ対応点候補の数ｃcは、対象のエッジの周りに存在する異なるエッジの数を示す。
特徴点数ａpは、特徴点データベース２１の特徴点に対応する撮影画像中の特徴点数を表す。
初期カメラ姿勢の信頼度ｖは、カメラ姿勢の推定前の値（カメラ姿勢の初期値）に対する統合誤差の信頼度を示す。これは、最適化の初期値によっては、エラーが大きくなってしまうことを考慮したパラメータである。
動きボケ強度ｂは、カメラ２の動きに応じてぼけるエッジの個数を示す。ここで、エッジがぼけるとは、映像的にはカメラを振ったときにエッジがフワーと広がることを示す。
【００５４】
つまり、本実施形態では、トラッキング状態計測部４０は、トラッキング状態として、エッジ対応誤差err1および特徴点対応誤差err2の他に、入力画像から５種類のパラメータ（ｖ、ｂ、ｃc、ａe、ａp）を計測する。この５種類のパラメータは、後段の信頼度計算部５０で信頼度を計算するために用いられるものである。
これらのパラメータを計測するため、トラッキング状態計測部４０は、図１に示すように、エッジ検出マッチング部４１と、動きボケ計算部（動きボケ計算手段）４２と、特徴点検出マッチング部（特徴点検出マッチング手段）４３と、初期カメラ姿勢計算部（初期カメラ姿勢計算手段）４４とを備える。なお、計測とは、対象の量の直接的な計測と、関連した量から直接計測した結果から算出するという間接的な計測との両方を含んでいる。
【００５５】
エッジ検出マッチング部４１は、入力される撮影映像からエッジを検出し、３次元モデル１１に格納されたモデルエッジと、検出されたエッジとのマッチング処理を行うものである。ここでは、エッジ検出マッチング部４１は、エッジ検出部（エッジ検出手段）４５と、エッジマッチング部（エッジマッチング手段）４６とを備える。
エッジ検出部４５は、入力する撮影画像からエッジを検出し、エッジマッチング部４６に出力する。
【００５６】
エッジマッチング部４６は、被写体の３次元モデル１１に含まれるモデルエッジと、エッジ検出部４５で検出されたエッジとのマッチング処理を行い、エッジ対応点候補の数ｃcとエッジ数ａeとをカウントして算出する。エッジマッチング部４６で用いるオペレータは、特に限定されないが、例えば、エッジ検出オペレータでエッジ数ａe等を算出することができる。ここで、エッジ検出オペレータは、Sobelオペレータであってもよいし、Prewittオペレータ、Robertsオペレータ等の微分型と呼ばれるエッジ検出手法や、Robinsonのエッジ検出オペレータやKirschのエッジ検出オペレータ等のテンプレート型と呼ばれるエッジ検出手法等、様々なエッジ検出手法を用いることができる。算出されたエッジ対応点候補の数ｃcとエッジ数ａeとは、信頼度計算部５０に出力される。なお、得られたエッジ数ａeの値は、信頼度補正部６０でも用いられる。
【００５７】
また、エッジマッチング部４６は、マッチング処理によりエッジ対応誤差err1を求め、求めたエッジ対応誤差err1をカメラ姿勢推定手段７０の姿勢移動量計算部７１に出力する。なお、エッジマッチング部４６は、初期カメラ姿勢計算部４４から取得する、推定前の状態（これを状態ｋとする）のカメラ姿勢（初期カメラ姿勢Ｅ(k)）をカメラ姿勢推定手段７０のカメラ姿勢計算部７２に出力する。
【００５８】
動きボケ計算部（動きボケ計算手段）４２は、入力される撮影映像の動きボケに基づき、カメラの動きに応じて映像中でぼけるエッジの個数を示す動きボケ強度ｂを算出する。なお、動きボケ強度ｂは直接的に測定するものではなく、エッジの平均幅ｗavgから算出するものである。なお、このような変換には従来公知の手法を用いることができる。算出された動きボケ強度ｂは、信頼度計算部５０に出力される。
【００５９】
特徴点検出マッチング部（特徴点検出マッチング手段）４３は、入力される撮影映像から特徴点を検出し、特徴点データベース２１に格納された特徴点と、検出された特徴点とのマッチング処理により、特徴点数ａpをカウントして算出する。特徴点検出マッチング部４３で用いるオペレータは、特に限定されるものではなく、特徴点数ａpをカウントすることができるものであればよい。算出された特徴点数ａpの値は、信頼度計算部５０に出力される。なお、得られた特徴点数ａpの値は、信頼度補正部６０でも用いられる。
【００６０】
初期カメラ姿勢計算部（初期カメラ姿勢計算手段）４４は、特徴点検出マッチング部４３から、特徴点のマッチング処理の結果と、特徴点データベース２１に格納されたカメラパラメータ等の情報とを取得し、推定前の状態（状態ｋ）のカメラ姿勢（初期カメラ姿勢Ｅ(k)）を計算で求め、エッジマッチング部４６に出力する。なお、状態ｋは、例えば、入力映像のフレーム番号に対応している。
また、初期カメラ姿勢計算部４４は、求めた初期カメラ姿勢Ｅ(k)に対して初期カメラ姿勢の信頼度ｖを算出する。算出された初期カメラ姿勢の信頼度ｖの値は、信頼度計算部５０に出力される。
【００６１】
＜信頼度計算部＞
信頼度計算部（信頼度計算手段）５０は、トラッキング状態計測部４０で計測されたトラッキング状態に応じて、撮影画像中のエッジから求めたエッジ対応誤差err1と、撮影画像中の特徴点から求めた特徴点対応誤差err2とを案分する指標として、エッジベーストラッキングと特徴点ベーストラッキングとを統合した統合トラッキングの信頼度ｆを計算するものである。
【００６２】
本実施形態では、信頼度計算部５０は、計測された動きボケ強度ｂの値が予め定められた第１閾値ｔｈbよりも大きい場合には、エッジ対応誤差err1だけ用いるように統合トラッキングの信頼度ｆを計算する。
また、信頼度計算部５０は、計測された動きボケ強度ｂの値が第１閾値ｔｈb以下の場合、かつ、計測された初期カメラ姿勢の信頼度ｖの値が予め定められた第２閾値ｔｈvよりも大きい場合には、動きボケ強度ｂに比例し、かつ、初期カメラ姿勢の信頼度ｖおよび特徴点数ａpにそれぞれ反比例するように案分して統合トラッキングの信頼度ｆを計算する。
【００６３】
また、信頼度計算部５０は、計測された動きボケ強度ｂの値が第１閾値ｔｈb以下の場合、かつ、計測された初期カメラ姿勢の信頼度ｖの値が第２閾値ｔｈv以下の場合には、エッジ数ａeおよび動きボケ強度ｂにそれぞれ比例し、かつ、初期カメラ姿勢の信頼度ｖ、特徴点数ａpおよびエッジ対応点候補の数ｃcにそれぞれ反比例するように案分して統合トラッキングの信頼度ｆを計算する。
【００６４】
統合トラッキングの信頼度ｆは、例えば、式（１）のように記述される。ここで、ｆは統合トラッキングの信頼度、ｂは動きボケ強度、ｖは初期カメラ姿勢の信頼度、ａeはエッジ数、ａpは特徴点数、ｃcはエッジ対応点候補の数、Κ0、Κ1は調整用の定数、thbは動きボケ強度ｂ閾値（第１閾値）、thvは初期カメラ姿勢の信頼度の閾値（第２閾値）をそれぞれ示す。Κ0、Κ1、thb、thvはユーザが指定することができる。
【００６５】
【数１】
2011118724.tif 000003
【００６６】
なお、後記するように、式（１）のif文を上から順番に適用して必要なパラメータの演算だけを行うようにすることもできる。ここでは、一例として、トラッキング状態計測部４０が５種類のパラメータ（ｖ、ｂ、ｃc、ａe、ａp）をすべて算出することとしているので、式（１）を式（１ａ）、式（１ｂ）、式（１ｃ）のように書き換えることとする。
【００６７】
【数２】
2011118724.tif 000004
【００６８】
＜信頼度補正部＞
信頼度補正部（信頼度補正手段）６０は、信頼度計算部５０で計算された統合トラッキングの信頼度ｆを補正した補正信頼度ηを生成するものである。前記した式（１ｂ）および式（１ｃ）は、特徴点の数がエッジの数と同じであると仮定して導出されているので、特徴点の数とエッジの数とが同等ではない場合には不都合が生じる可能性がある。そこで、特徴点の数とエッジの数とが同等ではない場合に、統合トラッキングの信頼度ｆを補正することした。本実施形態では、信頼度補正部６０は、特徴点数ａpに対するエッジ数ａeの割合を示すサンプル比γを求め、サンプル比γと、そのときの統合トラッキングの信頼度ｆとに応じて補正信頼度ηを生成する。これにより、特徴点の数とエッジの数とが同等ではない場合であってもカメラ姿勢の推定精度を向上させることができる。ここで生成された補正信頼度ηは、カメラ姿勢推定手段７０に出力される。
【００６９】
本実施形態では、信頼度補正部６０は、統合トラッキングの信頼度ｆが０．５より大きく、かつ、サンプル比γが１より小さい場合には、統合トラッキングの信頼度ｆに比例し、かつ、サンプル比γに反比例するような第１補正式により補正信頼度ηを計算する。
また、信頼度補正部６０は、統合トラッキングの信頼度ｆが０．５より小さく、かつ、サンプル比γが１より大きい場合には、統合トラッキングの信頼度ｆに比例し、かつ、サンプル比γに反比例するような第２補正式により補正信頼度ηを計算する。
【００７０】
ただし、補正の必要がない場合、つまり、前記した２つの条件を満たさない場合には、信頼度補正部６０は、取得した統合トラッキングの信頼度ｆをそのまま補正信頼度ηとする（η＝ｆ）。つまり、この場合には、統合トラッキングの信頼度ｆ（補正信頼度η）が、カメラ姿勢推定手段７０に出力されることとなる。
【００７１】
信頼度補正部６０は、例えば、次の式（２）により補正信頼度ηを計算し、式（３）によりサンプル比γを算出する。
【００７２】
【数３】
2011118724.tif 000005
【００７３】
なお、式（２）は、次の式（２ａ）に示す第１補正式、式（２ｂ）に示す第２補正式、式（２ｃ）、式（２ｄ）に分解することができる。
【００７４】
【数４】
2011118724.tif 000006
【００７５】
＜カメラ姿勢推定手段＞
カメラ姿勢推定手段７０は、信頼度計算部５０で計算された統合トラッキングの信頼度ｆに応じて、エッジ対応誤差err1と、特徴点対応誤差err2とを案分した統合誤差errを生成し、統合誤差errが最小となるように現在のカメラ姿勢を推定するものである。ここでは、推定前の状態ｋにおけるカメラ姿勢（初期カメラ姿勢Ｅ(k)）に対して、現在のカメラ姿勢をＥ(k+1)と表記する。なお、状態ｋは、例えば、入力映像のフレーム毎の状態を示す。本実施形態では、カメラ姿勢推定手段７０は、信頼度補正部６０で生成された補正信頼度ηに応じて統合誤差errを求め、現在のカメラ姿勢Ｅ(k+1)を推定することとした。
【００７６】
カメラ姿勢推定手段７０は、カメラトラッキング誤差が最小となるときのカメラ姿勢を例えば、後記する線形反復解法により推定するものであり、姿勢移動量計算部７１と、カメラ姿勢計算部７２とを備える。
姿勢移動量計算部７１は、エッジマッチング部４６から取得するエッジ対応誤差err1と、特徴点検出マッチング部４３から取得する特徴点対応誤差err2とを、信頼度補正部６０から取得する補正信頼度ηに応じて加重総和し、この統合誤差errが最小となるようにカメラ姿勢移動量ΔＥを算出する。この姿勢移動量計算部７１は、例えば、式（４）により統合誤差errを求める。この統合誤差errは、最小化させるエラー関数において、エッジおよび特徴点の双方の対応誤差（信頼度）により求めた単一の重み値である。この重み値は、後記するように分析により解析的に求められたものである。
【００７７】
err＝ηerr1＋（１−η）err2  …  式（４）
【００７８】
カメラ姿勢計算部７２は、姿勢移動量計算部７１で算出されたカメラ姿勢移動量ΔＥと、エッジマッチング部４６から取得する推定前の初期カメラ姿勢Ｅ(k)（状態ｋのカメラ姿勢Ｅ(k)）とに基づいて、式（５）により現在のカメラ姿勢Ｅ(k+1)を推定する。カメラ姿勢Ｅ(k)，Ｅ(k+1)等は後記するようにマトリクスで表されるものであって、式（５）において「・」はマトリクスの乗算を示す。
【００７９】
Ｅ(k+1)＝ΔＥ・Ｅ(k)  …  式（５）
【００８０】
なお、図１に示したトラッキング状態計測部４０、信頼度計算部５０、信頼度補正部６０、およびカメラ姿勢推定部は、例えば、ＣＰＵが記憶手段のＲＯＭ等に格納された所定のプログラムをＲＡＭに展開して実行することにより実現されるものである。
【００８１】
＜出力手段＞
出力手段８０は、推定された現在のカメラ姿勢Ｅ(k+1)をレンダリング装置４（図２参照）や図示しない出力装置に出力するものであり、所定の出力インタフェース等から構成される。なお、図示しない出力装置は、例えば、ＨＭＤ、ＣＲＴ（Cathode Ray Tube）、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、ＥＬ（Electronic Luminescence）等から構成される。なお、図示しない出力装置は、レンダリング装置４（図２参照）や映像合成装置５（図２参照）から出力される情報を切り替えてそれぞれ表示することもできる。
【００８２】
［４．線形反復解法によるモデルベースカメラトラッキング］
＜４．０．＞
ここでは、カメラ姿勢推定手段７０が行う線形反復解法の原理を説明する。カメラ姿勢の推定処理はLie群およびLie代数に基づくDrummondの手法をベースとしている。なお、Drummondの手法については、「Drummond T. and Cipolla R.: Real-time visual tracking of complex structures, IEEE Trans. on Pattern Analysis and Machine Intelligence 2002; 24(7): 932-946」に記載されている。以下に、具体的な手法について述べる。
【００８３】
＜４．１．  カメラ射影行列＞
カメラ射影行列Ｐは、シーン上の（被写体上の特徴点などの）３次元座標（Ｘ，Ｙ，Ｚ）とそれを投影した撮影画像上の２次元座標（u/w、v/w）との関係から、カメラの内部マトリクスをＫ、外部パラメータをＥとして乗算したものとして定義され、次の式（６）のように表される。なお、内部マトリクスは、例えばレンズ歪み等を含む光学的な未知の内部パラメータを示す。
【数５】
2011118724.tif 000007
ここで、Ｒおよびｔはそれぞれカメラの回転マトリクスと並進マトリクスである。
【００８４】
＜４．２．  カメラ姿勢の反復更新による推定＞
カメラの内部パラメータと視覚的な手がかりの3D-2Dの対応とが与えられた場合、式（６）の方程式を解くことにより、カメラの外部パラメータＥを計算可能である。本実施形態では、次の式（７）を繰り返すことにより、現フレームより前あるいはラフに求めたカメラ姿勢から現フレームのカメラ姿勢のマトリクスに更新する。つまり、繰り返しにより現フレームヘの運動行列に最適化する。
【数６】
2011118724.tif 000008
【００８５】
ここで、Ｍは４×４の運動行列でｘ，ｙ，ｚ各軸方向に対する微小な並進とｘ，ｙ，ｚ軸に対する微小な回転であり次の式（８）で表される。
【数７】
2011118724.tif 000009
【００８６】
計算コストを低減するため、運動行列Ｍを次の式のように近似する。
【数８】
2011118724.tif 000010
【００８７】
したがって、カメラ姿勢の推定はαi（ｉ＝0，1，…，5）を推定することと等価で、それは、以上の演算を繰り返すことで行なうことが可能である。
【００８８】
＜４．３．  反復計算によるαiの推定＞
投影したモデル（視覚的手がかりの座標）と、撮影画像上の対応する視覚的な手がかり（対応点）との誤差の２乗総和は次のように定式化できる。
【数９】
2011118724.tif 000011
【００８９】
ここでＮは、エッジや特徴点などの視覚的な手がかりの数、ｄは、視覚的手がかりの座標と対応点との距離である。ｆiは視覚的手がかりの座標と対応点との動き成分（Ｇiで点を投影した際の変位に関係するもの：Drummondの手法参照）である。
もし、αiが正解αiGTと等しい場合、式（１１）の偏微分方程式は０となる。
【数１０】
2011118724.tif 000012
【００９０】
しかし、通常実環境ではαiはエラー項εを含むため、式（１１）は０にはならない。
つまり、αi＝αiGT＋εとなる。したがって式（１１）は以下のように変形できる。
【数１１】
2011118724.tif 000013
【００９１】
式（１２）の方程式より、エラー項εを求めるための以下の線形方程式を得ることができる。
【数１２】
2011118724.tif 000014
【００９２】
αiより、得られたエラー項εを減算することによりαiExtを得ることができる。また反復処理により、正解付近に収束する。つまり、運動行列Ｍは、４．２節で説明した式（７）を繰り返すループの内側に、この４．３節の線形方程式を解くループがあり、これらの反復により最適化がなされている。
【００９３】
＜４．４．  視覚的な手がかりの解析的融合＞
エッジと特徴点の両者の視覚的手がかりを相補的に利用するため前記した式（１０）を以下のように変形する。
【数１３】
2011118724.tif 000015
【００９４】
ここで、Ｎe＋Ｎfは視覚的な手がかりの数（＝Ｎ）であり、Ｎeは、エッジの数（ａe）、Ｎfは特徴点の数（ａf）を示す。また、ηは補正信頼度を示す。前記した式（１１）、式（１２）、式（１３）についても同様に変形する。これらを成立させるには、補正信頼度ηを決定する必要がある。なお、式（１４）において、補正信頼度ηを統合トラッキングの信頼度ｆに置き換えてもよい。
【００９５】
［５．撮影環境の分析手法］
＜５．０．  前提＞
この章では、各視覚的な手がかり（エッジや特徴点）をロバストに迫跡するために望ましい条件を分析して、任意環境下でダイナミックに統合トラッキングの信頼度ｆまたは補正信頼度ηを調整する評価式を求める手法の一例を説明する。以下では、エッジや特徴点の固有の性質を分析および解析しているが、この解析では、エッジや特徴点の双方の環境条件に対する依存性に着目している。
【００９６】
この解析のために、既知のカメラワークでＣＧ映像を制作し利用した。ここで、シーンに存在するＣＧオブジェクトをできるだけ多く撮影可能なようにＣＧオブジェクトから離してカメラを配置するよう設定した。そして、作成した映像を利用し、特徴点のみとエッジのみによる手法のそれぞれでカメラ姿勢を推定した。綿密な分析を行うために、既知（正解）の姿勢を初期（または直前）の姿勢として使用した。ここでは、４種類の分析（分析１〜分析４）を行った。
【００９７】
＜５．１．  分析１：ガウスノイズをカメラ姿勢推定の初期値に加えた場合＞
特徴点（以下、単に点ともいう）あるいはエッジベースのカメラトラッキング手法のロバスト性をカメラ姿勢推定の初期値（姿勢推定前の値）の正確さ（信頼度ｖ）に関して分析するため、カメラ姿勢推定の初期値の並進項に対して、異なるレベルのガウスノイズを加えシミュレーションを行った。このときの結果を図４に示す。
【００９８】
図４（ａ）は、点ベーストラッキングの結果、図４（ｂ）は、エッジベーストラッキングの結果をそれぞれ示している。各グラフの横軸は、カメラ姿勢として測定したカメラの並進ｔ1、ｔ2、ｔ3およびカメラの回転ｒ1、ｒ2、ｒ3と、再投影誤差を示している。各グラフの縦軸は誤差を示している。なお、誤差は標準偏差で示した。また、カメラ姿勢の回転角の単位はラジアン、再投影誤差の単位はカメラスクリーンにおける画素である。
【００９９】
図４において、ｖは、初期カメラ姿勢の信頼度ｖの値（０〜１）そのものではなく、それに対応する「加えられたノイズ」を表している。この分析１においては、ｖの値を０〜３０までの整数値の範囲で変化させて推定誤差を求めた。
【０１００】
加えられたノイズが小さい場合、図４（ｂ）に示すように、エッジベーストラッキングには大きな影響は見受けられない。次に、加えられたノイズが大きい場合、図４（ａ）に示すように、点ベーストラッキングには、顕著な影響は無かった。ところが、この場合、図４（ｂ）に示すように、エッジベーストラッキングの性能は指数関数的に低下した。このため、推定の初期値に用いる姿勢の精度は、点ベーストラッキングの方が有利であった。したがって、エッジベーストラッキングの信頼性を決定するためには、推定の初期値に用いる姿勢の精度が有力な条件となると考えられる。
【０１０１】
＜５．２．  分析２：シーンの複雑さ＞
≪５．２．１≫
シーンの複雑さとは、シーン自身に含まれるテクスチャとエッジの細かさであり、直接２つの視覚的な手がかりの量（エッジ数ａeと特徴点数ａp）に関連する。したがって、２つの視覚的な手がかりの量に関して点ベーストラッキングとエッジベーストラッキングの性能を分析した。このときの結果を図５に示す。図５（ａ）および図５（ｂ）に示すグラフは、図４（ａ）および図４（ｂ）と同様な横軸および縦軸を有している。図５（ａ）において、ａは、特徴点数ａpに相当し、図５（ｂ）において、ａは、エッジ数ａeに相当する。各グラフは、パラメータａを変化させたときの実験結果を示している。
【０１０２】
直接２つの視覚的な手がかりの量（エッジ数ａeと特徴点数ａp）は、モデル（被写体の３次元モデル）のエッジ上のサンプル間隔の変更と、参照特徴点（特徴点データベース）のサブサンプルの程度とによって均等に分配されるような操作により、視覚的な手がかりの総和が調整される。しかしながら、視覚的な手がかりの量（エッジ数ａeと特徴点数ａp）は、相応なカメラ姿勢推定には、ある最少量以上に保つ必要がある。この例では、特徴点数ａpは15個以上、エッジ数ａeは50個以上に保持する。これらの視覚的な手がかりの量が十分である場合には、図５に示すように、性能は、視覚的な手がかりの量の変化によって大きな影響を及ぼさないことが分かった。しかしながら、視覚的な手がかりの量が小さくなったとき、性能は直線的に低下している。
【０１０３】
≪５．２．２≫
また、シーンの複雑さは、撮影画像におけるモデルエッジとの対応点を探索する過程で信頼性に影響を及し易いエッジの分布に関係する。例えば、撮影画像に多くの誤ったエッジ（モデルのエッジに対応しないエッジ）があれば、誤対応の数（エッジ対応点候補の数ｃc）を増やす可能性が大きくなる。そこで、モデルエッジの対応点を探索する過程で、信頼性に関するエッジベーストラッキングの性能を分析した。そのために、妨害となるように、ランダムに配置したｌ（エル）本の赤いラインをカメラ画像に追加描画した。実験の結果、図６に示す通り、ｌの増加はエッジベーストラッキングの性能を顕著に低下させることが分かった。なお、図６のグラフは、図４のグラフと同様の軸を有している。
【０１０４】
＜５．３．  分析３：カメラ映像への動きボケの追加＞
異なったレベルの水平方向の動きボケをカメラ画像に追加しシミュレーションを行った。モーションブラー（motion blur）をシミュレートするために移動平均によるフィルタ［1/b  …  1/b］を用いた（［  ］内の1/bの個数はｂ個である）。正解のカメラ姿勢に対し推定した姿勢の差を図７に示す。なお、図７のグラフは、図４のグラフと同様の軸を有している。図７において、ｂは、動きボケ強度を表している。この分析においては、ｂの値を０〜１１までの整数値の範囲で変化させて推定誤差を求めた。
【０１０５】
動きボケ（動きボケ強度ｂ）が増加するに従い、図７（ａ）の点ベーストラッキングと、図７（ｂ）のエッジベーストラッキングとの双方の性能が比例して低下している。しかしながら、点ベーストラッキングは比較的大きな影響を受けていることが分かる。よって、統合トラッキングの信頼度ｆまたは補正信頼度ηは、モーションブラーの量に比例し増加するべきだと考えられる。また、モーションブラーの増加が、カメラ画像で見つけられる特徴点数の減少を招いている点が注目された。したがって、相応のカメラ姿勢推定に必要とされるに十分な特徴点を抽出可能とするには、モーションブラーが所定の閾値（この実験によればｂ＝11）以下でなければならないと考えられる。
【０１０６】
＜５．４．  分析４：カメラ映像へのノイズ付加＞
異なるレベルのガウスノイズＮ（０，ｎ2）をカメラ画像の画素値（Ｒ，Ｇ，Ｂ）に加えシミュレーションを行った。推定した姿勢と正解との差を図８に示す。なお、図８のグラフは、図４のグラフと同様の軸を有している。この分析においては、ｎの値を０〜１００までの整数値の範囲で変化させて推定誤差を求めた。
【０１０７】
図８（ａ）の点ベーストラッキングと、図８（ｂ）のエッジベーストラッキングとの双方ともに、ｎの値を変化させても推定誤差に大きな影響はなかった。また、ガウスノイズに代えて、一様なノイズＵ（−ｎ，ｎ）を用いても同様の結果であった。これらの実験結果は、ＳＵＲＦ（Speeded Up Robust Features）やＣａｎｎｙオペレータのノイズに対するロバスト性によるものと考えられる。
【０１０８】
＜５．５．  分析のまとめ＞
分析の結果、統合トラッキングの信頼度ｆまたは補正信頼度η（以下、単にｆとする）は、エッジ数ａeと動きボケ強度ｂとに比例し、図４に示すｖと、特徴点数ａpと、図６に示すｌとに反比例し、図８に示すｎには関係しないと推察される。ここで、図４に示すｖは、初期カメラ姿勢の信頼度ｖに相当する。
【０１０９】
【数１４】
2011118724.tif 000016
【０１１０】
ここでは、簡略化のために、統合トラッキングの信頼度ｆと各パラメータとの関係が線形であると仮定した。また、実際には、図４に示すｖを直接的に測定するのではなく、特徴点とそれらの対応点との間の平均距離（ｄavg）からｖを算出する。また、図６に示すｌを直接的に測定するのではなく、エッジ対応点候補の数ｃcが図６に示すｌに比例するものと仮定し、エッジ対応点候補の数ｃcからｌを算出する。さらに、動きボケ強度ｂを直接的に測定するのではなく、エッジの平均幅（ｗavg）からｂを算出する。なお、このような変換式は公知である。
【０１１１】
以上の分析から、信頼度計算部５０で計算する統合トラッキングの信頼度ｆは、前記した式（１）のように記述されることとした。このように撮影環境を考慮して、エッジや特徴点固有の性質を実験に基づき分析したので、導出された式（１）や式（２）は、任意の環境に対し最適かつ柔軟に適用することができる。
【０１１２】
［６．カメラ姿勢推定装置の動作］
次に、図１に示すカメラ姿勢推定装置１の動作について説明する。図１のブロック図は、そのままでカメラ姿勢推定装置１のカメラパラメータ推定アルゴリズムを示している。つまり、トラッキング状態計測部４０が、入力映像に対して５種類のパラメータ（ｖ、ｂ、ｃc、ａe、ａp）をすべて算出し、前記した式（１ａ）、式（１ｂ）、式（１ｃ）を用いることとした。このカメラ姿勢推定装置１の典型的な処理の流れについては、説明を省略し、代わりに、トラッキング状態計測部４０が、前記した式（１）を用い、入力映像に対して５種類のうち必要なパラメータだけを算出するときの信頼度計算処理および信頼度補正処理の手順の一例について図９を参照（適宜図１参照）して説明する。
【０１１３】
この場合、まず、カメラ姿勢推定装置１は、トラッキング状態計測部４０の動きボケ計算部４２によって、入力される撮影映像の動きボケに基づき、動きボケ強度ｂを測定する（ステップＳ１）。そして、カメラ姿勢推定装置１は、信頼度計算部５０によって、動きボケ強度ｂの値が第１閾値ｔｈbよりも大きいか否かを判別する（ステップＳ２）。動きボケ強度ｂの値が第１閾値ｔｈb以下の場合（ステップＳ２：Ｎｏ）、カメラ姿勢推定装置１は、トラッキング状態計測部４０の特徴点検出マッチング部４３によって、特徴点数ａpを測定し、初期カメラ姿勢計算部４４によって、初期カメラ姿勢の信頼度ｖを測定する（ステップＳ３）。
【０１１４】
そして、カメラ姿勢推定装置１は、信頼度計算部５０によって、初期カメラ姿勢の信頼度ｖの値が第２閾値ｔｈvよりも大きいか否かを判別する（ステップＳ４）。初期カメラ姿勢の信頼度ｖの値が第２閾値ｔｈv以下の場合（ステップＳ４：Ｎｏ）、カメラ姿勢推定装置１は、トラッキング状態計測部４０のエッジマッチング部４６によって、エッジ数ａeとエッジ対応点候補の数ｃcとを測定する（ステップＳ５）。
【０１１５】
そして、カメラ姿勢推定装置１は、信頼度計算部５０によって、５種類のパラメータ（ｂ、ｖ、ａp、ａe、ｃc）を用いて、前記した式（１ｃ）にしたがって統合トラッキングの信頼度ｆを算出すると共に、さらに、信頼度補正部６０によって、２種類のパラメータ（ａp、ａe）を用いて、前記した式（３）にしたがってサンプル比γを算出する（ステップＳ６）。
【０１１６】
そして、カメラ姿勢推定装置１は、信頼度補正部６０によって、統合トラッキングの信頼度ｆとサンプル比γとの関係を判定する（ステップＳ７）。そして、信頼度補正部６０は、統合トラッキングの信頼度ｆが０．５より大きく、かつ、サンプル比γが１より小さい場合には（ｆ＞０．５，かつ，γ＜１）、前記した式（２ａ）により補正信頼度ηを計算する（ステップＳ８）。
【０１１７】
また、前記したステップＳ７において、信頼度補正部６０は、統合トラッキングの信頼度ｆが０．５より小さく、かつ、サンプル比γが１より大きい場合には（ｆ＜０．５，かつ，γ＞１）、前記した式（２ｂ）により補正信頼度ηを計算する（ステップＳ９）。
さらに、前記したステップＳ７において、信頼度補正部６０は、それ以外のその他の場合、統合トラッキングの信頼度ｆをそのまま補正信頼度η（η＝ｆ）とする（ステップＳ１０）。すなわち、ｆ≦０．５，かつ，γ≧１、または、ｆ≧０．５，かつ，γ≦１の場合、前記した式（２ｃ）または式（２ｄ）により補正信頼度ηを計算する。
【０１１８】
一方、前記したステップＳ４において、初期カメラ姿勢の信頼度ｖの値が第２閾値ｔｈvよりも大きい場合（ステップＳ４：Ｙｅｓ）、カメラ姿勢推定装置１は、信頼度計算部５０によって、それまでに求めてある３種類のパラメータ（ｂ、ｖ、ａp）を用いて、前記した式（１ｂ）にしたがって統合トラッキングの信頼度ｆを算出する（ステップＳ１１）。続いて、前記したステップＳ１０において、信頼度補正部６０は、統合トラッキングの信頼度ｆをそのまま補正信頼度η（η＝ｆ）とする。
【０１１９】
このように初期カメラ姿勢の信頼度ｖの値が第２閾値ｔｈvよりも大きい場合（ステップＳ４：Ｙｅｓ）には、エッジ数ａeとエッジ対応点候補の数ｃcとを測定（または算出）する必要がなく、また、統合トラッキングの信頼度ｆを補正する必要がないので、演算処理の負荷を低減し、処理を高速化することができる。仮想現実感（ＶＲ）などではリアルタイム性が重要なファクタとなるので、計算負荷は低いほど良いこととなる。このため、図９のフローのように必要なパラメータだけを算出する処理はＶＲへの適用に効果的である。
【０１２０】
また、前記したステップＳ２において、動きボケ強度ｂの値が第１閾値ｔｈbよりも大きい場合（ステップＳ２：Ｙｅｓ）、カメラ姿勢推定装置１は、信頼度計算部５０によって、前記した式（１ａ）にしたがって統合トラッキングの信頼度ｆの値を「１」とする（ステップＳ１２）。続いて、前記したステップＳ１０において、信頼度補正部６０は、統合トラッキングの信頼度ｆをそのまま補正信頼度η（η＝ｆ＝１）とする。
【０１２１】
このように動きボケ強度ｂの値が第１閾値ｔｈbよりも大きい場合（ステップＳ２：Ｙｅｓ）には、動きボケ強度ｂ以外のパラメータを測定（または算出）する必要がなく、また、統合トラッキングの信頼度ｆを補正する必要がないので、演算処理の負荷を低減し、処理を高速化することができる。
【０１２２】
また、本実施形態によれば、カメラ姿勢推定装置１は、被写体の３次元モデル１１と特徴点データベース２１と撮影画像とに基づいて計測されたトラッキング状態に応じて、エッジ対応誤差err1と、特徴点対応誤差err2とを案分する割合を変動させて統合誤差errを生成し、現在のカメラ姿勢を推定する。したがって、後記する実施例に示すように、いずれか一方の誤差を用いる場合や、双方の誤差を固定的に案分する場合に比べて、カメラトラッキングの精度、頑健さ、撮影環境の自由度を向上することができる。
【０１２３】
また、本実施形態によれば、エッジと特徴点を協調的に利用するために、環境に対する分析と、どのように統一的にエッジと特徴点の２つの特徴を評価すれば良いのかを考えるために、エッジや特徴点固有の性質を実験に基づき分析した。これにより、導き出された式（１）および式（２）は、任意の環境に対し最適かつ柔軟に適用できる。したがって、モデルベースによるカメラ姿勢推定手法を頑健にすることができるという効果を奏する。
【０１２４】
以上、本実施形態に基づいて本発明を説明したが、本発明はこれに限定されるものではない。例えば、図１に示したカメラ姿勢推定装置は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラム（カメラ姿勢推定プログラム）は、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【０１２５】
また、本実施形態では、カメラ姿勢推定手段７０が、例えば、線形反復解法によりカメラ姿勢を推定することとしたが、最小値問題の解法は、例えば、ラグランジェ未定乗数法等の線形計画法を用いたり、ペナルティ法等の非線形計画法を用いたりして計算してもよい。
【実施例】
【０１２６】
本発明による効果を確認するために、本発明のカメラ姿勢推定装置の性能を検証するコンピュータシミュレーションの実験を行った。具体的には、本発明のカメラ姿勢推定装置により推定したカメラ姿勢と、エッジまたは特徴点を単独で利用して推定したカメラ姿勢とを比較する実験（実験１）と、拡張現実感への応用システムにおいて環境の変化への適応能力を確認する実験（実験２）とを行った。
【０１２７】
［実験１］
（実験条件）
前記した式（１）において、thb、thv、Κ0、Κ1のユーザ指定の定数の値は、それぞれ、thb＝95、thv＝６、Κ0＝0.8、Κ1＝0.12のように指定した。
【０１２８】
（比較例）
特徴点を単独で利用して推定したカメラ姿勢を求めた（点ベース方法：比較例１）。
また、エッジを単独で利用して推定したカメラ姿勢を求めた（エッジベース方法：比較例２）。さらに、エッジトラッキングと特徴点トラッキングとの双方を用いた場合であって、状況によらず固定値０．５で重み付けを行なった誤差を利用して推定したカメラ姿勢を求めた（信頼度をη＝０．５に固定した方法：比較例３）。
【０１２９】
（実験結果）
カメラ姿勢として、カメラの並進ｔ1、ｔ2、ｔ3と、カメラの回転ｒ1、ｒ2、ｒ3とについて測定した。測定結果として平均値と標準偏差を表１に示す。
【０１３０】
【表１】
2011118724.tif 000017
【０１３１】
また、カメラの並進ｔ1の場合の実験結果については、図１０に示す。カメラの並進ｔ2の場合の実験結果については、図１１に示す。カメラの並進ｔ3の場合の実験結果については、図１２に示す。図１０〜図１２において、（ａ）は比較例１、（ｂ）は比較例２、（ｃ）は比較例３、（ｄ）は本発明の実施例をそれぞれ示している。なお、図１０（ｅ）は、カメラの並進ｔ1の場合に本発明の実施例において補正信頼度ηの変化を示している。図１０〜図１２の各グラフにおいて、横軸はフレーム番号（時間軸）を示す。また、縦軸は、推定したカメラ位置の誤差（正解との差）を示す。なお、図１０（ｅ）のグラフの縦軸は、補正信頼度ηを示している。
【０１３２】
図１０（ｅ）のグラフに示すｌ（エル）は、前記の５．２．２節で説明したパラメータであり、妨害となるようにカメラ画像に追加描画によりランダムに配置した赤いラインの本数であり、エッジ対応点候補の数ｃcに相当する。ここでは、各フレームを通じてｌ＝300であった。また、初期カメラ姿勢の信頼度ｖとして、特徴点とそれらの対応点との間の平均距離ｄavgを求め、これからｖを算出した。フレーム番号101〜151ではｖ＝５であったが、フレーム番号151〜201ではｖ＝１０であった。さらに、動きボケ強度ｂとして、エッジの平均幅ｗavgからｂを算出した。フレーム番号126〜176ではｂ＝７であった（ｂは11よりも小さかった）。これらにより、補正信頼度ηは図１０（ｅ）のグラフに示すように変化した。
【０１３３】
表１および図１０〜図１２に示すように、本発明の実施例は、エッジまたは特徴点を単独で利用して推定した比較例１や比較例２に比べて精度が良好であった。また、エッジおよび特徴点の双方を利用しつつもそれらの寄与を単純に平均化するだけの比較例３に比べても、本発明の実施例は、精度が良好であり、かつ、時間的にも安定した精度が得られた。したがって、本発明のカメラ姿勢推定装置は、従来よりも精度が向上し、頑健さが向上したと言える。
【０１３４】
［実験２］
図２に示した映像合成システム１００の映像合成出力結果を比較した。撮影環境において、照明とカメラの向きとが時間的に変化するものとした。この映像合成システム１００において、カメラの動きと共に照明が変化する場合にカメラ姿勢を推定したときの映像合成結果を図１３に模式的に示す。図１３（ａ）、図１３（ｂ）、図１３（ｃ）は、この順番に時間が経過したときの映像合成出力結果を示している。映像合成出力結果のうち、ポットだけがＣＧオフジェクトを示し、ポットが載置された台および壁面は実写映像を示している。図１３では照明の変化を誇張して表現した。図１３（ａ）は照明が通常の場合、（ｂ）は照明が暗くなった場合、（ｃ）は照明が明るくなった場合をそれぞれ示している。
【０１３５】
図１３（ｂ）に示すように照明が急に暗くなった場合であっても、エッジおよび特徴点の双方を検出してカメラ姿勢を安定に推定でき、ＣＧオフジェクトと実写映像とを精度よく合成することができた。また、図１３（ｃ）に示すように照明が急に明るくなった場合であっても、エッジおよび特徴点の双方を検出してカメラ姿勢を安定に推定でき、ＣＧオフジェクトと実写映像とを精度よく合成することができた。従来のモデルベースカメラ推定手法は、照明とカメラの向きとが時間的に変化しないことを前提に構築されているので、従来手法では、このようにＣＧオフジェクトと実写映像とを精度よく合成することはできなかった。したがって、本発明のカメラ姿勢推定装置を用いた映像合成システムは、環境の変化への効果的な適応や、柔軟さを従来よりも向上させることができると言える。
【産業上の利用可能性】
【０１３６】
本発明は、仮想現実感、拡張現実感の産業応用や映像合成を利用した映像制作に利用が可能である。また、姿勢情報を利用する様々なロボットなどにセンサとして利用が可能である。
【符号の説明】
【０１３７】
１００  映像合成システム
１      カメラ姿勢推定装置
２      カメラ
３      仮想３次元物体モデル記憶手段
４      レンダリング装置
５      映像合成装置
６      ＣＧデータ
１０    ３次元モデル記憶手段
１１    ３次元モデル
２０    特徴点データベース記憶手段
２１    特徴点データベース
３０    映像入力手段
４０    トラッキング状態計測部（トラッキング状態計測手段）
４１    エッジ検出マッチング部
４２    動きボケ計算部（動きボケ計算手段）
４３    特徴点検出マッチング部（特徴点検出マッチング手段）
４４    初期カメラ姿勢計算部（初期カメラ姿勢計算手段）
４５    エッジ検出部（エッジ検出手段）
４６    エッジマッチング部（エッジマッチング手段）
５０    信頼度計算部（信頼度計算手段）
６０    信頼度補正部（信頼度補正手段）
７０    カメラ姿勢推定手段
７１    姿勢移動量計算部
７２    カメラ姿勢計算部
８０    出力手段
【図１】
2011118724.tif 000018
【図２】
2011118724.tif 000019
【図３】
2011118724.tif 000020
【図４】
2011118724.tif 000021
【図５】
2011118724.tif 000022
【図６】
2011118724.tif 000023
【図７】
2011118724.tif 000024
【図８】
2011118724.tif 000025
【図９】
2011118724.tif 000026
【図１０】
2011118724.tif 000027
【図１１】
2011118724.tif 000028
【図１２】
2011118724.tif 000029
【図１３】
2011118724.tif 000030