(57)【要約】【課題】実空間の画像に仮想物体を重畳させる。【解決手段】動画像データを得るカメラと、動画像データの所定のフレーム間隔毎に長期追跡用特徴点を検出し、動画像データの全てのフレームについて短期追跡用特徴点を検出し、異なる２フレームから検出された長期追跡用特徴点の各特徴量を基に、フレーム間の特徴点追跡を行い、異なる２フレームから検出された長期追跡用特徴点あるいは短期追跡用特徴点の近傍輝度値を基にブロックマッチングを行うことによりフレーム間の特徴点追跡を行い、追跡された特徴点を基に３次元空間内のカメラの位置および姿勢を推定し、追跡された特徴点と、推定された３次元空間内のカメラの位置および姿勢を基に、特徴点の３次元位置を推定し、推定された３次元空間内のカメラ位置情報および姿勢情報と、特徴点の３次元位置情報を基に、動画像データに対して、外部から入力された仮想物体データを重畳して出力する。【選択図】図１
2011008687.tif 000002
【特許請求の範囲】
【請求項１】
撮影された動画像データに対して、仮装物体の画像データを重畳して出力する画像処理装置であって、
周辺環境を撮影して動画像データを得るカメラと、
前記動画像データの所定のフレーム間隔毎に第１の画像特徴に基づく長期追跡用特徴点を検出する第１の特徴検出部と、
前記動画像データの全てのフレームについて第２の画像特徴に基づく短期追跡用特徴点を検出する第２の特徴検出部と、
異なる２フレームから検出された前記長期追跡用特徴点の各特徴量を基に、フレーム間の特徴点追跡を行う第１の特徴追跡部と、
前記異なる２フレームから検出された長期追跡用特徴点あるいは短期追跡用特徴点の近傍輝度値を基にブロックマッチングを行うことによりフレーム間の特徴点追跡を行う第２の特徴追跡部と、
前記第２の特徴追跡部により追跡された特徴点を基に３次元空間内の前記カメラの位置および姿勢を推定するカメラ位置姿勢推定部と、
前記第１の特徴追跡部により追跡された特徴点と、前記推定された３次元空間内のカメラの位置および姿勢を基に、前記特徴点の３次元位置を推定する特徴点３次元位置推定部と、
推定された３次元空間内のカメラ位置情報および姿勢情報と、前記特徴点の３次元位置情報を基に、前記カメラにより撮影された動画像データに対して、外部から入力された仮想物体の画像データを重畳して出力する画像合成部と
を備えることを特徴とする画像処理装置。
【請求項２】
前記カメラ位置姿勢推定部は、撮影された全てのフレームについて、３次元空間内のカメラ位置情報および姿勢情報を推定し、
前記特徴点３次元位置推定部は、撮影された所定のフレーム間隔毎に、特徴点の３次元位置情報を推定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記カメラ位置姿勢推定部は、
前記追跡された短期追跡用特徴点を用いて当該フレームのカメラ位置および姿勢の初期推定を行い、
前記追跡された短期追跡用特徴点および長期追跡用特徴点を用いて当該フレームのカメラ位置および姿勢を決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記特徴点３次元位置推定部は、
前記追跡された長期追跡用特徴点に対して３次元位置を推定することを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実写画像データにコンピュータグラフィックスデータを合成する画像処理装置に関する。
【背景技術】
【０００２】
従来から、カメラで実空間を動画像データとして撮影し、ＣＧ等で生成された仮想物体が存在するかのように重畳し、頭部に装着する小型ディスプレイ装置であるＨＭＤ（Head Mount Display）等で表示することで拡張現実感（Augmented Reality）を実現する仮想現実システムが知られている（例えば、非特許文献１参照）。このシステムは、仮想物体の表示位置（３次元位置）を特定するためのマーカーを実空間に配置し、動画像データからマーカーの検出・追跡を行うことで、重畳させる仮想物体の表示位置を決定し表示を行うものである。しかし、マーカーを用いるシステムにおいては、仮想物体を表示する位置ごとに、実空間にマーカーを設置する必要があるため、システムの利用環境・利用用途が限定されるという問題がある。
【０００３】
このような問題を解決するために、マーカーの代わりに撮影された画像から特定の画像特徴を有した特徴点を検出・追跡し、仮想物体の表示位置を特定する技術が提案されている（例えば、非特許文献２参照）。非特許文献２に記載の特徴点を検出・追跡する技術では、ＦＡＳＴ  ｆｅａｔｕｒｅ  ｄｅｔｅｃｔｏｒ（非特許文献３参照）という技術を用いて、各画像中のコーナー特徴を検出し、検出したコーナー特徴の周辺画素をテンプレートとして用いることで、画像間のテンプレートマッチングによってコーナー特徴を追跡し、その結果からカメラ位置姿勢および特徴点の３次元位置を推定し、仮想物体の表示位置を決定することが可能である。ＦＡＳＴ  ｆｅａｔｕｒｅ  ｄｅｔｅｃｔｏｒは、画像中の任意の画素を中心とした所定の半径Ｒの円周上に存在する各画素に対し、円の中心に位置する画素の輝度値との差が、所定のしきい値ＴＨ１以上の画素が所定数Ｎ以上連続する場合、あるいは、円の中心に位置する画素の輝度値との差が、―ＴＨ１以下の画素がＮ以上連続する場合、円の中心を特徴点の検出位置とし、円の中心及び円周上の各画素の輝度値をそのコーナー特徴とする手法である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】加藤博一，MarkBillinghurst，  浅野浩一，橘啓八郎：マーカー追跡に基づく拡張現実感システムとそのキャリブレーション，日本バーチャルリアリティ学会論文誌，Ｖｌｏ．４，Ｎｏ．４，ｐｐ．６０７−６１６（１９９９）
【非特許文献２】Parallel Tracking and Mapping for Small AR Workspaces In Proc. International Symposium on Mixed and Augmented Reality (ISMAR'07, Nara)
【非特許文献３】E. Rosten and T. Drummond. Machine learning for high-speed corner detection. In Proc. 9th European Conference on Computer Vision(ECCV'06), Graz, May 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、画像特徴を用いる手法は、マーカーを用いる手法に比べて、撮影中の状況変化の影響を受けやすく、出力されるカメラ位置姿勢および特徴点の３次元位置の推定結果が不安定になりやすいという問題がある。例えば、非特許文献３に記載のＦＡＳＴ  ｆｅａｔｕｒｅ  ｄｅｔｅｃｔｏｒ手法では、撮影された画像のコントラストが低く撮影時のノイズの影響が大きい場合や、長時間の撮影で照明条件が変化した場合には、被写体やカメラ自体の動きの有無に関わらず、複数の画像において同一の位置を安定して特徴点として検出し続けることは困難である。また撮影中にカメラの移動があり、撮影される被写体の形状が大きく変化する場合も、被写体上の同一位置を特徴点として検出し続けることは困難であり、出力されるカメラ位置姿勢および特徴点の３次元位置の推定結果が不安定になる要素である。これら撮影中の状況変化は、撮影時間の増加に伴い発生する確率が高くなるため、長時間撮影時における推定結果の安定性が問題となる。
【０００６】
この問題の解決手段としては、ＦＡＳＴ  ｆｅａｔｕｒｅ  ｄｅｔｅｃｔｏｒ手法に比べ、画像の回転、拡大縮小、アフィン変形、照明変化、ノイズ付加に頑強な性能を有する画像特徴を用いる方法が考えられる。このような画像特徴としては、例えばＳＩＦＴ（Scale-invariant feature transform）特徴がある。ＳＩＦＴ特徴は、特徴点の検出のため、まず対象画像に対しＤｏＧ（Ｄｉｆｆｅｒｅｎｃｅ−ｏｆ−Ｇａｕｓｓｉａｎ）処理を行い、生成されたＤｏＧ画像内の極値となる点を特徴点の候補とする。次にノイズの影響を受けやすい主曲率が所定のしきい値以上の点、コントラストが所定のしきい値以下の点を候補から取り除くことで特徴点の検出が行われる。また検出された特徴点の輝度勾配方向および近傍領域における輝度勾配ヒストグラムを当該特徴点における特徴量として用い、検出された特徴点の特徴量を画像間で比較し、類似度の高い組み合わせを求めることで、画像中の特徴を追跡することができる。また、他の画像特徴として、ＧＬＯＨ（Gradient Location and Orientation Histogram）特徴などが存在する。
【０００７】
しかしながら、ＳＩＦＴ特徴やＧＬＯＨ特徴などの画像特徴は、特徴検出に必要な演算量がＦＡＳＴ  ｆｅａｔｕｒｅ  ｄｅｔｅｃｔｏｒ手法を用いた場合に比べて極めて大きく、リアルタイム処理が困難である。このため、カメラで実空間を動画像データとして撮影し、この動画像データに対してコンピュータグラフィックス等で生成された仮想物体を重畳しながらリアルタイムで表示することで拡張現実感（Augmented Reality）を実現するのが困難であるという問題がある。
【０００８】
本発明は、このような事情に鑑みてなされたもので、実空間にコンピュータグラッフィクス等で生成された仮想物体を重畳させる拡張現実感を実現する際に、撮影条件の変化に対して安定した特徴点追跡を実現することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、撮影された動画像データに対して、仮装物体の画像データを重畳して出力する画像処理装置であって、周辺環境を撮影して動画像データを得るカメラと、前記動画像データの所定のフレーム間隔毎に第１の画像特徴に基づく長期追跡用特徴点を検出する第１の特徴検出部と、前記動画像データの全てのフレームについて第２の画像特徴に基づく短期追跡用特徴点を検出する第２の特徴検出部と、異なる２フレームから検出された前記長期追跡用特徴点の各特徴量を基に、フレーム間の特徴点追跡を行う第１の特徴追跡部と、前記異なる２フレームから検出された長期追跡用特徴点あるいは短期追跡用特徴点の近傍輝度値を基にブロックマッチングを行うことによりフレーム間の特徴点追跡を行う第２の特徴追跡部と、前記第２の特徴追跡部により追跡された特徴点を基に３次元空間内の前記カメラの位置および姿勢を推定するカメラ位置姿勢推定部と、前記第１の特徴追跡部により追跡された特徴点と、前記推定された３次元空間内のカメラの位置および姿勢を基に、前記特徴点の３次元位置を推定する特徴点３次元位置推定部と、推定された３次元空間内のカメラ位置情報および姿勢情報と、前記特徴点の３次元位置情報を基に、前記カメラにより撮影された動画像データに対して、外部から入力された仮想物体の画像データを重畳して出力する画像合成部とを備えることを特徴とする。
【００１０】
本発明は、前記カメラ位置姿勢推定部は、撮影された全てのフレームについて、３次元空間内のカメラ位置情報および姿勢情報を推定し、前記特徴点３次元位置推定部は、撮影された所定のフレーム間隔毎に、特徴点の３次元位置情報を推定することを特徴とする。
【００１１】
本発明は、前記カメラ位置姿勢推定部は、前記追跡された短期追跡用特徴点を用いて当該フレームのカメラ位置および姿勢の初期推定を行い、前記追跡された短期追跡用特徴点および長期追跡用特徴点を用いて当該フレームのカメラ位置および姿勢を決定することを特徴とする。
【００１２】
本発明は、前記特徴点３次元位置推定部は、前記追跡された長期追跡用特徴点に対して３次元位置を推定することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、特徴点検出のための演算量が多い画像特徴の検出処理を所定のフレーム間隔毎に行うようにして、演算量の軽減を図るとともに、演算量が多い画像特徴の検出処理を行わないフレームにおける短時間のカメラ位置姿勢の変化に対しては、演算量が少ない画像特徴の検出処理による特徴点検出と、ブロックマッチングを使用することで、精度の高い滑らかなカメラ位置姿勢の変化を推定することが可能になるという効果が得られる。このため、任意の画像における特徴点の追跡による安定したカメラ位置姿勢の推定と、特徴点の３次元位置推定をリアルタイムに実現でき、実空間にコンピュータグラッフィクス等で生成された仮想物体を重畳させる拡張現実感を実現する処理を安定して実行することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態による画像処理装置の構成を示すブロック図である。
【図２】本発明の画像処理装置で取り扱う座標系の説明図である。
【図３】本発明の画像処理装置におけるカメラ位置姿勢推定処理の動作フローである。
【図４】隣接フレームにおける特徴点の存在範囲を説明するための説明図である。
【図５】本発明の画像処理装置における特徴点の３次元位置推定処理の動作フローである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の一実施形態による画像処理装置を説明する。図１は同実施形態の構成を示すブロック図である。この図において、符号１は、周辺環境を撮影して動画像データを出力するカメラである。符号２は、カメラ１から出力される動画像データにおける所定フレームから、長期追跡用特徴点として所定の第１の画像特徴に基づく特徴点を検出する第１特徴検出部である。符号３は、カメラ１から出力する動画像データにおける各フレームから、短期追跡用特徴点として所定の第２の画像特報に基づく特徴点を検出する第２特徴検出部である。符号４は、異なる２フレームから検出された長期追跡用特徴点の各特徴量を基に、フレーム間の特徴点追跡を行う第１特徴追跡部である。符号５は、異なる２フレームから検出された長期追跡用あるいは短期追跡用特徴点の近傍輝度値を基にブロックマッチングを行い、フレーム間の特徴点追跡を行う第２特徴追跡部である。
【００１６】
符号６は、第２特徴追跡部５によって追跡された短期追跡用特徴点を基にカメラ１の位置姿勢を推定するカメラ位置姿勢推定部である。符号７は、第１特徴追跡部４によって追跡された長期追跡用特徴点と、推定されたカメラ位置姿勢の情報を基に、特徴点の３次元位置を推定する特徴点３次元位置推定部である。符号８は、長期追跡用特徴点のフレーム上での観測位置、推定された３次元位置、各フレームのカメラ位置姿勢で構成される特徴点マップ情報を記憶する記憶部である。符号９は、重畳するべき仮想物体のコンピュータグラフィックス（以下、ＣＧと称する）データが予め記憶されたＣＧデータ記憶部である。符号１０は、記憶部８に記憶された推定されたカメラ位置姿勢情報及び特徴点の３次元位置情報を基に、ＣＧデータ記憶部９に記憶されているＣＧデータをカメラ１から出力する動画像データに重畳した合成画像を出力する画像合成部である。
【００１７】
図１に示す画像処理装置においては、２種類の異なる画像特徴のそれぞれを、長期追跡用の画像特徴及び短期追跡用の画像特徴として用いる。なお、以下の説明においては、第１特徴検出部２で検出する第１の画像特徴を前述のＳＩＦＴ特徴とし、第２特徴検出部３で検出する第２の画像特徴を前述のＦＡＳＴ  ｆｅａｔｕｒｅ  ｄｅｔｅｃｔｏｒ手法によるコーナー特徴として説明するが、第１の画像特徴は、第２の画像特徴に比べ、画像の回転、拡大縮小、アフィン変形、照明変化、ノイズ付加等に頑強な性能を有する画像特徴であればいかなる画像特徴でもよく、ＳＩＦＴ特徴の代わりに、例えば、前述のＧＬＯＨ特徴やＳＵＲＦ（Speeded Up Robust Features）特徴、ＬＥＳＨ（Local Energy based Shape Histogram）特徴等を利用する構成であってもよい。また、もう一方の第２の画像特徴は、第１の画像特徴に比べ、演算量の小さな画像特徴であればいかなる画像特徴でもよく、ＦＡＳＴ  ｆｅａｔｕｒｅ  ｄｅｔｅｃｔｏｒ手法によって検出されるコーナー特徴の代わりに例えば、ＳＵＳＡＮ  ｃｏｒｎｅｒ  ｄｅｔｅｃｔｏｒやＨａｒｒｉｓ  ｏｐｅｒａｔｏｒによって検出されるコーナー特徴を用いる構成であってもよい。
【００１８】
次に、図１に示す画像処理装置の動作について説明するため、まず図１に示す画像処理装置が取り扱う３次元空間及び２次元空間に関する座標系及び記号、数式について図２を参照して説明する。図２において、ワールド座標系（Ｘｗ，Ｙｗ，Ｚｗ）は、カメラ１で撮影される被写体が存在する３次元空間を表す座標系であり、図中のＸｗＹｗＺｗ座標軸を用いて既定される座標系である。カメラ座標系（Ｘｃ，Ｙｃ，Ｚｃ）は、カメラ１の視点位置を原点とした３次元空間を表すローカル座標系であり、図中のＸｃＹｃＺｃ座標軸を用いて既定される座標系であり、カメラ座標系におけるＺｃ軸はカメラの光軸（視線）方向を表す。
【００１９】
射影座標系（ｕ，ｖ）は、カメラ１によって撮影される３次元空間が投影された画像平面（フレーム）内の座標系であり、図中のＵＶ座標を用いて既定される座標系である。これら３つの座標系の関係は、ワールド座標系（Ｘｗ，Ｙｗ，Ｚｗ）からカメラ座標系（Ｘｃ，Ｙｃ，Ｚｃ）への変換行列Ｅｃｗ、カメラ座標系（Ｘｃ，Ｙｃ，Ｚｃ）から画像平面への射影モデルＣａｍＰｒｏｊ（Ｐ）を用いて、（１）式、（２）式により表すことができる。
【００２０】
Ｐｃ＝ＥｃｗＰｗ  ・・・（１）
Ｐｖ＝ＣａｍＰｒｏｊ（Ｐｃ）＝ＣａｍＰｒｏｊ（ＥｃｗＰｗ）  ・・・（２）
【００２１】
ここで、Ｐｗ、Ｐｃ、Ｐｖは、それぞれ特徴点Ｐのワールド座標系の位置Ｐｗ＝（Ｘｐ，Ｙｐ，Ｚｐ）ｔ、カメラ座標系の位置Ｐｃ＝（Ｘｃｐ，Ｙｃｐ，Ｚｃｐ）ｔおよび特徴点Ｐが投影される画像平面（フレーム）上の射影座標系での位置Ｐｖ＝（Ｕｐ，Ｖｐ）ｔを示す。添字ｔは、転置行列を示す。なお変換行列Ｅｃｗは、ワールド座標系におけるカメラ１の位置姿勢を表しており、変換行列Ｅｃｗはカメラ１の動きと共に変化する。以下の説明では、カメラ１によって撮影されたｎ番目のフレーム（以下、フレームｎと称する）におけるカメラ１の位置姿勢を示す変換行列Ｅｃｗｎを適宜使用する。
【００２２】
次に、図１に示す画像処理装置の動作について説明する。図１に示す画像処理装置の動作は、カメラ位置姿勢推定処理と、特徴点の３次元位置推定処理に大別され、それぞれ２つの処理動作が並行して実行される。初めに、図３を参照して、図１に示す画像処理装置におけるカメラ位置姿勢推定処理動作について説明する。図３は、図１に示す画像処理装置におけるカメラ位置姿勢推定処理動作を示すフローチャートである。
【００２３】
まず、第２特徴検出部３は、カメラ１から出力する１フレーム分の画像データを入力し、ＦＡＳＴ  ｆｅａｔｕｒｅ  ｄｅｔｅｃｔｏｒ手法の処理を用いて、このフレームにおける短期追跡用の特徴点を検出する（ステップＳ１）。第２特徴検出部３は、検出した短期追跡用特徴点の画像平面上の射影座標を第２特徴追跡部５へ出力する。なお入力画像データに対する画像ピラミッド（多重分解能の画像で代表された画像のセットからなる）を生成し、低解像度の画像データからも特徴点検出する構成としても構わない。
【００２４】
次に、第２特徴追跡部５は、連続する２つのフレーム（フレームｎ−１，フレームｎ）における短期追跡用特徴点に対し、特徴点近傍のＮ×Ｎ（Ｎは自然数）画素の領域を対象としたブロックマッチングを行うことにより短期追跡用の特徴点の追跡を行う（ステップＳ２）。ただし、先頭フレーム（フレーム０）が入力された場合、追跡対象のフレームが存在しないため本ステップは省略し、後続するステップＳ３〜Ｓ６についても同様に省略する。特徴点のＮ×Ｎ近傍画素の領域を対象としたブロックマッチングの評価基準は、一例として（３）式に示すＳＳＤ（Sum of Squared Difference）を用いる。
【００２５】
【数１】
2011008687.tif 000003
【００２６】
（３）式において、Ｆｎ（ｕ，ｖ）はフレームｎの座標（ｕ，ｖ）における輝度値を表し、座標（ｕｊ，ｖｊ）、（ｕｉ，ｖｉ）はそれぞれフレームｎ−１における特徴点ｊ，フレームｎにおける特徴点ｉの座標を示す。第２特徴追跡部５は、フレームｎ−１における特徴点ｊに対し、フレームｎで検出された全ての特徴点のうち、（３）式で求められるＳＳＤの値が最小となる特徴点ｉ＝ｋの時、特徴点ｊ、特徴点ｉ＝ｋの組を追跡結果として出力する。ただし、所定のしきい値ＴＨを用いて、ＴＨ＜ＳＳＤの場合には、特徴点ｊに対する特徴点の追跡は失敗したとして出力を行わない。
【００２７】
なお、ここでは、フレームｎ−１における特徴点ｊに対するマッチング候補を、フレームｎで検出された全ての特徴点とするようにしたが、通常の撮影においては、連続する２フレーム間の特徴点の移動は狭い範囲に限定される可能性が高いため、特徴点の移動距離の上限に関するしきい値ｄ０を用いて、（４）式を満たす特徴点のみを特徴点ｊとマッチングを行うようにしてもよい。
【００２８】
【数２】
2011008687.tif 000004
【００２９】
このような構成とすることで、類似したテクスチャが広範囲に存在する場合等で、誤マッチングによって、誤った特徴点の組を追跡結果として出力することを防ぐことが可能となると共に、特徴点の追跡に必要な演算量を減らすことが可能となる。
【００３０】
なお、ブロックマッチングの評価方法として、ＳＳＤを用いる代わりにＳＡＤ（Sum of Absolute Difference）やＺＮＣＣ（Zero-mean Normalized Cross- Correlation）を用いてもよい。ただし、ＺＮＣＣを用いる構成の場合、評価値が最大となる特徴点を追跡結果に選ぶ点が異なる。
【００３１】
次に、カメラ位置姿勢推定部６は、第２特徴追跡部５から出力される特徴点追跡結果の情報を用いて、カメラ位置姿勢（変換行列Ｅｃｗｎ）の初期推定を行う（ステップＳ３）。変換行列Ｅｃｗｎの推定にはランダムに所定数Ｎ１の特徴点の組を選んで推定を行う。ここでは、（５）式の通り、ロバスト推定手法の１つであるＭ−ｅｓｔｉｍａｔｏｒを用いて、（５）式におけるＭ１を最小化することで推定する。
【００３２】
【数３】
2011008687.tif 000005
【００３３】
（５）式においてｅｉは、特徴点ｉ（０≦ｉ＜Ｎ１）の計測誤差、ｆ１（ｅ）は例外値の影響を抑えるために用いる計測誤差の評価関数である。連続するフレームｎ−１、フレームｎにおいて共通の特徴点が観測される場合、図４に示すようにフレームｎで観測される特徴点は、理想的には図４に示すエピポールライン上に観測されるので、特徴点の計測誤差ｅｉは、フレームｎで観測された特徴点ｉ＝（ｕｉ，ｖｉ）と、フレームｎ上のエピポールラインａｉＵ＋ｂｉＶ＋ｃｉ＝０の距離として（６）式の通り定義される。
【００３４】
【数４】
2011008687.tif 000006
【００３５】
なお、エピポールラインａｉＵ＋ｂｉＶ＋ｃｉ＝０は、特徴点ｉ＝（ｕｉ，ｖｉ）に対応する第２特徴点追跡部５の出力として得られた特徴点ｊ＝（ｕｊ，ｖｊ）と、カメラ位置姿勢（変換行列Ｅｃｗｎ−１、変換行列Ｅｃｗｎ）によって一意に定まる。従って、（５）式におけるＭ１を最小化する変換行列Ｅｃｗｎを求めることで、カメラ位置姿勢の初期推定が完了する。なお、推定されたカメラ位置姿勢を示す変換行列Ｅｃｗｎは一旦当該フレームのカメラ位置姿勢推定結果として記憶部８に保存する。
【００３６】
なお、上述の説明では、推定手法の一例としてＭ−ｅｓｔｉｍａｔｏｒを用いてカメラ位置姿勢を示す変換行列Ｅｃｗｎを推定する方法について説明したが、ＲＡＮＳＡＣ（RANdom SAmple Consensus）やＬＭｅｄＳ（Least Median of Squares）推定等の公知のロバスト推定手法を用いることができる。また（５）式におけるＭ１が所定のしきい値ＴＨＭ以下となった場合、後述するステップＳ４、Ｓ５の処理を省略し、ステップＳ３において得られた推定結果を、フレームｎのカメラ位置姿勢を示す変換行列Ｅｃｗｎとするようにしてもよい。
【００３７】
次に、第１特徴追跡部４は、連続する２つのフレーム（フレームｎ−１，フレームｎ）における長期追跡用特徴点に対し、ステップＳ２における短期追跡用特徴点の場合と同様、（３）式を評価基準としてブロックマッチングを行うことにより長期追跡用特徴点の追跡を行う（ステップＳ４）。ただし、ここで追跡する特徴点は、後述する処理動作によって記憶部８に記憶されている３次元位置推定済み特徴点Ｐｗｉ（０≦ｉ＜記憶済み特徴点数）を対象とする点がステップＳ２と異なる。（２）式を用いて特徴点Ｐｗｉのフレームｎ−１上、フレームｎ上の射影位置Ｐｖｎ−１，ｉ、Ｐｖｎ，ｉはそれぞれ（７）式、（８）式により求める。
【００３８】
Ｐｖｎ−１，ｉ＝ＣａｍＰｒｏｊ（Ｅｃｗｎ−１Ｐｗｉ）  ・・・（７）
Ｐｖｎ，ｉ＝ＣａｍＰｒｏｊ（ＥｃｗｎＰｗｉ）  ・・・（８）
【００３９】
また短期追跡用特徴点の場合と異なり、フレームｎ−１における長期追跡用特徴点Ｐｖｎ−１，ｉに対するマッチング候補は、長期追跡用特徴点Ｐｖｎ，ｉを中心に距離ｄ１内に存在する点全てを候補点としてブロックマッチングを行い、その他については、ステップＳ２の処理動作と同様である。
【００４０】
次に、カメラ位置姿勢推定部６は、ステップＳ２、Ｓ４において第２特徴追跡部５から出力された全ての特徴点追跡結果を用いて、カメラ位置姿勢を示す変換行列Ｅｃｗｎの推定を行う（ステップＳ５）。変換行列Ｅｃｗｎの推定にはランダムに所定のＮ２（Ｎ２＜Ｎ１）の特徴点の組を選んで推定を行う。変換行列Ｅｃｗｎの推定処理動作についてはステップＳ３と同じであるのでここでは詳細な説明を省略する。そして、カメラ位置姿勢推定部６は、最終的に得られたフレームｎのカメラ位置姿勢推定結果である変換行列Ｅｃｗｎを記憶部８上の特徴点マップに保存する。
【００４１】
次に、画像合成部１０は、記憶部８に保存されたフレームｎのカメラ位置姿勢推定結果である変換行列Ｅｃｗｎと後述する処理動作によって求められる特徴点の３次元位置情報を用いて、所定の条件に従って、ＣＧデータ記憶部９に記憶されている仮想物体を表すＣＧデータを撮影されたフレームｎにおける画像データに重畳して出力する（ステップＳ６）。ここでいう所定の条件とは、例えば、特徴点が多く分布する領域を任意画像で生成されたマーカー領域とみなし、マーカー領域上に仮想物体を表すＣＧデータを表示する構成としてもよいし、あるいは、特徴点の分布する領域を障害物とみなし、特徴点の存在しない空間に仮想物体を表すＣＧデータを表示する構成等が利用用途に応じて考えられる。
【００４２】
以上説明した図３に示すステップＳ１〜Ｓ６の処理動作をカメラ１から入力されるフレーム毎に繰り返し行うことにより、リアルタイムで実写画像データに対してＣＧデータを合成した画像データを生成して出力することが可能となる。
【００４３】
次に、図５を参照して、図１に示す画像処理装置における特徴点の３次元位置推定処理動作を説明する。まず、カメラ１による撮影開始時において、記憶部８に保持された特徴点マップが空の状態に初期化される（ステップＳ１１）。また先頭フレームのカメラ位置姿勢を示す変換行列Ｅｃｗ０は、カメラ座標系（Ｘｃ，Ｙｃ，Ｚｃ）、ワールド座標系（Ｘｗ，Ｙｗ，Ｚｗ）が一致するように設定され、記憶部８に特徴点マップとして保存する。
【００４４】
次に、第１特徴検出部２は、カメラ１から出力される画像データのうち、所定のフレーム間隔Ｎ毎に画像データを入力し、ＳＩＦＴ特徴に基づき長期追跡用特徴点検出を行う（ステップＳ１２）。以降、第１特徴検出部２に入力されるフレーム間隔Ｎ毎のフレームをキーフレームと呼ぶことにする。第１特徴検出部２は、検出した長期追跡用特徴点の位置及びＳＩＦＴ特徴量を第１特徴追跡部４へ出力する。
【００４５】
次に、第１特徴追跡部４は、連続する２つのキーフレーム（キーフレームｎ−１，キーフレームｎ）における長期追跡用特徴点に対し、ＳＩＦＴ特徴量のマッチングを行うことにより、長期追跡用特徴点の追跡を行う（ステップＳ１３）。ただし先頭キーフレーム（キーフレーム０）が入力された場合、組となる追跡対象のキーフレームが存在しないためこの処理動作は省略し、後続する処理動作も行わずにステップＳ１２に戻る。なお、組となる特徴点を求める方法としては、例えば、ＡＮＮ（Approximate Nearest Neighbor）アルゴリズム（S.Arya, D. M.Mount, R.Silverman, A.Y.Wu,"An optimal algorithm for approximate nearest neighbor searching",Journal of the ACM,Vol.45, No.6,pp.891-923,1998）を用いる。ＡＮＮアルゴリズムは、k-d tree構造を用いた局所探索手法であり、類似度が最も高い特徴点の組を近似的に求めるアルゴリズムであり、組となる特徴点を高速に求めることができる。
【００４６】
次に、特徴点３次元位置推定部７は、既に記憶部８上の特徴点マップに３次元位置が記憶されているか否かに基づいて、ステップＳ１３の処理により得られた特徴点の組のうち、新規の特徴点があるか否かを判定する（ステップＳ１４）。この判定の結果、記憶部８上の特徴点マップに記憶されていない特徴点がある場合、特徴点３次元位置推定部７は、キーフレームｎ−１、キーフレームｎそれぞれの推定済みカメラ位置姿勢を示す変換行列Ｅｃｗ（ｎ−１）Ｎ、ＥｃｗｎＮと、キーフレームｎ−１、キーフレームｎそれぞれで観測された特徴点の射影座標（ｕｉ，ｖｉ）、（ｕｉ，ｖｉ）を用いて、三角測量により、この特徴点の３次元位置の初期値を推定し、特徴点の３次元位置及びキーフレームｎ−１，キーフレームｎでそれぞれ観測された特徴点の射影座標（ｕｉ，ｖｉ）、（ｕｉ，ｖｉ）を記憶部８上の特徴点マップに記憶する（ステップＳ１５）。
【００４７】
次に、特徴点３次元位置推定部７は、ロバスト推定手法の１つであるＭ−ｅｓｔｉｍａｔｏｒを用いて、（９）式におけるＭ２の最小化により、特徴点の３次元位置の更新を行う（ステップＳ１６）。
【００４８】
【数５】
2011008687.tif 000007
【００４９】
（９）式においてｅｉ，ｊはキーフレームｉにおける特徴点ｊの観測誤差を示し、ｆ２（ｅ）は例外値の影響を抑えるために用いる計測誤差の評価関数である。キーフレーム０からキーフレームｎにおけるカメラ位置姿勢は推定済みであり、Ｍ２の最小化により求めた各特徴点の３次元位置を記憶部８上の特徴点マップを更新して（ステップＳ１７）、ステップＳ１２へ戻る。
【００５０】
以上説明したように、特徴点検出のための演算量が多い画像特徴の検出処理を所定のフレーム間隔毎に行うようにして、演算量の軽減を図るとともに、演算量が多い画像特徴の検出処理を行わないフレームにおける短時間のカメラ位置姿勢の変化に対しては、演算量が少ない画像特徴の検出処理による特徴点検出と、ブロックマッチングを使用することで、精度の高い滑らかなカメラ位置姿勢の変化を推定することが可能になるという効果が得られる。このため、任意の画像における特徴点の追跡による安定したカメラ位置姿勢の推定と、特徴点の３次元位置推定をリアルタイムに実現でき、カメラで実空間を撮影した動画像データに対して、ＣＧ等で生成された仮想物体を重畳し、ＨＭＤ（Head Mount Display）等で表示することで拡張現実感（Augmented Reality）を実現する仮想現実システムの処理を安定して実行することができる。
【００５１】
なお、図１に示す第１特徴検出部２、第２特徴検出部３、第１特徴追跡部４、第２特徴追跡部５、カメラ位置姿勢推定部６、特徴点３次元位置推定部７及び画像合成部１０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、実写画像データに対してＣＧデータを合成した画像データを生成して出力する処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５２】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【産業上の利用可能性】
【００５３】
カメラで実空間を動画像データとして撮影し、この動画像データに対してコンピュータグラフィックス等で生成された仮想物体を重畳して表示することで拡張現実感（Augmented Reality）を実現する仮想現実システムに適用できる。
【符号の説明】
【００５４】
１・・・カメラ、２・・・第１特徴検出部、３・・・第２特徴検出部、４・・・第１特徴追跡部、５・・・第２特徴追跡部、６・・・カメラ位置姿勢推定部、７・・・特徴点３次元位置推定部、８・・・記憶部、９・・・ＣＧデータ記憶部、１０・・・画像合成部
【図１】
2011008687.tif 000008
【図２】
2011008687.tif 000009
【図３】
2011008687.tif 000010
【図４】
2011008687.tif 000011
【図５】
2011008687.tif 000012