(57)【要約】【課題】認識処理の都合に応じた任意の平面の高さを０として高さの認識処理を行うことができるようにする。【解決手段】キャリブレーションにより３次元計測のためのパラメータを算出して登録した後に、実際の認識処理で高さを０と認識したい平面をステレオカメラにより撮像し、この平面に含まれる特徴パターン（マークｍ１，ｍ２，ｍ３）を対象に、登録されたパラメータによる３次元計測を実行する。この計測により３つ以上の３次元座標を取得すると、これらの座標を含む平面を表す演算式を導出する。さらに、キャリブレーションで高さが０と定義された平面と演算式が表す平面との位置関係に基づき、前者の平面内の点を後者の平面に移動させるための変換用パラメータ（同次変換行列）を求め、この変換用パラメータにより登録されたパラメータを変換する。【選択図】図８
2010210584.tif 000002
【特許請求の範囲】
【請求項１】
ステレオカメラと；特定の位置関係にある複数の特徴点を抽出できるように設計されたキャリブレーションワークを対象に前記ステレオカメラが実行した撮像により生成されたステレオ画像から前記キャリブレーションワーク内の各特徴点を抽出し、これらの特徴点を用いて３次元計測のためのパラメータを算出するパラメータ算出手段と；前記３次元計測のためのパラメータが登録されるパラメータ記憶手段と；所定の認識対象物に対して前記ステレオカメラが実行した撮像により生成されたステレオ画像を対象に前記パラメータ記憶手段に登録されたパラメータを用いた３次元計測処理を実行することによって、前記認識対象物に対し、高さの認識を含む所定の認識処理を実行する３次元認識手段とを具備する３次元視覚センサにおいて、
所定の特徴パターンが設けられた平面に対して前記ステレオカメラが実行した撮像に応じて、当該撮像により生成されたステレオ画像と前記パラメータ算出手段により算出されたパラメータとを用いて、前記特徴パターン内の少なくとも３点の代表点を対象にした３次元計測処理を実行することにより、各代表点の３次元座標を取得する座標取得手段と、
前記座標取得手段が取得した各代表点の３次元座標に基づき、これらの３次元座標を含む平面を表す演算式を特定し、前記パラメータ算出手段により算出されたパラメータによる３次元計測処理により高さが０と認識される平面と前記演算式が示す平面との位置関係を判別する判別手段と、
前記判別手段が判別した位置関係に基づき、前記パラメータ記憶手段に登録されたパラメータまたはこのパラメータによる３次元計測処理の結果を補正する補正手段とを、
さらに具備することを特徴とする、３次元視覚センサ。
【請求項２】
前記補正手段は、前記パラメータ記憶手段に登録されたパラメータを前記変換用パラメータを用いて補正して、補正後のパラメータにより前記登録されたパラメータを書き換える、請求項１に記載された３次元視覚センサ。
【請求項３】
前記座標取得手段は、前記ステレオ画像を構成する複数の画像から、それぞれあらかじめ登録された特徴パターンを含む領域を少なくとも３つ抽出し、抽出された領域を前記パラメータ算出手段により算出されたパラメータに基づき画像間で対応づけして、対応づけられた領域毎に当該領域内の１代表点に係る３次元座標を算出する、請求項１に記載された３次元視覚センサ。
【請求項４】
前記座標取得手段は、前記ステレオ画像を構成する複数の画像のうちの１つを表示して、その表示画面上で所定の特徴パターンを含む領域を少なくとも３つ指定する操作を受け付けた後、前記パラメータ算出手段により算出されたパラメータに基づき、表示された画像以外の各画像から前記指定された領域に対応する領域を抽出し、これらの処理により対応づけられた領域の組み合わせ毎に、当該領域内の１代表点に係る３次元座標を算出する、請求項１に記載された３次元視覚センサ。
【請求項５】
前記認識処理手段は、前記３次元計測処理による計測処理により得た３次元座標のうち、０より低い高さを示すものを認識対象から除外する、請求項１に記載された３次元視覚センサ。
【請求項６】
前記変換用パラメータの導出に用いられた２つの平面を透視変換して、両者の関係を表す投影画像を生成する手段と、生成された投影画像をモニタ装置に表示する手段とを、さらに具備する、請求項１に記載された３次元視覚センサ。
【請求項７】
ステレオカメラと；特定の位置関係にある複数の特徴点を抽出できるように設計されたキャリブレーションパターンを対象に前記ステレオカメラが実行した撮像により生成されたステレオ画像から前記キャリブレーションパターン内の複数の特徴点を抽出し、これらの特徴点を用いて３次元計測のためのパラメータを算出するパラメータ算出手段と；前記３次元計測のためのパラメータが登録されるパラメータ記憶手段と；所定の認識対象物のモデルに対して前記ステレオカメラが実行した撮像により生成されたステレオ画像を対象に前記パラメータ記憶手段に登録されたパラメータを用いた３次元計測処理を実行し、その計測結果を用いて前記認識対象物の３次元モデルを作成するモデル作成手段と；作成された３次元モデルが登録される３次元モデル記憶手段と；前記認識対象物に対して前記ステレオカメラが実行した撮像により生成されたステレオ画像を対象に前記パラメータ記憶手段に登録されたパラメータを用いた３次元計測処理を実行し、その計測結果を前記３次元モデル記憶手段に登録された３次元モデルと照合して前記認識対象物の位置および姿勢を認識する３次元認識手段とを具備する３次元視覚センサにおいて、
所定の特徴パターンが設けられた平面に対して前記ステレオカメラが実行した撮像に応じて、当該撮像により生成されたステレオ画像と前記パラメータ算出手段により算出されたパラメータとを用いて、前記特徴パターン内の少なくとも３点の代表点を対象にした３次元計測処理を実行することにより、各代表点の３次元座標を取得する座標取得手段と、
前記座標取得手段が取得した各代表点の３次元座標に基づき、これらの３次元座標を含む平面を表す演算式を特定し、前記パラメータ算出手段により算出されたパラメータによる３次元計測処理により高さが０と認識される平面と前記演算式が示す平面との位置関係を判別する判別手段とを、さらに具備し、
前記モデル作成手段は、前記パラメータ記憶手段に登録されたパラメータを前記判別手段が判別した位置関係に基づいて補正して、この補正後のパラメータによる３次元計測処理を実行するとともに、この計測により得た３次元座標のうち、０以上の高さを示す座標を用いて前記３次元モデルを作成する、
ことを特徴とする、３次元視覚センサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオカメラを用いた３次元計測処理により対象物を認識する３次元視覚センサに関する。
【背景技術】
【０００２】
ステレオカメラによる３次元計測を行うには、ステレオカメラを構成する各カメラの座標系とワールド座標系との関係を表す変換式中の透視変換行列Ｐ（下記（１）（２）式を参照。）を求める必要がある。
【０００３】
【数１】
2010210584.tif 000003
【０００４】
【数２】
2010210584.tif 000004
【０００５】
上記の透視変換行列Ｐの各要素Ｐ００，Ｐ０１，・・・Ｐ２３は、カメラの内部パラメータ（焦点距離、分解能、画像中心など）と、カメラの位置や姿勢に起因するパラメータ（ワールド座標系とカメラ座標系との回転ずれや各座標系の原点の位置ずれ量など）を反映したものである。従来のキャリブレーション処理では、カメラ毎に、そのカメラの座標系の２次元座標（ｘ，ｙ）と３次元座標（Ｘ，Ｙ，Ｚ）との組み合わせを複数取得し、各組の座標を上記の（１）式に代入することにより、行列Ｐ内の各要素を未知数とする多元連立方程式を設定する。そして、最小自乗法などにより各要素の最も好ましい値を特定する。
【０００６】
つぎに、上記の演算に使用する座標を簡単に導出する方法を開示した文献として、下記の非特許文献１およびこれを応用した特許文献１がある。非特許文献１には、等間隔に配列されたマークにより構成される２次元のキャリブレーションパターンが設けられた平板状のワークを、その高さや向きを変更しながら少なくとも２回の撮像を行い、各撮像により生成された画像から各マークに対応する特徴点を抽出し、各特徴点の関係からワールド座標系の座標を特定することが、記載されている。
【０００７】
また特許文献１には、それぞれ異なるキャリブレーションパターンが設けられた２枚の透明シートを、所定の間隔を隔てて水平になるように配置した状態で撮像を行うことで、キャリブレーションパターンに必要な数の特徴点を同じ画像から取得できるようにすることや、下方の透明シートに対応する平面のＺ座標（高さを示す座標）を０に設定して、パラメータの算出を行うことが記載されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Zhengyou Zhang   “A Flexible New Technique for Camera Calibration”、Microsoft Research Microsoft Corporation，［平成２１年２月２日検索］、インターネット＜URL:http://research.microsoft.com/en-us/um/people/zhang/calib/＞
【特許文献】
【０００９】
【特許文献１】特開２００６−２５０８８９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
３次元計測では、キャリブレーションで設定されたのと同様のときと同様のワールド座標系に基づく３次元座標が導出されるが、キャリブレーションの際に高さが０と定義された面が認識対象物の支持面になるとは限らない。また、認識対象物を支持する治具によっては、認識対象物が水平な状態で支持されない場合もある。
【００１１】
また対象物の全体を計測するのではなく、所定の面から突出している部位を対象に、その突出の度合を認識するような処理（たとえば、電子機器の押釦スイッチやネジの検査など）に３次元視覚センサを使用する場合には、対象物の支持面ではなく、突出度合の計測の基準となる面の高さが０になるように設定する方が便利である。
【００１２】
また、認識処理の際に、対象物よりも下方にある物体が対象物とともに撮像されると、この物体に対する認識結果がノイズとして出力されるおそれがある。さらに３次元マッチング処理用の３次元モデルを作成するために対象物のモデルを計測する場合にも、同様に、モデルより下方にある物体がカメラに含まれる状態で撮像が行われると、計測された３次元座標からノイズを除く処理などが必要になり、３次元モデルの作成を効率良く進められないおそれがある。
【００１３】
本発明は上記の問題点に着目し、認識処理の都合に応じた任意の平面の高さを０として高さの認識処理を行うことができるようにすることを、課題とする。
【課題を解決するための手段】
【００１４】
本発明による３次元視覚センサは、ステレオカメラと；特定の位置関係にある複数の特徴点を抽出できるように設計されたキャリブレーションパターンを対象にステレオカメラが実行した撮像により生成されたステレオ画像からキャリブレーションパターン内の複数の特徴点を抽出し、これらの特徴点を用いて３次元計測のためのパラメータを算出するパラメータ算出手段と；３次元計測のためのパラメータが登録されるパラメータ記憶手段と；所定の認識対象物に対してステレオカメラが実行した撮像により生成されたステレオ画像を対象にパラメータ記憶手段に登録されたパラメータを用いた３次元計測処理を実行することによって、認識対象物に対し、高さの認識を含む所定の認識処理を実行する３次元認識手段とを具備する。
【００１５】
さらに、この３次元視覚センサは、所定の特徴パターンが設けられた平面に対してステレオカメラが実行した撮像に応じて、当該撮像により生成されたステレオ画像とパラメータ算出手段により算出されたパラメータとを用いて、上記の特徴パターン内の少なくとも３点の代表点を対象にした３次元計測処理を実行することにより、各代表点の３次元座標を取得する座標取得手段と；座標取得手段が取得した各代表点の３次元座標に基づき、これらの３次元座標を含む平面を表す演算式を特定し、パラメータ算出手段により算出されたパラメータによる３次元計測処理により高さが０と認識される平面と上記の演算式が示す平面との位置関係を判別する判別手段と；この判別手段が判別した位置関係に基づき、パラメータ記憶手段に登録されたパラメータまたはこのパラメータによる３次元計測処理の結果を補正する補正手段とを、具備する。
【００１６】
上記の構成によれば、３次元計測のためのパラメータの算出および登録が終了した後に、高さが０の平面として認識したい平面を、その平面内の所定の特徴パターンがステレオカメラを構成する各カメラの視野に含まれるようにして撮像することによって、撮像対象とした平面とキャリブレーションで高さが０と定義された平面との位置関係を判別し、この判別結果に基づいて撮像対象とした平面を基準に高さを認識することが可能になる。よって、ユーザは、認識対象物の支持状態や処理の目的などに応じて、高さの認識処理の基準となる平面を自由に変更することが可能になる。また、実際の空間で水平方向に対して斜めになる平面についても、この平面を基準にした高さを計測することによって、当該平面からの変位量を認識することが可能になる。
【００１７】
上記の３次元視覚センサの好ましい態様では、補正手段は、パラメータ記憶手段に登録されたパラメータを変換用パラメータを用いて補正して、補正後のパラメータにより登録されたパラメータを書き換える。
【００１８】
上記の態様によれば、キャリブレーションにより登録された３次元計測処理用のパラメータを、変換用パラメータを用いて補正したものに更新するので、３次元認識手段による処理では、更新されたパラメータによる３次元計測処理によって、高さを認識する処理を効率良く行うことが可能になる。
【００１９】
他の好ましい態様による３次元視覚センサでは、座標取得手段は、ステレオ画像を構成する複数の画像から、それぞれあらかじめ登録された特徴パターンを含む領域を少なくとも３つ抽出し、抽出された領域をパラメータ算出手段により算出されたパラメータに基づき画像間で対応づけして、対応づけられた領域毎に当該領域内の１代表点に係る３次元座標を算出する。
【００２０】
上記の態様によれば、たとえば、高さ計測の基準にしたい平面にシールを貼付するなどの方法により、あらかじめ定めた特徴パターンを当該平面に一時的に設定して、この平面を示す演算式の特定に必要な３次元座標を取得することが可能になる。
【００２１】
他の好ましい態様による３次元視覚センサでは、座標取得手段は、ステレオ画像を構成する複数の画像のうちの１つを表示して、その表示画面上で所定の特徴パターンを含む領域を少なくとも３つ指定する操作を受け付けた後、パラメータ算出手段により算出されたパラメータに基づき、表示された画像以外の各画像から指定された領域に対応する領域を抽出する。そして、これらの処理により対応づけられた領域の組み合わせ毎に、当該領域内の１代表点に係る３次元座標を算出する。
【００２２】
上記の態様によれば、高さの認識処理の基準にしたい平面を、代表点の抽出に適した特徴パターンが３つ以上撮像されるようにしてステレオ撮像を行い、表示された画像に対し、ユーザが上記の各特徴パターンを含む領域を指定することによって、平面を示す演算式の特定に必要な３次元座標を取得することが可能になる。
【００２３】
他の好ましい態様による３次元視覚センサでは、認識処理手段は、３次元計測処理による計測処理により得た３次元座標のうち、０より低い高さを示すものを認識対象から除外する。
【００２４】
上記の態様によれば、高さの認識処理の基準として設定された平面より下方にある物体が認識対象物とともに撮像された場合でも、この物体に対する計測結果が認識処理結果に影響を及ぼすおそれがなくなる。よって、３次元認識処理を安定して行うことが可能になる。
【００２５】
他の好ましい態様による３次元視覚センサには、変換用パラメータの導出に用いられた２つの平面、言い換えれば、パラメータ算出手段により算出されたパラメータによる３次元計測処理により高さが０と認識される平面と、変換用パラメータ導出手段により特定された演算式が示す平面とを透視変換して、両者の関係を表す投影画像を生成する手段と、生成された投影画像をモニタ装置に表示する手段とが、さらに設けられる。
【００２６】
上記の態様によれば、ユーザは、キャリブレーションの際に高さが０として定義された平面と、高さの認識処理の基準として設定した平面との関係を、容易に判別することが可能になる。
【００２７】
つぎに、この発明による他の構成の３次元視覚センサは、上記と同様のステレオカメラおよびパラメータ算出手段、パラメータ記憶手段を具備するとともに、所定の認識対象物のモデルに対してステレオカメラが実行した撮像により生成されたステレオ画像を対象にパラメータ記憶手段に登録されたパラメータを用いた３次元計測処理を実行し、その計測結果を用いて認識対象物の３次元モデルを作成するモデル作成手段と；作成された３次元モデルが登録される３次元モデル記憶手段と；認識対象物に対してステレオカメラが実行した撮像により生成されたステレオ画像を対象にパラメータ記憶手段に登録されたパラメータを用いた３次元計測処理を実行し、その計測結果を３次元モデル記憶手段に登録された３次元モデルと照合して認識対象物の位置および姿勢を認識する３次元認識手段とを具備する。
【００２８】
さらに、この３次元視覚センサにも、前出の座標取得手段および判別手段が設けられる。また、モデル作成手段は、パラメータ記憶手段に登録されたパラメータを判別手段が判別した位置関係に基づいて補正して、この補正後のパラメータによる３次元計測処理を実行するとともに、この計測により得た３次元座標のうち、０以上の高さを示す座標を用いて３次元モデルを作成する。
【００２９】
上記の構成によれば、認識対象物のモデルに対する３次元計測結果を用いて３次元モデルを作成する場合に、モデルの支持面を基準に高さが計測されるように３次元計測用のパラメータを補正してから３次元モデルを作成することが可能になる。また撮像の際に、モデルより下方にある物体が一緒に撮像されても、この物体に対する計測結果が３次元モデルに反映されることがない。よって精度の良い３次元モデルを簡単に作成することが可能になる。
【発明の効果】
【００３０】
上記の３次元視覚センサによれば、認識対象物が実際に支持される面や処理の目的に応じて、高さの認識処理の基準となる平面を自由に設定することが可能になり、３次元視覚センサの利便性が大幅に高められる。
【図面の簡単な説明】
【００３１】
【図１】３次元視覚センサが導入された検査ラインの構成を示す図である。
【図２】３次元視覚センサの電気構成を示すブロック図である。
【図３】キャリブレーションプレートの構成例を示す図である。
【図４】キャリブレーションパターン内の各特徴点の識別ルールを示す図である。
【図５】キャリブレーションプレートの撮像時の表示画面の例を示す図である。
【図６】キャリブレーション時の処理手順を示すフローチャートである。
【図７】基準面の更新処理の手順を示すフローチャートである。
【図８】基準面の更新処理の際に表示される画面の例を示す図である。
【図９】更新前および更新後の基準面の関係を投影画像として表した表示例を示す図である。
【図１０】３次元視覚センサが導入されたピッキングシステムの構成を示す図である。
【図１１】ワークモデルの撮像方法を示す図である。
【図１２】３次元モデルの作成方法を模式的に示す図である。
【図１３】３次元モデルの登録処理の際に表示される画面の例を示す図である。
【図１４】３次元モデルの登録処理の概略手順を示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下、３次元視覚センサを用いた認識処理について、２つの実施例を用いて説明する。
【００３３】
＜第１実施例＞
図１は、３次元視覚センサを用いた検査ラインの一例を示す。
この検査ラインは、工場で生産された同一形状のワークＷ（具体的にはリモコン装置）を対象に、筐体の上面に設けられた押ボタン１０２の高さの適否を検査するものである。
【００３４】
この実施例の３次元視覚センサ１００は、ワークＷの搬送ライン１０１の上方に設けられたステレオカメラ１と、搬送ライン１０１の近傍に配備された認識処理装置２とにより構成される。ステレオカメラ１は、横並びに配置された３台のカメラＡ，Ｂ，Ｃにより構成される。これらのうち中央のカメラＡは、光軸を鉛直方向に向けた状態（すなわち正面視を行う状態）にして配備され、左右のカメラＢ，Ｃは、光軸を斜めにして配備される。
【００３５】
認識処理装置２は、専用のプログラムが格納されたパーソナルコンピュータである。この認識処理装置２では、各カメラＡ，Ｂ，Ｃが生成した画像を取り込んで、あらかじめ登録された設定情報（３次元計測用のパラメータや各ボタン１０２に描かれた文字のパターン画像など）に基づき、各ボタン１０２に対応する領域を画像間で対応づけして、各ボタン１０２の代表点の高さ（Ｚ座標）を計測する。さらに、ボタン１０２毎に取得したＺ座標をあらかじめ登録された基準値と照合することにより、各ボタン１０２の高さの適否を判定する。この判定結果は、図示しない上位機器に送信される。
【００３６】
図２は、上記の３次元視覚センサ１００の構成をブロック図により表したものである。
この図によれば、認識処理装置２には、各カメラＡ，Ｂ，Ｃに対応する画像入力部２０Ａ，２０Ｂ，２０Ｃ、カメラ駆動部２１、ＣＰＵ２２、メモリ２３、入力部２４、表示部２５、通信インターフェース２６などが含まれる。
【００３７】
カメラ駆動部２１は、ＣＰＵ２２からの指令に応じて、各カメラＡ，Ｂ，Ｃを同時に駆動する。ＣＰＵ２２は、検査の際には、搬送ライン１０１の所定箇所に設けられたワーク検出用のセンサ（図示せず。）からの検知信号の入力に応じて撮像指令を出力する。また検査の前の設定処理では、入力部２４から撮像開始の指示を受け付けたことに応じて撮像指令を出力する。
【００３８】
表示部２５は、図１におけるモニタ装置である。また入力部２４は、図１のキーボード２７およびマウス２８をまとめたものである。これらは、キャリブレーション処理の際に、設定のための情報を入力したり、作業を支援するための情報を表示する目的に使用される。通信インターフェース２６は、上位機器との通信に用いられる。
【００３９】
メモリ２３は、ＲＯＭ，ＲＡＭ，およびハードディスクなどの大容量メモリを含むもので、キャリブレーション処理、３次元モデルの作成、およびワークＷの３次元認識処理のためのプログラムや設定データが格納されている。また、キャリブレーション処理で算出された３次元計測用のパラメータや３次元モデルも、メモリ２３内の専用のエリアに登録される。
【００４０】
ＣＰＵ２２は、メモリ２３内のプログラムに基づき、３次元計測用のパラメータの算出および登録処理を実行する。これによりワークＷに対する３次元計測が可能な状態になる。以下、このキャリブレーション処理について、詳細に説明する。
【００４１】
この実施例では、図３に示すようなキャリブレーションプレート３０を用いて３次元計測用のパラメータを算出する。このキャリブレーションプレート３０は、白色地の薄型プレートの上面に２次元のキャリブレーションパターンを描いた構成のものである。
【００４２】
図３に示すキャリブレーションパターンは、同一径の円形状のマークＭを上下左右に等間隔で配列したものである（図中のＤは、マークＭの中心点間の距離に相当する。）。中心に位置するマークＭ０を除く各マークＭは、黒一色で着色され、中心のマークＭ０には、外周部が黒色で内部に一回り小さい白色円が配置されている。キャリブレーションプレート３０の位置合わせや特徴点の認識は、このマークＭ０を基準に行われる。
【００４３】
図４は、上記のキャリブレーションプレート３０の各マークＭの特徴点を識別するためのルールを示す。
この図では、各マークＭの配列を、それぞれの中心点の配列に置き換えて示すとともに、各中心点にＣ（ｉ，ｊ）というラベルを付している。各ラベルの（ｉ，ｊ）の値は、中央のマークＭ０の中心点を（０，０）として、各点の配列に沿って１ずつ変化するように定められている。
【００４４】
この実施例のキャリブレーション処理では、まず最初に、上記のキャリブレーションプレート３０を、その面を水平な状態にして設定して各カメラＡ，Ｂ，Ｃによる撮像を行う。つぎに、キャリブレーションプレート３０の水平状態を維持して、その高さを変更し、再度、各カメラＡ，Ｂ，Ｃによる撮像を実行する。具体的には、停止状態の搬送ラインまたはライン外の平坦面にキャリブレーションプレート３０を設置して１回目の撮像を行い、次にこの設置面に専用の支持台を配置して、この支持台上にプレート３０を設置して２回目の撮像を実行する。
【００４５】
さらにこの実施例では、上記の作業時には、表示部２５に図５に示すような画面を表示して、キャリブレーションプレート３０とカメラＡ，Ｂ，Ｃとの位置関係を調整する作業を支援するようにしている。この画面には、画像表示領域３１のほか、この領域に表示する対象画像を指定するための選択ボタン３２Ａ，３２Ｂ，３２Ｃ（カメラＡ，Ｂ，Ｃに対応する。）、ＯＫボタン３３、キャンセルボタン３４などが設けられている。また、画像表示領域３１には、垂直方向に沿うラインＬ１および水平方向に沿うラインＬ２がそれぞれ領域３１の中心位置を通るようにして表示されている。これらのラインＬ１，Ｌ２は、領域３１内の画像表示の変動に関わらず、常に一定の状態で画像に重ね表示される。
【００４６】
１回目の撮像の際には、ユーザは、正面視用のカメラＡの画像表示から、中央のマークＭ０がカメラＡの視野のほぼ中央に位置し、このマークＭ０を含む縦方向および横方向のマークの配列がラインＬ１，Ｌ２にほぼ対応するように、キャリブレーションプレート３０の位置や姿勢を調整する。ただし、マークＭの間隔が均一であるので、プレート３０の縦・横とラインＬ１，Ｌ２との対応関係が逆になってもよい。また、マークの配列とラインＬ１，Ｌ２とのなす角度が４５度までであれば、ラインＬ１，Ｌ２が縦・横のマークＭの配列に対して斜めになるようにプレート３０を配置してもかまわない。
【００４７】
ユーザは、カメラＢ，Ｃについても同様に、画像表示領域３１内にマークＭ０を含む十分な数のマークＭが含まれていることを確認し、不備があれば、カメラＢ，Ｃの位置や光軸の向きを調整する。これらの確認や調整が終了すると、ユーザは、ＯＫボタン３３を操作することにより撮像開始を指示する。
【００４８】
２回目の撮像の際にも同様の手順でキャリブレーションプレート３０を各カメラＡ，Ｂ，Ｃの視野に配置するが、各カメラＡ，Ｂ，Ｃの位置や光軸の向きについては、１回目の撮像のときと同じ状態を維持する必要がある。
【００４９】
図６は、キャリブレーション処理に関する一連の手順を示す。以下、この図６とともに、適宜他の図面を参照して、キャリブレーション処理の詳細を説明する。
【００５０】
この処理では、まず上記した要領で第１回目の撮像を実行する（ＳＴ１）。つぎに、各カメラＡ，Ｂ，Ｃにより生成された画像毎に、マークＭを表す円を抽出し、これらの円の中心点を各マークＭの特徴点として抽出する（ＳＴ２）。
【００５１】
つぎのステップＳＴ３では、各画像の特徴点にラベルを付けることで、画像間における特徴点の対応関係および各特徴点と実際のマークＭとの対応関係を特定する。具体的に説明すると、まず、マークＭ０をその外観の特徴から認識して、その特徴点にＣ（０，０）のラベルを付ける。つぎに、この基準点Ｃ（０，０）を起点に上下左右の各方向にそれぞれ所定角度幅の探索範囲を設定して、その範囲内で基準点Ｃ（０，０）に最も近い位置にある特徴点を抽出する。そして、抽出された各特徴点が基準点Ｃ（０，０）を挟んで並ぶ方向に基づき、各特徴点の上下、左右の配列方向を特定する。さらに各配列方向から基準点Ｃ（０，０）に対するその他の特徴点の位置関係を割り出し、各位置関係に図４に示したラベル付けのルールを適用することによって、各特徴点のラベルＣ（ｉ，ｊ）を決定する。
【００５２】
この実施例のカメラＡ，Ｂ，Ｃは横並びに配置されており、各画像におけるマークＭの配列方向に９０度以上の差異が生じることがないので、上記の方法により、各画像間で対応関係にある特徴点に同一のラベルを付与することができる。よって、同一のラベルが付された特徴点の組毎に、実際のキャリブレーションパターン中で当該組み合わせに対応するマークＭが一意に定まることになる。
【００５３】
つぎに、ステップＳＴ４では、カメラＡにより生成され正面視画像を用いて、各特徴点のＸ，Ｙ，Ｚ座標を特定する。
【００５４】
この実施例では、キャリブレーションプレート３０を水平面に設置していることを利用して、１回目の撮像時に特定される各特徴点を含む平面が高さ（Ｚ座標）が０の平面となるようにワールド座標系を定義する。具体的には、マークＭ０から求めた基準点Ｃ（０，０）の実際の位置を原点（０，０，０）とし、この基準点Ｃ（０，０）を通る左右の配列がＸ軸方向に対応し、基準点Ｃ（０，０）を通る上下の配列がＹ軸方向に対応するように設定する。以下、この高さが０の平面を「基準面」という。
【００５５】
上記の設定によれば、１回目の撮像時には、各特徴点は、ワールド座標系のＸ軸およびＹ軸に沿って並んでいることになる。よって、１回目の撮像で特定される特徴点Ｃ（ｉ，ｊ）の３次元座標のうちのＸ座標（Ｘｉｊ）およびＹ座標（Ｙｉｊ）については、キャリブレーションパターンの各マークＭの中心点間の距離Ｄを用いた下記の演算により、求めることができる。
Ｘｉｊ＝ｉ＊Ｄ，Ｙｉｊ＝ｊ＊Ｄ
また各特徴点のＺ座標（Ｚｉｊ）は、すべて０に設定する。
【００５６】
つぎに、２回目の撮像に対しても、１回目の撮像と同様の手法で、マークＭの特徴点を抽出する処理（ＳＴ２）およびラベル付け（ＳＴ３）を実行した後に、各特徴点Ｃ（ｉ，ｊ）のＸ，Ｙ，Ｚ座標を求める（ＳＴ４）。この場合には、まず、今回の撮像による正面視画像を１回目の撮像時の正面視画像と照合して、画像中の基準点Ｃ（０，０）の位置ずれ量を求めるとともに、マークの上下、左右の配列方向についても１回目の撮像に対する回転ずれ量を求める。そして、カメラＡ，Ｂ，Ｃ間でラベルにより対応づけされた特徴点の組毎に、１回目の撮像と同様の手法でＸ，Ｙ座標を求めた後に、これらの座標を上記の位置ずれ量および回転ずれ量により補正する。一方、Ｚ座標（Ｚｉｊ）には、変更後のキャリブレーションプレート３０の高さにキャリブレーションプレートの厚みを加えた値を一律にあてはめる。
【００５７】
このようにして、２回の撮像および各カメラ毎に生成された６枚の画像について、それぞれ複数の特徴点が抽出され、各特徴点に対応する３次元座標が特定される。
この後は、カメラ毎に、各特徴点の３次元座標と画像中の２次元座標とを対応するもの毎に組み合わせて、前出の透視投影変換の演算式（（１）式）に代入し、最小自乗法により透視投影行列Ｐを求める（ＳＴ６）。このカメラ毎に求めた行列Ｐが３次元計測用のパラメータとなる。この後は、算出されたパラメータをメモリに登録し（ＳＴ７）、処理を終了する。
【００５８】
このようにしてパラメータを登録したことにより、以後は、ワークＷに対する３次元計測を行うことが可能になる。しかし、この実施例では、ワークＷの筐体の上面に対するボタンの高さを計測することを目的とするため、筐体の上面の高さが０となるのが望ましいところ、キャリブレーションの際に定義された基準面はこの目的に適合していない。
【００５９】
そこでこの実施例では、キャリブレーション処理が終了した後に、停止中の搬送ラインにワークＷの実物モデル（以下、「ワークモデルＷＭ」とする。）を設置し、筐体の上面を計測対象としたときのＺ座標が０になるように、３次元計測用のパラメータを変更する処理を実行する。すなわち、このパラメータの変更により基準面（高さが０の平面）が更新されることになる。
【００６０】
具体的に説明すると、この実施例では、更新後の基準面となる平面の３箇所以上に所定形状のマークを付加し、これらのマークをステレオカメラ１で撮像して３次元計測を実行することにより、この平面を具体的に表す式を導出する。そして、この式が示す平面とキャリブレーションで定義された基準面との関係に基づき、キャリブレーション時にパラメータとして登録された透視変換行列Ｐを変換し、変換後の透視変換行列により登録されたパラメータを書き換える。
【００６１】
以下、図７のフローチャートおよび図８を参照して、基準面の更新処理を詳細に説明する。まず、ユーザは、図５と同様の画面により、各カメラＡ，Ｂ，Ｃの視野にワークモデルＷＭが適切に入っているかどうかを確認して、撮像開始を指示する。これにより図７のフローチャートに示す処理がスタートし、各カメラＡ，Ｂ，Ｃによりワークモデルの撮像が行われる（ＳＴ１１）。
【００６２】
撮像が終了すると、表示部２５の画面は図８に示すものに切り替わる。この画面にも画像表示領域３１が設けられ、その内部にはワークモデルＷＭの正面視画像が表示される。また、この画像中のｍ１，ｍ２，ｍ３は、円形状のシールを貼付することによってワークモデルに付加されたマークである。
【００６３】
この実施例では、上記の画像表示に対し、ユーザが各マークｍ１，ｍ２，ｍ３を含む領域を指定するようにしている。図８中の点線枠ｒ１，ｒ２，ｒ３は、この操作により指定された領域を示す。以下、これらの領域を「マーク領域」という。
【００６４】
画像表示領域３１の横手には、登録開始を指示するボタン３５が設けられている。ユーザは、画像表示領域３１内で任意数のマーク領域を設定した後にボタン３５を操作することができる。
【００６５】
図７に戻って、上記のようにワークモデルＷＭの正面視画像が表示され（ＳＴ１２）、マーク領域の設定および登録開始ボタン３５の操作を受け付けると、ＳＴ１４が「ＹＥＳ」となる。以下、設定されたマーク領域に順に着目して、ＳＴ１５，１６，１７の各ステップを実行する。
【００６６】
ＳＴ１５では、着目中のマーク領域からマークを抽出し、さらにその中心点を代表点として特定する。この実施例では、ワークモデルＷＭに貼付するマークの色彩や径を統一しているので、ユーザがマーク領域を正しく設定していれば、ＳＴ１５では、パターンマッチング等の手法によりマークを容易に抽出することができる。
【００６７】
ＳＴ１６では、キャリブレーション処理で登録されたパラメータに基づき、カメラＢ，Ｃの画像に、ＳＴ１５で抽出された代表点に対するエピポーララインを設定して、このラインに沿って当該代表点への対応点を検索する。これにより、各画像における代表点の座標が特定されると、ＳＴ１７では、これらを用いて代表点の３次元座標を算出する。
【００６８】
上記ＳＴ１５，１６，１７のステップが指定された領域のすべてに対して実行され、さらに算出された３次元座標の数が３個に満たない場合には、再びマーク領域の設定を受け付ける処理（ＳＴ１３）に戻る。一方、３個以上の３次元座標を取得した場合には、ＳＴ１８、ＳＴ１９がともに「ＹＥＳ」となってＳＴ２０に進む。
【００６９】
ＳＴ２０では、取得した各３次元座標を用いて、これらの座標に対応する平面の式を導出する。つぎに、ＳＴ２１では、上記の式により特定される平面内の１点を基準に新規の３次元座標系を設定する。具体的には、平面の式の導出に用いられた３次元座標の中の１つ、またはこれらの３次元座標による多角形の重心点などを原点として、平面に垂直になる方向をＺ軸とし、平面内の直交する２方向をＸ軸およびＹ軸とする。
【００７０】
つぎに、ＳＴ２２では、新規の３次元座標系について、キャリブレーションの際に定義されたワールド座標系に対する原点の移動量およびＸ，Ｙ，Ｚの各軸における回転角度を算出する。そして、算出した移動量および回転角度を用いて、ワールド座標系の座標を新規の３次元座標系の座標に変換する処理に必要な同次変換行列Ｔ（下記（３）式）を導出する。
【００７１】
【数３】
2010210584.tif 000005
【００７２】
さらに、ＳＴ２３では、上記の行列Ｔにより３次元計測のパラメータとして登録されている透視変換行列Ｐを変換する演算（下記（４）式）を実行する。
【００７３】
【数４】
2010210584.tif 000006
【００７４】
上記の同次変換行列Ｔによれば、ＳＴ１７で算出された各３次元座標が、新規の３次元座標系の高さが０の平面内の点として表されることになる。よって、変換後の行列Ｐ´は、これらの３次元座標を含む平面の高さを０として３次元計測を行う場合の透視変換行列に相当することになる。
ＳＴ２４では、この透視変換行列Ｐ´を３次元計測に使用するパラメータとして登録する。これにより、ワークモデルＷのマークｍ１，ｍ２，ｍ３が付された面の高さを０として、Ｚ座標を算出することが可能な状態になる。
【００７５】
さらにこの実施例では、基準面の更新結果を表す画像を表示（ＳＴ２５）した後に、基準面の更新処理を終了する。よって、ユーザが更新された基準面を確認してから、本格的な処理に進むことができる。
【００７６】
図９は、基準面の更新結果を表す画像表示画面の具体的を示す。この画像は、キャリブレーションの際に設定された基準面（すなわち更新前の基準面）の各特徴点Ｃ（ｉ，ｊ）と、基準面の更新処理の際にマークｍ１，ｍ２，ｍ３から抽出された代表点ｏ１，ｏ２，ｏ３の各３次元座標を透視変換することにより生成されたものである。各点の３次元座標はキャリブレーション時の定義に基づき定められ、この定義に基づくＸ，Ｙ，Ｚ軸を表す線画（図中、点線で示す。）も表示されている。
【００７７】
また、更新前の基準面の各特徴点Ｃ（ｉ，ｊ）と更新後の基準面の代表点ｏ１，ｏ２，ｏ３とは、それぞれ異なる色彩により表されている（図中では、＋マークとドットにより各点を区別して示す。）。また、代表点ｏ１，ｏ２，ｏ３を結ぶ線分（図中、一点鎖線で示す。）により、更新後の基準面が表現されている。
【００７８】
図９（１）の画像は、各基準面を斜め上方向から透視変換することにより生成されたものであり、図９（２）の例では、各基準面をＹ軸方向に沿う方向から透視変換することにより生成されたものである。
この実施例では、透視変換処理の視点や投影方向をユーザの操作に応じて変換することにより、図９（１）（２）に示すように、更新前、更新後の各基準面の関係を種々の方向から確認できるようにしている。よって、この表示により更新後の基準面が適切でないと判断した場合には、再度、基準面の更新処理を実行することができ、実際の計測における精度を確保することができる。
【００７９】
なお、上記の実施例では、ワークモデルＷＭの正面視画像を表示して、ユーザに各マークｍ１，ｍ２，ｍ３を含む領域を指定させたが、これに限らず、正面視画像から各マークｍ１，ｍ２，ｍ３を自動抽出し、これに続いて代表点の特定や他の画像における対応点の検索を行うことも可能である。また、基準面に設定する面（この実施例ではワークＷの筐体の上面）に文字や記号などの特徴パターンが含まれる場合には、ユーザに、この特徴パターンを含むような範囲を指定させて、指定された範囲内の特徴パターンをマークとして認識してもよい。
【００８０】
また上記の実施例では、ワークＷの特定の部位を対象に計測を行っているが、ワークＷの全体が計測対象となる場合にも、ワークＷの支持面の３箇所以上に所定のマークを付けて、図７と同様の手順を実行することにより、支持面を基準面に設定することができる。このようにすれば、ワークＷがキャリブレーション処理で定義された基準面とは異なる高さの面に支持される場合や、計測条件が変わって、支持面の高さが変更された場合でも、基準面を簡単に更新して、各部の高さを安定して計測することができる。
【００８１】
また、ワークＷの支持面が水平であれば、キャリブレーションで使用したキャリブレーションプレート３０を用いて、基準面の更新処理を行うこともできる。この場合には、キャリブレーションパターンから抽出した各特徴点について、登録されたパラメータを用いてワールド座標系における３次元座標を求めるとともに、キャリブレーション処理の１回目の撮像時と同様の方法で新規の３次元座標系の３次元座標を求め、これらの座標群の関係から同次変換行列Ｔを導出することができる。
なお、この場合には、キャリブレーションプレート３０の厚みが計測値に加わることになるが、その厚みを誤差として許容できる場合には、変更後のパラメータによる３次元計測を行えばよい。また計測の精度を求める場合にも、計測後にプレート３０の厚みに基づきＺ座標を補正することで対応することができる。
【００８２】
さらに、更新後の基準面は水平面にする必要はないので、ワークＷの支持面が水平面に対して傾斜している場合にも、この傾斜面に直交する方向を高さ方向として、支持面からワークＷの各箇所までの距離を精度良く認識することができる。またワークＷの表面の傾斜面から突出している部位を認識対象とする場合にも、同様に、傾斜面からの突出の度合を高さとして計測することが可能になる。
【００８３】
また、上記の３次元視覚センサ１００によれば、基準面を簡単に更新することができるので、ステレオカメラ１をユニット化して各カメラＡ，Ｂ，Ｃの位置関係を固定し、製造元で出荷前にキャリブレーションを完了することができる。このようにすれば、３次元計測の基本となるキャリブレーションの精度を確保できるとともに、ユーザの都合に合わせて自由に基準面を更新することができ、利便性を高めることができる。なお、この場合には出荷時の基準面に基づくパラメータを基準データとして維持して、出荷時の設定状態に戻せるようにしておくのが望ましい。
【００８４】
また上記の実施例では、更新後の基準面の高さの計測値が０になるように、３次元計測用のパラメータを更新したが、更新後の基準面が更新前の基準面と平行であれば、パラメータを当初のまま維持して、その代わりに更新後の基準面の高さを基準値として登録し、キャリブレーションにより設定されたパラメータにより求めたＺ座標から基準値を差し引いた値を計測結果としてもよい。
【００８５】
＜第２実施例＞
図１０は、３次元視覚センサが導入されたピッキングシステムの例を示す。
このピッキングシステムは、工場内で収容ボックス６に収容されたワークＷを１つずつ取り出して所定の位置に搬送する作業を行うためのもので、ワークＷを認識するための３次元視覚センサ１００のほか、実際の作業を行う多関節ロボット４や、このロボット４の動作を制御するロボット制御装置３などが含まれる。
【００８６】
３次元視覚センサ１００は、第１実施例に示したのと同様のステレオカメラ１と認識処理装置２とにより構成されるが、この実施例の認識処理装置２のメモリ２３には、ワークＷの３次元モデルが登録されている。認識処理装置２では、各カメラＡ，Ｂ，Ｃが生成した画像を取り込んで、ワークＷの輪郭線を対象とする３次元計測を実行した後に、この計測により復元された３次元情報を登録された３次元モデルと照合することにより、ワークＷの位置および姿勢を認識する。そして、認識したワークＷの位置を表す３次元座標、および３次元モデルに対するワークＷの回転角度（Ｘ，Ｙ，Ｚの各軸毎に表される。）をロボット制御装置３に出力する。ロボット制御装置３では、この情報に基づき、ロボット４のアーム４０の動作を制御して、ワークＷを把持させる。
【００８７】
上記の認識処理に用いられる３次元モデルは、キャリブレーション処理を終了した後のカメラＡ，Ｂ，Ｃを用いて、ワークＷの実物モデル（以下、「ワークモデルＷＭ」として示す。）を対象にした３次元計測を実行することにより、作成される。
図１１は、モデルの作成処理時のワークモデルＷＭの撮像状態を例示したものである。この例では、平坦な支持プレート４０上にワークモデルＷＭを設置して、その上方から撮像を行うようにしている。この支持プレート４０の四隅には、それぞれ円形状のマークｍＡ，ｍＢ，ｍＣ，ｍＤが記されている。これらのマークｍＡ，ｍＢ，ｍＣ，ｍＤも第１実施例と同様にシールの貼付により設定することができるが、印刷により設定してもよい。
【００８８】
ここで、３次元モデルの作成処理について説明する。
この実施例では、各カメラＡ，Ｂ，Ｃにより生成された画像に対し、それぞれ画像中のエッジを検出し、検出されたエッジを、連結点や分岐点を基準に「セグメント」と呼ばれる単位毎に分解して抽出し、抽出されたセグメントを画像間で対応づけ、セグメント毎に複数点の３次元座標を算出する。以下、この処理を「３次元情報の復元」という。
【００８９】
さらに、この実施例では、ステレオカメラ１に対するワークモデルＷＭの姿勢を変更することにより複数とおりの計測方向を設定し、各計測方向で復元した３次元情報を統合することによって、ワークＷの全体形状を表す３次元モデルを作成する。
【００９０】
図１２は、この３次元モデルの作成処理を模式的に表したものである。図中、Ｓ０，Ｓ１，Ｓ２は、ワークモデルＷＭをそれぞれ異なる方向から計測することにより復元された３次元情報である。この実施例では、これらの中の３次元情報Ｓ０を基準として、他の３次元情報Ｓ１，Ｓ２を、基準の３次元情報Ｓ０に位置合わせされるように座標変換する。そして、変換後の３次元情報Ｓ１´，Ｓ２´を基準の３次元情報Ｓ０と統合し、統合後の３次元情報Ｓを３次元モデルとして登録する。
【００９１】
なお、３次元情報Ｓ１，Ｓ２を基準の３次元情報Ｓ０に位置合わせするには、これらの３次元情報中の特徴点（この実施例ではセグメントの交点を特徴点とする。）を基準の３次元情報Ｍ０の特徴点と総当たり式に対応づけて、最も適合する関係になったときの関係を採用して座標変換を実行する。
【００９２】
上記の方法により求めた３次元モデルでは、ワークモデルの支持面からの高さをＺ座標に設定する必要がある。この点を考慮して、この実施例では、図１１に示すように、ワークモデルＷＭを支持プレート４０に載せ、このプレート４０の四隅のマークｍＡ，ｍＢ，ｍＣ，ｍＤを用いて、第１実施例と同様の基準面の更新処理を実行する。これにより、支持面４０の高さが０として計測されるように３次元計測のためのパラメータが変更されると、ワークモデルＷＭの計測を実行する。
【００９３】
なお、この第２実施例では、上記の処理により変更されたパラメータは、３次元モデルの作成処理のみに使用され、キャリブレーション処理で登録されたパラメーがそのまま維持される。実際のワークＷを認識するには、キャリブレーション処理で登録されたパラメータをそのまま使用するか、別途、ワークＷの支持面が基準面となるように、パラメータを変更する。
【００９４】
図１３は、モデル登録処理時に表示部２５に表示される画面の例を示す。この画面には、カメラＡからの正面視画像を表示するための画像表示領域４１が設けられるほか、基準面の更新を指示するボタン４２やモデルの登録処理の開始を支持するボタン４３などが設けられる。
【００９５】
上記の画面において、ユーザが画像表示領域４１内の画像に対し、第１実施例と同様の方法で各マークｍＡ，ｍＢ，ｍＣ，ｍＤを含むようにマーク領域ｒＡ，ｒＢ，ｒＣ，ｒＤを設定し、ボタン４２を操作すると、図７のＳＴ１３〜ＳＴ２５と同様の手順が実行される。これにより、各マークｍＡ，ｍＢ，ｍＣ，ｍＤから計測された３次元座標に基づき、これらのマークを含む平面を基準に高さを計測することが可能になる。
【００９６】
図１４は、上記の処理により基準面が更新された後に実施される処理の概略手順を示す。この処理は、図１３に示す登録開始ボタン４３が操作されたことに応じて開始される。まずここでは、最初の撮像により生成されたステレオ画像、すなわち基準面の更新処理に使用されたステレオ画像を用いて３次元情報の復元処理を実行する（ＳＴ１０１）。
【００９７】
さらにこの実施例では、復元された３次元情報の中から、Ｚ座標が０より小さい座標を削除する（ＳＴ１０２）。
【００９８】
この後、ユーザが、ワークモデルＷＭの姿勢を変更してつぎの撮像の開始を指示する（ＳＴ１０３が「ＹＥＳ」）と、２回目の撮像を実行し、生成されたステレオ画像を用いて３次元情報を復元する（ＳＴ１０４，１０５）。さらにこの場合にも、復元された３次元情報の中からＺ座標が０より小さい座標を削除する処理を実行する（ＳＴ１０６）。
以下も同様に、３次元情報の統合を指示する操作が行われるまで、撮像指示の都度、ＳＴ１０４，１０５，１０６の各ステップを実行する。
【００９９】
統合の指示がなされると、ＳＴ１０７が「ＹＥＳ」となって、ＳＴ１０８に進む。ＳＴ１０８では、最初に復元された３次元情報（すなわちＳＴ１０１で復元され、ＳＴ１０２の処理により絞り込まれた３次元情報）を基準に、２回目以降に復元された３次元情報を座標変換により位置合わせし、統合する。
【０１００】
この後は、統合後の３次元情報から、支持プレートの上面のエッジおよび四隅のマークｍＡ，ｍＢ，ｍＣ，ｍＤを削除し（ＳＴ１０９）、削除処理後の３次元情報を３次元モデルとして登録する（ＳＴ１１０）。なお、ＳＴ１０９の処理は、あらかじめ登録した支持プレート４０やマークの輪郭情報を用いて自動的に行うことができるが、これに限らず、統合後の３次元情報を表示部に表示して、ユーザの手操作により該当する情報を削除してもよい。
【０１０１】
上記の手順によれば、３次元モデルを登録する処理を開始する前に、ワークモデルＷＭの支持面が高さが０の面として機能するように３次元計測用のパラメータが更新されているので、ワークモデルＷＭの各部の高さを正しく求めることが可能になる。また、ＳＴ１０２，１０６の処理によれば、支持プレートの側面や底面のエッジのほか、支持プレートが設置されている面の模様や影（図示せず。）などのノイズを統合処理から除外することができる。よって、３次元情報の統合後は、形状が単純で既知の３次元情報（支持プレートの上面のエッジおよびマーク）を削除するだけで済み、３次元モデルの作成を効率良く行うことができる。
【０１０２】
なお、このＺ座標が０より小さい座標を削除する処理は、３次元モデルの作成処理時に限らず、本処理でワークを認識する場合にも適用することができる。たとえば、所定高さの支持台にバラ積みされた部品を対象に、登録された３次元モデルを用いた３次元認識処理を行う場合に、この支持台の上面が基準面となるように設定しておけば、支持台より下にある認識対象外の物体がカメラＡ，Ｂ，Ｃの視野に含まれても、その物体を照合の対象から除外することができる。
【符号の説明】
【０１０３】
１００  ３次元視覚センサ
１（Ａ，Ｂ，Ｃ）  ステレオカメラ
２    認識処理装置
２２  ＣＰＵ
２３  メモリ
２５  モニタ装置（表示部）
３０  キャリブレーションプレート
ｒ１，ｒ２，ｒ３，ｒ４，ｒＡ，ｒＢ，ｒＣ  マーク領域
Ｗ    ワーク
ＷＭ  ワークモデル
【図１】
2010210584.tif 000007
【図２】
2010210584.tif 000008
【図３】
2010210584.tif 000009
【図４】
2010210584.tif 000010
【図５】
2010210584.tif 000011
【図６】
2010210584.tif 000012
【図７】
2010210584.tif 000013
【図８】
2010210584.tif 000014
【図９】
2010210584.tif 000015
【図１０】
2010210584.tif 000016
【図１１】
2010210584.tif 000017
【図１２】
2010210584.tif 000018
【図１３】
2010210584.tif 000019
【図１４】
2010210584.tif 000020