3次元座標算出装置、3次元座標算出方法、及びプログラム
【課題】フレーム画像上の対象画像領域を代表する代表3次元座標の精度を向上させる。
【解決手段】3次元座標算出装置は、フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出部と、前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出部とを備える。
【解決手段】3次元座標算出装置は、フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出部と、前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出部とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実空間を撮像するカメラによって入力されたフレーム画像列のうち、現時刻のフレーム画像において指定された対象画像領域を代表する3次元座標を算出する装置であって、入力されたフレーム画像列を用いて算出された特徴点の3次元点群のうち、対象画像領域で観測する3次元点群から代表3次元座標を算出する3次元座標算出装置、3次元座標算出方法、及びプログラムに関する。
【背景技術】
【0002】
実空間を撮像するカメラによって入力されたフレーム画像から、実空間におけるカメラの位置及び姿勢を示すカメラポーズと、フレーム画像上の特徴点の3次元座標とを算出するカメラポーズ3D推定装置では、算出したカメラポーズを用いて、例えばフレーム画像上にコンピュータグラフィクス(Computer Graphics:CG)等を合成することを可能にしている。
カメラポーズ3D推定装置では、カメラポーズと実空間内の3次元点との初期値、及びフレーム画像を入力し、(1)実空間の3次元点がフレーム画像で観測された画像点を決定し、(2)3次元点の3次元座標と画像点の座標との組から非線形最小自乗法によってカメラポーズを算出し、(3)過去に亘った複数時刻のフレーム画像を用いて3次元点の3次元座標を更新する、(1)〜(3)の処理を時々刻々繰り返すことによって、正確にカメラポーズと3次元座標とを算出することを実現している。
【0003】
このようなカメラポーズ3D推定装置で算出されるカメラポーズと3次元座標とは、カメラポーズがワールド座標系におけるカメラの位置及び向きとして表現され、3次元座標がワールド座標系における位置として表現される。カメラポーズ3D推定装置は、初期時刻において予め設定された座標系がワールド座標系として利用される。このため、例えばフレーム画像上の物体に対してCG等を合成する場合には、ワールド座標系における物体の位置及び姿勢を示す物体座標系への剛体変換行列が必要となる。
剛体変換行列を算出する物体座標系変換装置として、例えば非特許文献1に記載されているものがある。非特許文献1に記載されている方法では、カメラポーズ3D推定装置において、フレーム画像上の物体に対してCG等を合成する際に正確な合成を実現するために、ワールド座標系から物体座標系への剛体変換行列を算出している。
【0004】
図15は、物体座標系変換装置9の構成例を示す概略ブロック図である。同図に示すように、物体座標系変換装置9は、テンプレート画像記憶部91と、カメラパラメータ記憶部92と、CGデータ記憶部93と、カメラポーズ3D推定部94と、テンプレート照合部95と、3次元座標算出部96と、平面算出部97と、物体座標系変換行列算出部98と、CG合成部99とを具備している。
テンプレート画像記憶部91には、CGを合成したい平面物体のテンプレート画像が予め記憶されている。カメラパラメータ記憶部92には、カメラの焦点距離等を示すカメラパラメータが予め記憶されている。CGデータ記憶部93には、フレーム画像に合成したいCGを表すCGデータが予め記憶されている。
【0005】
カメラポーズ3D推定部94は、カメラで撮像したある時刻tのフレーム画像F(t)が順次入力され、フレーム画像F(t)上の特徴点、例えば角や交点を追跡した結果に基づいて、時刻tにおける特徴点の3次元座標及びカメラポーズを推定する。カメラポーズ3D推定部94が推定する3次元座標及びカメラポーズは、予め定められたワールド座標系を用いて表現される。
テンプレート照合部95には、カメラポーズ3D推定部94と同様に、フレーム画像F(t)が順次入力される。テンプレート照合部95は、テンプレート画像記憶部91からテンプレート画像を読み出し、読み出したテンプレート画像と、入力されたフレーム画像F(t)とに対してSIFT(Scale-Invariant Feature Transform)等を用いて照合することにより、テンプレート内部の特徴点の位置をフレーム画像F(t)上で推定する。
【0006】
3次元座標算出部96は、フレーム画像F(t)に近接する時刻t以前のフレーム画像に対するステレオ対応付けによって、テンプレート照合部95が推定した特徴点の3次元座標を算出する。3次元座標算出部96が算出する特徴点の3次元座標は、物体座標系を用いて表現される。
平面算出部97は、3次元座標算出部96が算出した特徴点の3次元座標に対して平面を当てはめ、当該平面を成す4点のワールド座標系における3次元座標と、物体座標系における3次元座標とを算出する。
【0007】
物体座標系変換行列算出部98は、平面算出部97が算出した4点のワールド座標系における3次元座標と、物体座標系における3次元座標とから剛体変換行列を算出する。
CG合成部99は、CGデータ記憶部93からCGデータを読み出し、物体座標系変換行列算出部98が算出した剛体変換行列を用いて、読み出したCGデータをワールド座標系の情報に変換する。また、CG合成部99は、カメラポーズ3D推定部94が推定したカメラポーズを用いて、ワールド座標系に変換したCGデータをフレーム画像F(t)に重畳合成し、重畳合成したフレーム画像F(t)を出力する
【0008】
物体座標系変換装置9は、順次入力されるフレーム画像F(t)に対して、CG等をフレーム画像F(t)に重畳合成する処理を時々刻々繰り返すことによって、フレーム画像F(t)中の物体に対してCG等を合成することを実現している。
【0009】
このような物体座標系変換装置9において、フレーム画像F(t)に近接する時刻t以前のフレーム画像とのステレオ視の原理によって3次元座標を算出する場合、その基線長が短く奥行分解能が低いために、3次元座標の精度が悪いといった問題がある。これに対して、シーンを様々な位置及び方向から撮像した動画像を構成する複数のフレーム画像を使って特徴点の3次元座標を算出する方法がある。この方法を用いて得られる3次元座標は、ステレオ視の原理を用いて算出した3次元座標に比べ精度が高い。そこで、カメラポーズ3D推定部94が算出した3次元座標から、テンプレート画像内の3次元座標を算出する方法が考えられる。
【0010】
図16は、テンプレート画像内の3次元座標の算出方法を示す概略図である。以下、テンプレート画像の対象画像領域を表現する一つの3次元座標を算出する方法について説明する。また、テンプレート画像の領域全体を表現する一つの3次元座標を代表3次元座標という。
図16に示されているように、フレーム画像上のテンプレート画像の位置を対象画像領域とする。テンプレート照合部95において、この対象画像領域の4隅の点と、カメラポーズ3D推定部94が推定したカメラポーズのうちカメラの位置を示す投影中心位置とから、四角錐台を形成する。更に、カメラポーズ3D推定部94が推定した特徴点の3次元点のうち、形成した四角錐台に属する3次元点を候補3次元点群とする。この候補3次元点群に含まれる特徴点の3次元座標の平均値を代表3次元座標として算出する。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献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.
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、カメラポーズ3D推定部94が算出する3次元点の3次元座標には、画像の量子化誤差や対応付けの誤りによる誤差が含まれていることがある。この誤差に起因して、テンプレート画像内(対象画像領域)を代表する代表3次元座標は真値とずれてしまうことがあるという問題がある。
【0013】
本発明は、上記問題を解決すべくなされたもので、フレーム画像上の対象画像領域を代表する代表3次元座標の精度を向上させることができる3次元座標算出装置、3次元座標算出方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上記問題を解決するために、本発明は、フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出ステップと、前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出ステップとを有することを特徴とする3次元座標算出方法である。
【0015】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記フレーム画像を撮像したカメラの位置から前記候補3次元点までの距離を前記スコアとして算出し、前記代表3次元座標算出ステップにおいて、前記候補3次元点のうち、全ての前記候補3次元点の前記スコアにおける中央値に対応する候補3次元点の3次元座標を前記代表3次元座標として出力することを特徴とする。
【0016】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記候補3次元点ごとに、該候補3次元点の被観測回数と、全ての前記候補3次元点の被観測回数のうち最大の被観測回数とから前記スコアを算出し、前記代表3次元座標算出ステップにおいて、前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数であることを特徴とする。
【0017】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記候補3次元点ごとに、該候補3次元点の被観測回数の予め定めた定数に対する比をべき乗した値を前記スコアとして算出し、前記代表3次元座標算出ステップにおいて、前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数であることを特徴とする。
【0018】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、
前記候補3次元点ごとに、過去のフレーム画像における候補3次元点を含む画像であるテンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像との類似度に基づいて前記スコアを算出し、前記代表3次元座標算出ステップにおいて、前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力することを特徴とする。
【0019】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記テンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像とのサイズが同じであることを特徴とする。
【0020】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記過去のフレーム画像を撮像した際のカメラポーズと、前記代表3次元座標を算出する対象のフレーム画像を撮像した際のカメラポーズとに基づいて、前記テンプレート画像を前記代表3次元座標を算出する対象のフレーム画像に投影した領域を算出し、算出した領域の画像と前記テンプレート画像との類似度を前記スコアとして算出することを特徴とする。
【0021】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記候補3次元点ごとに、該候補3次元点の被観測回数と、全ての前記候補3次元点の被観測回数のうち最大の被観測回数とから第1のスコアを算出し、前記候補3次元点ごとに、過去のフレーム画像における候補3次元点を含む画像であるテンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像との類似度に基づいて第2のスコアを算出し、前記候補3次元点それぞれに対応する、前記第1のスコアと前記第2のスコアとから算出された重みを用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し、前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数であることを特徴とする。
【0022】
また、本発明は、フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出部と、前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出部とを備えることを特徴とする3次元座標算出装置である。
【0023】
また、本発明は、上記に記載の3次元座標算出方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0024】
この発明によれば、各候補3次元点の3次元座標に基づいてスコアを算出し、算出したスコアに対する統計処理の結果に基づいて代表3次元座標を算出することにより、3次元座標の外れ値の影響を低減して代表3次元座標を得ることができ、フレーム画像上の対象画像領域を代表する代表3次元座標を算出する精度を向上させることができる。
【図面の簡単な説明】
【0025】
【図1】本明細書における座標系及び用語を説明するための図である。
【図2】第1実施形態における3次元座標算出装置1の構成を示す概略ブロック図である。
【図3】同実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図4】同実施形態における代表3次元座標を算出する処理のフローチャートである。
【図5】同実施形態における被観測回数を説明するための図である。
【図6】第2実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図7】同実施形態における代表3次元座標を算出する処理のフローチャートである。
【図8】第3実施形態における3次元点生成テンプレート画像を説明するための図である。
【図9】同実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図10】同実施形態における3次元点生成テンプレート領域を説明するための図である。
【図11】第4実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図12】同実施形態における3次元点生成テンプレート射影領域を説明するための第1の図である。
【図13】同実施形態における3次元点生成テンプレート射影領域を説明するための第2の図である。
【図14】第5実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図15】物体座標系変換装置9の構成例を示す概略ブロック図である。
【図16】テンプレート画像内の3次元座標の算出方法を示す概略図である。
【発明を実施するための形態】
【0026】
以下、図面を参照して、本発明の実施形態における3次元座標算出装置、3次元座標算出方法、及びプログラムを説明する。
【0027】
まず、実施形態において用いる座標系及び用語について説明する。
図1は、本明細書における座標系及び用語を説明するための図である。同図に示すように、ワールド座標系は空間全体を表し予め定められた座標系である。3次元点の3次元座標はワールド座標系における3次元点の位置を示す3次元座標である。カメラポーズはワールド座標系におけるカメラ位置の並進と回転とを表す。
【0028】
(第1実施形態)
図2は、第1実施形態における3次元座標算出装置1の構成を示す概略ブロック図である。同図に示すように、3次元座標算出装置1は、情報入力部11と、候補3次元点記憶部12と、スコア算出部13と、代表3次元座標算出部14とを具備している。
情報入力部11には、処理対象のフレーム画像における候補3次元点群に含まれる各候補3次元点の3次元座標を示す候補3次元点群情報と、当該フレーム画像を撮像したカメラポーズとが入力される。候補3次元点群とは、図16において示した、処理対象のフレーム画像における対象画像領域を示す4隅の点と、当該フレーム画像を撮像したカメラの投影中心位置とから構成される四角錐台に含まれる3次元点の集合である。
【0029】
候補3次元点記憶部12は、情報入力部11に入力された候補3次元点群情報に含まれる各3次元座標にスコア(特徴量)を対応付けて記憶する。
スコア算出部13は、候補3次元点記憶部12に記憶されている各候補3次元点の3次元座標を読み出し、読み出した3次元座標と、情報入力部11に入力されたカメラポーズとに基づいて、候補3次元点に対するスコアを算出する。スコア算出部13は、算出したスコアを、当該スコアに対応する3次元座標に対応付けて候補3次元点記憶部12に記憶させる。
代表3次元座標算出部14は、候補3次元点記憶部12に記憶されている3次元座標及びスコアに基づいて、対象画像領域を代表する代表3次元座標を算出し、算出した代表3次元座標を出力する。
【0030】
図3は、本実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
候補3次元点群情報及びカメラポーズが情報入力部11に入力され、候補3次元点群情報に含まれる各3次元座標が候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS11)。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標に対して、カメラポーズに含まれるカメラ位置(投影中心位置)からの距離dを算出する(ステップS12)。
スコア算出部13は、算出した距離dをスコアとし、スコアと3次元座標とを対応付けて候補3次元点記憶部12に記憶させる(ステップS13)。
【0031】
ステップS12における距離dの算出は、ワールド座標系において、第i番目の候補3次元点の3次元座標を(Xi,Yi,Zi)とし、投影中心位置の3次元座標を(Cx,Cy,Cz)としたとき、次式(1)を用いて算出される。
【0032】
【数1】
【0033】
図4は、本実施形態における代表3次元座標を算出する処理のフローチャートである。
スコア算出部13が全ての3次元点の3次元座標に対してスコアを算出し終えると、代表3次元座標算出部14が起動される。
代表3次元座標算出部14は、候補3次元点記憶部12から全ての3次元座標と、当該3次元座標に対応付けられたスコアとを読み出す(ステップS16)。
代表3次元座標算出部14は、読み出したスコアのうち中央値に対応するスコアを検出し、検出したスコアに対応する3次元座標を代表3次元座標として出力し(ステップS17)、処理を終える。
【0034】
ステップS16において、代表3次元座標算出部14は、例えば候補3次元点群に含まれる候補3次元点の数がNの場合、読み出した全てのスコアを昇順又は降順にソートし、ソートしたスコアの列において(N/2)番目のスコアに対応する3次元座標を選択することにより中央値を検出する。
【0035】
上述のように、本実施形態における3次元座標算出装置1は、カメラの投影中心位置から各候補3次元点までの距離をスコアとし、全てのスコアの中央値に対応する3次元座標を代表3次元座標としている。
ところで、平均値は、測定誤差などによって発生する外れ値(他の値と著しく異なる値)に影響され、真値から大きくずれることや無意味な値になることがある。対して、中央値は外れ値に影響されにくく、真値に近い値を得ることができる。
このように、3次元座標算出装置1は、中央値を用いて代表3次元座標を算出することにより、候補3次元点群の各3次元座標に含まれる誤差の影響を低減し、代表3次元座標を算出する精度を向上させることができる。
【0036】
(第2実施形態)
第2実施形態における3次元座標算出装置は、スコア算出部13と代表3次元座標算出部14とにおける処理が第1実施形態と異なる。そこで、図2に示した構成を用いて各部の処理を説明する。なお、本実施形態においては、情報入力部11には、候補3次元点群情報及びカメラポーズに替えて、候補3次元点群情報と各候補3次元点に対応付けられた被観測回数が入力される。
【0037】
ここで、被観測回数について説明する。図5は本実施形態における被観測回数を説明するための図である。
被観測回数は、3次元点ごとに算出される値で0以上の整数であり、初期時刻において全ての候補3次元点に対して0が設定される。被観測回数は、処理対象のフレーム画像F(t)における対象画像領域を示す4隅の点と、当該フレーム画像を撮像したカメラの投影中心位置とから構成される四角錐台に含まれる場合に「1」増加する。
例えば、図5に示すように、時刻(t−1)、時刻tに亘って被観測回数を計数すると、時刻(t−1)と時刻tとの両方の四角錐台に含まれる3次元点の被観測回数は「2」となる。また、時刻tの四角錐台のみに含まれる3次元点の観測回数は「1」となる。時刻(t−1)と時刻tとの両方の四角錐台に含まれない3次元点の被観測回数は「0」となる。
すなわち、被観測回数は、各3次元点に対して、それぞれ異なる時刻に撮像された複数のフレーム画像において、各フレーム画像上の対象画像領域内で3次元点が観測(検出)された回数である。
【0038】
図6は、第2実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
候補3次元点群情報及び各候補3次元点に対応付けられた被観測回数が情報入力部11に入力され、候補3次元点群情報に含まれる各3次元座標と被観測回数とが対応付けられて候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS21)。ここで入力される被観測回数は、フレーム画像に対する処理を開始した初期時刻から全てのフレーム画像に亘って計数された値である。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標それぞれに対して、スコアとしての重み値wを算出し(ステップS22)、算出した重み値wを3次元座標に対応付けて候補3次元点記憶部12に記憶させる(ステップS23)。
【0039】
ステップS22における重み値wの算出は、次式(2−1)又は次式(2−2)を用いて算出する。
【0040】
【数2】
【0041】
式(2−1)及び式(2−2)において、cntは被観測回数を示す。また、式(2−1)において、cntmaxは候補3次元点記憶部12に記憶されている被観測回数のうち最大の被観測回数を示す。また、式(2−2)において、Cは予め定められた定数を示し、0以外の任意の数である。
【0042】
式(2−1)に示した関数は、被観測回数0から最大観測回数cntmaxまでの定義域で0から1までの値を取る。また、式(2−1)に示した関数は、被観測回数cntが最大観測回数と一致する場合に重み値wを1として出力し、被観測回数cntが0である場合に重み値wを0として出力する。
ただし、式(2−1)に示した関数では、各候補3次元点の重み値wを算出する際に、入力されている候補3次元点の被観測回数から最大観測回数cntmaxを事前に特定しておく必要があり、計算処理量が増加する。
【0043】
計算処理量の増加を回避するため、式(2−2)に示した関数では、重み値wを被観測回数cntの自乗で算出し、被観測回数cntの値が大きいほど大きな重みを与える。式(2−2)に示した関数を利用することにより、各候補3次元点の重み値wを算出する際に、最大観測回数cntmaxを事前に特定しておく必要がなくなり、重み値wを算出するときの計算処理量を低減することができる。
【0044】
図7は、本実施形態における代表3次元座標を算出する処理のフローチャートである。
スコア算出部13が全ての3次元点の3次元座標に対してスコアを算出し終えると、代表3次元座標算出部14が起動される。
代表3次元座標算出部14は、候補3次元点記憶部12から全ての3次元座標と、当該3次元座標に対応付けられたスコアとを読み出す(ステップS26)。
代表3次元座標算出部14は、読み出した3次元座標とスコアとから加重平均により代表3次元座標(X,Y,Z)を算出し、代表3次元座標(X,Y,Z)を出力して(ステップS27)、処理を終える。
【0045】
ステップS27における代表3次元座標(X,Y,Z)は、次式(3)を用いて算出する。
【0046】
【数3】
【0047】
式(3)において、Nは候補3次元点の総数であり、(Xi,Yi,Zi)は第i番目の候補3次元点の3次元座標であり、Wiは第i番目の候補3次元点に対する重み値wである。
【0048】
上述の第1実施形態において説明した代表3次元座標を算出する方法では、測定誤差を有する候補3次元点が少ない場合には、正確な代表3次元座標を算出することが可能であるが、測定誤差を有する候補3次元点が真値に近い3次元座標を有する候補3次元点より多い場合、スコアの分布が測定誤差を有する候補3次元点へと偏ることによって中央値が真値からずれ、代表3次元座標の精度が低下することがある。
これに対し、本実施形態において説明した方法では、真値に近い3次元座標を有する3次元点が図5に示したように複数時刻に跨るフレーム画像列において観測される回数が増加することを利用し、被観測回数に基づいたスコアを算出し、算出したスコアを用いて代表3次元座標を算出することで、測定誤差を有する候補3次元点が多いときでも、代表3次元座標を算出する精度を向上させることができる。
【0049】
このように、3次元座標算出装置1は、フレーム画像に撮像されている物体を含む対象画像領域内の物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出部13と、候補3次元点の3次元座標と該3次元座標に対するスコアとに対して、中央値の検出や加重平均などの統計処理を用いて、対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出部14とを備えている。
これにより、各候補3次元点の3次元座標に基づいてスコアを算出し、算出したスコアに対する統計処理の結果に基づいて代表3次元座標を算出することにより、3次元座標の外れ値の影響を低減して代表3次元座標を得ることができ、フレーム画像上の対象画像領域を代表する代表3次元座標を算出する精度を向上させることができる。
また、例えば3次元座標算出装置1を物体座標系変換装置9に適用することにより、コンピュータグラフィクス等を合成させる対象物体のワールド座標系における3次元座標を算出する精度を向上させることができ、フレーム画像上の物体に対してコンピュータグラフィクス等を精度良く合成することができる。
【0050】
(第3実施形態)
第3実施形態における3次元座標算出装置は、スコア算出部13における処理が第1実施形態及び第2実施形態と異なる。そこで、図2に示した構成を用いて各部の処理を説明する。なお、本実施形態においては、情報入力部11には、候補3次元点群情報及びカメラポーズに替えて、候補3次元点群情報と当該候補3次元点群情報が示す各候補3次元点に対応付けられた3次元点生成テンプレート画像とが候補3次元点数分入力される。
【0051】
ここで、3次元点生成テンプレート画像について説明する。図8は第3実施形態における3次元点生成テンプレート画像を説明するための図である。
3次元点生成テンプレート画像は、候補3次元点ごとに設定される画像であり、0以上のサイズを有する。3次元点生成テンプレート画像は、時刻(t−N)の撮像画像であるフレーム画像F(t−N)における特徴点の三次元座標が算出されたときに、当該特徴点近傍の小領域から構成される0以上のサイズの画像を抽出したものである。例えば、図8に示すように、時刻(t−N)で対象特徴点の3次元点の三次元座標を算出する際に、フレーム画像F(t−N)上の対象特徴点近傍の小領域である3次元点生成テンプレート画像が生成される。この小領域、すなわち3次元点生成テンプレート画像のサイズは、予め定められたサイズが用いられる。
【0052】
図9は、本実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
候補3次元点群情報及び各候補3次元点に対応付けられた3次元点生成テンプレート画像が情報入力部11に入力され、候補3次元点群情報に含まれる各3次元座標と3次元点生成テンプレート画像とが対応付けられて候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS31)。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標それぞれに対して、スコアとしての重み値wを算出し(ステップS32)、算出した重み値wを3次元座標に対応付けて候補3次元点記憶部12に記憶させる(ステップS33)。
【0053】
ステップS32における重み値wの算出は、対象画像領域に対するテンプレートマッチング処理により行われる。すなわち、フレーム画像F(t−N)の3次元点生成テンプレート画像と、フレーム画像F(t)の対象画像領域内の3次元点生成テンプレート領域との各画像データを比較することで重み値wを算出する。
【0054】
スコア算出部123は、テンプレートマッチング処理において算出される評価値から重み値wを算出する。評価値は適用するテンプレートマッチング処理に応じて異なる。そこで、2つの画像の類似度が高いときに評価値が小さくなる場合には、評価値の逆数を重み値wにする。逆に、2つの画像の類似度が高いときに評価値が大きくなる場合には、評価値を重み値wにする。
【0055】
テンプレートマッチング処理における評価値としては、例えば、輝度差の二乗和(Sum of Squared Difference:SSD)、輝度差の総和(Sum of Absolute Difference:SAD)、正規化相互相関(Normalized Cross-Correlation:NNC)、正規化相互相関(Zero-mean Normalized Cross-Correlation:ZNCC)など複数有るがどれを用いてもよいものとする。
【0056】
ここで、3次元点生成テンプレート領域について説明する。図10は本実施形態における3次元点生成テンプレート領域を説明するための図である。
3次元点生成テンプレート領域は、候補3次元点の一つである対象3次元点のフレーム画像F(t)への射影点である3次元点射影座標近傍に、当該対象3次元点の3次元点生成テンプレート画像の縦横サイズに合致する長方形領域である。
ここで対象3次元点(X,Y,Z)の3次元点射影座標(x,y)は次式(4)によって算出できる。
【0057】
【数4】
【0058】
式(4)における記号「〜」は、その両辺が定数倍の違いを許して等しいことを表している。なお、式1において、行列Mは時刻(t)においてフレーム画像F(t)を撮像したカメラのカメラポーズを示し次式(5)で表現される。
【0059】
【数5】
【0060】
式(5)で表現されるように、カメラポーズを示す行列Mは、回転行列Rと並進ベクトルTとからなる。回転行列Rは3行3列(3×3)の行列であり、並進ベクトルTは3行1列(3×1)のベクトルである。また、式(4)における行列Aは、カメラパラメータに基づいて定められる3行3列の行列である。行列Aは次式(6)で表現される。なお、fはカメラの焦点距離であり、δuとδvとはカメラの撮像素子における横方向と縦方向との画素の物理的な間隔、CuとCvとは画像中心である。
【0061】
【数6】
【0062】
このように、本実施形態では、各候補3次元点に対応する画像であって過去のフレーム画像F(t−N)から抽出した3次元点生成テンプレート画像と、代表3次元座標を算出する対象のフレーム画像F(t)における対象画像領域内の3次元点生成テンプレート領域の画像との類似度に基づいてスコア(重み値w)を算出する。そして、スコア(重み値w)を用いて候補3次元点の3次元座標の加重平均を代表3次元座標として算出する。すなわち、代表3次元座標を算出する処理は第2実施形態の処理(図7)と同じである。時刻(t−N)から時刻(t−1)までのN個の候補3次元点と、各候補3次元点の重み値wとから代表3次元座標を算出する。
【0063】
上述の第2実施形態において説明したスコアを算出する方法では、測定誤差を有する候補3次元点が真値に近い3次元座標を有する候補3次元点より多い場合でも正確に代表3次元座標を算出することが可能であるが、初回起動時刻と時刻(t)の間隔が短くて全候補3次元点の被観測回数の値もしくはその差が小さい場合、代表3次元座標の精度が低下することがある。
これに対し、本実施形態において説明した方法では、3次元点とその近傍の色や輝度値は、複数時刻に跨るフレーム画像列において同様の画像として観測されることを利用し、3次元点生成テンプレート画像に基づいたスコアを算出し、算出したスコアを用いて代表3次元座標を算出することで、初回起動時刻と時刻(t)の間隔が短いときでも、代表3次元座標を算出する精度を向上させることができる。
【0064】
(第4実施形態)
第4実施形態における3次元座標算出装置は、スコア算出部13における処理が第1実施形態及び第2実施形態及び第3実施形態と異なる。特に第3実施形態のスコア算出部13がテンプレートマッチング処理に対象画像領域内の長方形の3次元点生成テンプレート領域を用いるのに対し、本実施形態では3次元点生成テンプレートを幾何変換させた3次元点生成テンプレート射影領域を用いるところが異なる。図2に示した構成を用いて各部の処理を説明する。なお、本実施形態においては、情報入力部11には、候補3次元点群情報及びカメラポーズに替えて、候補3次元点群情報とカメラポーズと各候補3次元点に対応付けられた候補3次元点数分の3次元点生成テンプレート画像とが入力される。
【0065】
図11は、第4実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
候補3次元点群情報とカメラポーズと各候補3次元点に対応付けられた3次元点生成テンプレート画像が情報入力部11に入力され、候補3次元点群情報に含まれる各候補3次元点と3次元点生成テンプレート画像とカメラポーズとが対応付けられて候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS41)。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標それぞれに対して、スコアとしての重み値wを算出し(ステップS42)、算出した重み値wを3次元座標に対応付けて候補3次元点記憶部12に記憶させる(ステップS43)。
【0066】
ステップS42における重み値wの算出は、対象画像領域に対するテンプレートマッチング処理により行われる。すなわち、3次元点生成テンプレート画像と、フレーム画像F(t)の対象画像領域内の3次元点生成テンプレート射影領域との各画像データを比較することで重み値wを算出する。
ここで、3次元点生成テンプレート射影領域について説明する。図12及び図13は本実施形態における3次元点生成テンプレート射影領域を説明するための図である。
【0067】
図12及び図13における3次元点生成テンプレート射影領域は、図10において示したフレーム画像F(t−N)における3次元点生成テンプレート画像を、対象3次元点を時刻(t−N)のカメラポーズの光軸に直交し対象3次元点を通る平面、すなわち画像投影面に平行で対象3次元点を通る平面に逆投影し、その逆投影された領域が時刻(t)のカメラポーズで撮影されたフレーム画像F(t)上で観測される四角形の領域である。
【0068】
3次元点生成テンプレート射影領域を算出する具体的な処理を以下説明する。
まず、3次元点生成テンプレート画像領域を幾何的に歪ませるワーピング行列WPa、WPhを次式(7−1)、次式(7−2)によって算出する。
【0069】
【数7】
【0070】
式(7−1)において、1行1列の要素はフレーム画像F(t−N)における画像座標(x,y)の点がx軸方向に微小変動した場合の同一の点のフレーム画像F(t)におけるx軸方向の変動量を示す。
また、2行1列の要素は、フレーム画像F(t−N)における画像座標(x,y)の点がx軸方向に微小変動した場合の同一の点のフレーム画像F(t)におけるy軸方向の変動量を示す。1行2列の要素は、フレーム画像F(t−N)における画像座標(x,y)の点がy軸方向に微小変動した場合の同一の点のフレーム画像F(t)におけるx軸方向の変動量を示す。2行2列の要素は、フレーム画像F(t−N)における画像座標(x,y)の点がy軸方向に微小変動した場合の同一の点のフレーム画像F(t)におけるy軸方向の変動量を示す。
【0071】
式(7−2)において、行列At−Nと行列Atとは時刻(t−N)、時刻(t)それぞれにおけるカメラの内部パラメータ(式(6))を示し、行列Rは時刻(t−N)のカメラポーズに対する時刻(t)のカメラポーズの回転行列と並進ベクトルとを示す。ベクトルTnは時刻(t−N)の画像投影面に平行で対象3次元点を通る平面の単位法線ベクトルを示し、Zは時刻(t)のカメラポーズから対象3次元点までの奥行きを示す。
【0072】
式(7−1)で定義される2行2列(2×2)の行列WPaは図12に示すようなアフィン変換を実施する。式(7−2)で定義される3行3列(3×3)の行列WPhは図13に示すような平面射影変換を実施する。
【0073】
式(7−1)を用いて3次元点生成テンプレート射影領域を作成する場合、3次元点生成テンプレート射影領域における各画素(u,v)の画素値は、行列WPaを使って式(8−1)で画素(u,v)に対応する3次元テンプレート画像上の画素(x,y)を算出し、その画素値を参照することで決定できる。
また、式(7−2)を用いて3次元点生成テンプレート射影領域を作成する場合、3次元点生成テンプレート射影領域における各画素(u,v)の画素値は、行列WPhを使って式(8−2)で画素(u,v)に対応する3次元テンプレート画像上の画素(x,y)を算出し、その画素値を参照することで決定できる。
【0074】
【数8】
【0075】
このように、本実施形態では、フレーム画像F(t−N)に対応するカメラポーズと、フレーム画像F(t)に対応するカメラポーズとから、3次元点生成テンプレート画像が示す領域をフレーム画像F(t)に射影した3次元点生成テンプレート射影領域を算出する。そして、3次元点生成テンプレート射影領域の画像と、3次元点生成テンプレート画像とのテンプレートマッチング処理で算出される評価値から重み値wを候補3次元点ごとに算出する。そして、第2の実施形態の代表3次元座標を算出する処理と同様に、算出した重み値wを用いて代表3次元座標を算出する。
【0076】
上述の第3実施形態において説明したスコアを算出する方法では、初回起動時刻と時刻(t)の間隔が短いときでも、代表3次元座標を算出する精度を向上させることが可能であるが、時刻(t−N)で観測された3次元点生成テンプレート画像が時刻(t)において異なるカメラポーズから観測した場合に生じる幾何歪みを考慮しておらず、このことに起因してスコアに誤差が含まれ、その結果、代表3次元座標の精度が低下することがある。
【0077】
これに対し、本実施形態において説明した方法では、時刻(t−N)と時刻(t)とのカメラポーズを用いてワーピング行列を算出する。ワーピング行列を用いて、時刻(t)のフレーム画像F(t)における3次元点生成テンプレート画像の幾何歪みを再現した3次元点生成テンプレート射影領域を生成する。そして、3次元点生成テンプレート射影領域に対するテンプレートマッチング処理で算出するスコアを用いることにより、代表3次元座標を算出する精度を向上させることができる。
【0078】
(第5実施形態)
第5実施形態における3次元座標算出装置は、スコア算出部13における処理が第1実施形態、第2実施形態、第3実施形態、及び第4実施形態と異なる。図2に示した構成を用いて各部の処理を説明する。なお、本実施形態においては、情報入力部11には、候補3次元点群情報及びカメラポーズに替えて、候補3次元点群情報と、カメラポーズと、候補3次元点群情報が示す候補3次元点それぞれに対応する3次元点生成テンプレート画像及び被観測回数とが入力される。
【0079】
図14は、第5実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
本実施形態ではまず、被観測回数が関連付けられた候補3次元点群及びカメラポーズと各候補3次元点に対応付けられた3次元点生成テンプレート画像とが入力される。
候補3次元点群情報及びカメラポーズと、各候補3次元点に対応付けられた3次元点生成テンプレート画像及び被観測回数とが情報入力部11に入力され、候補3次元点群情報に含まれる各3次元座標と、3次元点生成テンプレート画像及び被観測回数とが対応付けられて候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS51)。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標それぞれに対して、スコアとしての重み値wを算出し(ステップS52)、算出した重み値wを3次元座標に対応付けて候補3次元点記憶部12に記憶させる(ステップS53)。
【0080】
ステップS52における重み値wの算出は、次式(9−1)又は次式(9−2)を用いて算出する。
【0081】
【数9】
【0082】
式(9−1)及び式(9−2)において、wvは第2実施形態で説明した式(2−1)又は式(2−2)で算出される重み値(第1のスコア)であり、wtは第3実施形態又は第4実施形態で説明した重み値(第2のスコア)である。また式(9−2)において、αは0より大きい実数であり、wvに対するwtの重みを与える所定の値である。すなわち、本実施形態における重み値wは、第2実施形態における重み値と、第3実施形態又は第4実施形態における重み値とを組み合わせて算出する。
【0083】
上述の第2から第4実施形態において説明した代表3次元座標を算出する方法では、候補3次元点の被観測回数もしくは3次元点生成テンプレート画像とフレームF(t)の類似性の何れかのみで重み値wを決定するため、初回起動時刻と時刻(t)の間隔が短くて全候補3次元点の被観測回数の値もしくはその差が小さい場合や、3次元点生成テンプレート画像とフレームF(t)がたまたま類似した場合にスコアの分布が測定誤差を有する候補3次元点へと偏ることによって中央値が真値からずれ、代表3次元座標の精度が低下することがある。
【0084】
これに対し、本実施形態において説明した方法では、被観測回数に基づいた重み値と、3次元点生成テンプレート画像とフレームF(t)の類似性から算出する重み値の両者からスコアを算出し、算出したスコアを用いて代表3次元座標を算出することで、初回起動時刻と時刻(t)の間隔が短くて全候補3次元点の被観測回数の値もしくはその差が小さい場合や、3次元点生成テンプレート画像とフレームF(t)がたまたま類似した場合においても、代表3次元座標を算出する精度を向上させることができる。
【0085】
以上、本発明を実施形態の例に基づき具体的に説明したが、上述の実施形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定しあるいは範囲を減縮するように解すべきではない。また、本発明の各手段構成は上述の実施形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
例えば、第1実施形態において、距離dをスコアとする構成を説明したが、距離dの自乗(d2)をスコアとしてもよい。
また、第2実施形態において、式(2−2)に示した候補3次元点の被観測回数の定数Cに対する比を自乗した値を重み値wとする構成を説明したが、3乗した値や4乗した値などの、べき乗した値であってもよい。
【0086】
なお、本発明における3次元座標算出装置1の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、各候補3次元点に対するスコアを算出する処理、及び代表3次元座標を算出する処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0087】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0088】
1…3次元座標算出装置
9…物体座標系変換装置
11…情報入力部
12…候補3次元点記憶部
13…スコア算出部
14…代表3次元座標算出部
91…テンプレート画像記憶部
92…カメラパラメータ記憶部
93…CGデータ記憶部
94…カメラポーズ3D推定部
95…テンプレート照合部
96…3次元座標算出部
97…平面算出部
98…物体座標系変換行列算出部
99…CG合成部
【技術分野】
【0001】
本発明は、実空間を撮像するカメラによって入力されたフレーム画像列のうち、現時刻のフレーム画像において指定された対象画像領域を代表する3次元座標を算出する装置であって、入力されたフレーム画像列を用いて算出された特徴点の3次元点群のうち、対象画像領域で観測する3次元点群から代表3次元座標を算出する3次元座標算出装置、3次元座標算出方法、及びプログラムに関する。
【背景技術】
【0002】
実空間を撮像するカメラによって入力されたフレーム画像から、実空間におけるカメラの位置及び姿勢を示すカメラポーズと、フレーム画像上の特徴点の3次元座標とを算出するカメラポーズ3D推定装置では、算出したカメラポーズを用いて、例えばフレーム画像上にコンピュータグラフィクス(Computer Graphics:CG)等を合成することを可能にしている。
カメラポーズ3D推定装置では、カメラポーズと実空間内の3次元点との初期値、及びフレーム画像を入力し、(1)実空間の3次元点がフレーム画像で観測された画像点を決定し、(2)3次元点の3次元座標と画像点の座標との組から非線形最小自乗法によってカメラポーズを算出し、(3)過去に亘った複数時刻のフレーム画像を用いて3次元点の3次元座標を更新する、(1)〜(3)の処理を時々刻々繰り返すことによって、正確にカメラポーズと3次元座標とを算出することを実現している。
【0003】
このようなカメラポーズ3D推定装置で算出されるカメラポーズと3次元座標とは、カメラポーズがワールド座標系におけるカメラの位置及び向きとして表現され、3次元座標がワールド座標系における位置として表現される。カメラポーズ3D推定装置は、初期時刻において予め設定された座標系がワールド座標系として利用される。このため、例えばフレーム画像上の物体に対してCG等を合成する場合には、ワールド座標系における物体の位置及び姿勢を示す物体座標系への剛体変換行列が必要となる。
剛体変換行列を算出する物体座標系変換装置として、例えば非特許文献1に記載されているものがある。非特許文献1に記載されている方法では、カメラポーズ3D推定装置において、フレーム画像上の物体に対してCG等を合成する際に正確な合成を実現するために、ワールド座標系から物体座標系への剛体変換行列を算出している。
【0004】
図15は、物体座標系変換装置9の構成例を示す概略ブロック図である。同図に示すように、物体座標系変換装置9は、テンプレート画像記憶部91と、カメラパラメータ記憶部92と、CGデータ記憶部93と、カメラポーズ3D推定部94と、テンプレート照合部95と、3次元座標算出部96と、平面算出部97と、物体座標系変換行列算出部98と、CG合成部99とを具備している。
テンプレート画像記憶部91には、CGを合成したい平面物体のテンプレート画像が予め記憶されている。カメラパラメータ記憶部92には、カメラの焦点距離等を示すカメラパラメータが予め記憶されている。CGデータ記憶部93には、フレーム画像に合成したいCGを表すCGデータが予め記憶されている。
【0005】
カメラポーズ3D推定部94は、カメラで撮像したある時刻tのフレーム画像F(t)が順次入力され、フレーム画像F(t)上の特徴点、例えば角や交点を追跡した結果に基づいて、時刻tにおける特徴点の3次元座標及びカメラポーズを推定する。カメラポーズ3D推定部94が推定する3次元座標及びカメラポーズは、予め定められたワールド座標系を用いて表現される。
テンプレート照合部95には、カメラポーズ3D推定部94と同様に、フレーム画像F(t)が順次入力される。テンプレート照合部95は、テンプレート画像記憶部91からテンプレート画像を読み出し、読み出したテンプレート画像と、入力されたフレーム画像F(t)とに対してSIFT(Scale-Invariant Feature Transform)等を用いて照合することにより、テンプレート内部の特徴点の位置をフレーム画像F(t)上で推定する。
【0006】
3次元座標算出部96は、フレーム画像F(t)に近接する時刻t以前のフレーム画像に対するステレオ対応付けによって、テンプレート照合部95が推定した特徴点の3次元座標を算出する。3次元座標算出部96が算出する特徴点の3次元座標は、物体座標系を用いて表現される。
平面算出部97は、3次元座標算出部96が算出した特徴点の3次元座標に対して平面を当てはめ、当該平面を成す4点のワールド座標系における3次元座標と、物体座標系における3次元座標とを算出する。
【0007】
物体座標系変換行列算出部98は、平面算出部97が算出した4点のワールド座標系における3次元座標と、物体座標系における3次元座標とから剛体変換行列を算出する。
CG合成部99は、CGデータ記憶部93からCGデータを読み出し、物体座標系変換行列算出部98が算出した剛体変換行列を用いて、読み出したCGデータをワールド座標系の情報に変換する。また、CG合成部99は、カメラポーズ3D推定部94が推定したカメラポーズを用いて、ワールド座標系に変換したCGデータをフレーム画像F(t)に重畳合成し、重畳合成したフレーム画像F(t)を出力する
【0008】
物体座標系変換装置9は、順次入力されるフレーム画像F(t)に対して、CG等をフレーム画像F(t)に重畳合成する処理を時々刻々繰り返すことによって、フレーム画像F(t)中の物体に対してCG等を合成することを実現している。
【0009】
このような物体座標系変換装置9において、フレーム画像F(t)に近接する時刻t以前のフレーム画像とのステレオ視の原理によって3次元座標を算出する場合、その基線長が短く奥行分解能が低いために、3次元座標の精度が悪いといった問題がある。これに対して、シーンを様々な位置及び方向から撮像した動画像を構成する複数のフレーム画像を使って特徴点の3次元座標を算出する方法がある。この方法を用いて得られる3次元座標は、ステレオ視の原理を用いて算出した3次元座標に比べ精度が高い。そこで、カメラポーズ3D推定部94が算出した3次元座標から、テンプレート画像内の3次元座標を算出する方法が考えられる。
【0010】
図16は、テンプレート画像内の3次元座標の算出方法を示す概略図である。以下、テンプレート画像の対象画像領域を表現する一つの3次元座標を算出する方法について説明する。また、テンプレート画像の領域全体を表現する一つの3次元座標を代表3次元座標という。
図16に示されているように、フレーム画像上のテンプレート画像の位置を対象画像領域とする。テンプレート照合部95において、この対象画像領域の4隅の点と、カメラポーズ3D推定部94が推定したカメラポーズのうちカメラの位置を示す投影中心位置とから、四角錐台を形成する。更に、カメラポーズ3D推定部94が推定した特徴点の3次元点のうち、形成した四角錐台に属する3次元点を候補3次元点群とする。この候補3次元点群に含まれる特徴点の3次元座標の平均値を代表3次元座標として算出する。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献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.
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、カメラポーズ3D推定部94が算出する3次元点の3次元座標には、画像の量子化誤差や対応付けの誤りによる誤差が含まれていることがある。この誤差に起因して、テンプレート画像内(対象画像領域)を代表する代表3次元座標は真値とずれてしまうことがあるという問題がある。
【0013】
本発明は、上記問題を解決すべくなされたもので、フレーム画像上の対象画像領域を代表する代表3次元座標の精度を向上させることができる3次元座標算出装置、3次元座標算出方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上記問題を解決するために、本発明は、フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出ステップと、前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出ステップとを有することを特徴とする3次元座標算出方法である。
【0015】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記フレーム画像を撮像したカメラの位置から前記候補3次元点までの距離を前記スコアとして算出し、前記代表3次元座標算出ステップにおいて、前記候補3次元点のうち、全ての前記候補3次元点の前記スコアにおける中央値に対応する候補3次元点の3次元座標を前記代表3次元座標として出力することを特徴とする。
【0016】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記候補3次元点ごとに、該候補3次元点の被観測回数と、全ての前記候補3次元点の被観測回数のうち最大の被観測回数とから前記スコアを算出し、前記代表3次元座標算出ステップにおいて、前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数であることを特徴とする。
【0017】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記候補3次元点ごとに、該候補3次元点の被観測回数の予め定めた定数に対する比をべき乗した値を前記スコアとして算出し、前記代表3次元座標算出ステップにおいて、前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数であることを特徴とする。
【0018】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、
前記候補3次元点ごとに、過去のフレーム画像における候補3次元点を含む画像であるテンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像との類似度に基づいて前記スコアを算出し、前記代表3次元座標算出ステップにおいて、前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力することを特徴とする。
【0019】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記テンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像とのサイズが同じであることを特徴とする。
【0020】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記過去のフレーム画像を撮像した際のカメラポーズと、前記代表3次元座標を算出する対象のフレーム画像を撮像した際のカメラポーズとに基づいて、前記テンプレート画像を前記代表3次元座標を算出する対象のフレーム画像に投影した領域を算出し、算出した領域の画像と前記テンプレート画像との類似度を前記スコアとして算出することを特徴とする。
【0021】
また、本発明は、上記に記載の発明において、前記スコア算出ステップにおいて、前記候補3次元点ごとに、該候補3次元点の被観測回数と、全ての前記候補3次元点の被観測回数のうち最大の被観測回数とから第1のスコアを算出し、前記候補3次元点ごとに、過去のフレーム画像における候補3次元点を含む画像であるテンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像との類似度に基づいて第2のスコアを算出し、前記候補3次元点それぞれに対応する、前記第1のスコアと前記第2のスコアとから算出された重みを用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し、前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数であることを特徴とする。
【0022】
また、本発明は、フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出部と、前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出部とを備えることを特徴とする3次元座標算出装置である。
【0023】
また、本発明は、上記に記載の3次元座標算出方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0024】
この発明によれば、各候補3次元点の3次元座標に基づいてスコアを算出し、算出したスコアに対する統計処理の結果に基づいて代表3次元座標を算出することにより、3次元座標の外れ値の影響を低減して代表3次元座標を得ることができ、フレーム画像上の対象画像領域を代表する代表3次元座標を算出する精度を向上させることができる。
【図面の簡単な説明】
【0025】
【図1】本明細書における座標系及び用語を説明するための図である。
【図2】第1実施形態における3次元座標算出装置1の構成を示す概略ブロック図である。
【図3】同実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図4】同実施形態における代表3次元座標を算出する処理のフローチャートである。
【図5】同実施形態における被観測回数を説明するための図である。
【図6】第2実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図7】同実施形態における代表3次元座標を算出する処理のフローチャートである。
【図8】第3実施形態における3次元点生成テンプレート画像を説明するための図である。
【図9】同実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図10】同実施形態における3次元点生成テンプレート領域を説明するための図である。
【図11】第4実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図12】同実施形態における3次元点生成テンプレート射影領域を説明するための第1の図である。
【図13】同実施形態における3次元点生成テンプレート射影領域を説明するための第2の図である。
【図14】第5実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
【図15】物体座標系変換装置9の構成例を示す概略ブロック図である。
【図16】テンプレート画像内の3次元座標の算出方法を示す概略図である。
【発明を実施するための形態】
【0026】
以下、図面を参照して、本発明の実施形態における3次元座標算出装置、3次元座標算出方法、及びプログラムを説明する。
【0027】
まず、実施形態において用いる座標系及び用語について説明する。
図1は、本明細書における座標系及び用語を説明するための図である。同図に示すように、ワールド座標系は空間全体を表し予め定められた座標系である。3次元点の3次元座標はワールド座標系における3次元点の位置を示す3次元座標である。カメラポーズはワールド座標系におけるカメラ位置の並進と回転とを表す。
【0028】
(第1実施形態)
図2は、第1実施形態における3次元座標算出装置1の構成を示す概略ブロック図である。同図に示すように、3次元座標算出装置1は、情報入力部11と、候補3次元点記憶部12と、スコア算出部13と、代表3次元座標算出部14とを具備している。
情報入力部11には、処理対象のフレーム画像における候補3次元点群に含まれる各候補3次元点の3次元座標を示す候補3次元点群情報と、当該フレーム画像を撮像したカメラポーズとが入力される。候補3次元点群とは、図16において示した、処理対象のフレーム画像における対象画像領域を示す4隅の点と、当該フレーム画像を撮像したカメラの投影中心位置とから構成される四角錐台に含まれる3次元点の集合である。
【0029】
候補3次元点記憶部12は、情報入力部11に入力された候補3次元点群情報に含まれる各3次元座標にスコア(特徴量)を対応付けて記憶する。
スコア算出部13は、候補3次元点記憶部12に記憶されている各候補3次元点の3次元座標を読み出し、読み出した3次元座標と、情報入力部11に入力されたカメラポーズとに基づいて、候補3次元点に対するスコアを算出する。スコア算出部13は、算出したスコアを、当該スコアに対応する3次元座標に対応付けて候補3次元点記憶部12に記憶させる。
代表3次元座標算出部14は、候補3次元点記憶部12に記憶されている3次元座標及びスコアに基づいて、対象画像領域を代表する代表3次元座標を算出し、算出した代表3次元座標を出力する。
【0030】
図3は、本実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
候補3次元点群情報及びカメラポーズが情報入力部11に入力され、候補3次元点群情報に含まれる各3次元座標が候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS11)。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標に対して、カメラポーズに含まれるカメラ位置(投影中心位置)からの距離dを算出する(ステップS12)。
スコア算出部13は、算出した距離dをスコアとし、スコアと3次元座標とを対応付けて候補3次元点記憶部12に記憶させる(ステップS13)。
【0031】
ステップS12における距離dの算出は、ワールド座標系において、第i番目の候補3次元点の3次元座標を(Xi,Yi,Zi)とし、投影中心位置の3次元座標を(Cx,Cy,Cz)としたとき、次式(1)を用いて算出される。
【0032】
【数1】
【0033】
図4は、本実施形態における代表3次元座標を算出する処理のフローチャートである。
スコア算出部13が全ての3次元点の3次元座標に対してスコアを算出し終えると、代表3次元座標算出部14が起動される。
代表3次元座標算出部14は、候補3次元点記憶部12から全ての3次元座標と、当該3次元座標に対応付けられたスコアとを読み出す(ステップS16)。
代表3次元座標算出部14は、読み出したスコアのうち中央値に対応するスコアを検出し、検出したスコアに対応する3次元座標を代表3次元座標として出力し(ステップS17)、処理を終える。
【0034】
ステップS16において、代表3次元座標算出部14は、例えば候補3次元点群に含まれる候補3次元点の数がNの場合、読み出した全てのスコアを昇順又は降順にソートし、ソートしたスコアの列において(N/2)番目のスコアに対応する3次元座標を選択することにより中央値を検出する。
【0035】
上述のように、本実施形態における3次元座標算出装置1は、カメラの投影中心位置から各候補3次元点までの距離をスコアとし、全てのスコアの中央値に対応する3次元座標を代表3次元座標としている。
ところで、平均値は、測定誤差などによって発生する外れ値(他の値と著しく異なる値)に影響され、真値から大きくずれることや無意味な値になることがある。対して、中央値は外れ値に影響されにくく、真値に近い値を得ることができる。
このように、3次元座標算出装置1は、中央値を用いて代表3次元座標を算出することにより、候補3次元点群の各3次元座標に含まれる誤差の影響を低減し、代表3次元座標を算出する精度を向上させることができる。
【0036】
(第2実施形態)
第2実施形態における3次元座標算出装置は、スコア算出部13と代表3次元座標算出部14とにおける処理が第1実施形態と異なる。そこで、図2に示した構成を用いて各部の処理を説明する。なお、本実施形態においては、情報入力部11には、候補3次元点群情報及びカメラポーズに替えて、候補3次元点群情報と各候補3次元点に対応付けられた被観測回数が入力される。
【0037】
ここで、被観測回数について説明する。図5は本実施形態における被観測回数を説明するための図である。
被観測回数は、3次元点ごとに算出される値で0以上の整数であり、初期時刻において全ての候補3次元点に対して0が設定される。被観測回数は、処理対象のフレーム画像F(t)における対象画像領域を示す4隅の点と、当該フレーム画像を撮像したカメラの投影中心位置とから構成される四角錐台に含まれる場合に「1」増加する。
例えば、図5に示すように、時刻(t−1)、時刻tに亘って被観測回数を計数すると、時刻(t−1)と時刻tとの両方の四角錐台に含まれる3次元点の被観測回数は「2」となる。また、時刻tの四角錐台のみに含まれる3次元点の観測回数は「1」となる。時刻(t−1)と時刻tとの両方の四角錐台に含まれない3次元点の被観測回数は「0」となる。
すなわち、被観測回数は、各3次元点に対して、それぞれ異なる時刻に撮像された複数のフレーム画像において、各フレーム画像上の対象画像領域内で3次元点が観測(検出)された回数である。
【0038】
図6は、第2実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
候補3次元点群情報及び各候補3次元点に対応付けられた被観測回数が情報入力部11に入力され、候補3次元点群情報に含まれる各3次元座標と被観測回数とが対応付けられて候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS21)。ここで入力される被観測回数は、フレーム画像に対する処理を開始した初期時刻から全てのフレーム画像に亘って計数された値である。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標それぞれに対して、スコアとしての重み値wを算出し(ステップS22)、算出した重み値wを3次元座標に対応付けて候補3次元点記憶部12に記憶させる(ステップS23)。
【0039】
ステップS22における重み値wの算出は、次式(2−1)又は次式(2−2)を用いて算出する。
【0040】
【数2】
【0041】
式(2−1)及び式(2−2)において、cntは被観測回数を示す。また、式(2−1)において、cntmaxは候補3次元点記憶部12に記憶されている被観測回数のうち最大の被観測回数を示す。また、式(2−2)において、Cは予め定められた定数を示し、0以外の任意の数である。
【0042】
式(2−1)に示した関数は、被観測回数0から最大観測回数cntmaxまでの定義域で0から1までの値を取る。また、式(2−1)に示した関数は、被観測回数cntが最大観測回数と一致する場合に重み値wを1として出力し、被観測回数cntが0である場合に重み値wを0として出力する。
ただし、式(2−1)に示した関数では、各候補3次元点の重み値wを算出する際に、入力されている候補3次元点の被観測回数から最大観測回数cntmaxを事前に特定しておく必要があり、計算処理量が増加する。
【0043】
計算処理量の増加を回避するため、式(2−2)に示した関数では、重み値wを被観測回数cntの自乗で算出し、被観測回数cntの値が大きいほど大きな重みを与える。式(2−2)に示した関数を利用することにより、各候補3次元点の重み値wを算出する際に、最大観測回数cntmaxを事前に特定しておく必要がなくなり、重み値wを算出するときの計算処理量を低減することができる。
【0044】
図7は、本実施形態における代表3次元座標を算出する処理のフローチャートである。
スコア算出部13が全ての3次元点の3次元座標に対してスコアを算出し終えると、代表3次元座標算出部14が起動される。
代表3次元座標算出部14は、候補3次元点記憶部12から全ての3次元座標と、当該3次元座標に対応付けられたスコアとを読み出す(ステップS26)。
代表3次元座標算出部14は、読み出した3次元座標とスコアとから加重平均により代表3次元座標(X,Y,Z)を算出し、代表3次元座標(X,Y,Z)を出力して(ステップS27)、処理を終える。
【0045】
ステップS27における代表3次元座標(X,Y,Z)は、次式(3)を用いて算出する。
【0046】
【数3】
【0047】
式(3)において、Nは候補3次元点の総数であり、(Xi,Yi,Zi)は第i番目の候補3次元点の3次元座標であり、Wiは第i番目の候補3次元点に対する重み値wである。
【0048】
上述の第1実施形態において説明した代表3次元座標を算出する方法では、測定誤差を有する候補3次元点が少ない場合には、正確な代表3次元座標を算出することが可能であるが、測定誤差を有する候補3次元点が真値に近い3次元座標を有する候補3次元点より多い場合、スコアの分布が測定誤差を有する候補3次元点へと偏ることによって中央値が真値からずれ、代表3次元座標の精度が低下することがある。
これに対し、本実施形態において説明した方法では、真値に近い3次元座標を有する3次元点が図5に示したように複数時刻に跨るフレーム画像列において観測される回数が増加することを利用し、被観測回数に基づいたスコアを算出し、算出したスコアを用いて代表3次元座標を算出することで、測定誤差を有する候補3次元点が多いときでも、代表3次元座標を算出する精度を向上させることができる。
【0049】
このように、3次元座標算出装置1は、フレーム画像に撮像されている物体を含む対象画像領域内の物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出部13と、候補3次元点の3次元座標と該3次元座標に対するスコアとに対して、中央値の検出や加重平均などの統計処理を用いて、対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出部14とを備えている。
これにより、各候補3次元点の3次元座標に基づいてスコアを算出し、算出したスコアに対する統計処理の結果に基づいて代表3次元座標を算出することにより、3次元座標の外れ値の影響を低減して代表3次元座標を得ることができ、フレーム画像上の対象画像領域を代表する代表3次元座標を算出する精度を向上させることができる。
また、例えば3次元座標算出装置1を物体座標系変換装置9に適用することにより、コンピュータグラフィクス等を合成させる対象物体のワールド座標系における3次元座標を算出する精度を向上させることができ、フレーム画像上の物体に対してコンピュータグラフィクス等を精度良く合成することができる。
【0050】
(第3実施形態)
第3実施形態における3次元座標算出装置は、スコア算出部13における処理が第1実施形態及び第2実施形態と異なる。そこで、図2に示した構成を用いて各部の処理を説明する。なお、本実施形態においては、情報入力部11には、候補3次元点群情報及びカメラポーズに替えて、候補3次元点群情報と当該候補3次元点群情報が示す各候補3次元点に対応付けられた3次元点生成テンプレート画像とが候補3次元点数分入力される。
【0051】
ここで、3次元点生成テンプレート画像について説明する。図8は第3実施形態における3次元点生成テンプレート画像を説明するための図である。
3次元点生成テンプレート画像は、候補3次元点ごとに設定される画像であり、0以上のサイズを有する。3次元点生成テンプレート画像は、時刻(t−N)の撮像画像であるフレーム画像F(t−N)における特徴点の三次元座標が算出されたときに、当該特徴点近傍の小領域から構成される0以上のサイズの画像を抽出したものである。例えば、図8に示すように、時刻(t−N)で対象特徴点の3次元点の三次元座標を算出する際に、フレーム画像F(t−N)上の対象特徴点近傍の小領域である3次元点生成テンプレート画像が生成される。この小領域、すなわち3次元点生成テンプレート画像のサイズは、予め定められたサイズが用いられる。
【0052】
図9は、本実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
候補3次元点群情報及び各候補3次元点に対応付けられた3次元点生成テンプレート画像が情報入力部11に入力され、候補3次元点群情報に含まれる各3次元座標と3次元点生成テンプレート画像とが対応付けられて候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS31)。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標それぞれに対して、スコアとしての重み値wを算出し(ステップS32)、算出した重み値wを3次元座標に対応付けて候補3次元点記憶部12に記憶させる(ステップS33)。
【0053】
ステップS32における重み値wの算出は、対象画像領域に対するテンプレートマッチング処理により行われる。すなわち、フレーム画像F(t−N)の3次元点生成テンプレート画像と、フレーム画像F(t)の対象画像領域内の3次元点生成テンプレート領域との各画像データを比較することで重み値wを算出する。
【0054】
スコア算出部123は、テンプレートマッチング処理において算出される評価値から重み値wを算出する。評価値は適用するテンプレートマッチング処理に応じて異なる。そこで、2つの画像の類似度が高いときに評価値が小さくなる場合には、評価値の逆数を重み値wにする。逆に、2つの画像の類似度が高いときに評価値が大きくなる場合には、評価値を重み値wにする。
【0055】
テンプレートマッチング処理における評価値としては、例えば、輝度差の二乗和(Sum of Squared Difference:SSD)、輝度差の総和(Sum of Absolute Difference:SAD)、正規化相互相関(Normalized Cross-Correlation:NNC)、正規化相互相関(Zero-mean Normalized Cross-Correlation:ZNCC)など複数有るがどれを用いてもよいものとする。
【0056】
ここで、3次元点生成テンプレート領域について説明する。図10は本実施形態における3次元点生成テンプレート領域を説明するための図である。
3次元点生成テンプレート領域は、候補3次元点の一つである対象3次元点のフレーム画像F(t)への射影点である3次元点射影座標近傍に、当該対象3次元点の3次元点生成テンプレート画像の縦横サイズに合致する長方形領域である。
ここで対象3次元点(X,Y,Z)の3次元点射影座標(x,y)は次式(4)によって算出できる。
【0057】
【数4】
【0058】
式(4)における記号「〜」は、その両辺が定数倍の違いを許して等しいことを表している。なお、式1において、行列Mは時刻(t)においてフレーム画像F(t)を撮像したカメラのカメラポーズを示し次式(5)で表現される。
【0059】
【数5】
【0060】
式(5)で表現されるように、カメラポーズを示す行列Mは、回転行列Rと並進ベクトルTとからなる。回転行列Rは3行3列(3×3)の行列であり、並進ベクトルTは3行1列(3×1)のベクトルである。また、式(4)における行列Aは、カメラパラメータに基づいて定められる3行3列の行列である。行列Aは次式(6)で表現される。なお、fはカメラの焦点距離であり、δuとδvとはカメラの撮像素子における横方向と縦方向との画素の物理的な間隔、CuとCvとは画像中心である。
【0061】
【数6】
【0062】
このように、本実施形態では、各候補3次元点に対応する画像であって過去のフレーム画像F(t−N)から抽出した3次元点生成テンプレート画像と、代表3次元座標を算出する対象のフレーム画像F(t)における対象画像領域内の3次元点生成テンプレート領域の画像との類似度に基づいてスコア(重み値w)を算出する。そして、スコア(重み値w)を用いて候補3次元点の3次元座標の加重平均を代表3次元座標として算出する。すなわち、代表3次元座標を算出する処理は第2実施形態の処理(図7)と同じである。時刻(t−N)から時刻(t−1)までのN個の候補3次元点と、各候補3次元点の重み値wとから代表3次元座標を算出する。
【0063】
上述の第2実施形態において説明したスコアを算出する方法では、測定誤差を有する候補3次元点が真値に近い3次元座標を有する候補3次元点より多い場合でも正確に代表3次元座標を算出することが可能であるが、初回起動時刻と時刻(t)の間隔が短くて全候補3次元点の被観測回数の値もしくはその差が小さい場合、代表3次元座標の精度が低下することがある。
これに対し、本実施形態において説明した方法では、3次元点とその近傍の色や輝度値は、複数時刻に跨るフレーム画像列において同様の画像として観測されることを利用し、3次元点生成テンプレート画像に基づいたスコアを算出し、算出したスコアを用いて代表3次元座標を算出することで、初回起動時刻と時刻(t)の間隔が短いときでも、代表3次元座標を算出する精度を向上させることができる。
【0064】
(第4実施形態)
第4実施形態における3次元座標算出装置は、スコア算出部13における処理が第1実施形態及び第2実施形態及び第3実施形態と異なる。特に第3実施形態のスコア算出部13がテンプレートマッチング処理に対象画像領域内の長方形の3次元点生成テンプレート領域を用いるのに対し、本実施形態では3次元点生成テンプレートを幾何変換させた3次元点生成テンプレート射影領域を用いるところが異なる。図2に示した構成を用いて各部の処理を説明する。なお、本実施形態においては、情報入力部11には、候補3次元点群情報及びカメラポーズに替えて、候補3次元点群情報とカメラポーズと各候補3次元点に対応付けられた候補3次元点数分の3次元点生成テンプレート画像とが入力される。
【0065】
図11は、第4実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
候補3次元点群情報とカメラポーズと各候補3次元点に対応付けられた3次元点生成テンプレート画像が情報入力部11に入力され、候補3次元点群情報に含まれる各候補3次元点と3次元点生成テンプレート画像とカメラポーズとが対応付けられて候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS41)。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標それぞれに対して、スコアとしての重み値wを算出し(ステップS42)、算出した重み値wを3次元座標に対応付けて候補3次元点記憶部12に記憶させる(ステップS43)。
【0066】
ステップS42における重み値wの算出は、対象画像領域に対するテンプレートマッチング処理により行われる。すなわち、3次元点生成テンプレート画像と、フレーム画像F(t)の対象画像領域内の3次元点生成テンプレート射影領域との各画像データを比較することで重み値wを算出する。
ここで、3次元点生成テンプレート射影領域について説明する。図12及び図13は本実施形態における3次元点生成テンプレート射影領域を説明するための図である。
【0067】
図12及び図13における3次元点生成テンプレート射影領域は、図10において示したフレーム画像F(t−N)における3次元点生成テンプレート画像を、対象3次元点を時刻(t−N)のカメラポーズの光軸に直交し対象3次元点を通る平面、すなわち画像投影面に平行で対象3次元点を通る平面に逆投影し、その逆投影された領域が時刻(t)のカメラポーズで撮影されたフレーム画像F(t)上で観測される四角形の領域である。
【0068】
3次元点生成テンプレート射影領域を算出する具体的な処理を以下説明する。
まず、3次元点生成テンプレート画像領域を幾何的に歪ませるワーピング行列WPa、WPhを次式(7−1)、次式(7−2)によって算出する。
【0069】
【数7】
【0070】
式(7−1)において、1行1列の要素はフレーム画像F(t−N)における画像座標(x,y)の点がx軸方向に微小変動した場合の同一の点のフレーム画像F(t)におけるx軸方向の変動量を示す。
また、2行1列の要素は、フレーム画像F(t−N)における画像座標(x,y)の点がx軸方向に微小変動した場合の同一の点のフレーム画像F(t)におけるy軸方向の変動量を示す。1行2列の要素は、フレーム画像F(t−N)における画像座標(x,y)の点がy軸方向に微小変動した場合の同一の点のフレーム画像F(t)におけるx軸方向の変動量を示す。2行2列の要素は、フレーム画像F(t−N)における画像座標(x,y)の点がy軸方向に微小変動した場合の同一の点のフレーム画像F(t)におけるy軸方向の変動量を示す。
【0071】
式(7−2)において、行列At−Nと行列Atとは時刻(t−N)、時刻(t)それぞれにおけるカメラの内部パラメータ(式(6))を示し、行列Rは時刻(t−N)のカメラポーズに対する時刻(t)のカメラポーズの回転行列と並進ベクトルとを示す。ベクトルTnは時刻(t−N)の画像投影面に平行で対象3次元点を通る平面の単位法線ベクトルを示し、Zは時刻(t)のカメラポーズから対象3次元点までの奥行きを示す。
【0072】
式(7−1)で定義される2行2列(2×2)の行列WPaは図12に示すようなアフィン変換を実施する。式(7−2)で定義される3行3列(3×3)の行列WPhは図13に示すような平面射影変換を実施する。
【0073】
式(7−1)を用いて3次元点生成テンプレート射影領域を作成する場合、3次元点生成テンプレート射影領域における各画素(u,v)の画素値は、行列WPaを使って式(8−1)で画素(u,v)に対応する3次元テンプレート画像上の画素(x,y)を算出し、その画素値を参照することで決定できる。
また、式(7−2)を用いて3次元点生成テンプレート射影領域を作成する場合、3次元点生成テンプレート射影領域における各画素(u,v)の画素値は、行列WPhを使って式(8−2)で画素(u,v)に対応する3次元テンプレート画像上の画素(x,y)を算出し、その画素値を参照することで決定できる。
【0074】
【数8】
【0075】
このように、本実施形態では、フレーム画像F(t−N)に対応するカメラポーズと、フレーム画像F(t)に対応するカメラポーズとから、3次元点生成テンプレート画像が示す領域をフレーム画像F(t)に射影した3次元点生成テンプレート射影領域を算出する。そして、3次元点生成テンプレート射影領域の画像と、3次元点生成テンプレート画像とのテンプレートマッチング処理で算出される評価値から重み値wを候補3次元点ごとに算出する。そして、第2の実施形態の代表3次元座標を算出する処理と同様に、算出した重み値wを用いて代表3次元座標を算出する。
【0076】
上述の第3実施形態において説明したスコアを算出する方法では、初回起動時刻と時刻(t)の間隔が短いときでも、代表3次元座標を算出する精度を向上させることが可能であるが、時刻(t−N)で観測された3次元点生成テンプレート画像が時刻(t)において異なるカメラポーズから観測した場合に生じる幾何歪みを考慮しておらず、このことに起因してスコアに誤差が含まれ、その結果、代表3次元座標の精度が低下することがある。
【0077】
これに対し、本実施形態において説明した方法では、時刻(t−N)と時刻(t)とのカメラポーズを用いてワーピング行列を算出する。ワーピング行列を用いて、時刻(t)のフレーム画像F(t)における3次元点生成テンプレート画像の幾何歪みを再現した3次元点生成テンプレート射影領域を生成する。そして、3次元点生成テンプレート射影領域に対するテンプレートマッチング処理で算出するスコアを用いることにより、代表3次元座標を算出する精度を向上させることができる。
【0078】
(第5実施形態)
第5実施形態における3次元座標算出装置は、スコア算出部13における処理が第1実施形態、第2実施形態、第3実施形態、及び第4実施形態と異なる。図2に示した構成を用いて各部の処理を説明する。なお、本実施形態においては、情報入力部11には、候補3次元点群情報及びカメラポーズに替えて、候補3次元点群情報と、カメラポーズと、候補3次元点群情報が示す候補3次元点それぞれに対応する3次元点生成テンプレート画像及び被観測回数とが入力される。
【0079】
図14は、第5実施形態における候補3次元点に対するスコアを算出する処理のフローチャートである。
本実施形態ではまず、被観測回数が関連付けられた候補3次元点群及びカメラポーズと各候補3次元点に対応付けられた3次元点生成テンプレート画像とが入力される。
候補3次元点群情報及びカメラポーズと、各候補3次元点に対応付けられた3次元点生成テンプレート画像及び被観測回数とが情報入力部11に入力され、候補3次元点群情報に含まれる各3次元座標と、3次元点生成テンプレート画像及び被観測回数とが対応付けられて候補3次元点記憶部12に記憶されると、スコア算出部13が起動される(ステップS51)。
スコア算出部13は、候補3次元点記憶部12に記憶されている全ての3次元座標それぞれに対して、スコアとしての重み値wを算出し(ステップS52)、算出した重み値wを3次元座標に対応付けて候補3次元点記憶部12に記憶させる(ステップS53)。
【0080】
ステップS52における重み値wの算出は、次式(9−1)又は次式(9−2)を用いて算出する。
【0081】
【数9】
【0082】
式(9−1)及び式(9−2)において、wvは第2実施形態で説明した式(2−1)又は式(2−2)で算出される重み値(第1のスコア)であり、wtは第3実施形態又は第4実施形態で説明した重み値(第2のスコア)である。また式(9−2)において、αは0より大きい実数であり、wvに対するwtの重みを与える所定の値である。すなわち、本実施形態における重み値wは、第2実施形態における重み値と、第3実施形態又は第4実施形態における重み値とを組み合わせて算出する。
【0083】
上述の第2から第4実施形態において説明した代表3次元座標を算出する方法では、候補3次元点の被観測回数もしくは3次元点生成テンプレート画像とフレームF(t)の類似性の何れかのみで重み値wを決定するため、初回起動時刻と時刻(t)の間隔が短くて全候補3次元点の被観測回数の値もしくはその差が小さい場合や、3次元点生成テンプレート画像とフレームF(t)がたまたま類似した場合にスコアの分布が測定誤差を有する候補3次元点へと偏ることによって中央値が真値からずれ、代表3次元座標の精度が低下することがある。
【0084】
これに対し、本実施形態において説明した方法では、被観測回数に基づいた重み値と、3次元点生成テンプレート画像とフレームF(t)の類似性から算出する重み値の両者からスコアを算出し、算出したスコアを用いて代表3次元座標を算出することで、初回起動時刻と時刻(t)の間隔が短くて全候補3次元点の被観測回数の値もしくはその差が小さい場合や、3次元点生成テンプレート画像とフレームF(t)がたまたま類似した場合においても、代表3次元座標を算出する精度を向上させることができる。
【0085】
以上、本発明を実施形態の例に基づき具体的に説明したが、上述の実施形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定しあるいは範囲を減縮するように解すべきではない。また、本発明の各手段構成は上述の実施形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
例えば、第1実施形態において、距離dをスコアとする構成を説明したが、距離dの自乗(d2)をスコアとしてもよい。
また、第2実施形態において、式(2−2)に示した候補3次元点の被観測回数の定数Cに対する比を自乗した値を重み値wとする構成を説明したが、3乗した値や4乗した値などの、べき乗した値であってもよい。
【0086】
なお、本発明における3次元座標算出装置1の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、各候補3次元点に対するスコアを算出する処理、及び代表3次元座標を算出する処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0087】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0088】
1…3次元座標算出装置
9…物体座標系変換装置
11…情報入力部
12…候補3次元点記憶部
13…スコア算出部
14…代表3次元座標算出部
91…テンプレート画像記憶部
92…カメラパラメータ記憶部
93…CGデータ記憶部
94…カメラポーズ3D推定部
95…テンプレート照合部
96…3次元座標算出部
97…平面算出部
98…物体座標系変換行列算出部
99…CG合成部
【特許請求の範囲】
【請求項1】
フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出ステップと、
前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出ステップと
を有することを特徴とする3次元座標算出方法。
【請求項2】
前記スコア算出ステップにおいて、
前記フレーム画像を撮像したカメラの位置から前記候補3次元点までの距離を前記スコアとして算出し、
前記代表3次元座標算出ステップにおいて、
前記候補3次元点のうち、全ての前記候補3次元点の前記スコアにおける中央値に対応する候補3次元点の3次元座標を前記代表3次元座標として出力する
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項3】
前記スコア算出ステップにおいて、
前記候補3次元点ごとに、該候補3次元点の被観測回数と、全ての前記候補3次元点の被観測回数のうち最大の被観測回数とから前記スコアを算出し、
前記代表3次元座標算出ステップにおいて、
前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し
前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数である
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項4】
前記スコア算出ステップにおいて、
前記候補3次元点ごとに、該候補3次元点の被観測回数の予め定めた定数に対する比をべき乗した値を前記スコアとして算出し、
前記代表3次元座標算出ステップにおいて、
前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し
前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数である
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項5】
前記スコア算出ステップにおいて、
前記候補3次元点ごとに、過去のフレーム画像における候補3次元点を含む画像であるテンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像との類似度に基づいて前記スコアを算出し、
前記代表3次元座標算出ステップにおいて、
前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力する
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項6】
前記スコア算出ステップにおいて、
前記テンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像とのサイズが同じである
ことを特徴とする請求項5に記載の3次元座標算出方法。
【請求項7】
前記スコア算出ステップにおいて、
前記過去のフレーム画像を撮像した際のカメラポーズと、前記代表3次元座標を算出する対象のフレーム画像を撮像した際のカメラポーズとに基づいて、前記テンプレート画像を前記代表3次元座標を算出する対象のフレーム画像に投影した領域を算出し、
算出した領域の画像と前記テンプレート画像との類似度を前記スコアとして算出する
ことを特徴とする請求項5に記載の3次元座標算出方法。
【請求項8】
前記スコア算出ステップにおいて、
前記候補3次元点ごとに、該候補3次元点の被観測回数と、全ての前記候補3次元点の被観測回数のうち最大の被観測回数とから第1のスコアを算出し、
前記候補3次元点ごとに、過去のフレーム画像における候補3次元点を含む画像であるテンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像との類似度に基づいて第2のスコアを算出し、
前記候補3次元点それぞれに対応する、前記第1のスコアと前記第2のスコアとから算出された重みを用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し、
前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数である
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項9】
フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出部と、
前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出部と
を備えることを特徴とする3次元座標算出装置。
【請求項10】
請求項1から請求項8のいずれか一項に記載の3次元座標算出方法をコンピュータに実行させるためのプログラム。
【請求項1】
フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出ステップと、
前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出ステップと
を有することを特徴とする3次元座標算出方法。
【請求項2】
前記スコア算出ステップにおいて、
前記フレーム画像を撮像したカメラの位置から前記候補3次元点までの距離を前記スコアとして算出し、
前記代表3次元座標算出ステップにおいて、
前記候補3次元点のうち、全ての前記候補3次元点の前記スコアにおける中央値に対応する候補3次元点の3次元座標を前記代表3次元座標として出力する
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項3】
前記スコア算出ステップにおいて、
前記候補3次元点ごとに、該候補3次元点の被観測回数と、全ての前記候補3次元点の被観測回数のうち最大の被観測回数とから前記スコアを算出し、
前記代表3次元座標算出ステップにおいて、
前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し
前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数である
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項4】
前記スコア算出ステップにおいて、
前記候補3次元点ごとに、該候補3次元点の被観測回数の予め定めた定数に対する比をべき乗した値を前記スコアとして算出し、
前記代表3次元座標算出ステップにおいて、
前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し
前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数である
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項5】
前記スコア算出ステップにおいて、
前記候補3次元点ごとに、過去のフレーム画像における候補3次元点を含む画像であるテンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像との類似度に基づいて前記スコアを算出し、
前記代表3次元座標算出ステップにおいて、
前記候補3次元点それぞれに対応する前記スコアを重みとして用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力する
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項6】
前記スコア算出ステップにおいて、
前記テンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像とのサイズが同じである
ことを特徴とする請求項5に記載の3次元座標算出方法。
【請求項7】
前記スコア算出ステップにおいて、
前記過去のフレーム画像を撮像した際のカメラポーズと、前記代表3次元座標を算出する対象のフレーム画像を撮像した際のカメラポーズとに基づいて、前記テンプレート画像を前記代表3次元座標を算出する対象のフレーム画像に投影した領域を算出し、
算出した領域の画像と前記テンプレート画像との類似度を前記スコアとして算出する
ことを特徴とする請求項5に記載の3次元座標算出方法。
【請求項8】
前記スコア算出ステップにおいて、
前記候補3次元点ごとに、該候補3次元点の被観測回数と、全ての前記候補3次元点の被観測回数のうち最大の被観測回数とから第1のスコアを算出し、
前記候補3次元点ごとに、過去のフレーム画像における候補3次元点を含む画像であるテンプレート画像と、前記代表3次元座標を算出する対象のフレーム画像における候補3次元点を含む領域内の画像との類似度に基づいて第2のスコアを算出し、
前記候補3次元点それぞれに対応する、前記第1のスコアと前記第2のスコアとから算出された重みを用いることにより、前記候補3次元点の3次元座標の加重平均を算出し、算出した加重平均を前記代表3次元座標として出力し、
前記被観測回数は、それぞれ異なる時刻に撮像された複数の前記フレーム画像において各フレーム画像の前記対象画像領域内で前記候補3次元点が観測された回数である
ことを特徴とする請求項1に記載の3次元座標算出方法。
【請求項9】
フレーム画像に撮像されている物体を含む対象画像領域内の前記物体の特徴点である複数の候補3次元点の3次元座標から、各候補3次元点に対するスコアを算出するスコア算出部と、
前記候補3次元点の3次元座標と、該3次元座標に対する前記スコアとに対する統計処理を用いて前記対象画像領域を代表する点の3次元座標である代表3次元座標を算出する代表3次元座標算出部と
を備えることを特徴とする3次元座標算出装置。
【請求項10】
請求項1から請求項8のいずれか一項に記載の3次元座標算出方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図10】
【公開番号】特開2013−101592(P2013−101592A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2012−107790(P2012−107790)
【出願日】平成24年5月9日(2012.5.9)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成23年7月20日 社団法人情報処理学会発行の「第14回 画像の認識・理解シンポジウム(MIRU2011) 論文集」に発表
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願日】平成24年5月9日(2012.5.9)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成23年7月20日 社団法人情報処理学会発行の「第14回 画像の認識・理解シンポジウム(MIRU2011) 論文集」に発表
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]