説明

物体座標系変換装置、物体座標系変換方法、及び物体座標系変換プログラム

【課題】フレーム画像における対象物体に対して精度の高い画像合成を行えるカメラポーズと3次元座標とを算出する。
【解決手段】物体座標系変換装置は、対象物体の特徴点を含む3つ以上の照合テンプレート画像のうち、少なくとも3つの照合テンプレート画像に含まれる各特徴点のフレーム画像における位置である照合位置を検出し、過去のフレーム画像から最新のフレーム画像までにおける特徴点を検出し、特徴点の位置の時系列変化と、フレーム画像を出力する撮像装置の焦点距離とに基づいて、予め定められたワールド座標系における、撮像装置の位置及び向きを示すカメラポーズと、特徴点の3次元座標とを算出し、検出した照合位置と、算出したカメラポーズ、及び特徴点の3次元座標とに基づいて、対象物体を基準として定められた3次元座標系である物体座標系における、カメラポーズ、及び特徴点の3次元座標を算出する座標系変換部とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実空間に属する物体を含むシーンを撮像するカメラによって入力されたフレーム画像列から算出される実空間におけるカメラの位置及び姿勢を示すカメラポーズと、フレーム画像内の特徴点の3次元座標とを、物体を基準にした物体座標系に変換する物体座標系変換装置、物体座標系変換方法、及び物体座標系変換プログラムに関する。
【背景技術】
【0002】
実空間を撮像するカメラによって入力されたフレーム画像から、実空間におけるカメラの位置及び姿勢を示すカメラポーズと、フレーム画像内の特徴点の3次元座標を算出するカメラポーズ・3D推定装置では、算出したカメラポーズを用いて、例えばフレーム画像中にコンピュータグラフィクス等を合成することを可能にしている。
このようなカメラポーズ・3D推定装置では、例えば、非特許文献1に記載の方法が用いられている。具体的には、カメラポーズ、実空間内における特徴点の3次元座標の初期値、及びフレーム画像を入力し、(1)フレーム画像における特徴点に対応する画像点を決定、(2)特徴点の3次元座標と画像点の座標との組から非線形最小自乗法によってカメラポーズの算出、(3)過去に亘った複数時刻のフレーム画像を用いて特徴点の3次元座標を更新する処理を時々刻々繰り返すことによって正確にカメラポーズと3次元座標とを算出することを実現している。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】"Parallel Tracking and Mapping for Small AR Workspaces", Georg Klein and David Murray, In Proc. International Symposium on Mixed and Augmented Reality (ISMAR'07, Nara), pp.225-234, 2007
【発明の概要】
【発明が解決しようとする課題】
【0004】
前述のような、カメラポーズ・3D推定装置で算出されるカメラポーズと3次元座標とは、カメラポーズがワールド座標系から見たカメラの位置及び向きとして表現され、3次元座標がワールド座標系からの位置として表現される。当該ワールド座標系は、カメラポーズ・3D推定装置で初期時刻において予め設定したものが利用される。
ここで、フレーム画像中の物体に対してコンピュータグラフィクス等を合成する場合には、物体を基準とする物体座標系でのカメラポーズと3次元座標とが必要となる。
しかしながら、前述のカメラポーズ・3D推定装置では、前述の通り、物体に関係なく予め設定したワールド座標系を基準としてカメラポーズと3次元座標とを算出するため、当該カメラポーズを用いてフレーム画像中において対象物体に対してコンピュータグラフィクスを合成しても、対象物体と、コンピュータグラフィクスとの位置がずれることがある。
【0005】
本発明は、上述したような従来技術が有する問題点に鑑みてなされたものであり、フレーム画像における対象物体に対して精度の高い画像合成を行えるカメラポーズと3次元座標とを算出する物体座標系変換装置、物体座標系変換方法、及び物体座標系変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明は、対象物体の特徴点を含む3つ以上の照合テンプレート画像が予め記憶されている照合テンプレート記憶部と、前記照合テンプレート画像のうち少なくとも3つの照合テンプレート画像それぞれのフレーム画像における位置である照合位置を検出する2次元テンプレート照合部と、過去のフレーム画像から最新のフレーム画像までにおいて前記特徴点を検出し、前記フレーム画像における前記特徴点の位置の時系列変化と、前記フレーム画像を撮像した撮像装置の焦点距離とに基づいて、予め定められたワールド座標系における、前記撮像装置の位置及び向きを示すカメラポーズと、前記特徴点の3次元座標とを算出するカメラポーズ・3次元座標推定部と、前記2次元テンプレート照合部が検出した照合位置と、前記カメラポーズ・3次元座標推定部が算出したカメラポーズ、及び前記特徴点の3次元座標とに基づいて、前記対象物体を基準として定められた3次元座標系である物体座標系における、カメラポーズ、及び前記特徴点の3次元座標を算出する座標系変換部とを具備することを特徴とする物体座標系変換装置である。
【0007】
また、本発明は、上記に記載の発明において、前記座標系変換部は、前記ワールド座標系におけるカメラポーズに基づいて、前記特徴点の3次元座標を前記フレーム画像における座標に変換し、変換した座標と前記照合位置とを対応付け、前記照合位置に対応する3次元座標を算出する3次元座標抽出部と、前記3次元座標抽出部が算出した3次元座標で示される点が属する基準平面を算出する基準平面算出部と、前記基準平面算出部が算出した基準平面と、前記特徴点が属する平面とを一致させる剛体変換行列を算出し、算出した剛体変換行列を用いて、前記3次元座標抽出部が算出した3次元座標、及び、前記ワールド座標系におけるカメラポーズを、前記物体座標系に変換する剛体変換部とを備えることを特徴とする。
【0008】
また、上記問題を解決するために、本発明は、対象物体の特徴点を含む3つ以上の照合テンプレート画像が予め記憶されている照合テンプレート記憶部を備える物体座標系変換装置における物体座標変換方法であって、前記照合テンプレート画像のうち少なくとも3つの照合テンプレート画像それぞれのフレーム画像における位置である照合位置を検出する2次元テンプレート照合ステップと、過去のフレーム画像から最新のフレーム画像までにおいて前記特徴点を検出し、前記フレーム画像における前記特徴点の位置の時系列変化と、前記フレーム画像を撮像した撮像装置の焦点距離とに基づいて、予め定められたワールド座標系における、前記撮像装置の位置及び向きを示すカメラポーズと、前記特徴点の3次元座標とを算出するカメラポーズ・3次元座標推定ステップと、前記2次元テンプレート照合ステップにおいて検出した照合位置と、前記カメラポーズ・3次元座標推定ステップにおいて算出したカメラポーズ、及び前記特徴点の3次元座標とに基づいて、前記対象物体を基準として定められた3次元座標系である物体座標系における、カメラポーズ、及び前記特徴点の3次元座標を算出する座標系変換ステップとを有することを特徴とする物体座標系変換方法である。
【0009】
また、上記問題を解決するために、本発明は、対象物体の特徴点を含む3つ以上の照合テンプレート画像が予め記憶されている照合テンプレート記憶部を備える物体座標系変換装置が有するコンピュータに、前記照合テンプレート画像のうち少なくとも3つの照合テンプレート画像それぞれのフレーム画像における位置である照合位置を検出する2次元テンプレート照合ステップと、過去のフレーム画像から最新のフレーム画像までにおいて前記特徴点を検出し、前記フレーム画像における前記特徴点の位置の時系列変化と、前記フレーム画像を撮像した撮像装置の焦点距離とに基づいて、予め定められたワールド座標系における、前記撮像装置の位置及び向きを示すカメラポーズと、前記特徴点の3次元座標とを算出するカメラポーズ・3次元座標推定ステップと、前記2次元テンプレート照合ステップにおいて検出した照合位置と、前記カメラポーズ・3次元座標推定ステップにおいて算出した前記ワールド座標系における撮像装置の位置及び向き、並びに前記特徴点の3次元座標とに基づいて、前記対象物体を基準として定められた3次元座標系である物体座標系における、カメラポーズ、及び前記特徴点の3次元座標を算出する座標系変換ステップとを実行させるための物体座標系変換プログラムである。
【発明の効果】
【0010】
本発明によれば、合成の対象となる対象物体を基準とした物体座標系におけるカメラポーズ及び3次元座標を算出することができる。算出したカメラポーズ及び3次元座標を用いることにより、フレーム画像において、合成の対象となる対象物体と、合成するコンピュータグラフィクス等とがずれることがなくなり、より精度の高い合成を実現することができる。
【図面の簡単な説明】
【0011】
【図1】本明細書において用いる座標系の一例を示す図である。
【図2】本実施形態における物体座標系変換装置1の構成を示す概略ブロック図である。
【図3】本実施形態におけるテンプレート画像記憶部11に記憶されている照合テンプレート画像の一例を示す図である。
【図4】本実施形態における物体座標系変換装置1が行う物体座標系変換処理の一例を示すフローチャートである。
【図5】本実施形態における対象物体の特徴点の3次元座標及びカメラポーズを算出する処理結果の一例を示す図である。
【図6】本実施形態における照合テンプレート画像と照合位置との対応の一例を示す図である。
【図7】本実施形態における3次元座標抽出部151における3次元座標を抽出する処理を示すフローチャートである。
【図8】本実施形態における3次元座標抽出部151が抽出ウィンドウを設定する一例を示す図である。
【図9】剛体変換部153における剛体変換処理を示すフローチャートである。
【図10】本実施形態における剛体変換部153が算出する並進ベクトルの一例を示す図である。
【図11】本実施形態における剛体変換部153が算出する回転行列Rの一例を示す図である。
【図12】本実施形態に係る剛体変換部153が算出するロール角の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態における物体座標系変換装置、物体座標系変換方法、及び物体座標系変換プログラムを説明する。
【0013】
初めに、本明細書において用いる座標系について説明する。
図1は、本明細書において用いる座標系の一例を示す図である。同図に示すように、ワールド座標系(WXYZ)は、空間全体を表す座標系であり、カメラポーズ及び3次元座標を推定する処理において、初期時刻に予め設定したものが利用される。カメラ座標系(CXYZ)は、フレーム画像を出力する撮像装置であるカメラの投影中心を原点とする座標系であり、ワールド座標系に関連付けられている。なお、本明細書における「カメラポーズ」とは、ワールド座標系に対するカメラの位置、及び向き(併進、及び回転)を示す情報である。最後に、物体座標系(OXYZ)は、ワールド座標系で表現される空間の中にある個別の対象物体ごとに設定する座標系である。また、物体座標系は、対象物体における任意の点を原点とする座標系である。
【0014】
以下、本発明の一実施形態による物体座標系変換装置について図面を参照して説明する。
【0015】
図2は、本実施形態による物体座標系変換装置1の構成を示す概略ブロック図である。同図に示す通り、物体座標系変換装置1は、テンプレート画像記憶部11と、カメラパラメータ記憶部12と、2次元テンプレート照合部13と、カメラポーズ・3次元座標推定部14と、座標系変換部15とを具備している。
【0016】
テンプレート画像記憶部11には、コンピュータグラフィクス等を合成する対象物体の表面において同一平面上に属する3つ以上の特徴点それぞれに対応する照合テンプレート画像が予め記憶されている。照合テンプレート画像記憶部11に記憶されている照合テンプレート画像は、少なくとも3つあり、そのうち1つは物体座標系の原点を示す点を特徴点として含む照合テンプレート画像であり、異なる1つは物体座標系の原点に対して鉛直軸上に位置する点を特徴点として含む照合テンプレート画像である。ここで、鉛直軸とは、物体座標系におけるX軸、Y軸、及びZ軸のいずれかの軸である。
カメラパラメータ記憶部12には、フレーム画像を撮像したカメラの焦点距離又は画角を示すカメラパラメータが予め記憶されている。
【0017】
2次元テンプレート照合部13には、外部に設けられたカメラなどを用いて撮像された画像を表すフレーム画像が入力される。また、2次元テンプレート照合部13は、フレーム画像が入力されると、少なくとも3つ以上の照合テンプレート画像をテンプレート画像記憶部11から読み出す。2次元テンプレート照合部13は、読み出した照合テンプレート画像ごとに、当該照合テンプレート画像が照合する位置をフレーム画像から検出し、検出した位置のフレーム画像における座標を照合位置として出力する。照合位置は、照合テンプレート画像に含まれる特徴点の位置でもよいし、照合テンプレート画像に対して予め定められた点(画素)の位置でもよい。
【0018】
カメラポーズ・3次元座標推定部14には、外部に設けられたカメラなどを用いて撮像された画像を表すフレーム画像が入力される。このフレーム画像は、2次元テンプレート照合部13に入力されるフレーム画像と同じ画像である。カメラポーズ・3次元座標推定部14は、フレーム画像が入力されると、入力されたフレーム画像に含まれている物体のコーナー(角)などを示す複数の特徴点を抽出する。また、カメラポーズ・3次元座標推定部14は、過去のフレーム画像から最新のフレーム画像まで(フレーム画像列)において、特徴点の位置を追跡する。カメラポーズ・3次元座標推定部14は、カメラパラメータ記憶部12からフレーム画像を撮像したカメラのカメラパラメータを読み出し、読み出したカメラパラメータと、抽出した各特徴点の時系列での追跡結果(各特徴点の位置の時系列変化)とに基づいて、各特徴点の3次元座標、及び現時刻のカメラポーズを算出する。カメラポーズ・3次元座標推定部14は、算出した、各特徴点の3次元座標のリストと、カメラポーズとを含む3次元情報を座標系変換部15に出力する。
【0019】
座標系変換部15には、2次元テンプレート照合部13が出力する照合位置と、カメラポーズ・3次元座標推定部14が出力する3次元情報と、フレーム画像とが入力される。このフレーム画像は、2次元テンプレート照合部13及びカメラポーズ・3次元座標推定部14に入力されるフレーム画像と同じ画像である。座標系変換部15は、照合位置に対応する3次元座標を検出し、検出した3次元座標から基準平面を算出する。また、座標系変換部15は、カメラポーズ・3次元座標推定部14から入力された特徴点の3次元座標のリストとカメラポーズとを剛体変換して、照合テンプレート画像で表現される物体座標系に算出した基準平面を合致させる。座標系変換部15は、剛体変換した3次元座標のリスト及びカメラポーズを含む3次元情報を出力する。
【0020】
本実施形態に係る物体座標系変換装置1で実行される詳細な処理を以下に説明する。
図3は、テンプレート画像記憶部11に記憶されている照合テンプレート画像の一例を示す図である。以下の説明において、テンプレート画像記憶部11には、対象物体の照合テンプレート画像として、図3に示した3つの照合テンプレート画像(a)、(b)、及び(c)が予め記憶されているものとする。ここで、原点テンプレートとは、照合テンプレート画像のうち、対象物体に対応する物体座標系の原点を特徴点として含む照合テンプレート画像である。鉛直軸上テンプレートとは、物体座標系において原点から鉛直方向にある特徴点を含む照合テンプレート画像である。なお、以下の説明では物体座標系変換装置1が時刻tに起動されたものとする。
【0021】
図4は、本実施形態における物体座標系変換装置1が行う物体座標系変換処理を示すフローチャートである。
物体座標系変換装置1において、カメラなどから撮像した現時刻のフレーム画像が入力される(ステップS101)。
入力された画像は、2次元テンプレート照合部13、カメラポーズ・3次元座標推定部14、及び座標系変換部15に入力される。2次元テンプレート照合部13及びカメラポーズ・3次元座標推定部14それぞれは、フレーム画像が入力されると起動する(ステップS102、ステップS103)。
【0022】
2次元テンプレート照合部13は、テンプレート画像記憶部11に記憶されている照合テンプレート画像のうち、フレーム画像において3つ以上の照合テンプレート画像が照合したか否かを判定する(ステップS104)。
2次元テンプレート照合部13は、3つ以上の照合テンプレート画像が照合した場合(ステップS104:Yes)、照合位置を座標系変換部15に出力して座標系変換部15を起動させ、座標系変換部15に座標系変換処理を行わせる(ステップS105)。
【0023】
座標系変換部15は、座標変換処理を終えると、物体座標系変換装置1を利用するユーザからの終了指示があるか否かを判定し(ステップS106)、終了指示がない場合(ステップS106:No)、次時刻まで待機し(ステップS107)、次時刻になるとステップS101からステップS106までの処理を繰り返して行う。
一方、座標系変換部15は、ユーザからの終了指示がある場合(ステップS106:Yes)、物体座標系変換処理を終了させる。
また、ステップS104において、2次元テンプレート照合部13は、3つ以上の照合テンプレート画像が照合しなかった場合(ステップS104:No)、処理をステップS106に進める。
【0024】
続いて、物体座標系変換装置1に備えられた各部での処理をより詳細に説明する。
物体座標系変換装置1では、まずカメラポーズ・3D推定部と2Dテンプレート照合部とが起動される(ステップS102、及びステップS103)。
ステップS103において、カメラポーズ・3次元座標推定部14は、起動すると、入力されたフレーム画像と、カメラパラメータ記憶部12から読み出したカメラパラメータとに基づいて、フレーム画像から特徴点を抽出する。カメラポーズ・3次元座標推定部14は、フレーム画像から抽出した特徴点の時系列での追跡結果によって、特徴点の3次元座標の時系列と、現時刻のカメラポーズとを算出し、夫々3次元座標の時系列を示すリストとカメラポーズとを出力する。このカメラポーズを算出する処理と、特徴点の3次元座標を算出する処理には、公知の技術を用いる。例えば、非特許文献1に記載の方法によって、各処理を実現できる。
図5は、本実施形態における対象物体の特徴点の3次元座標及びカメラポーズを算出する処理結果の一例を示す図である。本実施形態では、図5に示すように、対象物体の特徴点(図5において○で示されている点)の3次元座標と、カメラポーズとがそれぞれ算出され、出力されるものとする。
【0025】
2次元テンプレート照合部13は、起動すると、入力されたフレーム画像と、テンプレート画像記憶部11から読み出した照合テンプレート画像とに基づいて、フレーム画像における対象物体の特徴点を検出する。このとき、2次元テンプレート照合部13がテンプレート画像記憶部11から読み込む照合テンプレート画像は、各照合テンプレート画像の特徴点が同一平面上に属する少なくとも3つ以上の照合テンプレート画像である。読み込んだ照合テンプレート画像のうち、1つの照合テンプレート画像は物体座標系の原点を示す点を特徴点として含む照合テンプレート画像であり、1つの照合テンプレート画像は物体座標系の鉛直軸上に属する点を特徴点として含む照合テンプレート画像である。本実施形態では、図3に示した照合テンプレート画像(a)、(b)、及び(c)が2次元テンプレート照合部13に読み込まれたものとする。
【0026】
続いて、2次元テンプレート照合部13は、読み込んだ照合テンプレート画像に照合する点をフレーム画像から決定する。ここでフレーム画像に対する照合する点を決定する処理は、フレーム画像に対する照合テンプレート画像をマッチングさせる処理により行われる。最後に、2次元テンプレート照合部13は、決定した各点のフレーム画像における位置座標を照合テンプレート画像の照合位置として出力する。
図6は、本実施形態における照合テンプレート画像と照合位置との対応の一例を示す図である。本実施形態では、図3に示した照合テンプレート画像(a)、(b)、及び(c)について、図6に示すように、点(xa,ya)、点(xb,yb)、及び点(xc,yc)が照合位置として夫々決定され出力されるものとする。
【0027】
2次元テンプレート照合部13がフレーム画像において照合テンプレート画像を3つ以上照合した場合には、座標系変換部15が起動される。座標系変換部15は、図2に示すように、3次元座標抽出部151と、基準平面算出部152と、剛体変換部153と、射影点記憶部154と、3次元座標記憶部155とを有している。
座標系変換部15は、起動すると、まず3次元座標抽出部151を起動する。
【0028】
図7は、3次元座標抽出部151における3次元座標を抽出する処理を示すフローチャートである。
同図に示すように、3次元座標抽出部151は、起動すると、外部より入力されたフレーム画像と、2次元テンプレート照合部13が決定した照合位置と、カメラポーズ・3次元座標推定部14が出力した3次元情報とを受信する(ステップS201、ステップS202)。
【0029】
続いて、3次元座標抽出部151は、受信した3次元情報に含まれるカメラポーズを用いて、特徴点の3次元座標を夫々フレーム画像に射影し、フレーム画像に投影した点である射影点の座標と特徴点とを対応付けて、射影点記憶部154に記憶させる(ステップS203)。
ここで、3次元座標からフレーム画像における射影点を算出する処理について述べる。まず3次元座標(X,Y,Z)とその射影点の座標(x,y)には下式(1)の関係がある。
【0030】
【数1】

【0031】
ここで、要素pij(i=1,2,3、j=1,2,3,4)から構成される3行4列の行列は、射影変換行列であり、フレーム画像を撮像したカメラのカメラパラメータ(焦点距離)と、カメラの位置及び向きを示すカメラポーズから算出することができる。本実施形態において、3次元座標抽出部151は、カメラパラメータ記憶部12から読み出したカメラパラメータと、カメラポーズ・3次元座標推定部14から受信したカメラポーズを用いることによって射影行列を算出する。3次元座標抽出部151は、算出した射影変換行列と、特徴点の3次元座標とから式(1)によって、各特徴点のフレーム画像における射影点の座標を算出することができる。
【0032】
続いて、3次元座標抽出部151は、各照合テンプレート画像に対して、処理を行ったか否かを判定し(ステップS204)、すべての照合テンプレート画像に対して処理が終わっている場合(ステップS204:Yes)、処理をステップS208に進める。
一方、3次元座標抽出部151は、すべての照合テンプレート画像に対して処理が終わって異な場合(ステップS204:No)、処理をステップS205に進める。
3次元座標抽出部151は、未処理の照合テンプレート画像に対して、フレーム画像において対応する照合位置を中心に抽出ウィンドウを設定する(ステップS205)。
【0033】
図8は、本実施形態における3次元座標抽出部151が抽出ウィンドウを設定する一例を示す図である。同図に示すように、3次元座標抽出部151は、図3に示した照合テンプレート画像(b)に含まれる特徴点に対して、抽出ウィンドウを設定している。このとき、3次元座標抽出部151は、図8に示すように、照合テンプレート画像(b)の照合位置(xb,yb)に抽出ウィンドウの中心位置が合致するように抽出ウィンドウを設定する。ここで、抽出ウィンドウの傾きは、2次元テンプレート照合部13でのテンプレートマッチング処理において照合したときの傾きを採用するのが好適であるが、予め定められた所定の傾きを設定しても良い。抽出ウィンドウのサイズは、2次元テンプレート照合部13でのテンプレートマッチング処理において用いた照合テンプレート画像の画像サイズを採用するのが好適であるが、予め定められた所定のサイズを設定しても良い。
【0034】
図7に戻って、3次元座標抽出部151が行う処理の説明を続ける。
続いて、3次元座標抽出部151は、抽出ウィンドウに含まれる射影点を決定する(ステップS206)。この処理は、3次元座標抽出部151が、射影点記憶部154から射影点の座標を読み出し、読み出した射影点の座標の抽出ウィンドウに対する内外判定によって行う。図8に示す例では、2点が抽出ウィンドウに含まれる射影点として決定される。
【0035】
続いて、3次元座標抽出部151は、抽出ウィンドウに含まれる射影点に対応付けられている特徴点の3次元座標を射影点記憶部154から読み出し、読み出した3次元座標から照合テンプレート画像に含まれる射影点の3次元座標を決定する(ステップS207)。抽出ウィンドウに含まれる射影点は1つより多いこともあるため、例えば、読み出した3次元座標の平均値を算出し、これを照合テンプレート画像の3次元座標とするようにしてもよい。
3次元座標抽出部151は、2次元テンプレート照合部13から受信した全照合テンプレート画像に対して、上記の処理(ステップS205〜ステップS207)を行う。3次元座標抽出部151は、照合テンプレート画像それぞれに対して、照合テンプレート画像の照合位置と3次元座標とを対応付けて3次元座標記憶部155に記憶させて(ステップS208)、処理を終える。
【0036】
3次元座標抽出部151が処理を終えると、続いて、基準平面算出部152が起動される。基準平面算出部152は、まず、全照合テンプレート画像分について、照合テンプレート画像の照合位置と3次元座標とを3次元座標記憶部155から読み出す。続いて、基準平面算出部152は、読み出した3次元座標が表現する3次元点に平面をフィッティングすることで基準平面を算出する。この平面フィッティングには、最小自乗法を用いてもよい。但し、受信した照合テンプレート画像の3次元座標には、カメラポーズ・3次元座標推定部14での3次元座標を算出する際の誤差が含まれる場合もあるので、外れ値を除去するロバスト推定法を用いるのが好適である。基準平面算出部152は、最後に、フィッティングした平面の法線ベクトルを剛体変換部153に出力して、処理を終える。
【0037】
基準平面算出部152が処理を終えると、続いて、剛体変換部153が起動される。
図9は、剛体変換部153における剛体変換処理を示すフローチャートである。
剛体変換部153は、起動すると、まず基準平面算出部152から平面の法線ベクトルを受信し、照合テンプレート画像の照合位置と、当該照合位置に関連付けられた3次元座標とを3次元座標記憶部155から読み出す(ステップS301)。
【0038】
続いて、剛体変換部153は、照合位置の3次元座標うち、物体座標系の原点となる特徴点の3次元座標から、剛体変換の並進ベクトルを算出する(ステップS302)。本実施形態では、図3における原点テンプレート(a)が物体座標系の原点となる特徴点を含む照合テンプレート画像である。そこで、剛体変換部153は、原点テンプレート(a)の3次元座標を用いて剛体変換の並進ベクトルを算出する。
図10は、本実施形態における剛体変換部153が算出する並進ベクトルの一例を示す図である。同図に示すように、剛体変換部153は、物体座標系の原点となる照合テンプレート画像の3次元座標が(Xo,Yo,Zo)である場合、剛体変換の並進ベクトルTを(−Xo,−Yo,−Zo)とすることで算出することができる。
【0039】
続いて、剛体変換部153は、受信した基準平面の法線ベクトルと、物体座標系で照合テンプレート画像が属する面の法線ベクトルから回転行列を算出する(ステップS303)。このとき、剛体変換部153は、まず回転軸ベクトルAを算出する。回転軸ベクトルAは、次式(2)を用いて求めることができる。
【0040】
A = N × No ・・・式(2)
【0041】
式(2)において、ベクトルNは受信した平面の法線ベクトル、すなわち基準平面算出部152が算出した法線ベクトルである。ベクトルNoは物体座標系における照合テンプレート画像が属する面の法線ベクトルである。「×」は外積を示す。
続いて、剛体変換部153は、回転角度Angを次式(3)を用いて求める。
【0042】
Ang = ACOS(N・No/(|N||No|)) ・・・式(3)
【0043】
ここで、|N|及び|No|は、ベクトルN及びベクトルNoの大きさであり、「ACOS()」は逆余弦(アークコサイン)である。
剛体変換部153は、式(2)及び式(3)を用いて、回転軸ベクトルAと、回転角度Angとを算出し、算出した回転軸ベクトルAと回転角度Angとから回転行列Rを示す、回転クオータニオンを生成する。剛体変換部153は、カメラポーズ・3次元座標推定部14が算出した特徴点の3次元座標のリストとカメラポーズとに対して、算出した併進ベクトルTと、回転行列Rとを適用する。
【0044】
図11は、本実施形態における剛体変換部153が算出する回転行列Rの一例を示す図である。同図に示すように、剛体変換部153は、基準平面の法線ベクトルを、照合テンプレート画像が含む特徴点が属する平面の法線ベクトルNoに揃える回転行列Rを算出する。
【0045】
図9に戻って、剛体変換部153における剛体変換処理の説明を続ける。
続いて、剛体変換部153は、照合テンプレート画像のうち、剛体変換された平面上での物体座標系の原点となる特徴点の3次元座標と、鉛直軸上の特徴点の3次元座標とから、ロール角を算出決定する(ステップS304)。
図12は、本実施形態に係る剛体変換部153が算出するロール角の一例を示す図である。ここでは、鉛直軸上の特徴点を含み、図6に示した鉛直軸上テンプレート(c)が予め設定されているので、図12に示すように、剛体変換部153は、図3の原点テンプレート(a)に含まれる特徴点を剛体変換した3次元座標と、図3の鉛直軸上テンプレート(c)に含まれる特徴点を剛体変換した3次元座標から平面鉛直軸Ypを決定する。続いて、剛体変換部153は、物体座標系の鉛直軸Yoと平面鉛直軸Ypとが揃うように変換する角度をロール角として算出し、算出したロール角に応じた回転行列R’を算出する。このロール角度算出は、ベクトルYpとベクトルYoとの内積によって算出することができる。
【0046】
剛体変換部153は、算出したロール角を用いて、再度、カメラポーズ・3次元座標推定部14がメモリ記録した3D点リストとカメラポーズに対して、並進ベクトルT、回転行列R、及び回転行列R’からなる剛体変換を適用する(ステップS305)。最後に、剛体変換された3D点リスト及びカメラポーズを物体座標系でのカメラポーズ・3Dとして出力し(ステップS306)、処理を終える。
すなわち、剛体変換部153は、基準平面算出部152が算出した基準平面と、照合テンプレート画像に含まれる特徴点が含まれる平面とを一致させる剛体変換行列を算出し、算出した剛体変換行列を用いて、特徴点の3次元座標及びカメラポーズを、対象物体を基準とした3次元座標系における3次元座標及びカメラポーズに変換して出力する。この剛体変換行列は、上述の並進ベクトルT、回転行列R、回転行列R’により定義される行列である。
【0047】
以上説明したように、本発明によれば、フレーム画像における物体に対してコンピュータグラフィクス等を合成する場合においても、対象物体を基準にした物体座標系でのカメラポーズと3次元座標を算出することができるため、物体に対してコンピュータグラフィックス等を合成する際の位置の精度を向上させることができる。これにより、正確な合成を実現することができる。
【0048】
以上、本発明を実施形態に基づき具体的に説明したが、上記実施の形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、或は範囲を減縮する様に解すべきではない。また、本発明の各手段構成は上記実施の形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
例えば、本実施形態の説明において、剛体変換での回転変換は、回転行列の算出と、ロール角の算出処理に分けて説明したが、一度に算出しても良いし、夫々求めた回転行列を乗算したものを利用して1回の剛体変換演算のみとしても良い。
また、カメラパラメータ記憶部12に、フレーム画像を撮像したカメラの焦点距離がカメラパラメータとして記憶されている構成について説明したが、焦点距離に加えて、レンズの歪曲パラメータ(ラジアル方向歪曲及び接線方向歪曲)をカメラパラメータとして記憶するようにしてもよい。
【0049】
なお、本発明における物体座標系変換装置1の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより物体座標系変換処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0050】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0051】
1…物体座標系変換装置、11…テンプレート画像記憶部、12…カメラパラメータ記憶部、13…2次元テンプレート照合部、14…カメラポーズ・3次元座標推定部、15…座標系変換部、151…3次元座標抽出部、152…基準平面算出部、153…剛体変換部、154…射影点記憶部、155…3次元座標記憶部

【特許請求の範囲】
【請求項1】
対象物体の特徴点を含む3つ以上の照合テンプレート画像が予め記憶されている照合テンプレート記憶部と、
前記照合テンプレート画像のうち少なくとも3つの照合テンプレート画像それぞれのフレーム画像における位置である照合位置を検出する2次元テンプレート照合部と、
過去のフレーム画像から最新のフレーム画像までにおいて前記特徴点を検出し、前記フレーム画像における前記特徴点の位置の時系列変化と、前記フレーム画像を撮像した撮像装置の焦点距離とに基づいて、予め定められたワールド座標系における、前記撮像装置の位置及び向きを示すカメラポーズと、前記特徴点の3次元座標とを算出するカメラポーズ・3次元座標推定部と、
前記2次元テンプレート照合部が検出した照合位置と、前記カメラポーズ・3次元座標推定部が算出したカメラポーズ、及び前記特徴点の3次元座標とに基づいて、前記対象物体を基準として定められた3次元座標系である物体座標系における、カメラポーズ、及び前記特徴点の3次元座標を算出する座標系変換部と
を具備することを特徴とする物体座標系変換装置。
【請求項2】
前記座標系変換部は、
前記ワールド座標系におけるカメラポーズに基づいて、前記特徴点の3次元座標を前記フレーム画像における座標に変換し、変換した座標と前記照合位置とを対応付け、前記照合位置に対応する3次元座標を算出する3次元座標抽出部と、
前記3次元座標抽出部が算出した3次元座標で示される点が属する基準平面を算出する基準平面算出部と、
前記基準平面算出部が算出した基準平面と、前記特徴点が属する平面とを一致させる剛体変換行列を算出し、算出した剛体変換行列を用いて、前記3次元座標抽出部が算出した3次元座標、及び、前記ワールド座標系におけるカメラポーズを、前記物体座標系に変換する剛体変換部と
を備えることを特徴とする請求項1に記載の物体座標系変換装置。
【請求項3】
対象物体の特徴点を含む3つ以上の照合テンプレート画像が予め記憶されている照合テンプレート記憶部を備える物体座標系変換装置における物体座標変換方法であって、
前記照合テンプレート画像のうち少なくとも3つの照合テンプレート画像それぞれのフレーム画像における位置である照合位置を検出する2次元テンプレート照合ステップと、
過去のフレーム画像から最新のフレーム画像までにおいて前記特徴点を検出し、前記フレーム画像における前記特徴点の位置の時系列変化と、前記フレーム画像を撮像した撮像装置の焦点距離とに基づいて、予め定められたワールド座標系における、前記撮像装置の位置及び向きを示すカメラポーズと、前記特徴点の3次元座標とを算出するカメラポーズ・3次元座標推定ステップと、
前記2次元テンプレート照合ステップにおいて検出した照合位置と、前記カメラポーズ・3次元座標推定ステップにおいて算出したカメラポーズ、及び前記特徴点の3次元座標とに基づいて、前記対象物体を基準として定められた3次元座標系である物体座標系における、カメラポーズ、及び前記特徴点の3次元座標を算出する座標系変換ステップと
を有することを特徴とする物体座標系変換方法。
【請求項4】
対象物体の特徴点を含む3つ以上の照合テンプレート画像が予め記憶されている照合テンプレート記憶部を備える物体座標系変換装置が有するコンピュータに、
前記照合テンプレート画像のうち少なくとも3つの照合テンプレート画像それぞれのフレーム画像における位置である照合位置を検出する2次元テンプレート照合ステップと、
過去のフレーム画像から最新のフレーム画像までにおいて前記特徴点を検出し、前記フレーム画像における前記特徴点の位置の時系列変化と、前記フレーム画像を撮像した撮像装置の焦点距離とに基づいて、予め定められたワールド座標系における、前記撮像装置の位置及び向きを示すカメラポーズと、前記特徴点の3次元座標とを算出するカメラポーズ・3次元座標推定ステップと、
前記2次元テンプレート照合ステップにおいて検出した照合位置と、前記カメラポーズ・3次元座標推定ステップにおいて算出した前記ワールド座標系における撮像装置の位置及び向き、並びに前記特徴点の3次元座標とに基づいて、前記対象物体を基準として定められた3次元座標系である物体座標系における、カメラポーズ、及び前記特徴点の3次元座標を算出する座標系変換ステップと
を実行させるための物体座標系変換プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate