(57)【要約】【課題】予め対象物体の形状データが無くても対象物体の姿勢を推定可能な画像処理方法及び画像処理装置を提供することを課題とする。【解決手段】対象物体のステレオ画像から対象物体の姿勢を推定する画像処理方法であって、ステレオ画像に基づいて対象物体の形状を示す三次元座標点を求めるステップ（Ｓ２）と、各三次元座標点を中心として立体を各々設定し、この立体の中心と立体の表面近傍に存在する２つの三次元座標点とによって２つのベクトルを生成し、この２つのベクトルで直線を形成できる場合には直線ベクトルを生成するとともに直線を形成できない場合には当該２つのベクトルで形成される面に対して所定角度を有するベクトルを生成するステップ（Ｓ３）と、直線ベクトルと所定角度を有するベクトルを３軸上に配置させ、この３軸上に配置されたベクトルの情報に基づいて対象物体の姿勢を推定するステップ（Ｓ４）とを含むことを特徴とする。【選択図】  図９
2004185505.tif 000002
【特許請求の範囲】
【請求項１】
対象物体のステレオ画像から対象物体の姿勢を推定する画像処理方法であって、
前記ステレオ画像に基づいて、前記対象物体の形状を示す三次元座標点を求めるステップと、
前記各三次元座標点を中心として立体を各々設定するステップと、
前記立体の中心の三次元座標点と当該立体の表面近傍に存在する２つの三次元座標点とによって２つのベクトルを生成するステップと、
前記２つのベクトルで直線を形成できる場合には直線ベクトルを生成するステップと、
前記２つのベクトルで直線を形成できない場合には当該２つのベクトルで形成される面に対して所定角度を有するベクトルを生成するステップと、
前記直線ベクトル及び／又は前記所定角度を有するベクトルを３軸上に配置させ、当該３軸上に配置されたベクトルの情報に基づいて前記対象物体の姿勢を推定するステップと
を含むことを特徴とする画像処理方法。
【請求項２】
任意の立体における２つのベクトルで直線を形成でき、かつ、当該任意の立体に隣接する立体における２つのベクトルで直線を形成できる場合には、同一の直線と推定することを特徴とする請求項１に記載する画像処理方法。
【請求項３】
任意の立体における２つのベクトルで直線を形成できない場合に当該２つのベクトルが形成する角度が９０°近傍の時には、前記所定角度を有するベクトルに重み付けをすることを特徴とする請求項１に記載する画像処理方法。
【請求項４】
前記３軸上に配置されたベクトルの情報における最小の分散の領域を通るように主軸を決定することを特徴とする請求項１に記載する画像処理方法。
【請求項５】
対象物体のステレオ画像から対象物体の姿勢を推定する画像処理方法であって、
前記ステレオ画像に基づいて前記対象物体の形状を示す三次元座標点を求め、当該三次元座標点間の関係を示す情報に基づいて当該三次元座標点によって形成される線分を求めるステップと、
前記線分が直線の場合には直線ベクトルを生成するステップと、
前記線分が直線でない場合には当該線分に対して所定角度を有するベクトルを生成するステップと、
前記直線ベクトル及び／又は前記所定角度を有するベクトルを３軸上に配置させ、当該３軸上に配置されたベクトルの情報に基づいて前記対象物体の姿勢を推定するステップと
を含むことを特徴とする画像処理方法。
【請求項６】
対象物体のステレオ画像から対象物体の姿勢を推定する画像処理装置であって、
前記ステレオ画像に基づいて、前記対象物体の形状を示す三次元座標点を求める三次元座標処理手段と、
前記各三次元座標点を中心として立体を各々設定し、前記立体の中心の三次元座標点と当該立体の表面近傍に存在する２つの三次元座標点とによって２つのベクトルを生成し、前記２つのベクトルで直線を形成できる場合には直線ベクトルを生成するとともに前記２つのベクトルで直線を形成できない場合には当該２つのベクトルで形成される面に対して所定角度を有するベクトルを生成するベクトル処理手段と、
前記直線ベクトル及び／又は前記所定角度を有するベクトルを３軸上に配置させ、当該３軸上に配置されたベクトルの情報に基づいて前記対象物体の姿勢を推定する姿勢推定手段と
を備えることを特徴とする画像処理装置。
【請求項７】
対象物体のステレオ画像から対象物体の姿勢を推定する画像処理装置であって、
前記ステレオ画像に基づいて前記対象物体の形状を示す三次元座標点を求め、当該三次元座標点間の関係を示す情報に基づいて当該三次元座標点によって形成される線分を求める三次元座標処理手段と、
前記線分が直線の場合には直線ベクトルを生成するとともに前記線分が直線でない場合には当該線分に対して所定角度を有するベクトルを生成するベクトル処理手段と、
前記直線ベクトル及び／又は前記所定角度を有するベクトルを３軸上に配置させ、当該３軸上に配置されたベクトルの情報に基づいて前記対象物体の姿勢を推定する姿勢推定手段と
を備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ステレオ画像による画像処理方法及び画像処理装置に関する。
【０００２】
【従来の技術】
ステレオカメラで対象物体を撮影し、そのステレオ画像に対して各種画像処理を行い、対象物体の情報を検出する画像処理方法がある。この画像処理方法には、処理装置内に様々な種類の物体の形状を示すデータを予め記憶させておき、そのデータとステレオ画像とに基づいて撮像した対象物体の姿勢を推定する方法がある（特許文献１）。
【０００３】
【特許文献１】
特開平４−１３０５８７号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、上記画像処理方法では、姿勢を推定するために、物体のデータを予め記憶させておかなければならない。そのため、上記画像処理方法では、データの入力やデータを記憶しておくデータベース等が必要となる。また、上記画像処理方法では、データが記憶されていない物体に対しては、その姿勢を推定することができない。
【０００５】
そこで、本発明は、予め対象物体の形状データが無くても対象物体の姿勢を推定可能な画像処理方法及び画像処理装置を提供することを課題とする。
【０００６】
【課題を解決するための手段】
本発明に係る画像処理方法は、対象物体のステレオ画像から対象物体の姿勢を推定する画像処理方法であって、ステレオ画像に基づいて、対象物体の形状を示す三次元座標点を求めるステップと、各三次元座標点を中心として立体を各々設定するステップと、立体の中心の三次元座標点と当該立体の表面近傍に存在する２つの三次元座標点とによって２つのベクトルを生成するステップと、２つのベクトルで直線を形成できる場合には直線ベクトルを生成するステップと、２つのベクトルで直線を形成できない場合には当該２つのベクトルで形成される面に対して所定角度を有するベクトルを生成するステップと、直線ベクトル及び／又は所定角度を有するベクトルを３軸上に配置させ、当該３軸上に配置されたベクトルの情報に基づいて前記対象物体の姿勢を推定するステップとを含むことを特徴とする。
【０００７】
この画像処理方法では、まず、対象物体のステレオ画像から対象物体の形状を示す三次元座標点を求める。そして、この方法では、その各三次元座標点を中心として立体を各々設ける。この立体は、中心となる三次元座標点以外の三次元座標点を選択可能な広がりを有する立体である。そこで、この方法では、その立体の表面近傍に存在する２つの三次元座標点を選択し、その立体の中心点（三次元座標点）と選択した２つの三次元座標点とによって２つのベクトルを生成する。この際、立体の表面近傍に３つ以上の三次元座標点が存在する場合、２つの三次元座標点を幾つかのグループ分選択し、２つのベクトルをそのグループ分生成する。さらに、この方法では、２つのベクトルが直線状となる場合には直線ベクトルを生成し、２つのベクトルが直線状にならない場合には２つのベクトルで形成される面に対して所定角度を有するベクトルを生成する。つまり、３つの三次元座標点で直線を形成できるか否かを判定し、その判定結果を直線ベクトルと所定角度を有するベクトルとによって区分けする。そして、この方法では、各立体において生成した直線ベクトル及び／又は所定角度を有するベクトルを３軸上に配置させ、その３軸上に配置されたベクトルの情報に基づいて対象物体の姿勢を推定する。したがって、この画像処理方法では、予め対象物体の形状データが無くても、ステレオ画像から対象物体の姿勢を推定することができる。
【０００８】
なお、立体は、中心となる三次元座標点と２つのベクトルを生成するための２つの三次元座標点を選択するための立体（例えば、球体）であり、中心となる三次元座標点から他の三次元座標点を含む程度に三次元空間において広がりを有している。立体の大きさとしては、対象物体の大きさ等を考慮して設定し、ステレオ画像におけるノイズ等の影響を受けないようにするために中心となる三次元座標点からある程度離れた三次元座標点を選択できる大きさに設定することが望ましい。また、２つのベクトルで形成可能な直線としては、２つのベクトルで形成される角度が厳密に１８０°をなす直線以外にも、ステレオ画像におけるノイズ等を考慮して１８０°から数°程度ずれていても直線とみなす。また、２つのベクトルで形成される面に対する所定角度は、２つのベクトルにより生成される直線ベクトルと区別できる程度の角度であればよく、計算量や直線ベクトルとの区別のしやすさ等を考慮すると法線ベクトルとなる角度（９０°）が望ましい。
【０００９】
本発明の上記画像処理方法では、任意の立体における２つのベクトルで直線を形成でき、かつ、当該任意の立体に隣接する立体における２つのベクトルで直線を形成できる場合には、同一の直線と推定するように構成してもよい。
【００１０】
この画像処理方法では、隣接する立体において共に２つのベクトルで直線を形成できる場合には、その２つの直線を同一の直線とみなす。この際、直線ベクトルに重み付けを行うと好適である。これによって、直線であることの確度が増し、姿勢推定の精度が向上する。
【００１１】
本発明の上記画像処理方法では、任意の立体における２つのベクトルで直線を形成できない場合に当該２つのベクトルが形成する角度が９０°近傍の時には、所定角度を有するベクトルに重み付けをするように構成してもよい。
【００１２】
この画像処理方法では、２つのベクトルが形成する角度が９０°近傍の時には２つのベクトルが直線でないことの確度が最も高いので、所定角度を有するベクトルに重み付けをする。これによって、曲線等の直線でないことの確度が増し、姿勢推定の精度が向上する。
【００１３】
なお、９０°近傍は、２つのベクトルのなす角度が９０°の場合には直線であることの確度が最も低い（すなわち、曲線等である確度が最も高い）ので９０°前後の角度を重み付けの基準としており、９０°に近いほど大きな重みを付けると好適である。
【００１４】
本発明の上記画像処理方法では、３軸上に配置されたベクトルの情報における最小の分散の領域を通るように主軸を決定すると好適である。
【００１５】
この画像処理方法では、３軸上に配置された直線ベクトルと所定角度を有するベクトルの情報から各軸での分散を求め、３つの分散における最小の分散を検出する。そして、この方法では、その最小の分散の領域を通るように主軸を決定する。これによって、データの広がりが最も少なく信頼性の高い領域で主軸を決定しているので、姿勢推定の精度が向上する。
【００１６】
また、本発明に係る画像処理方法は、対象物体のステレオ画像から対象物体の姿勢を推定する画像処理方法であって、ステレオ画像に基づいて対象物体の形状を示す三次元座標点を求め、当該三次元座標点間の関係を示す情報に基づいて当該三次元座標点によって形成される線分を求めるステップと、線分が直線の場合には直線ベクトルを生成するステップと、線分が直線でない場合には当該線分に対して所定角度を有するベクトルを生成するステップと、直線ベクトル及び／又は所定角度を有するベクトルを３軸上に配置させ、当該３軸上に配置されたベクトルの情報に基づいて対象物体の姿勢を推定するステップとを含むことを特徴とする。
【００１７】
この画像処理方法では、まず、対象物体のステレオ画像から対象物体の形状を示す三次元座標点を求め、その三次元座標点間の関係を示す情報に基づいて三次元座標点によって形成される線分を求める。続いて、この方法では、求めた線分が直線の場合には直線ベクトルを生成し、求めた線分が直線でない場合にはその線分で形成される面に対して所定角度を有するベクトルを生成する。そして、この方法では、各立体において求めた直線ベクトル及び／又は所定角度を有するベクトルを３軸上に配置させ、この３軸上に配置されたベクトルの情報に基づいて対象物体の姿勢を推定する。したがって、この画像処理方法では、予め対象物体の形状データが無くても、ステレオ画像から対象物体の姿勢を推定することができる。
【００１８】
なお、三次元座標点間の関係を示す情報とは、三次元座標点によって形成される線がどのような種類の線であるかを示す情報であり、例えば、三次元物体の外形を示す頂点間の直線や円を示す曲線等であることを示す情報である。
【００１９】
本発明に係る画像処理装置は、対象物体のステレオ画像から対象物体の姿勢を推定する画像処理装置であって、ステレオ画像に基づいて、対象物体の形状を示す三次元座標点を求める三次元座標処理手段と、各三次元座標点を中心として立体を各々設定し、立体の中心の三次元座標点と当該立体の表面近傍に存在する２つの三次元座標点とによって２つのベクトルを生成し、２つのベクトルで直線を形成できる場合には直線ベクトルを生成するとともに２つのベクトルで直線を形成できない場合には当該２つのベクトルで形成される面に対して所定角度を有するベクトルを生成するベクトル処理手段と、直線ベクトル及び／又は所定角度を有するベクトルを３軸上に配置させ、当該３軸上に配置されたベクトルの情報に基づいて対象物体の姿勢を推定する姿勢推定手段とを備えることを特徴とする。
【００２０】
また、本発明に係る画像処理装置は、対象物体のステレオ画像から対象物体の姿勢を推定する画像処理装置であって、ステレオ画像に基づいて対象物体の形状を示す三次元座標点を求め、当該三次元座標点間の関係を示す情報に基づいて当該三次元座標点によって形成される線分を求める三次元座標処理手段と、線分が直線の場合には直線ベクトルを生成するとともに線分が直線でない場合には当該線分に対して所定角度を有するベクトルを生成するベクトル処理手段と、直線ベクトル及び／又は所定角度を有するベクトルを３軸上に配置させ、当該３軸上に配置されたベクトルの情報に基づいて対象物体の姿勢を推定する姿勢推定手段とを備えることを特徴とする。
【００２１】
なお、請求項６に係る画像処理装置では請求項１に係る画像処理方法と同様の作用及び効果を有し、請求項７に係る画像処理装置では請求項５に係る画像処理方法と同様の作用及び効果を有する。
【００２２】
【発明の実施の形態】
以下、図面を参照して、本発明に係る画像処理方法及び画像処理装置の実施の形態を説明する。
【００２３】
本実施の形態では、本発明に係る画像処理装置を、２台のカメラで三次元物体を撮影し、そのステレオ画像に基づいて物体の形状及び姿勢を推定する画像処理装置に適用する。本実施の形態では、画像処理対象の三次元物体の形状を示す三次元座標点のみを求めた場合と三次元座標点を求めた後にその三次元座標点間の関係を示す線分の情報まで求めた場合の各画像処理について説明するが、三次元座標点のみを求めた場合については詳細に説明し、線分の情報まで求めた場合については三次元座標点のみを求めた場合の説明と異なる点のみ説明する。なお、本実施の形態に係る画像処理装置では、処理結果をモニタに表示出力する態様としているが、その処理結果を工場ラインでの製造ロボットや二足ロボットによる物体の把持等の他の用途に利用してもよい。
【００２４】
図１〜図８を参照して、画像処理対象の三次元物体の形状を示す三次元座標点のみを求める場合における画像処理装置１について説明する。図１は、本実施の形態に係る画像処理装置の構成図である。図２は、図１の三次元座標処理部で三次元物体の三次元座標点まで求める場合の説明図であり、（ａ）が画像処理対象の三次元物体の一例の円柱の斜視図であり、（ｂ）が三次元座標処理部で求めた円柱の形状を示す曲線部分の三次元座標点であり、（ｃ）が三次元座標処理部で求めた円柱の形状を示す直線部分の三次元座標点である。図３は、図１のベクトル処理部でのベクトル生成の説明図であり、（ａ）が円柱の曲線部分の任意の三次元座標点に対して法線ベクトルを生成する場合であり、（ｂ）が円柱の直線部分の任意の三次元座標点に対して直線ベクトルを生成する場合である。図４は、図１のベクトル処理部での直線ベクトルに対する重み付けの説明図である。図５は、図１のベクトル処理部での法線ベクトルに対する重み付けの説明図であり、（ａ）がベクトル間の角度に対する重み付け値を示すマップであり、（ｂ）が２つのベクトルで面を形成する場合であり、（ｃ）が２つのベクトルで直線を形成する場合である。図６は、図１の姿勢推定部での処理の説明図であり、（ａ）が直線ベクトル及び法線ベクトルの情報が記録された単位ベクトル空間であり、（ｂ）が６軸クラスであり、（ｃ）が３軸クラスにおける分散領域であり、（ｄ）が３軸クラスにおける主軸である。図７は、図１の姿勢推定部で選択した最小の分散領域における直線ベクトル及び法線ベクトルの分布を示す図である。図８は、図１の画像処理装置での処理結果の一例としてモニタに表示された円柱である。
【００２５】
画像処理装置１は、２台のカメラ２，３及びモニタ４が接続されている。画像処理装置１は、２台のカメラ２，３からのステレオ画像に基づいて三次元物体の形状及び姿勢を推定し、その処理結果をモニタ４に表示出力する。そのために、画像処理装置１は、前処理部１０、三次元座標処理手段としての三次元座標処理部１１、ベクトル処理手段としてのベクトル処理部１２、姿勢推定手段としての姿勢推定部１３、出力部１４を備えている。
【００２６】
カメラ２，３は、対象の三次元物体の左右に配置され、同一の三次元物体を撮影するステレオカメラである。カメラ２，３は、アナログカメラでもあるいはデジタルカメラでもよく、アナログカメラの場合には画像処理装置１にアナログ画像を出力し、デジタルカメラの場合には画像処理装置１にデジタル画像を出力する。モニタ４は、液晶モニタでもあるいはＣＲＴ［Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ］モニタでもよく、画像処理装置１の処理結果を表示出力する。
【００２７】
ちなみに、画像処理装置１は、車自体や車外の物体等の形状や姿勢を推定するために利用される場合がある。例えば、画像処理装置１が車両に搭載される場合には、画像処理装置１が車室内の適宜の位置に設置され、ＣＣＤ［Ｃｈａｒｇｅ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ］カメラからなるカメラ２，３が車両の側面、前面あるいは後面の左右に設置され、液晶モニタからなるモニタ４が車室内のドライバに視認可能な位置（例えば、インストルメントパネル）に取り付けられる。
【００２８】
前処理部１０では、２台のカメラ２，３から、三次元物体を左右から撮影した各ステレオ画像が入力される。前処理部１０では、ステレオ画像がアナログ画像の場合、アナログデータをデジタルデータに変換してデジタル画像とする。そして、前処理部１０では、デジタルデータからなるステレオ画像に対してカメラキャリブレーションを行い、さらに、左右のステレオ画像の平行化を行う。
【００２９】
三次元座標処理部１１では、左右のステレオ画像から撮影した三次元物体の形状を示す三次元座標点を求める。例えば、対象の三次元物体が図２（ａ）に示すような円柱Ｃの場合、円柱Ｃの形状を示す線分としては、２つの円の曲線分ＣＳ，ＣＳ，ＣＳ，ＣＳと２つの円を結ぶ直線分ＳＳ，ＳＳである。円柱Ｃの形状を示す三次元座標点としては、曲線分ＣＳを示す三次元座標点ＴＣ，・・・（図２（ｂ）参照）や直線分ＳＳを示す三次元座標点ＴＣ，・・・（図２（ｃ）参照）である。
【００３０】
ベクトル処理部１２では、まず、三次元物体の形状を示す三次元座標点ＴＣ，・・・の各座標点を中心として球体を設定する。例えば、図２に示す円柱Ｃの場合、曲線分ＣＳを示す任意の三次元座標点ＴＣ１に対して球体Ｓ１を設定し（図３（ａ）参照）、直線分ＳＳを示す任意の三次元座標点ＴＣ２に対して球体Ｓ２を設定する（図３（ｂ）参照）。この球体は、中心となる三次元座標点との間で２つのベクトルを形成するための２つの三次元座標点を選択するための球体である。したがって、球体表面近傍の２点を選択することによって中心から略等距離に位置する三次元座標点を選択することができる。この球体の半径としては、対象の三次元物体の形状や三次元座標点間隔等を考慮して設定され、中心点の三次元座標点と線分を形成する他の三次元座標点を１０個前後含む半径である。といのうは、三次元座標点データの中にはステレオ画像に混入したノイズ等の影響を受けた三次元座標点が入っている場合があり、中心となる三次元座標点に隣接する三次元座標点や極近傍の三次元座標点がそのノイズ等の影響を受けていると、生成したベクトルが三次元物体の形状を反映していないベクトルとなる場合があるからである。つまり、ある程度離れた三次元座標点間でベクトルを生成することによって、ノイズ等の影響を抑制でき、三次元物体の形状を反映したベクトルを生成できる。
【００３１】
次に、ベクトル処理部１２では、設定した球体の内側でかつ最も球体の表面に近い三次元座標点を選択する。通常、中心となる三次元座標点から三次元座標点列が２方向に分かれており、その２方向の列から三次元座標点を各々選択する。しかし、立方体の頂点等、中心となる三次元座標点から三次元座標点列が３方向以上分かれている場合、２方向単位にグループ分けをし、各グループの２方向の列から三次元座標点を各々選択する。例えば、図３（ａ）の例では球体Ｓ１の表面内側の２つの三次元座標点ＴＣ１１，ＴＣ１２を選択し、図３（ｂ）の例では球体Ｓ２の表面内側の２つの三次元座標点ＴＣ２１，ＴＣ２２を選択する。
【００３２】
次に、ベクトル処理部１２では、中心となる三次元座標点を始点とし、選択した２つの三次元座標点を終点として２つのベクトルを生成する。例えば、図３（ａ）の例では三次元座標点ＴＣ１と三次元座標点ＴＣ１１との間でベクトルＶ１１を生成するとともに三次元座標点ＴＣ１と三次元座標点ＴＣ１２との間でベクトルＶ１２を生成し、図３（ｂ）の例では三次元座標点ＴＣ２と三次元座標点ＴＣ２１との間でベクトルＶ２１を生成するとともに三次元座標点ＴＣ２と三次元座標点ＴＣ２２との間でベクトルＶ２２を生成する。
【００３３】
そして、ベクトル処理部１２では、生成した２つのベクトルが平行か否か（すなわち、２つのベクトルが直線状か否か）を判定する。この平行判定では、中心となる三次元座標点を頂点として２つのベクトルのなす角度が厳密に１８０°の場合のみを平行とするのでなく、１８０°±１〜５°程度の場合も平行と判定する。というのは、カメラ２，３の精度やデジタルデータのステレオ画像の解像度あるいはステレオ画像に混入したノイズの影響等を考慮すると、直線の場合でも２つのベクトルで一直線とならない場合があるからである。例えば、図３の（ａ）の例では２つのベクトルＶ１１，Ｖ１２は平行ではないと判定され、図３の（ｂ）の例では２つのベクトルＶ２１，Ｖ２２は平行と判定される。ちなみに、２つのベクトルが平行にならないのは、三次元座標点が曲線分を示している場合や方向が異なる２つの直線分の接続点（頂点）あるいは直線分と曲線分との接続点等である。
【００３４】
球体Ｓにおける２つのベクトルが平行と判定した場合、ベクトル処理部１２では、中心の三次元座標点を始点として、その２つのベクトルと重なる直線ベクトルを生成する。例えば、図３の（ｂ）の例では２つのベクトルＶ２１、Ｖ２２と重なる直線ベクトルＳＶが生成される。
【００３５】
さらに、ベクトル処理部１２では、処理中の球体に隣接する球体において直線ベクトルを生成しているか否かを判定し、隣接する球体内で直線ベクトルを生成している場合にはこの判定を次に隣接する球体に対しても順次行っていく。この判定は、隣接する球体で法線ベクトルを生成していると判定するまであるいは隣接する球体が存在しなくなるまで、処理中の三次元座標点から判定範囲内に存在する球体に対して順次判定を行う。そして、ベクトル処理部１２では、判定範囲内に存在する球体うち直線ベクトルを生成している球体まで長さに応じて、直線ベクトルに重み付けを行う。重み付け値は、０〜１の間の値とする。すなわち、三次元座標点列が直線を形成しているか否かを検出し、直線を形成している三次元座標点列の長さ分の重み付けを行って直線であることの確度を示す。図４に示すように、隣接する球体Ｓ，・・・で直線ベクトルＳＶ，・・・を生成している場合には、重み付けした直線ベクトルＷＳＶを生成する。このように、隣接する球体Ｓ，・・・と関連付けして重み付けを行うことによって、三次元物体の直線分を示す三次元座標点が一部欠けている場合でもその直線区間を補間することができ、最終的な三次元物体の姿勢の推定精度も向上する。なお、最初に隣接する球体が存在しない場合や最初に隣接する球体で法線ベクトルを生成している場合、処理中の三次元座標点が直線の開始点である。
【００３６】
なお、重み付け処理を行う場合、三次元座標点列において一点毎の球体に対して処理を行ってもよいし、計算量を軽減するために、三次元座標点列において数点置きの球体に対して処理を行ってもよい。また、上記の判定を行う判定範囲は、その長さだけ直線が続けば直線である確度が非常に高く、直線としての重み付け値として１を設定してもよい一定の判定である。また、隣接する球体としては、処理中の三次元座標点の球体に厳密に隣接している球体だけでなく、処理中の三次元座標点から判定範囲内に存在し、処理中の三次元座標点と同一の線分上の球体も含む。
【００３７】
球体Ｓにおける２つのベクトルが平行でないと判定した場合、ベクトル処理部１２では、中心の三次元座標点を始点として、その２つのベクトルで形成される面に対して垂直な法線ベクトルを生成する。例えば、図３の（ａ）の例では２つのベクトルＶ１１、Ｖ１２によって面Ｆが形成され、その面Ｆに対して垂直な法線ベクトルＮＶが生成される。
【００３８】
さらに、ベクトル処理部１２では、球体Ｓにおける２つのベクトルのなす角度に基づいて法線ベクトルに重み付けをする。図５（ａ）のマップＭＰに示すように、２つのベクトルのなす角度が９０°の時に重み付け値が最大の１であり、角度が９０°を中心にして重み付け値が減少し、角度が０°及び１８０°で重み付け値が０となる（なお、上記したように、直線と判定する際に１８０°±１〜５°程度を考慮した場合には直線と判定した角度で重み付け値が０となる）。図５（ｂ）に示すように、２つのベクトルで面を形成できる場合、その２つのベクトルのなす角度θに対して、マップＭＰに基づいて法線ベクトルＮＶに重み付け値を設定する。図５（ｃ）に示すように、２つのベクトルで直線を形成できる場合、その２つのベクトルがなす角度が１８０°となり、マップＭＰにおける重み付け値としては０である。
【００３９】
そして、ベクトル処理部１２では、重み付けした直線ベクトル又は法線ベクトルを三次元の単位ベクトル空間に記録する。この際、重み付け値（０〜１）と直線ベクトル又は法線ベクトルのベクトル方向に応じた点が、単位ベクトル空間に配置される。
【００４０】
ベクトル処理部１２では、三次元座標処理部１１で求めた全ての三次元座標点に対して上記の処理を実行し、その実行結果である直線ベクトル及び法線ベクトルからなるベクトル群の情報を単位ベクトル空間に記録する。図６（ａ）には、全ての三次元座標点を処理した後のベクトル群の情報を示す全点が記録された単位ベクトル空間ＶＳを示している。
【００４１】
姿勢推定部１３では、まず、クラスタリングを行うために、６軸クラスを設定する（図６（ｂ）参照）。ちなみに、図６（ｂ）に示す６軸クラスＣ６は、６軸クラスの初期位置であり、６つのクラス軸が（１，０，０）、（−１，０，０）、（０，１，０）、（０，−１，０）、（０，０，１）、（０，０，−１）である。そして，姿勢推定部１３では、単位ベクトル空間に記録されている全点を６軸クラス上に記録する（図６（ｂ）参照）。さらに、姿勢推定部１３では、６軸クラスを３軸クラスに変換し、３軸クラスの各クラス軸に対して単位ベクトル空間の各点（各ベクトル）を配置させる（図６（ｃ）参照）。
【００４２】
次に、姿勢推定部１３では、各クラス軸に対して配置された点群（ベクトル群）の平均と分散を算出する。そして、姿勢推定部１３では、３つのクラス軸に対する分散のうち最も小さい分散を示すクラス軸を選択し、そのクラス軸を主軸と仮定する。図６（ｃ）に示す例では、３軸クラスＣ３の第１クラス軸Ａ１には分散領域ＤＡ１が広がり、第２クラス軸Ａ２には分散領域ＤＡ２が広がり、第３クラス軸Ａ３には分散領域ＤＡ３が広がっている。その３つの分散領域ＤＡ１，ＤＡ２，ＤＡ３では、分散領域ＤＡ２が最も小さく、その分散領域ＤＡ２の第２クラス軸Ａ２が主軸と仮定される。なお、分散領域は、各クラス軸に配置された単位ベクトル空間の点群（直線ベクトル及び法線ベクトルからなるベクトル群）の広がりを示す領域である。
【００４３】
さらに、姿勢推定部１３では、多変量解析によって、主軸と仮定したクラス軸に配置された点群のうち信頼度の高い点のデータを抽出し、そのデータを使って新たに平均を算出する。そして、姿勢推定部１３では、仮定した主軸（クラス軸）に対する回転角度を求め、そのクラス軸から回転角度分回転させた軸を主軸として記録する。この主軸は、ノイズデータ等の主軸を決定する上で好ましくないデータを除外して求められているので、データとしての信頼度が高く、分散領域の中央付近を通る。なお、データを抽出する際の信頼度としては、ステレオ画像におけるノイズ等を考慮して適宜の値が設定され、例えば、９０％に設定される。図６（ｄ）に示す例では、図６（ｃ）の例で主軸として仮定した第２クラス軸Ａ２に対して回転角度αが求められ、分散領域ＤＡ２の中央付近を通る主軸ＰＡ２が記録される。また、図７には、主軸と仮定されたクラス軸に配置された点群（直線ベクトル及び法線ベクトルからなるベクトル群の情報）の分布ＤＤを示している。分布ＤＤは、両側に広がる斜線部分ＤＤ１，ＤＤ２に信頼度の低いデータが含まれ、その内側の部分ＤＤ３に信頼度の高いデータが含まれる。信頼度の高い部分ＤＤ３のデータで平均を算出した場合にはＤＣ１の値となり、その平均値ＤＣ１は分布ＤＤのデータの集中領域である頂点付近に位置となる。信頼度の低い部分も含む分布ＤＤ全体のデータで平均を算出した場合にはＤＣ２の値となり、その平均値ＤＣ２は分布ＤＤのデータの集中領域である頂点付近から少しずれた位置となる。
【００４４】
そして、姿勢推定部１３では、求めた回転角度が収束角度内か否かを判定する。収束角度内の場合、姿勢推定部１３では、記録されている主軸を対象物体の姿勢を示す主軸と決定する。収束角度内でない場合、姿勢推定部１３では、現在の３軸クラスを一定角度回転し、上記した処理により、回転角度及び主軸を再度求める。つまり、回転角度が３軸クラスのうちの分散領域が最も小さいクラス軸に対して収束するまで、３軸クラスを変えて上記処理繰り返し行う。なお、収束角度は、回転角度を収束させるための角度であり、クラス軸に対して分散領域が十分に小さくなったことを示す角度である。また、回転角度を収束させるのは、クラス軸に対する分散領域を極力小さくし、三次元物体の姿勢の推定精度を向上させるためのである。
【００４５】
ちなみに、最小の分散のクラス軸に配置された点群のデータのみで平均を計算するのでなく、３軸クラスに配置された全ての点群（ベクトル群の情報）のデータによって平均を計算した場合、その平均値はクラス軸に広がる分散領域内に位置せずし、分散領域外に位置する。その場合、主軸を一意に決定することができない。
【００４６】
なお、クラスタリングとしては、ＮＮ［Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ］法やＫ−ｍｅａｎ法等の適宜の手法を利用する。また、多変量解析としても、適宜の手法を利用する。
【００４７】
出力部１４では、まず、決定した主軸（クラス軸に対する回転角度）に基づいて、三次元座標処理部１１で求めた三次元座標点を全て回転座標変換する。そして、出力部１４では、その全ての変換座標点をＸＹＺ平面に投影し、ＸＹ平面での回転を行う。最後に、出力部１４では、その立体の外形に接する直方体をあてはめ、モニタ４にＸＹＺ空間内に配置させた立体を表示させる。図８には、モニタ４に表示された処理結果の一例が示されており、主軸ＰＡによって空間内の姿勢が決められた円柱ＣＳがＸＹＺ空間ＸＳ内に配置されており、円柱ＣＳにはその外形に接する直方体ＲＰも配置されている。
【００４８】
図１を参照して、画像処理装置１における動作（画像処理方法）を図９のフローチャートに沿って説明する。図９は、本実施の形態に係る画像処理方法を示すフローチャートである。
【００４９】
カメラ２，３では、左右から対象の三次元物体を撮影し、そのステレオ画像を画像処理装置１に出力する。
【００５０】
画像処理装置１では、入力されたステレオ画像がアナログデータの場合にデジタルデータに変換し、デジタルデータからなるステレオ画像に対してカメラキャリブレーションを行い、左右のステレオ画像の平行化を行う（Ｓ１）。
【００５１】
続いて、画像処理装置１では、ステレオ画像から三次元物体の形状を示す三次元座標点データを求める（Ｓ２）（図２（ｂ）、（ｃ）参照）。
【００５２】
そして、画像処理装置１では、三次元座標点データの各座標点について直線を形成する座標点に対して直線ベクトルを生成し、曲線等の直線を形成しない座標点に対して法線ベクトルを生成する（Ｓ３）（図３参照）。なお、このベクトル処理については、後で詳細に説明する。
【００５３】
さらに、画像処理装置１では、クラスタリングによって、生成した直線ベクトル及び法線ベクトルの情報から対象の三次元物体の主軸を求め、三次元物体の姿勢を推定する（Ｓ４）（図６参照）。なお、この姿勢推定処理については、後で詳細に説明する。
【００５４】
三次元物体の形状及び姿勢を推定すると、画像処理装置１では、形状を示す三次元座標点を主軸に基づいて回転座標変換する（Ｓ５）。
【００５５】
そして、画像処理装置１では、回転変換された三次元座標点をＸＹＺ平面に投影し（Ｓ６）、ＸＹ平面での回転を行う（Ｓ７）。
【００５６】
さらに、画像処理装置１では、ＸＹＺ平面に投影した三次元物体にその外形に接する直方体をあてはめ（Ｓ８）、モニタ４にＸＹＺ空間内に配置させた三次元物体を表示させる（図８参照）。
【００５７】
図１を参照して、図９のフローチャートのベクトル処理（Ｓ３）を図１０のフローチャートに沿って詳細に説明する。図１０は、図９のフローチャートにおけるベクトル処理を示すフローチャートである。
【００５８】
三次元物体の形状を示す三次元座標点データが求まると、画像処理装置１では、まず、全ての三次元座標点データに対してベクトル処理を行ったか否かを判定する（Ｓ１０）。Ｓ１０にて全てのデータに対して処理を行ったと判定した場合、画像処理装置１では、ベクトル処理を終了する。
【００５９】
Ｓ１０にて全てのデータに対して処理を行っていないと判定した場合、画像処理装置１では、データのうちの任意の三次元座標点を選び、その三次元座標点を中心として球体を設定し、三次元座標点を球体で囲む（Ｓ１１）（図３参照）。この球体内には、選んだ三次元座標点を中心として、１０点程度の座標点からなる三次元座標点列が２方向以上存在する。
【００６０】
そして、画像処理装置１では、球体内に存在する三次元座標点から球体表面近傍の三次元座標点を２点抽出する（Ｓ１２）（図３参照）。
【００６１】
続いて、画像処理装置１では、球体の中心となる三次元座標点と抽出した２点の三次元座標点との間で２つのベクトルを生成する（Ｓ１３）（図３参照）。
【００６２】
画像処理装置１では、球体内に生成した２つのベクトルが平行か否かを判定する（Ｓ１４）（図３参照）。つまり、球体の中心の三次元座標点が直線を形成するための座標点かあるいは直線を形成しない（曲線等を形成するための）座標点かを判定する。
【００６３】
Ｓ１４にて２つのベクトルが平行と判定した場合、画像処理装置１では、球体の中心の座標点を直線と判定する。そして、画像処理装置１では、既にベクトル処理が行われている三次元座標点のうちで判定範囲内に存在しかつ処理中の三次元座標点に隣接する三次元座標点を選び、その三次元座標点が直線と判定されているか否かを判定する（Ｓ１５）。Ｓ１５にて直線ではないと判定した場合、画像処理装置１では、処理中の三次元座標点を直線の開始点として記録し（Ｓ１６）、Ｓ１０の処理に戻る。
【００６４】
Ｓ１５にて直線と判定した場合、画像処理装置１では、処理中の三次元座標点が直線の終了点か否かを判定する（Ｓ１７）。Ｓ１７にて直線の終了点ではないと判定した場合、画像処理装置１では、処理中の三次元座標点を直線の一部であると記録し（Ｓ１８）、Ｓ１０の処理に戻る。
【００６５】
Ｓ１７にて直線の終了点と判定した場合、画像処理装置１では、直線の開始点と記録されている三次元座標点と処理中の三次元座標点とを結び、直線ベクトルを生成する（Ｓ１９）（図４参照）。この直線ベクトルは、その長さに応じて重み付けされており、長いほど重み付け値が大きい。
【００６６】
Ｓ１４にて２つのベクトルが平行でないと判定した場合、画像処理装置１では、２つのベクトルから法線ベクトルを生成する（Ｓ２０）（図３（ａ）参照）。さらに、画像処理装置１では、２つのベクトルがなす角度に応じて法線ベクトルに重み付けを行う（Ｓ２１）（図５参照）。２つのベクトルのなす角度が９０°に近いほど、直線でない確度が高いので、法線ベクトルの重み付け値が大きい。
【００６７】
直線ベクトル又は法線ベクトルを生成すると、画像処理装置１では、そのベクトルを、ベクトルの方向と重み付け値に応じて単位ベクトル空間に記録し（Ｓ２２）（図６（ａ）参照）、Ｓ１０の処理に戻る。
【００６８】
このように、画像処理装置１では、三次元座標点データの全ての座標点に対してベクトル処理を実行し、直線ベクトルと法線ベクトルを生成する。そして、画像処理装置１では、生成した直線ベクトルと法線ベクトルの情報を全て単位ベクトル空間に記録し、三次元座標点の姿勢を推定するための情報とする。
【００６９】
図１を参照して、図９のフローチャートの姿勢推定処理（Ｓ４）を図１１のフローチャートに沿って詳細に説明する。図１１は、図９のフローチャートにおける姿勢推定処理を示すフローチャートである。
【００７０】
全ての三次元座標点データに対してベクトル処理が終了すると、画像処理装置１では、現在の６軸クラスを記録し（Ｓ３０）、単位ベクトル空間に記録されている点群（ベクトル群の情報）を６軸クラスに別ける（Ｓ３１）（図６（ａ）、（ｂ）参照）。
【００７１】
そして、画像処理装置１では、６軸クラスを３軸クラスに変換する（Ｓ３２）。そのため、単位ベクトル空間に記録されている点群が、３軸クラスに別けられる。
【００７２】
続いて、画像処理装置１では、３軸クラスの各クラス軸に別けられた各ベクトル群の情報の平均及び分散を計算する（Ｓ３３）。そして、画像処理装置１では、３つのクラスの分散から最も小さい分散のクラスを判定し、その判定したクラス軸を仮の主軸として記録する（Ｓ３３）（図６（ｃ）参照）。
【００７３】
さらに、画像処理装置１では、多変量解析を用いて記録したクラス軸に配置されたベクトル群のデータのうち信頼度が９０％のデータを抽出し、その抽出したデータによって新たに平均を計算する（Ｓ３４）（図７参照）。
【００７４】
そして、画像処理装置１では、記録したクラス軸と再計算した平均値によってそのクラス軸（仮の主軸）からの回転角度を計算し、クラス軸から回転角度分回転させた軸を主軸として記録する（Ｓ３５）（図６（ｄ）参照）。この記録された主軸は、クラス軸に配置されたベクトル群のデータの分散領域の略中央を通る軸となる。
【００７５】
主軸を記録すると、画像処理装置１では、計算した回転角度が収束角度内か否かを判定する（Ｓ３６）。この判定によって、クラス軸に対する分散を極力小さくし、クラス軸に回転角度を収束させる。Ｓ３６にて収束角度内と判定した場合には、画像処理装置１では、記録している主軸を三次元物体の姿勢を示す主軸と正式に決定する。Ｓ３６にて収束角度内でないと判定した場合、画像処理装置１では、記録している主軸及び回転角度を削除し、記録されている３軸クラスを一定角度回転してＳ３０の処理に戻る。
【００７６】
このように、画像処理装置１では、単位ベクトル空間に記録された直線ベクトル及び法線ベクトルからなるベクトル群の情報に基づいて、三次元物体の姿勢を示す１本の主軸を決定する。
【００７７】
図１及び図１２、図１３を参照して、画像処理対象の三次元座標点間の関係を示す線分の情報まで求めた場合における画像処理装置１について説明する。図１２は、図１の三次元座標処理部で三次元物体の線分の情報まで求める場合の画像処理対象の三次元物体の一例である円柱の斜視図である。図１３は、図１の三次元座標処理部で三次元物体の線分の情報まで求める場合の図１のベクトル処理部でのベクトル生成の説明図であり、（ａ）が曲線分における法線ベクトルであり、（ｂ）が直線分の直線ベクトルであり、（ｃ）が折れ線分における法線ベクトルである。なお、ここでの説明では、上記の三次元物体の形状を示す三次元座標点のみを求める場合における画像処理装置１での説明と異なる点（三次元座標処理部１１、ベクトル処理部１２での各処理）のみ説明する。
【００７８】
画像処理装置１では、三次元物体の形状を示す三次元座標点のみならず、三次元座標点間の関係を示す情報により、三次元物体の形状を構成する線分も求める場合がある。この場合、画像処理装置１では、求めた線分に対して直線ベクトルあるいは法線ベクトルを生成し、そのベクトル群に基づいて三次元物体の姿勢を推定する。
【００７９】
三次元座標処理部１１では、各ステレオ画像から撮影した三次元物体の形状を示す三次元座標点を求めた後、三次元座標点間の関係から直線、曲線、折れ線等の線の情報を求める。さらに、三次元座標処理部１１では、三次元座標点間の関係から直線、曲線、折れ線等の開始点と終了点及び長さの情報、さらに、各線分の接続点である頂点の情報を求める。そして、三次元座標処理部１１では、求めた情報から三次元物体の形状を構成する線分の情報を求める。例えば、対象の三次元物体が図１２に示すような円柱の場合、円柱Ｃの形状を示す線分としては、２つの円の曲線分ＣＳ，ＣＳ，ＣＳ，ＣＳと２つの円を結ぶ直線分ＳＳ，ＳＳがある。
【００８０】
ベクトル処理部１２では、各三次元座標点に対して処理を行うのでなく、三次元物体の形状を示す各線分に対して処理を行う。ベクトル処理部１２では、線分が直線分か否かを判定する。直線分と判定した場合、ベクトル処理部１２では、その直線分に対して直線ベクトルを生成する。直線分でないと判定した場合、ベクトル処理部１２では、その曲線分等に対して法線ベクトルを生成する。例えば、図１３に示す例の場合、（ａ）では曲線分ＣＳに対して法線ベクトルＮＶを生成し、（ｂ）では直線分ＳＳに対して直線ベクトルＳＶを生成し、（ｃ）では折れ線分ＦＳに対して法線ベクトルＮＶを生成する。
【００８１】
そして、ベクトル処理部１２では、生成した直線ベクトル及び法線ベクトルを三次元の単位ベクトル空間に記録する。ちなみに、ベクトル処理部１２では、各線分については直線や曲線であることが既に確定されているので、直線ベクトルや法線ベクトルに対する重み付け値を全て１に設定している。このように、ベクトル処理部１２では、直線や曲線であることが予め判っている線分に対して直線ベクトルや法線ベクトルを生成するので、上記の各三次元座標点に対して処理を行う場合に比べて計算量が非常に低減する。
【００８２】
ちなみに、姿勢推定部１３では、単位ベクトル空間に記録されたベクトル群のデータにより上記と同様の処理を行うが、処理を行う対象のベクトル群データ量が非常に少ない。そのため、姿勢推定部１３では、上記の各三次元座標点に対して処理を行う場合に比べて計算量が非常に低減する。
【００８３】
このように、画像処理装置１では、三次元物体の形状を構成する線分まで求めた場合でも、線分に対して直線ベクトルや法線ベクトルを生成することにより三次元物体の姿勢を推定することができる。
【００８４】
この画像処理装置１では、対象となる三次元物体の形状データを予め保持していなくても、三次元物体の形状を示す各三次元座標点に対して直線ベクトル又は法線ベクトルを生成し、その直線ベクトル及び法線ベクトルの重み付け値や方向の情報から三次元物体の姿勢を推定することができる。そのため、画像処理装置１は、三次元物体のデータを入力する手段や様々な三次元物体のデータを保持するための記憶手段を必要としない。
【００８５】
さらに、画像処理装置１では、ベクトルを生成する際に必要な三次元座標点を選択するために一定の大きさを有する球体を用いているので、ステレオ画像におけるノイズの影響等を排除して直線判定を行うことができる。また、画像処理装置１では、生成するベクトルに対して重み付けを行い、直線であることの確度や直線でないことの確度をベクトルの情報に含ませている。そのため、姿勢推定の精度が高くなる。
【００８６】
また、画像処理装置１では、主軸を決定する際に、まず、分散の小さいクラス軸を選択し、さらに、多変量解析に用いて信頼性の高いデータのみによって平均を計算しているので、主軸を一意に決定できるとともにその計算値の信頼性も高い。そのため、姿勢推定の精度も高くなる。
【００８７】
特に、画像処理装置１では、三次元物体の線分の情報まで求める場合、三次元座標点に比べて格段にデータ数が少ない線分に対して処理を行うので、ベクトル処理や姿勢推定処理の計算量が格段に低減する。
【００８８】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【００８９】
例えば、本実施の形態では画像処理装置での処理結果をモニタに表示出力するように構成したが、工場の製造ロボットや二足ロボット等の他の用途で利用してもよい。
【００９０】
また、本実施の形態では三次元座標点に対して設定する立体を球体としたが、立方体等の他の形状の立体でもよい。
【００９１】
また、本実施の形態では球体の判定を三次元座標点が１０点程度含む半径としたが、三次元座標点を求める際の精度や対象となる三次元物体の大きさ等を考慮し、適宜の値に半径を設定してよい。
【００９２】
また、本実施の形態では２つのベクトルで形成される面に対して９０°を有する法線ベクトルを生成したが、直線ベクトルと区別できる程度の角度であればよく、その面に対して４５°等の所定角度をなすベクトルを生成してもよい。
【００９３】
また、本実施の形態で直線ベクトル及び法線ベクトルに対して重み付けを行ったが、重み付けを行わずに姿勢推定処理を行ってよい。
【００９４】
【発明の効果】
本発明によれば、予め対象物体の形状データが無くても対象物体の姿勢を推定することができる。
【図面の簡単な説明】
【図１】本実施の形態に係る画像処理装置の構成図である。
【図２】図１の三次元座標処理部で三次元物体の三次元座標点まで求める場合の説明図であり、（ａ）が画像処理対象の三次元物体の一例の円柱の斜視図であり、（ｂ）が三次元座標処理部で求めた円柱の形状を示す曲線部分の三次元座標点であり、（ｃ）が三次元座標処理部で求めた円柱の形状を示す直線部分の三次元座標点である。
【図３】図１のベクトル処理部でのベクトル生成の説明図であり、（ａ）が円柱の曲線部分の任意の三次元座標点に対して法線ベクトルを生成する場合であり、（ｂ）が円柱の直線部分の任意の三次元座標点に対して直線ベクトルを生成する場合である。
【図４】図１のベクトル処理部での直線ベクトルに対する重み付けの説明図である。
【図５】図１のベクトル処理部での法線ベクトルに対する重み付けの説明図であり、（ａ）がベクトル間の角度に対する重み付け値を示すマップであり、（ｂ）が２つのベクトルで面を形成する場合であり、（ｃ）が２つのベクトルで直線を形成する場合である。
【図６】図１の姿勢推定部での処理の説明図であり、（ａ）が直線ベクトル及び法線ベクトルの情報が記録された単位ベクトル空間であり、（ｂ）が６軸クラスであり、（ｃ）が３軸クラスにおける分散領域であり、（ｄ）が３軸クラスにおける主軸である。
【図７】図１の姿勢推定部で選択した最小の分散領域における直線ベクトル及び法線ベクトルの分布を示す図である。
【図８】図１の画像処理装置での処理結果の一例としてモニタに表示された円柱である。
【図９】本実施の形態に係る画像処理方法を示すフローチャートである。
【図１０】図９のフローチャートにおけるベクトル処理を示すフローチャートである。
【図１１】図９のフローチャートにおける姿勢推定処理を示すフローチャートである。
【図１２】図１の三次元座標処理部で三次元物体の線分の情報まで求める場合の画像処理対象の三次元物体の一例である円柱の斜視図である。
【図１３】図１の三次元座標処理部で三次元物体の線分の情報まで求める場合の図１のベクトル処理部でのベクトル生成の説明図であり、（ａ）が曲線分における法線ベクトルであり、（ｂ）が直線分の直線ベクトルであり、（ｃ）が折れ線分における法線ベクトルである。
【符号の説明】
１…画像処理装置、２，３…カメラ、４…モニタ、１０…前処理部、１１…三次元座標処理部、１２…ベクトル処理部、１３…姿勢推定部、１４…出力部
【図１】
2004185505.tif 000003
【図２】
2004185505.tif 000004
【図３】
2004185505.tif 000005
【図４】
2004185505.tif 000006
【図５】
2004185505.tif 000007
【図６】
2004185505.tif 000008
【図７】
2004185505.tif 000009
【図８】
2004185505.tif 000010
【図９】
2004185505.tif 000011
【図１０】
2004185505.tif 000012
【図１１】
2004185505.tif 000013
【図１２】
2004185505.tif 000014
【図１３】
2004185505.tif 000015