(57)【特許請求の範囲】
【請求項１】
ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の３次元点を示すオブジェクト上３次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上３次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出部と、
前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出部と、
当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出部の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定部と、
を備え、
前記スコア算出部は、前記対象画像点の全てを包含する前記フレーム画像上の領域と、前記合成画像点の全てを包含する前記フレーム画像上の領域との重複領域を決定し、当該重複領域の大きさに基づく値の逆数を前記スコアとして算出する
ことを特徴とする物体座標系変換行列推定成否判定装置。
【請求項２】
物体座標系変換行列推定成否判定装置が、
ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の３次元点を示すオブジェクト上３次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上３次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出し、
前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出する処理において、前記対象画像点の全てを包含する前記フレーム画像上の領域と、前記合成画像点の全てを包含する前記フレーム画像上の領域との重複領域を決定し、当該重複領域の大きさに基づく値の逆数を前記スコアとして算出し、
当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する
ことを特徴とする物体座標系変換行列推定成否判定方法。
【請求項３】
物体座標系変換行列推定成否判定装置のコンピュータを、
ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の３次元点を示すオブジェクト上３次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上３次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出手段、
前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出手段、
当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出手段の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定手段、
として機能させ、
前記スコア算出手段は、前記対象画像点の全てを包含する前記フレーム画像上の領域と、前記合成画像点の全てを包含する前記フレーム画像上の領域との重複領域を決定し、当該重複領域の大きさに基づく値の逆数を前記スコアとして算出する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体を含む実空間を撮像するカメラによって入力されたフレーム画像列から、物体に対してコンピュータグラフィクス等を合成するために算出する、実空間内の基準座標系であるワールド座標系から見た物体の位置・姿勢を示す物体座標系への変換行列の推定成否を判定する物体座標系変換行列推定成否判定装置および物体座標系変換行列推定成否判定方法ならびにそのプログラムに関する。
【背景技術】
【０００２】
実空間を撮像するカメラによって入力されたフレーム画像から、実空間におけるカメラの位置・姿勢を示すカメラポーズと、フレーム画像内の特徴点の３次元座標を算出するカメラポーズ・３Ｄ装置が存在する。当該カメラポーズ・３Ｄ装置では、算出したカメラポーズを用いて、例えばフレーム画像中にコンピュータグラフィクス（ＣＧ）等を合成することを可能にしている。
【０００３】
カメラポーズ・３Ｄ推定装置では、カメラポーズと実空間内の３次元点（特徴点）の３次元座標の初期値及びフレーム画像を入力し、
（１）実空間の３次元点がフレーム画像で観測された画像点を決定し、
（２）３次元点の３次元座標と画像点の座標の組から非線形最小自乗法によってカメラポーズを算出し、
（３）過去に亘った複数時刻のフレーム画像を用いて３次元点の３次元座標を更新する処理を時々刻々繰り返すことによって正確にカメラポーズと３次元点の３次元座標を算出する。
【０００４】
従来のカメラポーズ・３Ｄ推定装置で算出されるカメラポーズと３次元点の３次元座標は、カメラポーズはワールド座標系から見たカメラの位置及び向き、３次元点の３次元座標はワールド座標系からの位置として表現される。当該ワールド座標系はカメラポーズ・３Ｄ推定装置で初期時刻において予め設定したものが利用される。このため、例えばフレーム画像中の物体に対してＣＧ等を合成する場合には、ワールド座標系から見た物体の位置・姿勢を示す物体座標系への剛体変換行列が必要となる。物体座標系変換装置の処理が、例えば非特許文献１に記載されている。当該非特許文献１に記載の処理では、カメラポーズ・３Ｄ算出装置において、フレーム画像中の物体に対してコンピュータグラフィクス等を合成する場合においても正確な合成を実現するため、ワールド座標系から見た物体座標系への剛体変換行列を算出している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Robert O. Castle，David W. Murray，“Object Recognition and Localization while Tracking and Mapping，”International Symposium on Mixed and Augmented Reality，pp. 179-180，Oct. 2009.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図２５は、従来の物体座標系変換装置の構成を示す図である。
以下、従来の物体座標系変換装置を詳解する。
物体座標系変換装置への入力データは、カメラで撮像したある時刻tのフレーム画像Ｆ（ｔ）と、平面物体が写されているテンプレート画像と、カメラの焦点距離等を示すカメラパラメータ、及びテンプレート画像内の平面物体に相当する物体を表示するフレーム画像Ｆ（ｔ）上の当該物体に合成したいＣＧデータである。ここで夫々のデータは予め与えられるものである。ここでは説明の簡単化のためテンプレート画像は１枚のみテンプレート画像記憶部２５１に格納されているものとする。物体座標系変換装置ではまず、カメラポーズ・３次元座標推定部２５２によって、フレーム画像Ｆ（ｔ）上の物体等の角や交点となる特徴点を追跡した結果に基づき時刻tの特徴点（３次元点）の３次元座標及びカメラポーズを推定する。このカメラポーズと、３次元点の３次元座標はカメラポーズ・３次元座標推定部２５２で適当に設定されたワールド座標系で記述表現される。
【０００７】
並行して、物体座標系変換装置では、テンプレート照合部２５３でテンプレート画像とフレーム画像Ｆ（ｔ）をScale-Invariant Feature Transform（ＳＩＦＴ）等を用いて照合することにより、テンプレート内部の平面物体の特徴点の位置をフレーム画像Ｆ（ｔ）上で推定する。続いて、テンプレート照合部２５３は、テンプレート内部の平面物体の特徴点の位置とこれに対応付けられたフレーム画像Ｆ（ｔ）上の位置の集合から、射影変換行列を求め、当該射影変換行列を用いて、テンプレート画像の４隅を示す端点の位置に対応するフレーム画像Ｆ（ｔ）上のテンプレート画像の端点位置を推定する。
次に３次元座標算出部２５４にて、前記テンプレート画像内の平面物体の特徴点の三次元座標と、フレーム画像Ｆ（ｔ）上のテンプレート画像の端点位置の三次元座標を、フレーム画像Ｆ（ｔ）が撮影された時刻t以前の、他の撮影時刻が近いフレーム画像に対するステレオ対応付けによって算出する。続いて平面算出部２５５が、算出したテンプレート画像内の平面物体内の特徴点の三次元座標に基づいて、３次元空間内でのワールド座標系で記述される平面の法線を算出する。
そして平面算出部２５５は、フレーム画像Ｆ（ｔ）上のテンプレート画像の端点位置の三次元座標と、ワールド座標系での当該平面の法線と、予めテンプレート画像の４隅点に設定された物体座標系での三次元座標と、当該三次元座標から算出した、物体座標系でのテンプレート画像の３次元空間内での平面法線とから、テンプレート画像の平面物体の座標系である物体座標系への剛体変換を表現する物体座標系変換行列を算出する。
【０００８】
物体座標系変換装置は、最後にＣＧ合成部２５６にて物体座標系で記述表現された付加情報である例えば図２６に示すＣＧ情報を、物体座標系変換行列を用いてワールド座標系での記述表現に変換し、カメラポーズを用いて現時刻のフレーム画像Ｆ（ｔ）に例えば図２７に示すように重畳合成する。この一連の処理を時々刻々繰り返すことによって、フレーム画像中の物体に対してＣＧ等を合成することを実現している。
【０００９】
しかしながら、カメラポーズ・３次元座標推定部２５２で算出される３次元点群の３次元座標は、画像の量子化誤差や、対応付け誤りによる誤差を有しており、これに起因し物体座標系変換行列の精度が劣化する。このような精度の低い物体座標系変換行列を用いると、結果的にフレーム画像Ｆ（ｔ）中の物体の位置や向きに対してＣＧの合成がずれるといった問題がある。
【００１０】
本発明は上述したような問題点に鑑みてなされたものであり、物体座標系変換装置において算出された物体座標系変換行列の精度を定量化し、推定成否を判定する物体座標系変換行列推定成否判定装置および物体座標系変換行列推定成否判定方法ならびにそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明は、ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の３次元点を示すオブジェクト上３次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上３次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出部と、前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出部と、当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出部の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定部と、を備えることを特徴とする物体座標系変換行列推定成否判定装置である。
【００１２】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記対象画像点と対応する前記合成画像点の差を、複数の前記対象画像点と対応する前記合成画像点の組合せについて算出し、その総和に基づいて前記スコアを算出することを特徴とする。
【００１３】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記対象画像点の全てを包含する前記フレーム画像上の領域と、前記合成画像点の全てを包含する前記フレーム画像上の領域との重複領域を決定し、当該重複領域の大きさに基づく値の逆数を前記スコアとして算出することを特徴とする。
【００１４】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記合成画像点の全てを包含する前記フレーム画像上の領域の各画素についてのテクスチャ情報と、前記対象画像点の全てを包含する前記フレーム画像上の領域の各画素について前記合成画像点の全てを包含する前記フレーム画像上の領域へとマッピングした場合の各画素についてのテクスチャ情報との差分の総和に基づいて、前記スコアを算出することを特徴とする。
【００１５】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記フレーム画像において検出したエッジ画像と、前記フレーム画像に写る被写体の重畳画像を前記フレーム画像に合成した場合の当該フレーム画像において検出したエッジ画像との差異に基づいて、前記スコアを算出することを特徴とする。
【００１６】
また本発明は、物体座標系変換行列推定成否判定装置が、ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の３次元点を示すオブジェクト上３次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上３次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出し、前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出し、当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力することを特徴とする物体座標系変換行列推定成否判定方法である。
【００１７】
また本発明は、物体座標系変換行列推定成否判定装置のコンピュータを、ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の３次元点を示すオブジェクト上３次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上３次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出手段、前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出手段、当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出手段の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定手段、として機能させるためのプログラムである。
【発明の効果】
【００１８】
本発明によれば、物体座標系変換装置において算出された物体座標系変換行列の精度を定量化し、推定成否を判定することができる。
【図面の簡単な説明】
【００１９】
【図１】物体座標系変換行列推定成否判定装置の構成を示すブロック図である。
【図２】第１の実施形態における合成画像点算出部１１の処理フローを示す図である。
【図３】合成画像点算出部の入力する入力データを示す図である。
【図４】合成画像点算出部の記録するデータを示す図である。
【図５】第１の実施形態におけるスコア算出部１２の処理フローを示す図である。
【図６】スコア算出部の処理概要を示す図である。
【図７】第１の実施形態における成否判定部１３の処理フローを示す図である。
【図８】第２の実施形態におけるスコア算出部１２の処理フローを示す図である。
【図９】第２の実施形態によるスコア算出部の処理概要を示す第１の図である。
【図１０】第２の実施形態によるスコア算出部の処理概要を示す第２の図である。
【図１１】第２の実施形態によるスコア算出部の処理概要を示す第３の図である。
【図１２】第３の実施形態におけるスコア算出部１２の処理フローを示す図である。
【図１３】第３の実施形態によるスコア算出部の処理概要を示す第１の図である。
【図１４】第３の実施形態によるスコア算出部の処理概要を示す第２の図である。
【図１５】第３の実施形態によるスコア算出部の処理概要を示す第３の図である。
【図１６】第３の実施形態によるスコア算出部の処理概要を示す第４の図である。
【図１７】第４の実施形態におけるスコア算出部１２の処理フローを示す図である。
【図１８】第４の実施形態によるスコア算出部の処理の説明に用いる図である。
【図１９】第４の実施形態によるスコア算出部の処理の説明に用いる図である。
【図２０】第４の実施形態によるスコア算出部の処理の説明に用いる図である。
【図２１】第４の実施形態によるスコア算出部の処理の説明に用いる図である。
【図２２】第４の実施形態によるスコア算出部の処理の説明に用いる図である。
【図２３】第４の実施形態によるスコア算出部の処理の説明に用いる図である。
【図２４】座標系及び用語の定義を説明するための図である。
【図２５】従来の物体座標系変換装置の構成を示す図である。
【図２６】ＣＧ情報を示す図である。
【図２７】重畳合成の概要を示す図である。
【発明を実施するための形態】
【００２０】
まず初めに、座標系及び用語の定義を、図２４を用いて説明する。
ワールド座標系は空間全体を表す座標系であり、３次元点の３次元座標は該ワールド座標系での位置を示す。また本実施形態において「カメラポーズ」とは、ワールド座標系における基準点および基準方向を基準とするカメラの並進（並進位置）、回転（回転角度）を示す。またフレーム画像Ｆ（ｔ）は、時刻tにおいてカメラが撮像した画像を示す。
【００２１】
また、フレーム画像Ｆ（ｔ）上において、ＣＧ（重畳画像）を重畳表示する対象物体の領域を構成する点群を対象画像点、３Ｄ−ＣＧ空間内において物体座標系で表現されたＣＧ上の点で対象画像点に対応する３次元点や、フレーム画像Ｆ（ｔ）上の重畳対象に重畳表示するＣＧの特徴を示す点に対応する３次元点を、オブジェクト上３次元点と呼ぶこととする。なお、ワールド座標系と、物体座標系は異なる座標系であり、ワールド座標系から物体座標系への剛体変換を表現する行列を物体座標系変換行列と呼ぶ。物体座標系変換行列に加えて、カメラポーズ、対象画像点及び、オブジェクト上３次元点は物体座標系変換装置で夫々決定されるものである。
【００２２】
以下、物体座標系変換行列推定成否判定装置を図面を参照して説明する。
図１は物体座標系変換行列推定成否判定装置の構成を示すブロック図である。
図１に示すとおり、物体座標系変換行列推定成否判定装置１は、合成画像点算出部１１と、スコア算出部１２と、成否判定部１３とを備える。本実施形態による物体座標系変換行列推定成否判定装置１の各処理に用いるデータは、物体座標系変換行列推定成否判定装置１が備える記憶部１４に適宜格納することができる。
【００２３】
物体座標系変換行列推定成否判定装置１は、物体座標系変換装置で算出された物体座標系変換行列及び、対象画像点、対象画像点に関連付けられたオブジェクト上３次元点、カメラポーズと、カメラから入力されるフレーム画像Ｆ（ｔ）、及び、前記カメラの焦点距離等を示す所定のカメラパラメータを入力する。そして、物体座標系変換行列推定成否判定装置１は、これら入力した情報により、物体座標系変換行列の推定精度を定量化したスコアを用いて物体座標系変換行列推定の成否を判定し、成否信号を出力する。
【００２４】
合成画像点算出部１１は、物体座標系変換行列、カメラポーズ、カメラパラメータ、対象画像点、対象画像点に関連付けられたオブジェクト上３次元点を入力し、合成画像点を算出し対象画像点に関連付けて出力する。合成画像点は、フレーム画像Ｆ（ｔ）に重畳するＣＧのオブジェクト上３次元点が、物体座標系変換行列によりフレーム画像Ｆ（ｔ）上に合成される際の当該フレーム画像Ｆ（ｔ）上の点である。
スコア算出部１２は、以下の第１，２の実施形態では、対象画像点及び、対象画像点に関連付けられた合成画像点を夫々入力し、物体座標系変換行列の推定精度を定量化したスコアを出力する。なお合成画像点と対象画像点との距離が離れるほど、ＣＧがフレーム画像Ｆ（ｔ）上の合成対象の物体から離れて合成されることとなり、またスコア値も高くなる。スコア算出部１２は、以下の第３の実施形態では第１、２の実施形態の入力データに加えてフレーム画像を、第４の実施形態では第３の実施形態の入力データに加えて被写体の３Ｄ−ＣＧと、物体座標系変換行列、カメラポーズ、カメラパラメータを、夫々入力し、物体座標系変換行列の推定精度を定量化したスコアを出力する。なおスコアは、物体座標変換行列によってフレーム画像上の重畳対象の物体にＣＧが重畳される場合の、当該重畳対象の物体とＣＧとの不一致の度合いを示す値でもある。成否判定部１３は、スコア算出部１２からスコアを入力し、記憶部１４から最小スコアを読出し、成功と判定した場合は成功信号を、失敗と判定した場合は失敗信号を出力する。
【００２５】
＜第１の実施形態＞
第１の実施形態に係る物体座標系変換行列推定成否判定装置で実行される詳細な処理を以下に説明する。
【００２６】
図２は、第１の実施形態における合成画像点算出部１１の処理フローを示す図である。
図３は、合成画像点算出部の入力する入力データを示す図である。
図４は、合成画像点算出部の記録するデータを示す図である。
第１の実施形態における物体座標系変換行列推定成否判定装置１では、まず合成画像点算出部１１が起動される。合成画像点算出部１１は起動されると物体座標系変換行列、カメラポーズ、カメラパラメータ、フレーム画像Ｆ（ｔ）上のＣＧの重畳対象の物体を示す対象画像点、ＣＧについてのオブジェクト上３次元点を入力する（ステップＳ２０１）。ここで、対象画像点とオブジェクト上３次元点は図３に示すように、唯一割り振られたＩＤによって関連付けられている。
【００２７】
続いて、合成画像点算出部１１は、入力したオブジェクト上３次元点全てについて、物体座標系変換行列とカメラポーズ及びカメラパラメータとから合成画像点を算出する（ステップＳ２０２）。合成画像点は、入力した物体座標系変換行列を用いて、オブジェクト上３次元点をフレーム画像Ｆ（ｔ）上に合成する際の、オブジェクト上３次元点に対応するフレーム画像Ｆ（ｔ）上の点である。ここでＩＤがｉ番目のオブジェクト上３次元点(Ｘ＿ｉ， Ｙ＿ｉ， Ｚ＿ｉ)に対応するフレーム画像Ｆ（ｔ）上の合成画像点(ｘｒ＿ｉ， ｙｒ＿ｉ)は式（１）によって算出できる。
【００２８】
【数１】
0005719277.tif 000002
【００２９】
ただし、演算子“〜”は、その両辺が定数倍の違いを許して等しいことを表している。なお、式（１）において、行列Ｌは物体座標系変換行列を、行列Ｍはカメラポーズを示し、夫々、式（２）、式（３）で表現される。
【００３０】
【数２】
0005719277.tif 000003
【００３１】
【数３】
0005719277.tif 000004
【００３２】
式（２）、式（３）におけるＲｃ，Ｒｏは、３×３の回転行列を、ｔｃ，ｔｏは３×１の並進ベクトルをそれぞれ示す。また、式（１）において行列Ａは式（４）に示すカメラのカメラパラメータからなる３×３の行列である。式（４）において、ｆはカメラの焦点距離であり、δｕとδｖはカメラの撮像素子の横方向と縦方向の画素の物理的な間隔、Ｃｕ、Ｃｖは画像中心を示す。
【００３３】
【数４】
0005719277.tif 000005
【００３４】
次に合成画像点算出部１１は入力したオブジェクト上３次元点全てについて合成画像点を算出した後に、該合成画像点を図４に示すように対象画像点に関連付けて記録し（ステップＳ２０３）、処理を終える。
【００３５】
図５は、第１の実施形態におけるスコア算出部１２の処理フローを示す図である。
図６は、スコア算出部の処理概要を示す図である。
次に、第１の実施形態でのスコア算出部１２は、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する。続いて、全ての対象画像点を包含するフレーム画像Ｆ（ｔ）上領域を決定する（ステップＳ５０２）。この処理は例えば非特許文献『Michael Kass, Andrew Witkin and Demetri Terzopoulos，“Snakes: Active contour models，”International Journal of Computer Vision， vol. 1, no. 4, pp. 321-331，1988.』に記載の動的輪郭法を用いることで実現できる。動的輪郭法とは条件に従って動的に複数個の離散的な点列を結んだ閉曲線の変形を繰り返すことで、輪郭を抽出する方法である。
【００３６】
続いて、スコア算出部１２は、入力した全ての対象画像点について、合成画像点との距離を算出する（ステップＳ５０３）。ここで距離とは、図６に示すとおり、対象画像点と、該対象画像点に関連付けて記録された合成画像点との間のユークリッド距離を示す。ＩＤがｉ番目の距離ｄ＿ｉは対象画像点の座標を(ｘ＿ｉ， ｙ＿ｉ)、合成画像点の座標を(ｘｒ＿ｉ， ｙｒ＿ｉ)とすると、式（５）により算出できる。
【００３７】
【数５】
0005719277.tif 000006
【００３８】
またスコア算出部１２は、算出した距離の全ての対象画像点に亘っての総和を、前記フレーム画像上領域の面積で正規化した値を算出し、当該値をスコアｓｃｏｒｅ１として出力する（ステップＳ５０４）。このスコアｓｃｏｒｅ１は、フレーム画像上領域の面積をＳとすると、式（６）によって算出できる。なお、各合成画像点が、対応する各対象画像点から離れれば離れるほど、スコアｓｃｏｒｅ１の値は大きくなる。合成画像点は、対象画像点に近いほど、ＣＧ画像をフレーム画像Ｆ（ｔ）内のＣＧ合成対象の物体に精度良く合成することができる。従って、スコアの値は小さいほど良い。
【００３９】
【数６】
0005719277.tif 000007
【００４０】
図７は、第１の実施形態における成否判定部１３の処理フローを示す図である。
続いて、成否判定部１３が起動される。成否判定部１３は起動すると、スコア算出部１２からスコアを入力する（ステップＳ７０１）。続いて成否判定部１３は、記憶部１４から過去に算出された最小スコアを読み出す（ステップＳ７０２）。該最小スコアとは、処理対象であるフレーム画像Ｆ(ｔ)以前のフレーム画像を用いて算出したスコアであり、物体座標系変換装置が起動した時刻からフレーム画像Ｆ(ｔ)を撮像した時刻tまでの間での最小のスコア値を示す。続いて成否判定部１３は、スコアが最小スコアより小さいかを判定し（ステップＳ７０３）、スコアが最小スコアより小さい場合は、スコア算出部１２がスコアの算出に用いた物体座標変換行列によるＣＧ重畳の精度向上が成功したと判定し、最小スコアをスコアで更新し記憶部１４に記録する（ステップＳ７０４）。成否判定部１３は、スコアが最小スコアより大きい場合は、スコア算出部１２がスコアの算出に用いた物体座標変換行列によるＣＧ重畳の精度向上が失敗したと判定する。そして、更新判定部１３は、上記処理で更新と判定した場合は成功信号を出力し（ステップＳ７０５）、失敗と判定した場合は失敗信号を出力し（ステップＳ７０６）、処理を終える。
【００４１】
なお、例えば更新信号は物体座標系変換装置へ出力される。更新信号を入力した場合、その更新信号の出力についてのスコアの算出に用いられた物体座標系変換行列が、最小のスコアの算出に用いられた物体座標系変換行列である。従って、物体座標系変換装置では、以降、その物体座標系変換行列を用いて、ＣＧ合成の処理を行うこととなる。これにより、ＣＧ合成処理に用いていた物体座標系変換行列を、新たな最小のスコア値の算出に用いられた物体座標系変換行列へと更新する。
【００４２】
＜第２の実施形態＞
第１の実施形態では、対象画像点と、該対象画像点に関連付けて記録された合成画像点間のユークリッド距離をスコアとするため、対象画像点数が多い場合は、物体座標系変換行列推定精度を良好に定量化できる。しかしながら、対象画像点数が少ない場合はスコアの信頼性が下がり、成否判定に失敗することがある。
そこで第２の実施形態では、対象画像点が構成する領域と、合成画像点が構成する領域を比較することで、物体座標系変換行列推定精度をより高い信頼度で表現するスコアの算出方法について述べる。
【００４３】
第２の実施形態における、合成画像点算出部１１と、成否判定部１３は、第１の実施形態の処理と何ら変わるところがないので、その説明を省略する。以降、第２の実施形態におけるスコア算出部１２の処理について述べる。
【００４４】
図８は、第２の実施形態におけるスコア算出部１２の処理フローを示す図である。
図９は、第２の実施形態によるスコア算出部の処理概要を示す第１の図である。
図１０は、第２の実施形態によるスコア算出部の処理概要を示す第２の図である。
図１１は、第２の実施形態によるスコア算出部の処理概要を示す第３の図である。
【００４５】
第２の実施形態におけるスコア算出部１２では、第１の実施形態同様、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する（ステップＳ８０１）。続いて、第１の実施形態同様に全ての対象画像点を包含するフレーム画像上領域を図９のように決定する（ステップＳ８０２）。続いてスコア算出部１２は、同様に全ての合成画像点を包含するフレーム画像上領域を図１０のように決定する（ステップＳ８０３）。続いてスコア算出部１２、前記フレーム画像上領域と前記合成画像上領域との重複領域面積を算出する（ステップＳ８０４）。この処理は、例えば、フレーム画像においてフレーム画像上領域内の画素値を１, それ以外を０とした画像と、フレーム画像において合成画像上領域内の画素値を１，それ以外を０とした画像をそれぞれ作成しておき、或る画素の画素値が両画像において１の場合は１を、それ以外の場合は０を設定するＡＮＤ演算によって図１１のような重複領域を決定し、当該重複領域の面積をＡＮＤ演算後の画像の画素値が１である画素の総数によって算出することで実現できる。
【００４６】
なお重複領域の面積が小さい場合は、入力した物体座標系変換行列を用いてＣＧをフレーム画像Ｆ（ｔ）上の合成対象の物体に合成した際に、精度良く（ズレが少なく）合成できる場合である。よって、重複領域の面積が小さい程、入力した物体座標系変換行列によるＣＧ合成の精度がよい。
【００４７】
続いてスコア算出部１２は、前記重複領域面積を、前記フレーム画像上領域の面積で正規化した値を算出し、その逆数をスコアとして出力し（ステップＳ８０５）、処理を終える。このスコアｓｃｏｒｅ２は、重複領域面積をＳｏ、フレーム画像上領域の面積をＳとすると、式（７）によって算出できる。
【００４８】
【数７】
0005719277.tif 000008
【００４９】
なおここで、前記重複領域面積を前記フレーム画像上領域の面積で正規化した値の逆数をスコアとする理由は、重複領域の面積が大きい方が、物体座標系変換行列推定精度が高いとされるのに対し、成否判定部１３において算出したスコアが最小スコアより小さい場合に成功と判定するためである。成否判定部１３において算出したスコアが最大スコアより大きい場合に成功と判定する実施形態の場合は、逆数を取る必要はない。
【００５０】
＜第３の実施形態＞
第２の実施形態では、対象画像点が構成する領域と、合成画像点が構成する領域の重なり度で物体座標系変換行列推定精度を表現するが、フレーム画像のテクスチャ情報の類似度まで含めてスコアを表現した方が、物体座標系変換行列推定精度をより高い信頼度で表現できる。
【００５１】
そこで第３の実施形態では、対象画像点が構成する領域に属する各画素のテクスチャ情報を、合成画像点が構成する領域へマッピングしたものと、合成画像点が構成する領域に属する各画素のテクスチャ情報を比較することで、物体座標系変換行列推定精度を表現するスコアの算出方法について述べる。なお、第３の実施形態においてテクスチャ情報としては、フレーム画像をグレースケールに変換した画素値を用いてもよいし、カラー画像のＲＧＢの画素値をそのまま利用してもよい。
【００５２】
第３の実施形態における、合成画像点算出部１１と、成否判定部１３は、第１の実施形態と何ら変わるところがないので説明は省略する。以降、第３の実施形態におけるスコア算出部１２の動作について述べる。
【００５３】
図１２は、第３の実施形態におけるスコア算出部１２の処理フローを示す図である。
第３の実施形態におけるスコア算出部１２では、第１の実施形態同様、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する。第３の実施形態では加えてフレーム画像Ｆ（ｔ）も入力する（ステップＳ１２０１）。続いて、スコア算出部１２は、第１の実施形態同様に全ての対象画像点を包含するフレーム画像上領域を決定する（ステップＳ１２０２）。続いて、スコア算出部１２は、同様に全ての合成画像点を包含する合成画像上領域を決定する（ステップＳ１２０３）。
【００５４】
続いて、スコア算出部１２は、フレーム画像上領域内の各画素のテクスチャ情報を、合成画像上領域にマッピングする（ステップＳ１２０４）。この処理は、例えば非特許文献『OpenGL策定委員会，“OpenGLプログラミングガイド，”ピアソンエデュケーション，Dec. 2006.』に記載の、コンピュータグラフィクス分野において一般的なテクスチャマッピング処理によって実現できる。
【００５５】
図１３は、第３の実施形態によるスコア算出部の処理概要を示す第１の図である。
図１４は、第３の実施形態によるスコア算出部の処理概要を示す第２の図である。
図１５は、第３の実施形態によるスコア算出部の処理概要を示す第３の図である。
フレーム画像上領域内の各画素のテクスチャ情報を合成画像上領域にマッピングする処理の詳細について、図１３，１４，１５を用いて説明する。
まず、フレーム画像上領域は図１３に示すような５角形の（５つの対象画像点を頂点とする）領域である。スコア算出部１２は、当該フレーム画像上領域を構成する全ての対象画像点について、横座標および縦座標ともに０．０〜１．０の座標範囲で正規化し、各対象画像点についての座標をそれぞれ決定し、対象画像点の情報に関連付けて記録しておく。
【００５６】
続いて、或る合成画像点について、頂点を合成画像点の座標、テクスチャ座標を該合成画像点に関連付けられた対象画像点に関連付けて記録されているテクスチャ座標を設定する。次にレンダリング処理を行うことで、形状は合成画像上領域と同一で、フレーム画像上領域内のフレーム画像のテクスチャ情報を合成画像上領域にマッピングする。つまり、フレーム画像領域上の各対象画像点のテクスチャ情報を、合成画像上領域の対応する各合成画像点にマッピングすると共に、フレーム画像上領域内の各画素のテクスチャ情報についても同様に、合成画像上領域にマッピングする。これにより、合成画像上領域内の各画素からは、フレーム画像領域上の各画素についてのマッピング後のテクスチャ情報を得ることができる。ここで例えば、図１３で示すように、フレーム画像Ｆ（ｔ）において「Ａ」の文字が表示されており、その文字の表示領域の一部がフレーム画像上領域に含まれるとする。また合成画像上領域が図１４に示すとおりの場合であるとする。このような場合、図１３で示すフレーム画像上領域内の各画素を合成画像領域内にマッピング処理した場合、フレーム画像上領域において表示されていた「Ａ」の一部を示す各画素は、図１５で示すような所定範囲マッピング位置にマッピングされる。合成画像領域とフレーム画像上領域とがずれているほど、「Ａ」の文字が歪んでマッピングされる。
【００５７】
図１６は、第３の実施形態によるスコア算出部の処理概要を示す第４の図である。
続いて、スコア算出部１２は、フレーム画像上領域内に表示された文字「Ａ」と同一位置に当該文字「Ａ」が表示されている場合の合成画像上領域内の各画素についてのテクスチャ情報と、図１５で示すようなマッピング後の合成画像上領域内の各画素についてのテクスチャ情報との差分総和値Ｉｄｉｆｆを算出する（ステップＳ１２０５）。ここで、図１６におけるフレーム画像内において合成画像上領域外のテクスチャ情報を０、合成画像上領域内にマッピングされた後（図１５）の合成画像上領域の各画素の座標（ｐ，ｑ）のテクスチャ情報をＩｍ（ｐ，ｑ）、文字「Ａ」が表示された場合（図１４）の合成画像上領域内の各画素の座標（ｐ，ｑ）のテクスチャ情報をＩｒ（ｐ，ｑ）とした場合、差分総和値Ｉｄｉｆｆは、式（８）によって算出できる。
【００５８】
【数８】
0005719277.tif 000009
【００５９】
最後にスコア算出部１２は、差分総和値Ｉｄｉｆｆを、フレーム画像上領域の面積で正規化した値を算出し、スコアとして出力し（ステップＳ１２０６）、処理を終える。このスコアｓｃｏｒｅ３は、フレーム画像上領域の面積をＳとすると、式（９）によって算出できる。
【００６０】
【数９】
0005719277.tif 000010
【００６１】
物体座標系変換行列の精度がよくない場合には、フレーム画像上領域と合成画像上領域は大きく異なることとなる。これにより、物体座標系変換行列の精度がよくない場合には差分総和値Ｉｄｉｆｆが大きいことからスコアの値も大きくなり、物体座標系変換行列の精度がより良い場合には差分総和値Ｉｄｉｆｆが小さいことからスコアの値も小さくなる。
【００６２】
＜第４の実施形態＞
第３の実施形態では、フレーム画像Ｆ（ｔ）内における対象画像点が構成する領域に属する各画素のテクスチャ情報を、合成画像点が構成する領域へマッピングしたものと、当該マッピング以前に合成画像点が構成する領域に属する各画素のテクスチャ情報を比較することで、物体座標系変換行列推定精度を表現するが、テクスチャ情報の取得やマッピングに幾何変換を要するため計算量が大きいといった問題がある。
【００６３】
そこで本実施例では、テクスチャ情報のマッピングを利用せず、フレーム画像Ｆ（ｔ）と、被写体を表現した３Ｄ−ＣＧから合成するＣＧ合成画像を比較することで、高速に物体座標系変換行列推定精度を表現するスコアの算出方法について述べる。
【００６４】
本実施例における、合成画像点算出部１１と、成否判定部１３の処理は、第１の実施形態と何ら変わるところがないので説明は省く。以降、第４の実施形態におけるスコア算出部１２の処理について述べる。
【００６５】
図１７は、第４の実施形態におけるスコア算出部１２の処理フローを示す図である。
第４の実施形態におけるスコア算出部１２では、第１の実施形態同様、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する。第４の実施形態では加えてフレーム画像Ｆ（ｔ）も入力する（ステップＳ１７０１）。続いてスコア算出部１２は、フレーム画像Ｆ（ｔ）内に写る所定の被写体と同じ被写体についての３Ｄ−ＣＧとカメラパラメータ、及び、物体座標系変換装置が算出した物体座標系変換行列、カメラポーズを入力する（ステップＳ１７０２）。
【００６６】
図１８は、第４の実施形態によるスコア算出部の処理の説明に用いる第１の図である。
図１９は、第４の実施形態によるスコア算出部の処理の説明に用いる第２の図である。
図２０は、第４の実施形態によるスコア算出部の処理の説明に用いる第３の図である。
図２１は、第４の実施形態によるスコア算出部の処理の説明に用いる第４の図である。
図２２は、第４の実施形態によるスコア算出部の処理の説明に用いる第５の図である。
図２３は、第４の実施形態によるスコア算出部の処理の説明に用いる第６の図である。
第４の実施形態では、例えば図１８に示すような３Ｄ−ＣＧが予め準備されており、これを物体座標系変換行列推定成否判定装置１が入力したものとして以降の説明を進める。ここで、被写体の３Ｄ−ＣＧは３次元座標で表現される頂点と頂点同士を結んだ面から構成されるソリッドモデルであるものとする。当該３Ｄ−ＣＧに面の色を示すテクスチャは付与されていてもされていなくてもよい。
【００６７】
続いてスコア算出部１２は、第１の実施形態同様に全ての対象画像点を包含するフレーム画像上領域を決定する（ステップＳ１７０３）。続いてスコア算出部１２は、フレーム画像からエッジ画像をエッジ検出により生成する（ステップＳ１７０４）。この処理は従来の方法と特に変わるところはないのでここでの説明は省く。なおエッジ画像とは、隣接する画素の輝度値などのテクスチャ情報について所定の閾値以上離れた値となっている画素の集合を示す画像である。第４の実施形態では、例えば図１９に示すようなフレーム画像に対して、図２０に示すようなエッジ画像が生成されたものとする。
【００６８】
次にスコア算出部１２は、被写体の３Ｄ−ＣＧと物体座標系変換行列、カメラポーズ、カメラパラメータから、ＣＧ合成画像を生成する（ステップＳ１７０５）。この処理は物体座標系変換装置のＣＧ合成部での物体座標系変換行列を用いたＣＧ合成の処理と何ら変わるところは無いので、ここでの説明は省く。第４の実施形態では、例えば図２１に示すようなＣＧ合成画像が生成されたものとする。続いてスコア算出部１２は、ＣＧ合成画像からエッジ画像を生成し（ステップＳ１７０６）、ＣＧエッジ画像とする。第４の実施形態では、例えば図２２に示すようなＣＧエッジ画像が生成されたものとする。
【００６９】
スコア算出部１２は、前記エッジ画像と、前記ＣＧエッジ画像からＡＮＤ演算により重複画素数を算出する（ステップＳ１７０７）。この処理は、例えば、エッジ画像においてエッジ上の画素値を１、それ以外を０とした画像と、ＣＧエッジ画像においてエッジ上の画素値を１、それ以外を０とした画像をそれぞれ作成しておく。そして、或る画素の画素値が両画像において１の場合は１を、それ以外の場合は０を設定するＡＮＤ演算によって図２３のような重複画素を決定し、ＡＮＤ演算後の画像の画素値が１である画素の総数を重複画素数とすることで実現できる。
【００７０】
続いてスコア算出部１２は、前記重複画素数を、前記フレーム画像上領域の面積で正規化した値を算出し、逆数をスコアとして出力する（ステップＳ１７０８）。このスコアｓｃｏｒｅ４は、重複領域数をＯ、フレーム画像上領域の面積をＳとすると、式（１０）によって算出できる。
【００７１】
【数１０】
0005719277.tif 000011
【００７２】
なお、ここで、前記重複領域数を前記フレーム画像上領域の面積で正規化した値の逆数をスコアとする理由は、重複領域数が多い方が物体座標系変換行列推定精度が高いとされるのに対し、成否判定部１３において算出したスコアが最小スコアより小さい場合に成功と判定するためである。成否判定部１３において算出したスコアが最大スコアより大きい場合に成功と判定する実施形態の場合は、逆数を取る必要はない。
【００７３】
また、本実施形態において、ＣＧエッジ画像はＣＧ合成画像を生成し、当該ＣＧ合成画像からエッジ検出により作成する方法について記述したが、ＣＧ合成画像を生成する時に、陰面処理を施した３Ｄ−ＣＧのワイヤーフレームモデルからＣＧ合成画像を生成することでＣＧエッジ画像を生成してもよい。
【００７４】
以上説明したように、上述の物体座標系変換行列推定成否判定装置１の処理によれば、フレーム画像中の物体に対してコンピュータグラフィクス等を合成する場合に算出する物体座標系変換行列推定の成否を判定することができるため、正確なＣＧ合成を実現することができる。
【００７５】
なお、本発明を各実施形態について具体的に説明したが、上記各実施形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、或は範囲を減縮する様に解すべきではない。また、上述の実施形態における各手段の構成は上記実施形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
【００７６】
上述の物体座標系変換行列推定成否判定装置１は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００７７】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００７８】
１・・・物体座標系変換行列推定成否判定装置
１１・・・合成画像点算出部
１２・・・スコア算出部
１３・・・成否判定部
１４・・・記憶部
【図１】
0005719277.tif 000012
【図２】
0005719277.tif 000013
【図３】
0005719277.tif 000014
【図４】
0005719277.tif 000015
【図５】
0005719277.tif 000016
【図６】
0005719277.tif 000017
【図７】
0005719277.tif 000018
【図８】
0005719277.tif 000019
【図９】
0005719277.tif 000020
【図１０】
0005719277.tif 000021
【図１１】
0005719277.tif 000022
【図１２】
0005719277.tif 000023
【図１３】
0005719277.tif 000024
【図１４】
0005719277.tif 000025
【図１５】
0005719277.tif 000026
【図１６】
0005719277.tif 000027
【図１７】
0005719277.tif 000028
【図１８】
0005719277.tif 000029
【図１９】
0005719277.tif 000030
【図２０】
0005719277.tif 000031
【図２１】
0005719277.tif 000032
【図２２】
0005719277.tif 000033
【図２３】
0005719277.tif 000034
【図２４】
0005719277.tif 000035
【図２５】
0005719277.tif 000036
【図２６】
0005719277.tif 000037
【図２７】
0005719277.tif 000038