(57)【要約】【課題】３次元姿勢検出において、テンプレート画像の記憶容量およびマッチング処理の計算コストを小さく抑える。【解決手段】３次元姿勢検出装置３は、立体１をカメラ２で撮像して得られた画像から、まず、軸姿勢算出部１１によって、立体１の表面に描かれた図形の位置に基づき、表面と立体１の軸とが交わる点（すなわち、極）の位置を検出し、立体１の軸の姿勢を算出し、次に、立体姿勢算出部１２によって、図形と予め用意しておいたテンプレート画像群との比較、あるいは、図形の色情報に基づき、立体１の姿勢を算出する。【選択図】　　図１
2004145664.tif 000002
【特許請求の範囲】
【請求項１】
３次元姿勢検出装置に撮像画像を入力することによって、その３次元姿勢を検出することが可能な立体であって、
少なくとも一部分が回転対称体であり、前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された図形を含む、姿勢により見え方が異なる図形を前記回転対称体の表面に有する３次元姿勢検出用立体。
【請求項２】
前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された図形は非回転対称図形である、請求項１に記載の３次元姿勢検出用立体。
【請求項３】
前記姿勢により見え方が異なる図形は、前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された回転対称図形と、該回転対称図形を中心とする点対称の位置に配置された２個以上の回転対称図形とを含む、請求項１に記載の３次元姿勢検出用立体。
【請求項４】
前記姿勢により見え方が異なる図形は、前記点対称の位置に配置された回転対称図形とそれぞれ対になる互いに異なる図形をさらに含む、請求項３に記載の３次元姿勢検出用立体。
【請求項５】
前記点対称の位置に配置された回転対称図形は、互いに異なる色である、請求項３に記載の３次元姿勢検出用立体。
【請求項６】
前記回転対称体は、楕円体、方物面体、回転対称台形錐体、正多面体、準正多面体、およびそれらの殻状体のいずれかである、請求項１から５のいずれかに記載の３次元姿勢検出用立体。
【請求項７】
少なくとも一部分が回転対称体であり、前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された図形を含む、姿勢により見え方が異なる図形を前記回転対称体の表面に有する３次元姿勢検出用立体の撮像画像から、該立体の３次元姿勢を検出する方法であって、
前記撮像画像から前記回転対称体の表面と該回転対称体の軸とが交わる位置を検出し、該軸の姿勢を算出する軸姿勢算出段階と、
前記撮像画像と前記立体の種々の姿勢に対応する前記図形のテンプレート画像群とを比較することにより前記立体の姿勢を算出する立体姿勢算出段階とを有する３次元姿勢検出方法。
【請求項８】
前記３次元姿勢検出用立体は、前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された回転対称図形と、該回転対称図形を中心とする点対称の位置に配置された２個以上の回転対称図形と、前記点対称の位置に配置された回転対称図形とそれぞれ対になる互いに異なる図形とを有しており、
前記立体姿勢算出段階は、
前記撮像画像と前記立体の種々の姿勢に対応する前記点対称の位置に配置された回転対称図形のテンプレート画像群とを比較することにより前記立体の姿勢の候補を算出する段階と、
前記撮像画像と前記立体の種々の姿勢に対応する前記互いに異なる図形のテンプレート画像群とを比較することにより前記候補の中から前記立体の正確な姿勢を選択する段階とを有する、請求項７に記載の３次元姿勢検出方法。
【請求項９】
前記３次元姿勢検出用立体は、前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された回転対称図形と、該回転対称図形を中心とする点対称の位置に配置された２個以上の互いに異なる色の回転対称図形とを有しており、
前記立体姿勢算出段階は、
前記撮像画像と前記立体の種々の姿勢に対応する前記点対称の位置に配置された回転対称図形のテンプレート画像群とを比較することにより前記立体の姿勢の候補を算出する段階と、
前記撮像画像の前記点対称の位置に配置された回転対称図形のいずれかの位置における色情報に基づき前記候補の中から前記立体の正確な姿勢を選択する段階とを有する、請求項７に記載の３次元姿勢検出方法。
【請求項１０】
少なくとも一部分が回転対称体であり、前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された図形を含む、姿勢により見え方が異なる図形を前記回転対称体の表面に有する３次元姿勢検出用立体の撮像画像を入力することによって、該立体の３次元姿勢を検出する装置であって、
前記撮像画像から前記回転対称体の表面と該回転対称体の軸とが交わる位置を検出し、該軸の姿勢を算出する軸姿勢算出手段と、
前記撮像画像と前記立体の種々の姿勢に対応する前記図形のテンプレート画像群とを比較することにより前記立体の姿勢を算出する立体姿勢算出手段とを有する３次元姿勢検出装置。
【請求項１１】
前記３次元姿勢検出用立体は、前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された回転対称図形と、該回転対称図形を中心とする点対称の位置に配置された２個以上の回転対称図形と、前記点対称の位置に配置された回転対称図形とそれぞれ対になる互いに異なる図形とを有しており、
前記立体姿勢算出手段は、
前記撮像画像と前記立体の種々の姿勢に対応する前記点対称の位置に配置された回転対称図形のテンプレート画像群とを比較することにより前記立体の姿勢の候補を算出する手段と、
前記撮像画像と前記立体の種々の姿勢に対応する前記互いに異なる図形のテンプレート画像群とを比較することにより前記候補の中から前記立体の正確な姿勢を選択する手段とを有する、請求項１０に記載の３次元姿勢検出装置。
【請求項１２】
前記３次元姿勢検出用立体は、前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された回転対称図形と、該回転対称図形を中心とする点対称の位置に配置された２個以上の互いに異なる色の回転対称図形とを有しており、
前記立体姿勢算出手段は、
前記撮像画像と前記立体の種々の姿勢に対応する前記点対称の位置に配置された回転対称図形のテンプレート画像群とを比較することにより前記立体の姿勢の候補を算出する手段と、
前記撮像画像の前記点対称の位置に配置された回転対称図形のいずれかの位置における色情報に基づき前記候補の中から前記立体の正確な姿勢を選択する手段とを有する、請求項１０に記載の３次元姿勢検出装置。
【請求項１３】
請求項７から９のいずれかに記載の３次元姿勢検出方法をコンピュータに実行させるための３次元姿勢検出プログラム。
【請求項１４】
請求項７から９のいずれかに記載の３次元姿勢検出方法をコンピュータに実行させるための３次元姿勢検出プログラムを記録した、コンピュータで読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カメラで撮像した画像から対象物の３次元姿勢を検出するための方法および装置に関する。
【０００２】
【従来の技術】
従来、デザインが既知である立体をカメラで撮像し、その画像において、立体の「辺」や「頂点」といった特徴点の位置を基にするか、立体全体の画像のテンプレート（３次元モデル）を用いるなどして、該立体の姿勢を算出していた（非特許文献１参照）。
【０００３】
【非特許文献１】
岡本恭一、久野義徳、岡田敏、「３次元物体認識における姿勢計算方式」、情報処理学会全国大会講演論文集、１９９０年、第４０巻、第１号、ｐ．３８４−３８５
【０００４】
【発明が解決しようとする課題】
しかし、上述した従来技術では、姿勢特定のためのマッチング処理において、立体全体の画像のテンプレート画像（３次元モデル）を用いていたため、テンプレート画像の記憶容量が大きくなり、またマッチング処理の計算コストがかかるという欠点があった。
【０００５】
本発明の目的は、テンプレート画像の記憶容量およびマッチング処理の計算コストを小さく抑えることができる、３次元姿勢検出用立体、３次元姿勢検出方法、３次元姿勢検出装置、３次元姿勢検出プログラム、およびそのプログラムを記録した記録媒体を提供することにある。
【０００６】
【課題を解決するための手段】
本発明の３次元姿勢検出用立体は、少なくとも一部分が回転対称体であり、前記回転対称体の表面と該回転対称体の軸とが交わる位置に配置された図形を含む、姿勢により見え方が異なる図形を回転対称体の表面に有する。
【０００７】
また、本発明の３次元姿勢検出方法は、前記３次元姿勢検出用立体の撮像画像から、該立体の３次元姿勢を検出する方法であって、
撮像画像から回転対称体の表面と該回転対称体の軸とが交わる位置を検出し、該軸の姿勢を算出する軸姿勢算出段階と、
撮像画像と立体の種々の姿勢に対応する図形のテンプレート画像群とを比較することにより立体の姿勢を算出する立体姿勢算出段階とを有する。
【０００８】
また、本発明の３次元姿勢検出装置は、３次元姿勢検出用立体の撮像画像を入力することによって、該立体の３次元姿勢を検出する装置であって、
撮像画像から回転対称体の表面と該回転対称体の軸とが交わる位置を検出し、該軸の姿勢を算出する軸姿勢算出手段と、
撮像画像と立体の種々の姿勢に対応する図形のテンプレート画像群とを比較することにより立体の姿勢を算出する立体姿勢算出手段とを有する。
【０００９】
立体の３次元姿勢特定のための各マッチング処理において、立体表面に描かれた図形の一部分である比較的小さなサイズの図形を用いる。これにより、立体全体ではなくその図形の領域にのみ対応したテンプレート画像を用いればよくなり、テンプレート画像の記憶容量およびマッチング処理の計算コストを小さく抑えることができる。
【００１０】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００１１】
［第１の実施形態］
図１は本発明の３次元姿勢検出用立体の第１の例と第１の実施形態の３次元姿勢検出装置のブロック図である。
【００１２】
３次元姿勢検出装置３は軸姿勢算出部１１と立体姿勢算出部１２から構成され、３次元姿勢検出用立体１（以下、立体１と称す）をカメラ２で撮像した画像から立体１の姿勢を算出する。
【００１３】
本実施形態では、立体１の重心Ｃをカメラ２の光軸上の所定の位置に固定することによって、撮像画像上における立体１の重心の位置が既知であることを前提としている。
【００１４】
３次元姿勢検出装置３は、立体１をカメラ２で撮像して得られた画像から、まず、軸姿勢算出部１１によって、立体１の表面に描かれた図形の位置に基づき、表面と立体１の軸とが交わる点（すなわち、極）の位置を検出し、立体１の軸の姿勢を算出し、次に、立体姿勢算出部１２によって、図形と予め用意しておいたテンプレート画像群との比較、あるいは、図形の色情報に基づき、立体１の姿勢を算出する。
【００１５】
以下、本実施形態では、３次元姿勢検出用立体１の第１の実施形態として、１個の非回転対称図形が表面に描かれた既知の楕円体を用い、その撮像画像から立体１の姿勢を求める方法を説明する。
【００１６】
図２（ａ）は立体１の例、図２（ｂ）は立体１の表面上の図形の配置を説明するための図である。図２（ｂ）において、Ｌは楕円体の軸であり、Ｐは楕円体の表面と軸Ｌとが交わる点、すなわち、楕円体の極である。非回転対称図形（この例では文字「Ａ」）は、図２（ａ）のように、その重心Ｇが極Ｐの位置に一致するように楕円体の表面に描かれている。
【００１７】
図３および図４は図形のテンプレート画像の計算機による作成方法を説明するための図である。
【００１８】
図３において、ＣＶは無限遠に配置してある仮想カメラ、Ｏは計算機内の仮想空間の原点、Ｘは水平方向の軸、Ｙは垂直方向の軸、Ｚは仮想カメラＣＶの光軸、ＳＶは図形（この例では文字「Ａ」）を配置した仮想平面、Ｇは仮想平面ＳＶ上の点であり図形の重心である。仮想平面ＳＶは線分ＯＧに垂直であり、距離ＯＧは仮想楕円体の長半径に等しいとする。また、点ＧはＹＺ平面上にあるとし、線分ＯＧと軸Ｚとのなす角度をθ１とする。ここで、仮想平面ＳＶとＹＺ平面との交線をＴとすると、この直線Ｔは点Ｇを通り線分ＯＧに垂直となっている。そこで、仮想平面ＳＶが線分ＯＧを軸として回転した際の偏角を直線Ｔを基準とした角度で表わすこととし、これをθ２とする。なお、説明のため、図３では図形をその輪郭のみで示している。
【００１９】
図４は仮想平面ＳＶ上の図形（この例では文字「Ａ」）をＸＹ平面に射影して得られた仮想カメラＣＶの画像である。ＧＴは重心Ｇの画像上での位置である。テンプレート画像は、この仮想カメラＣＶの画像を、図形を含み、かつＧＴを中心とする矩形領域で切り出した部分画像にガウシアンフィルタ等によるぼかし処理を施して作成する。
【００２０】
図５は作成されたテンプレート画像群が配置されたテーブルである。図３で示した仮想空間において、角度θ１については例えば０度から９０度までの１度刻みとし、角度θ２については例えば０度から３５９度までの１度刻みとし、これらの角度θ１，θ２のすべての組み合わせに対して仮想カメラＣＶの画像を算出し、それぞれに対応するテンプレート画像を作成し、テーブルに配置しておく。
【００２１】
図６は楕円体の軸Ｌの実空間における姿勢と極Ｐの撮像画像上における位置との関係を説明するための図である。図６（ａ）は楕円体の斜視図であり、図６（ｂ）はこの楕円体をカメラ２で撮影した画像である。図６（ａ）において、Ｃは楕円体の中心、Ｘは水平方向の軸、Ｙは垂直方向の軸、Ｚはカメラ２の光軸、Ｂ１は極Ｐと軸Ｚを含む平面と軸Ｙとのなす角度、Ｂ２は軸Ｌと軸Ｚとのなす角度、Ｄは極Ｐと軸Ｚとの距離である。図６（ｂ）において、ＣＳは楕円体の中心Ｃの撮像画像上での位置、ＰＳは極Ｐの撮像画像上での位置、Ｂ１は直線ＣＳＰＳが垂直方向から時計回りになす角度、ＤＳはＣＳとＰＳ間の距離である。また、ＰＳの撮像画像上での座標を（ｕ，ｖ）、Ｐの実空間における座標を（ｘ，ｙ，ｚ）とする。ここで、撮像画像上での楕円体の重心位置ＣＳが既知であることから、これを撮像画像上での原点、また、カメラの撮像倍率をαとし、
ｕ＝αｘ，　　ｖ＝αｙ，　　ＤＳ＝αＤ
の関係が成り立つとする。ここで、実空間における点ＣとＰ間の距離をＤＣＰとすると、以下の関係が成り立つ。
【００２２】
【数１】
2004145664.tif 000003
なお、これらの関係は、ＤＣＰ、すなわち実空間におけるＣと対象点Ｐとの間の距離さえ既知であれば、対象点Ｐが楕円体の極以外の任意の点であっても、対象点Ｐと直線ＣＰの姿勢との関係として成立する。
【００２３】
図７は撮像画像から楕円体の部分を切り出した部分画像を示している。図７（ａ）は濃淡画像であり、図７（ｂ）は同画像を２値化した画像である。説明のため、図７（ｂ）では図形をその輪郭のみで示している。図７（ｂ）において、ＰＳは極Ｐの撮像画像上での位置であり、これは撮像画像上での図形の重心に一致している。
【００２４】
図８は立体１の姿勢を求める手順を示すフローチャートである。
１．撮像画像を２値化した画像（図７（ｂ））から図形の重心を求め、その位置をＰＳとする（ステップ２１）。
２．式（１）を用いて、軸Ｌの姿勢すなわち角度Ｂ１およびＢ２を求める（ステップ２２）。
３．２で得られた角度Ｂ２に最も近い角度を図５に示したテーブルの角度θ１欄から選択し、マッチング処理に用いるテンプレート画像群の列を決定する（ステップ２３）。
４．撮像画像（図７（ａ））をＣＳの周りに角度−Ｂ１だけ回転させた濃淡画像を得る（ステップ２４）。
５．３で決定された列に含まれる全てのテンプレート画像（図５の例では３６０個）と４で得られた濃淡画像との正規化相関手法等によるマッチング処理を点ＰＳの回転後の点の近傍において逐次行う（ステップ２５）。
６．５で得られたマッチングの度合い（スコア）が最大となるテンプレート画像を見つけ、そのテンプレート画像に対応する角度θ２を求め、これを立体１の軸Ｌの周りの回転方向の姿勢を表わす角度Ｂ３とする（ステップ２６）。
７．以上により得られた角度Ｂ１、Ｂ２、およびＢ３を立体１の姿勢とする（ステップ２７）。
【００２５】
図９に上記と同様の手順で姿勢を検出することができる立体１の第２の例として、１個の非回転対称図形が表面に描かれた正四角台形錐体を示す。図９（ａ）は立体１の例、図９（ｂ）は立体１の表面上の図形の配置を説明するための図である。図９（ｂ）において、Ｌは正四角台形錐体の軸であり、Ｐは正四角台形錐体の表面と軸Ｌとが交わる点である。非回転対称図形（この例では文字「Ａ」）は、図９（ａ）のように、その重心ＧがＰの位置に一致するように正四角台形錐体の表面に描かれている。
【００２６】
図１０に上記と同様の手順で姿勢を検出することができる立体１の第３の例として、１個の非回転対称図形が表面に描かれた正四角台形錐の殻状体を示す。図１０（ａ）は立体１の例、図１０（ｂ）は立体１の表面上の図形の配置を説明するための図である。図１０（ｂ）において、Ｌは正四角台形錐殻状体の軸であり、Ｐは正四角台形錐殻状体の表面と軸Ｌとが交わる点である。非回転対称図形（この例では文字「Ａ」）は、図１０（ａ）のように、その重心ＧがＰの位置に一致するように正四角台形錐殻状体の表面に描かれている。
【００２７】
図１１に上記と同様の手順で姿勢を検出することができる立体１の第４の例として、１個の非回転対称図形が表面に描かれた準正多面体を示す。非回転対称図形（この例では文字「Ａ」）は、図１１のように、その重心Ｇが準正多面体の１つの面の重心の位置に一致するように準正多面体の表面に描かれている。
【００２８】
図１２に上記と同様の手順で姿勢を検出することができる立体１の第５の例として、１個の非回転対称図形が表面に描かれた正多面体を示す。非回転対称図形（この例では文字「Ａ」）は、図１２のように、その重心Ｇが正多面体の１つの面の重心の位置に一致するように正多面体の表面に描かれている。
【００２９】
［第２の実施形態］
本実施形態では、３次元姿勢検出用立体１の第６の例として、２種類の大きさの４個の回転対称図形と３個の非回転対称図形が表面に描かれた既知の楕円体を用い、その撮像画像から立体１の姿勢を求める方法を説明する。
【００３０】
図１３は立体１の表面上の図形の配置を説明するための図である。わかり易くするため、図１３では楕円体面上の図形を平面的に表現している。図１３（ａ）は上面図であり、図１３（ｂ）は側面図である。楕円体の極Ｐの位置に大きいドットが、極Ｐを中心とした回転対称の位置Ｑ１、Ｑ２、Ｑ３に小さいドットがそれぞれ描かれている。また、Ｑ１、Ｑ２、Ｑ３に描かれた各ドットからＰに描かれたドットに向かう方向を姿勢の基準として、Ｐに描かれたドットとＱ１、Ｑ２、Ｑ３に描かれた３個のドットとの各中点にそれぞれ異なる３個の図形が描かれている。
【００３１】
図１４は立体１に描かれた各ドットの３次元的な位置関係を説明するための図である。図１４（ａ）において、Ｐは楕円体の極であり、大きいドットの位置である。Ｑｉ（ｉ＝１，２，３）は各小さいドットの位置、Ｃは楕円体の重心、ＤＰＱは実空間上でのＰとＱｉ間の距離、ＤＱＱは実空間上でのＱｉとＱｊ間の距離、ＤＣＱは実空間上でのＣとＱｉ間の距離である。図１４（ｂ）において、Ｍｉは点Ｐ、ＱｉおよびＣを含む平面上の点であり、線分ＰＱｉの垂直二等分線が楕円体の表面と交わる点である。
【００３２】
図１５（ａ）および（ｂ）は、それぞれ大きいドットおよび小さいドットを検出するためのテンプレート画像であり、実際にはガウシアンフィルタ等によるぼかし処理を施して作成されている。
【００３３】
図１６は互いに異なる３種類の図形を検出するためのテンプレート画像群が配置されたテーブルである。各テンプレート画像は第１の実施形態で説明した方法で作成してある。
【００３４】
図１７は撮像画像から楕円体の部分を切り出した部分画像を示している。図１７（ａ）は濃淡画像であり、図１７（ｂ）は楕円体の姿勢を求める手順を説明するための図である。説明のため、図１７（ｂ）では各ドットをその輪郭のみで示している。図１７（ｂ）において、ＰＳは極Ｐの撮像画像上での位置であり、これは撮像画像上での大きいドットの位置に一致している。また、ＱＳｉ（ｉ＝１，２，３）はそれぞれＱｉの撮像画像上での位置、ＭＳｉはＭｉの撮像画像上での位置である。
【００３５】
図１８は立体１の姿勢を求める手順を示すフローチャートである。
１．大きいドットを検出するためのテンプレート画像（図１５（ａ））と濃淡画像（図１７（ａ））との正規化相関手法等によるマッチング処理を行い、マッチングスコアが最大となる撮像画像上での大きいドットの位置を求め、その位置をＰＳとする（ステップ３１）。
２．小さいドットを検出するためのテンプレート画像（図１５（ｂ））と濃淡画像（図１７（ａ））との正規化相関手法等によるマッチング処理を行い、マッチングスコアが最大となる撮像画像上での小さいドットの位置ＱＳｉを求める（ステップ３２）。
３．１で求められたＰＳから、式（１）、式（２）を用いて、軸Ｌの姿勢すなわち角度Ｂ１、Ｂ２、および点Ｐの実空間上での位置を求める（ステップ３３）。
４．２で求められたＱＳｉから、式（１）、式（２）を用いて、直線ＣＱｉの姿勢すなわち角度ＢＱｉ１、ＢＱｉ２、および点Ｑｉの実空間上での位置を求める（ステップ３４）。ただし、式（１）、式（２）において、ＤＣＰの代わりにＤＣＱを用いることとする。
５．点Ｐおよび点Ｑｉの実空間上での位置から、図１４（ｂ）の関係を用いて、点Ｍｉの位置と直線ＣＭｉの姿勢すなわち角度ＢＭｉ１およびＢＭｉ２を求める（ステップ３５）。
６．式（２）を用いて、点Ｍｉの撮像画像上での位置ＭＳｉを求める（ステップ３６）。ただし、式（２）において、ＤＣＰの代わりに、ＣとＭｉ間の距離を用いることとする。
７．５で得られた角度ＢＭｉ２に最も近い角度を図１６に示したテーブルの角度θ１欄から選択し、マッチング処理に用いる３種類のテンプレート画像群の列を決定する（ステップ３７）。
８．撮像画像（図１７（ａ））をＣＳの周りに角度−ＢＭｉ１だけ回転させた濃淡画像を得る（ステップ３８）。
９．７で決定された列に含まれる３種類の全てのテンプレート画像（図１６の例では１０８０個）と８で得られた濃淡画像との正規化相関手法等によるマッチング処理を点ＭＳｉの回転後の点の近傍において逐次行う（ステップ３９）。
１０．９で得られたマッチングの度合い（スコア）が最大となるテンプレート画像を見つけ、対象としている図形が３種類の図形のうちの何れであるかを特定することにより、対象とした小さいドットＱｉがＱ１、Ｑ２、Ｑ３の何れであるかを特定する（ステップ４０）。
１１．特定されたＱｉに基づき、立体１の軸Ｌの周りの回転方向の姿勢を表わす角度Ｂ３を算出する。すなわち、特定されたＱｉを軸Ｚの周りに角度−Ｂ１だけ回転させ、さらに軸Ｘの周りに角度−Ｂ２だけ回転させた点の軸Ｚの周りの偏角を求め、これをＢ３とする（ステップ４１）。
１２．以上により得られた角度Ｂ１、Ｂ２、およびＢ３を立体１の姿勢とする（ステップ４２）。
【００３６】
［第３の実施形態］
本実施形態では、３次元姿勢検出用立体１の第７の例として、同一の大きさの４個の回転対称図形と３個の非回転対称図形が表面に描かれた既知の楕円体を用い、その撮像画像から立体１の姿勢を求める方法を説明する。第２の実施形態とは、楕円体の極Ｐの位置に描かれたドットとその周囲に描かれたドットとの判別方法のみが異なるので、この判別方法のみを説明する。
【００３７】
図１９は立体１の表面上の図形の配置を説明するための図である。わかり易くするため、図１９では楕円体面上の図形を平面的に表現している。図１９（ａ）は上面図であり、図１９（ｂ）は側面図である。楕円体の極Ｐの位置および極Ｐを中心とした回転対称の位置Ｑ１、Ｑ２、Ｑ３に全て同一の大きさのドットが描かれている。また、Ｑ１、Ｑ２、Ｑ３に描かれた各ドットからＰに描かれたドットに向かう方向を姿勢の基準として、Ｐの描かれたドットとＱ１、Ｑ２、Ｑ３に描かれた３個のドットとの各中点にそれぞれ異なる３個の図形が描かれている。さらに、立体１に描かれた各ドットの３次元的な位置関係は図１４と同様であるとする。ただし、本実施形態では、ＤＰＱとＤＱＱとが十分異なるように各ドットの位置を設定しておく。
【００３８】
図２０はドットを検出するためのテンプレート画像であり、実際にはガウシアンフィルタ等によるぼかし処理を施して作成されている。
【００３９】
図２１は撮像画像から楕円体の部分を切り出した部分画像を示している。図２１（ａ）は濃淡画像であり、図２１（ｂ）は楕円体の姿勢を求める手順を説明するための図である。説明のため、図２１（ｂ）では各ドットをその輪郭のみで示している。図２１（ｂ）において、ＰＳは極Ｐの撮像画像上での位置、ＱＳｉ（ｉ＝１，２，３）はそれぞれＱｉの撮像画像上での位置である。
【００４０】
図２２は立体１のＰに描かれたドットとＱ１、Ｑ２、Ｑ３に描かれたドットのうちの１つを判別する手順を示すフローチャートである。
１．ドットを検出するためのテンプレート画像（図２０）と濃淡画像（図２１（ａ））との正規化相関手法等によるマッチング処理を行い、各ドットについて、マッチングスコアが最大となる撮像画像上での位置を全て求める（ステップ５１）。
２．求められた各点について、式（１）、式（２）を用いて、実空間上での位置を算出する（ステップ５２）。ただし、式（１）、式（２）において、ＤＣＰの代わりに全てＤＣＱを用いることとする。本実施形態では、ＤＰＱとＤＱＱとが十分異なるため、このような近似を用いても各ドットを正しく判別することができる。
３．求められた点が２個以下の場合は処理を中止する（ステップ５３）。
４．求められた点が３個以上の場合、これらの中から２個を選ぶ全ての組合わせについて、選んだ２個の点間の実空間における距離を求め、この距離と立体１における既知のＤＱＱとの差の絶対値が所定の閾値より大きくなる１組を選定する（ステップ５４）。
５．選定された組の２個の点をＰ１、Ｐ２、それ以外の任意の点をＱｉとし、Ｐ１とＱｉ間の距離を求める（ステップ５５）。その際、Ｐ１、Ｐ２の実空間上での位置として、ＤＣＰにＣとＰ間の距離を代入した式（１）、式（２）により算出したものを用いる。
６．５で求められたＰ１とＱｉ間の距離と立体１における既知のＤＰＱとの差の絶対値が、所定の閾値より小さければＰ１をＰに描かれたドットとし、そうでなければＰ２をＰに描かれたドットとする（ステップ５６）。
【００４１】
以下、第２の実施形態における手順３以降を実行すればよい。
【００４２】
図２３に上記と同様の手順で姿勢を検出することができる立体１の第８の例として、図１９に示した立体におけるドットに代えて円が表面に描かれた楕円体を示す。わかり易くするため、図２３では楕円体面上の図形を平面的に表現している。図２３（ａ）は上面図であり、図２３（ｂ）は側面図である。楕円体の極Ｐの位置および極Ｐを中心とした回転対称の位置Ｑ１、Ｑ２、Ｑ３に全て同一の大きさの円が描かれている。また、Ｑ１、Ｑ２、Ｑ３に描かれた各円からＰに描かれた円に向かう方向を姿勢の基準として、Ｐに描かれた円とＱ１、Ｑ２、Ｑ３に描かれた３個の円との各中点にそれぞれ異なる３個の図形が描かれている。さらに、立体１に描かれた各円の３次元的な位置関係は図１４と同様であるとする。ただし、ＤＰＱとＤＱＱとが十分異なるように各円の位置を設定しておく。
【００４３】
図２４は円を検出するためのテンプレート画像であり、実際にはガウシアンフィルタ等によるぼかし処理を施して作成されている。
【００４４】
図２５に上記と同様の手順で姿勢を検出することができる立体１の第９の例として、同一の大きさの４個の回転対称図形と３個の非回転対称図形が表面に描かれた正六角台形錐体を示す。わかり易くするため、図２５では正六角台形錐体面上の図形を平面的に表現している。図２５（ａ）は上面図であり、図２５（ｂ）は側面図である。Ｌは正六角台形錐体の軸であり、Ｐは軸Ｌと上底面とが交わる点である。Ｐの位置および１個おきの側面の左右の中央で、かつＰから等距離の位置Ｑ１、Ｑ２、Ｑ３に全て同一の大きさのドットが描かれている。また、Ｑ１、Ｑ２、Ｑ３に描かれた各ドットからＰに描かれたドットに向かう方向を姿勢の基準として、Ｐに描かれたドットとＱ１、Ｑ２、Ｑ３に描かれた３個のドットとの各中点にそれぞれ異なる３個の図形が描かれている。但し、ＰとＱｉ間の距離ＤＰＱとＱｉとＱｊ間の距離ＤＱＱとが十分異なるように各ドットの位置を設定しておく。
【００４５】
図２６に上記と同様の手順で姿勢を検出することができる立体１の第１０の例として、同一の大きさの４個の回転対称図形と３個の非回転対称図形が表面に描かれた放物面体を示す。わかり易くするため、図２６では放物面体の表面上の図形を平面的に表現している。図２６（ａ）は上面図であり、図２６（ｂ）は側面図である。Ｌは放物面体の軸であり、Ｐは軸Ｌと放物面体の表面とが交わる点、すなわち、放物面体の極である。放物面体の極Ｐの位置および極Ｐを中心とした回転対称の位置Ｑ１、Ｑ２、Ｑ３に全て同一の大きさのドットが描かれている。また、Ｑ１、Ｑ２、Ｑ３に描かれた各ドットからＰに描かれたドットに向かう方向を姿勢の基準として、Ｐに描かれたドットとＱ１、Ｑ２、Ｑ３に描かれた３個のドットとの各中点にそれぞれ異なる３個の図形が描かれている。但し、ＰとＱｉ間の距離ＤＰＱとＱｉとＱｊ間の距離ＤＱＱとが十分異なるように各ドットの位置を設定しておく。
【００４６】
［第４の実施形態］
本実施形態では、３次元姿勢検出用立体１の第１１の例として、同一の大きさでかつ互いに異なる色の４個の回転対称図形が表面に描かれた既知の楕円体を用い、その撮像画像から立体１の姿勢を求める方法を説明する。
【００４７】
図２７は立体１の表面上の図形の配置を説明するための図である。わかり易くするため、図２７では楕円体面上の図形を平面的に表現している。図２７（ａ）は上面図であり、図２７（ｂ）は側面図である。楕円体の極Ｐの位置に黒のドットが、極Ｐを中心とした回転対称の位置Ｑ１、Ｑ２、Ｑ３にそれぞれ赤、緑、青のドットが描かれている。また、立体１に描かれた各ドットの３次元的な位置関係は図１４と同様であるとする。さらに、ドットを検出するためのテンプレート画像は図２０と同様である。
【００４８】
図２８は撮像画像から楕円体の部分を切り出した部分画像を示している。図２８（ａ）は濃淡画像であり、図２８（ｂ）はカラー画像である。ＰＳは極Ｐの撮像画像上での位置、ＱＳｉ（ｉ＝１，２，３）はそれぞれＱｉの撮像画像上での位置である。
【００４９】
図２９は立体１の姿勢を求める手順を示すフローチャートである。
１．ドットを検出するためのテンプレート画像（図２０）と濃淡画像（図２８（ａ））との正規化相関手法等によるマッチング処理を行い、各ドットについて、マッチングスコアが最大となる撮像画像上での位置を全て求める（ステップ６１）。
２．求められた各点におけるカラー画像（図２８（ｂ））の色情報から各ドットを判別する（ステップ６２）。
３．２で判別されたＰＳから、式（１）を用いて、軸Ｌの姿勢すなわち角度Ｂ１およびＢ２を求める（ステップ６３）。
４．Ｑｉ（Ｑ１、Ｑ２、Ｑ３のいずれか）に描かれた１個のドットについて、式（１）、式（２）を用いて、実空間上での位置を求める（ステップ６４）。ただし、式（１）、式（２）において、ＤＣＰの代わりにＤＣＱを用いることとする。
５．４で求められたＱｉに基づき、立体１の軸Ｌの周りの回転方向の姿勢を表わす角度Ｂ３を算出する（ステップ６５）。すなわち、求められたＱｉを軸Ｚの周りに角度−Ｂ１だけ回転させ、さらに軸Ｘの周りに角度−Ｂ２だけ回転させた点の軸Ｚの周りの偏角を求め、これをＢ３とする。
６．以上により得られた角度Ｂ１、Ｂ２、およびＢ３を立体１の姿勢とする（ステップ６６）。
【００５０】
以上の実施形態で説明した、立体の姿勢を求める方法では、各々のマッチング処理において、立体表面に描かれた図形の一部分である比較的小さなサイズの図形を用いるので、立体全体ではなくその図形の領域にのみ対応したテンプレート画像を用いればよく、テンプレート画像の記憶容量およびマッチング処理の計算コストを小さく抑えることができる。
【００５１】
なお、本発明の３次元姿勢検出方法は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【００５２】
【発明の効果】
以上説明したように、本発明は、立体の３次元姿勢を検出するにあたって、姿勢特定のための各マッチング処理において、立体表面に描かれた図形の一部分である比較的小さなサイズの図形を用いるので、立体全体ではなくその図形の領域にのみ対応したテンプレート画像を用いればよく、テンプレート画像の記憶容量およびマッチング処理の計算コストを小さく抑えることができる。
【図面の簡単な説明】
【図１】本発明の３次元姿勢検出用立体の第１の例と第１の実施形態の３次元姿勢検出装置のブロック図である。
【図２】立体１の第１の例と、その表面上の図形の配置を説明するための図である。
【図３】図形のテンプレート画像の計算機による作成方法を説明するための図である。
【図４】仮想平面ＳＶ上の図形をＸＹ平面に投影して得られた仮想カメラＣＶの画像を示す図である。
【図５】作成されたテンプレート画像群が配置されたテーブルを示す図である。
【図６】楕円体の軸Ｌと実空間における姿勢と極Ｐの撮像画像上における位置の関係を説明するための図である。
【図７】撮像画像から楕円体の部分を切り出した部分画像を示す図である。
【図８】第１の実施形態の３次元姿勢検出装置における立体１の姿勢を求める手順を示すフローチャートである。
【図９】立体１の第２の例を示す図である。
【図１０】立体１の第３の例を示す図である。
【図１１】立体１の第４の例を示す図である。
【図１２】立体１の第５の例を示す図である。
【図１３】立体１の第６の例の表面上の図形の配置を説明するための図である。
【図１４】立体１に描かれた各ドットの３次元的な位置関係を説明するための図である。
【図１５】大きいドット、小さいドットを検出するためのテンプレート画像を示す図である。
【図１６】互いに異なる３種類の図形を検出するためのテンプレート画像群が配置されたテーブルを示す図である。
【図１７】撮像画像から楕円体の部分を切り出した部分画像を示す図である。
【図１８】第２の実施形態の３次元姿勢検出装置における立体１の姿勢を求める手順を示すフローチャートである。
【図１９】立体１の第７の例の表面上の図形の配置を説明するための図である。
【図２０】ドットを検出するためのテンプレート画像を示す図である。
【図２１】撮像画像から楕円体の部分を切り出した部分画像を示す図である。
【図２２】第３の実施形態の３次元姿勢検出装置における立体１の姿勢を求める手順を示すフローチャートである。
【図２３】立体１の第８の例を示す図である。
【図２４】円を検出するためのテンプレート画像を示す図である。
【図２５】立体１の第９の例を示す図である。
【図２６】立体１の第１０の例を示す図である。
【図２７】立体１の第１１の例の表面上の図形の配置を説明するための図である。
【図２８】撮像画像から楕円体の部分を切り出した部分画像を示す図である。
【図２９】第４の実施形態の３次元姿勢検出装置における立体１の姿勢を求める手順を示すフローチャートである。
【符号の説明】
１　　３次元姿勢検出用立体
２　　カメラ
３　　３次元姿勢検出装置
１１　　軸姿勢検出部
１２　　立体姿勢算出部
２１〜２７，３１〜４２，５１〜５６，６１〜６６　　ステップ
【図１】
2004145664.tif 000004
【図２】
2004145664.tif 000005
【図３】
2004145664.tif 000006
【図４】
2004145664.tif 000007
【図５】
2004145664.tif 000008
【図６】
2004145664.tif 000009
【図７】
2004145664.tif 000010
【図８】
2004145664.tif 000011
【図９】
2004145664.tif 000012
【図１０】
2004145664.tif 000013
【図１１】
2004145664.tif 000014
【図１２】
2004145664.tif 000015
【図１３】
2004145664.tif 000016
【図１４】
2004145664.tif 000017
【図１５】
2004145664.tif 000018
【図１６】
2004145664.tif 000019
【図１７】
2004145664.tif 000020
【図１８】
2004145664.tif 000021
【図１９】
2004145664.tif 000022
【図２０】
2004145664.tif 000023
【図２１】
2004145664.tif 000024
【図２２】
2004145664.tif 000025
【図２３】
2004145664.tif 000026
【図２４】
2004145664.tif 000027
【図２５】
2004145664.tif 000028
【図２６】
2004145664.tif 000029
【図２７】
2004145664.tif 000030
【図２８】
2004145664.tif 000031
【図２９】
2004145664.tif 000032