(57)【要約】【課題】被写体に対するカメラポーズの精度を向上させる。【解決手段】被写体が撮影された一連の画像データを入力する画像入力部と、画像データにおける特徴点を追跡しワールド座標系における特徴点の三次元座標とカメラのカメラポーズとを取得する三次元座標・カメラポーズ取得部と、被写体の少なくとも一部分を含む複数のテンプレート画像と類似する領域を画像データにおいて検出するテンプレート検出部と、テンプレート検出部が検出した領域と三次元座標・カメラポーズ取得部が取得した特徴点の三次元座標とに基づいてテンプレート画像の三次元座標を推定するテンプレート三次元位置推定部と、テンプレート画像の三次元座標に基づいてワールド座標系から被写体座標系に変換する変換行列を推定する変換行列推定部と、変換行列が推定された後に取得された特徴点の三次元座標及びカメラポーズに基づいて変換行列を更新する変換行列更新部とを備える。【選択図】図１
2014149582.tif 000002
【特許請求の範囲】
【請求項１】
ワールド座標系から被写体を基準とした被写体座標系への変換行列を推定する変換行列推定装置において、
前記被写体が撮影された一連の画像データを入力する画像入力部と、
前記一連の画像データにおける特徴点を追跡し、前記ワールド座標系における特徴点の三次元座標と該画像データを撮影したカメラのカメラポーズとを取得する三次元座標・カメラポーズ取得部と、
予め用意された複数のテンプレート画像であって前記被写体の少なくとも一部分を含む複数のテンプレート画像と類似する領域を前記画像データにおいて検出するテンプレート検出部と、
前記テンプレート検出部が検出した領域と、前記三次元座標・カメラポーズ取得部が取得した特徴点の三次元座標とに基づいて、前記テンプレート画像の三次元座標を推定するテンプレート三次元位置推定部と、
前記テンプレート三次元位置推定部が推定した前記テンプレート画像の三次元座標に基づいて、前記ワールド座標系から前記被写体座標系に座標を変換する変換行列を推定する変換行列推定部と、
前記変換行列推定部が変換行列を推定した後に前記三次元座標・カメラポーズ取得部が取得した特徴点の三次元座標及びカメラポーズに基づいて、前記変換行列を更新する変換行列更新部と、
を備えることを特徴とする変換行列推定装置。
【請求項２】
請求項１に記載の変換行列推定装置において、
前記変換行列更新部は、
変換行列に対応する前記テンプレート画像の領域及びカメラポーズと、該変換行列が推定された後に前記三次元座標・カメラポーズ取得部が取得した特徴点の三次元座標に基づいて、変換行列を再度推定する変換行列再推定部を有し、
前記変換行列再推定部が推定した変換行列を更新後の変換行列にする
ことを特徴とする変換行列推定装置。
【請求項３】
請求項２に記載の変換行列推定装置において、
前記変換行列更新部は、
前記変換行列再推定部が再度推定した変換行列と、前記変換行列推定部が変換行列を推定した後に前記テンプレート三次元位置推定部が推定した前記テンプレート画像の三次元座標に基づいて前記変換行列推定部が新たに推定した新たな変換行列とを評価し、評価結果に基づいて、いずれかの変換行列を更新後の変換行列にする変換行列評価部
を更に有することを特徴とする変換行列推定装置。
【請求項４】
ワールド座標系から被写体を基準とした被写体座標系への変換行列を推定する変換行列推定装置が行う変換行列推定方法において、
前記被写体が撮影された一連の画像データを入力する画像入力ステップと、
前記一連の画像データにおける特徴点を追跡し、前記ワールド座標系における特徴点の三次元座標と前記画像データを撮影したカメラのカメラポーズとを取得する第１の三次元座標・カメラポーズ取得ステップと、
予め用意された複数のテンプレート画像であって前記被写体の少なくとも一部分を含む複数のテンプレート画像と類似する領域を前記画像データにおいて検出するテンプレート検出ステップと、
前記テンプレート検出ステップにおいて検出した領域と、前記第１の三次元座標・カメラポーズ取得ステップにおいて取得した特徴点の三次元座標とに基づいて、前記テンプレート画像の三次元座標を推定するテンプレート三次元位置推定ステップと、
前記テンプレート三次元位置推定ステップにおいて推定した前記テンプレート画像の三次元座標に基づいて、前記ワールド座標系から前記被写体座標系に座標を変換する変換行列を推定する変換行列推定ステップと、
前記変換行列推定ステップにおいて推定した変換行列に対応する画像データの後に続く画像データにおける前記特徴点を追跡し、前記ワールド座標系における特徴点の三次元座標と該画像データを撮影したカメラのカメラポーズとを取得する第２の三次元座標・カメラポーズ取得ステップと、
前記第２の三次元座標・カメラポーズ取得ステップにおいて取得した特徴点の三次元座標及びカメラポーズに基づいて、前記変換行列を更新する変換行列更新ステップと、
を有することを特徴とする変換行列推定方法。
【請求項５】
請求項１から請求項３のいずれか一項に記載の変換行列推定装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変換行列推定装置、変換行列推定方法、及びプログラムに関する。
【背景技術】
【０００２】
コンピュータビジョン分野では、現実環境を仮想情報で補強する拡張現実感に関する研究が多く行われている。例えば、次のような研究成果が実現されている。
カメラで撮影された動画像から各フレームにおいて特徴的な点（以下、特徴点という）を追跡することで、カメラの三次元空間中の位置及び姿勢と、特徴点の三次元座標とを同時に獲得するｖＳＬＡＭ（visual Simultaneous Localization and Mapping）という方法が提案されている（例えば、非特許文献１）。
【０００３】
また、被写体の一部分を示したテンプレート画像を事前に用意しておき、動画像においてテンプレート画像の検出を行うとともに、検出したテンプレート画像の三次元座標をｖＳＬＡＭで出力された特徴点の三次元座標を利用して求めることにより、被写体に対するカメラの位置及び姿勢を推定し、これを利用して動画像に仮想情報を重畳する方法も提案されている（例えば、非特許文献２）。
【０００４】
ｖＳＬＡＭにより得られる特徴点の三次元座標とテンプレート画像の検出とを組み合わせた方法において、仮想情報を動画像に重畳する際の精度は、ｖＳＬＡＭにより得られるカメラの位置及び姿勢を被写体に対するカメラの位置及び姿勢に変換する際に用いる変換行列の精度に依存する。この変換行列の推定に用いるテンプレート画像の三次元座標には誤差が含まれているため、変換行列を安定的に推定することが難しい。
【０００５】
そこで、非特許文献２に記載されている方法では、ｖＳＬＡＭにより得られるカメラの位置及び姿勢の変換行列を推定し、推定した変換行列の変化（原点位置と回転角との変化）が所定の閾値より小さくなった場合に変換行列が収束したと判定している。判定後は、推定した変換行列を用いて、ｖＳＬＡＭにより得られるカメラの位置及び姿勢を変換することにより、被写体に対するカメラの位置及び姿勢の推定を行っている。以下、カメラの位置及び姿勢をカメラポーズという。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Jun SHIMAMURA, Masashi MORIMOTO, and Hideki KOIKE, "Robust vSLAM for dynamic scenes", Proc.12th IAPR Conference on Machine Vision Applications, June 2011, p.344-347
【非特許文献２】島村潤、森本正志、小池秀樹、「設備保守支援向けＡＲのための部分テンプレート検出とｖＳＬＡＭの併用によるオブジェクト座標系へのレジストレーション」、画像の認識・理解シンポジウム（ＭＩＲＵ２０１１）、２０１１年７月、ｐ．１３７０−１３７６
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ｖＳＬＡＭから出力される特徴点の三次元座標は、バンドル調整や特徴点の信頼度などの指標を利用することにより、時間の経過とともに誤差が小さくなり安定してくるという特徴がある。換言すると、特徴点の三次元座標の取得を開始してから直ぐに得られた三次元座標は安定していない。そのため、不安定な三次元座標に基づいて変換行列を推定した場合には、局所解に収束して正確な変換行列が得られないことがある。局所解に収束した変換行列を用いると、カメラポーズが誤って推定され、動画像に重畳する仮想情報の位置がずれて現実環境を仮想情報で補強できないという問題がある。
【０００８】
本発明は、上記問題を解決すべくなされたもので、その目的は、被写体に対するカメラポーズの精度を向上させることができる変換行列推定装置、変換行列推定方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記問題を解決するために、本発明は、ワールド座標系から被写体を基準とした被写体座標系への変換行列を推定する変換行列推定装置において、前記被写体が撮影された一連の画像データを入力する画像入力部と、前記一連の画像データにおける特徴点を追跡し、前記ワールド座標系における特徴点の三次元座標と該画像データを撮影したカメラのカメラポーズとを取得する三次元座標・カメラポーズ取得部と、予め用意された複数のテンプレート画像であって前記被写体の少なくとも一部分を含む複数のテンプレート画像と類似する領域を前記画像データにおいて検出するテンプレート検出部と、前記テンプレート検出部が検出した領域と、前記三次元座標・カメラポーズ取得部が取得した特徴点の三次元座標とに基づいて、前記テンプレート画像の三次元座標を推定するテンプレート三次元位置推定部と、前記テンプレート三次元位置推定部が推定した前記テンプレート画像の三次元座標に基づいて、前記ワールド座標系から前記被写体座標系に座標を変換する変換行列を推定する変換行列推定部と、前記変換行列推定部が変換行列を推定した後に前記三次元座標・カメラポーズ取得部が取得した特徴点の三次元座標及びカメラポーズに基づいて、前記変換行列を更新する変換行列更新部と、を備えることを特徴とする変換行列推定装置である。
【００１０】
また、本発明は、上記発明の変換行列推定装置において、前記変換行列更新部は、変換行列に対応する前記テンプレート画像の領域及びカメラポーズと、該変換行列が推定された後に前記三次元座標・カメラポーズ取得部が取得した特徴点の三次元座標に基づいて、変換行列を再度推定する変換行列再推定部を有し、前記変換行列再推定部が推定した変換行列を更新後の変換行列にすることを特徴とする。
また、本発明は、上記発明の変換行列推定装置において、前記変換行列更新部は、前記変換行列再推定部が再度推定した変換行列と、前記変換行列推定部が変換行列を推定した後に前記テンプレート三次元位置推定部が推定した前記テンプレート画像の三次元座標に基づいて前記変換行列推定部が新たに推定した新たな変換行列とを評価し、評価結果に基づいて、いずれかの変換行列を更新後の変換行列にする変換行列評価部を更に有することを特徴とする。
【００１１】
また、本発明は、ワールド座標系から被写体を基準とした被写体座標系への変換行列を推定する変換行列推定装置が行う変換行列推定方法において、前記被写体が撮影された一連の画像データを入力する画像入力ステップと、前記一連の画像データにおける特徴点を追跡し、前記ワールド座標系における特徴点の三次元座標と前記画像データを撮影したカメラのカメラポーズとを取得する第１の三次元座標・カメラポーズ取得ステップと、予め用意された複数のテンプレート画像であって前記被写体の少なくとも一部分を含む複数のテンプレート画像と類似する領域を前記画像データにおいて検出するテンプレート検出ステップと、前記テンプレート検出ステップにおいて検出した領域と、前記第１の三次元座標・カメラポーズ取得ステップにおいて取得した特徴点の三次元座標とに基づいて、前記テンプレート画像の三次元座標を推定するテンプレート三次元位置推定ステップと、前記テンプレート三次元位置推定ステップにおいて推定した前記テンプレート画像の三次元座標に基づいて、前記ワールド座標系から前記被写体座標系に座標を変換する変換行列を推定する変換行列推定ステップと、前記変換行列推定ステップにおいて推定した変換行列に対応する画像データの後に続く画像データにおける前記特徴点を追跡し、前記ワールド座標系における特徴点の三次元座標と該画像データを撮影したカメラのカメラポーズとを取得する第２の三次元座標・カメラポーズ取得ステップと、前記第２の三次元座標・カメラポーズ取得ステップにおいて取得した特徴点の三次元座標及びカメラポーズに基づいて、前記変換行列を更新する変換行列更新ステップと、を有することを特徴とする変換行列推定方法である。
【００１２】
また、本発明は、上記発明の変換行列推定装置としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００１３】
この発明によれば、変換行列を推定した後に取得された特徴点の三次元座標及びカメラポーズに基づいて変換行列を更新する。一旦取得した変換行列を、取得後の特徴点の三次元座標及びカメラポーズに基づいて更新することにより、逐次得られる画像データとのずれを抑えることができ、変換行列の精度を向上させることができる。これにより、この変換行列に基づいて推定した、被写体に対するカメラポーズの精度を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係る実施形態における変換行列推定装置１０の構成を示すブロック図である。
【図２】同実施形態における変換行列更新部１６の構成を示すブロック図である。
【図３】同実施形態において用いるワールド座標系（Ｗｘ，Ｗｙ，Ｗｚ）と被写体座標系（Ｏｘ，Ｏｙ，Ｏｚ）との一例を示す図である。
【図４】同実施形態における変換行列推定装置１０が行う変換行列推定処理を示すフローチャートである。
【図５】同実施形態における変換行列更新部１６が行う変換行列更新処理を示すフローチャートである。
【図６】図４のステップＳ１０２において取得された特徴点の一例を示す図である。
【図７】テンプレート画像の一例と、テンプレート画像に類似するテンプレート領域の検出結果を示す図である。
【図８】図７（Ａ）のテンプレート画像ｂのテンプレート領域に含まれる特徴点の分布を示す図である。
【図９】被写体としての通信機器に作業位置を示す仮想情報を重畳して表示している画像例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態における換行列推定装置、変換行列推定方法、及びプログラムを説明する。
【００１６】
図１は、本発明に係る実施形態における変換行列推定装置１０の構成を示すブロック図である。変換行列推定装置１０は、取得した動画像又は予め取得した動画像に基づいて、当該動画像に撮影されている被写体に対するカメラポーズを推定するための変換行列を出力する装置である。変換行列推定装置１０は、画像入力部１１、三次元座標・カメラポーズ取得部１２、テンプレート検出部１３、テンプレート三次元位置推定部１４、変換行列推定部１５、変換行列更新部１６、特徴点三次元座標記憶部２１、及び、テンプレート領域・カメラポーズ記憶部２２を備えている。
【００１７】
画像入力部１１は、各時刻に撮影された一連の画像データを含む動画像を取得する。例えば、画像入力部１１には、デジタルカメラやビデオカメラ等の画像センサを有する撮像装置が用いられる。なお、画像入力部１１は、動画像を構成する一連の画像データを取得できればよく、予め撮影された動画像を取得する装置などであってもよい。なお、以下の説明において、動画像を撮影したカメラの内部パラメータ（焦点距離や投影中心）は事前にキャリブレーション済みであり、変換行列推定装置１０に記憶されているものとする。
【００１８】
三次元座標・カメラポーズ取得部１２は、画像入力部１１により取得された各画像データから特徴点を抽出し、一連の画像データにおける特徴点の位置を追跡することにより、カメラポーズと特徴点の三次元座標とを取得する。三次元座標・カメラポーズ取得部１２は、バンドル調整を行い三次元点とカメラポーズとを再投影誤差が最小となるように最適化を行う。三次元座標・カメラポーズ取得部１２は、各画像データにおいて取得した特徴点の三次元座標を画像データごとに特徴点三次元座標記憶部２１に記憶させる。三次元座標・カメラポーズ取得部１２は、取得したカメラポーズをテンプレート三次元位置推定部１４に出力する。
【００１９】
テンプレート検出部１３は、予め定められた複数のテンプレート画像を記憶している。テンプレート画像には、被写体の少なくとも一部分が含まれている。テンプレート検出部１３は、画像入力部１１により取得される画像データにおいて、テンプレート画像と類似している領域であるテンプレート領域を検出する。テンプレート検出部１３には、少なくとも３つのテンプレート画像が記憶されている。テンプレート領域は、画像上における座標の組み合わせ、あるいは、代表点の座標と当該座標を基準にした領域の範囲を示す情報との組み合わせからなる。
【００２０】
テンプレート三次元位置推定部１４は、三次元座標・カメラポーズ取得部１２が取得したカメラポーズと、特徴点三次元座標記憶部２１に記憶されている特徴点の三次元座標とに基づいて、テンプレート検出部１３が検出したテンプレート領域の三次元座標を推定する。具体的には、テンプレート三次元位置推定部１４は、現時刻において取得されたカメラポーズを用いて、画像データが示す画像上に特徴点を投影する投影演算を行い、画像上に再投影された特徴点のうち、テンプレート領域ごとにテンプレート領域に含まれる特徴点の三次元座標からテンプレート領域の三次元座標を推定する。テンプレート三次元位置推定部１４は、推定したテンプレート領域の三次元座標と、当該三次元座標の推定に用いたカメラポーズ及びテンプレート領域とを含むテンプレート情報を変換行列推定部１５に出力する。
【００２１】
変換行列推定部１５は、テンプレート三次元位置推定部１４から出力されるテンプレート情報に含まれるテンプレート領域の三次元座標に基づいて、ワールド座標系から被写体を基準にした被写体座標系に座標を変換する変換行列ＯＴＣを推定する。変換行列推定部１５は、推定した変換行列ＯＴＣと、当該変換行列ＯＴＣの推定に用いたテンプレート情報とを含む変換行列情報を変換行列更新部１６に出力する。
【００２２】
変換行列更新部１６は、現時刻に推定された変換行列、すなわち変換行列情報に含まれる変換行列ＯＴＣの推定精度の評価を行う。変換行列更新部１６は、現時刻において外部に出力している変換行列ＯＴＡの再推定と推定精度の評価とを行う。変換行列更新部１６は、変換行列ＯＴＣと変換行列ＯＴＡとそれぞれの評価結果に基づいて、変換行列ＯＴＡの更新を行う。変換行列ＯＴＡの再推定は、変換行列ＯＴＡに対応するテンプレート領域及びカメラポーズと、特徴点三次元座標記憶部２１に記憶されている現時刻における特徴点の三次元座標とに基づいて行われる。変換行列更新部１６は、更新後の変換行列ＯＴＡの推定に用いたテンプレート領域及びカメラポーズをテンプレート領域・カメラポーズ記憶部２２に記憶させる。
【００２３】
特徴点三次元座標記憶部２１には、三次元座標・カメラポーズ取得部１２が取得する特徴点の三次元座標が画像データごとに記憶される。テンプレート領域・カメラポーズ記憶部２２には、変換行列更新部１６により更新された変換行列ＯＴＡに対応するテンプレート領域及びカメラポーズが記憶される。
【００２４】
図２は、本実施形態における変換行列更新部１６の構成を示すブロック図である。変換行列更新部１６は、変換行列再推定部１６１、及び、変換行列評価部１６２を有している。変換行列再推定部１６１は、テンプレート領域・カメラポーズ記憶部２２に記憶されているテンプレート領域及びカメラポーズと、特徴点三次元座標記憶部２１に記憶されている現時刻における特徴点の三次元座標とに基づいて、変換行列ＯＴＡを再度推定する。変換行列評価部１６２は、変換行列推定部１５から入力される変換行列ＯＴＣと、再度推定された変換行列ＯＴＡとそれぞれの推定精度を評価し、推定精度が良い変換行列を新たな変換行列ＯＴＡにする更新処理を行う。変換行列評価部１６２は、新たな変換行列ＯＴＡを推定する際に用いたテンプレート領域及びカメラポーズを、テンプレート領域・カメラポーズ記憶部２２に記憶させる。
【００２５】
ここで、本実施形態の変換行列推定装置１０における処理において用いるワールド座標系と被写体座標系とについて説明する。図３は、本実施形態において用いるワールド座標系（Ｗｘ，Ｗｙ，Ｗｚ）と被写体座標系（Ｏｘ，Ｏｙ，Ｏｚ）との一例を示す図である。ワールド座標系は、任意の位置、予め定めた位置、又は特徴点のいずれかを基準として定められる座標である。被写体座標系は、被写体の任意の位置を基準として定められる座標系である。図３においては、直方体の被写体の角を基準（原点）として、各辺の方向にＸ軸、Ｙ軸、及びＺ軸を有する座標系を被写体座標系としている。なお、三次元座標・カメラポーズ取得部１２が取得する特徴点の三次元座標及びカメラポーズは、ワールド座標系における座標及び方向である。
【００２６】
以下、本実施形態の変換行列推定装置１０が行う変換行列推定処理について説明する。ここでは、テンプレート検出部１３には３つのテンプレート画像が予め記憶されており、変換行列推定部１５は、３つのテンプレート画像に対応するテンプレート領域の三次元座標から変換行列を推定する場合について説明する。
【００２７】
図４は、本実施形態における変換行列推定装置１０が行う変換行列推定処理を示すフローチャートである。
変換行列推定装置１０において変換行列推定処理が開始されると、カメラにより撮影された画像データＩｍを画像入力部１１が入力する（ステップＳ１０１）。
【００２８】
三次元座標・カメラポーズ取得部１２は、画像入力部１１が入力した画像データＩｍから特徴点を追跡し、特徴点の三次元座標（Ｘ，Ｙ，Ｚ）及びカメラポーズ（Ｔｘ，Ｔｙ，Ｔｚ，φ，θ，ψ）をワールド座標系で取得し、バンドル調整を行って特徴点の三次元座標（Ｘ，Ｙ，Ｚ）及びカメラポーズ（Ｔｘ，Ｔｙ，Ｔｚ，φ，θ，ψ）の最適化を行う（ステップＳ１０２）。このような特徴点の三次元座標（Ｘ，Ｙ，Ｚ）やカメラポーズ（Ｔｘ、Ｔｙ，Ｔｚ，φ、θ、ψ）を取得する処理は、ｖＳＬＡＭと呼ばれる公知の技術（例えば、非特許文献１）により行うことができる。
【００２９】
テンプレート検出部１３は、画像入力部１１が入力した画像データＩｍから３つのテンプレート画像それぞれに類似するテンプレート領域を検出する（ステップＳ１０３）。画像データＩｍからテンプレート画像と類似している領域の検出は、例えば、２画像の輝度値の差分の絶対値を表すＳＡＤ関数などの評価関数を用いて一番類似度の高い部分を検出することにより行う。テンプレート検出部１３は、３つのテンプレート画像それぞれに類似する各テンプレート領域をＴｍ１、Ｔｍ２、Ｔｍ３として出力する。
【００３０】
テンプレート三次元位置推定部１４は、ステップＳ１０２において取得されたカメラポーズに基づいて、特徴点三次元座標記憶部２１に記憶されている特徴点を画像データＩｍ上に投影する。テンプレート三次元位置推定部１４は、ステップＳ１０３において検出されたテンプレート領域Ｔｍ１、Ｔｍ２、Ｔｍ３ごとに画像データＩｍ上に投影した各特徴点のうちテンプレート領域に含まれる特徴点を検出する。テンプレート三次元位置推定部１４は、各テンプレート領域Ｔｍ１、Ｔｍ２、Ｔｍ３に含まれる特徴点の集合を集合ＦＰ１、ＦＰ２、ＦＰ３とする。テンプレート三次元位置推定部１４は、各集合ＦＰ１、ＦＰ２、ＦＰ３に含まれる特徴点の三次元座標に基づいて、３つのテンプレート画像それぞれの三次元座標を推定する（ステップＳ１０４）
【００３１】
ステップＳ１０４における処理は、例えば、以下のようにして行われる。特徴点の画像データＩｍ上へ投影する投影計算は、次式（１）により行うことができる。
ｍ＝Ａ（Ｒ｜Ｔ）Ｘ      …（１）
式（１）において、行列Ａはカメラの内部パラメータからなる３×３のカメラ内部行列である。行列（Ｒ｜Ｔ）はカメラの位置及び姿勢で構成される３×４のカメラ外部行列である。行列Ｒはカメラポーズの回転行列であり、行列Ｔはカメラポーズの並進行列である。行列Ｘは特徴点の三次元座標（Ｘ，Ｙ，Ｚ）に成分「１」を追加して得られる４×１の行列（Ｘ，Ｙ，Ｚ，１）である。行列ｍは画像データＩｍ上の投影点を示す３×１の行列ｍ＝（ｘ，ｙ，ｚ）である。
【００３２】
式（１）を用いて算出した画像データＩｍ上の投影点の三次元座標を示す行列ｍにおいて、第三成分ｚで第一成分ｘと第二成分ｙとを除算して得られる（ｕ，ｖ）＝（ｘ／ｚ，ｙ／ｚ）が画像データＩｍ上の投影座標である。各特徴点の投影座標に基づいて、テンプレート領域Ｔｍ１、Ｔｍ２、Ｔｍ３に含まれる特徴点の集合ＦＰ１、ＦＰ２、ＦＰ３を取得する。集合ＦＰ１、ＦＰ２、ＦＰ３ごとに、集合に含まれる特徴点の三次元座標の平均値を算出し、算出した三次元座標の平均値をテンプレート画像の三次元座標とする。これにより、各テンプレート画像の三次元座標を推定することができる。
【００３３】
変換行列推定部１５は、ステップＳ１０４において推定された３つのテンプレート画像の三次元座標に基づいて、ワールド座標系から被写体座標系への変換行列ＯＴＣを算出し、被写体に対するカメラポーズを推定する（ステップＳ１０５）。変換行列ＯＴＣの算出は、公知の技術を用いて行うことができる。例えば、非特許文献２に記載されているように、被写体座標系の原点を１つ目のテンプレート画像の三次元座標として定義し、変換行列の並進成分を求める。また、３つのテンプレート画像の各三次元座標で張られる平面の法線ベクトルと、１つ目のテンプレート画像と２つ目のテンプレート画像との三次元座標で構成される直線ベクトルとを利用して回転成分を求める。これにより、変換行列ＯＴＣを算出することができる。
【００３４】
変換行列更新部１６は、ステップＳ１０５において算出された変換行列ＯＴＣの推定精度と、前回推定された変換行列ＯＴＡの推定精度とに基づいて、外部に出力する変換行列を更新する。変換行列更新部１６は、更新後の変換行列に対応するテンプレート領域及びカメラポーズをテンプレート領域・カメラポーズ記憶部２２に記憶させる（ステップＳ１０６）。
【００３５】
変換行列更新部１６は、推定処理を継続するか否かを判定し（ステップＳ１０７）、継続する場合（ステップＳ１０７：ＹＥＳ）には処理をステップＳ１０１に戻し、ステップＳ１０１からステップＳ１０７までの処理が繰り返される。一方、継続しない場合（ステップＳ１０７：ＮＯ）には処理を終了させる。なお、推定処理を継続するか否かの判定には、例えば、変換行列推定装置１０に対するユーザの入力操作に基づいて行うようにしてもよい。
【００３６】
以下、ステップＳ１０６における変換行列を更新する処理について詳しく説明する。図５は、本実施形態における変換行列更新部１６が行う変換行列更新処理を示すフローチャートである。
【００３７】
変換行列更新部１６において更新処理が開始されると、変換行列評価部１６２は、変換行列推定部１５が推定した変換行列ＯＴＣの推定精度を評価する（ステップＳ２０１）。推定精度の評価は、例えば、予め既知である被写体座標系におけるテンプレート領域Ｔｍ１、Ｔｍ２それぞれの三次元座標に対して、変換行列ＯＴＣの逆行列をかけてワールド座標系の三次元座標Ｐ１、Ｐ２に変換する。式（１）を用いて画像データＩｍ上に三次元座標Ｐ１、Ｐ２を投影し、画像データＩｍ上における投影点とテンプレート領域の所定の点との距離、すなわち再投影誤差を算出する。この再投影誤差により変換行列ＯＴＣの推定精度を評価することができる。なお、変換行列ＯＴＣを評価する際に用いるカメラポーズは、変換行列ＯＴＣを推定する際に利用したカメラポーズである。
【００３８】
変換行列評価部１６２は、現在外部に出力している変換行列ＯＴＡが存在するか否かを判定する（ステップＳ２０２）。換言すると、ステップＳ２０２では、変換行列推定処理における１回目のステップＳ１０６（変換行列更新処理）であるか否かを判定する。１回目の変換行列更新処理では、変換行列ＯＴＡが存在しないので後述する変換行列ＯＴＡに対する評価を行わない。
変換行列ＯＴＡが存在しない場合（ステップＳ２０２：無）、変換行列評価部１６２は処理をステップＳ２０６に進める。
【００３９】
変換行列ＯＴＡが存在する場合（ステップＳ２０２：有）、変換行列再推定部１６１は、変換行列ＯＴＡを推定した際に用いたテンプレート領域及びカメラポーズをテンプレート領域・カメラポーズ記憶部２２から読み出す。変換行列再推定部１６１は、読み出したテンプレート領域及びカメラポーズと、特徴点三次元座標記憶部２１に記憶されている現時刻の特徴点の三次元座標とに基づいて、３つのテンプレート画像の三次元座標を推定する（ステップＳ２０３）。テンプレート画像の三次元座標を推定する処理は、ステップＳ１０４における処理と同じである。しかし、特徴点は毎時刻（毎画像データ）において増減することがあり、特徴点の三次元座標もバンドル調整などによって最適化される。そのため、ステップＳ２０３において得られるテンプレート画像の三次元座標は、以前に変換行列ＯＴＡを推定したときと異なる。
【００４０】
変換行列再推定部１６１は、ステップＳ２０３において推定された３つテンプレート画像の三次元座標に基づいて、変換行列ＯＴＡを再度推定する（ステップＳ２０４）。変換行列再推定部１６１による変換行列ＯＴＡを推定する処理は、ステップＳ１０５における変換行列ＯＴＣを算出する処理と同じである。
変換行列評価部１６２は、ステップＳ２０４において推定された変換行列ＯＴＡの推定精度を評価する（ステップＳ２０５）。変換行列ＯＴＡの推定誤差を評価する処理は、ステップＳ２０１における処理と同じであり、変換行列ＯＴＡの逆行列を用いて再投影誤差を算出することにより行われる。
【００４１】
変換行列評価部１６２は、変換行列ＯＴＣの推定精度と変換行列ＯＴＡの推定精度とを比較し、推定精度の良い変換行列を新たな変換行列ＯＴＡとすることにより変換行列ＯＴＡを更新し、新たな変換行列ＯＴＡを外部に出力する（ステップＳ２０６）。推定精度の良い変換行列は、例えば、再投影誤差の絶対値が小さい変換行列とする。また、変換行列評価部１６２は、新たな変換行列ＯＴＡに対応するテンプレート領域及びカメラポーズをテンプレート領域・カメラポーズ記憶部２２に記憶させる。なお、変換行列ＯＴＡが存在しない場合（ステップＳ２０２からステップＳ２０６に処理が進められた場合）、変換行列評価部１６２は、変換行列ＯＴＣを新たな変換行列ＯＴＡとすることにより変換行列ＯＴＡを更新する。
【００４２】
このように、変換行列推定処理では、変換行列推定装置１０が、逐次取得される画像データに基づいて変換行列ＯＴＣを算出する（ステップＳ１０２〜ステップＳ１０５）とともに、現在の変換行列として採用している変換行列ＯＴＡを現在の画像データに基づいて再推定する（ステップＳ２０３〜ステップＳ２０４）。また、変換行列ＯＴＣと変換行列ＯＴＡとの２つの変換行列それぞれの推定精度を評価し、推定精度の高い変換行列を新たな変換行列として更新する。これらの処理を変換行列推定装置１０が繰り返して行う。これにより、変換行列推定装置１０は、推定精度の良い変換行列を得ることができる。この変換行列に基づいて被写体に対するカメラポーズを推定することにより、カメラポーズの精度を向上させることができる。
【００４３】
また、一連の画像データから得られる特徴点の三次元座標が安定せずに変換行列が一時的に局所解に収束したとしても、逐次得られる特徴点の三次元座標に基づいて、変換行列を更新することにより局所解に陥ることなく、変換行列のずれを低減して推定精度を向上させることができる。そして、変換行列推定装置１０が出力する変換行列に基づいたカメラポーズを用いることにより、一連の画像データからなる動画像の被写体に仮想情報を精度良く重畳することができ、仮想情報による現実環境の補強を安定して行うことができる。
【００４４】
なお、本実施形態における変換行列推定処理では、３つのテンプレート画像を用いる構成について説明したが、４つ以上のテンプレート画像を用いて行うようにしても良い。また、変換行列推定装置１０内に各機能部が備えられる構成について説明したが、ネットワーク等を介して通信可能に接続された装置に各機能部が分散して備えられていても良い。
【００４５】
ここで、図６から図９を参照して、本実施形態における変換行列推定装置１０が出力する変換行列を用いた画像処理の一例を示す。以下に示す例では、１台のカメラから得られた動画像を処理して、被写体に対するカメラポーズを推定し、画像データ上に仮想情報を重畳表示する。また、図４に示した変換行列推定処理に沿って説明する。
【００４６】
画像処理が開始されると変換行列推定装置１０はカメラから画像データを入力する（ステップＳ１０１）。
入力された画像データからカメラポーズと特徴点の三次元座標を取得する（ステップＳ１０２）。図６は、図４のステップＳ１０２において取得された特徴点の一例を示す図である。図６（Ａ）には、入力された画像データに検出した特徴点を示す点を重畳した画像が示されている。図６（Ｂ）には、取得した特徴点とカメラポーズとを三次元座標上に示した画像が示されている。
【００４７】
変換行列推定装置１０は、入力された画像データに対してテンプレート検出を行う（ステップＳ１０３）。図７は、テンプレート画像の一例と、テンプレート画像に類似するテンプレート領域の検出結果を示す図である。図７（Ａ）には、３つのテンプレート画像ａ、ｂ、ｃが示されている。ここでは、ネジを含む２つの画像と、数字を含む画像との３つのテンプレート画像を予め用意している。図７（Ｂ）にはカメラで入力した画像データにおいて図７（Ａ）に示した３つのテンプレート画像に類似するテンプレート領域を示す矩形が示されており、テンプレート画像に対応する領域が検出されていることが分かる。
【００４８】
変換行列推定装置１０は、特徴点を画像データ上に再投影し、領域内に含まれる特徴点の集合ＦＰ１、ＦＰ２、ＦＰ３を取得し、テンプレート画像の三次元座標を取得する（ステップＳ１０４）。図８は、図７（Ａ）のテンプレート画像ｂのテンプレート領域に含まれる特徴点の分布を示す図である。これらの特徴点の座標の平均値を算出することにより、テンプレート画像ｂの三次元座標を取得する。
【００４９】
変換行列推定装置１０は、テンプレート画像の三次元座標を用いて、ワールド座標系から被写体座標系に座標を変換する変換行列を算出する（ステップＳ１０５）。算出された変換行列を用いて、被写体に対するカメラポーズを精度良く推定することができる。
以上の処理を繰り返す変換行列推定装置１０が出力する変換行列を用いて被写体座標系におけるカメラポーズを推定し、このカメラポーズを用いることにより、図９に示すように被写体に仮想情報をずれなく重畳させることが可能となる。図９は、被写体としての通信機器に作業位置を示す仮想情報を重畳して表示している画像例を示す図である。
【００５０】
このように、本実施形態の変換行列推定装置１０が出力する変換行列を用いることにより、画像データ上の被写体に応じて仮想情報を精度良く重畳させることができ、違和感やぶれの少ない拡張現実感を実現することができる。
【００５１】
なお、図１に示した変換行列推定装置１０が備える各機能部の一部もしくは全部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより変換行列推定処理及び変換行列更新処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５２】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。更に、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【産業上の利用可能性】
【００５３】
カメラ等により得られた画像データに仮想情報を重畳表示する装置やシステム等に適用することができる。
【符号の説明】
【００５４】
１０…変換行列推定装置
１１…画像入力部
１２…三次元座標・カメラポーズ取得部
１３…テンプレート検出部
１４…テンプレート三次元位置推定部
１５…変換行列推定部
１６…変換行列更新部
２１…特徴点三次元座標記憶部
２２…テンプレート領域・カメラポーズ記憶部
１６１…変換行列再推定部
１６２…変換行列評価部
【図１】
2014149582.tif 000003
【図２】
2014149582.tif 000004
【図３】
2014149582.tif 000005
【図４】
2014149582.tif 000006
【図５】
2014149582.tif 000007
【図６】
2014149582.tif 000008
【図７】
2014149582.tif 000009
【図８】
2014149582.tif 000010
【図９】
2014149582.tif 000011