説明

実用型3Dビジョンシステム装置およびその方法

少なくとも第1のカメラおよび第2のカメラを含む、カメラ固有の軌跡に沿って配置された視野をそれぞれ有する複数のカメラ、を有する3D画像化システムにおける関心領域を特定するための方法およびそのシステムは、前記複数のカメラの視野内の位置に部品を配置する工程と;前記複数のカメラのそれぞれの視野内に存在する関心領域を、前記部品上に表示する工程と;前記複数のカメラそれぞれに対して、(i)前記関心領域を有する前記部品の少なくとも1つの画像を取得し、(ii)この少なくとも1つの画像における前記関心領域と関連付けされた前記カメラの視野内のカメラ固有の関心フィールドを識別して、(iii)後の使用のために前記関心フィールドを保存する工程と、を有している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マシンビジョンに関するものであり、より具体的には、3次元(3D)マシンビジョンに関するものである。本発明は、ごく一例として、製造、品質管理およびロボット工学といった分野における用途を有する。
【0002】
マシンビジョンとは、画像の自動解析により画像において表現されている物体の特性を判定する技術をさす。マシンビジョン技術は、自動化された製造ラインでしばしば利用されており、各種構成部品のピッキング、組立てのための配置および整列を行うために、各種構成部品の画像の解析が利用されている。自動組立て手段としてロボットが用いられていて、自動画像解析を部品ピッキング、部品配置および部品整列等に用いるシステムは、視覚誘導ロボット工学とよばれる。また、マシンビジョン技術は、ロボットの操縦にも用いられており、例えば、様々な環境中をロボットに移動させて状況を把握することを確実にするためにマシンビジョン技術が用いられている。
【0003】
3次元(3D)解析は様々な文献において論じられて久しいけれども、最先端のマシンビジョンシステムは、2次元(2D)画像解析に依拠している。このため、検査対象物体が、制約を受けた方向および位置においてマシンビジョンシステムに「提示(presented to)」されることが必要となるのが典型的である。コンベヤベルトがこの目的のために一般的に用いられている。組立てまたは検査対象たる物体は、典型的には、ベルト上の特定かつ既知にして安定した3Dコンフィギュレーションに配置されるが、しかして、未知の位置および方向に配置され、マシンビジョンシステムの視野内に移動される。前記視野内における物体の2次元姿勢(すなわち位置および方向)に基づいて、および当該物体がコンベヤ上に配置されているという事実を考慮に入れつつ(それにより、「ライ(当該物体が実際におかれている状態)」とマシンビジョンシステムカメラから物体までの距離とを確実なものとする)、システムは、2次元形状(2D geometry)を適用して、当該物体の厳密な3次元姿勢および/または予想される外的形状との適合性を判定する。
【0004】
かかる2D映像解析を用いた例は、承継人の先行特許である以下の各特許明細書:米国特許第6,748,104号(発明の名称『単一および複数のテンプレートまたはパターンを用いたマシンビジョン検査装置およびその方法』);米国特許第6,639,624号(発明の名称『有鉛部品の検査のためのマシンビジョン方法』);米国特許第6,301,396号(発明の名称『カメラ‐可動物体間のキャリブレーション関係を判定するための非フィードバック型マシンビジョン方法』);米国特許第6,137,893号(発明の名称『マシンビジョンキャリブレーションターゲットおよび画像内におけるターゲット位置・方向を判定する方法』);米国特許第5,978,521号(発明の名称『共通の物体を撮像する複数のカメラのキャリブレーション位置を判定するためのマシンビジョン方法』);米国特許第5,978,080号(発明の名称『フィードバックにより視野の方向、ピクセル幅およびピクセル高を判定するマシンビジョン方法』);米国特許第5,960,125号(発明の名称『カメラ‐可動物体間のキャリブレーション関係を判定する非フィードバック型マシンビジョン方法』);米国特許第6,856,698号(発明の名称『高速高精度多次元パターン位置測定』);米国特許第6,850,646号(発明の名称『高速高精度多次元パターン検査』);米国特許第6,658,145号(発明の名称『高速高精度多次元パターン検査』)などにおいて提供されているところである(あくまで若干の例である)。
【0005】
工場フロアから家庭までロボット工学への依存度が高まるにつれて、実用的な3Dマシンビジョンシステムへのニーズが表面化してきている。これは、これらの環境下においては、多くの場合、検査対象たる物体が全体の位置およびライ内には必ずしも収まらないことによる、例えば、コンベヤベルト上に配置された物体の事例とは違うのである。つまり、当該物体の精確な3Dコンフィギュレーションは未知でありうるのである。
【0006】
3Dシーン内における姿勢および位置の追加的な自由度を許容するために、3Dビジョンツールが必須ではないものの有益である。これらの例としては以下のものがある:米国特許第6,771,808号(発明の名称『マシンビジョンを利用して6自由度で変換されたパターンを登録するためのシステムおよびその方法』)、および米国特許第6,728,582号(発明の名称『2つのカメラを備えたマシンビジョンシステムを用いて3次元で物体の位置を判定するためのシステムおよびその方法』)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許第6,748,104号明細書
【特許文献2】米国特許第6,639,624号明細書
【特許文献3】米国特許第6,301,396号明細書
【特許文献4】米国特許第6,137,893号明細書
【特許文献5】米国特許第5,978,521号明細書
【特許文献6】米国特許第5,978,080号明細書
【特許文献7】米国特許第5,960,125号明細書
【特許文献8】米国特許第6,856,698号明細書
【特許文献9】米国特許第6,850,646号明細書
【特許文献10】米国特許第6,658,145号明細書
【発明の概要】
【発明が解決しようとする課題】
【0008】
他のマシンビジョン技術が従来技術として提案されているところである。しかしながら、技術によっては、過大なプロセッサ出力が必要であるためにリアルタイム性が要求される用途には実用的でないものもある。他の技術では、検査対象たる物体に対して複雑な登録手続を実施しなければならず、および/または、実行時に、物体の特性の多くがマシンビジョンシステム視野において同時的に視認されることが必要である。
【0009】
マシンビジョン分野以外では、技術水準はまた、3次元姿勢を判定する接触式の方法を提供している、例えば、タッチセンサを有するXYZ軸測定マシンなどである。しかしながら、これは接触が必要であって、相対的に動作は遅く、人間の関与が必要となりうる。3次元姿勢を判定するための電磁波式の方法も提供されている。これらは物理的接触を必要としないが、それ自身の欠点の影響を受ける、例えば、検査対象たる物体に対して発信機を取り付けるといったしばしば実際問題として実現不可能な工程が必要である。
【0010】
本発明の目的は、改善されたマシンビジョン方法および装置を提供することにあり、より具体的には、3次元マシンビジョン方法および装置を提供することにある。
【0011】
本発明の関連する目的は、限定する趣旨でないが、製造、品質管理、ロボット工学といった複数の実用分野において適用可能な方法および装置を提供することにある。
【0012】
本発明のさらなる目的は、例えば、3D空間における位置および姿勢を判定することができる方法および装置を提供することにある。
【0013】
本発明のさらなる目的は、例えば、検査対象たる物体の全体的位置およびライなどの制約条件が少なくて済む方法および装置を提供することにある。
【0014】
本発明のさらなる目的は、検査対象たる物体の登録に関連する要件を最小化することができる方法および装置を提供することにある。
【0015】
本発明のさらなる目的は、現在および将来のマシンビジョンプラットフォームにおいて実装することができる方法および装置を提供することにある。
【課題を解決するための手段】
【0016】
前述したものは、本発明によって達成される目的の一部であるが、なかんずく、姿勢、例えば、当該物体の複数画像から収集されたデータに対する三角測量によって、物体のXYZ軸における位置、ピッチ、ロール、ヨー(その他1以上の姿勢特性)を3次元で判定する方法および装置が提供される。
【0017】
このように、例えば、ある態様において、本発明は、3Dマシンビジョン方法を提供するものであって、較正ステップの間、物体の複数の画像を異なる各々の視点から取得するように配置された複数のカメラが、調整されて、当該カメラの視野におけるピクセルロケーションに対応する各々のカメラのレンズから発せられた3D空間における光線を識別するマッピング関数を識別するように構成されている。トレーニングステップでは、カメラと関連付けされた機能性がトレーニングされて、取得されるべき物体の複数の画像における期待パターンを識別する。実行時ステップが、これらのパターンの1または複数の3D空間におけるロケーションを、物体の複数の画像におけるこれらのパターンのピクセル単位での位置から、および、較正ステップで識別されたマッピングから、三角法で測る。
【0018】
本発明のさらなる態様は、実行時ステップにより、複数のカメラによって実質的に同時的に撮像された物体の複数の画像から位置を三角法で測定するところの前記方法を提供するものである。
【0019】
本発明の別の態様は、本発明の別の目的は、物体の実行時画像を使用して、前述のマッピング関数を、例えば較正から外れたカメラに関して識別する再較正ステップを含むような方法を提供することである。したがって、例えば1台のカメラが画像を生成し、その画像内で、パターンが、(例えばそのカメラに関する3D光線に対してマッピングされたときに)残りのカメラからの(例えばそれぞれの3D光線を使用してマッピングされたときの)画像と一致しない、かつ/または大幅に食い違うような位置にあるように見える場合、それらの残りのカメラからの画像を用いて求められたパターン位置を使用して、その1台のカメラを再較正することができる。
【0020】
本発明の別の態様は、較正ステップが、(例えば較正プレートまたはその他の手段上の
標的、十字線などの)各登録対象を、3D空間内の既知の各位置に配置すること、およびそれらの位置と、各カメラの視野内にあるそれぞれの登録対象のピクセル単位での位置との相関関係を記録する、または例えばアルゴリズム的に特徴付けることを含む、上述の方法を提供する。本発明の諸関連態様は、それらの登録対象、較正プレートなどのうち1つまたは複数を使用して、複数台のカメラを同時に、例えば同時結像によって較正するような方法を提供する。
【0021】
本発明の他の態様は、較正ステップが、視野内の歪みを考慮に入れたマッピング関数をカメラごとに識別することを含む、上述の方法を提供する。
【0022】
本発明の別の態様は、トレーニングステップが、カメラに付随する機能を、文字、数字、(登録対象など)他の記号、隅部、または物体の(暗点や光点など)他の識別可能な特徴などの、例えば測定法および検索/検出モデルがそれに関して当技術分野で既知の期待パターンを認識するようにトレーニングすることを含む、上述の方法を含む。
【0023】
本発明の別の関連態様は、トレーニングステップが、前述の機能を、「モデル点」、すなわち実行時に検査される物体上にあるパターンの3D空間内での(例えば絶対的または相対的な)期待位置に関してトレーニングすることを含むような方法を提供する。それらの画像から識別された三角測量された3D位置と組み合わせて、実行時ステップ中にこの情報を使用することによって、その物体の姿勢を識別することができる。
【0024】
本発明の諸態様によれば、パターンの期待位置(すなわちモデル点)に関するトレーニングは、そのようなパターンそれぞれの基準点(または「原点」)の2D姿勢を検出することを含む。2台以上のカメラの視野内に出現することが期待されるパターンの場合、そのような基準点により、3D空間内でのそれらのパターンの(したがって物体の)位置を求めるための、以下に述べる三角測量が容易になる。
【0025】
本発明の諸関連態様は、期待パターンに関するトレーニングが、各カメラに付随する機能内で、類似モデルを、異なるカメラ相互間で類似の期待パターンをトレーニングするのに利用することを含むような方法を提供する。これには、実行時に検出されたパターンに関する基準点(または原点)が、それらの異なるカメラによって得られる画像相互間で一致することが確実になるという利点がある。
【0026】
本発明の別の関連態様は、期待パターンに関するトレーニングが、各カメラに付随する機能内で、異なるモデルを類似パターンとして異なるカメラ相互間で利用することを含むような方法を提供する。こうすることにより、例えば姿勢、視角および/または障害物により、異なるカメラが各パターンを結像する様式が変更される場合に、それらのパターンの検出が容易になる。
【0027】
本発明の諸関連態様は、モデリングされた各パターンの基準点(または原点)の選択をトレーニングすることを含むような方法を提供する。そのようなトレーニングは、それらの基準点(または原点)が、それらの異なるカメラによって得られた画像相互間で一致することを確実にするために、例えばオペレータの手で、例えばレーザーポインタまたはその他の手段を使用して達成することができる。
【0028】
本発明の諸関連態様は、トレーニングステップが、パターンの位置を、例えば実行時段階(runtime phase)中に実施されるものに類似の三角測量法を利用することによって識別することを含むような方法を提供する。あるいは、パターンの期待(相対)位置を、オペレータの手で入力する、かつ/または他の測定法によって識別することもできる。
【0029】
本発明の別の関連態様は、トレーニングステップが、1台(または複数台)のカメラからの画像内にある期待パターンを、別のカメラからの画像内にあるそのパターンの以前の特定に基づいて検出することを含むような方法を提供する。したがって、トレーニングステップは、例えばオペレータが1台のカメラから撮影された画像内にある期待パターンを特定した後、残りのカメラからの画像内にあるその同じパターンを自動的に検出することを含むことができる。
【0030】
本発明の別の態様は、トレーニングステップが、カメラごとに物体の複数のビューを、好ましくはそうした物体上に見られるパターンの原点が一貫して定義されるように取得する、上述の方法を提供する。画像間の潜在的な不一致を補償するために、パターンに関して最高一致得点(マッチスコア)をもたらすものを使用することができる。これには、任意の姿勢の対象部品を検出するように、方法をよりロバストにするという利点がある。
【0031】
本発明の別の態様では、実行時ステップ(runtime step)が、実行時画像(runtime image)内にあるパターンのうち1つまたは複数の位置を、例えばパターンマッチングまたは他の2次元ビジョンツールを使用して、また、それぞれのカメラの視野内にあるそれらのパターンのピクセル単位での位置を、それらのパターンが上にある前述の3D光線に相関付けるように較正段階中に識別されたマッピングを使用して、三角測量することを含む。
【0032】
本発明の諸関連態様によれば、パターン位置の三角測量は、例えば所与のパターンの位置が、そのパターンが上にある(複数台のカメラからの)複数本の3D光線が交差する点(または最小二乗適合点)から求められる場合のような、「直接的」三角測量によるものとすることができる。あるいは、またはそれに加えて、三角測量は、所与のパターンの位置が、そのパターンが上にある1本の光線(または複数本の光線)からだけではなく、(i)残りのパターンが上にある光線、および(ii)(例えばトレーニング段階中に求められる)それらのパターン相互の相対位置からも求められる場合のような、「間接的」でもよい。
【0033】
本発明の他の態様は、カメラに付随する機能が、トレーニングまたは実行時中に物体の画像内に期待パターンを検出することができない場合に、例えばそのようなパターンが欠如している、隠されている、または検出されない場合に「タイムアウト」し、それによって、位置特定の際に過度の遅延を回避する、上述の方法を提供する。
【0034】
本発明の別の態様は、上述の方法に類似し、IDマトリックスコード(あるいはその外観および/または位置が予め定義されたまたは既知の他のパターン)が上記で論じたパターンの代わりに使用される。本発明のこれらの態様では、トレーニングステップが不要になる、または低減される。その代わりに、3D位置にマッピングするために、そうしたコード(または他のパターン)の2D位置を、例えば一般的なタイプの特徴に合わせて設計されたビジョンツールによって、トレーニング段階または実行時の画像から識別することができる。
【0035】
本発明の別の態様は、上述の方法に類似し、IDマトリックスコード(あるいはその外観および/または位置が予め定義されたまたは既知の他のパターン)が上記で論じたパターンの代わりに使用される。本発明のこれらの態様では、トレーニングステップが不要になる、または低減される。その代わりに、3D位置にマッピングするために、そうしたコード(または他のパターン)の2D位置を、例えば一般的なタイプの特徴に合わせて設計されたビジョンツールによって、トレーニング段階または実行時の画像から識別することができる。
【0036】
本発明の他の態様は、例えばデジタル処理機能およびカメラを含み、上記の方法に従って動作する、マシンビジョンシステムを提供する。本発明のこれらの態様および他の態様は、図面中および以下の説明において明白である。
【0037】
本発明の別の関連態様は、物体の検査により、例えばその一部分の相対位置を求めて、妥当性検証することが可能になるような方法および装置を提供する。そのような方法および装置を、非限定的な例として、例えば組立て、品質管理、保守、または他の作業中に、検査および評価を支援するために使用することができる。
【0038】
本発明の別の関連態様は、物体の部品(または他の部分)の欠如、または不適切な配置を、(例えばその部品/部分に関連する)1つまたは複数の期待パターンが実行時画像から欠如している場合、またはそうした画像内ではあるが、期待されないまたは望ましくない3D位置に位置するピクセル位置にある場合に、推論するような方法および装置を提供する。
【0039】
本発明の別の関連態様は、実行時ステップ中に、物体の部品または他の部分の位置が、実行時画像内に見られるパターンに対応する3D位置のサブセットに基づいて求められ、その3D位置が、さらに別のパターンの期待位置を求めるのに使用されるような方法および装置を提供する。そうした別のパターンの期待位置は、例えば実行時画像から求められるその実際の3D位置と比較することができる。比較において特定された位置の差が指定の許容差を超える場合、システムは適切な通知を(例えばオペレータに対して)生成することができる。
【0040】
本発明によるシステムおよび方法の利点は、それらが従来技術のシステムの手法よりも使用しやすく、より実用的であり、しかもビジョンベースであり、したがって検査を受ける物体との接触または検査を受ける物体の事前準備を必要としないことである。(本発明による)そのようなシステムおよび方法は、容易にセットアップし、次いで「ショーアンドゴー(show‐and‐go)」を使用してトレーニングすることができる。
【0041】
さらにそれらは、例えば欠如している結果および間違った結果に対して、迅速な性能およびロバストネスを提供する。したがって、例えば本発明の諸態様による方法および装置は、いくつかのパターンが、例えばパターンが1台または複数台のカメラによるビューから隠されているため、またはそれらのパターンの画像を適時取得することができないため、いくつかの(また、いくつかの状況下では、いずれの)実行時画像の中に見られなくても、物体の姿勢を求めることができる。別の例として、本発明の諸態様による方法および装置は、(例えば位置合せ不良のカメラによって生じる)間違った結果に対して、実行時画像内に見られるパターンに対応する3D位置のサブセットを使用した三角測量をすることによってロバストネスを提供する。サブセットの1つが、より低い二乗和誤差(sum‐squared error)をもたらす場合、すべてのパターンではなくそのサブセットを、位置三角測量に使用することができる。
【0042】
少なくとも幾つかの実施形態は、少なくとも第1のカメラと第2のカメラとを含み、それぞれ異なる軌跡に沿って配置された視野を有する、複数のカメラを備えた3D画像化システムにおいて関心領域を特定する方法において、(イ)前記複数のカメラの各視野内における所定の場所に位置するように対象部品を配置する工程と;(ロ)前記複数のカメラの各視野の範囲内における関心領域を前記対象部品上に表示する工程と;前記複数のカメラのそれぞれについて、(ハ)前記関心領域を含む前記対象部品の少なくとも1つの画像を取得する工程と;(ニ)取得した前記少なくとも1つの画像における前記関心領域と関連付けされた前記カメラの視野内のカメラ固有の関心フィールドを識別する工程と;(ホ)前記カメラ固有の関心フィールドを後の使用に供するために保存する工程と;を順次有することを特徴とする、複数のカメラを備えた3D画像化システムにおいて関心領域を特定する方法、を提供する。
【0043】
幾つかの実施形態において、前記複数のカメラそれぞれの視野内において、関心領域を前記対象部品上に表示する前記(ロ)工程において、前記関心領域を画定するための少なくとも3つの点を前記対象部品上に表示する。幾つかの実施形態において、前記関心領域を画定する少なくとも3つの点を表示する際に、レーザー装置を用いて該少なくとも3つの点を1つずつ逐次的に表示させたうえで、前記少なくとも1つの画像を取得する工程において、前記少なくとも3つの点のそれぞれについて独立の画像を取得する。幾つかの実施形態において、前記カメラ固有の関心フィールドを識別する前記(ニ)工程において、複数の取得した画像を用いて前記関心フィールドを識別する。
【0044】
幾つかのケースでは、前記方法は、前記少なくとも3つの点の各点に対して、該各点が各カメラによって取得された少なくとも1つの画像において識別された時点を判定して、当該時点を表示する工程を有している。幾つかのケースでは、前記少なくとも3つの点の各点が少なくとも1つの他のカメラによって取得された少なくとも1つの他の画像において識別されない間に該各点が前記少なくとも1つのカメラによって取得された前記少なくとも1つの画像において識別された時点を判定する。
【0045】
幾つかの実施形態において、前記関心領域を前記対象部品上に表示する工程において、レーザー装置を用いて該対象部品の少なくとも一部分をレーザービームで照明して該関心領域を該対象部品の表面上に表示する。幾つかの実施形態において、前記レーザー装置に設けられたボタンを選択すると、前記対象部品において現在照明されている一部分が少なくとも複数の関心領域定義情報に対応することを表示するとともに、前記ボタンを選択した瞬間における前記対象部品の複数の画像を解析して該対象部品において前記現在照明されている一部分と関連付けされた位置情報を取得すべきことを前記レーザー装置に指示させ、かつ、前記画像を解析すべきとの前記レーザー装置からの指示があるかどうかをモニタする。
【0046】
幾つかのケースでは、前記レーザー装置を、前記ボタンが選択されると前記対象部品上に照明した前記レーザービームの外形を変化させるようにプログラムし、かつ、前記レーザー装置からの指示があるかどうかをモニタする工程において、前記複数のカメラによって取得した複数の画像を解析して、前記対象部品上に照射した前記レーザービームの外形における変化を識別する。幾つかのケースでは、カメラ固有の関心フィールドが前記複数のカメラのそれぞれについて識別された時点を示すフィードバックを前記システムユーザに提供する。幾つかのケースでは、前記少なくとも1つの画像を取得する工程において、複数の画像を高速連写で取得し、かつ、前記少なくとも3つの点を表示する工程において、レーザー装置を用いて、前記少なくとも3つの点を個別的に照明する。幾つかのケースでは、前記少なくとも3つの点を表示する工程において、各点について、前記レーザー装置が前記点を照明している間に、前記照明された位置が、前記関心領域を定義する前記少なくとも点の一つであることを表示する。
【0047】
幾つかの実施形態は、少なくとも第1のカメラと第2のカメラとを含む、それぞれ異なる軌跡に沿って配置された視野を有する複数のカメラを備えた3D画像化システムにおいて関心領域を特定する方法において、(イ)前記複数のカメラの視野内の場所に位置するように対象部品を配置する工程と;(ロ)レーザー装置を用いて、前記対象部品上に関心領域を定義する複数の点を逐次的かつ個別的に表示する工程と;前記複数のカメラのそれぞれについて、(ハ)前記複数の点を前記対象部品上に表示している間に、前記関心領域を含む前記対象部品の複数の画像を取得する工程と;(ニ)これら複数の画像における前記複数の点を用いて、各カメラについて、前記関心領域に対応する前記視野における関心領域を識別する工程と;(ホ)前記視野内における関心領域をカメラ固有の関心フィールドとして保存する工程と;を有することを特徴とする方法を提供する。
【0048】
他の実施形態は、関心領域を対象部品上に表示する3次元マシンビジョンシステムをトレーニングして、カメラ固有の関心フィールドを定義するためのシステムにおいて、(イ)複数のカメラとであって、前記関心領域が前記カメラの前記視野内に存在するように視野を有しかつカメラ固有の軌跡に沿って配置されたカメラであって、前記カメラの視野内における前記部品の複数の画像を取得するカメラからなる複数のカメラと;(ロ)各カメラに対して、(i)複数の画像を受信し、(ii)前記受信した複数の画像の少なくとも1つを用いて、前記関心領域と関連付けされた前記画像を生成するのに用いた前記カメラの視野の一部分を、関心領域であると識別して、(iii)前記関心領域と関連付けされた前記関心領域を、カメラ固有の関心領域として保存するようにプログラムされた、マシンビジョンプロセッサと;を有していることを特徴とするシステムを提供する。
【0049】
幾つかのケースでは、前記システムには、レーザービームを前記対象部品に照射して前記関心領域を該対象部品上に表示するレーザーポインタ装置が設けられている。幾つかのケースでは、前記レーザーポインタ装置には、ボタンが設けられていて、このボタンを選択すると、前記部品の現在照明されている一部分が、少なくともいくつかの関心領域定義情報に対応することが示されるとともに、前記ボタンが選択された瞬間における前記部品の複数の画像を解析して前記部品の前記現在照明された一部分と関連付けされた位置情報を取得すべきことが示されるものとされ、かつ、前記マシンビジョンプロセッサが、前記画像を解析すべきとの前記レーザーポインタ装置からの指示があるかどうかをモニタする工程を実行するようにプログラムされている。幾つかのケースでは、前記レーザーポインタ装置が、前記ボタンが選択されると、前記部品上の前記照明ビームの前記外的形状を変化させるようにプログラムされ、かつ、前記マシンビジョンプロセッサが、前記レーザーポインタ装置からの表示の有無をモニタする工程において、カメラ画像を解析して、前記部品上の前記照明ビームの前記外的形状の変化を識別するようにプログラムされている。幾つかのケースでは、前記レーザーポインタ装置には、前記ボタンが選択されると信号を送信する送信機が設けられている。
【0050】
本発明のより完全な理解は、図面を参照することで得ることができる。
【図面の簡単な説明】
【0051】
【図1】本発明を実施するように構成されたデジタルデータ処理装置を示した図である。
【図2】本発明に係るシステムの動作を説明したフローチャートである。
【図3】本発明に係るシステムのキャリブレーションを示した図である。
【図4】本発明に係るシステムのトレーニングおよび/または実行時動作を説明した図である。
【図5】3D画像化システムにおける複数のカメラのための互いに区別された関心フィールドをトレーニングするための方法を説明したフローチャートである。
【発明を実施するための形態】
【0052】
図1は、同一物体について撮像した複数画像から収集したデータに対して三角測量を行うことによって、当該物体(object)12の姿勢を3次元で求めることができる、本発明に係るマシンビジョンシステム10を示したものである。ここに示された実施形態においては、姿勢(pose)とは、3D空間における物体の位置(position)および向き(orientation)として定義され、より具体的には、「x軸14、y軸16およびz軸18に沿った物体の位置ならびに各軸に対する物体のピッチ、ロールおよびヨー」として定義される。他の実施形態では、姿勢をこれらの空間的特性のサブセット(例えば、軸16に沿った位置およびヨー、軸14〜18に沿った位置、ロールなど)に限定することができる。図示の軸14〜18は、ビジョンシステム10のフレーム20に位置合せされているが、他の実施形態では、他の基準系を使用することができる。図示した実施形態のフレーム20は、太線で示すカメラマウント20aおよびプラットフォーム20bによって例示されているが、他の実施形態では、他の部材を使用する必要があることもあり、またはそのような部材を使用する必要がないこともあろう。
【0053】
マシンビジョンシステム10は、さらに、デジタルデータ処理装置 22と画像取得装置 24とが設けられている。デジタルデータ処理装置22は、ここでは、単純化のため、iMac(登録商標)G5パーソナルコンピュータとして記載されているが、メインフレームコンピュータであってもよく、ワークステーション、パソコン(例えば、Windows(登録商標)/Intel Pentium(登録商標)4プラットフォームまたはその他のプラットフォーム)、専用のビジョンコンピュータ、組込みプロセッサ または特許製品、オープンソース製品その他のオペレーティングシステムで動作する各種デジタルデータ処理装置あるいはここに記載された教示内容に従って動作するようにプログラムされたまたは構成された装置であって、画像取得装置24が提供した複数画像から物体12の姿勢を求める装置であってもよい。デジタルデータ処理装置は、図に示すように、ディスプレイ22a、キーボード22b、マウス22cおよびその他の入出力装置など、技術分野において公知のものを有してもよい。
【0054】
画像取得装置24は、マシンビジョンカメラでも、ビデオカメラでも、静止画撮影用スチルカメラでも、物体12の画像を可視または他の関連するスペクトルにおいて取得することができる他の装置であってもよい。一般性を害することなく、以下の記述においては、画像取得装置24は一般に、「カメラ」とよぶことにするが、実際には、カメラは任意の画像取得機能を有する要素で構成されてもよい。
【0055】
記載された実施形態においては、このような画像取得装置24が3台図示されているが、実際には、任意の複数台の装置(例えば2台以上)を使用することができる。これらの画像取得装置は、物体12の画像を、それぞれの異なる視点から取得するように配設されている。いくつかの実施形態では、検査対象たる物体の3次元姿勢を、単一のかかる画像取得装置24によって得られた画像を用いて求めることもでき、したがってあらゆる実施形態が複数台のカメラからの画像を必要とするとは限らないことは、当業者において明らかであろう。
【0056】
デジタルデータ処理装置22は、本明細書の教示に従って動作するようにプログラムされているが、当技術分野で既知のタイプの、中央処理装置(CPU)、メモリ(RAM)、および入力/出力(I/O)機能をさらに有している。
【0057】
具体的には、記載された実施形態においては、これらは図2に示す方法に従って3Dマシンビジョンを実現するように構成されている。図2では、較正ステップ30において、複数台のカメラ24がそれぞれ、そのカメラのレンズから発せられかつそのカメラの視野内のピクセル位置に対応する3D空間内の光線を特定する、それぞれのマッピング関数を識別するように較正(調節)される。
【0058】
図3を参照すると、この点に関して、較正ステップは、(例えば較正プレート40その他の手段上の照準、十字線などの)各登録対象を、3D空間内の既知の各位置に配置すること、およびそれらの位置と、各カメラの視野内にあるそれぞれの登録対象のピクセル単位での位置との相関関係を記録する、または例えばアルゴリズム的に特徴付けることを含む。好ましくは、このマッピングには、それぞれのカメラ24の視野内の歪みが考慮される。
【0059】
記載された実施形態においては、登録対象、較正プレート40などを使用して、複数台のカメラ24を同時に、例えば同時結像によって較正する。したがって、一例として、操作者が画像取得装置24のうち2台以上の視野内に登録対象を配置して、それらがその登録対象を、較正目的で同時に結像することができる。
【0060】
較正プレート40などが較正に使用される場合、それは、好ましくはフィデューシャル(fiducial)41(例えば、一様なチェッカーボードパターンとは異なる一意のパターン)を原点のところに示し、したがってすべての画像取得装置24を、特定の向きを有する同じ一意の基準点に対して較正することができる。装置24を一貫してそのように較正することによって、それらをすべて使用して、その画像座標(例えばパターン原点のピクセル単位での位置)から共通の基準点またはフレームに対してマッピングすることができる。そのような好ましいフィデューシャルは、図面中のL字形フィデューシャルの場合と同様に、非対称である。
【0061】
かかる較正(キャリブレーション)のための背景的な方法および装置は、限定する趣旨でない例示として、米国特許第6,748,104号(発明の名称『単一および複数の テンプレートまたは パターンを用いたマシンビジョン検査装置およびその方法』)、米国特許第6,639,624号(発明の名称『有鉛部品の検査のためのマシンビジョン方法』)、米国特許第6,301,396号(発明の名称『カメラ‐可動物体間のキャリブレーション関係を判定するための非フィードバック型マシンビジョン方法』)、米国特許第6,137,893号(発明の名称『マシンビジョンキャリブレーションターゲットおよび画像内におけるターゲット位置・方向を判定する方法』)、米国特許第5,978,521号(発明の名称『共通の物体を撮像する複数のカメラのキャリブレーション位置を判定するためのマシンビジョン方法』)、米国特許第5,978,080号(発明の名称『フィードバックにより視野の方向、ピクセル幅およびピクセル高を判定するマシンビジョン方法』)、米国特許第5,960,125号(発明の名称『カメラ‐可動物体間のキャリブレーション関係を判定する非フィードバック型マシンビジョン方法』)、米国特許第6,856,698号(発明の名称『高速高精度多次元パターン位置測定』)、米国特許第6,850,646号(発明の名称『高速高精度多次元パターン検査』)および米国特許第6,658,145号(発明の名称『高速高精度多次元パターン検査』)などに教示されているところである。これらの教示内容はすべて参照により本明細書に編入されるものとする。最後の3つの特許文献に記載された方法および装置は、本明細書では、「PatMax」の名称でよぶことにする。
【0062】
任意選択のトレーニングステップ32では、それぞれのカメラ24に付随するモジュール(例えばコードシーケンス、サブルーチン、関数、オブジェクト、他のデータ構造および/または関連ソフトウェア、あるいは他の機能)を、実行時中に取得すべき物体12の画像内にある期待パターンを認識するようにトレーニングする。期待パターンは、文字、数字、他の記号(登録対象など)、隅部、または物体12の実行時画像内で識別可能であることが予想される(暗点や光点など)他の特徴であり、例えば、測定法および検索/検出モデルがそれに関して当技術分野で既知のものとすることができる。これらのパターンは、恒久的に物体の一部分をなすものでも、物体に添付されるものでもよい。しかし、それらのパターンは、例えば取外し可能な較正目標の場合、一時的でもよい。実際には、それらのパターンは、物体に物理的に関連付けられることさえ不要である。例えば、それらのパターンを、トレーニング段階および/または実行時段階中に結像される物体上に、例えばレーザーまたは他の装置によって、光学的にまたは他の手段で投影することができる。
【0063】
各カメラ24と関連付けされたモジュールまたは他の機能を、パターンを認識するようにトレーニングすることに加えて、図示の実施形態のトレーニングステップ32は、それらをモデル点位置、すなわち、実行時中に検査される物体上にあるパターンの例えば相互の(すなわち3D空間内での)期待位置に関してトレーニングすることを含む。これは、例えば、実行時段階中に実施されるものに類似の三角測量法を利用することによるものとすることができる。あるいは、それらのパターンの期待(相対)位置を、オペレータの手で入力する、かつ/または他の測定法(例えば、ルーラ、キャリパ、光学的距離ゲージなど)によって識別することもできる。
【0064】
三角測量が使用されるか、それとも他の方法が使用されるかに関わらず、トレーニングステップ32は、好ましくは、各カメラ24に付随するモジュールまたは他の機能を、そのようなトレーニングされるパターンそれぞれの基準点(または「原点」)に関してトレーニングすることを含む。2台以上のカメラの視野内に出現することが期待されるパターンの場合、そのような基準点に関するトレーニングによって、3D空間内でのそれらのパターンおよび/または物体の位置を、直接的および間接的に三角測量することが容易になる。
【0065】
記載された実施形態においては、そのようなトレーニングは、類似モデル(例えば「PatMax」など)を、異なるカメラ24相互間で類似期待パターンをトレーニングするのに使用することによって達成することができる。これには、実行時に検出されたパターンに関する基準点(または原点)が、それらの異なるカメラによって得られる画像相互間で一致することが確実になるという利点がある。
【0066】
姿勢、視角および/または障害物により、異なるカメラ24が類似パターンを見る見方が変わる場合、そのようなトレーニングには、異なるカメラ相互間で異なるモデルを(類似パターンとして)利用することを含むことができる。モデルが異なれば、類似パターンに関して異なる基準点が特定される傾向があり得るので、記載された実施形態においては、類似パターンに関する類似基準点の選択を、操作者がトレーニングすることが可能である。
【0067】
これは、一例として、トレーニングステップ32中に、(ステップ34において検索するためのテンプレートとして使用すべき)パターンの画像を複数台のカメラ24から同時に取得し、次いでレーザーポインタで物体を照らすことによって達成することができる。レーザー照射を用いて取得された画像から、レーザー点の3D位置を計算し、それによって、パターンのすべての画像上で一致する原点を定義することができる。(ここでは、異なるモデルをパターントレーニングに使用することに関して説明しているが、この技法は、類似モデルが使用される場合にも適用することができる)。この目的のために、余分なレーザーポインタ点がある、またはない画像を使用して、autoThresholdingおよびブロブ(blob)解析を実行することによって、すべての画像内でその点の中央を検出し、それによって一貫性のある一致した原点を求めることができる。本明細書の別の場所で論じるように、この点の3D位置を得るために三角測量を使用することができ、それによってこの技法を、(トレーニング中の)物体上にある複数パターンに、例えば物体が移動しないことを条件として使用することが可能になる。
【0068】
これは、一例として、トレーニングステップ32中に、(ステップ34において検索するためのテンプレートとして使用すべき)パターンの画像を複数台のカメラ24から同時に取得し、次いでレーザーポインタで物体を照らすことによって達成することができる。レーザー照射を用いて取得された画像から、レーザー点の3D位置を計算し、それによって、パターンのすべての画像上で一致する原点を定義することができる。(ここでは、異なるモデルをパターントレーニングに使用することに関して説明しているが、この技法は、類似モデルが使用される場合にも適用することができる)。この目的のために、余分なレーザーポインタ点がある、またはない画像を使用して、autoThresholdingおよびブロブ(blob)解析を実行することによって、すべての画像内でその点の中央を検出し、それによって一貫性のある一致した原点を求めることができる。本明細書の別の場所で論じるように、この点の3D位置を得るために三角測量を使用することができ、それによってこの技法を、(トレーニング中の)物体上にある複数パターンに、例えば物体が移動しないことを条件として使用することが可能になる。
【0069】
本発明の好ましい一実施によれば、トレーニングステップ32は、1台(または複数台)のカメラ24からの画像内にある期待パターンを、別のカメラからの画像内にあるそのパターンの以前の特定に基づいて検出することを含む。したがって、トレーニングステップは、例えばオペレータが1台のカメラから撮影された画像内にある期待パターンを特定した後、残りのカメラからの画像内にあるその同じパターンを自動的に検出することを含むことができる。
【0070】
好ましい実施形態では、ステップ32は、カメラ24ごとに物体の複数のビューを、好ましくはそうした物体上に見られるパターンの原点が一貫して定義されるように取得することを含む。画像間の潜在的な不一致を補償するために、パターンに関して最高一致得点(マッチスコア)をもたらすものを使用することができる。これには、任意の姿勢の部品を検出するように、方法をよりロバストにするという利点がある。
【0071】
上述したように、トレーニングステップ32は任意選択である。本発明のいくつかの実施形態では、トレーニングステップ32は、キャパシティを下げた状態で使用され、または全く使用されないことも考えられる。例えば、実行時に期待されるパターンがblobモデル(例えば明るい特徴を探すもの)によって検索できる場合、パターントレーニングは必要ないが、上述のタイプの位置トレーニングが依然として使用される。そうしたことは、さらなる例として、IDマトリックスコードであるパターン(あるいはその外観および/または位置が予め定義されたまたは既知の他のパターン)が、上記で論じたトレーニング可能なパターンの代わりに使用される場合にも当てはまる。この場合、3D位置にマッピングするために、そうしたコード(または他のパターン)の2D位置が、例えば一般的なタイプの特徴に合わせて設計されたビジョンツールによって、トレーニング段階または実行時の画像から識別される。本発明のそうした実装形態は有用である。というのも、工業用部品はつねにIDマトリックスコードを有することができ、それによって複数のトレーニングレスセンサが、IDマトリックスコードの3D位置を出力することができるためである。さらに、IDマトリックスコードは矩形領域に広がるので、そうしたセンサはすべて、4隅の2D位置を出力することができる。さらに、IDマトリックスが特定の工程を用いて印刷される場合、(コードのサイズ/タイプを知ることにより)その3D位置を知り、3D姿勢を計算することができる。
【0072】
実行時ステップ34では、デジタルデータ処理装置22が、物体12上にあるパターン42a〜42cのうちの1つまたは複数の3D空間内の位置を、物体12の実行時画像内にあるそれらのパターンを表すピクセル単位での位置に基づいて、また較正ステップ30中に識別されたマッピングから三角測量する。記載された実施形態においては、物体12のそれらの実行時画像が、好ましくは同時に、または実質的に同時に、画像取得装置24によって取得される。この点に関して、実質的に同時にとは、物体12、画像取得装置24、フレーム20、またはその他のものの動きが、実行時画像内のパターンのピクセル単位での位置、および/またはそこから求められるマッピングに実質的に影響を及ぼさないほど、画像取得がほぼ時間的に迫って行われることを指す。そのような同時取得は、カメラ24を同時に(またはほぼそのように)作動させることによって、あるいは、例えばカメラ24のシャッタが開いている間に、結像された物体をストロボ照射することを含む他の手段によって達成することができる。
【0073】
記載された実施形態においては、位置三角測量が、パターンマッチングまたは他の2次元ビジョンツールを使用して、実行時画像内にあるパターンのピクセルに関する位置を識別することによって、また、それぞれのカメラ24の視野内にあるそれらのパターンのピクセルに関する位置を、それらのパターンが上にある前述の3D光線に相関付けるように較正段階中に識別されたマッピングを使用することによって達成される。
【0074】
2次元ビジョンツールを用いた例としては、前述した、本明細書に参照により編入された、米国特許第6,748,104号、米国特許第6,639,624号、米国特許第6,301,396号、米国特許第6,137,893号、米国特許第5,978,521号、米国特許第5,978,080号、米国特許第5,960,125号、米国特許第6,856,698号、米国特許第6,850,646号および米国特許第6,658,145号である。
【0075】
パターン位置の三角測量は、例えば所与のパターンの位置が、そのパターンが上にある(複数台のカメラからの)複数本の3D光線が交差する点から求められる場合のような、「直接的」三角測量によるものとすることができる。代替的には、またはそれに加えて、三角測量は、所与のパターンの位置が、そのパターンが上にある1本の光線(または複数本の光線)からだけでなく、(i)残りのパターンが上にある光線、および(ii)結像された物体上にある(例えばトレーニング段階中に求められる)それらのパターン相互の相対位置からも求められる場合のような、「間接的」であってもよい。
【0076】
記載された実施形態においては、1つまたは複数のパターンが上にあるように見える(複数台のカメラ24からの)複数本の3D光線相互間または複数本の3D光線の中で交差(または最寄りの交差)点を検出するために、直接的および/または間接的三角測量で「最小二乗適合(least squares fit)」または他のそうした方法を利用することができる。例えば、2台以上のカメラ24から取得された画像が、所与のパターン(より正確にはそのパターンの見かけ上の原点)が2本以上の光線上にあることを示す場合、最小二乗適合法を使用して、3D空間内でのそれらの光線の交差位置、またはそこに最寄りの点(すなわち、それらの光線の最寄りにある空間内の点)を求めることができる。同様に、カメラ24からの画像が、複数光線上にある複数パターンに関する原点を示す場合、物体上にあるそれらのパターンのモデル点を用いて最小二乗適合を使用することによって、それらのパターンおよび/または物体自体の最尤な位置を求めることができる。
【0077】
図示の実施形態は、光線とパターンの最小二乗(または二乗平均平方根)適合を見つけ出すために、オプティマイザ(または「ソルバ(solver)」)を利用する。これは、当技術分野で入手可能なタイプの汎用ツールであり、かつ/または以下に詳述するように動作することができるものであればよい。いずれにせよ、実行時ステップ34中に、実行時画像から特定されたパターン(より正確にはパターン原点)が上にある3D光線の定義、ならびに(関連のある場合)物体上にある各パターンの位置または相対位置がソルバに供給される。
【0078】
一般に、この情報により、過度に制約が加えられた(over‐constrained)システムが定義され(すなわち、実際の位置を推論するために必要であるよりも多くの情報が、光線の定義および物体上の相対パターン位置によって供給されるということ)、図示のシステムはそれを、ロバスト性を目的として利用する。したがって例えば、実行時ステップ34は、(例えばパターンが1つまたは複数のカメラのビューから隠されている場合、あるいはパターン画像の適時取得を可能にしない照明または他の状況の場合のように)例えばパターンが物体またはその実行時画像から欠如している場合でさえ、物体の姿勢を求めることができる。また、さらなる例として、実行時ステップ34は、光線とモデル点、または光線の三角測量との間の適合の二乗平均平方根(RMS)誤差を最小限に抑えるために、取得装置24によって検出されたパターン原点のサブセット(より正確には、パターン原点に対応する位置のサブセット)を試用することを含むことができる。サブセットの1つに、より低い二乗和誤差がある場合、すべてのパターン原点ではなくそのサブセットを、位置三角測量に使用することができる。
【0079】
一般に、この情報により、過度に制約が加えられたシステムが定義され(すなわち、実際の位置を推論するために必要であるよりも多くの情報が、光線の定義および物体上の相対パターン位置によって供給されるということ)、図示のシステムはそれを、ロバスト性を目的として利用する。したがって例えば、実行時ステップ34は、例えばいくつかのパターンが(例えば、あるパターンの位置を、残りの検出されたパターンにより予測される位置と比較することによって検査/妥当性検証するように)考慮から意図的に除外される場合でさえ、物体の姿勢を求めることができる。
【0080】
また、さらなる例として、実行時ステップ34は、光線とモデル点、または光線の三角測量との間の適合の二乗平均平方根(RMS)誤差を最小限に抑えるために、取得装置24によって検出されたパターン原点のサブセット(より正確には、パターン原点に対応する位置のサブセット)を試用することを含むことができる。次いで、このステップは、サブセット内に含まれなかった(すなわち、上述のように意図的に除外された)パターンの3D位置を外挿して、それぞれのカメラ内での2D画像位置を予測することができる。予測された画像位置は、実際の測定された画像位置と比較することができる。予測された画像位置と実際の測定された画像位置との間の距離が、何らかのユーザ指定の距離許容差を超える場合、システムは適切な警告または他の通知を生成することができる。あるいは、またはそれに加えて、除外されたパターンの外挿された3D位置を、三角測量によって求められた3D位置に対して比較することができる。この場合もやはり、外挿された(予測された)位置と実際の位置との間の距離が異なる場合、実行時ステップ34は、適切な警告または他の通知を生成することを含むことができる。
【0081】
トレーニング段階と実行時段階のどちらの間でも、パターン認識の速度を向上させるために、図示の実施形態は、1つのパターンの検出された位置を利用して、残りのパターンに対する検索の自由度を制限することができる。例えば、第1のカメラ24がパターンを15度で検出し、別のカメラが第1のカメラとほぼ同じ向きである場合、別のカメラは、パターンを向き15±10度で探すだけでよい。さらに、1台のカメラから原点の位置が与えられると、その原点が、ある3D光線に沿って存在することが分かり、それによってその光線を第2のカメラの視野上に投影し、その線に沿ってパターンを探すだけでよい。
【0082】
2つのパターンが混同しやすい(すなわち、カメラの視野内にあるパターンに類似する2つの事例がある)場合、図示の実施形態は、可能な異なる対応関係をすべて試行することができる。例えば、前述したとおり参照により編入されたところの米国特許第6,856,698号(発明の名称『高速高精度多次元パターン位置測定』)、米国特許第6,850,646号(発明の名称『高速高精度多次元パターン検査』)、および米国特許第6,658,145号(発明の名称『高速高精度多次元パターン検査』)に記載された技術を用いて、(POST−IT(登録商標)Notesラベルからの)文字シーケンス「P」、「ST」、「It」および「Notes」などのパターンはどれも異なり、したがってマッチ(一致)が見られる場合、それが正しいマッチであると分かる。
【0083】
代替的には、「ブロブ(blob)」解析として知られるマシンビジョンツールを使用して、パターンを(例えばそれが暗い穴である場合に)検出することができる。この場合、blob#1が3Dモデル点1に対応し、blob#2が3Dモデル点2に対応するなどと仮定することができる。それが機能しない場合、解析は、blob#2が3Dモデル点#2に対応し、blob#1が3Dモデル点#1に対応するという次の仮定に移ることができる。
【0084】
記載された実施形態の三角測量プロセスのより完全な理解は、以下の議論から理解されることができる。
【0085】
n本の3D光線と交差するために(すなわち、n本の3D光線までの二乗和距離を最小限に抑える点を見つけ出すために)、まず、各光線を2つの別々の直交平面とみなす(なぜなら、ある点からある光線までの二乗距離は、その点からその光線を交差する2つの直交面までの二乗距離の和であるからである)。これは、以下のC++コードによって例示される。
【0086】
【表1−1】

【0087】
【表1−2】

【0088】
3D点を対応する3D光線上に最良にマッピングする姿勢に関して解くには、(Waterloo Maple社の一部門であるMaplesoftから市販されている、Maple math packageにおいて表現される)以下の式を使用すると言うことができる。
【0089】
この手法は、(x、y、zで表される)点pと(px、py、pz、pt)で表される平面との間の二乗和誤差を最小限に抑える、(変数a、b、c、d、tx、ty、tzによって表される)姿勢について解く。各3d光線が、そのような2つの平面の制約に対応することに留意されたい。この手法は、二乗和誤差を、代数誤差関数の係数を合計することによって計算する。次いで、この手法は、最適なa、b、c、d、tx、ty、tzについて、勾配降下を使用して解く。7つの変数(a、b、c、d、tx、ty、tz)があり、6自由度しかないので、aを1に設定し、変数がb、c、dである場合、bを1に設定し、変数がa、c、dである場合、cを1に設定し、変数がa、b、dである場合、およびdを1に設定し、変数がa、b、cである場合の4つの異なる場合について試行することに留意されたい。
【0090】
【表2】

【0091】
前述したことは、以下の内容を考慮するとさらに理解されよう。以下では、GenericPoly()が、関数の係数を抽出する関数である。したがって、関数がx*x+2*x*y+y*yである場合、その汎関数は、f0x2y0*x*x+f0x1y1*x*y+f0x0y2*y*y(ただしf0x2y0=1、f0x1y1=2、f0x0y2=1)である。GenericPoly()は、例えば非限定的な例としてwww.cs.unc.edu/〜geom/MARSから一般に無料で入手可能なMARS、すなわちMaple Matlab Resultant Solver Systemに含まれている。
【0092】
【表3】

【0093】
誤差関数は、単に導関数(weightMat*weightMat)ではなく、実際には(aに関して偏導関数を計算する場合)(a*a+b*b+c*c+d*d)*導関数(weightMat*weightMat)マイナス4*a*weightMat*weightMatであることに留意されたい(これは、unit*diff(eval
(genPoly[1]),a)−eval(genPoly[1])*4*a));)として記載される)。というのも、商に関する連鎖法則deriv(F(x)/G(x))==(G(x)*F(x)‐F(x)*G’(x))/(G(x)*G(x))のためである。
【0094】
この解析に関して、(偏導関数に関する連鎖法則の分母内の)分母の二乗は、分母(a*a+b*b+c*c+d*d)がすべての偏導関数d((a*a+b*b+c*c+d*d)∧2)/da=4*a*(a*a+b*b+c*c+d*d))に一律に適用されるので、無視できることに留意されたい。
【0095】
前述したことのさらなる例として、数値的勾配降下法で誤差関数ならびにその誤差関数の導関数を利用する。誤差関数の導関数は、数値的にまたはシンボリックに計算することができる。数値的に計算される導関数の場合、単に変数の1つを少量だけ変更し、次いで誤差関数を再計算し、そのようにして導関数を数値的に計算することができる。シンボリックに計算される導関数の場合、導関数に対応するシンボリック関数が必要であり、この場合にはシンボリック関数を、誤差関数を記述する代数式があるので使用し、シンボリック関数によってその代数誤差関数をシンボリックに微分することができる。
【0096】
図示の実施形態では、以下のように、Cデータ構造が、代数式用にすべての係数を保持する。
【0097】
【表4−1】

【0098】
【表4−2】

【0099】
図示の実施形態は、代数式の係数を増やす関数も利用する(そうした関数は、入力として、3D点(x、y、z)、およびpx、py、pz、ptによって特徴付けられる対応する平面をとる)。
【0100】
【表5】

【0101】
図示の実施形態は、所与の姿勢(a、b、c、d、tx、ty、tz)における誤差を計算する関数も利用する。ただし(a、b、c、d)は、3D回転(ロール、ピッチ、ヨー)の四元数表現であり、(tx、ty、tz)は並進運動である。
【0102】
【表6】

【0103】
図示の実施形態は、導関数を計算する関数も提供する。
【0104】
【表7−1】

【0105】
【表7−2】

【0106】
例えば、係数を増やす関数は、続く抜粋例と整合する形で表現することができる。この完全な関数は、本明細書の教示および提供されるMapleコードを考えれば明らかである。
【0107】
【表8】

【0108】
これは、fa...が係数であり、変数の名前が、各単項式の次数を符号化するような形で成立することに留意されたい。
【0109】
【表9】

【0110】
さらに、一般的なゼロ誤差関数fa0b0c0d0tx0ty0tz0=0fa0b0c0d0tx0ty0tz1=0から開始することに留意されたい。
【0111】
これに続いて、((x、y、z、px、py、pz、pt)によって特徴付けられる)点、平面の組ごとに、関数ptRayGenericPoly_addToVals()に対して呼出しが行われ、それが単項式の係数を累算して、和誤差関数に入れる。
【0112】
図2の任意選択のステップ36を参照すると、図示のシステム10は、例えばカメラのうち1台が較正後に寸動された場合に、位置合せからずれた画像取得装置24を再較正することができる。(この点に関して、図示の実施形態では、較正段階中に求められたマッピングを失わないようにするために、カメラ24が較正後に固定されたまま、かつ/または静止したままでであることが好ましくは意図されることが理解されよう。)これは、ステップ34において実施される位置三角測量中、また場合によってはステップ32において実施される位置三角測量中に検出することができる。この目的のためには、1台のカメラ24が画像を生成し、その画像内で、検査中の物体の実行時画像内に見られるパターンが、(例えばそのカメラに関する3D光線に対してマッピングされたときに)残りのカメラからの(例えばそれぞれの3D光線を使用してマッピングされたときの)画像と一致しない、かつ/または大幅に食い違うような位置にあるように見える場合、それらの残りのカメラからの画像を用いて求められたパターン位置を使用して、その1台のカメラを、ステップ30に関連して上述した同じ較正法を用いて再較正することができる。
【0113】
この点に関して、ステップ30において(ならびにステップ36において)求められるマッピングは、カメラ24が寸動された場合に一定のまま(というのも、これはレンズの作用に他ならず、また例えばレンズをCCD、CMOSまたは他のイメージセンサに対して定位置に接着することができるため)である、糸巻き型歪み(pincushioning)やその他の画像収差などのレンズ歪みと、カメラ24の作業空間に対する姿勢との、2つの別々の影響に分解できることが理解されよう。カメラが寸動された場合に変化するのは、後者、すなわち姿勢である。ステップ36では、レンズ歪みが一定のままであると仮定されるので、作業空間内でのカメラの姿勢に帰せられるマッピングの側面を、例えば較正プレートを必要とせずに、再計算することができる。
【0114】
図示のシステム10は、好ましくは、期待パターンが実行時段階34中に取得された画像内で検出されない場合に過度の遅延を回避する、「タイムアウト」機能を含む。この点に関して、システムは単に、(例えばオペレータまたは他の手段によって設定される)指定の遅延間隔内に検出されないパターンを未検出として取り扱い、残りの検出されたパターンに基づいて位置特定を続行する。これには、システム10を、欠如している特徴に対してよりロバストにし、その動作をより時宜にかなったものにするという利点がある。
【0115】
少なくともいくつかの実施形態において、特定のマシンビジョンプロセスは、検査または解析対象たる所定の対象部品について取得された複数の画像に属する1または複数の特定の領域を識別するシステムユーザによって最適化する必要があるか、最適化されることができる。例えば、第1の対象部品が検査対称となるケースでは、システムユーザは、パターンが当該カメラによって生成された複数の画像の左上四半分に現れるように関心対象たるパターンがつねにカメラの視野内に存在することを知ることができる。この場合、パターン認識プロセスを高速化するために、カメラプロセッサによって、取得された画像の左上四半分にパターン探索を局限することが最適であろう。ここで、第2のカメラが、第1のカメラと同時的に複数の瞬間におけるの第1の対象部品の複数の画像を取得する場合には、パターンは、第2のカメラの視野の右下四半分内につねに現れるであろう。これは、第2のカメラが生成した複数の画像を処理するプロセッサにとって、右下コーナーにパターン探索を限定することが最適であるようにするためである。同様に、システムが第3のカメラ、第4のカメラ等を有する場合には、パターン認識のための画像プロセスをカメラ複数画像の特定部分にのみ限定することが最適であろう。
【0116】
少なくともいくつかの実施形態において、以下のことが想定されている。すなわち、トレーニングプロセスの間において、ユーザは、「関心領域(AOI)トレーニングプロシージャ」を実行して、理想的対象部品が2台またはそれ以上のカメラの視野内に位置づけられるとともに、ユーザは、取得された複数画像において検証または解析すべき領域である関心領域を画定する複数の点を当該対象部品上に手動で識別するようにしてもよい。複数の画像は、2台またはそれ以上のカメラを用いて取得され、ユーザが選択した複数の点は、コンピュータのCPU/プロセッサ(図1参照)によって識別することができる。その後、プロセッサは、取得した複数画像における選択された複数の点の座標を保存して、各カメラに対して、当該関心領域(AOI;area of interest)に対応する独立の「関心フィールド」(FOI;field of interest)を個別に定義する。
【0117】
独立の複数の画像における複数の点が撮像対象部品上の同一の選択された複数の点に対応する一方、選択された点に対応する関心フィールド(すなわち複数画像における複数部分)は、各カメラによって異なる、なんとなれば、各カメラは対象部品および選択された点に対して異なる方向に向けられているからである。このように、例えば、4つの選択された点が第1のカメラをその視野が第1の軌跡に沿って配置された状態で用いて取得された画像における正方形を画定する。他方、同じ4つの点は、第2のカメラをその視野が第2の軌跡に沿って配置された状態で用いて生成された画像における矩形、台形または他の四辺形を画定してもよい。
【0118】
以上の説明から、以下の点が明らかであろう、すなわち、このAOIトレーニングプロシージャは、相対的に単純でありマルチカメラ構成の3Dシステムに属する各カメラを較正して1つの対象部品における厳密に同一な領域または区画を検証または解析することを確実にする。また、次の点が明らかであろう、すなわち、単一のAOIトレーニングプロシージャを実行してすべてのカメラにおけるカメラ固有の関心フィールドを同時的にトレーニングすることができる。
【0119】
また、試運転プロシージャの間に関心領域(AOI)を表示または指定するための複数の異なる方法が想定されている。例えば、幾つかのケースでは、システムユーザは、手動式レーザーポインタ80を用いて選択された点を、それら点を1つずつ対象部品12にあててもよい。ここで、第1の点がレーザーポインタを介して選択される一方、カメラは、同時画像を取得するように制御されることができる。
【0120】
少なくとも幾つかのケースにおいては、手動式レーザーポインタには、送信機およびボタンが設けられている。このボタンを選択すると、ポインタ送信機がコンピュータ22a(図1参照)に接続された受信機に、その瞬間に時間的に対応する複数の画像を検証してレーザー照明された点の複数の画像内における位置を識別すべきことを示す信号を送信する。他のケースにおいては、一連の取得された複数の画像内におけるレーザーのいくつかの挙動は、点が選択されたことをコンピュータプロセッサに対して示すものであってもよいであろう。例えば、ポインタ80は、オン状態でレーザービームを安定した状態で生成するように構成してもよく、レーザーポインタのボタンが選択されると2回点滅するようにしてもよいであろう。
【0121】
ここで、各カメラが一連の複数の画像を急激に連続する複数の瞬間において、AOIトレーニングプロシージャの間に取得する場合には、コンピュータプロセッサは、点滅照明された点を、当該点が選択されたことおよび関連付けされた複数の画像が検証されてレーザー照明された点の複数の画像内におけるロケーションを認識すべきことを示す兆候であると認識するようにプログラムされてもよい。さらに他のケースにおいて、ユーザは単純にキーボード22bからキーを選択して特定の瞬間における複数の画像を解析して各画像における照明された点の位置を識別すべきことを表示してもよい。
【0122】
次に、ユーザは、ポインタ80を用いて第2の領域定義点を選択して同時的に複数画像をカメラに取得させたのち、必要な第3の点の選択を行うなどしてもよい。ひとたび関心領域(AOI)を定義するのに必要なすべての点を含む複数の画像がキャプチャされたら、コンピュータプロセッサは、複数の関心フィールド(FOI)を独立のカメラに対して後の利用のために識別することができる。カメラ固有の複数の関心フィールド(FOI)が保存された後で、正常動作の間に、ある対象部品がその後撮像されたら、プロセッサは、特定のカメラに対して複数の画像における複数の関心フィールド(FOI)のみを解析してもよい。
【0123】
幾つかの実施形態においては、ユーザが4つの点を選択して概して直線的な関心領域(AOI)を定義することが必要であるが、他方、少なくとも幾つかの実施形態においては、ユーザの裁量により、より多くのまたなより少ない点を用いてもよく、それにより他のAOI形状を定義してもよい。例えば、3つの点を指定または選択して三角形を指定するとか、5つの点で五角形を指定してもよいであろう。
【0124】
別の例として、レーザー光源は、レーザービームを急速にスキャンして、正方形(図1の82参照)、矩形、三角形、円形などのAOIバウンダリを形成するようにプログラムされてもよく、ここで、AOIバウンダリは、それに向かって向けられて、部品12の面積の範囲を定めて、関心領域(AOI)を定義してもよい。ここで、各カメラは、当該部品の単一の画像を撮影するのみでよいこともあり、カメラプロセッサは、カメラ固有の複数の関心フィールド(FOI)をそこから「学習」するようにプログラムされてもよい。ここで、再び、関心領域(AOI)が選択されたことを示す信号は、レーザーポインタを介してコンピュータプロセッサへの送信によって容易にされてもよく、ポインタボタンが選択されるとコンピュータプロセッサによって検知されるいくつかの挙動(例えば、AOIバウンダリの点滅オンオフ、AOIバウンダリ強度における変化、AOIバウンダリから一群のバウンダリ定義点への急激な変化など)、コンピュータキーボードボタンの選択などであってもよい。
【0125】
さらに別の例として、システムユーザは、AOIトレーニングプロシージャの間に、部品に対してステッカを張るなどしてもよい。関心領域(AOI)を定義するためにステッカが貼られた後、複数の画像は、複数台のカメラを解して取得され、コンピュータプロセッサは、ステッカロケーションに対応する各画像におけるカメラ固有の複数の関心フィールド(FOI)を識別する、そして、その後、カメラ固有の複数の関心フィールド(FOI)を適宜用いる。
【0126】
少なくともいくつかの実施形態において、以下のことが想定されている、すなわち、各カメラがAOIトレーニングプロシージャの間に動作して急激な連続性における(すなわち高速連写による)複数の複数の画像を取得してもよい。この場合、少なくとも幾つかの実施形態において、レーザーを用いて、複数の画像が取得される間に、ボックス、サークルといった形状のAOIバウンダリを関心領域(AOI)の周りに「描画」してもよく、ここで、コンピュータプロセッサは、各カメラに対して複数の複数の画像からレーザー点位置情報を用いてカメラ固有の複数の関心フィールド(FOI)を作成するようにプログラムされている。
【0127】
少なくともいくつかの実施形態において、AOIトレーニングプロシージャの間に、コンピュータプロセッサは、少なくとも幾つかのフィードバックをシステムユーザに提供するようにプログラムされてもよいと想定されている。例えば、システムが3つのカメラを有していてユーザが1つの点を、レーザーポインタを介して選択する場合には、もしカメラが複数の画像を取得するも1または複数のカメラに関連する複数画像が、ユーザが指示した瞬間にレーザーによって照明された点が含まれていないならば、プロセッサは、異なる点が選択されるべきことをビープ音などで表示してもよく、あるいは、プロセッサは、点がキャプチャされなかったことを表示してもよい(すなわちビープ音は、すべてのカメラについて複数の画像における点が識別された場合にのみ提供されるであろう)それにより、ユーザを促して他の点を選択せしめるのである。
【0128】
別の例として、3つのシステムカメラのうち2つに関連する複数の画像が用いられて4つの選択された点が識別され、その間に、第3のカメラに関連する複数の画像が、同時的に取得された複数画像にける2つの選択された点のみを識別するために用いられるような場合には、プロセッサは、トレーニングプロセスが成功しなかったことを表示してもよい。もう1つの例として、カメラが高速連写にて複数画像を撮影する間にレーザーを用いてAOIバウンダリを部品上に「描画」」する場合には、プロセッサは、アウトラインがいつ閉じられたか(すなわちいつ交差が生じたか)を認識するようにプログラムされてもよく、また、ビープ音などによってアウトラインの閉じを表示するようにしてもよい。フィードバックは、また、コンピュータディスプレイ画面22aを介して可視的なものとしてもよい。
【0129】
少なくともいくつかの実施形態においては、AOIトレーニングプロシージャを用いてカメラ固有のAOIを後の利用に供するために定義するのに加えて、同様のトレーニングプロシージャをパターン/モデルトレーニングセッションの間に用いて、領域/区画を、モデルパターンを作成すべき部品上に表示してもよい。例えば、ユーザは、レーザーポインタ80などを用いて、AOIを、特定の関心対象たる特徴を含む部品上に定義してもよく、コンピュータプロセッサは、それから、ユーザによって指定されたカメラ固有の複数の関心フィールド(FOI)のそれぞれについて独立のモデル生成プロセスを実行してもよい。
【0130】
図5を参照すると、例示的なAOIトレーニングプロシージャ50が記載されている。ブロック52において、AOIトレーニングプロシージャが開始される。ここで、プロシージャを開始するために、ユーザは、コンピュータ22を介して(またはレーザーポインタ80を介して)プロシージャが開始されるべきことを表示してもよい(図1参照)。
【0131】
ブロック54において、ユーザは、関心領域(AOI)点をシステムカメラ24の視野内の部品(図1の12を参照)上に表示する。この例においては、関心領域(AOI)を定義する点は、レーザーポインタ80を介して、図1におけるように表示される。ただし、前述した任意の他の態様または前述したものと等価的なものが用いられてもよい。
【0132】
ブロック56において、複数のカメラ24を用いて、当該部品12の複数の画像が取得される。ブロック58において、複数の画像は、コンピュータプロセッサによって検討されて、AOIを定義する選択された点を識別する。ブロック60において、プロセッサは、AOlを定義する点が各カメラに関連する少なくとも1つの画像において位置づけられるかどうかを決定する。関心領域(AOI)を定義する点がすべて識別されない場合には、制御はブロック54に戻り、プロセスがループし続ける。
【0133】
最適には、ブロック55において、フィードバックがシステムユーザに提供されてもよい。ひとたびすべての関心領域(AOI)を定義する点が識別されたならば、ブロック62において、各カメラの関心フィールド(FOI)が保存され、および、ブロック64において、現在の関心領域(AOI)に対するAOIトレーニングプロシージャが完了したことを示すフィードバック(例えば、ビープ)が、ユーザに提供される。ユーザがその部分について第2の関心領域(AOI)を定義したい場合には、プロセス50が繰り返されることができる。
【0134】
以上、諸目的、特にそのうち前述した目的を達成する方法および装置を説明したところであるが、当然のことながら、図面に図示しかつ前述した方法および装置は、本発明の一例を示したものにすぎず、変更を施した他の実施形態もまた本発明の範囲内に属するものである。

【特許請求の範囲】
【請求項1】
少なくとも第1のカメラと第2のカメラとを含み、それぞれ異なる軌跡に沿って配置された視野を有する、複数のカメラを備えた3D画像化システムにおける関心領域を特定する方法であって、
(イ)前記複数のカメラの各視野内の所定の場所に位置するように対象部品を配置する工程と;
(ロ)前記複数のカメラの各視野の範囲内の関心領域を前記対象部品上に表示する工程と;
前記複数のカメラのそれぞれが、
(ハ)前記関心領域を含む前記対象部品の少なくとも1つの画像を取得する工程と;
(ニ)取得した前記少なくとも1つの画像における前記関心領域と関連付けされた前記カメラの視野内のカメラ固有の関心フィールドを識別する工程と;
(ホ)前記カメラ固有の関心フィールドを後の使用に供するために保存する工程と;
を順次有することを特徴とする、複数のカメラを備えた3D画像化システムにおける関心領域を特定する方法。
【請求項2】
前記複数のカメラそれぞれの視野内の関心領域を前記対象部品上に表示する前記(ロ)工程において、前記関心領域を画定するための少なくとも3つの点を前記対象部品上に表示することを特徴とする請求項1に記載の方法。
【請求項3】
前記関心領域を画定する少なくとも3つの点を表示する際に、レーザー装置を用いて該少なくとも3つの点を1つずつ逐次表示させ、前記少なくとも1つの画像を取得する工程は、前記少なくとも3つの点のそれぞれについて独立の画像を取得することを特徴とする請求項2に記載の方法。
【請求項4】
前記カメラ固有の関心フィールドを識別する前記(ニ)工程は、複数の取得した画像を用いて前記関心フィールドを識別することを特徴とする請求項3に記載の方法。
【請求項5】
前記少なくとも3つの点の各点について、該各点が各カメラによって取得された少なくとも1つの画像において識別された時点を判定して、当該時点を表示する工程を有していることを特徴とする請求項3に記載の方法。
【請求項6】
前記少なくとも3つの点の各点を少なくとも1つの他のカメラによって取得された少なくとも1つの他の画像内に識別していない間に、該各点を前記少なくとも1つのカメラによって取得された前記少なくとも1つの画像内に識別した時点を判定することを特徴とする請求項3に記載の方法。
【請求項7】
前記関心領域を前記対象部品上に表示する工程は、レーザー装置を用いて該対象部品の少なくとも一部分をレーザービームで照明して該関心領域を該対象部品の表面上に表示することを特徴とする請求項1に記載の方法。
【請求項8】
前記レーザー装置にボタンが設けられ、このボタンを選択すると、前記対象部品の現在照明されている一部分が少なくとも幾つかの関心領域定義情報に対応することを表示するとともに、前記ボタンを選択した瞬間における前記対象部品の複数の画像を解析して該対象部品の前記現在照明されている一部分と関連付けされた位置情報を取得すべきことを前記レーザー装置に指示させ、かつ、
前記画像を解析すべきとの前記レーザー装置からの指示があるかどうかをモニタする工程を有している
ことを特徴とする請求項7に記載の方法。
【請求項9】
前記レーザー装置を、前記ボタンが選択されると前記対象部品上に照明した前記レーザービームの外形を変化させるようにプログラムし、かつ、前記レーザー装置からの指示をモニタする工程は、前記複数のカメラによって取得した複数の画像を解析して、前記対象部品上に照射した前記レーザービームの外形の変化を識別することを特徴とする請求項8に記載の方法。
【請求項10】
カメラ固有の関心フィールドが前記複数のカメラのそれぞれについて識別された時点を示すフィードバックを前記システムユーザに提供する工程を有していることを特徴とする請求項1に記載の方法。
【請求項11】
前記少なくとも1つの画像を取得する工程は、複数の画像を高速連写で取得し、かつ、前記少なくとも3つの点を表示する工程は、レーザー装置を用いて前記少なくとも3つの点を個別的に照明することを特徴とする請求項2に記載の方法。
【請求項12】
前記少なくとも3つの点を表示する工程は、各点について、前記レーザー装置が前記点を照明している間に、前記照明された位置が、前記関心領域を画定する前記少なくとも点の一つであることを表示することを特徴とする請求項11に記載の方法。
【請求項13】
少なくとも第1のカメラと第2のカメラとを含む、それぞれ異なる軌跡に沿って配置された視野を有する複数のカメラを備えた3D画像化システムにおける関心領域を特定する方法であって、
(イ)前記複数のカメラの視野内の場所に位置するように対象部品を配置する工程と;
(ロ)レーザー装置を用いて、前記対象部品上に関心領域を画定する複数の点を逐次的かつ個別的に表示する工程と;
前記複数のカメラのそれぞれについて、
(ハ)前記複数の点を前記対象部品上に表示している間に、前記関心領域を含む前記対象部品の複数の画像を取得する工程と;
(ニ)これら複数の画像における前記複数の点を用いて、各カメラについて、前記関心領域に対応する前記視野における関心領域を識別する工程と;
(ホ)前記視野内の関心領域をカメラ固有の関心フィールドとして保存する工程と;
を有することを特徴とする方法。
【請求項14】
関心領域を対象部品上に表示する3次元マシンビジョンシステムをトレーニングして各カメラ固有の関心フィールドを画定するように構成され、かつ、複数のカメラとマシンビジョンプロセッサとを備えた、3次元マシンビジョンシステムトレーニングシステムであって、
(イ)前記複数のカメラが、前記関心領域が前記カメラの前記視野内に存在するような視野を有し、カメラ固有の軌跡に沿って配置され、かつ、前記カメラの視野内の前記部品の複数の画像を取得するように構成され、かつ、
(ロ)前記マシンビジョンプロセッサが、各カメラに対して、(i)複数の画像を受信し、(ii)前記受信した複数の画像の少なくとも1つを用いて、前記関心領域と関連付けされた前記画像を生成するのに用いた前記カメラの視野の一部分を、関心領域として識別して、(iii)前記関心領域と関連付けされた前記関心領域を、カメラ固有の関心領域として保存するようにプログラムされている
ことを特徴とする3次元マシンビジョンシステムトレーニングシステム。
【請求項15】
レーザービームを前記対象部品に照射して前記関心領域を該対象部品上に表示するレーザーポインタ装置が設けられていることを特徴とする請求項14に記載のシステム。
【請求項16】
前記レーザーポインタ装置には、ボタンが設けられていて、このボタンを選択すると、前記部品の現在照明されている一部分が、少なくともいくつかの関心領域定義情報に対応することが示されるとともに、前記ボタンが選択された瞬間における前記部品の複数の画像を解析して前記部品の前記現在照明された一部分と関連付けされた位置情報を取得すべきことが示されるものとされ、かつ、前記マシンビジョンプロセッサが、前記画像を解析すべきとの前記レーザーポインタ装置からの指示をモニタする工程を実行するようにプログラムされている
ことを特徴とする請求項15に記載のシステム。
【請求項17】
前記レーザーポインタ装置が、前記ボタンが選択されると、前記部品上の前記照明ビームの前記外的形状を変化させるようにプログラムされ、かつ、前記マシンビジョンプロセッサが、前記レーザーポインタ装置からの表示の有無をモニタする工程において、カメラ画像を解析して、前記部品上の前記照明ビームの前記外的形状の変化を識別するようにプログラムされていることを特徴とする請求項16に記載のシステム。
【請求項18】
前記レーザーポインタ装置には、前記ボタンが選択されると信号を送信する送信機が設けられていることを特徴とする請求項16に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2012−528395(P2012−528395A)
【公表日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2012−513196(P2012−513196)
【出願日】平成22年5月26日(2010.5.26)
【国際出願番号】PCT/US2010/036171
【国際公開番号】WO2010/138565
【国際公開日】平成22年12月2日(2010.12.2)
【出願人】(500576452)コグネックス・テクノロジー・アンド・インベストメント・コーポレーション (14)
【Fターム(参考)】