物体座標系変換行列推定成否判定装置および物体座標系変換行列推定成否判定方法ならびにそのプログラム
【課題】物体座標系変換装置において算出された物体座標系変換行列の精度を定量化し、推定成否を判定する物体座標系変換行列推定成否判定装置を提供する。
【解決手段】物体座標系変換行列推定成否判定装置1は、入力した情報により、物体座標系変換行列の推定精度を定量化したスコアを用いて物体座標系変換行列推定の成否を判定し、成否信号を出力する。
【解決手段】物体座標系変換行列推定成否判定装置1は、入力した情報により、物体座標系変換行列の推定精度を定量化したスコアを用いて物体座標系変換行列推定の成否を判定し、成否信号を出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体を含む実空間を撮像するカメラによって入力されたフレーム画像列から、物体に対してコンピュータグラフィクス等を合成するために算出する、実空間内の基準座標系であるワールド座標系から見た物体の位置・姿勢を示す物体座標系への変換行列の推定成否を判定する物体座標系変換行列推定成否判定装置および物体座標系変換行列推定成否判定方法ならびにそのプログラムに関する。
【背景技術】
【0002】
実空間を撮像するカメラによって入力されたフレーム画像から、実空間におけるカメラの位置・姿勢を示すカメラポーズと、フレーム画像内の特徴点の3次元座標を算出するカメラポーズ・3D装置が存在する。当該カメラポーズ・3D装置では、算出したカメラポーズを用いて、例えばフレーム画像中にコンピュータグラフィクス(CG)等を合成することを可能にしている。
【0003】
カメラポーズ・3D推定装置では、カメラポーズと実空間内の3次元点(特徴点)の3次元座標の初期値及びフレーム画像を入力し、
(1)実空間の3次元点がフレーム画像で観測された画像点を決定し、
(2)3次元点の3次元座標と画像点の座標の組から非線形最小自乗法によってカメラポーズを算出し、
(3)過去に亘った複数時刻のフレーム画像を用いて3次元点の3次元座標を更新する処理を時々刻々繰り返すことによって正確にカメラポーズと3次元点の3次元座標を算出する。
【0004】
従来のカメラポーズ・3D推定装置で算出されるカメラポーズと3次元点の3次元座標は、カメラポーズはワールド座標系から見たカメラの位置及び向き、3次元点の3次元座標はワールド座標系からの位置として表現される。当該ワールド座標系はカメラポーズ・3D推定装置で初期時刻において予め設定したものが利用される。このため、例えばフレーム画像中の物体に対してCG等を合成する場合には、ワールド座標系から見た物体の位置・姿勢を示す物体座標系への剛体変換行列が必要となる。物体座標系変換装置の処理が、例えば非特許文献1に記載されている。当該非特許文献1に記載の処理では、カメラポーズ・3D算出装置において、フレーム画像中の物体に対してコンピュータグラフィクス等を合成する場合においても正確な合成を実現するため、ワールド座標系から見た物体座標系への剛体変換行列を算出している。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】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.
【発明の概要】
【発明が解決しようとする課題】
【0006】
図25は、従来の物体座標系変換装置の構成を示す図である。
以下、従来の物体座標系変換装置を詳解する。
物体座標系変換装置への入力データは、カメラで撮像したある時刻tのフレーム画像F(t)と、平面物体が写されているテンプレート画像と、カメラの焦点距離等を示すカメラパラメータ、及びテンプレート画像内の平面物体に相当する物体を表示するフレーム画像F(t)上の当該物体に合成したいCGデータである。ここで夫々のデータは予め与えられるものである。ここでは説明の簡単化のためテンプレート画像は1枚のみテンプレート画像記憶部251に格納されているものとする。物体座標系変換装置ではまず、カメラポーズ・3次元座標推定部252によって、フレーム画像F(t)上の物体等の角や交点となる特徴点を追跡した結果に基づき時刻tの特徴点(3次元点)の3次元座標及びカメラポーズを推定する。このカメラポーズと、3次元点の3次元座標はカメラポーズ・3次元座標推定部252で適当に設定されたワールド座標系で記述表現される。
【0007】
並行して、物体座標系変換装置では、テンプレート照合部253でテンプレート画像とフレーム画像F(t)をScale-Invariant Feature Transform(SIFT)等を用いて照合することにより、テンプレート内部の平面物体の特徴点の位置をフレーム画像F(t)上で推定する。続いて、テンプレート照合部253は、テンプレート内部の平面物体の特徴点の位置とこれに対応付けられたフレーム画像F(t)上の位置の集合から、射影変換行列を求め、当該射影変換行列を用いて、テンプレート画像の4隅を示す端点の位置に対応するフレーム画像F(t)上のテンプレート画像の端点位置を推定する。
次に3次元座標算出部254にて、前記テンプレート画像内の平面物体の特徴点の三次元座標と、フレーム画像F(t)上のテンプレート画像の端点位置の三次元座標を、フレーム画像F(t)が撮影された時刻t以前の、他の撮影時刻が近いフレーム画像に対するステレオ対応付けによって算出する。続いて平面算出部255が、算出したテンプレート画像内の平面物体内の特徴点の三次元座標に基づいて、3次元空間内でのワールド座標系で記述される平面の法線を算出する。
そして平面算出部255は、フレーム画像F(t)上のテンプレート画像の端点位置の三次元座標と、ワールド座標系での当該平面の法線と、予めテンプレート画像の4隅点に設定された物体座標系での三次元座標と、当該三次元座標から算出した、物体座標系でのテンプレート画像の3次元空間内での平面法線とから、テンプレート画像の平面物体の座標系である物体座標系への剛体変換を表現する物体座標系変換行列を算出する。
【0008】
物体座標系変換装置は、最後にCG合成部256にて物体座標系で記述表現された付加情報である例えば図26に示すCG情報を、物体座標系変換行列を用いてワールド座標系での記述表現に変換し、カメラポーズを用いて現時刻のフレーム画像F(t)に例えば図27に示すように重畳合成する。この一連の処理を時々刻々繰り返すことによって、フレーム画像中の物体に対してCG等を合成することを実現している。
【0009】
しかしながら、カメラポーズ・3次元座標推定部252で算出される3次元点群の3次元座標は、画像の量子化誤差や、対応付け誤りによる誤差を有しており、これに起因し物体座標系変換行列の精度が劣化する。このような精度の低い物体座標系変換行列を用いると、結果的にフレーム画像F(t)中の物体の位置や向きに対してCGの合成がずれるといった問題がある。
【0010】
本発明は上述したような問題点に鑑みてなされたものであり、物体座標系変換装置において算出された物体座標系変換行列の精度を定量化し、推定成否を判定する物体座標系変換行列推定成否判定装置および物体座標系変換行列推定成否判定方法ならびにそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、本発明は、ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出部と、前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出部と、当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出部の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定部と、を備えることを特徴とする物体座標系変換行列推定成否判定装置である。
【0012】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記対象画像点と対応する前記合成画像点の差を、複数の前記対象画像点と対応する前記合成画像点の組合せについて算出し、その総和に基づいて前記スコアを算出することを特徴とする。
【0013】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記対象画像点の全てを包含する前記フレーム画像上の領域と、前記合成画像点の全てを包含する前記フレーム画像上の領域との重複領域を決定し、当該重複領域の大きさに基づく値の逆数を前記スコアとして算出することを特徴とする。
【0014】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記合成画像点の全てを包含する前記フレーム画像上の領域の各画素についてのテクスチャ情報と、前記対象画像点の全てを包含する前記フレーム画像上の領域の各画素について前記合成画像点の全てを包含する前記フレーム画像上の領域へとマッピングした場合の各画素についてのテクスチャ情報との差分の総和に基づいて、前記スコアを算出することを特徴とする。
【0015】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記フレーム画像において検出したエッジ画像と、前記フレーム画像に写る被写体の重畳画像を前記フレーム画像に合成した場合の当該フレーム画像において検出したエッジ画像との差異に基づいて、前記スコアを算出することを特徴とする。
【0016】
また本発明は、物体座標系変換行列推定成否判定装置が、ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出し、前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出し、当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力することを特徴とする物体座標系変換行列推定成否判定方法である。
【0017】
また本発明は、物体座標系変換行列推定成否判定装置のコンピュータを、ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出手段、前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出手段、当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出手段の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定手段、として機能させるためのプログラムである。
【発明の効果】
【0018】
本発明によれば、物体座標系変換装置において算出された物体座標系変換行列の精度を定量化し、推定成否を判定することができる。
【図面の簡単な説明】
【0019】
【図1】物体座標系変換行列推定成否判定装置の構成を示すブロック図である。
【図2】第1の実施形態における合成画像点算出部11の処理フローを示す図である。
【図3】合成画像点算出部の入力する入力データを示す図である。
【図4】合成画像点算出部の記録するデータを示す図である。
【図5】第1の実施形態におけるスコア算出部12の処理フローを示す図である。
【図6】スコア算出部の処理概要を示す図である。
【図7】第1の実施形態における成否判定部13の処理フローを示す図である。
【図8】第2の実施形態におけるスコア算出部12の処理フローを示す図である。
【図9】第2の実施形態によるスコア算出部の処理概要を示す第1の図である。
【図10】第2の実施形態によるスコア算出部の処理概要を示す第2の図である。
【図11】第2の実施形態によるスコア算出部の処理概要を示す第3の図である。
【図12】第3の実施形態におけるスコア算出部12の処理フローを示す図である。
【図13】第3の実施形態によるスコア算出部の処理概要を示す第1の図である。
【図14】第3の実施形態によるスコア算出部の処理概要を示す第2の図である。
【図15】第3の実施形態によるスコア算出部の処理概要を示す第3の図である。
【図16】第3の実施形態によるスコア算出部の処理概要を示す第4の図である。
【図17】第4の実施形態におけるスコア算出部12の処理フローを示す図である。
【図18】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図19】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図20】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図21】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図22】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図23】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図24】座標系及び用語の定義を説明するための図である。
【図25】従来の物体座標系変換装置の構成を示す図である。
【図26】CG情報を示す図である。
【図27】重畳合成の概要を示す図である。
【発明を実施するための形態】
【0020】
まず初めに、座標系及び用語の定義を、図24を用いて説明する。
ワールド座標系は空間全体を表す座標系であり、3次元点の3次元座標は該ワールド座標系での位置を示す。また本実施形態において「カメラポーズ」とは、ワールド座標系における基準点および基準方向を基準とするカメラの並進(並進位置)、回転(回転角度)を示す。またフレーム画像F(t)は、時刻tにおいてカメラが撮像した画像を示す。
【0021】
また、フレーム画像F(t)上において、CG(重畳画像)を重畳表示する対象物体の領域を構成する点群を対象画像点、3D−CG空間内において物体座標系で表現されたCG上の点で対象画像点に対応する3次元点や、フレーム画像F(t)上の重畳対象に重畳表示するCGの特徴を示す点に対応する3次元点を、オブジェクト上3次元点と呼ぶこととする。なお、ワールド座標系と、物体座標系は異なる座標系であり、ワールド座標系から物体座標系への剛体変換を表現する行列を物体座標系変換行列と呼ぶ。物体座標系変換行列に加えて、カメラポーズ、対象画像点及び、オブジェクト上3次元点は物体座標系変換装置で夫々決定されるものである。
【0022】
以下、物体座標系変換行列推定成否判定装置を図面を参照して説明する。
図1は物体座標系変換行列推定成否判定装置の構成を示すブロック図である。
図1に示すとおり、物体座標系変換行列推定成否判定装置1は、合成画像点算出部11と、スコア算出部12と、成否判定部13とを備える。本実施形態による物体座標系変換行列推定成否判定装置1の各処理に用いるデータは、物体座標系変換行列推定成否判定装置1が備える記憶部14に適宜格納することができる。
【0023】
物体座標系変換行列推定成否判定装置1は、物体座標系変換装置で算出された物体座標系変換行列及び、対象画像点、対象画像点に関連付けられたオブジェクト上3次元点、カメラポーズと、カメラから入力されるフレーム画像F(t)、及び、前記カメラの焦点距離等を示す所定のカメラパラメータを入力する。そして、物体座標系変換行列推定成否判定装置1は、これら入力した情報により、物体座標系変換行列の推定精度を定量化したスコアを用いて物体座標系変換行列推定の成否を判定し、成否信号を出力する。
【0024】
合成画像点算出部11は、物体座標系変換行列、カメラポーズ、カメラパラメータ、対象画像点、対象画像点に関連付けられたオブジェクト上3次元点を入力し、合成画像点を算出し対象画像点に関連付けて出力する。合成画像点は、フレーム画像F(t)に重畳するCGのオブジェクト上3次元点が、物体座標系変換行列によりフレーム画像F(t)上に合成される際の当該フレーム画像F(t)上の点である。
スコア算出部12は、以下の第1,2の実施形態では、対象画像点及び、対象画像点に関連付けられた合成画像点を夫々入力し、物体座標系変換行列の推定精度を定量化したスコアを出力する。なお合成画像点と対象画像点との距離が離れるほど、CGがフレーム画像F(t)上の合成対象の物体から離れて合成されることとなり、またスコア値も高くなる。スコア算出部12は、以下の第3の実施形態では第1、2の実施形態の入力データに加えてフレーム画像を、第4の実施形態では第3の実施形態の入力データに加えて被写体の3D−CGと、物体座標系変換行列、カメラポーズ、カメラパラメータを、夫々入力し、物体座標系変換行列の推定精度を定量化したスコアを出力する。なおスコアは、物体座標変換行列によってフレーム画像上の重畳対象の物体にCGが重畳される場合の、当該重畳対象の物体とCGとの不一致の度合いを示す値でもある。成否判定部13は、スコア算出部12からスコアを入力し、記憶部14から最小スコアを読出し、成功と判定した場合は成功信号を、失敗と判定した場合は失敗信号を出力する。
【0025】
<第1の実施形態>
第1の実施形態に係る物体座標系変換行列推定成否判定装置で実行される詳細な処理を以下に説明する。
【0026】
図2は、第1の実施形態における合成画像点算出部11の処理フローを示す図である。
図3は、合成画像点算出部の入力する入力データを示す図である。
図4は、合成画像点算出部の記録するデータを示す図である。
第1の実施形態における物体座標系変換行列推定成否判定装置1では、まず合成画像点算出部11が起動される。合成画像点算出部11は起動されると物体座標系変換行列、カメラポーズ、カメラパラメータ、フレーム画像F(t)上のCGの重畳対象の物体を示す対象画像点、CGについてのオブジェクト上3次元点を入力する(ステップS201)。ここで、対象画像点とオブジェクト上3次元点は図3に示すように、唯一割り振られたIDによって関連付けられている。
【0027】
続いて、合成画像点算出部11は、入力したオブジェクト上3次元点全てについて、物体座標系変換行列とカメラポーズ及びカメラパラメータとから合成画像点を算出する(ステップS202)。合成画像点は、入力した物体座標系変換行列を用いて、オブジェクト上3次元点をフレーム画像F(t)上に合成する際の、オブジェクト上3次元点に対応するフレーム画像F(t)上の点である。ここでIDがi番目のオブジェクト上3次元点(X_i, Y_i, Z_i)に対応するフレーム画像F(t)上の合成画像点(xr_i, yr_i)は式(1)によって算出できる。
【0028】
【数1】
【0029】
ただし、演算子“〜”は、その両辺が定数倍の違いを許して等しいことを表している。なお、式(1)において、行列Lは物体座標系変換行列を、行列Mはカメラポーズを示し、夫々、式(2)、式(3)で表現される。
【0030】
【数2】
【0031】
【数3】
【0032】
式(2)、式(3)におけるRc,Roは、3×3の回転行列を、tc,toは3×1の並進ベクトルをそれぞれ示す。また、式(1)において行列Aは式(4)に示すカメラのカメラパラメータからなる3×3の行列である。式(4)において、fはカメラの焦点距離であり、δuとδvはカメラの撮像素子の横方向と縦方向の画素の物理的な間隔、Cu、Cvは画像中心を示す。
【0033】
【数4】
【0034】
次に合成画像点算出部11は入力したオブジェクト上3次元点全てについて合成画像点を算出した後に、該合成画像点を図4に示すように対象画像点に関連付けて記録し(ステップS203)、処理を終える。
【0035】
図5は、第1の実施形態におけるスコア算出部12の処理フローを示す図である。
図6は、スコア算出部の処理概要を示す図である。
次に、第1の実施形態でのスコア算出部12は、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する。続いて、全ての対象画像点を包含するフレーム画像F(t)上領域を決定する(ステップS502)。この処理は例えば非特許文献『Michael Kass, Andrew Witkin and Demetri Terzopoulos,“Snakes: Active contour models,”International Journal of Computer Vision, vol. 1, no. 4, pp. 321-331,1988.』に記載の動的輪郭法を用いることで実現できる。動的輪郭法とは条件に従って動的に複数個の離散的な点列を結んだ閉曲線の変形を繰り返すことで、輪郭を抽出する方法である。
【0036】
続いて、スコア算出部12は、入力した全ての対象画像点について、合成画像点との距離を算出する(ステップS503)。ここで距離とは、図6に示すとおり、対象画像点と、該対象画像点に関連付けて記録された合成画像点との間のユークリッド距離を示す。IDがi番目の距離d_iは対象画像点の座標を(x_i, y_i)、合成画像点の座標を(xr_i, yr_i)とすると、式(5)により算出できる。
【0037】
【数5】
【0038】
またスコア算出部12は、算出した距離の全ての対象画像点に亘っての総和を、前記フレーム画像上領域の面積で正規化した値を算出し、当該値をスコアscore1として出力する(ステップS504)。このスコアscore1は、フレーム画像上領域の面積をSとすると、式(6)によって算出できる。なお、各合成画像点が、対応する各対象画像点から離れれば離れるほど、スコアscore1の値は大きくなる。合成画像点は、対象画像点に近いほど、CG画像をフレーム画像F(t)内のCG合成対象の物体に精度良く合成することができる。従って、スコアの値は小さいほど良い。
【0039】
【数6】
【0040】
図7は、第1の実施形態における成否判定部13の処理フローを示す図である。
続いて、成否判定部13が起動される。成否判定部13は起動すると、スコア算出部12からスコアを入力する(ステップS701)。続いて成否判定部13は、記憶部14から過去に算出された最小スコアを読み出す(ステップS702)。該最小スコアとは、処理対象であるフレーム画像F(t)以前のフレーム画像を用いて算出したスコアであり、物体座標系変換装置が起動した時刻からフレーム画像F(t)を撮像した時刻tまでの間での最小のスコア値を示す。続いて成否判定部13は、スコアが最小スコアより小さいかを判定し(ステップS703)、スコアが最小スコアより小さい場合は、スコア算出部12がスコアの算出に用いた物体座標変換行列によるCG重畳の精度向上が成功したと判定し、最小スコアをスコアで更新し記憶部14に記録する(ステップS704)。成否判定部13は、スコアが最小スコアより大きい場合は、スコア算出部12がスコアの算出に用いた物体座標変換行列によるCG重畳の精度向上が失敗したと判定する。そして、更新判定部13は、上記処理で更新と判定した場合は成功信号を出力し(ステップS705)、失敗と判定した場合は失敗信号を出力し(ステップS706)、処理を終える。
【0041】
なお、例えば更新信号は物体座標系変換装置へ出力される。更新信号を入力した場合、その更新信号の出力についてのスコアの算出に用いられた物体座標系変換行列が、最小のスコアの算出に用いられた物体座標系変換行列である。従って、物体座標系変換装置では、以降、その物体座標系変換行列を用いて、CG合成の処理を行うこととなる。これにより、CG合成処理に用いていた物体座標系変換行列を、新たな最小のスコア値の算出に用いられた物体座標系変換行列へと更新する。
【0042】
<第2の実施形態>
第1の実施形態では、対象画像点と、該対象画像点に関連付けて記録された合成画像点間のユークリッド距離をスコアとするため、対象画像点数が多い場合は、物体座標系変換行列推定精度を良好に定量化できる。しかしながら、対象画像点数が少ない場合はスコアの信頼性が下がり、成否判定に失敗することがある。
そこで第2の実施形態では、対象画像点が構成する領域と、合成画像点が構成する領域を比較することで、物体座標系変換行列推定精度をより高い信頼度で表現するスコアの算出方法について述べる。
【0043】
第2の実施形態における、合成画像点算出部11と、成否判定部13は、第1の実施形態の処理と何ら変わるところがないので、その説明を省略する。以降、第2の実施形態におけるスコア算出部12の処理について述べる。
【0044】
図8は、第2の実施形態におけるスコア算出部12の処理フローを示す図である。
図9は、第2の実施形態によるスコア算出部の処理概要を示す第1の図である。
図10は、第2の実施形態によるスコア算出部の処理概要を示す第2の図である。
図11は、第2の実施形態によるスコア算出部の処理概要を示す第3の図である。
【0045】
第2の実施形態におけるスコア算出部12では、第1の実施形態同様、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する(ステップS801)。続いて、第1の実施形態同様に全ての対象画像点を包含するフレーム画像上領域を図9のように決定する(ステップS802)。続いてスコア算出部12は、同様に全ての合成画像点を包含するフレーム画像上領域を図10のように決定する(ステップS803)。続いてスコア算出部12、前記フレーム画像上領域と前記合成画像上領域との重複領域面積を算出する(ステップS804)。この処理は、例えば、フレーム画像においてフレーム画像上領域内の画素値を1, それ以外を0とした画像と、フレーム画像において合成画像上領域内の画素値を1,それ以外を0とした画像をそれぞれ作成しておき、或る画素の画素値が両画像において1の場合は1を、それ以外の場合は0を設定するAND演算によって図11のような重複領域を決定し、当該重複領域の面積をAND演算後の画像の画素値が1である画素の総数によって算出することで実現できる。
【0046】
なお重複領域の面積が小さい場合は、入力した物体座標系変換行列を用いてCGをフレーム画像F(t)上の合成対象の物体に合成した際に、精度良く(ズレが少なく)合成できる場合である。よって、重複領域の面積が小さい程、入力した物体座標系変換行列によるCG合成の精度がよい。
【0047】
続いてスコア算出部12は、前記重複領域面積を、前記フレーム画像上領域の面積で正規化した値を算出し、その逆数をスコアとして出力し(ステップS805)、処理を終える。このスコアscore2は、重複領域面積をSo、フレーム画像上領域の面積をSとすると、式(7)によって算出できる。
【0048】
【数7】
【0049】
なおここで、前記重複領域面積を前記フレーム画像上領域の面積で正規化した値の逆数をスコアとする理由は、重複領域の面積が大きい方が、物体座標系変換行列推定精度が高いとされるのに対し、成否判定部13において算出したスコアが最小スコアより小さい場合に成功と判定するためである。成否判定部13において算出したスコアが最大スコアより大きい場合に成功と判定する実施形態の場合は、逆数を取る必要はない。
【0050】
<第3の実施形態>
第2の実施形態では、対象画像点が構成する領域と、合成画像点が構成する領域の重なり度で物体座標系変換行列推定精度を表現するが、フレーム画像のテクスチャ情報の類似度まで含めてスコアを表現した方が、物体座標系変換行列推定精度をより高い信頼度で表現できる。
【0051】
そこで第3の実施形態では、対象画像点が構成する領域に属する各画素のテクスチャ情報を、合成画像点が構成する領域へマッピングしたものと、合成画像点が構成する領域に属する各画素のテクスチャ情報を比較することで、物体座標系変換行列推定精度を表現するスコアの算出方法について述べる。なお、第3の実施形態においてテクスチャ情報としては、フレーム画像をグレースケールに変換した画素値を用いてもよいし、カラー画像のRGBの画素値をそのまま利用してもよい。
【0052】
第3の実施形態における、合成画像点算出部11と、成否判定部13は、第1の実施形態と何ら変わるところがないので説明は省略する。以降、第3の実施形態におけるスコア算出部12の動作について述べる。
【0053】
図12は、第3の実施形態におけるスコア算出部12の処理フローを示す図である。
第3の実施形態におけるスコア算出部12では、第1の実施形態同様、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する。第3の実施形態では加えてフレーム画像F(t)も入力する(ステップS1201)。続いて、スコア算出部12は、第1の実施形態同様に全ての対象画像点を包含するフレーム画像上領域を決定する(ステップS1202)。続いて、スコア算出部12は、同様に全ての合成画像点を包含する合成画像上領域を決定する(ステップS1203)。
【0054】
続いて、スコア算出部12は、フレーム画像上領域内の各画素のテクスチャ情報を、合成画像上領域にマッピングする(ステップS1204)。この処理は、例えば非特許文献『OpenGL策定委員会,“OpenGLプログラミングガイド,”ピアソンエデュケーション,Dec. 2006.』に記載の、コンピュータグラフィクス分野において一般的なテクスチャマッピング処理によって実現できる。
【0055】
図13は、第3の実施形態によるスコア算出部の処理概要を示す第1の図である。
図14は、第3の実施形態によるスコア算出部の処理概要を示す第2の図である。
図15は、第3の実施形態によるスコア算出部の処理概要を示す第3の図である。
フレーム画像上領域内の各画素のテクスチャ情報を合成画像上領域にマッピングする処理の詳細について、図13,14,15を用いて説明する。
まず、フレーム画像上領域は図13に示すような5角形の(5つの対象画像点を頂点とする)領域である。スコア算出部12は、当該フレーム画像上領域を構成する全ての対象画像点について、横座標および縦座標ともに0.0〜1.0の座標範囲で正規化し、各対象画像点についての座標をそれぞれ決定し、対象画像点の情報に関連付けて記録しておく。
【0056】
続いて、或る合成画像点について、頂点を合成画像点の座標、テクスチャ座標を該合成画像点に関連付けられた対象画像点に関連付けて記録されているテクスチャ座標を設定する。次にレンダリング処理を行うことで、形状は合成画像上領域と同一で、フレーム画像上領域内のフレーム画像のテクスチャ情報を合成画像上領域にマッピングする。つまり、フレーム画像領域上の各対象画像点のテクスチャ情報を、合成画像上領域の対応する各合成画像点にマッピングすると共に、フレーム画像上領域内の各画素のテクスチャ情報についても同様に、合成画像上領域にマッピングする。これにより、合成画像上領域内の各画素からは、フレーム画像領域上の各画素についてのマッピング後のテクスチャ情報を得ることができる。ここで例えば、図13で示すように、フレーム画像F(t)において「A」の文字が表示されており、その文字の表示領域の一部がフレーム画像上領域に含まれるとする。また合成画像上領域が図14に示すとおりの場合であるとする。このような場合、図13で示すフレーム画像上領域内の各画素を合成画像領域内にマッピング処理した場合、フレーム画像上領域において表示されていた「A」の一部を示す各画素は、図15で示すような所定範囲マッピング位置にマッピングされる。合成画像領域とフレーム画像上領域とがずれているほど、「A」の文字が歪んでマッピングされる。
【0057】
図16は、第3の実施形態によるスコア算出部の処理概要を示す第4の図である。
続いて、スコア算出部12は、フレーム画像上領域内に表示された文字「A」と同一位置に当該文字「A」が表示されている場合の合成画像上領域内の各画素についてのテクスチャ情報と、図15で示すようなマッピング後の合成画像上領域内の各画素についてのテクスチャ情報との差分総和値Idiffを算出する(ステップS1205)。ここで、図16におけるフレーム画像内において合成画像上領域外のテクスチャ情報を0、合成画像上領域内にマッピングされた後(図15)の合成画像上領域の各画素の座標(p,q)のテクスチャ情報をIm(p,q)、文字「A」が表示された場合(図14)の合成画像上領域内の各画素の座標(p,q)のテクスチャ情報をIr(p,q)とした場合、差分総和値Idiffは、式(8)によって算出できる。
【0058】
【数8】
【0059】
最後にスコア算出部12は、差分総和値Idiffを、フレーム画像上領域の面積で正規化した値を算出し、スコアとして出力し(ステップS1206)、処理を終える。このスコアscore3は、フレーム画像上領域の面積をSとすると、式(9)によって算出できる。
【0060】
【数9】
【0061】
物体座標系変換行列の精度がよくない場合には、フレーム画像上領域と合成画像上領域は大きく異なることとなる。これにより、物体座標系変換行列の精度がよくない場合には差分総和値Idiffが大きいことからスコアの値も大きくなり、物体座標系変換行列の精度がより良い場合には差分総和値Idiffが小さいことからスコアの値も小さくなる。
【0062】
<第4の実施形態>
第3の実施形態では、フレーム画像F(t)内における対象画像点が構成する領域に属する各画素のテクスチャ情報を、合成画像点が構成する領域へマッピングしたものと、当該マッピング以前に合成画像点が構成する領域に属する各画素のテクスチャ情報を比較することで、物体座標系変換行列推定精度を表現するが、テクスチャ情報の取得やマッピングに幾何変換を要するため計算量が大きいといった問題がある。
【0063】
そこで本実施例では、テクスチャ情報のマッピングを利用せず、フレーム画像F(t)と、被写体を表現した3D−CGから合成するCG合成画像を比較することで、高速に物体座標系変換行列推定精度を表現するスコアの算出方法について述べる。
【0064】
本実施例における、合成画像点算出部11と、成否判定部13の処理は、第1の実施形態と何ら変わるところがないので説明は省く。以降、第4の実施形態におけるスコア算出部12の処理について述べる。
【0065】
図17は、第4の実施形態におけるスコア算出部12の処理フローを示す図である。
第4の実施形態におけるスコア算出部12では、第1の実施形態同様、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する。第4の実施形態では加えてフレーム画像F(t)も入力する(ステップS1701)。続いてスコア算出部12は、フレーム画像F(t)内に写る所定の被写体と同じ被写体についての3D−CGとカメラパラメータ、及び、物体座標系変換装置が算出した物体座標系変換行列、カメラポーズを入力する(ステップS1702)。
【0066】
図18は、第4の実施形態によるスコア算出部の処理の説明に用いる第1の図である。
図19は、第4の実施形態によるスコア算出部の処理の説明に用いる第2の図である。
図20は、第4の実施形態によるスコア算出部の処理の説明に用いる第3の図である。
図21は、第4の実施形態によるスコア算出部の処理の説明に用いる第4の図である。
図22は、第4の実施形態によるスコア算出部の処理の説明に用いる第5の図である。
図23は、第4の実施形態によるスコア算出部の処理の説明に用いる第6の図である。
第4の実施形態では、例えば図18に示すような3D−CGが予め準備されており、これを物体座標系変換行列推定成否判定装置1が入力したものとして以降の説明を進める。ここで、被写体の3D−CGは3次元座標で表現される頂点と頂点同士を結んだ面から構成されるソリッドモデルであるものとする。当該3D−CGに面の色を示すテクスチャは付与されていてもされていなくてもよい。
【0067】
続いてスコア算出部12は、第1の実施形態同様に全ての対象画像点を包含するフレーム画像上領域を決定する(ステップS1703)。続いてスコア算出部12は、フレーム画像からエッジ画像をエッジ検出により生成する(ステップS1704)。この処理は従来の方法と特に変わるところはないのでここでの説明は省く。なおエッジ画像とは、隣接する画素の輝度値などのテクスチャ情報について所定の閾値以上離れた値となっている画素の集合を示す画像である。第4の実施形態では、例えば図19に示すようなフレーム画像に対して、図20に示すようなエッジ画像が生成されたものとする。
【0068】
次にスコア算出部12は、被写体の3D−CGと物体座標系変換行列、カメラポーズ、カメラパラメータから、CG合成画像を生成する(ステップS1705)。この処理は物体座標系変換装置のCG合成部での物体座標系変換行列を用いたCG合成の処理と何ら変わるところは無いので、ここでの説明は省く。第4の実施形態では、例えば図21に示すようなCG合成画像が生成されたものとする。続いてスコア算出部12は、CG合成画像からエッジ画像を生成し(ステップS1706)、CGエッジ画像とする。第4の実施形態では、例えば図22に示すようなCGエッジ画像が生成されたものとする。
【0069】
スコア算出部12は、前記エッジ画像と、前記CGエッジ画像からAND演算により重複画素数を算出する(ステップS1707)。この処理は、例えば、エッジ画像においてエッジ上の画素値を1、それ以外を0とした画像と、CGエッジ画像においてエッジ上の画素値を1、それ以外を0とした画像をそれぞれ作成しておく。そして、或る画素の画素値が両画像において1の場合は1を、それ以外の場合は0を設定するAND演算によって図23のような重複画素を決定し、AND演算後の画像の画素値が1である画素の総数を重複画素数とすることで実現できる。
【0070】
続いてスコア算出部12は、前記重複画素数を、前記フレーム画像上領域の面積で正規化した値を算出し、逆数をスコアとして出力する(ステップS1708)。このスコアscore4は、重複領域数をO、フレーム画像上領域の面積をSとすると、式(10)によって算出できる。
【0071】
【数10】
【0072】
なお、ここで、前記重複領域数を前記フレーム画像上領域の面積で正規化した値の逆数をスコアとする理由は、重複領域数が多い方が物体座標系変換行列推定精度が高いとされるのに対し、成否判定部13において算出したスコアが最小スコアより小さい場合に成功と判定するためである。成否判定部13において算出したスコアが最大スコアより大きい場合に成功と判定する実施形態の場合は、逆数を取る必要はない。
【0073】
また、本実施形態において、CGエッジ画像はCG合成画像を生成し、当該CG合成画像からエッジ検出により作成する方法について記述したが、CG合成画像を生成する時に、陰面処理を施した3D−CGのワイヤーフレームモデルからCG合成画像を生成することでCGエッジ画像を生成してもよい。
【0074】
以上説明したように、上述の物体座標系変換行列推定成否判定装置1の処理によれば、フレーム画像中の物体に対してコンピュータグラフィクス等を合成する場合に算出する物体座標系変換行列推定の成否を判定することができるため、正確なCG合成を実現することができる。
【0075】
なお、本発明を各実施形態について具体的に説明したが、上記各実施形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、或は範囲を減縮する様に解すべきではない。また、上述の実施形態における各手段の構成は上記実施形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
【0076】
上述の物体座標系変換行列推定成否判定装置1は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0077】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0078】
1・・・物体座標系変換行列推定成否判定装置
11・・・合成画像点算出部
12・・・スコア算出部
13・・・成否判定部
14・・・記憶部
【技術分野】
【0001】
本発明は、物体を含む実空間を撮像するカメラによって入力されたフレーム画像列から、物体に対してコンピュータグラフィクス等を合成するために算出する、実空間内の基準座標系であるワールド座標系から見た物体の位置・姿勢を示す物体座標系への変換行列の推定成否を判定する物体座標系変換行列推定成否判定装置および物体座標系変換行列推定成否判定方法ならびにそのプログラムに関する。
【背景技術】
【0002】
実空間を撮像するカメラによって入力されたフレーム画像から、実空間におけるカメラの位置・姿勢を示すカメラポーズと、フレーム画像内の特徴点の3次元座標を算出するカメラポーズ・3D装置が存在する。当該カメラポーズ・3D装置では、算出したカメラポーズを用いて、例えばフレーム画像中にコンピュータグラフィクス(CG)等を合成することを可能にしている。
【0003】
カメラポーズ・3D推定装置では、カメラポーズと実空間内の3次元点(特徴点)の3次元座標の初期値及びフレーム画像を入力し、
(1)実空間の3次元点がフレーム画像で観測された画像点を決定し、
(2)3次元点の3次元座標と画像点の座標の組から非線形最小自乗法によってカメラポーズを算出し、
(3)過去に亘った複数時刻のフレーム画像を用いて3次元点の3次元座標を更新する処理を時々刻々繰り返すことによって正確にカメラポーズと3次元点の3次元座標を算出する。
【0004】
従来のカメラポーズ・3D推定装置で算出されるカメラポーズと3次元点の3次元座標は、カメラポーズはワールド座標系から見たカメラの位置及び向き、3次元点の3次元座標はワールド座標系からの位置として表現される。当該ワールド座標系はカメラポーズ・3D推定装置で初期時刻において予め設定したものが利用される。このため、例えばフレーム画像中の物体に対してCG等を合成する場合には、ワールド座標系から見た物体の位置・姿勢を示す物体座標系への剛体変換行列が必要となる。物体座標系変換装置の処理が、例えば非特許文献1に記載されている。当該非特許文献1に記載の処理では、カメラポーズ・3D算出装置において、フレーム画像中の物体に対してコンピュータグラフィクス等を合成する場合においても正確な合成を実現するため、ワールド座標系から見た物体座標系への剛体変換行列を算出している。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】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.
【発明の概要】
【発明が解決しようとする課題】
【0006】
図25は、従来の物体座標系変換装置の構成を示す図である。
以下、従来の物体座標系変換装置を詳解する。
物体座標系変換装置への入力データは、カメラで撮像したある時刻tのフレーム画像F(t)と、平面物体が写されているテンプレート画像と、カメラの焦点距離等を示すカメラパラメータ、及びテンプレート画像内の平面物体に相当する物体を表示するフレーム画像F(t)上の当該物体に合成したいCGデータである。ここで夫々のデータは予め与えられるものである。ここでは説明の簡単化のためテンプレート画像は1枚のみテンプレート画像記憶部251に格納されているものとする。物体座標系変換装置ではまず、カメラポーズ・3次元座標推定部252によって、フレーム画像F(t)上の物体等の角や交点となる特徴点を追跡した結果に基づき時刻tの特徴点(3次元点)の3次元座標及びカメラポーズを推定する。このカメラポーズと、3次元点の3次元座標はカメラポーズ・3次元座標推定部252で適当に設定されたワールド座標系で記述表現される。
【0007】
並行して、物体座標系変換装置では、テンプレート照合部253でテンプレート画像とフレーム画像F(t)をScale-Invariant Feature Transform(SIFT)等を用いて照合することにより、テンプレート内部の平面物体の特徴点の位置をフレーム画像F(t)上で推定する。続いて、テンプレート照合部253は、テンプレート内部の平面物体の特徴点の位置とこれに対応付けられたフレーム画像F(t)上の位置の集合から、射影変換行列を求め、当該射影変換行列を用いて、テンプレート画像の4隅を示す端点の位置に対応するフレーム画像F(t)上のテンプレート画像の端点位置を推定する。
次に3次元座標算出部254にて、前記テンプレート画像内の平面物体の特徴点の三次元座標と、フレーム画像F(t)上のテンプレート画像の端点位置の三次元座標を、フレーム画像F(t)が撮影された時刻t以前の、他の撮影時刻が近いフレーム画像に対するステレオ対応付けによって算出する。続いて平面算出部255が、算出したテンプレート画像内の平面物体内の特徴点の三次元座標に基づいて、3次元空間内でのワールド座標系で記述される平面の法線を算出する。
そして平面算出部255は、フレーム画像F(t)上のテンプレート画像の端点位置の三次元座標と、ワールド座標系での当該平面の法線と、予めテンプレート画像の4隅点に設定された物体座標系での三次元座標と、当該三次元座標から算出した、物体座標系でのテンプレート画像の3次元空間内での平面法線とから、テンプレート画像の平面物体の座標系である物体座標系への剛体変換を表現する物体座標系変換行列を算出する。
【0008】
物体座標系変換装置は、最後にCG合成部256にて物体座標系で記述表現された付加情報である例えば図26に示すCG情報を、物体座標系変換行列を用いてワールド座標系での記述表現に変換し、カメラポーズを用いて現時刻のフレーム画像F(t)に例えば図27に示すように重畳合成する。この一連の処理を時々刻々繰り返すことによって、フレーム画像中の物体に対してCG等を合成することを実現している。
【0009】
しかしながら、カメラポーズ・3次元座標推定部252で算出される3次元点群の3次元座標は、画像の量子化誤差や、対応付け誤りによる誤差を有しており、これに起因し物体座標系変換行列の精度が劣化する。このような精度の低い物体座標系変換行列を用いると、結果的にフレーム画像F(t)中の物体の位置や向きに対してCGの合成がずれるといった問題がある。
【0010】
本発明は上述したような問題点に鑑みてなされたものであり、物体座標系変換装置において算出された物体座標系変換行列の精度を定量化し、推定成否を判定する物体座標系変換行列推定成否判定装置および物体座標系変換行列推定成否判定方法ならびにそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、本発明は、ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出部と、前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出部と、当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出部の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定部と、を備えることを特徴とする物体座標系変換行列推定成否判定装置である。
【0012】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記対象画像点と対応する前記合成画像点の差を、複数の前記対象画像点と対応する前記合成画像点の組合せについて算出し、その総和に基づいて前記スコアを算出することを特徴とする。
【0013】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記対象画像点の全てを包含する前記フレーム画像上の領域と、前記合成画像点の全てを包含する前記フレーム画像上の領域との重複領域を決定し、当該重複領域の大きさに基づく値の逆数を前記スコアとして算出することを特徴とする。
【0014】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記合成画像点の全てを包含する前記フレーム画像上の領域の各画素についてのテクスチャ情報と、前記対象画像点の全てを包含する前記フレーム画像上の領域の各画素について前記合成画像点の全てを包含する前記フレーム画像上の領域へとマッピングした場合の各画素についてのテクスチャ情報との差分の総和に基づいて、前記スコアを算出することを特徴とする。
【0015】
また本発明は、上述の物体座標系変換行列推定成否判定装置において、前記スコア算出部は、前記フレーム画像において検出したエッジ画像と、前記フレーム画像に写る被写体の重畳画像を前記フレーム画像に合成した場合の当該フレーム画像において検出したエッジ画像との差異に基づいて、前記スコアを算出することを特徴とする。
【0016】
また本発明は、物体座標系変換行列推定成否判定装置が、ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出し、前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出し、当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力することを特徴とする物体座標系変換行列推定成否判定方法である。
【0017】
また本発明は、物体座標系変換行列推定成否判定装置のコンピュータを、ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出手段、前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出手段、当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出手段の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定手段、として機能させるためのプログラムである。
【発明の効果】
【0018】
本発明によれば、物体座標系変換装置において算出された物体座標系変換行列の精度を定量化し、推定成否を判定することができる。
【図面の簡単な説明】
【0019】
【図1】物体座標系変換行列推定成否判定装置の構成を示すブロック図である。
【図2】第1の実施形態における合成画像点算出部11の処理フローを示す図である。
【図3】合成画像点算出部の入力する入力データを示す図である。
【図4】合成画像点算出部の記録するデータを示す図である。
【図5】第1の実施形態におけるスコア算出部12の処理フローを示す図である。
【図6】スコア算出部の処理概要を示す図である。
【図7】第1の実施形態における成否判定部13の処理フローを示す図である。
【図8】第2の実施形態におけるスコア算出部12の処理フローを示す図である。
【図9】第2の実施形態によるスコア算出部の処理概要を示す第1の図である。
【図10】第2の実施形態によるスコア算出部の処理概要を示す第2の図である。
【図11】第2の実施形態によるスコア算出部の処理概要を示す第3の図である。
【図12】第3の実施形態におけるスコア算出部12の処理フローを示す図である。
【図13】第3の実施形態によるスコア算出部の処理概要を示す第1の図である。
【図14】第3の実施形態によるスコア算出部の処理概要を示す第2の図である。
【図15】第3の実施形態によるスコア算出部の処理概要を示す第3の図である。
【図16】第3の実施形態によるスコア算出部の処理概要を示す第4の図である。
【図17】第4の実施形態におけるスコア算出部12の処理フローを示す図である。
【図18】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図19】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図20】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図21】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図22】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図23】第4の実施形態によるスコア算出部の処理の説明に用いる図である。
【図24】座標系及び用語の定義を説明するための図である。
【図25】従来の物体座標系変換装置の構成を示す図である。
【図26】CG情報を示す図である。
【図27】重畳合成の概要を示す図である。
【発明を実施するための形態】
【0020】
まず初めに、座標系及び用語の定義を、図24を用いて説明する。
ワールド座標系は空間全体を表す座標系であり、3次元点の3次元座標は該ワールド座標系での位置を示す。また本実施形態において「カメラポーズ」とは、ワールド座標系における基準点および基準方向を基準とするカメラの並進(並進位置)、回転(回転角度)を示す。またフレーム画像F(t)は、時刻tにおいてカメラが撮像した画像を示す。
【0021】
また、フレーム画像F(t)上において、CG(重畳画像)を重畳表示する対象物体の領域を構成する点群を対象画像点、3D−CG空間内において物体座標系で表現されたCG上の点で対象画像点に対応する3次元点や、フレーム画像F(t)上の重畳対象に重畳表示するCGの特徴を示す点に対応する3次元点を、オブジェクト上3次元点と呼ぶこととする。なお、ワールド座標系と、物体座標系は異なる座標系であり、ワールド座標系から物体座標系への剛体変換を表現する行列を物体座標系変換行列と呼ぶ。物体座標系変換行列に加えて、カメラポーズ、対象画像点及び、オブジェクト上3次元点は物体座標系変換装置で夫々決定されるものである。
【0022】
以下、物体座標系変換行列推定成否判定装置を図面を参照して説明する。
図1は物体座標系変換行列推定成否判定装置の構成を示すブロック図である。
図1に示すとおり、物体座標系変換行列推定成否判定装置1は、合成画像点算出部11と、スコア算出部12と、成否判定部13とを備える。本実施形態による物体座標系変換行列推定成否判定装置1の各処理に用いるデータは、物体座標系変換行列推定成否判定装置1が備える記憶部14に適宜格納することができる。
【0023】
物体座標系変換行列推定成否判定装置1は、物体座標系変換装置で算出された物体座標系変換行列及び、対象画像点、対象画像点に関連付けられたオブジェクト上3次元点、カメラポーズと、カメラから入力されるフレーム画像F(t)、及び、前記カメラの焦点距離等を示す所定のカメラパラメータを入力する。そして、物体座標系変換行列推定成否判定装置1は、これら入力した情報により、物体座標系変換行列の推定精度を定量化したスコアを用いて物体座標系変換行列推定の成否を判定し、成否信号を出力する。
【0024】
合成画像点算出部11は、物体座標系変換行列、カメラポーズ、カメラパラメータ、対象画像点、対象画像点に関連付けられたオブジェクト上3次元点を入力し、合成画像点を算出し対象画像点に関連付けて出力する。合成画像点は、フレーム画像F(t)に重畳するCGのオブジェクト上3次元点が、物体座標系変換行列によりフレーム画像F(t)上に合成される際の当該フレーム画像F(t)上の点である。
スコア算出部12は、以下の第1,2の実施形態では、対象画像点及び、対象画像点に関連付けられた合成画像点を夫々入力し、物体座標系変換行列の推定精度を定量化したスコアを出力する。なお合成画像点と対象画像点との距離が離れるほど、CGがフレーム画像F(t)上の合成対象の物体から離れて合成されることとなり、またスコア値も高くなる。スコア算出部12は、以下の第3の実施形態では第1、2の実施形態の入力データに加えてフレーム画像を、第4の実施形態では第3の実施形態の入力データに加えて被写体の3D−CGと、物体座標系変換行列、カメラポーズ、カメラパラメータを、夫々入力し、物体座標系変換行列の推定精度を定量化したスコアを出力する。なおスコアは、物体座標変換行列によってフレーム画像上の重畳対象の物体にCGが重畳される場合の、当該重畳対象の物体とCGとの不一致の度合いを示す値でもある。成否判定部13は、スコア算出部12からスコアを入力し、記憶部14から最小スコアを読出し、成功と判定した場合は成功信号を、失敗と判定した場合は失敗信号を出力する。
【0025】
<第1の実施形態>
第1の実施形態に係る物体座標系変換行列推定成否判定装置で実行される詳細な処理を以下に説明する。
【0026】
図2は、第1の実施形態における合成画像点算出部11の処理フローを示す図である。
図3は、合成画像点算出部の入力する入力データを示す図である。
図4は、合成画像点算出部の記録するデータを示す図である。
第1の実施形態における物体座標系変換行列推定成否判定装置1では、まず合成画像点算出部11が起動される。合成画像点算出部11は起動されると物体座標系変換行列、カメラポーズ、カメラパラメータ、フレーム画像F(t)上のCGの重畳対象の物体を示す対象画像点、CGについてのオブジェクト上3次元点を入力する(ステップS201)。ここで、対象画像点とオブジェクト上3次元点は図3に示すように、唯一割り振られたIDによって関連付けられている。
【0027】
続いて、合成画像点算出部11は、入力したオブジェクト上3次元点全てについて、物体座標系変換行列とカメラポーズ及びカメラパラメータとから合成画像点を算出する(ステップS202)。合成画像点は、入力した物体座標系変換行列を用いて、オブジェクト上3次元点をフレーム画像F(t)上に合成する際の、オブジェクト上3次元点に対応するフレーム画像F(t)上の点である。ここでIDがi番目のオブジェクト上3次元点(X_i, Y_i, Z_i)に対応するフレーム画像F(t)上の合成画像点(xr_i, yr_i)は式(1)によって算出できる。
【0028】
【数1】
【0029】
ただし、演算子“〜”は、その両辺が定数倍の違いを許して等しいことを表している。なお、式(1)において、行列Lは物体座標系変換行列を、行列Mはカメラポーズを示し、夫々、式(2)、式(3)で表現される。
【0030】
【数2】
【0031】
【数3】
【0032】
式(2)、式(3)におけるRc,Roは、3×3の回転行列を、tc,toは3×1の並進ベクトルをそれぞれ示す。また、式(1)において行列Aは式(4)に示すカメラのカメラパラメータからなる3×3の行列である。式(4)において、fはカメラの焦点距離であり、δuとδvはカメラの撮像素子の横方向と縦方向の画素の物理的な間隔、Cu、Cvは画像中心を示す。
【0033】
【数4】
【0034】
次に合成画像点算出部11は入力したオブジェクト上3次元点全てについて合成画像点を算出した後に、該合成画像点を図4に示すように対象画像点に関連付けて記録し(ステップS203)、処理を終える。
【0035】
図5は、第1の実施形態におけるスコア算出部12の処理フローを示す図である。
図6は、スコア算出部の処理概要を示す図である。
次に、第1の実施形態でのスコア算出部12は、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する。続いて、全ての対象画像点を包含するフレーム画像F(t)上領域を決定する(ステップS502)。この処理は例えば非特許文献『Michael Kass, Andrew Witkin and Demetri Terzopoulos,“Snakes: Active contour models,”International Journal of Computer Vision, vol. 1, no. 4, pp. 321-331,1988.』に記載の動的輪郭法を用いることで実現できる。動的輪郭法とは条件に従って動的に複数個の離散的な点列を結んだ閉曲線の変形を繰り返すことで、輪郭を抽出する方法である。
【0036】
続いて、スコア算出部12は、入力した全ての対象画像点について、合成画像点との距離を算出する(ステップS503)。ここで距離とは、図6に示すとおり、対象画像点と、該対象画像点に関連付けて記録された合成画像点との間のユークリッド距離を示す。IDがi番目の距離d_iは対象画像点の座標を(x_i, y_i)、合成画像点の座標を(xr_i, yr_i)とすると、式(5)により算出できる。
【0037】
【数5】
【0038】
またスコア算出部12は、算出した距離の全ての対象画像点に亘っての総和を、前記フレーム画像上領域の面積で正規化した値を算出し、当該値をスコアscore1として出力する(ステップS504)。このスコアscore1は、フレーム画像上領域の面積をSとすると、式(6)によって算出できる。なお、各合成画像点が、対応する各対象画像点から離れれば離れるほど、スコアscore1の値は大きくなる。合成画像点は、対象画像点に近いほど、CG画像をフレーム画像F(t)内のCG合成対象の物体に精度良く合成することができる。従って、スコアの値は小さいほど良い。
【0039】
【数6】
【0040】
図7は、第1の実施形態における成否判定部13の処理フローを示す図である。
続いて、成否判定部13が起動される。成否判定部13は起動すると、スコア算出部12からスコアを入力する(ステップS701)。続いて成否判定部13は、記憶部14から過去に算出された最小スコアを読み出す(ステップS702)。該最小スコアとは、処理対象であるフレーム画像F(t)以前のフレーム画像を用いて算出したスコアであり、物体座標系変換装置が起動した時刻からフレーム画像F(t)を撮像した時刻tまでの間での最小のスコア値を示す。続いて成否判定部13は、スコアが最小スコアより小さいかを判定し(ステップS703)、スコアが最小スコアより小さい場合は、スコア算出部12がスコアの算出に用いた物体座標変換行列によるCG重畳の精度向上が成功したと判定し、最小スコアをスコアで更新し記憶部14に記録する(ステップS704)。成否判定部13は、スコアが最小スコアより大きい場合は、スコア算出部12がスコアの算出に用いた物体座標変換行列によるCG重畳の精度向上が失敗したと判定する。そして、更新判定部13は、上記処理で更新と判定した場合は成功信号を出力し(ステップS705)、失敗と判定した場合は失敗信号を出力し(ステップS706)、処理を終える。
【0041】
なお、例えば更新信号は物体座標系変換装置へ出力される。更新信号を入力した場合、その更新信号の出力についてのスコアの算出に用いられた物体座標系変換行列が、最小のスコアの算出に用いられた物体座標系変換行列である。従って、物体座標系変換装置では、以降、その物体座標系変換行列を用いて、CG合成の処理を行うこととなる。これにより、CG合成処理に用いていた物体座標系変換行列を、新たな最小のスコア値の算出に用いられた物体座標系変換行列へと更新する。
【0042】
<第2の実施形態>
第1の実施形態では、対象画像点と、該対象画像点に関連付けて記録された合成画像点間のユークリッド距離をスコアとするため、対象画像点数が多い場合は、物体座標系変換行列推定精度を良好に定量化できる。しかしながら、対象画像点数が少ない場合はスコアの信頼性が下がり、成否判定に失敗することがある。
そこで第2の実施形態では、対象画像点が構成する領域と、合成画像点が構成する領域を比較することで、物体座標系変換行列推定精度をより高い信頼度で表現するスコアの算出方法について述べる。
【0043】
第2の実施形態における、合成画像点算出部11と、成否判定部13は、第1の実施形態の処理と何ら変わるところがないので、その説明を省略する。以降、第2の実施形態におけるスコア算出部12の処理について述べる。
【0044】
図8は、第2の実施形態におけるスコア算出部12の処理フローを示す図である。
図9は、第2の実施形態によるスコア算出部の処理概要を示す第1の図である。
図10は、第2の実施形態によるスコア算出部の処理概要を示す第2の図である。
図11は、第2の実施形態によるスコア算出部の処理概要を示す第3の図である。
【0045】
第2の実施形態におけるスコア算出部12では、第1の実施形態同様、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する(ステップS801)。続いて、第1の実施形態同様に全ての対象画像点を包含するフレーム画像上領域を図9のように決定する(ステップS802)。続いてスコア算出部12は、同様に全ての合成画像点を包含するフレーム画像上領域を図10のように決定する(ステップS803)。続いてスコア算出部12、前記フレーム画像上領域と前記合成画像上領域との重複領域面積を算出する(ステップS804)。この処理は、例えば、フレーム画像においてフレーム画像上領域内の画素値を1, それ以外を0とした画像と、フレーム画像において合成画像上領域内の画素値を1,それ以外を0とした画像をそれぞれ作成しておき、或る画素の画素値が両画像において1の場合は1を、それ以外の場合は0を設定するAND演算によって図11のような重複領域を決定し、当該重複領域の面積をAND演算後の画像の画素値が1である画素の総数によって算出することで実現できる。
【0046】
なお重複領域の面積が小さい場合は、入力した物体座標系変換行列を用いてCGをフレーム画像F(t)上の合成対象の物体に合成した際に、精度良く(ズレが少なく)合成できる場合である。よって、重複領域の面積が小さい程、入力した物体座標系変換行列によるCG合成の精度がよい。
【0047】
続いてスコア算出部12は、前記重複領域面積を、前記フレーム画像上領域の面積で正規化した値を算出し、その逆数をスコアとして出力し(ステップS805)、処理を終える。このスコアscore2は、重複領域面積をSo、フレーム画像上領域の面積をSとすると、式(7)によって算出できる。
【0048】
【数7】
【0049】
なおここで、前記重複領域面積を前記フレーム画像上領域の面積で正規化した値の逆数をスコアとする理由は、重複領域の面積が大きい方が、物体座標系変換行列推定精度が高いとされるのに対し、成否判定部13において算出したスコアが最小スコアより小さい場合に成功と判定するためである。成否判定部13において算出したスコアが最大スコアより大きい場合に成功と判定する実施形態の場合は、逆数を取る必要はない。
【0050】
<第3の実施形態>
第2の実施形態では、対象画像点が構成する領域と、合成画像点が構成する領域の重なり度で物体座標系変換行列推定精度を表現するが、フレーム画像のテクスチャ情報の類似度まで含めてスコアを表現した方が、物体座標系変換行列推定精度をより高い信頼度で表現できる。
【0051】
そこで第3の実施形態では、対象画像点が構成する領域に属する各画素のテクスチャ情報を、合成画像点が構成する領域へマッピングしたものと、合成画像点が構成する領域に属する各画素のテクスチャ情報を比較することで、物体座標系変換行列推定精度を表現するスコアの算出方法について述べる。なお、第3の実施形態においてテクスチャ情報としては、フレーム画像をグレースケールに変換した画素値を用いてもよいし、カラー画像のRGBの画素値をそのまま利用してもよい。
【0052】
第3の実施形態における、合成画像点算出部11と、成否判定部13は、第1の実施形態と何ら変わるところがないので説明は省略する。以降、第3の実施形態におけるスコア算出部12の動作について述べる。
【0053】
図12は、第3の実施形態におけるスコア算出部12の処理フローを示す図である。
第3の実施形態におけるスコア算出部12では、第1の実施形態同様、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する。第3の実施形態では加えてフレーム画像F(t)も入力する(ステップS1201)。続いて、スコア算出部12は、第1の実施形態同様に全ての対象画像点を包含するフレーム画像上領域を決定する(ステップS1202)。続いて、スコア算出部12は、同様に全ての合成画像点を包含する合成画像上領域を決定する(ステップS1203)。
【0054】
続いて、スコア算出部12は、フレーム画像上領域内の各画素のテクスチャ情報を、合成画像上領域にマッピングする(ステップS1204)。この処理は、例えば非特許文献『OpenGL策定委員会,“OpenGLプログラミングガイド,”ピアソンエデュケーション,Dec. 2006.』に記載の、コンピュータグラフィクス分野において一般的なテクスチャマッピング処理によって実現できる。
【0055】
図13は、第3の実施形態によるスコア算出部の処理概要を示す第1の図である。
図14は、第3の実施形態によるスコア算出部の処理概要を示す第2の図である。
図15は、第3の実施形態によるスコア算出部の処理概要を示す第3の図である。
フレーム画像上領域内の各画素のテクスチャ情報を合成画像上領域にマッピングする処理の詳細について、図13,14,15を用いて説明する。
まず、フレーム画像上領域は図13に示すような5角形の(5つの対象画像点を頂点とする)領域である。スコア算出部12は、当該フレーム画像上領域を構成する全ての対象画像点について、横座標および縦座標ともに0.0〜1.0の座標範囲で正規化し、各対象画像点についての座標をそれぞれ決定し、対象画像点の情報に関連付けて記録しておく。
【0056】
続いて、或る合成画像点について、頂点を合成画像点の座標、テクスチャ座標を該合成画像点に関連付けられた対象画像点に関連付けて記録されているテクスチャ座標を設定する。次にレンダリング処理を行うことで、形状は合成画像上領域と同一で、フレーム画像上領域内のフレーム画像のテクスチャ情報を合成画像上領域にマッピングする。つまり、フレーム画像領域上の各対象画像点のテクスチャ情報を、合成画像上領域の対応する各合成画像点にマッピングすると共に、フレーム画像上領域内の各画素のテクスチャ情報についても同様に、合成画像上領域にマッピングする。これにより、合成画像上領域内の各画素からは、フレーム画像領域上の各画素についてのマッピング後のテクスチャ情報を得ることができる。ここで例えば、図13で示すように、フレーム画像F(t)において「A」の文字が表示されており、その文字の表示領域の一部がフレーム画像上領域に含まれるとする。また合成画像上領域が図14に示すとおりの場合であるとする。このような場合、図13で示すフレーム画像上領域内の各画素を合成画像領域内にマッピング処理した場合、フレーム画像上領域において表示されていた「A」の一部を示す各画素は、図15で示すような所定範囲マッピング位置にマッピングされる。合成画像領域とフレーム画像上領域とがずれているほど、「A」の文字が歪んでマッピングされる。
【0057】
図16は、第3の実施形態によるスコア算出部の処理概要を示す第4の図である。
続いて、スコア算出部12は、フレーム画像上領域内に表示された文字「A」と同一位置に当該文字「A」が表示されている場合の合成画像上領域内の各画素についてのテクスチャ情報と、図15で示すようなマッピング後の合成画像上領域内の各画素についてのテクスチャ情報との差分総和値Idiffを算出する(ステップS1205)。ここで、図16におけるフレーム画像内において合成画像上領域外のテクスチャ情報を0、合成画像上領域内にマッピングされた後(図15)の合成画像上領域の各画素の座標(p,q)のテクスチャ情報をIm(p,q)、文字「A」が表示された場合(図14)の合成画像上領域内の各画素の座標(p,q)のテクスチャ情報をIr(p,q)とした場合、差分総和値Idiffは、式(8)によって算出できる。
【0058】
【数8】
【0059】
最後にスコア算出部12は、差分総和値Idiffを、フレーム画像上領域の面積で正規化した値を算出し、スコアとして出力し(ステップS1206)、処理を終える。このスコアscore3は、フレーム画像上領域の面積をSとすると、式(9)によって算出できる。
【0060】
【数9】
【0061】
物体座標系変換行列の精度がよくない場合には、フレーム画像上領域と合成画像上領域は大きく異なることとなる。これにより、物体座標系変換行列の精度がよくない場合には差分総和値Idiffが大きいことからスコアの値も大きくなり、物体座標系変換行列の精度がより良い場合には差分総和値Idiffが小さいことからスコアの値も小さくなる。
【0062】
<第4の実施形態>
第3の実施形態では、フレーム画像F(t)内における対象画像点が構成する領域に属する各画素のテクスチャ情報を、合成画像点が構成する領域へマッピングしたものと、当該マッピング以前に合成画像点が構成する領域に属する各画素のテクスチャ情報を比較することで、物体座標系変換行列推定精度を表現するが、テクスチャ情報の取得やマッピングに幾何変換を要するため計算量が大きいといった問題がある。
【0063】
そこで本実施例では、テクスチャ情報のマッピングを利用せず、フレーム画像F(t)と、被写体を表現した3D−CGから合成するCG合成画像を比較することで、高速に物体座標系変換行列推定精度を表現するスコアの算出方法について述べる。
【0064】
本実施例における、合成画像点算出部11と、成否判定部13の処理は、第1の実施形態と何ら変わるところがないので説明は省く。以降、第4の実施形態におけるスコア算出部12の処理について述べる。
【0065】
図17は、第4の実施形態におけるスコア算出部12の処理フローを示す図である。
第4の実施形態におけるスコア算出部12では、第1の実施形態同様、対象画像点及び、対象画像点に関連付けられた合成画像点を入力する。第4の実施形態では加えてフレーム画像F(t)も入力する(ステップS1701)。続いてスコア算出部12は、フレーム画像F(t)内に写る所定の被写体と同じ被写体についての3D−CGとカメラパラメータ、及び、物体座標系変換装置が算出した物体座標系変換行列、カメラポーズを入力する(ステップS1702)。
【0066】
図18は、第4の実施形態によるスコア算出部の処理の説明に用いる第1の図である。
図19は、第4の実施形態によるスコア算出部の処理の説明に用いる第2の図である。
図20は、第4の実施形態によるスコア算出部の処理の説明に用いる第3の図である。
図21は、第4の実施形態によるスコア算出部の処理の説明に用いる第4の図である。
図22は、第4の実施形態によるスコア算出部の処理の説明に用いる第5の図である。
図23は、第4の実施形態によるスコア算出部の処理の説明に用いる第6の図である。
第4の実施形態では、例えば図18に示すような3D−CGが予め準備されており、これを物体座標系変換行列推定成否判定装置1が入力したものとして以降の説明を進める。ここで、被写体の3D−CGは3次元座標で表現される頂点と頂点同士を結んだ面から構成されるソリッドモデルであるものとする。当該3D−CGに面の色を示すテクスチャは付与されていてもされていなくてもよい。
【0067】
続いてスコア算出部12は、第1の実施形態同様に全ての対象画像点を包含するフレーム画像上領域を決定する(ステップS1703)。続いてスコア算出部12は、フレーム画像からエッジ画像をエッジ検出により生成する(ステップS1704)。この処理は従来の方法と特に変わるところはないのでここでの説明は省く。なおエッジ画像とは、隣接する画素の輝度値などのテクスチャ情報について所定の閾値以上離れた値となっている画素の集合を示す画像である。第4の実施形態では、例えば図19に示すようなフレーム画像に対して、図20に示すようなエッジ画像が生成されたものとする。
【0068】
次にスコア算出部12は、被写体の3D−CGと物体座標系変換行列、カメラポーズ、カメラパラメータから、CG合成画像を生成する(ステップS1705)。この処理は物体座標系変換装置のCG合成部での物体座標系変換行列を用いたCG合成の処理と何ら変わるところは無いので、ここでの説明は省く。第4の実施形態では、例えば図21に示すようなCG合成画像が生成されたものとする。続いてスコア算出部12は、CG合成画像からエッジ画像を生成し(ステップS1706)、CGエッジ画像とする。第4の実施形態では、例えば図22に示すようなCGエッジ画像が生成されたものとする。
【0069】
スコア算出部12は、前記エッジ画像と、前記CGエッジ画像からAND演算により重複画素数を算出する(ステップS1707)。この処理は、例えば、エッジ画像においてエッジ上の画素値を1、それ以外を0とした画像と、CGエッジ画像においてエッジ上の画素値を1、それ以外を0とした画像をそれぞれ作成しておく。そして、或る画素の画素値が両画像において1の場合は1を、それ以外の場合は0を設定するAND演算によって図23のような重複画素を決定し、AND演算後の画像の画素値が1である画素の総数を重複画素数とすることで実現できる。
【0070】
続いてスコア算出部12は、前記重複画素数を、前記フレーム画像上領域の面積で正規化した値を算出し、逆数をスコアとして出力する(ステップS1708)。このスコアscore4は、重複領域数をO、フレーム画像上領域の面積をSとすると、式(10)によって算出できる。
【0071】
【数10】
【0072】
なお、ここで、前記重複領域数を前記フレーム画像上領域の面積で正規化した値の逆数をスコアとする理由は、重複領域数が多い方が物体座標系変換行列推定精度が高いとされるのに対し、成否判定部13において算出したスコアが最小スコアより小さい場合に成功と判定するためである。成否判定部13において算出したスコアが最大スコアより大きい場合に成功と判定する実施形態の場合は、逆数を取る必要はない。
【0073】
また、本実施形態において、CGエッジ画像はCG合成画像を生成し、当該CG合成画像からエッジ検出により作成する方法について記述したが、CG合成画像を生成する時に、陰面処理を施した3D−CGのワイヤーフレームモデルからCG合成画像を生成することでCGエッジ画像を生成してもよい。
【0074】
以上説明したように、上述の物体座標系変換行列推定成否判定装置1の処理によれば、フレーム画像中の物体に対してコンピュータグラフィクス等を合成する場合に算出する物体座標系変換行列推定の成否を判定することができるため、正確なCG合成を実現することができる。
【0075】
なお、本発明を各実施形態について具体的に説明したが、上記各実施形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、或は範囲を減縮する様に解すべきではない。また、上述の実施形態における各手段の構成は上記実施形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
【0076】
上述の物体座標系変換行列推定成否判定装置1は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0077】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0078】
1・・・物体座標系変換行列推定成否判定装置
11・・・合成画像点算出部
12・・・スコア算出部
13・・・成否判定部
14・・・記憶部
【特許請求の範囲】
【請求項1】
ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出部と、
前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出部と、
当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出部の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定部と、
を備えることを特徴とする物体座標系変換行列推定成否判定装置。
【請求項2】
前記スコア算出部は、前記対象画像点と対応する前記合成画像点の差を、複数の前記対象画像点と対応する前記合成画像点の組合せについて算出し、その総和に基づいて前記スコアを算出する
ことを特徴とする請求項1に記載の物体座標系変換行列推定成否判定装置。
【請求項3】
前記スコア算出部は、前記対象画像点の全てを包含する前記フレーム画像上の領域と、前記合成画像点の全てを包含する前記フレーム画像上の領域との重複領域を決定し、当該重複領域の大きさに基づく値の逆数を前記スコアとして算出する
ことを特徴とする請求項1に記載の物体座標系変換行列推定成否判定装置。
【請求項4】
前記スコア算出部は、前記合成画像点の全てを包含する前記フレーム画像上の領域の各画素についてのテクスチャ情報と、前記対象画像点の全てを包含する前記フレーム画像上の領域の各画素について前記合成画像点の全てを包含する前記フレーム画像上の領域へとマッピングした場合の各画素についてのテクスチャ情報との差分の総和に基づいて、前記スコアを算出する
ことを特徴とする請求項1に記載の物体座標系変換行列推定成否判定装置。
【請求項5】
前記スコア算出部は、前記フレーム画像において検出したエッジ画像と、前記フレーム画像に写る被写体の重畳画像を前記フレーム画像に合成した場合の当該フレーム画像において検出したエッジ画像との差異に基づいて、前記スコアを算出する
ことを特徴とする請求項1に記載の物体座標系変換行列推定成否判定装置。
【請求項6】
物体座標系変換行列推定成否判定装置が、
ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出し、
前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出し、
当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する
ことを特徴とする物体座標系変換行列推定成否判定方法。
【請求項7】
物体座標系変換行列推定成否判定装置のコンピュータを、
ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出手段、
前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出手段、
当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出手段の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定手段、
として機能させるためのプログラム。
【請求項1】
ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出部と、
前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出部と、
当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出部の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出部がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定部と、
を備えることを特徴とする物体座標系変換行列推定成否判定装置。
【請求項2】
前記スコア算出部は、前記対象画像点と対応する前記合成画像点の差を、複数の前記対象画像点と対応する前記合成画像点の組合せについて算出し、その総和に基づいて前記スコアを算出する
ことを特徴とする請求項1に記載の物体座標系変換行列推定成否判定装置。
【請求項3】
前記スコア算出部は、前記対象画像点の全てを包含する前記フレーム画像上の領域と、前記合成画像点の全てを包含する前記フレーム画像上の領域との重複領域を決定し、当該重複領域の大きさに基づく値の逆数を前記スコアとして算出する
ことを特徴とする請求項1に記載の物体座標系変換行列推定成否判定装置。
【請求項4】
前記スコア算出部は、前記合成画像点の全てを包含する前記フレーム画像上の領域の各画素についてのテクスチャ情報と、前記対象画像点の全てを包含する前記フレーム画像上の領域の各画素について前記合成画像点の全てを包含する前記フレーム画像上の領域へとマッピングした場合の各画素についてのテクスチャ情報との差分の総和に基づいて、前記スコアを算出する
ことを特徴とする請求項1に記載の物体座標系変換行列推定成否判定装置。
【請求項5】
前記スコア算出部は、前記フレーム画像において検出したエッジ画像と、前記フレーム画像に写る被写体の重畳画像を前記フレーム画像に合成した場合の当該フレーム画像において検出したエッジ画像との差異に基づいて、前記スコアを算出する
ことを特徴とする請求項1に記載の物体座標系変換行列推定成否判定装置。
【請求項6】
物体座標系変換行列推定成否判定装置が、
ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出し、
前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出し、
当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する
ことを特徴とする物体座標系変換行列推定成否判定方法。
【請求項7】
物体座標系変換行列推定成否判定装置のコンピュータを、
ワールド座標系における基準点および基準方向を基準とするカメラの並進位置および回転角度を示すカメラポーズと、少なくとも前記カメラの焦点距離を示すカメラパラメータと、前記カメラの撮影に基づいて得られたフレーム画像上において重畳画像の重畳対象の物体を示す対象画像点と、前記ワールド座標系とは異なる座標系である物体座標系での前記重畳画像の3次元点を示すオブジェクト上3次元点と、前記ワールド座標系における座標を前記物体座標系の座標への変換に利用する物体座標変換行列と、に基づいて、前記オブジェクト上3次元点が前記物体座標変換行列によって前記フレーム画像上に重畳される場合の対応する合成画像点を算出する合成画像点算出手段、
前記対象画像点と対応する前記合成画像点とに基づいて、前記物体座標変換行列によって前記フレーム画像上の重畳対象の物体に重畳画像が重畳される場合の、当該重畳対象の物体と重畳画像との不一致の度合いを示すスコアを算出するスコア算出手段、
当該算出されたスコアが過去に算出された何れの他のスコアよりも値が低い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が成功した旨を示す成功信号を出力し、前記スコア算出手段の算出したスコアが過去に算出された最も値の低いスコアよりも値が高い場合には、前記スコア算出手段がスコアの算出に用いた物体座標変換行列による重畳画像の重畳の精度向上が失敗した旨を示す失敗信号を出力する成否判定手段、
として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【公開番号】特開2013−101552(P2013−101552A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2011−245666(P2011−245666)
【出願日】平成23年11月9日(2011.11.9)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願日】平成23年11月9日(2011.11.9)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]