以下、図面を参照しながら、実施形態を詳細に説明する。
図1は、物体の画像の例を示す図である。図2は、図1の物体の形状を表すCADデータのモデルの初期の姿勢(初期モデル姿勢)の例を示す図である。図3は、図1の画像から検出されたエッジ線と、図2の初期モデル姿勢の輪郭線との対応付けの例を示す図である。
まず、携帯端末装置等の推定装置は、図3(a)に示すように、エッジ検出処理を行って、画像からエッジ線を検出する。次に、図3(b)に示すように、推定装置は、初期モデル姿勢のCADデータが表す輪郭線と、検出したエッジ線とを画像中に表示する。ユーザは、エッジ線及び輪郭線をマウス等で選択することで、それらの線同士を対応付ける。カメラの位置及び姿勢を求めるためには、最低限4個の対応ペアを用いることが望ましい。
次に、推定装置は、対応付けられたエッジ線及び輪郭線の組み合わせを用いて、カメラの位置及び姿勢を計算する。そして、図5(c)に示すように、推定装置は、計算したカメラの位置及び姿勢に合わせて、CADデータが表す輪郭線を物体の画像に重畳表示する。
このような対応付け方法によれば、以下のような問題が発生すると考えられる。
図4は、画像中の物体の姿勢と初期モデル姿勢との関係を示す図である。CADデータのモデルの姿勢は、CADデータにより表される物体を撮像するカメラの位置に応じて決定される。
図3(b)において、ユーザは、まず初期モデル姿勢101を固定値に設定し、カメラの位置を移動させる。次に、ユーザは、対象物の姿勢102に一致するように、タッチ操作やマウス操作等で初期モデル姿勢101を動かす。このとき、対象物の姿勢102と初期モデル姿勢101とが合致していると、エッジ線及び輪郭線を対応づけることができる(図4(a))。一方、対象物の姿勢102と初期モデル姿勢101とが合致していないと、エッジ線及び輪郭線を対応づけることができない(図4(b))。
そこで、第1の技術では、撮像画像から抽出されたエッジ線とCADデータが表す輪郭線(線分)との対応付けにおいて、画像中の対象物の姿勢102に応じて、初期モデル姿勢101を手動で調整している。
しかしながら、撮像画像内の物体の姿勢に合わせて初期モデル姿勢を手動で調整するには手間も時間もかかる。一方で、その調整が行われないと、線分ペアを形成する場合に誤った対応付けをして線分ペアを形成する可能性がある。
また、撮像されている対象物の姿勢が変わる度に、その対象物のCADデータからその姿勢に対応する線分を算出して対応する線分ペアを探索する場合、その探索する線辺ペアを探索する候補に際限がなく、演算処理の負担が大きくなる。
そこで、本実施形態では、対象物を撮像した画像から、その対象物のCADデータの初期モデル姿勢を推定する。これにより、撮像画像から抽出されたエッジ線とCADデータが表す輪郭線(線分)との対応付けを簡略することで、その対応付けの時間の削減及びユーザビリティの向上、誤った重畳表示の防止を実現する。
図5は、本実施形態における推定装置の一例を示す図である。推定装置1は、記憶部2、画像取得部3、照合部4、絞込部5、対応付け部6、推定部7を含む。推定装置1の一例として、後述する推定装置21が挙げられる。
記憶部2は、複数の初期姿勢候補情報9を格納する。記憶部2の一例としては、後述する記憶部33が挙げられる。初期姿勢候補情報9は、複数の視点のいずれかから観察される物体の姿勢毎に、姿勢情報と、視点画像と、視点画像の特徴量とを関連付けた情報である。姿勢情報は、物体の姿勢を表す。視点画像は、該姿勢情報に対応する視点から観察された該物体の画像を示す。姿勢画像の特徴量は、該視点画像から抽出された複数の特徴点を用いて算出される。初期姿勢候補情報9の一例として、後述するCAD画像DB11が挙げられる。
画像取得部3は、対象物を撮影した撮像画像を取得する。画像取得部3の一例として、後述する画像取得部25が挙げられる。
照合部4は、撮像画像の特徴量と複数の初期姿勢候補情報の特徴量とを照合し、照合結果に基づいて複数の初期姿勢候補情報9から、撮像画像に写っている対象物の姿勢に類似する姿勢の姿勢情報を含む初期姿勢候補情報を抽出する。照合部4の一例として、後述する姿勢推定部27が挙げられる。
絞込部5は、照合部4が抽出した初期姿勢候補情報に対応する姿勢の物体が観察される視点の位置に基づいて、物体の形状情報から得られる線分を絞り込む。絞込部5の一例として、後述する候補線抽出部24が挙げられる。
対応付け部6は、絞り込んだ前記線分と前記撮像画像から検出される特徴線とを対応付ける。対応付け部6の一例として、後述する生成部28が挙げられる。
推定部7は、対応付け結果に基づいて、前記対象物の画像から3次元空間内における該対象物に対する視点の位置及び方向を推定する。
このように構成することにより、対象物の画像と物体の形状情報との対応付け処理にかかる計算量を削減することができる。
初期姿勢候補情報9は、物体を取り囲む多面体の頂点及び面の中心に視点を配置した場合に視点のそれぞれから観察される該物体の姿勢に関する情報である。初期姿勢候補情報9の数は、多面体の頂点及び面の中心の数に対応する。
このように構成することにより、多面体の頂点及び面の増加に応じて視点数が増えると、初期モデル姿勢候補も増加し精度が高まると共に,撮像する視点の位置の間隔を均等にすることができる。
候補線抽出部24は、さらに、生成部8を含む。生成部8は、物体の形状情報に基づいて、物体を取り囲む多面体の頂点及び面の中心に視点を配置した場合に視点のそれぞれから観察される物体の姿勢に関する複数の初期姿勢候補情報を生成する。
このように構成することにより、物体の形状情報から、異なる姿勢毎の初期姿勢候補情報を生成することができる。
特徴量は、視点画像または撮像画像から抽出した特徴線の交点それぞれについて、交点それぞれの周囲にある複数の交点に関して幾何学的変換に対する不変量を算出することにより得られる各交点の特徴量である。照合部4は、視点画像から抽出した特徴線の交点の特徴量と撮像画像から抽出した特徴線の交点の特徴量とが一致する交点の数を計測し、一致する交点の数が最も多い姿勢情報を初期姿勢情報として推定する。
このように構成することにより、画像の特徴量を算出することができるので、その特徴量に基づいて、撮像画像中の対象物の初期姿勢情報を推定することができる。
姿勢情報は、回転成分を含む3次元座標系で表される。後述するように、姿勢情報には、少なくとも回転成分を含んでおけばよい。
ここで、上記の特徴量に関して詳述する。幾何学的変換の歪みによらない画像の特徴量を得るため、幾何学的変換に対する不変量を用いて特徴量が計算される。「不変量」とは、幾何学的変換を受けても変化しない量の総称である。幾何学的変換の一例は回転であり、画像を回転させても、画像中に映っている図形の面積は変化しない。図形の面積は回転に対する不変量の例である。また、辺の長さの比は、拡大縮小に対する不変量の例である。幾何学的変換には、回転や拡大縮小などの相似変換のほかに射影変換やアフィン変換がある。
本実施形態では、不変量の一例として、複比を用いる。複比は、直線上の4点または平面上の5点から求められる値で、幾何学的変換の一種である射影変換に対する不変量として知られている。複比を用いるためには、対象とする画像の特徴を点(特徴点)で表す。
特徴点の可能な対応付けを全て試すことは、組み合わせ爆発が生じるため現実的ではない。そこで、本実施形態では、ハッシュを用いた投票を導入し、特徴点の対応を陽に取らずに検索を行う。登録時には、まず画像から特徴点を求めて特徴量を計算し、そこからインデックスを求めてハッシュに登録する。検索時には、検索質問から同様の処理で特徴点、特徴量、インデックスを求めてハッシュにアクセスし、登録されている文書・画像に対して投票を行うことで検索する。
なお、「投票」とは、情報処理の分野で部分的に証拠を集計するために用いる処理であって、得られた証拠に基づいて選択肢の何れかに得点を与え、すべての証拠を集計した結果最高得点を得た選択肢を選択する処理をいう。一般的に各証拠は異なる点数の票を持つ。また、「検索質問」とは、情報検索において、ユーザの検索要求を表すデータをいう。本実施形態の場合には、ユーザは画像を検索質問として入力する。即ち、ユーザは、「この画像と同じものをデータベースより取り出せ」という意味で画像を入力する。
本実施形態では、ある点に着目してその点の近傍ごとに特徴量を定義する。即ち、ある点の近傍n個の点を取り出す。さらに、n個の点からm個の点(複比の単位とする点の数、4または5<m<n)を取り出せば、幾何学的変換を受けても互いに対応する点の近傍n個のうちm個の点が一致するような組合せが存在すると考える。この場合、全ての点についてその近傍n個のうちm個の点の組み合わせを全て試すようにする。n、mの値を適当に選択することにより、計算量の爆発を回避することができる。
さらに、m個の点から4または5個の点を選んで複比を計算すると、いくつかの複比が他の画像と同じになっても、全ての複比が一致することは非常に稀になる。その結果、精度よく同一性が判定できる。
図6は、本実施形態の全体の処理フローを示す図である。図7は、本実施形態における初期モデルの推定処理を説明するための図である。まず、推定装置1は、物体のCADデータに基づいて、初期モデル姿勢の候補データが格納されるCAD画像データベース(以下、データベースを「DB」と称する。)11を生成する(S1)。
CAD画像DB11には、その物体を複数の視点から観察した場合の各視点から観察された物体の姿勢を表すCADモデルの画像(CAD画像)と、その時のCADモデルの位置姿勢(Ri:回転成分、Ti:並進成分)が格納される。ここで、視点とは、上述のカメラに相当する。
CAD画像DB11には、さらに、CAD画像内のCADモデルの姿勢の候補(初期モデル姿勢候補)を特定するための特徴量fが格納される。ここで、推定装置1は、例えば、CAD画像から対象物の輪郭線を延長した直線同士の交点を算出する。それから、推定装置1は、各交点pの近傍にあるn個の交点を局所的な集合として決定し、各集合からm個の交点を選択する各組合せに対して特徴量fを計算する。
次に、推定装置1は、対象物が撮像された撮像画像12を取得する(S2)。推定装置1は、初期モデル姿勢推定処理を行う(S3)。S3では、推定装置1は、CAD画像DB11から撮像画像12中の対象物の姿勢に最も近いCAD画像を探し、そのCAD画像におけるモデル位置姿勢を初期モデル姿勢と決定する。
S3では、推定装置1は、まず、CAD画像DB11に格納された各初期モデル姿勢候補の特徴量と、撮像画像に含まれる対象物の画像部分の特徴量とのマッチングを行う(S3−1)。ここで、推定装置1は、例えば、撮像画像から対象物の輪郭線を延長した直線同士の交点を算出する。それから、推定装置1は、各交点pの近傍にあるn個の交点を局所的な集合として決定し、各集合からm個の交点を選択する各組合せに対して特徴量fを計算する。推定装置1は、撮像画像と初期モデル姿勢候補との間で、特徴量が一致する交点の数を計測する。
推定装置1は、マッチングした交点数を類似度として算出する。推定装置1は、CAD画像DB11に格納された初期モデル姿勢候補から、撮像画像に含まれる対象物の姿勢と類似度が最も高いものを初期モデル姿勢13として決定する(S3−2)。
推定装置1は、初期モデル姿勢13の物体の形状情報に含まれる複数の輪郭線(候補線)のうち、物体を観察した視点から観察される複数の候補線を抽出する(S4)。
次に、推定装置1は、観察される複数の候補線のうち所定数の候補線それぞれと、画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、所定数の組み合わせを表す対応付け情報を複数個生成する(S5)。そして、推定装置1は、複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する(S6)。
推定装置1は、対応付け結果に基づいて、対象物の画像から3次元空間内における対象物に対する視点の位置及び方向(カメラの位置及び姿勢)を推定する(S7)。
本実施形態について、以下に詳述する。
図8は、本実施形態(実施例1)における推定装置のブロック図である。推定装置21は、CADデータ読込部22、CAD画像DB生成部23、候補線抽出部24、画像取得部25、特徴検出部26、姿勢推定部27、生成部28、位置計算部29、誤差計算部30、決定部31、出力部32、及び記憶部33を含む。
推定装置21は、タブレット、ノート型PC、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型PC等のコンピュータであってもよい。
記憶部33は、撮像画像12、CADデータ41、CAD画像DB11、特徴線43、候補線44、対応ペア45、パラメータ46、指標47、パラメータ48等を記憶する。
CADデータ41は、物体の3次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の3次元座標を含み、線分情報は、各線分の両端の頂点を示す識別情報を含む。
CAD画像DB生成部23は、CADデータ41により表される物体を複数の撮像位置のそれぞれから観察した場合の物体の位置姿勢を示す値(姿勢値)の候補(初期モデル姿勢候補)を決定する。CAD画像DB生成部23は、レンダリングプログラムを用いて、その決定した初期モデル姿勢候補それぞれのCAD物体の画像の画像(CAD画像)を生成する。CAD画像DB生成部23は、生成したCAD画像からエッジ(特徴線)を抽出し、そのエッジ(特徴線)を延長した直線同士の交点を抽出し、各交点の特徴量を算出する。CAD画像DB生成部23は、初期モデル姿勢候補の姿勢値(Ri,Ti)と、その姿勢値に対応するCAD画像と、そのCAD画像に対応する各交点の特徴量とを関係づけて、CAD画像DB11に格納する。
撮像装置20は、例えば、カメラであり、物体の撮像画像12を撮影する。画像取得部25は、撮像装置20から撮像画像12を取得して、記憶部33に格納する。
特徴検出部26は、エッジ検出処理を行って、撮像画像12から複数のエッジ線を検出し、検出したエッジ線を特徴線43として記憶部33に格納する。
姿勢推定部27は、CAD画像DB11に格納された初期モデル姿勢候補の中から、撮像画像12中の対象物に最も近い初期モデル姿勢候補を初期モデル姿勢と決定する。
候補線抽出部24は、決定された初期モデル姿勢での物体の輪郭線を抽出し、候補線44として記憶部33に格納する。
生成部28は、撮像画像12から検出された特徴線43のうち、所定の条件を満たす複数の特徴線を抽出する。所定の条件としては、例えば、特徴線の少なくとも一部分が撮像画像12内の指定領域に含まれること、特徴線が撮像画像12内の基準位置から所定距離の範囲内に存在すること等が用いられる。また、生成部28は、初期モデル姿勢から検出された候補線44のうち、初期モデル姿勢が観察される視点の位置及び姿勢から観察される複数の候補線を抽出する。
次に、生成部28は、抽出した候補線のうちN本(Nは2以上の整数)の候補線それぞれと、抽出した特徴線のうちN本の特徴線それぞれとを対応付けた、N個の組み合わせを生成する。そして、生成部28は、生成したN個の組み合わせをN個の対応ペア45として記憶部33に格納する。
位置計算部29は、N個の対応ペア45を用いて、撮像画像12を撮影したときの撮像装置20の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ46として記憶部33に格納する。
このとき、位置計算部29は、撮像装置20の位置及び姿勢を表す変数を所定値ずつ変更しながら、各対応ペアに含まれる候補線を撮像画像12上に投影することで、投影線を生成する。
誤差計算部30は、位置計算部29が生成した投影線の位置と、その対応ペアに含まれる特徴線の位置との間のずれを表す誤差を計算する。そして、位置計算部29は、誤差計算部30が計算した誤差の総和が最小となる変数の値を、パラメータ46として求める。
位置計算部29は、N個の対応ペアの選択を変更しながら、パラメータ46を計算する処理を複数回繰り返す。
決定部31は、パラメータ46が計算される度に、そのパラメータ46が表す撮像装置20の位置及び姿勢を用いて、位置計算部29が選択したN個の対応ペアに含まれる候補線を撮像画像12上に投影することで、N本の投影線を生成する。そして、決定部31は、誤差計算部30と同様にして、N本の投影線の位置とN本の特徴線の位置との間の誤差の総和を計算し、計算した誤差の総和を指標47として記憶部33に格納する。
次に、決定部31は、それぞれのパラメータ46を用いて計算した指標47に基づいて、誤差の総和が最小となるN個の対応ペアを決定する。これらのN個の対応ペアは、対応付け結果に対応する。そして、決定部31は、決定したN個の対応ペアを用いて、3次元空間内における撮像装置20の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ48として記憶部33に格納する。出力部32は、パラメータ48を処理結果として出力する。
図9は、本実施形態(実施例1)におけるCADデータのデータ構造例を示す図である。CADデータ41は、例えば、OBJ形式のCAD物体のデータである。CADデータ41は、例えばCAD物体を形成する線分、すなわち3次元直線の始点及び終点で表されるCADデータ構造を格納する。図9のCADデータ構造は、直線を識別する「直線番号」41−1、直線の始点座標を示す「始点[mm]」41−2、直線の終点座標を示す「終点[mm]」41−3を含む。
図10は、本実施形態(実施例1)におけるCAD画像DBの生成処理のフローチャートを示す図である。図11は、正八面体上の視点の例を説明するための図である。図12は、本実施形態(実施例1)における複数の初期モデル姿勢候補のそれぞれから生成したCAD画像の一例を示す図である。図13は、本実施形態(実施例1)におけるCAD画像からの交点抽出例を示す図である。
CADデータ読込部22は、CADデータ41を読み込み、記憶部33に格納する(S11)。ここで、変数i=0とする(S12)
CAD画像DB生成部23は、CADデータ41に基づいて、CAD物体の初期モデル姿勢候補Kiの位置姿勢(Ri,Ti)を決定する(S13)。S13では、CAD画像DB生成部23は、CAD物体を取り囲むような多面体の頂点及び面の中心からCAD物体へ向くような視点の位置姿勢のいずれから初期モデル姿勢候補Kiを決定する。例えば、CAD画像DB生成部23は、CAD物体を正八面体(図11)の中心に置き、正八面体の頂点及び面の中心からCAD物体に向くような視点の位置姿勢のいずれかから、初期モデル姿勢候補Kiを計算する。
なお、CAD物体を取り囲むような多面体として、正八面体ではなく別の正多面体を用いることもできる。視点数が増えると、初期モデル姿勢候補が増加し精度が高まるが、CAD画像DB11の容量が増え,計算の処理量も増加する。また、正多面体を使用するのは,カメラ間隔を均等にするためである。
CAD画像DB生成部23は、OpenGL等のレンダリングプログラムで、初期モデル姿勢候補Kiの位置姿勢(Ri,Ti)でのCAD物体の画像(CAD画像)を描画する(S14)。初期モデル姿勢候補Kiの位置姿勢(Ri,Ti)(例えば、i=1〜6)に基づいて描画されたCAD画像の例を図12に示す。
CAD画像DB生成部23は、初期モデル姿勢候補Kiの位置姿勢(Ri,Ti)について生成したCAD画像のエッジを抽出し、そのエッジを延長した直線同士の交点を抽出する(S15)。S15では、CAD画像DB生成部23は、S14で生成したCAD画像に対してエッジ抽出処理を行う。エッジ抽出処理として、例えば、非特許文献2に記載の処理を用いることが考えられる。CAD画像DB生成部23は、図13に示すように、抽出したエッジを延長させ、他のエッジと交わる点を交点として抽出する。ここで、エッジを延長させる理由は、実際の撮像画像に対して同様の交点抽出をする際に,エッジが細切れになっていることがあるためである。
CAD画像DB生成部23は、S15で抽出した交点のそれぞれに対して、例えばLocally Likely Arrangement Hashing(LLAH)による特徴量(以下、「LLAH特徴量」と称する)fiを算出する(S16)。LLAHは、ある特徴点の近傍に存在する複数の特徴点との位置関係の組み合わせを利用するものであり、ある程度の視点変化、交点の欠損に対応することができる。LLAHは、点の分布に対して定義される特徴量である。
CAD画像DB生成部23は、各交点pの近傍にあるn個の交点を局所的な集合として決定し、各集合からm個の交点を選択する各組合せに対して特徴量を計算する。ここで、幾何学的変換の歪みによらない画像内のエッジで特定される形状の特徴量を得るため、幾何学的変換に対する不変量を用いて特徴量が計算される。本実施形態では、不変量の一例として、複比をとりあげる。複比は、直線上の4点または平面上の5点から求められる値で、幾何学的変換の一種である射影変換に対する不変量として知られている。
ここで、候補IDは、物体の姿勢を特定する識別番号である。点IDは文書ごとに各点に割り当てられる点の識別番号である。nCmパターンIDはn点からm点を取り出す際の組み合わせパターンに与えられる識別番号であり、0からCm−1の値をとる。同様にmC5パターンIDはm点から5点を取り出す際の組み合わせパターンの識別番号であり、0からmC5−1の値をとる。
例えば、m(=5点)から5点を取り出す場合を例に説明する。この場合、5点から5通りの複比を計算する。同一平面上の5点から得られる複比として、例えば、以下のものがある。
ここで、P(A,B,C)は、頂点A,B,Cから構成される三角形の面積である。本実施形態では、例えば、このような複比を用いて画像固有の特徴量を計算し、画像の検索を行う。
5通りの複比は、得られた5点ABCDEに対して、ABCDE,BCDEA,CDEAB,DEABC,EABCDというように先頭となる点を巡回させて得られるものである。
次に、ハッシュテーブルのインデックスが計算される。ハッシュ関数を以下に示す。
ここで、cr
n(n=0から4)は離散化された5通りの複比、Vmaxは離散化された複
比の最大値、patは
mC
5パターンIDである。
その後インデックスを用いて(候補ID、交点ID、nCmパターンID)の組をハッシ
ュテーブルH1に登録する。ハッシュで衝突が起きた場合、データはリスト構造で付け加えられる。ここで、候補IDだけでなく、交点IDおよびnCmパターンIDもハッシュテーブルH1に登録するのは、検索時に特徴量の比較を行う際、順序付けられた複比の一致する個数を、候補ID、交点ID、nCmパターンIDごとに集計するためである。
図14は、本実施形態(実施例1)におけるLLAHの計算を説明するための図である。図14の例では、ある点pの周囲に存在する三角形ペアの面積比(A1/A2)が特徴量として計算される(例えば、非特許文献3参照。)。図14において、点pの特徴量は、近傍の点数を、例えばn(=7)とすると、数が7Cm、次元がmC4の数値列で表される。mはn個のうち使用する特徴点数で、例えば5であるとする。
このようにm個の点から4または5個の点を選んで複比を計算すると、いくつかの複比が他の画像と同じになっても、全ての複比が一致することは非常に稀になる。その結果、精度よく同一性が判定できる。
CAD画像DB生成部23は、CAD画像DB11に、初期モデル姿勢候補Kiの位置姿勢(Ri,Ti)、その初期モデル姿勢候補に対応するCAD画像、そのCAD画像に含まれる交点毎のLLAH特徴量fiを格納する(S17)。CAD画像DB11について、図15を用いて説明する。
図15は、本実施形態(実施例1)におけるCAD画像DBの一例を示す。CAD画像DB11は、「ID」11−1、「回転成分Ri」11−2、「並進成分Ti」11−3、「LLAH特徴量fi」11−4、「CAD画像」11−5のデータ項目を含む。
「ID」11−1には、初期モデル姿勢候補Kiを識別する識別情報が格納される。本実施形態の例では、ID=iとする。「回転成分Ri」11−2には、ID=iで特定される初期モデル姿勢候補Kiの回転成分Ri(Ri_x,Ri_y,Ri_z)が格納される。「並進成分Ti」11−3には、ID=iで特定される初期モデル姿勢候補Kiの並進成分Ti(Ti_x,Ti_y,Ti_z)が格納される。「LLAH特徴量fi」11−4には、ID=iで特定される初期モデル姿勢候補から抽出された交点毎のLLAH特徴量fiが格納される。m=5の場合、それぞれのIDに対して、LLAH特徴量fiは、例えば7C5×5C4×(交点の数)個得られる。「CAD画像」11−5には、ID=iで特定される初期モデル姿勢候補KiのCAD画像が格納される。
S17の処理後、CAD画像DB生成部23は、iをインクリメントする(S18)。CAD画像DB生成部23は、iが所定の初期モデル姿勢候補数J以下の間(S19,NO)、S13〜S18の処理を繰り返す。所定の初期モデル姿勢候補数Jは、例えば、S13で説明した多面体の頂点及び面の中心の総数である。iが所定の初期モデル姿勢候補数Jを超えると(S19,YES)、図10のフローは終了する。
これにより、CAD画像DB11は予め生成される。次に、撮像画像12から、撮像画像の対象物姿勢に対応する初期モデル姿勢を推定する処理を含む推定処理について説明する。
図16は、本実施形態(実施例1)における画像処理の具体例を示すフローチャートである。CADデータ読込部22は、CADデータ41を読み込む(S20)。候補線抽出部24は、CADデータ41から3次元直線を検出し、図9に示すようなデータ構造を作成する(S21)。
画像取得部25は、撮像装置20から撮像画像12を取得し(S22)、特徴検出部26は、撮像画像12から複数の特徴線43を検出する(S23)。
次に、姿勢推定部27は、CAD画像DB11を用いて、撮像画像12中の対象物の姿勢に対応する初期モデル姿勢を推定する(S24)。S24の詳細については、図17を用いて説明する。
図17は、本実施形態(実施例1)における初期モデル姿勢推定処理(S24)のフローを示す図である。まずユーザは、撮像画像12中の対象物の存在範囲を指定する四角形状の指定領域を用いて、画像中の左上座標・右下座標を指定する(S24−1)。すると、姿勢推定部27は、その指定された指定領域の内部で、対象物を示す画像部分のエッジ(特徴線)を抽出する。S24−1について、図18を用いて説明する。
図18は、撮像画像12内の四角形の指定領域の例を示す図である。撮像画像12内においてユーザにより四角形の指定領域51が指定された場合、特徴検出部26は、指定領域51内に一部分又は全体が含まれる特徴線を抽出する。
図19は、本実施形態(実施例1)における撮像画像から特徴線の交点を抽出することについて説明するための図である。姿勢推定部27は、図19に示すように、指定領域51内で抽出された各エッジを延長して、エッジ同士の交点を抽出する(S24−2)。S24−2の処理は、S15及び図13で説明した処理と同様の処理である。
姿勢推定部27は、LLAH特徴量fqを各交点に対して計算する(S24−3)。S24−3の処理は、S16及び図14で説明した処理と同様の処理である。姿勢推定部27は、S16で説明した方法によりハッシュテーブルにおいてハッシュのインデックスを求め、同様のハッシュテーブルH2を得る。
姿勢推定部27は、LLAH特徴量fi及びLLAH特徴量fqを用いた各交点のマッチングにより、CAD画像DB11に格納された初期モデル姿勢候補から、特徴量が一致する交点数が最も多いものを類似度が最大となる候補として特定する(S24−4)。
S24−4では、姿勢推定部27は、撮像画像12とCAD画像1枚について,撮像画像中の交点に対応するCAD画像中の交点を検索する。姿勢推定部27は、対応付いた交点の数を保存し,他のCAD画像でも繰り返す(特許文献4参照。)。
より具体的には、姿勢推定部27は、H1,H2を用いて一定数L以上の複比が順序も含めて一致しているかどうかを調べ一致しているものについて一致する交点数を計測する。Lの好適な値を決定するためには、mCnの制約条件の下、複数の適当な値を選んで予備的な実験を行い、検索結果の正解と不正解との比が大きい値をLの値として決定すればよい。
以上の処理により、姿勢推定部27は、最終的に一致する交点数の最も多い候補IDに対応する初期モデル指定候補を、類似度が最大となる候補として特定する。
姿勢推定部27は、最も対応付いた交点の数が多いCAD画像の初期モデル姿勢候補を初期モデル姿勢として決定する(S24−5)。
図16の説明に戻る。初期モデル姿勢推定処理(S24)の終了後、候補線抽出部24は、決定された初期モデル姿勢から候補線を抽出する(S25)。S25では、まず、候補線抽出部24は、選択された初期モデル姿勢に従ってCADデータを座標変換する。ここでは、S21で検出した3次元直線を用いる。候補線抽出部24は、非特許文献4に記載された方法によりCADデータの座標情報から、3次元直線のうち視点の裏側に存在する線(隠線)を除去する。候補線抽出部24は、CADデータの座標情報から、3次元直線のうち外周に存在する線(外周線)を抽出する。ここで、隠線以外の線を用いる場合と、外周線のみ用いる場合が有り得る。S25については、図20〜図22を用いて詳述する。
図20は、図18に示した撮像画像12の領域51に写っている物体のCADデータ41から検出された候補線44の例を示す図である。この例では、25本の候補線44が検出されている。
図21は、図20に示した候補線44から隠線を除去した後の残りの候補線の例を示す図である。25本の候補線44のうち11本の隠線を除去することによって、14本の候補線が抽出されている。
候補線抽出部24は、残りの候補線のうち物体の外形エッジを表す候補線を抽出してもよく、さらに、外形エッジを表す候補線のうち物体の外周を表す候補線を抽出してもよい。物体の外周を表す候補線は、物体の輪郭線を表しており、コンピュータグラフィックス(CG)における境界表現(Boundary Representations)の技術を用いることで、検出することが可能である。
例えば、非特許文献8に開示されているように、境界表現の1つであるウィングドエッジ(Winged-Egde)構造のデータには、輪郭線とそれを形成する頂点及び面を表す情報と、他の輪郭線との接続関係を表す情報とが含まれている。これらの情報に基づいて、CADデータから検出された各候補線が外周に対応するか否かを判定することができる。
撮像画像12から検出される特徴線43が輪郭線である場合、物体と背景との境界線が特徴線43として検出される。物体と背景は物理的に離れているため、太陽、照明等の光の当たり方が異なっていたり、材質又は色が異なっていたりすることが多い。このため、より明瞭な特徴線が検出されやすく、特徴線の位置の精度も高くなる。また、輪郭線を表す対応ペアを多数生成することで、撮像画像12内における対応ペアの分布範囲が広くなり、パラメータ48の計算精度の向上に寄与すると考えられる。
図22は、本実施形態(実施例1)における物体の外周を表す候補線の例を示す図である。図22において太線で示す8本の候補線が外周を表す候補線として抽出される。
候補線抽出部24は、図21〜図22に示した候補線の中から、撮像画像12上に投影した際に所定長よりも長いものを選択して使用してもよい。投影線が長い場合、物体の形状を表す輪郭線自体が長いため、より長い特徴線と対応付けられる可能性が高い。また、長い特徴線ほど、その信頼性も高いと考えられる。さらに、撮像装置20の位置及び姿勢の計算において、投影線と特徴線がともに長いほど、投影線と特徴線との間の誤差の計算精度が向上するため、パラメータ48の計算精度も向上する。
次に、生成部28は、N本の候補線とN本の特徴線とを対応付けたN個の対応ペア45を生成する(S26)。ここでは、生成部28は、対応ペアの直線を選択する。生成部28は、ランダムで、画像中のエッジ4本とCADデータの候補直線から4本を選択する。なお、生成部28は、線分を長い順にソートし、優先的に長い線を選択しても良い。これにより、後の姿勢推定の安定性が向上する。
位置計算部29は、生成した対応ペア45を用いて撮像装置20の位置及び姿勢(パラメータ46)を計算する(S27)。位置計算部29は、例えば非特許文献6に記載の方法により、モデルに対する撮像装置20の位置及び姿勢(R’,T’)を算出する。
図23は、本実施形態(実施例1)における対応ペアの例を示す図である。この例では、候補線1711〜候補線1714が特徴線1701〜特徴線1704とそれぞれ対応付けられて、4個の対応ペアが生成されている。
S27において、位置計算部29は、例えば、最小二乗法を用いてパラメータ46を計算することができる。この場合、位置計算部29は、撮像装置20の位置及び姿勢を表す変数を所定値ずつ変更しながら、各対応ペアに含まれる候補線を撮像画像12上に投影することで、投影線を生成する。
誤差計算部30は、投影線の位置と、その対応ペアに含まれる特徴線の位置との誤差Ei(i=1〜N)を評価し、N個の対応ペアに対する二乗誤差の総和Eが最小となる変数の値を、パラメータ46として求める。二乗誤差の総和Eは、次式により計算される。
誤差計算部30は、例えば、図24又は図25に示すような方法で、誤差Eiを計算することができる。図24は、本実施形態(実施例1)における投影線と特徴線との間の領域の面積に基づく計算方法の例を示す図である。i番目の対応ペアに含まれる投影線が線分1801であり、特徴線が線分1802である場合、線分1801の両端と線分1802の両端とをそれぞれ結ぶ線分1803及び線分1804を定義することができる。この場合、線分1801〜線分1804によって囲まれた領域の面積Aiを、誤差Eiとして用いることができる(Ei=Ai)。
面積Aiが小さいほど、誤差Eiは小さくなり、線分1801が線分1802に重なっている場合、誤差Eiは0になる。
図25は、本実施形態(実施例1)における投影線と特徴線との間の距離に基づく計算方法の例を示す図である。線分1802の両端から線分1801上へ下ろした垂線1901及び垂線1902の長さを、それぞれ、Li1及びLi2とする。この場合、Li1及びLi2の和を、誤差Eiとして用いることができる(Ei=Li1+Li2)。
Li1及びLi2が短いほど、誤差Eiは小さくなり、線分1801が線分1802に重なっている場合、誤差Eiは0になる。
次に、決定部31は、パラメータ46が表す撮像装置20の位置及び姿勢を用いて、N個の対応ペアに含まれる候補線を撮像画像12上に投影することで、N本の投影線を生成する(S28)。
決定部31は、以下の式により、CADデータの線分を2次元の画像平面内に投影する。
(X,Y,Z):CADの線分の端点の3次元座標
A:カメラの内部パラメータ(非特許文献7の方法で予め計測しておく。)
R:算出されたR’をロドリゲス変換(Rodrigues' rotation formula)により3行3列の行列に変換したもの
T:算出されたT’
(u,v):画像平面内に投影されたCAD線分の端点2次元座標
次に、決定部31は、N本の投影線の位置とN本の特徴線の位置との間の誤差の総和を表す指標47を計算し(S29)、指標47の計算を所定回数行ったか否かをチェックする(S30)。指標47の計算を所定回数行っていない場合(S30,NO)、位置計算部29は、N個の対応ペアの選択を変更し(S26)、推定装置21は、S27以降の処理を繰り返す。
指標47の計算を所定回数行った場合(S30,YES)、決定部31は、誤差の総和が最小となるN個の対応ペアを選択し(S31)、それらの対応ペアに基づいてパラメータ48を計算する(S32)。そして、出力部32は、選択されたN個の対応ペア及びパラメータ48を出力する(S33)。
図16の画像処理によれば、N個の対応ペアの選択を自動的に変更しながら指標48の計算を繰り返すことで、誤差の総和が最小となるN個の対応ペアを求めることができる。これにより、ユーザによる選択操作の作業時間が削減され、処理時間が短縮されるとともに、撮像装置20の位置及び姿勢の推定精度が向上する。
また、ヒューマンエラーに起因する選択ミスがなくなるため、選択のやり直しによる処理時間の増加が発生しない。熟練者でなくても最適なN個の対応ペアを求めることができるため、対応付け結果を適用する作業の種類及び対象者を拡大することが可能になる。
なお、図16のS30において、推定装置21は、指標47の計算を所定回数行った場合に繰り返し処理を打ち切る代わりに、指標47が表す誤差が所定値よりも小さくなった場合に繰り返し処理を打ち切ってもよい。
また、ステップS27及びS29において、推定装置21は、投影線の位置と特徴線の位置との間の誤差の代わりに、投影線と特徴線との間の類似度を評価してもよい。投影線と特徴線との間の類似度としては、例えば、特許文献5に記載された2本の線分の類似度を用いることができる。この場合、S27において、類似度の総和が最大となるパラメータ46が求められ、S31において、類似度の総和が最大となるN個の対応ペアが選択される。
ところで、S31において選択されたN個の対応ペアの誤差の総和が最小であったとしても、各投影線が各特徴線を180度回転させた線分を表していることがある。
図26は、180度回転した線分の例を示す図である。図26の投影線及び特徴線のうち、投影線2012は、特徴線2002と重なっている。一方、投影線2011、投影線2013、及び投影線2014は、投影線2012を軸として、特徴線2002、特徴線2003、及び特徴線2004をそれぞれ180度回転させた線分に対応する。この場合、式(12)の面積Aiはほぼ0になるため、誤差の総和が最小になる可能性がある。
そこで、このような対応付けを禁止するために、決定部31は、次のような条件を満たすN個の対応ペアの中から、誤差の総和が最小となるN個の対応ペアを選択してもよい。
(C11)N本の投影線のうち、所定の割合の投影線が画像821内に含まれている。
(C12)N本の投影線のうち、所定の割合の投影線が画像821内の所定位置の近傍に存在する。
(C13)画像821の面積に対するN本の投影線の分布範囲の割合が所定値以上である。
図27は、パラメータ46の計算に適していない候補線の例を示す図である。図27(a)は、互いに平行な4本の候補線を示している。4本の候補線が平行である場合、矢印2101の方向に候補線を並行移動させても誤差が変化せず、候補線の位置を固定することが困難になることがある。
図27(b)は、同一直線上に存在する2本の候補線を示している。2本の候補線が同一直線上に存在する場合、矢印2102の方向に候補線を拡大又は縮小させても誤差が変化せず、スケールを固定することが困難になることがある。
そこで、図16のS26において、生成部28は、次のような条件を満たすN本の候補線を選択して、N個の対応ペアを生成してもよい。
(C21)N本の候補線のうち少なくとも2本の候補線は平行ではない。
(C22)N本の候補線のうちいずれの2本の候補線も同一直線上に存在しない。
同様の理由から、生成部28は、次のような条件を満たすN本の特徴線を選択して、N個の対応ペアを生成してもよい。
(C31)N本の特徴線のうち少なくとも2本の特徴線は平行ではない。
(C32)N本の特徴線のうちいずれの2本の特徴線も同一直線上に存在しない。
なお、S29において、対応ペア直線の誤差を算出してもよい。図28は、本実施形態(実施例1)における誤差の算出について説明するための図である。この場合、決定部31は、図28に示すように、N個の対応するエッジ−投影線ペアからなる面積の平均を算出し、各ペアの面積とその平均の面積との誤差を算出してもよい。
次に、本実施形態(実施例2)について説明する。実施例1では初期モデル姿勢候補を回転成分Riと並進成分Tiのペアとしていたが、実施例2では回転成分Riのみを候補としても良い(並進成分Tiがない以外は、用いるデータ及び処理、機能等は実施例1と同じである。)。この場合、並進成分Tiは,CADモデルの全体像が映る程度の値を予め設定しておく。
例えば、CADモデルの大きさが10cm四方であった場合,T=(0,0,20)[cm]として固定してもよい。実施例2の場合、CAD画像DB11のデータ構造が回転成分だけで済むというメリットが有る。
次に、本実施形態(実施例3)について説明する。実施例1,2では事前にCAD画像DBを作成していたが,実施例3では初期モデル姿勢推定処理を行うときに、同時にCAD画像DB11が作成される。これにより、1回の初期モデル姿勢推定処理に掛かる時間は長くなるが、メモリ容量を削減することができる。
次に、本実施形態(実施例4)について説明する。実施例4は、構成及び処理等は実施例1と同様である。実施例1では初期モデル姿勢候補の選択方法を、LLAHによる交点のマッチング数により決定していたが、それ以外の方法を用いても構わない。対象物の表面上に識別可能な模様が分布している場合、例えば、非特許文献9に記載された局所特徴量によるマッチングにより候補を決定しても良い。
この場合には、姿勢推定部27は、CAD画像、撮像画像の2つからORB特徴量を抽出し、マッチングを行い、マッチング点数が最も多い候補を初期モデル姿勢として用いてもよい。
本実施例によれば、カメラの姿勢推定に用いる撮像画像中の直線と3Dモデルの直線の対応ペアを決定するための演算量が削減できる。すなわち、姿勢の向きの限定による処理対象の削減と、対象物の後ろに隠れる直線を対応付け処理から外すことで処理量を削減することができる。
図29は、本実施形態における推定装置21として用いられるコンピュータの構成例を示す図である。コンピュータ2200は、Central Processing Unit(CPU)2201、メモリ2202、入力装置2203、出力装置2204、補助記憶装置2205、媒体駆動装置2206、及びネットワーク接続装置2207を含む。これらの構成要素はバス2208により互いに接続されている。撮像装置20は、バス2208に接続されていてもよい。
メモリ2202は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、画像処理に用いられるプログラム及びデータを格納する。メモリ2202は、記憶部33として用いることができる。
CPU2201(プロセッサ)は、例えば、メモリ2202を利用してプログラムを実行することにより、CADデータ読込部22、CAD画像DB生成部23、候補線抽出部24、画像取得部25、特徴検出部26、姿勢推定部27として機能する。さらに、CPU2201は、生成部28、位置計算部29、誤差計算部30、決定部31として機能する。
入力装置2203は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置2204は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、決定部31が決定したN個の対応ペアであってもよい。出力装置2204は、図8の出力部32として用いることができる。
補助記憶装置2205は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置2205は、ハードディスクドライブであってもよい。コンピュータ2200は、補助記憶装置2205にプログラム及びデータを格納しておき、それらをメモリ2202にロードして使用することができる。補助記憶装置2205は、記憶部33として用いることができる。
媒体駆動装置2206は、可搬型記録媒体2209を駆動し、その記録内容にアクセスする。可搬型記録媒体2209は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体2209は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体2209にプログラム及びデータを格納しておき、それらをメモリ2202にロードして使用することができる。
このように、画像処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ2202、補助記憶装置2205、又は可搬型記録媒体2209のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置2207は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。コンピュータ2200は、プログラム及びデータを外部の装置からネットワーク接続装置2207を介して受信し、それらをメモリ2202にロードして使用することができる。ネットワーク接続装置2207は、図8の出力部32として用いることができる。
なお、コンピュータ2200が図29のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体2209又は通信ネットワークを使用しない場合は、媒体駆動装置2206又はネットワーク接続装置2207を省略してもよい。
本実施形態によれば、撮像装置の位置及び姿勢を推定する技術において、CADデータの三次元線分と、撮影された画像中の対象物のエッジとの重畳させる場合に、特定した初期モデル姿勢を用いて線分のペアの対応付けを行うので、処理時間の削減を図ることができる。また、初期モデル姿勢の調整を手動で行う必要がなく、自動調整が可能なので、ユーザビリティの向上を図ることができる。また、初期モデル姿勢が特定されるので、CADデータの線分と、画像のエッジ線との対応付けにおいて、初期モデル姿勢に基づいて行うので、誤った重畳表示の防止を実現することができる。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
上記実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の視点のいずれかから観察される物体の姿勢毎に、該姿勢を表す姿勢情報と、該姿勢情報に対応する視点から観察された該物体の画像を示す視点画像と、該視点画像から抽出された複数の特徴点を用いて算出される該視点画像の特徴量とを関連付けた情報である複数の初期姿勢候補情報を記憶する記憶部と、
対象物を撮影した撮像画像を取得する画像取得部と、
前記撮像画像の特徴量と前記複数の初期姿勢候補情報の特徴量とを照合し、照合結果に基づいて該複数の初期姿勢候補情報から、前記撮像画像に写っている前記対象物の姿勢に類似する姿勢の姿勢情報を含む初期姿勢候補情報を抽出する照合部と、
前記照合部が抽出した初期姿勢候補情報に対応する姿勢の物体が観察される視点の位置に基づいて、前記物体の形状情報から得られる線分を絞り込む絞込部と、
絞り込んだ前記線分と前記撮像画像から検出される特徴線とを対応付ける対応付け部と、
対応付け結果に基づいて、前記対象物の画像から3次元空間内における該対象物に対する視点の位置及び方向を推定する推定部と、
を備えることを特徴とする推定装置
(付記2)
前記初期姿勢候補情報は、前記物体を取り囲む多面体の頂点及び面の中心に前記視点を配置した場合に該視点のそれぞれから観察される該物体の姿勢に関する情報であり、
前記初期姿勢候補情報の数は、前記多面体の頂点及び面の中心の数に対応する
ことを特徴とする付記1に記載の勢推定装置。
(付記3)
前記推定装置は、さらに、
前記物体の形状情報に基づいて、前記物体を取り囲む多面体の頂点及び面の中心に前記視点を配置した場合に該視点のそれぞれから観察される該物体の姿勢に関する前記複数の初期姿勢候補情報を生成する生成部
を備えることを特徴とする付記1または2に記載の推定装置。
(付記4)
前記特徴量は、前記視点画像または前記撮像画像から抽出した特徴線の交点それぞれについて、該交点それぞれの周囲にある複数の交点に関して幾何学的変換に対する不変量を算出することにより得られる各交点の特徴量であり、
前記照合部は、前記視点画像から抽出した特徴線の交点の前記特徴量と前記撮像画像から抽出した特徴線の交点の前記特徴量とが一致する交点の数を計測し、一致する交点の数が最も多い姿勢情報を前記初期姿勢情報として推定する
ことを特徴とする付記1〜3のうちいずれかに記載の推定装置。
(付記5)
前記視点情報は、回転成分を含む3次元座標系で表される
ことを特徴とする付記1〜4のうちいずれかに記載の推定装置。
(付記6)
コンピュータに、
対象物を撮影した撮像画像を取得し、
記憶部から、複数の視点のいずれかから観察される物体の姿勢毎に、該姿勢を表す姿勢情報と、該姿勢情報に対応する視点から観察された該物体の画像を示す視点画像と、該視点画像から抽出された複数の特徴点を用いて算出される該視点画像の特徴量とを関連付けた情報である複数の初期姿勢候補情報を取得し、
前記撮像画像の特徴量と前記複数の初期姿勢候補情報の特徴量とを照合し、照合結果に基づいて該複数の初期姿勢候補情報から、前記撮像画像に写っている前記対象物の姿勢に類似する姿勢の姿勢情報を含む初期姿勢候補情報を抽出し、
抽出した前記初期姿勢候補情報に対応する姿勢の物体が観察される視点の位置に基づいて、前記物体の形状情報から得られる線分を絞り込み、
絞り込んだ前記線分と前記撮像画像から検出される特徴線とを対応付け、
対応付け結果に基づいて、前記対象物の画像から3次元空間内における該対象物に対する視点の位置及び方向を推定する、
処理を実行させる推定プログラム。
(付記7)
前記初期姿勢候補情報は、前記物体を取り囲む多面体の頂点及び面の中心に前記視点を配置した場合に該視点のそれぞれから観察される該物体の姿勢に関する情報であり、
前記初期姿勢候補情報の数は、前記多面体の頂点及び面の中心の数に対応する
ことを特徴とする付記6に記載の推定プログラム。
(付記8)
前記推定プログラムは、前記コンピュータに、さらに、
前記物体の形状情報に基づいて、前記物体を取り囲む多面体の頂点及び面の中心に前記視点を配置した場合に該視点のそれぞれから観察される該物体の姿勢に関する前記複数の初期姿勢候補情報を生成する
処理を実行させることを特徴とする付記6または7に記載の推定プログラム。
(付記9)
前記特徴量は、前記視点画像または前記撮像画像から抽出した特徴線の交点それぞれについて、該交点それぞれの周囲にある複数の交点に関して幾何学的変換に対する不変量を算出することにより得られる各交点の特徴量であり、
前記初期姿勢候補情報の抽出において、前記視点画像から抽出した特徴線の交点の前記特徴量と前記撮像画像から抽出した特徴線の交点の前記特徴量とが一致する交点の数を計測し、一致する交点の数が最も多い姿勢情報を前記初期姿勢情報として推定する
ことを特徴とする付記6〜8のうちいずれかに記載の推定プログラム。
(付記10)
前記視点情報は、回転成分を含む3次元座標系で表される
ことを特徴とする付記6〜9のうちいずれかに記載の推定プログラム。
(付記11)
コンピュータが、
対象物を撮影した撮像画像を取得し、
記憶部から、複数の視点のいずれかから観察される物体の姿勢毎に、該姿勢を表す姿勢情報と、該姿勢情報に対応する視点から観察された該物体の画像を示す視点画像と、該視点画像から抽出された複数の特徴点を用いて算出される該視点画像の特徴量とを関連付けた情報である複数の初期姿勢候補情報を取得し、
前記撮像画像の特徴量と前記複数の初期姿勢候補情報の特徴量とを照合し、照合結果に基づいて該複数の初期姿勢候補情報から、前記撮像画像に写っている前記対象物の姿勢に類似する姿勢の姿勢情報を含む初期姿勢候補情報を抽出し、
抽出した前記初期姿勢候補情報に対応する姿勢の物体が観察される視点の位置に基づいて、前記物体の形状情報から得られる線分を絞り込み、
絞り込んだ前記線分と前記撮像画像から検出される特徴線とを対応付け、
対応付け結果に基づいて、前記対象物の画像から3次元空間内における該対象物に対する視点の位置及び方向を推定する、
ことを特徴とする推定方法。
(付記12)
前記初期姿勢候補情報は、前記物体を取り囲む多面体の頂点及び面の中心に前記視点を配置した場合に該視点のそれぞれから観察される該物体の姿勢に関する情報であり、
前記初期姿勢候補情報の数は、前記多面体の頂点及び面の中心の数に対応する
ことを特徴とする付記11に記載の推定方法。
(付記13)
前記コンピュータは、さらに、
前記物体の形状情報に基づいて、前記物体を取り囲む多面体の頂点及び面の中心に前記視点を配置した場合に該視点のそれぞれから観察される該物体の姿勢に関する前記複数の初期姿勢候補情報を生成する
ことを特徴とする付記11または12に記載の推定方法。
(付記14)
前記特徴量は、前記視点画像または前記撮像画像から抽出した特徴線の交点それぞれについて、該交点それぞれの周囲にある複数の交点に関して幾何学的変換に対する不変量を算出することにより得られる各交点の特徴量であり、
前記初期姿勢候補情報の抽出において、前記視点画像から抽出した特徴線の交点の前記特徴量と前記撮像画像から抽出した特徴線の交点の前記特徴量とが一致する交点の数を計測し、一致する交点の数が最も多い姿勢情報を前記初期姿勢情報として推定する
ことを特徴とする付記11〜13のうちいずれかに記載の推定方法。
(付記15)
前記視点情報は、回転成分を含む3次元座標系で表される
ことを特徴とする付記11〜14のうちいずれかに記載の推定方法。