(57)【特許請求の範囲】
【請求項１】
少なくとも第１のカメラと第２のカメラとを含み、それぞれカメラ固有の軌跡に沿って配置された視野を有する、複数のカメラを備えた３Ｄ画像化システムにおける関心領域を特定する方法であって、
（イ）前記複数のカメラそれぞれの視野内の所定の場所に位置するように対象物を配置する工程と、
前記複数のカメラそれぞれについて、
（ロ）前記複数の各カメラの視野内にある前記対象部物上に関心領域を表示する際に、前記対象物の少なくとも１つの画像を取得する工程であって、表示された前記関心領域が選択された関心領域である、工程と、
（ハ）前記３Ｄ画像化システムによって、前記複数のカメラそれぞれについて前記少なくとも１つの画像における前記選択された関心領域を識別する工程であって、前記少なくとも１つの画像における識別された前記選択された関心領域が前記カメラの前記視野内のカメラ固有の関心フィールドである、工程と、
（ニ）前記３Ｄ画像化システムによって、メモリに、前記カメラ固有の関心フィールドを後の使用に供するために保存する工程と、
を有することを特徴とする方法。
【請求項２】
前記対象部物上に関心領域を表示する前記（ロ）工程において、前記選択された関心領域を画定するための少なくとも３つの点を前記対象物上に表示することを特徴とする請求項１に記載の方法。
【請求項３】
前記少なくとも３つの点を表示する際に、レーザー装置を用いて該少なくとも３つの点を１つずつ逐次表示させ、前記少なくとも１つの画像を取得する工程は、前記少なくとも３つの点のそれぞれについて独立の画像を取得することを特徴とする請求項２に記載の方法。
【請求項４】
前記カメラ固有の関心フィールドを識別する前記（ニ）工程は、複数の取得した画像を用いて前記関心フィールドを識別することを特徴とする請求項３に記載の方法。
【請求項５】
前記少なくとも３つの点の各点について、該各点が各カメラによって取得された少なくとも１つの画像において識別された点を判定して、当該点を表示する工程を有していることを特徴とする請求項３に記載の方法。
【請求項６】
前記少なくとも３つの点の各点について、該各点が前記複数のカメラのうち少なくとも１つの他のカメラによって取得された少なくとも１つの画像内には識別されていないが、該各点が前記複数のカメラのうち少なくとも１つのカメラによって取得された前記少なくとも１つの画像内に識別された点を判定するステップを更に含むことを特徴とする請求項３に記載の方法。
【請求項７】
前記関心領域を前記対象物上に表示する工程は、レーザー装置を用いて該対象物の少なくとも一部分をレーザービームで照明して該関心領域を該対象物の表面上に表示することを特徴とする請求項１に記載の方法。
【請求項８】
前記レーザー装置にボタンが設けられ、このボタンを選択すると、前記対象物の現在照明されている一部分が少なくとも幾つかの関心領域定義情報に対応することを表示するとともに、前記ボタンを選択した瞬間における前記対象物の複数の画像を解析して該対象物の前記現在照明されている一部分と関連付けされた位置情報を取得すべきことを前記レーザー装置に指示させ、かつ、
前記画像を解析すべきとの前記レーザー装置からの指示があるかどうかをモニタする工程を有している
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記レーザー装置を、前記ボタンが選択されると前記対象物上に照明した前記レーザービームの外形を変化させるようにプログラムし、かつ、前記レーザー装 置からの指示をモニタする工程は、前記複数のカメラによって取得した複数の画像を解析して、前記対象物上に照射した前記レーザービームの外形の変化を識 別することを特徴とする請求項８に記載の方法。
【請求項１０】
カメラ固有の関心フィールドが前記複数のカメラのそれぞれについて識別された点を示すフィードバックを前記システムユーザに提供する工程を有していることを特徴とする請求項１に記載の方法。
【請求項１１】
前記少なくとも１つの画像を取得する工程は、複数の画像を高速連写で取得し、かつ、前記少なくとも３つの点を表示する工程は、レーザー装置を用いて前記少なくとも３つの点を個別的に照明することを特徴とする請求項２に記載の方法。
【請求項１２】
前記少なくとも３つの点を表示する工程は、各点について、前記レーザー装置が前記点を照明している間に、前記照明された位置が、前記関心領域を画定する前記少なくとも点の一つであることを表示することを特徴とする請求項１１に記載の方法。
【請求項１３】
少なくとも第１のカメラと第２のカメラとを含む、それぞれカメラ固有の軌跡に沿って配置された視野を有する、複数のカメラを備えた３Ｄ画像化システムにおける関心領域を特定する方法であって、
（イ）前記複数のカメラそれぞれの視野内の場所に位置するように対象物を配置する工程と、
前記複数のカメラそれぞれについて、
（ロ）レーザー装置を用いて、前記対象物上に関心領域を画定する複数の点を逐次的かつ個別的に表示する工程であって、表示された前記関心領域が選択された関心領域であり、かつ、前記複数の点を前記対象物上に表示する際に、前記選択された関心領域を画定する前記複数の点を含む前記対象物の複数の画像を取得する、工程と；
（ハ）前記３Ｄ画像化システムによって、前記カメラについての前記複数の画像における前記複数の点を用いて、前記カメラの前記視野における前記選択された関心領域を識別する工程であって、前記カメラの前記視野における識別された前記選択された関心領域がカメラ固有の関心フィールドである、工程と、
（ニ）前記３Ｄ画像化システムによって、メモリに、前記カメラについての前記カメラ固有の関心フィールドを保存する工程と；
を有することを特徴とする方法。
【請求項１４】
３次元マシンビジョンシステムをトレーニングして、選択された関心領域が対象物上に表示される各カメラ固有の関心フィールドを画定するように構成され、かつ、複数のカメラとマシンビジョンプロセッサとを備えた、３次元マシンビジョンシステムトレーニングシステムであって、
（イ）前記複数のカメラそれぞれが、視野を有し；前記選択された関心領域が前記カメラの前記視野内に存在するようにカメラ固有の軌跡に沿って配置され；かつ、前記カメラの前記視野内に前記対象物の複数の画像を取得するように構成され、かつ、
（ロ）前記マシンビジョンプロセッサが、前記カメラそれぞれに対して、
（ｉ）前記選択された関心領域が、前記カメラの前記視野内にある前記対象物上に表示される際に、前記カメラにより生成された複数の画像を受信し、（ｉｉ）前記カメラによって生成された、受信された前記複数の画像のうち少なくとも１つを用いて、前記カメラの前記視野内における前記選択された関心領域を識別し、かつ、（iii）前記カメラの前記視野内における識別された、前記選択された関心領域をカメラ固有の関心フィールドとしてメモリに保存することを
実行するようにプログラムされている
ことを特徴とする３次元マシンビジョンシステムトレーニングシステム。
【請求項１５】
レーザービームを前記対象物に照射して前記選択された関心領域を該対象物上に表示するレーザーポインタ装置が設けられていることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記レーザーポインタ装置には、ボタンが設けられていて、このボタンを選択すると、前記対象物の現在照明されている一部分が、少なくともいくつかの関心領域定義情報に対応することが示されるとともに、前記ボタンが選択された瞬間における前記対象物の複数の画像を解析して前記対象物の前記現在照明された一部分と関連付けされた位置情報を取得すべきことが示されるものとされ、かつ、前記マシンビジョンプロセッサが、前記画像を解析すべきとの前記レーザーポインタ装置からの指示をモニタする工程を実行するようにプログラムされている
ことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記レーザーポインタ装置が、前記ボタンが選択されると、前記対象物上の前記照明ビームの前記外的形状を変化させるようにプログラムされ、かつ、前記マシン ビジョンプロセッサが、前記レーザーポインタ装置からの表示の有無をモニタする工程において、カメラ画像を解析して、前記対象物上の前記照明ビームの前記外的形状の変化を識別するようにプログラムされていることを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記レーザーポインタ装置には、前記ボタンが選択されると信号を送信する送信機が設けられていることを特徴とする請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マシンビジョンに関するものであり、より具体的には、３次元（３Ｄ）マシンビジョンに関するものである。本発明は、ごく一例として、製造、品質管理およびロボット工学といった分野における用途を有する。
【０００２】
マシンビジョンとは、画像の自動解析により画像において表現されている物体の特性を判定する技術をさす。マシンビジョン技術は、自動化された製造ラインでしばしば利用されており、各種構成部品のピッキング、組立てのための配置および整列を行うために、各種構成部品の画像の解析が利用されている。自動組立て手段としてロボットが用いられていて、自動画像解析を部品ピッキング、部品配置および部品整列等に用いるシステムは、視覚誘導ロボット工学とよばれる。また、マシンビジョン技術は、ロボットの操縦にも用いられており、例えば、様々な環境中をロボットに移動させて状況を把握することを確実にするためにマシンビジョン技術が用いられている。
【０００３】
３次元（３Ｄ）解析は様々な文献において論じられて久しいけれども、最先端のマシンビジョンシステムは、２次元（２Ｄ）画像解析に依拠している。このため、検査対象物体が、制約を受けた方向および位置においてマシンビジョンシステムに「提示（ｐｒｅｓｅｎｔｅｄ  ｔｏ）」されることが必要となるのが典型的である。コンベヤベルトがこの目的のために一般的に用いられている。組立てまたは検査対象たる物体は、典型的には、ベルト上の特定かつ既知にして安定した３Ｄコンフィギュレーションに配置されるが、しかして、未知の位置および方向に配置され、マシンビジョンシステムの視野内に移動される。前記視野内における物体の２次元姿勢（すなわち位置および方向）に基づいて、および当該物体がコンベヤ上に配置されているという事実を考慮に入れつつ（それにより、「ライ（当該物体が実際におかれている状態）」とマシンビジョンシステムカメラから物体までの距離とを確実なものとする）、システムは、２次元形状（２Ｄ  ｇｅｏｍｅｔｒｙ）を適用して、当該物体の厳密な３次元姿勢および／または予想される外的形状との適合性を判定する。
【０００４】
かかる２Ｄ映像解析を用いた例は、承継人の先行特許である以下の各特許明細書：米国特許第６，７４８，１０４号（発明の名称『単一および複数のテンプレートまたはパターンを用いたマシンビジョン検査装置およびその方法』）；米国特許第６，６３９，６２４号（発明の名称『有鉛部品の検査のためのマシンビジョン方法』）；米国特許第６，３０１，３９６号（発明の名称『カメラ‐可動物体間のキャリブレーション関係を判定するための非フィードバック型マシンビジョン方法』）；米国特許第６，１３７，８９３号（発明の名称『マシンビジョンキャリブレーションターゲットおよび画像内におけるターゲット位置・方向を判定する方法』）；米国特許第５，９７８，５２１号（発明の名称『共通の物体を撮像する複数のカメラのキャリブレーション位置を判定するためのマシンビジョン方法』）；米国特許第５，９７８，０８０号（発明の名称『フィードバックにより視野の方向、ピクセル幅およびピクセル高を判定するマシンビジョン方法』）；米国特許第５，９６０，１２５号（発明の名称『カメラ‐可動物体間のキャリブレーション関係を判定する非フィードバック型マシンビジョン方法』）；米国特許第６，８５６，６９８号（発明の名称『高速高精度多次元パターン位置測定』）；米国特許第６，８５０，６４６号（発明の名称『高速高精度多次元パターン検査』）；米国特許第６，６５８，１４５号（発明の名称『高速高精度多次元パターン検査』）などにおいて提供されているところである（あくまで若干の例である）。
【０００５】
工場フロアから家庭までロボット工学への依存度が高まるにつれて、実用的な３Ｄマシンビジョンシステムへのニーズが表面化してきている。これは、これらの環境下においては、多くの場合、検査対象たる物体が全体の位置およびライ内には必ずしも収まらないことによる、例えば、コンベヤベルト上に配置された物体の事例とは違うのである。つまり、当該物体の精確な３Ｄコンフィギュレーションは未知でありうるのである。
【０００６】
３Ｄシーン内における姿勢および位置の追加的な自由度を許容するために、３Ｄビジョンツールが必須ではないものの有益である。これらの例としては以下のものがある：米国特許第６，７７１，８０８号（発明の名称『マシンビジョンを利用して６自由度で変換されたパターンを登録するためのシステムおよびその方法』）、および米国特許第６，７２８，５８２号（発明の名称『２つのカメラを備えたマシンビジョンシステムを用いて３次元で物体の位置を判定するためのシステムおよびその方法』）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第６，７４８，１０４号明細書
【特許文献２】米国特許第６，６３９，６２４号明細書
【特許文献３】米国特許第６，３０１，３９６号明細書
【特許文献４】米国特許第６，１３７，８９３号明細書
【特許文献５】米国特許第５，９７８，５２１号明細書
【特許文献６】米国特許第５，９７８，０８０号明細書
【特許文献７】米国特許第５，９６０，１２５号明細書
【特許文献８】米国特許第６，８５６，６９８号明細書
【特許文献９】米国特許第６，８５０，６４６号明細書
【特許文献１０】米国特許第６，６５８，１４５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
他のマシンビジョン技術が従来技術として提案されているところである。しかしながら、技術によっては、過大なプロセッサ出力が必要であるためにリアルタイム性が要求される用途には実用的でないものもある。他の技術では、検査対象たる物体に対して複雑な登録手続を実施しなければならず、および／または、実行時に、物体の特性の多くがマシンビジョンシステム視野において同時的に視認されることが必要である。
【０００９】
マシンビジョン分野以外では、技術水準はまた、３次元姿勢を判定する接触式の方法を提供している、例えば、タッチセンサを有するＸＹＺ軸測定マシンなどである。しかしながら、これは接触が必要であって、相対的に動作は遅く、人間の関与が必要となりうる。３次元姿勢を判定するための電磁波式の方法も提供されている。これらは物理的接触を必要としないが、それ自身の欠点の影響を受ける、例えば、検査対象たる物体に対して発信機を取り付けるといったしばしば実際問題として実現不可能な工程が必要である。
【００１０】
本発明の目的は、改善されたマシンビジョン方法および装置を提供することにあり、より具体的には、３次元マシンビジョン方法および装置を提供することにある。
【００１１】
本発明の関連する目的は、限定する趣旨でないが、製造、品質管理、ロボット工学といった複数の実用分野において適用可能な方法および装置を提供することにある。
【００１２】
本発明のさらなる目的は、例えば、３Ｄ空間における位置および姿勢を判定することができる方法および装置を提供することにある。
【００１３】
本発明のさらなる目的は、例えば、検査対象たる物体の全体的位置およびライなどの制約条件が少なくて済む方法および装置を提供することにある。
【００１４】
本発明のさらなる目的は、検査対象たる物体の登録に関連する要件を最小化することができる方法および装置を提供することにある。
【００１５】
本発明のさらなる目的は、現在および将来のマシンビジョンプラットフォームにおいて実装することができる方法および装置を提供することにある。
【課題を解決するための手段】
【００１６】
前述したものは、本発明によって達成される目的の一部であるが、なかんずく、姿勢、例えば、当該物体の複数画像から収集されたデータに対する三角測量によって、物体のＸＹＺ軸における位置、ピッチ、ロール、ヨー（その他１以上の姿勢特性）を３次元で判定する方法および装置が提供される。
【００１７】
このように、例えば、ある態様において、本発明は、３Ｄマシンビジョン方法を提供するものであって、較正ステップの間、物体の複数の画像を異なる各々の視点から取得するように配置された複数のカメラが、調整されて、当該カメラの視野におけるピクセルロケーションに対応する各々のカメラのレンズから発せられた３Ｄ空間における光線を識別するマッピング関数を識別するように構成されている。トレーニングステップでは、カメラと関連付けされた機能性がトレーニングされて、取得されるべき物体の複数の画像における期待パターンを識別する。実行時ステップが、これらのパターンの１または複数の３Ｄ空間におけるロケーションを、物体の複数の画像におけるこれらのパターンのピクセル単位での位置から、および、較正ステップで識別されたマッピングから、三角法で測る。
【００１８】
本発明のさらなる態様は、実行時ステップにより、複数のカメラによって実質的に同時的に撮像された物体の複数の画像から位置を三角法で測定するところの前記方法を提供するものである。
【００１９】
本発明の別の態様は、本発明の別の目的は、物体の実行時画像を使用して、前述のマッピング関数を、例えば較正から外れたカメラに関して識別する再較正ステップを含むような方法を提供することである。したがって、例えば１台のカメラが画像を生成し、その画像内で、パターンが、（例えばそのカメラに関する３Ｄ光線に対してマッピングされたときに）残りのカメラからの（例えばそれぞれの３Ｄ光線を使用してマッピングされたときの）画像と一致しない、かつ／または大幅に食い違うような位置にあるように見える場合、それらの残りのカメラからの画像を用いて求められたパターン位置を使用して、その１台のカメラを再較正することができる。
【００２０】
本発明の別の態様は、較正ステップが、（例えば較正プレートまたはその他の手段上の
標的、十字線などの）各登録対象を、３Ｄ空間内の既知の各位置に配置すること、およびそれらの位置と、各カメラの視野内にあるそれぞれの登録対象のピクセル単位での位置との相関関係を記録する、または例えばアルゴリズム的に特徴付けることを含む、上述の方法を提供する。本発明の諸関連態様は、それらの登録対象、較正プレートなどのうち１つまたは複数を使用して、複数台のカメラを同時に、例えば同時結像によって較正するような方法を提供する。
【００２１】
本発明の他の態様は、較正ステップが、視野内の歪みを考慮に入れたマッピング関数をカメラごとに識別することを含む、上述の方法を提供する。
【００２２】
本発明の別の態様は、トレーニングステップが、カメラに付随する機能を、文字、数字、（登録対象など）他の記号、隅部、または物体の（暗点や光点など）他の識別可能な特徴などの、例えば測定法および検索／検出モデルがそれに関して当技術分野で既知の期待パターンを認識するようにトレーニングすることを含む、上述の方法を含む。
【００２３】
本発明の別の関連態様は、トレーニングステップが、前述の機能を、「モデル点」、すなわち実行時に検査される物体上にあるパターンの３Ｄ空間内での（例えば絶対的または相対的な）期待位置に関してトレーニングすることを含むような方法を提供する。それらの画像から識別された三角測量された３Ｄ位置と組み合わせて、実行時ステップ中にこの情報を使用することによって、その物体の姿勢を識別することができる。
【００２４】
本発明の諸態様によれば、パターンの期待位置（すなわちモデル点）に関するトレーニングは、そのようなパターンそれぞれの基準点（または「原点」）の２Ｄ姿勢を検出することを含む。２台以上のカメラの視野内に出現することが期待されるパターンの場合、そのような基準点により、３Ｄ空間内でのそれらのパターンの（したがって物体の）位置を求めるための、以下に述べる三角測量が容易になる。
【００２５】
本発明の諸関連態様は、期待パターンに関するトレーニングが、各カメラに付随する機能内で、類似モデルを、異なるカメラ相互間で類似の期待パターンをトレーニングするのに利用することを含むような方法を提供する。これには、実行時に検出されたパターンに関する基準点（または原点）が、それらの異なるカメラによって得られる画像相互間で一致することが確実になるという利点がある。
【００２６】
本発明の別の関連態様は、期待パターンに関するトレーニングが、各カメラに付随する機能内で、異なるモデルを類似パターンとして異なるカメラ相互間で利用することを含むような方法を提供する。こうすることにより、例えば姿勢、視角および／または障害物により、異なるカメラが各パターンを結像する様式が変更される場合に、それらのパターンの検出が容易になる。
【００２７】
本発明の諸関連態様は、モデリングされた各パターンの基準点（または原点）の選択をトレーニングすることを含むような方法を提供する。そのようなトレーニングは、それらの基準点（または原点）が、それらの異なるカメラによって得られた画像相互間で一致することを確実にするために、例えばオペレータの手で、例えばレーザーポインタまたはその他の手段を使用して達成することができる。
【００２８】
本発明の諸関連態様は、トレーニングステップが、パターンの位置を、例えば実行時段階（ｒｕｎｔｉｍｅ  ｐｈａｓｅ）中に実施されるものに類似の三角測量法を利用することによって識別することを含むような方法を提供する。あるいは、パターンの期待（相対）位置を、オペレータの手で入力する、かつ／または他の測定法によって識別することもできる。
【００２９】
本発明の別の関連態様は、トレーニングステップが、１台（または複数台）のカメラからの画像内にある期待パターンを、別のカメラからの画像内にあるそのパターンの以前の特定に基づいて検出することを含むような方法を提供する。したがって、トレーニングステップは、例えばオペレータが１台のカメラから撮影された画像内にある期待パターンを特定した後、残りのカメラからの画像内にあるその同じパターンを自動的に検出することを含むことができる。
【００３０】
本発明の別の態様は、トレーニングステップが、カメラごとに物体の複数のビューを、好ましくはそうした物体上に見られるパターンの原点が一貫して定義されるように取得する、上述の方法を提供する。画像間の潜在的な不一致を補償するために、パターンに関して最高一致得点（マッチスコア）をもたらすものを使用することができる。これには、任意の姿勢の対象部品を検出するように、方法をよりロバストにするという利点がある。
【００３１】
本発明の別の態様では、実行時ステップ（ｒｕｎｔｉｍｅ  ｓｔｅｐ）が、実行時画像（ｒｕｎｔｉｍｅ  ｉｍａｇｅ）内にあるパターンのうち１つまたは複数の位置を、例えばパターンマッチングまたは他の２次元ビジョンツールを使用して、また、それぞれのカメラの視野内にあるそれらのパターンのピクセル単位での位置を、それらのパターンが上にある前述の３Ｄ光線に相関付けるように較正段階中に識別されたマッピングを使用して、三角測量することを含む。
【００３２】
本発明の諸関連態様によれば、パターン位置の三角測量は、例えば所与のパターンの位置が、そのパターンが上にある（複数台のカメラからの）複数本の３Ｄ光線が交差する点（または最小二乗適合点）から求められる場合のような、「直接的」三角測量によるものとすることができる。あるいは、またはそれに加えて、三角測量は、所与のパターンの位置が、そのパターンが上にある１本の光線（または複数本の光線）からだけではなく、（ｉ）残りのパターンが上にある光線、および（ｉｉ）（例えばトレーニング段階中に求められる）それらのパターン相互の相対位置からも求められる場合のような、「間接的」でもよい。
【００３３】
本発明の他の態様は、カメラに付随する機能が、トレーニングまたは実行時中に物体の画像内に期待パターンを検出することができない場合に、例えばそのようなパターンが欠如している、隠されている、または検出されない場合に「タイムアウト」し、それによって、位置特定の際に過度の遅延を回避する、上述の方法を提供する。
【００３４】
本発明の別の態様は、上述の方法に類似し、ＩＤマトリックスコード（あるいはその外観および／または位置が予め定義されたまたは既知の他のパターン）が上記で論じたパターンの代わりに使用される。本発明のこれらの態様では、トレーニングステップが不要になる、または低減される。その代わりに、３Ｄ位置にマッピングするために、そうしたコード（または他のパターン）の２Ｄ位置を、例えば一般的なタイプの特徴に合わせて設計されたビジョンツールによって、トレーニング段階または実行時の画像から識別することができる。
【００３５】
本発明の別の態様は、上述の方法に類似し、ＩＤマトリックスコード（あるいはその外観および／または位置が予め定義されたまたは既知の他のパターン）が上記で論じたパターンの代わりに使用される。本発明のこれらの態様では、トレーニングステップが不要になる、または低減される。その代わりに、３Ｄ位置にマッピングするために、そうしたコード（または他のパターン）の２Ｄ位置を、例えば一般的なタイプの特徴に合わせて設計されたビジョンツールによって、トレーニング段階または実行時の画像から識別することができる。
【００３６】
本発明の他の態様は、例えばデジタル処理機能およびカメラを含み、上記の方法に従って動作する、マシンビジョンシステムを提供する。本発明のこれらの態様および他の態様は、図面中および以下の説明において明白である。
【００３７】
本発明の別の関連態様は、物体の検査により、例えばその一部分の相対位置を求めて、妥当性検証することが可能になるような方法および装置を提供する。そのような方法および装置を、非限定的な例として、例えば組立て、品質管理、保守、または他の作業中に、検査および評価を支援するために使用することができる。
【００３８】
本発明の別の関連態様は、物体の部品（または他の部分）の欠如、または不適切な配置を、（例えばその部品／部分に関連する）１つまたは複数の期待パターンが実行時画像から欠如している場合、またはそうした画像内ではあるが、期待されないまたは望ましくない３Ｄ位置に位置するピクセル位置にある場合に、推論するような方法および装置を提供する。
【００３９】
本発明の別の関連態様は、実行時ステップ中に、物体の部品または他の部分の位置が、実行時画像内に見られるパターンに対応する３Ｄ位置のサブセットに基づいて求められ、その３Ｄ位置が、さらに別のパターンの期待位置を求めるのに使用されるような方法および装置を提供する。そうした別のパターンの期待位置は、例えば実行時画像から求められるその実際の３Ｄ位置と比較することができる。比較において特定された位置の差が指定の許容差を超える場合、システムは適切な通知を（例えばオペレータに対して）生成することができる。
【００４０】
本発明によるシステムおよび方法の利点は、それらが従来技術のシステムの手法よりも使用しやすく、より実用的であり、しかもビジョンベースであり、したがって検査を受ける物体との接触または検査を受ける物体の事前準備を必要としないことである。（本発明による）そのようなシステムおよび方法は、容易にセットアップし、次いで「ショーアンドゴー（ｓｈｏｗ‐ａｎｄ‐ｇｏ）」を使用してトレーニングすることができる。
【００４１】
さらにそれらは、例えば欠如している結果および間違った結果に対して、迅速な性能およびロバストネスを提供する。したがって、例えば本発明の諸態様による方法および装置は、いくつかのパターンが、例えばパターンが１台または複数台のカメラによるビューから隠されているため、またはそれらのパターンの画像を適時取得することができないため、いくつかの（また、いくつかの状況下では、いずれの）実行時画像の中に見られなくても、物体の姿勢を求めることができる。別の例として、本発明の諸態様による方法および装置は、（例えば位置合せ不良のカメラによって生じる）間違った結果に対して、実行時画像内に見られるパターンに対応する３Ｄ位置のサブセットを使用した三角測量をすることによってロバストネスを提供する。サブセットの１つが、より低い二乗和誤差（ｓｕｍ‐ｓｑｕａｒｅｄ  ｅｒｒｏｒ）をもたらす場合、すべてのパターンではなくそのサブセットを、位置三角測量に使用することができる。
【００４２】
少なくとも幾つかの実施形態は、少なくとも第１のカメラと第２のカメラとを含み、それぞれ異なる軌跡に沿って配置された視野を有する、複数のカメラを備えた３Ｄ画像化システムにおいて関心領域を特定する方法において、（イ）前記複数のカメラの各視野内における所定の場所に位置するように対象部品を配置する工程と；（ロ）前記複数のカメラの各視野の範囲内における関心領域を前記対象部品上に表示する工程と；前記複数のカメラのそれぞれについて、（ハ）前記関心領域を含む前記対象部品の少なくとも１つの画像を取得する工程と；（ニ）取得した前記少なくとも１つの画像における前記関心領域と関連付けされた前記カメラの視野内のカメラ固有の関心フィールドを識別する工程と；（ホ）前記カメラ固有の関心フィールドを後の使用に供するために保存する工程と；を順次有することを特徴とする、複数のカメラを備えた３Ｄ画像化システムにおいて関心領域を特定する方法、を提供する。
【００４３】
幾つかの実施形態において、前記複数のカメラそれぞれの視野内において、関心領域を前記対象部品上に表示する前記（ロ）工程において、前記関心領域を画定するための少なくとも３つの点を前記対象部品上に表示する。幾つかの実施形態において、前記関心領域を画定する少なくとも３つの点を表示する際に、レーザー装置を用いて該少なくとも３つの点を１つずつ逐次的に表示させたうえで、前記少なくとも１つの画像を取得する工程において、前記少なくとも３つの点のそれぞれについて独立の画像を取得する。幾つかの実施形態において、前記カメラ固有の関心フィールドを識別する前記（ニ）工程において、複数の取得した画像を用いて前記関心フィールドを識別する。
【００４４】
幾つかのケースでは、前記方法は、前記少なくとも３つの点の各点に対して、該各点が各カメラによって取得された少なくとも１つの画像において識別された点を判定して、当該点を表示する工程を有している。幾つかのケースでは、前記少なくとも３つの点の各点が少なくとも１つの他のカメラによって取得された少なくとも１つの他の画像において識別されない間に該各点が前記少なくとも１つのカメラによって取得された前記少なくとも１つの画像において識別された点を判定する。
【００４５】
幾つかの実施形態において、前記関心領域を前記対象部品上に表示する工程において、レーザー装置を用いて該対象部品の少なくとも一部分をレーザービームで照明して該関心領域を該対象部品の表面上に表示する。幾つかの実施形態において、前記レーザー装置に設けられたボタンを選択すると、前記対象部品において現在照明されている一部分が少なくとも複数の関心領域定義情報に対応することを表示するとともに、前記ボタンを選択した瞬間における前記対象部品の複数の画像を解析して該対象部品において前記現在照明されている一部分と関連付けされた位置情報を取得すべきことを前記レーザー装置に指示させ、かつ、前記画像を解析すべきとの前記レーザー装置からの指示があるかどうかをモニタする。
【００４６】
幾つかのケースでは、前記レーザー装置を、前記ボタンが選択されると前記対象部品上に照明した前記レーザービームの外形を変化させるようにプログラムし、かつ、前記レーザー装置からの指示があるかどうかをモニタする工程において、前記複数のカメラによって取得した複数の画像を解析して、前記対象部品上に照射した前記レーザービームの外形における変化を識別する。幾つかのケースでは、カメラ固有の関心フィールドが前記複数のカメラのそれぞれについて識別された点を示すフィードバックを前記システムユーザに提供する。幾つかのケースでは、前記少なくとも１つの画像を取得する工程において、複数の画像を高速連写で取得し、かつ、前記少なくとも３つの点を表示する工程において、レーザー装置を用いて、前記少なくとも３つの点を個別的に照明する。幾つかのケースでは、前記少なくとも３つの点を表示する工程において、各点について、前記レーザー装置が前記点を照明している間に、前記照明された位置が、前記関心領域を定義する前記少なくとも点の一つであることを表示する。
【００４７】
幾つかの実施形態は、少なくとも第１のカメラと第２のカメラとを含む、それぞれ異なる軌跡に沿って配置された視野を有する複数のカメラを備えた３Ｄ画像化システムにおいて関心領域を特定する方法において、（イ）前記複数のカメラの視野内の場所に位置するように対象部品を配置する工程と；（ロ）レーザー装置を用いて、前記対象部品上に関心領域を定義する複数の点を逐次的かつ個別的に表示する工程と；前記複数のカメラのそれぞれについて、（ハ）前記複数の点を前記対象部品上に表示している間に、前記関心領域を含む前記対象部品の複数の画像を取得する工程と；（ニ）これら複数の画像における前記複数の点を用いて、各カメラについて、前記関心領域に対応する前記視野における関心領域を識別する工程と；（ホ）前記視野内における関心領域をカメラ固有の関心フィールドとして保存する工程と；を有することを特徴とする方法を提供する。
【００４８】
他の実施形態は、関心領域を対象部品上に表示する３次元マシンビジョンシステムをトレーニングして、カメラ固有の関心フィールドを定義するためのシステムにおいて、（イ）複数のカメラとであって、前記関心領域が前記カメラの前記視野内に存在するように視野を有しかつカメラ固有の軌跡に沿って配置されたカメラであって、前記カメラの視野内における前記部品の複数の画像を取得するカメラからなる複数のカメラと；（ロ）各カメラに対して、（ｉ）複数の画像を受信し、（ｉｉ）前記受信した複数の画像の少なくとも１つを用いて、前記関心領域と関連付けされた前記画像を生成するのに用いた前記カメラの視野の一部分を、関心領域であると識別して、（ｉｉｉ）前記関心領域と関連付けされた前記関心領域を、カメラ固有の関心領域として保存するようにプログラムされた、マシンビジョンプロセッサと；を有していることを特徴とするシステムを提供する。
【００４９】
幾つかのケースでは、前記システムには、レーザービームを前記対象部品に照射して前記関心領域を該対象部品上に表示するレーザーポインタ装置が設けられている。幾つかのケースでは、前記レーザーポインタ装置には、ボタンが設けられていて、このボタンを選択すると、前記部品の現在照明されている一部分が、少なくともいくつかの関心領域定義情報に対応することが示されるとともに、前記ボタンが選択された瞬間における前記部品の複数の画像を解析して前記部品の前記現在照明された一部分と関連付けされた位置情報を取得すべきことが示されるものとされ、かつ、前記マシンビジョンプロセッサが、前記画像を解析すべきとの前記レーザーポインタ装置からの指示があるかどうかをモニタする工程を実行するようにプログラムされている。幾つかのケースでは、前記レーザーポインタ装置が、前記ボタンが選択されると、前記部品上の前記照明ビームの前記外的形状を変化させるようにプログラムされ、かつ、前記マシンビジョンプロセッサが、前記レーザーポインタ装置からの表示の有無をモニタする工程において、カメラ画像を解析して、前記部品上の前記照明ビームの前記外的形状の変化を識別するようにプログラムされている。幾つかのケースでは、前記レーザーポインタ装置には、前記ボタンが選択されると信号を送信する送信機が設けられている。
【００５０】
本発明のより完全な理解は、図面を参照することで得ることができる。
【図面の簡単な説明】
【００５１】
【図１】本発明を実施するように構成されたデジタルデータ処理装置を示した図である。
【図２】本発明に係るシステムの動作を説明したフローチャートである。
【図３】本発明に係るシステムのキャリブレーションを示した図である。
【図４】本発明に係るシステムのトレーニングおよび／または実行時動作を説明した図である。
【図５】３Ｄ画像化システムにおける複数のカメラのための互いに区別された関心フィールドをトレーニングするための方法を説明したフローチャートである。
【発明を実施するための形態】
【００５２】
図１は、同一物体について撮像した複数画像から収集したデータに対して三角測量を行うことによって、当該物体（ｏｂｊｅｃｔ）１２の姿勢を３次元で求めることができる、本発明に係るマシンビジョンシステム１０を示したものである。ここに示された実施形態においては、姿勢（ｐｏｓｅ）とは、３Ｄ空間における物体の位置（ｐｏｓｉｔｉｏｎ）および向き（ｏｒｉｅｎｔａｔｉｏｎ）として定義され、より具体的には、「ｘ軸１４、ｙ軸１６およびｚ軸１８に沿った物体の位置ならびに各軸に対する物体のピッチ、ロールおよびヨー」として定義される。他の実施形態では、姿勢をこれらの空間的特性のサブセット（例えば、軸１６に沿った位置およびヨー、軸１４〜１８に沿った位置、ロールなど）に限定することができる。図示の軸１４〜１８は、ビジョンシステム１０のフレーム２０に位置合せされているが、他の実施形態では、他の基準系を使用することができる。図示した実施形態のフレーム２０は、太線で示すカメラマウント２０ａおよびプラットフォーム２０ｂによって例示されているが、他の実施形態では、他の部材を使用する必要があることもあり、またはそのような部材を使用する必要がないこともあろう。
【００５３】
マシンビジョンシステム１０は、さらに、デジタルデータ処理装置  ２２と画像取得装置  ２４とが設けられている。デジタルデータ処理装置２２は、ここでは、単純化のため、ｉＭａｃ（登録商標）Ｇ５パーソナルコンピュータとして記載されているが、メインフレームコンピュータであってもよく、ワークステーション、パソコン（例えば、Ｗｉｎｄｏｗｓ（登録商標）／Ｉｎｔｅｌ  Ｐｅｎｔｉｕｍ（登録商標）４プラットフォームまたはその他のプラットフォーム）、専用のビジョンコンピュータ、組込みプロセッサ  または特許製品、オープンソース製品その他のオペレーティングシステムで動作する各種デジタルデータ処理装置あるいはここに記載された教示内容に従って動作するようにプログラムされたまたは構成された装置であって、画像取得装置２４が提供した複数画像から物体１２の姿勢を求める装置であってもよい。デジタルデータ処理装置は、図に示すように、ディスプレイ２２ａ、キーボード２２ｂ、マウス２２ｃおよびその他の入出力装置など、技術分野において公知のものを有してもよい。
【００５４】
画像取得装置２４は、マシンビジョンカメラでも、ビデオカメラでも、静止画撮影用スチルカメラでも、物体１２の画像を可視または他の関連するスペクトルにおいて取得することができる他の装置であってもよい。一般性を害することなく、以下の記述においては、画像取得装置２４は一般に、「カメラ」とよぶことにするが、実際には、カメラは任意の画像取得機能を有する要素で構成されてもよい。
【００５５】
記載された実施形態においては、このような画像取得装置２４が３台図示されているが、実際には、任意の複数台の装置（例えば２台以上）を使用することができる。これらの画像取得装置は、物体１２の画像を、それぞれの異なる視点から取得するように配設されている。いくつかの実施形態では、検査対象たる物体の３次元姿勢を、単一のかかる画像取得装置２４によって得られた画像を用いて求めることもでき、したがってあらゆる実施形態が複数台のカメラからの画像を必要とするとは限らないことは、当業者において明らかであろう。
【００５６】
デジタルデータ処理装置２２は、本明細書の教示に従って動作するようにプログラムされているが、当技術分野で既知のタイプの、中央処理装置（ＣＰＵ）、メモリ（ＲＡＭ）、および入力／出力（Ｉ／Ｏ）機能をさらに有している。
【００５７】
具体的には、記載された実施形態においては、これらは図２に示す方法に従って３Ｄマシンビジョンを実現するように構成されている。図２では、較正ステップ３０において、複数台のカメラ２４がそれぞれ、そのカメラのレンズから発せられかつそのカメラの視野内のピクセル位置に対応する３Ｄ空間内の光線を特定する、それぞれのマッピング関数を識別するように較正（調節）される。
【００５８】
図３を参照すると、この点に関して、較正ステップは、（例えば較正プレート４０その他の手段上の照準、十字線などの）各登録対象を、３Ｄ空間内の既知の各位置に配置すること、およびそれらの位置と、各カメラの視野内にあるそれぞれの登録対象のピクセル単位での位置との相関関係を記録する、または例えばアルゴリズム的に特徴付けることを含む。好ましくは、このマッピングには、それぞれのカメラ２４の視野内の歪みが考慮される。
【００５９】
記載された実施形態においては、登録対象、較正プレート４０などを使用して、複数台のカメラ２４を同時に、例えば同時結像によって較正する。したがって、一例として、操作者が画像取得装置２４のうち２台以上の視野内に登録対象を配置して、それらがその登録対象を、較正目的で同時に結像することができる。
【００６０】
較正プレート４０などが較正に使用される場合、それは、好ましくはフィデューシャル（ｆｉｄｕｃｉａｌ）４１（例えば、一様なチェッカーボードパターンとは異なる一意のパターン）を原点のところに示し、したがってすべての画像取得装置２４を、特定の向きを有する同じ一意の基準点に対して較正することができる。装置２４を一貫してそのように較正することによって、それらをすべて使用して、その画像座標（例えばパターン原点のピクセル単位での位置）から共通の基準点またはフレームに対してマッピングすることができる。そのような好ましいフィデューシャルは、図面中のＬ字形フィデューシャルの場合と同様に、非対称である。
【００６１】
かかる較正（キャリブレーション）のための背景的な方法および装置は、限定する趣旨でない例示として、米国特許第６，７４８，１０４号（発明の名称『単一および複数の  テンプレートまたは  パターンを用いたマシンビジョン検査装置およびその方法』）、米国特許第６，６３９，６２４号（発明の名称『有鉛部品の検査のためのマシンビジョン方法』）、米国特許第６，３０１，３９６号（発明の名称『カメラ‐可動物体間のキャリブレーション関係を判定するための非フィードバック型マシンビジョン方法』）、米国特許第６，１３７，８９３号（発明の名称『マシンビジョンキャリブレーションターゲットおよび画像内におけるターゲット位置・方向を判定する方法』）、米国特許第５，９７８，５２１号（発明の名称『共通の物体を撮像する複数のカメラのキャリブレーション位置を判定するためのマシンビジョン方法』）、米国特許第５，９７８，０８０号（発明の名称『フィードバックにより視野の方向、ピクセル幅およびピクセル高を判定するマシンビジョン方法』）、米国特許第５，９６０，１２５号（発明の名称『カメラ‐可動物体間のキャリブレーション関係を判定する非フィードバック型マシンビジョン方法』）、米国特許第６，８５６，６９８号（発明の名称『高速高精度多次元パターン位置測定』）、米国特許第６，８５０，６４６号（発明の名称『高速高精度多次元パターン検査』）および米国特許第６，６５８，１４５号（発明の名称『高速高精度多次元パターン検査』）などに教示されているところである。これらの教示内容はすべて参照により本明細書に編入されるものとする。最後の３つの特許文献に記載された方法および装置は、本明細書では、「ＰａｔＭａｘ」の名称でよぶことにする。
【００６２】
任意選択のトレーニングステップ３２では、それぞれのカメラ２４に付随するモジュール（例えばコードシーケンス、サブルーチン、関数、オブジェクト、他のデータ構造および／または関連ソフトウェア、あるいは他の機能）を、実行時中に取得すべき物体１２の画像内にある期待パターンを認識するようにトレーニングする。期待パターンは、文字、数字、他の記号（登録対象など）、隅部、または物体１２の実行時画像内で識別可能であることが予想される（暗点や光点など）他の特徴であり、例えば、測定法および検索／検出モデルがそれに関して当技術分野で既知のものとすることができる。これらのパターンは、恒久的に物体の一部分をなすものでも、物体に添付されるものでもよい。しかし、それらのパターンは、例えば取外し可能な較正目標の場合、一時的でもよい。実際には、それらのパターンは、物体に物理的に関連付けられることさえ不要である。例えば、それらのパターンを、トレーニング段階および／または実行時段階中に結像される物体上に、例えばレーザーまたは他の装置によって、光学的にまたは他の手段で投影することができる。
【００６３】
各カメラ２４と関連付けされたモジュールまたは他の機能を、パターンを認識するようにトレーニングすることに加えて、図示の実施形態のトレーニングステップ３２は、それらをモデル点位置、すなわち、実行時中に検査される物体上にあるパターンの例えば相互の（すなわち３Ｄ空間内での）期待位置に関してトレーニングすることを含む。これは、例えば、実行時段階中に実施されるものに類似の三角測量法を利用することによるものとすることができる。あるいは、それらのパターンの期待（相対）位置を、オペレータの手で入力する、かつ／または他の測定法（例えば、ルーラ、キャリパ、光学的距離ゲージなど）によって識別することもできる。
【００６４】
三角測量が使用されるか、それとも他の方法が使用されるかに関わらず、トレーニングステップ３２は、好ましくは、各カメラ２４に付随するモジュールまたは他の機能を、そのようなトレーニングされるパターンそれぞれの基準点（または「原点」）に関してトレーニングすることを含む。２台以上のカメラの視野内に出現することが期待されるパターンの場合、そのような基準点に関するトレーニングによって、３Ｄ空間内でのそれらのパターンおよび／または物体の位置を、直接的および間接的に三角測量することが容易になる。
【００６５】
記載された実施形態においては、そのようなトレーニングは、類似モデル（例えば「ＰａｔＭａｘ」など）を、異なるカメラ２４相互間で類似期待パターンをトレーニングするのに使用することによって達成することができる。これには、実行時に検出されたパターンに関する基準点（または原点）が、それらの異なるカメラによって得られる画像相互間で一致することが確実になるという利点がある。
【００６６】
姿勢、視角および／または障害物により、異なるカメラ２４が類似パターンを見る見方が変わる場合、そのようなトレーニングには、異なるカメラ相互間で異なるモデルを（類似パターンとして）利用することを含むことができる。モデルが異なれば、類似パターンに関して異なる基準点が特定される傾向があり得るので、記載された実施形態においては、類似パターンに関する類似基準点の選択を、操作者がトレーニングすることが可能である。
【００６７】
これは、一例として、トレーニングステップ３２中に、（ステップ３４において検索するためのテンプレートとして使用すべき）パターンの画像を複数台のカメラ２４から同時に取得し、次いでレーザーポインタで物体を照らすことによって達成することができる。レーザー照射を用いて取得された画像から、レーザー点の３Ｄ位置を計算し、それによって、パターンのすべての画像上で一致する原点を定義することができる。（ここでは、異なるモデルをパターントレーニングに使用することに関して説明しているが、この技法は、類似モデルが使用される場合にも適用することができる）。この目的のために、余分なレーザーポインタ点がある、またはない画像を使用して、ａｕｔｏＴｈｒｅｓｈｏｌｄｉｎｇおよびブロブ（ｂｌｏｂ）解析を実行することによって、すべての画像内でその点の中央を検出し、それによって一貫性のある一致した原点を求めることができる。本明細書の別の場所で論じるように、この点の３Ｄ位置を得るために三角測量を使用することができ、それによってこの技法を、（トレーニング中の）物体上にある複数パターンに、例えば物体が移動しないことを条件として使用することが可能になる。
【００６８】
これは、一例として、トレーニングステップ３２中に、（ステップ３４において検索するためのテンプレートとして使用すべき）パターンの画像を複数台のカメラ２４から同時に取得し、次いでレーザーポインタで物体を照らすことによって達成することができる。レーザー照射を用いて取得された画像から、レーザー点の３Ｄ位置を計算し、それによって、パターンのすべての画像上で一致する原点を定義することができる。（ここでは、異なるモデルをパターントレーニングに使用することに関して説明しているが、この技法は、類似モデルが使用される場合にも適用することができる）。この目的のために、余分なレーザーポインタ点がある、またはない画像を使用して、ａｕｔｏＴｈｒｅｓｈｏｌｄｉｎｇおよびブロブ（ｂｌｏｂ）解析を実行することによって、すべての画像内でその点の中央を検出し、それによって一貫性のある一致した原点を求めることができる。本明細書の別の場所で論じるように、この点の３Ｄ位置を得るために三角測量を使用することができ、それによってこの技法を、（トレーニング中の）物体上にある複数パターンに、例えば物体が移動しないことを条件として使用することが可能になる。
【００６９】
本発明の好ましい一実施によれば、トレーニングステップ３２は、１台（または複数台）のカメラ２４からの画像内にある期待パターンを、別のカメラからの画像内にあるそのパターンの以前の特定に基づいて検出することを含む。したがって、トレーニングステップは、例えばオペレータが１台のカメラから撮影された画像内にある期待パターンを特定した後、残りのカメラからの画像内にあるその同じパターンを自動的に検出することを含むことができる。
【００７０】
好ましい実施形態では、ステップ３２は、カメラ２４ごとに物体の複数のビューを、好ましくはそうした物体上に見られるパターンの原点が一貫して定義されるように取得することを含む。画像間の潜在的な不一致を補償するために、パターンに関して最高一致得点（マッチスコア）をもたらすものを使用することができる。これには、任意の姿勢の部品を検出するように、方法をよりロバストにするという利点がある。
【００７１】
上述したように、トレーニングステップ３２は任意選択である。本発明のいくつかの実施形態では、トレーニングステップ３２は、キャパシティを下げた状態で使用され、または全く使用されないことも考えられる。例えば、実行時に期待されるパターンがｂｌｏｂモデル（例えば明るい特徴を探すもの）によって検索できる場合、パターントレーニングは必要ないが、上述のタイプの位置トレーニングが依然として使用される。そうしたことは、さらなる例として、ＩＤマトリックスコードであるパターン（あるいはその外観および／または位置が予め定義されたまたは既知の他のパターン）が、上記で論じたトレーニング可能なパターンの代わりに使用される場合にも当てはまる。この場合、３Ｄ位置にマッピングするために、そうしたコード（または他のパターン）の２Ｄ位置が、例えば一般的なタイプの特徴に合わせて設計されたビジョンツールによって、トレーニング段階または実行時の画像から識別される。本発明のそうした実装形態は有用である。というのも、工業用部品はつねにＩＤマトリックスコードを有することができ、それによって複数のトレーニングレスセンサが、ＩＤマトリックスコードの３Ｄ位置を出力することができるためである。さらに、ＩＤマトリックスコードは矩形領域に広がるので、そうしたセンサはすべて、４隅の２Ｄ位置を出力することができる。さらに、ＩＤマトリックスが特定の工程を用いて印刷される場合、（コードのサイズ／タイプを知ることにより）その３Ｄ位置を知り、３Ｄ姿勢を計算することができる。
【００７２】
実行時ステップ３４では、デジタルデータ処理装置２２が、物体１２上にあるパターン４２ａ〜４２ｃのうちの１つまたは複数の３Ｄ空間内の位置を、物体１２の実行時画像内にあるそれらのパターンを表すピクセル単位での位置に基づいて、また較正ステップ３０中に識別されたマッピングから三角測量する。記載された実施形態においては、物体１２のそれらの実行時画像が、好ましくは同時に、または実質的に同時に、画像取得装置２４によって取得される。この点に関して、実質的に同時にとは、物体１２、画像取得装置２４、フレーム２０、またはその他のものの動きが、実行時画像内のパターンのピクセル単位での位置、および／またはそこから求められるマッピングに実質的に影響を及ぼさないほど、画像取得がほぼ時間的に迫って行われることを指す。そのような同時取得は、カメラ２４を同時に（またはほぼそのように）作動させることによって、あるいは、例えばカメラ２４のシャッタが開いている間に、結像された物体をストロボ照射することを含む他の手段によって達成することができる。
【００７３】
記載された実施形態においては、位置三角測量が、パターンマッチングまたは他の２次元ビジョンツールを使用して、実行時画像内にあるパターンのピクセルに関する位置を識別することによって、また、それぞれのカメラ２４の視野内にあるそれらのパターンのピクセルに関する位置を、それらのパターンが上にある前述の３Ｄ光線に相関付けるように較正段階中に識別されたマッピングを使用することによって達成される。
【００７４】
２次元ビジョンツールを用いた例としては、前述した、本明細書に参照により編入された、米国特許第６，７４８，１０４号、米国特許第６，６３９，６２４号、米国特許第６，３０１，３９６号、米国特許第６，１３７，８９３号、米国特許第５，９７８，５２１号、米国特許第５，９７８，０８０号、米国特許第５，９６０，１２５号、米国特許第６，８５６，６９８号、米国特許第６，８５０，６４６号および米国特許第６，６５８，１４５号である。
【００７５】
パターン位置の三角測量は、例えば所与のパターンの位置が、そのパターンが上にある（複数台のカメラからの）複数本の３Ｄ光線が交差する点から求められる場合のような、「直接的」三角測量によるものとすることができる。代替的には、またはそれに加えて、三角測量は、所与のパターンの位置が、そのパターンが上にある１本の光線（または複数本の光線）からだけでなく、（ｉ）残りのパターンが上にある光線、および（ｉｉ）結像された物体上にある（例えばトレーニング段階中に求められる）それらのパターン相互の相対位置からも求められる場合のような、「間接的」であってもよい。
【００７６】
記載された実施形態においては、１つまたは複数のパターンが上にあるように見える（複数台のカメラ２４からの）複数本の３Ｄ光線相互間または複数本の３Ｄ光線の中で交差（または最寄りの交差）点を検出するために、直接的および／または間接的三角測量で「最小二乗適合（ｌｅａｓｔ  ｓｑｕａｒｅｓ  ｆｉｔ）」または他のそうした方法を利用することができる。例えば、２台以上のカメラ２４から取得された画像が、所与のパターン（より正確にはそのパターンの見かけ上の原点）が２本以上の光線上にあることを示す場合、最小二乗適合法を使用して、３Ｄ空間内でのそれらの光線の交差位置、またはそこに最寄りの点（すなわち、それらの光線の最寄りにある空間内の点）を求めることができる。同様に、カメラ２４からの画像が、複数光線上にある複数パターンに関する原点を示す場合、物体上にあるそれらのパターンのモデル点を用いて最小二乗適合を使用することによって、それらのパターンおよび／または物体自体の最尤な位置を求めることができる。
【００７７】
図示の実施形態は、光線とパターンの最小二乗（または二乗平均平方根）適合を見つけ出すために、オプティマイザ（または「ソルバ（ｓｏｌｖｅｒ）」）を利用する。これは、当技術分野で入手可能なタイプの汎用ツールであり、かつ／または以下に詳述するように動作することができるものであればよい。いずれにせよ、実行時ステップ３４中に、実行時画像から特定されたパターン（より正確にはパターン原点）が上にある３Ｄ光線の定義、ならびに（関連のある場合）物体上にある各パターンの位置または相対位置がソルバに供給される。
【００７８】
一般に、この情報により、過度に制約が加えられた（ｏｖｅｒ‐ｃｏｎｓｔｒａｉｎｅｄ）システムが定義され（すなわち、実際の位置を推論するために必要であるよりも多くの情報が、光線の定義および物体上の相対パターン位置によって供給されるということ）、図示のシステムはそれを、ロバスト性を目的として利用する。したがって例えば、実行時ステップ３４は、（例えばパターンが１つまたは複数のカメラのビューから隠されている場合、あるいはパターン画像の適時取得を可能にしない照明または他の状況の場合のように）例えばパターンが物体またはその実行時画像から欠如している場合でさえ、物体の姿勢を求めることができる。また、さらなる例として、実行時ステップ３４は、光線とモデル点、または光線の三角測量との間の適合の二乗平均平方根（ＲＭＳ）誤差を最小限に抑えるために、取得装置２４によって検出されたパターン原点のサブセット（より正確には、パターン原点に対応する位置のサブセット）を試用することを含むことができる。サブセットの１つに、より低い二乗和誤差がある場合、すべてのパターン原点ではなくそのサブセットを、位置三角測量に使用することができる。
【００７９】
一般に、この情報により、過度に制約が加えられたシステムが定義され（すなわち、実際の位置を推論するために必要であるよりも多くの情報が、光線の定義および物体上の相対パターン位置によって供給されるということ）、図示のシステムはそれを、ロバスト性を目的として利用する。したがって例えば、実行時ステップ３４は、例えばいくつかのパターンが（例えば、あるパターンの位置を、残りの検出されたパターンにより予測される位置と比較することによって検査／妥当性検証するように）考慮から意図的に除外される場合でさえ、物体の姿勢を求めることができる。
【００８０】
また、さらなる例として、実行時ステップ３４は、光線とモデル点、または光線の三角測量との間の適合の二乗平均平方根（ＲＭＳ）誤差を最小限に抑えるために、取得装置２４によって検出されたパターン原点のサブセット（より正確には、パターン原点に対応する位置のサブセット）を試用することを含むことができる。次いで、このステップは、サブセット内に含まれなかった（すなわち、上述のように意図的に除外された）パターンの３Ｄ位置を外挿して、それぞれのカメラ内での２Ｄ画像位置を予測することができる。予測された画像位置は、実際の測定された画像位置と比較することができる。予測された画像位置と実際の測定された画像位置との間の距離が、何らかのユーザ指定の距離許容差を超える場合、システムは適切な警告または他の通知を生成することができる。あるいは、またはそれに加えて、除外されたパターンの外挿された３Ｄ位置を、三角測量によって求められた３Ｄ位置に対して比較することができる。この場合もやはり、外挿された（予測された）位置と実際の位置との間の距離が異なる場合、実行時ステップ３４は、適切な警告または他の通知を生成することを含むことができる。
【００８１】
トレーニング段階と実行時段階のどちらの間でも、パターン認識の速度を向上させるために、図示の実施形態は、１つのパターンの検出された位置を利用して、残りのパターンに対する検索の自由度を制限することができる。例えば、第１のカメラ２４がパターンを１５度で検出し、別のカメラが第１のカメラとほぼ同じ向きである場合、別のカメラは、パターンを向き１５±１０度で探すだけでよい。さらに、１台のカメラから原点の位置が与えられると、その原点が、ある３Ｄ光線に沿って存在することが分かり、それによってその光線を第２のカメラの視野上に投影し、その線に沿ってパターンを探すだけでよい。
【００８２】
２つのパターンが混同しやすい（すなわち、カメラの視野内にあるパターンに類似する２つの事例がある）場合、図示の実施形態は、可能な異なる対応関係をすべて試行することができる。例えば、前述したとおり参照により編入されたところの米国特許第６，８５６，６９８号（発明の名称『高速高精度多次元パターン位置測定』）、米国特許第６，８５０，６４６号（発明の名称『高速高精度多次元パターン検査』）、および米国特許第６，６５８，１４５号（発明の名称『高速高精度多次元パターン検査』）に記載された技術を用いて、（ＰＯＳＴ−ＩＴ（登録商標）Ｎｏｔｅｓラベルからの）文字シーケンス「Ｐ」、「ＳＴ」、「Ｉｔ」および「Ｎｏｔｅｓ」などのパターンはどれも異なり、したがってマッチ（一致）が見られる場合、それが正しいマッチであると分かる。
【００８３】
代替的には、「ブロブ（ｂｌｏｂ）」解析として知られるマシンビジョンツールを使用して、パターンを（例えばそれが暗い穴である場合に）検出することができる。この場合、ｂｌｏｂ＃１が３Ｄモデル点１に対応し、ｂｌｏｂ＃２が３Ｄモデル点２に対応するなどと仮定することができる。それが機能しない場合、解析は、ｂｌｏｂ＃２が３Ｄモデル点＃２に対応し、ｂｌｏｂ＃１が３Ｄモデル点＃１に対応するという次の仮定に移ることができる。
【００８４】
記載された実施形態の三角測量プロセスのより完全な理解は、以下の議論から理解されることができる。
【００８５】
ｎ本の３Ｄ光線と交差するために（すなわち、ｎ本の３Ｄ光線までの二乗和距離を最小限に抑える点を見つけ出すために）、まず、各光線を２つの別々の直交平面とみなす（なぜなら、ある点からある光線までの二乗距離は、その点からその光線を交差する２つの直交面までの二乗距離の和であるからである）。これは、以下のＣ＋＋コードによって例示される。
【００８６】
【表１−１】
0005922572.tif 000002
【００８７】
【表１−２】
0005922572.tif 000003
【００８８】
３Ｄ点を対応する３Ｄ光線上に最良にマッピングする姿勢に関して解くには、（Ｗａｔｅｒｌｏｏ  Ｍａｐｌｅ社の一部門であるＭａｐｌｅｓｏｆｔから市販されている、Ｍａｐｌｅ  ｍａｔｈ  ｐａｃｋａｇｅにおいて表現される）以下の式を使用すると言うことができる。
【００８９】
この手法は、（ｘ、ｙ、ｚで表される）点ｐと（ｐｘ、ｐｙ、ｐｚ、ｐｔ）で表される平面との間の二乗和誤差を最小限に抑える、（変数ａ、ｂ、ｃ、ｄ、ｔｘ、ｔｙ、ｔｚによって表される）姿勢について解く。各３ｄ光線が、そのような２つの平面の制約に対応することに留意されたい。この手法は、二乗和誤差を、代数誤差関数の係数を合計することによって計算する。次いで、この手法は、最適なａ、ｂ、ｃ、ｄ、ｔｘ、ｔｙ、ｔｚについて、勾配降下を使用して解く。７つの変数（ａ、ｂ、ｃ、ｄ、ｔｘ、ｔｙ、ｔｚ）があり、６自由度しかないので、ａを１に設定し、変数がｂ、ｃ、ｄである場合、ｂを１に設定し、変数がａ、ｃ、ｄである場合、ｃを１に設定し、変数がａ、ｂ、ｄである場合、およびｄを１に設定し、変数がａ、ｂ、ｃである場合の４つの異なる場合について試行することに留意されたい。
【００９０】
【表２】
0005922572.tif 000004
【００９１】
前述したことは、以下の内容を考慮するとさらに理解されよう。以下では、ＧｅｎｅｒｉｃＰｏｌｙ（）が、関数の係数を抽出する関数である。したがって、関数がｘ＊ｘ＋２＊ｘ＊ｙ＋ｙ＊ｙである場合、その汎関数は、ｆ０ｘ２ｙ０＊ｘ＊ｘ＋ｆ０ｘ１ｙ１＊ｘ＊ｙ＋ｆ０ｘ０ｙ２＊ｙ＊ｙ（ただしｆ０ｘ２ｙ０＝１、ｆ０ｘ１ｙ１＝２、ｆ０ｘ０ｙ２＝１）である。ＧｅｎｅｒｉｃＰｏｌｙ（）は、例えば非限定的な例としてｗｗｗ．ｃｓ．ｕｎｃ．ｅｄｕ／〜ｇｅｏｍ／ＭＡＲＳから一般に無料で入手可能なＭＡＲＳ、すなわちＭａｐｌｅ  Ｍａｔｌａｂ  Ｒｅｓｕｌｔａｎｔ  Ｓｏｌｖｅｒ  Ｓｙｓｔｅｍに含まれている。
【００９２】
【表３】
0005922572.tif 000005
【００９３】
誤差関数は、単に導関数（ｗｅｉｇｈｔＭａｔ＊ｗｅｉｇｈｔＭａｔ）ではなく、実際には（ａに関して偏導関数を計算する場合）（ａ＊ａ＋ｂ＊ｂ＋ｃ＊ｃ＋ｄ＊ｄ）＊導関数（ｗｅｉｇｈｔＭａｔ＊ｗｅｉｇｈｔＭａｔ）マイナス４＊ａ＊ｗｅｉｇｈｔＭａｔ＊ｗｅｉｇｈｔＭａｔであることに留意されたい（これは、ｕｎｉｔ＊ｄｉｆｆ（ｅｖａｌ
（ｇｅｎＰｏｌｙ［１］），ａ）−ｅｖａｌ（ｇｅｎＰｏｌｙ［１］）＊４＊ａ））；）として記載される）。というのも、商に関する連鎖法則ｄｅｒｉｖ（Ｆ（ｘ）／Ｇ（ｘ））＝＝（Ｇ（ｘ）＊Ｆ（ｘ）‐Ｆ（ｘ）＊Ｇ’（ｘ））／（Ｇ（ｘ）＊Ｇ（ｘ））のためである。
【００９４】
この解析に関して、（偏導関数に関する連鎖法則の分母内の）分母の二乗は、分母（ａ＊ａ＋ｂ＊ｂ＋ｃ＊ｃ＋ｄ＊ｄ）がすべての偏導関数ｄ（（ａ＊ａ＋ｂ＊ｂ＋ｃ＊ｃ＋ｄ＊ｄ）∧２）／ｄａ＝４＊ａ＊（ａ＊ａ＋ｂ＊ｂ＋ｃ＊ｃ＋ｄ＊ｄ））に一律に適用されるので、無視できることに留意されたい。
【００９５】
前述したことのさらなる例として、数値的勾配降下法で誤差関数ならびにその誤差関数の導関数を利用する。誤差関数の導関数は、数値的にまたはシンボリックに計算することができる。数値的に計算される導関数の場合、単に変数の１つを少量だけ変更し、次いで誤差関数を再計算し、そのようにして導関数を数値的に計算することができる。シンボリックに計算される導関数の場合、導関数に対応するシンボリック関数が必要であり、この場合にはシンボリック関数を、誤差関数を記述する代数式があるので使用し、シンボリック関数によってその代数誤差関数をシンボリックに微分することができる。
【００９６】
図示の実施形態では、以下のように、Ｃデータ構造が、代数式用にすべての係数を保持する。
【００９７】
【表４−１】
0005922572.tif 000006
【００９８】
【表４−２】
0005922572.tif 000007
【００９９】
図示の実施形態は、代数式の係数を増やす関数も利用する（そうした関数は、入力として、３Ｄ点（ｘ、ｙ、ｚ）、およびｐｘ、ｐｙ、ｐｚ、ｐｔによって特徴付けられる対応する平面をとる）。
【０１００】
【表５】
0005922572.tif 000008
【０１０１】
図示の実施形態は、所与の姿勢（ａ、ｂ、ｃ、ｄ、ｔｘ、ｔｙ、ｔｚ）における誤差を計算する関数も利用する。ただし（ａ、ｂ、ｃ、ｄ）は、３Ｄ回転（ロール、ピッチ、ヨー）の四元数表現であり、（ｔｘ、ｔｙ、ｔｚ）は並進運動である。
【０１０２】
【表６】
0005922572.tif 000009
【０１０３】
図示の実施形態は、導関数を計算する関数も提供する。
【０１０４】
【表７−１】
0005922572.tif 000010
【０１０５】
【表７−２】
0005922572.tif 000011
【０１０６】
例えば、係数を増やす関数は、続く抜粋例と整合する形で表現することができる。この完全な関数は、本明細書の教示および提供されるＭａｐｌｅコードを考えれば明らかである。
【０１０７】
【表８】
0005922572.tif 000012
【０１０８】
これは、ｆａ．．．が係数であり、変数の名前が、各単項式の次数を符号化するような形で成立することに留意されたい。
【０１０９】
【表９】
0005922572.tif 000013
【０１１０】
さらに、一般的なゼロ誤差関数ｆａ０ｂ０ｃ０ｄ０ｔｘ０ｔｙ０ｔｚ０＝０ｆａ０ｂ０ｃ０ｄ０ｔｘ０ｔｙ０ｔｚ１＝０から開始することに留意されたい。
【０１１１】
これに続いて、（（ｘ、ｙ、ｚ、ｐｘ、ｐｙ、ｐｚ、ｐｔ）によって特徴付けられる）点、平面の組ごとに、関数ｐｔＲａｙＧｅｎｅｒｉｃＰｏｌｙ＿ａｄｄＴｏＶａｌｓ（）に対して呼出しが行われ、それが単項式の係数を累算して、和誤差関数に入れる。
【０１１２】
図２の任意選択のステップ３６を参照すると、図示のシステム１０は、例えばカメラのうち１台が較正後に寸動された場合に、位置合せからずれた画像取得装置２４を再較正することができる。（この点に関して、図示の実施形態では、較正段階中に求められたマッピングを失わないようにするために、カメラ２４が較正後に固定されたまま、かつ／または静止したままでであることが好ましくは意図されることが理解されよう。）これは、ステップ３４において実施される位置三角測量中、また場合によってはステップ３２において実施される位置三角測量中に検出することができる。この目的のためには、１台のカメラ２４が画像を生成し、その画像内で、検査中の物体の実行時画像内に見られるパターンが、（例えばそのカメラに関する３Ｄ光線に対してマッピングされたときに）残りのカメラからの（例えばそれぞれの３Ｄ光線を使用してマッピングされたときの）画像と一致しない、かつ／または大幅に食い違うような位置にあるように見える場合、それらの残りのカメラからの画像を用いて求められたパターン位置を使用して、その１台のカメラを、ステップ３０に関連して上述した同じ較正法を用いて再較正することができる。
【０１１３】
この点に関して、ステップ３０において（ならびにステップ３６において）求められるマッピングは、カメラ２４が寸動された場合に一定のまま（というのも、これはレンズの作用に他ならず、また例えばレンズをＣＣＤ、ＣＭＯＳまたは他のイメージセンサに対して定位置に接着することができるため）である、糸巻き型歪み（ｐｉｎｃｕｓｈｉｏｎｉｎｇ）やその他の画像収差などのレンズ歪みと、カメラ２４の作業空間に対する姿勢との、２つの別々の影響に分解できることが理解されよう。カメラが寸動された場合に変化するのは、後者、すなわち姿勢である。ステップ３６では、レンズ歪みが一定のままであると仮定されるので、作業空間内でのカメラの姿勢に帰せられるマッピングの側面を、例えば較正プレートを必要とせずに、再計算することができる。
【０１１４】
図示のシステム１０は、好ましくは、期待パターンが実行時段階３４中に取得された画像内で検出されない場合に過度の遅延を回避する、「タイムアウト」機能を含む。この点に関して、システムは単に、（例えばオペレータまたは他の手段によって設定される）指定の遅延間隔内に検出されないパターンを未検出として取り扱い、残りの検出されたパターンに基づいて位置特定を続行する。これには、システム１０を、欠如している特徴に対してよりロバストにし、その動作をより時宜にかなったものにするという利点がある。
【０１１５】
少なくともいくつかの実施形態において、特定のマシンビジョンプロセスは、検査または解析対象たる所定の対象部品について取得された複数の画像に属する１または複数の特定の領域を識別するシステムユーザによって最適化する必要があるか、最適化されることができる。例えば、第１の対象部品が検査対称となるケースでは、システムユーザは、パターンが当該カメラによって生成された複数の画像の左上四半分に現れるように関心対象たるパターンがつねにカメラの視野内に存在することを知ることができる。この場合、パターン認識プロセスを高速化するために、カメラプロセッサによって、取得された画像の左上四半分にパターン探索を局限することが最適であろう。ここで、第２のカメラが、第１のカメラと同時的に複数の瞬間におけるの第１の対象部品の複数の画像を取得する場合には、パターンは、第２のカメラの視野の右下四半分内につねに現れるであろう。これは、第２のカメラが生成した複数の画像を処理するプロセッサにとって、右下コーナーにパターン探索を限定することが最適であるようにするためである。同様に、システムが第３のカメラ、第４のカメラ等を有する場合には、パターン認識のための画像プロセスをカメラ複数画像の特定部分にのみ限定することが最適であろう。
【０１１６】
少なくともいくつかの実施形態において、以下のことが想定されている。すなわち、トレーニングプロセスの間において、ユーザは、「関心領域（ＡＯＩ）トレーニングプロシージャ」を実行して、理想的対象部品が２台またはそれ以上のカメラの視野内に位置づけられるとともに、ユーザは、取得された複数画像において検証または解析すべき領域である関心領域を画定する複数の点を当該対象部品上に手動で識別するようにしてもよい。複数の画像は、２台またはそれ以上のカメラを用いて取得され、ユーザが選択した複数の点は、コンピュータのＣＰＵ／プロセッサ（図１参照）によって識別することができる。その後、プロセッサは、取得した複数画像における選択された複数の点の座標を保存して、各カメラに対して、当該関心領域（ＡＯＩ；ａｒｅａ  ｏｆ  ｉｎｔｅｒｅｓｔ）に対応する独立の「関心フィールド」（ＦＯＩ；ｆｉｅｌｄ  ｏｆ  ｉｎｔｅｒｅｓｔ）を個別に定義する。
【０１１７】
独立の複数の画像における複数の点が撮像対象部品上の同一の選択された複数の点に対応する一方、選択された点に対応する関心フィールド（すなわち複数画像における複数部分）は、各カメラによって異なる、なんとなれば、各カメラは対象部品および選択された点に対して異なる方向に向けられているからである。このように、例えば、４つの選択された点が第１のカメラをその視野が第１の軌跡に沿って配置された状態で用いて取得された画像における正方形を画定する。他方、同じ４つの点は、第２のカメラをその視野が第２の軌跡に沿って配置された状態で用いて生成された画像における矩形、台形または他の四辺形を画定してもよい。
【０１１８】
以上の説明から、以下の点が明らかであろう、すなわち、このＡＯＩトレーニングプロシージャは、相対的に単純でありマルチカメラ構成の３Ｄシステムに属する各カメラを較正して１つの対象部品における厳密に同一な領域または区画を検証または解析することを確実にする。また、次の点が明らかであろう、すなわち、単一のＡＯＩトレーニングプロシージャを実行してすべてのカメラにおけるカメラ固有の関心フィールドを同時的にトレーニングすることができる。
【０１１９】
また、試運転プロシージャの間に関心領域（ＡＯＩ）を表示または指定するための複数の異なる方法が想定されている。例えば、幾つかのケースでは、システムユーザは、手動式レーザーポインタ８０を用いて選択された点を、それら点を１つずつ対象部品１２にあててもよい。ここで、第１の点がレーザーポインタを介して選択される一方、カメラは、同時画像を取得するように制御されることができる。
【０１２０】
少なくとも幾つかのケースにおいては、手動式レーザーポインタには、送信機およびボタンが設けられている。このボタンを選択すると、ポインタ送信機がコンピュータ２２ａ（図１参照）に接続された受信機に、その瞬間に時間的に対応する複数の画像を検証してレーザー照明された点の複数の画像内における位置を識別すべきことを示す信号を送信する。他のケースにおいては、一連の取得された複数の画像内におけるレーザーのいくつかの挙動は、点が選択されたことをコンピュータプロセッサに対して示すものであってもよいであろう。例えば、ポインタ８０は、オン状態でレーザービームを安定した状態で生成するように構成してもよく、レーザーポインタのボタンが選択されると２回点滅するようにしてもよいであろう。
【０１２１】
ここで、各カメラが一連の複数の画像を急激に連続する複数の瞬間において、ＡＯＩトレーニングプロシージャの間に取得する場合には、コンピュータプロセッサは、点滅照明された点を、当該点が選択されたことおよび関連付けされた複数の画像が検証されてレーザー照明された点の複数の画像内におけるロケーションを認識すべきことを示す兆候であると認識するようにプログラムされてもよい。さらに他のケースにおいて、ユーザは単純にキーボード２２ｂからキーを選択して特定の瞬間における複数の画像を解析して各画像における照明された点の位置を識別すべきことを表示してもよい。
【０１２２】
次に、ユーザは、ポインタ８０を用いて第２の領域定義点を選択して同時的に複数画像をカメラに取得させたのち、必要な第３の点の選択を行うなどしてもよい。ひとたび関心領域（ＡＯＩ）を定義するのに必要なすべての点を含む複数の画像がキャプチャされたら、コンピュータプロセッサは、複数の関心フィールド（ＦＯＩ）を独立のカメラに対して後の利用のために識別することができる。カメラ固有の複数の関心フィールド（ＦＯＩ）が保存された後で、正常動作の間に、ある対象部品がその後撮像されたら、プロセッサは、特定のカメラに対して複数の画像における複数の関心フィールド（ＦＯＩ）のみを解析してもよい。
【０１２３】
幾つかの実施形態においては、ユーザが４つの点を選択して概して直線的な関心領域（ＡＯＩ）を定義することが必要であるが、他方、少なくとも幾つかの実施形態においては、ユーザの裁量により、より多くのまたなより少ない点を用いてもよく、それにより他のＡＯＩ形状を定義してもよい。例えば、３つの点を指定または選択して三角形を指定するとか、５つの点で五角形を指定してもよいであろう。
【０１２４】
別の例として、レーザー光源は、レーザービームを急速にスキャンして、正方形（図１の８２参照）、矩形、三角形、円形などのＡＯＩバウンダリを形成するようにプログラムされてもよく、ここで、ＡＯＩバウンダリは、それに向かって向けられて、部品１２の面積の範囲を定めて、関心領域（ＡＯＩ）を定義してもよい。ここで、各カメラは、当該部品の単一の画像を撮影するのみでよいこともあり、カメラプロセッサは、カメラ固有の複数の関心フィールド（ＦＯＩ）をそこから「学習」するようにプログラムされてもよい。ここで、再び、関心領域（ＡＯＩ）が選択されたことを示す信号は、レーザーポインタを介してコンピュータプロセッサへの送信によって容易にされてもよく、ポインタボタンが選択されるとコンピュータプロセッサによって検知されるいくつかの挙動（例えば、ＡＯＩバウンダリの点滅オンオフ、ＡＯＩバウンダリ強度における変化、ＡＯＩバウンダリから一群のバウンダリ定義点への急激な変化など）、コンピュータキーボードボタンの選択などであってもよい。
【０１２５】
さらに別の例として、システムユーザは、ＡＯＩトレーニングプロシージャの間に、部品に対してステッカを張るなどしてもよい。関心領域（ＡＯＩ）を定義するためにステッカが貼られた後、複数の画像は、複数台のカメラを解して取得され、コンピュータプロセッサは、ステッカロケーションに対応する各画像におけるカメラ固有の複数の関心フィールド（ＦＯＩ）を識別する、そして、その後、カメラ固有の複数の関心フィールド（ＦＯＩ）を適宜用いる。
【０１２６】
少なくともいくつかの実施形態において、以下のことが想定されている、すなわち、各カメラがＡＯＩトレーニングプロシージャの間に動作して急激な連続性における（すなわち高速連写による）複数の複数の画像を取得してもよい。この場合、少なくとも幾つかの実施形態において、レーザーを用いて、複数の画像が取得される間に、ボックス、サークルといった形状のＡＯＩバウンダリを関心領域（ＡＯＩ）の周りに「描画」してもよく、ここで、コンピュータプロセッサは、各カメラに対して複数の複数の画像からレーザー点位置情報を用いてカメラ固有の複数の関心フィールド（ＦＯＩ）を作成するようにプログラムされている。
【０１２７】
少なくともいくつかの実施形態において、ＡＯＩトレーニングプロシージャの間に、コンピュータプロセッサは、少なくとも幾つかのフィードバックをシステムユーザに提供するようにプログラムされてもよいと想定されている。例えば、システムが３つのカメラを有していてユーザが１つの点を、レーザーポインタを介して選択する場合には、もしカメラが複数の画像を取得するも１または複数のカメラに関連する複数画像が、ユーザが指示した瞬間にレーザーによって照明された点が含まれていないならば、プロセッサは、異なる点が選択されるべきことをビープ音などで表示してもよく、あるいは、プロセッサは、点がキャプチャされなかったことを表示してもよい（すなわちビープ音は、すべてのカメラについて複数の画像における点が識別された場合にのみ提供されるであろう）それにより、ユーザを促して他の点を選択せしめるのである。
【０１２８】
別の例として、３つのシステムカメラのうち２つに関連する複数の画像が用いられて４つの選択された点が識別され、その間に、第３のカメラに関連する複数の画像が、同時的に取得された複数画像にける２つの選択された点のみを識別するために用いられるような場合には、プロセッサは、トレーニングプロセスが成功しなかったことを表示してもよい。もう１つの例として、カメラが高速連写にて複数画像を撮影する間にレーザーを用いてＡＯＩバウンダリを部品上に「描画」」する場合には、プロセッサは、アウトラインがいつ閉じられたか（すなわちいつ交差が生じたか）を認識するようにプログラムされてもよく、また、ビープ音などによってアウトラインの閉じを表示するようにしてもよい。フィードバックは、また、コンピュータディスプレイ画面２２ａを介して可視的なものとしてもよい。
【０１２９】
少なくともいくつかの実施形態においては、ＡＯＩトレーニングプロシージャを用いてカメラ固有のＡＯＩを後の利用に供するために定義するのに加えて、同様のトレーニングプロシージャをパターン／モデルトレーニングセッションの間に用いて、領域／区画を、モデルパターンを作成すべき部品上に表示してもよい。例えば、ユーザは、レーザーポインタ８０などを用いて、ＡＯＩを、特定の関心対象たる特徴を含む部品上に定義してもよく、コンピュータプロセッサは、それから、ユーザによって指定されたカメラ固有の複数の関心フィールド（ＦＯＩ）のそれぞれについて独立のモデル生成プロセスを実行してもよい。
【０１３０】
図５を参照すると、例示的なＡＯＩトレーニングプロシージャ５０が記載されている。ブロック５２において、ＡＯＩトレーニングプロシージャが開始される。ここで、プロシージャを開始するために、ユーザは、コンピュータ２２を介して（またはレーザーポインタ８０を介して）プロシージャが開始されるべきことを表示してもよい（図１参照）。
【０１３１】
ブロック５４において、ユーザは、関心領域（ＡＯＩ）点をシステムカメラ２４の視野内の部品（図１の１２を参照）上に表示する。この例においては、関心領域（ＡＯＩ）を定義する点は、レーザーポインタ８０を介して、図１におけるように表示される。ただし、前述した任意の他の態様または前述したものと等価的なものが用いられてもよい。
【０１３２】
ブロック５６において、複数のカメラ２４を用いて、当該部品１２の複数の画像が取得される。ブロック５８において、複数の画像は、コンピュータプロセッサによって検討されて、ＡＯＩを定義する選択された点を識別する。ブロック６０において、プロセッサは、ＡＯｌを定義する点が各カメラに関連する少なくとも１つの画像において位置づけられるかどうかを決定する。関心領域（ＡＯＩ）を定義する点がすべて識別されない場合には、制御はブロック５４に戻り、プロセスがループし続ける。
【０１３３】
最適には、ブロック５５において、フィードバックがシステムユーザに提供されてもよい。ひとたびすべての関心領域（ＡＯＩ）を定義する点が識別されたならば、ブロック６２において、各カメラの関心フィールド（ＦＯＩ）が保存され、および、ブロック６４において、現在の関心領域（ＡＯＩ）に対するＡＯＩトレーニングプロシージャが完了したことを示すフィードバック（例えば、ビープ）が、ユーザに提供される。ユーザがその部分について第２の関心領域（ＡＯＩ）を定義したい場合には、プロセス５０が繰り返されることができる。
【０１３４】
以上、諸目的、特にそのうち前述した目的を達成する方法および装置を説明したところであるが、当然のことながら、図面に図示しかつ前述した方法および装置は、本発明の一例を示したものにすぎず、変更を施した他の実施形態もまた本発明の範囲内に属するものである。
【図１】
0005922572.tif 000014
【図２】
0005922572.tif 000015
【図３】
0005922572.tif 000016
【図４】
0005922572.tif 000017
【図５】
0005922572.tif 000018