説明

カメラのミスキャリブレーションの実行時決定のためのシステムと方法

本発明は、シーン内で取得された対象について、教示された対象モデルの観察された画像データと予想された画像データとのマッチングに基づいて定義される実行時アライメント得点の履歴統計定義に基づき、典型的にカメラ外部パラメータに関して、カメラのミスキャリブレーション(精度)の実行時決定(自己診断)のためのシステムと方法を提供する。この構成は、システムのカメラがキャリブレーションされた状態に留まっているか診断するためにビジョンシステムの実行時動作を中断し、および/またはビジョンシステムよって監視されている生産ラインを停止する必要を回避する。ビジョンシステムによって検査される対象または特徴は時間が経過しても実質的に同じであるという仮定の下で、ビジョンシステムは部分アライメント結果の統計を蓄積し、中間結果を保存して現在のシステム精度の指標として使用する。マルチカメラビジョンシステムに対しては、個々の問題のあるカメラを特定するために例示的にクロス確認を用いる。このシステムと方法により、劣化するカメラキャリブレーションに関するビジョンシステムの不具合をより迅速、廉価、簡明に診断することが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビジョンシステム、より具体的にはビジョンシステムカメラキャリブレーションに関する。
【背景技術】
【0002】
マシンビジョンシステムは、産業界において所定の2次元(2D)または3次元(3D)座標空間を基準として部品や対象のアライメントを決定するために通常使用されている。これらのシステムは種々の技術とプログラムを用いて、しばしば対象の教示されたモデルに基づき対象のアライメントを決定する。カメラキャリブレーションは、2次元(2D)撮像システムと3次元(3D)撮像システムのいずれにおいても、コンピュータビジョンの必須のステップである。カメラキャリブレーションは、外部パラメータと内部パラメータとして既知のカメラの位置とレンズの性質のモデリングを含む。カメラキャリブレーションは、シングルカメラ構成またはマルチカメラ構成、例えば1個以上のカメラヘッドを有するシステムで実施できる。ステレオカメラヘッドおよび他の形態の3Dセンサは、対象の3D奥行画像の生成を可能にする。これらのカメラのキャリブレーションは、観察された2D画像空間と3D世界の間の関係を決定する。カメラキャリブレーションの後で3D情報は2Dコンピュータ画像座標から推測でき、同様に2D画像座標は3D情報から推測できる。
【0003】
より具体的には、カメラ内部の幾何的および光学的性質(内部パラメータであり、有効焦点距離、または投影中心距離に対する画像面、レンズ歪み係数、xに対する倍率、カメラ走査および取得タイミング誤差に起因する、画像面における原点に対するコンピュータ画像座標を含み得る)および定義された世界座標系に対するカメラの3D位置と向き(外部パラメータ)を評価することによって、カメラキャリブレーションは画像形成システムをモデリングすることを含む。カメラの内部パラメータと外部パラメータ(しばしばカメラキャリブレーションパラメータと呼ばれる)は、レンズ歪みを除去して3D空間において観察された2D画像特徴ポイントを解釈するために実行時アライメントまたは検査タスクに用いられる。カメラキャリブレーションの精度はビジョンシステムの性能に直接影響する。
【0004】
対象を包含するシーンの周囲のそれぞれ1以上の有利な地点で1台以上の2Dカメラまたは3Dカメラを使用することにより、世界座標空間を基準として被写体の全体的画像を生成する際に利点を提供できる。異なるカメラの画像を組み合わせることにより、1以上の画像で起こり得る対象の部分の種々のオクルージョンやオブストラクションが、他の有利な地点から取得された画像によって補償される。したがってあらゆる場合に、しかし特にビジョンシステムが複数の2Dカメラまたは3Dカメラを使用するような場合には、カメラキャリブレーションの精度はビジョンシステムの全体的性能に不可欠である。しかしながら、カメラキャリブレーションは典型的に1回限りのビジョンシステムセットアップ手順と見なされる。これは通常典型的な実行時ユーザ(製造ライン作業員と彼らの監督であることが多い)より著しく多くの知識を有する技術者によって行われる。典型的に、システムがキャリブレーションされた後で、これらの実行時ユーザによってカメラパラメータは現在のキャリブレーションの本当の精度とは関係なく、マシンビジョンタスクで反復的に使用される。キャリブレーションは熟練技術者によってなされる要求が多く時間のかかるタスクであり、最も良いのは実際に必要とされるときだけ実行することである。
【0005】
しかしながら、ビジョンシステムが製造ライン等の不利な環境で作動する場合、熱膨張、振動、不用意な焦点変化等の原因で実際のカメラ位置やレンズ歪みが変化することがある。その結果、カメラキャリブレーションがもはや観察された2D画像と3D世界との関係を表さなくなれば、マシンビジョンアプリケーションは準最適な性能しか発揮しなくなるであろう。さらにたとえマシンビジョンアプリケーションが準最適な性能しか発揮しなくなっても、カメラのミスキャリブレーションによるアプリケーションの性能劣化の根本原因を追跡することは困難であろう。
【0006】
定期的にカメラキャリブレーションの確認を行えば、カメラが容認できるキャリブレーションパラメータで機能し、不必要なキャリブレーション手順の実施を回避するのを助けはするが、逆にカメラはキャリブレーションがずれた状態で作動し続けることになろう。単数または複数の2Dカメラまたは3Dカメラに応用可能なカメラキャリブレーションを定期的に確認する新規の効果的な方策は、イェ・シアンユィン他による合衆国特許出願番号12/346、773「ビジョンシステムにおけるカメラキャリブレーションを確認するためのシステムと方法」に開示されており、その教示内容は参照により有益な背景情報として本明細書に組み入れられる。簡単に言えば、この確認手順はカメラシステムを実行時動作から取り出して、キャリブレーションターゲットをカメラの視野内に入れることを必要とする。次にこのターゲットを用いて、典型的にはキャリブレーション技術者ではなくシステムの実行時作業員によって確認手順が実施される。この手順は現在の内部パラメータと(マルチカメラシステムの場合)外部パラメータを生み出す。内部パラメータは有効焦点距離、または投影中心距離に対する画像面、レンズ歪み係数、xに対する倍率、カメラ走査および取得タイミング誤差に起因する取得された画像の原点の移動を含む。外部パラメータは、典型的に定義された世界座標系を基準としたカメラの3D位置と向きによって定義される。これらの現在のパラメータが、保存されたセットアップ時間の内部パラメータと外部パラメータを基準として分析されて、カメラシステムおよび/または個々のカメラが容認可能なキャリブレーションに留まっているか決定する。この確認手順はシステムのダウンタイムを著しく短縮する。なぜなら、確認手順はキャリブレーション時間の何分の1しかかからず、また、確認手順でカメラの「キャリブレーションがずれている」ことが示された場合だけ再キャリブレーションを行えば済むからである。同様に、これはシステムの実行時作業員によって実施できる。それにもかかわらず、この方策は依然として、確認手順を実施しているときはシステムが生産を行わないことを必要とする。確認はビジョンシステムのかなり長いダウンタイムを要求することがあまりに多くそれによって生産ラインの処理量が減少するので、確認を実施する頻度が問題となる。逆に、確認をごく稀にしかしないと、3Dビジョンシステムはカメラキャリブレーションの劣化により過度に誤った不合格/合格の決定を下すリスクがある。
【0007】
それゆえシステムをオフラインにする必要なく実行時にカメラシステムのキャリブレーションを診断し、またシステム作業員が別個に確認プロセスを行うためのシステムと方法を提供することが望ましい。このようなシステムと方法は、頻繁な確認を可能にし、カメラシステムのキャリブレーションがずれたことによる誤った読みを起こりにくくする。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】米国特許出願公報第12/346、773号明細書
【特許文献2】米国特許出願公報第12/345,130号明細書
【非特許文献】
【0009】
【非特許文献1】ロジャー・ツァイにより「既製のTVカメラおよびレンズを使用する高精度3Dマシンビジョン計測のための汎用カメラキャリブレーション技術」(IEEEロボット工学・自動化ジャーナル、RA−3巻4号、1987年8月、323−344ページ)
【非特許文献2】リチャード・I.ハートリーおよびアンドリュー・ジッセルマン著「多視点幾何学」第2版(ケンブリッジ・ユニバーシティー・プレス、2004年)
【非特許文献3】ハラリック、R.M.が「対応するポイントデータからの姿勢の推定」(IEEEシステム・人間・人工頭脳部会議事録19巻6号、1989年11/12月、1426〜1446ページ)
【発明の概要】
【0010】
本発明は、シーン内で取得された対象の実行時測定結果の履歴統計に基づき、典型的にはカメラ外部要因に関連付けて、カメラのミスキャリブレーション(精度)を実行時決定(自己診断)するためのシステムと方法を提供する。実行時測定結果の一例は、教示された対象モデルの観察された画像データと予想された画像データとのマッチングに基づいて定義されるアライメント得点である。この構成は、システムのカメラがキャリブレーションされた状態に留まっているか診断するために、ビジョンシステムの実行時動作を中断し、および/またはビジョンシステムによって監視されている生産ラインを停止する必要を回避する。ビジョンシステムによって検査される対象または特徴は時間が経過しても実質的に同じであるという仮定の下で、ビジョンシステムは部分アライメント結果の統計を蓄積し、中間結果を保存して現在のシステム精度の指標として使用する。マルチカメラビジョンシステムに対しては、個々の問題のあるカメラを特定するために例示的にクロス確認を用いる。このシステムと方法により、劣化するカメラキャリブレーションに関するビジョンシステムの不具合をより迅速、廉価、簡明に診断することが可能となる。
【0011】
例示的な実施形態において、多数のカメラを有するシステム、例示的に3台以上のカメラからなるシステムが、離散的な有利な地点からシーンに向けられている。少なくとも3台のカメラが最初にキャリブレーションされ、これは少なくとも3台のカメラの各々に対してそれぞれの外部キャリブレーションパラメータを検出することを含む。少なくとも3台のカメラのうちの第1の複数のカメラで3次元空間に第1の対象特徴または対象全体(またはその一部)が検出される。次に第1の対象特徴または第1の対象姿勢の第1の測定結果が導き出される。少なくとも3台のカメラのうちの第2の複数のカメラで3次元空間において第2の対象特徴または対象全体(またはその一部)が検出される。次に第2の対象特徴または第2の対象姿勢の第2の測定結果が導き出される。検出された第1の特徴は第2の検出された特徴と実質的に似ていることもあり得るし、あるいは、これら2つの特徴は異なっていて既知の物理量によって区別されることもあり得る。次に、(i)キャリブレーション手順で決定された精度、(ii)所望のシステム精度、および(iii)2つの特徴の既知の特性の少なくとも1つを基準として第1の測定結果と第2の測定結果が比較される。例示的には、第1の測定結果は第1の特徴の推定された第1の位置を包含し、第2の測定結果は第2の特徴の推定された第2の位置を包含する。第1の測定結果は第1の特徴の検出に成功した得点を包含でき、第2の測定結果は第2の特徴の検出に成功した得点を包含できる。一実施形態において、比較するステップまたはプロセスは、第1の測定結果と第2の測定結果との間の不一致を計算して、(i)キャリブレーションで決定された精度、(ii)所望のシステム精度、および(iii)対象の既知の特性の少なくとも1つを基準として不一致を比較することを含む。
【0012】
例示的な実施形態において、比較するステップまたはプロセスに応じて、比較のステップの結果が、(i)ステップ(a)で決定された精度と(ii)所望のシステム精度との少なくとも1つを超えることに基づいて、再キャリブレーションが必要であることを示す信号を発生する。これは、比較に基づいて新しい外部キャリブレーションパラメータを生成し、この外部キャリブレーションパラメータを少なくとも3台のカメラのうちの少なくとも1台に提供して、少なくとも3台のカメラのうちの少なくとも1台を再キャリブレーションすることを含んでいてもよい。例示的には、少なくとも3台のカメラからなるシステムはマシンビジョンシステム検査機能を有して、少なくとも3台のカメラによって視られる体積空間を通過する対象に対して実行時マシンビジョン検査を実行することができる。これらの対象は、複数のカメラによる測定結果の生成のための基礎を形成する。
以下に本発明を、添付の図面に基づいて説明する。
【図面の簡単な説明】
【0013】
【図1】カメラシステムの初期キャリブレーションを確定するために用いられる、模範的なキャリブレーション対象を含む例示的な実施形態による、3次元空間においてシーン内の対象の画像を取得するために少なくとも3台の離散的なカメラを使用するビジョンシステムの概念図である。
【図1A】ある対象に関してマシンビジョンのタスクを果たすために使用される3台のカメラからなる模範的なシステムの概念図である。
【図1B】ある対象に関してマシンビジョンのタスクを果たすために使用される4台のカメラからなる模範的なシステムの概念図である。
【図1C】2対(2組の複数)のカメラがそれぞれある対象に関してマシンビジョンのタスクを果たし、各々の複数のカメラ対象の異なる離散的な特徴を基準として動作する、模範的なシステムの概念図である。
【図2】例示的な実施形態による、少なくとも3台のカメラを有するビジョンシステムのためのセットアップとキャリブレーションプロセス、および実行時検査と自己診断プロセスのブロック図である。
【図3】図2の自己診断プロセスにおいてサブセットが使用される、種々の誤差統計を示す概念図である。
【図4】本明細書に記載されたシステムと方法による、実行時自己診断とそれに続く再キャリブレーションを行うための例示的な手順を示すフローチャートである。
【図5】本明細書に記載された実施形態で使用するための、3次元世界座標空間と2次元カメラ座標空間との間のマッピングポイントのグラフ図である。
【図6】本明細書に記載された実施形態で使用するための、世界座標系におけるポイントの、2台以上(複数)のカメラにおける画像ポイントからの三角測量のグラフ図である。
【発明を実施するための形態】
【0014】
A.システムの概観とキャリブレーション
図1は、視られたシーンの2次元(2D)または3次元(3D)アライメントまたは姿勢を決定するためのビジョンシステム100の典型的な構成を表しており、シーンはロボットマニピュレータによって検査され、整列され、作用される1以上の実行時対象、またはマシンビジョンプロセスによって制御または支援される他の何らかの動作を含んでいてもよい。システムは本発明の例示的な実施形態により、キャリブレーションできる(キャリブレーションは後で自己診断され得る)。
【0015】
一般的に、システム100は視野内に対象を包含するシーン128を持つ少なくとも3台のカメラを有するビジョンシステム構成であってもよい。カメラまたはセンサ120、122、124はそれぞれ図示の2Dカメラ、または随意に3Dセンサを有していてもよい。3Dセンサが設けられている場合は、既知のベースラインによって分離された、ステレオカメラヘッド内の2台の離散的カメラ(双眼視)の間で光学的三角測量を用いてシーンの奥行画像を生成するように適合させることができる。より一般的に、3Dセンサは、種々の技術を用いて奥行データを生成できる種々の感知方式に基づいてもよい。多様な技術はステレオ(マルチカメラ)撮像、光検出および測距またはLIDAR、構造化光(structured light)、または走査レーザを使用する装置を含むが、これに限らない。2Dおよび3D撮像装置はCCDおよびCMOSを含む多様な原理に従って動作できる。同様に、2Dカメラまたは3Dセンサのために、総称的にブロック125として示されている複数の追加的なカメラ/センサを、シーン128に対して異なる離散的な有利な地点に配置できる。複数のステレオカメラヘッドが設けられている場合は、各ヘッド内の個々のカメラはシステムによって個別にアクセスできるか、またはヘッドによって生成された奥行画像はプロセッサに供給される生データとして提供される。2Dカメラおよび/または3Dセンサが接続されているこのプロセッサは、例として、インタフェースとディスプレイを有してソフトウェアおよび/またはハードウェアに基づくキャリブレーションプロセス(150)を実行する汎用コンピュータ130として示されており、実行時ビジョンプロセス(検査、アライメント、操作等)(152)も実行できる。ビジョンプロセッサの構成、タイプおよび位置は極めて可変である。例示的な実施形態において、プロセッサは1以上の2Dカメラおよび/または3Dセンサ内に包含でき、多数のカメラおよび/またはセンサの間に適当な有線または無線相互接続を設けることができる。
【0016】
多数の2Dカメラおよび/または多数の3Dセンサが使用される実施形態において、各々のカメラ120、122、124は本明細書において直交するx、yおよびz軸140、142、143として表されそれ自身の内部座標系を定義し、zはシーンに向けられたカメラの光学軸であり、xおよびyは画像面を定義する。ビジョンプロセッサ(130)はこれらの個々のカメラ座標系を、シーン128に対するx、yおよびz軸で表される共通の3D世界座標系148にキャリブレーションするように適合されている。3D撮像および関連するコンセプトの一般的議論は、背景技術としてシリル・C.マリオン他による共同譲渡された合衆国特許出願番号12/345,130「マシンビジョンを用いる対象の3次元アライメントのためのシステムと方法」に開示されており、その教示内容は参照により有益な背景情報として本明細書に組み入れられる。
【0017】
図1Aと図1Bは、本発明によりキャリブレーションでき、続いてその後で(図示されているように)対象に対する実行時ビジョン検査動作に使用できる2つの模範的なカメラシステム構成を詳しく示す。図示された各々の構成において、3D空間における対象のアライメントは、取得された画像の特徴を三角測量して、予想された特徴と測定された画像特徴のマッチングを評価することによって達成される。
【0018】
図1Aに示す模範的なカメラ3台のシステム構成153による、3台のカメラ154、155、156は対象または部品157に対して異なる向きに配置されており、対象または部品157は動いているコンベヤまたは対象が連続的に検査および/または整列されることを可能にする他の機構に載ってシステムの視野を通過する。このシステム163はタスクの中でも特に部品の品質を検査し、またはロボットマニピュレータ(図示せず)の向きを可能にする。この例におけるカメラ構成153は、一般的に視覚案内ロボット(VGR)アプリケーションで使用されるものに類似している。このようなVGRアプリケーションにおいて、典型的に部品157はすべてのカメラ154、155、156にとって可視である。以下に記すように、部品姿勢の得点は観察された画像が教示されたモデルにどれほど一致しているかを測定する三角測量誤差に基づいている。この場合、モデルは破線で示すように、各々のカメラに可視である1以上の特徴158、159、160を含んでいる。相互参照の不一致は多数のカメラから出る同じ特徴ポイントの光線がどれほど近接して互いに交差しているかを測定する。
【0019】
4台のカメラ163、164、165、166を有するカメラシステムの別の模範的な構成161が図1Bに示されている。カメラ163、164、165、166はそれぞれ部品162に対して図示されているように離散的な位置に配置されており、各々離散的なx、y、z(または他の座標系)の向きに向けられた対応する画像面167を定義する。この構成において、部品162のアライメントは共通の特徴を同時に視るカメラに基づく必要はないが、例示的に部品姿勢の得点は観察された画像が教示された3D形状モデルから予測された画像とどの程度一致するかに基づいている。多様な別のマルチカメラ構成および実行時検査/アライメント手順が明確に想定されている。
【0020】
さらに図1を参照して、模範的なカメラキャリブレーション手順、例えばマサチューセッツ州ネイティックのコグネックス社から市販されているビジョンシステムと組み合わせて利用できるキャリブレーションソフトウェア(これに限るものではない)は、典型的に複数の異なる向き(例として仮想図で示す)でカメラ120、122および124に提示された、大きさと形状が既知の平面キャリブレーション対象170を観察することをカメラに要求するフレキシブルな技術を用いる。このキャリブレーション手順は、(典型的に多数のカメラを有する実施形態において)各カメラに対する3次元世界座標空間を定義するために、各カメラの内部パラメータと外部パラメータを調整する役割を担う。図示されたキャリブレーションプロセスで技術者またはロボットはキャリブレーション対象170−本明細書では大きさと形状が既知の例示的なチェッカー盤で、中心基準172を含んでいてもよい−を複数の位置の各々の間で動かし(矢印171)、その一方でキャリブレーションアプリケーション150は視覚処理システム130上で作動して、各々の位置で対象170の画像を取得および分析する。取得された対象の画像を用いてカメラキャリブレーションプロセスは、観察された2D画像特徴ポイントと平面上に配置されたおよび3D特徴に関する(画像と物理的)特徴の対応から内部パラメータと外部パラメータを推定する。一例において、これらの(画像と物理的)特徴の対応は、例えばチェッカー盤キャリブレーションプレートの画像上でチェッカー盤特徴抽出ビジョンシステムソフトウェアツールを実行することによって自動的に決定され得る。ソフトウェアツールとキャリブレーションプレートのいずれもコグネックス社から入手可能である。
【0021】
例示的なシステムに応用できるカメラキャリブレーションの公知の技術は、ロジャー・ツァイにより「既製のTVカメラおよびレンズを使用する高精度3Dマシンビジョン計測のための汎用カメラキャリブレーション技術」(IEEEロボット工学・自動化ジャーナル、RA−3巻4号、1987年8月、323−344ページ)に記載されており、その教示内容は有益な背景情報として本明細書に組み入れられる。キャリブレーション手順はより一般的に上で組み入れられた合衆国特許出願番号12/346,773「ビジョンシステムにおけるカメラキャリブレーションを確認するためのシステムと方法」に開示されている。加えてそのような手順は、以下に一般的に2台の離散的カメラで取得された特徴に基づいて姿勢を推定することとの関連において参照される。
【0022】
要約すると、カメラキャリブレーションは検出された2D画像特徴ポイント(チェッカーの角)と予測された特徴ポイントとの間の不一致を最小化するための非線形最適化方法を含む。このカメラキャリブレーション法は、(カメラに対する)キャリブレーションプレートの姿勢を計算する。
【0023】
ここで、システムキャリブレーションプロセス、実行時アライメントまたは検査タスク、およびシステムキャリブレーションの自己診断の図式的な概観200を示す図2を参照する。図示されているように、オフラインの部分としてプロセス212は部品または対象教示プロセス213であり、ここでビジョンシステムは1以上の所定の大きさ、位置および/または形状の目立った対象特徴(例えばエッジ、印刷、穴等)を認識するように教示される。代替的に、システムは対象の全体形状またはその一部を認識するように教示され得る。教示はビジョンシステムによって使用される具体的なアプリケーションに依存している。これらのアプリケーションは、ブロブ解析、エッジ検出、回転およびスケール不変な探索等を含んでいてもよい。ビジョンシステム特有の他のセットアッププロセス214も、オフラインプロセス212中に起こる。これらのプロセスは、照明制御、ロボットマニピュレータとの調整、およびその他の多様な動作を含んでいてもよい。とりわけキャリブレーション226中にカメラの内部パラメータ222と外部パラメータ224が導き出される。これらの内部パラメータと外部パラメータはシステム実行時動作(ブロック230)中に使用される(矢印225)。より具体的には、外部パラメータは実行時230に行われる例示的なキャリブレーション自己診断で使用される。例示的な実施形態において、セットアップ記憶装置220は、観察された画像特徴と予測された物理的特徴との間の不一致に関する情報を含む「誤差」統計228も保存し、この情報はキャリブレーションがまだ許容範囲内にあるかどうかをシステムが決定する受け入れ閾値を定義するために使用できる。
【0024】
図3も参照すると、保存された誤差統計228は次のものを含むが、これらに限られるものではない。
【0025】
a.歪められた画像座標(実際の取得されたピクセル)310における精度または不一致。各々の推定されたキャリブレーション対象/プレート姿勢について、キャリブレーションプロセスはレンズ歪みを考慮して、各3D特徴ポイント(プレートのパターン内のチェッカーの角)の画像面上の2D位置を計算する。精度の測定結果は、各々の観察された2Dポイントとこれに関連する投影された/歪められた2D位置との間の不一致に対応し、誤差統計228として保存される。
【0026】
b.歪められていない画像座標(すなわち3D座標系におけるz=1投影面。zは各々のピクセルの奥行であり、x、yは視野内の各ピクセルに対する2D座標である)における精度または不一致320。各々の推定されたキャリブレーションプレート姿勢について、プロセスはz=l投影面への3Dポイントの線形投影を計算する。加えて、プロセスは取得された2D画像ポイントをレンズ歪みの逆数を通してマッピングする(言い換えればポイントは保存されたレンズ補正係数を用いて再計算される)。精度の測定結果は投影された2Dポイントとこれに対応する歪められた2Dポイントとの間の不一致に対応し、誤差統計228として保存される。
【0027】
c.ステレオ三角測量330によって得られる3D位置の精度。マルチカメラシステムで各々の推定されたキャリブレーションプレート姿勢について、プロセスは多数のカメラにより三角測量で撮像された各特徴ポイントの3D座標を計算し、rmsFitErrorを保持する。多数のカメラに対する特徴ポイントの三角測量された位置と推定された位置との間の不一致は、誤差統計228として保存される。
【0028】
上述した精度の測定結果a−cはビジョンシステムにおける通常当業者には公知であり、通常当業者に公知の手順を用いて生成できる。これらの測定結果は典型的にあるカメラキャリブレーション法を別のカメラキャリブレーション法と比較するために使用される。例示的な実施形態による、これらの誤差統計228は保存され、続いて実行時ビジョンシステム動作中にカメラキャリブレーションの精度を診断するために使用できる(図2のブロック230)。受け入れ閾値は、特定のビジョンシステムアプリケーション要件に従って可変に設定できることに留意されたい。すなわち、あるアプリケーションはより高い精度を指示して、より低い受け入れ閾値を要求してもよい(例えばキャリブレーションと実行時/確認不一致との差がより小さい)。
【0029】
上記のカメラキャリブレーションの精度は、ビジョンシステムの性能に直接影響する。ほとんどのビジョンシステムはカメラキャリブレーションを1回限りのシステムセットアップタスクであると見なしているが、画像形成システムの実際の挙動はカメラフレームの熱膨張、カメラの不用意な動き等のため時間の経過にわたりドリフトすることがある。このドリフトに対処する1つの方法は、カメラを定期的に再キャリブレーションすることである。しかしながら、カメラのキャリブレーションは要求の多いタスクであり、種々の姿勢のキャリブレーションターゲットの多数の画像を取得することを必要とし、長時間かかることがある。さらに、それは通常システムインテグレータ等の熟練者を関与させる。その結果、カメラキャリブレーション(ブロック226)は典型的に必要なときのみ熟練した専門家によって行われる。
【0030】
B.実行時手順
例示的な実施形態によれば、キャリブレーション自己診断プロセスは全体的実行時ビジョンシステム動作230の一部である。一般的に、この例におけるシステムは多数のカメラを使用して対象/部品を教示モデルに基づき、(プロセス分岐234を経由して)保存された内部パラメータ222、外部パラメータ224および誤差統計228に従って整列させ検査する。アライメント結果は1以上の対象特徴または対象姿勢の推定された位置(x、y、z世界座標または他の世界座標系)からなる測定結果から集められる。このデータは、実行時ブロック240に従ってアライメント得点を計算するために使用できる。図示されているように、実行時プロセスはアライメント結果および中間結果の履歴統計を集めることができる(ブロック250)。これらはストア260に供給され、ストア260は3台以上のカメラのサブセットまたはグループ(複数のカメラ)または全体システムに基づき、アライメント結果および中間結果の統計を集めて編集することができる。それゆえグループは少なくとも2台のカメラからなるが、少なくとも3台のカメラからなるカメラグループ全体より少ない複数のカメラとして定義できる。すなわち、システムはN−Choose−M通りのカメラの組合せのグループまたはサブセットを生成する。ビジョンシステムによって推定される各々の特徴の位置または姿勢は、例示的に教示された3Dモデルと観察された画像データのマッチングを測定するように定義された得点関数で評価される。姿勢候補およびこれに関連する得点は、N−choose−M通りのカメラ組合せの各々を選択することにより推定できる。より具体的には、ストア260は、観察された画像特徴と予測された物理的特徴との間の不一致に関する統計を含んでいてもよい。
【0031】
例として図1Aの3台カメラ(VGR)セットアップは3−choose−2、すなわち3通りのカメラの組合せを定義し、部品アライメント(姿勢の推定)に使用できる。図1Bに示す4台カメラ構成は4−choose−2プラス4−choose−3、すなわち10通りのカメラの組合せを定義し、部品アライメント(姿勢の推定)に使用できる。10通りのカメラの組合せのうち、部品アライメントに隣接する2台のカメラを使用する4通りのカメラの組合せは、それらの好適な視角のために最も代表的であろう。
【0032】
実行時プロセスステップ270において、保存された統計(ブロック260)は決定するために用いられる。カメラが所定のキャリブレーション精度または閾値内にとどまっている。閾値は所定の値に設定できるが、これは特定のビジョンタスクに依存してもしなくてもよい。例えば、非常に精密なタスクに対して閾値は小さい値であってもよく、大まかな操作タスクは大きい値を許してもよい。プロセスステップ270は、十分正確にドリフトしたかを決定する。一般的に、このようなドリフトは内部パラメータよりも外部パラメータ−システム内においてあるカメラの他のカメラに対する相対的状態−に関連する。しかしながら、内部パラメータを保存することが明確に想定されており、これらのパラメータは後続のいずれかの再キャリブレーションステップ(226)で利用可能にされてよい。決定ステップ280は、1台以上のカメラがキャリブレーションにおいて再キャリブレーション手順の性能を保証するほど十分ドリフトしたか決定する。閾値に到達しなかった場合、システムは実行時部品または対象検査および/またはアライメントの通常動作の間、ステップ240、250、260および270(手順分岐290経由)に従って統計を監視および保存し続ける。しかしながら、システムの1台以上のカメラ所定の精度/閾値を超えたら、決定ステップ280はキャリブレーションステップ226に分岐する(分岐292経由)。後述するように、システムはオンラインにとどまり、作業員に指示または警告を出すか、または動作を中断して作業員の行動(例えば再キャリブレーション手順)を待機することができる。ステップ280の一環として、システムは実行時プロセス(230)中に導き出された外部パラメータおよび不一致データを供給でき、そのためシステムは再キャリブレーションを必要とするカメラを特定するために使用できる。加えて、自動化された再キャリブレーション手順を(慣用的な技術に従い)更新された外部パラメータを用いてカメラを自動的に再キャリブレーションするために使用できることが想定されている。
【0033】
ステップ270に従うキャリブレーション測定結果と実行時統計との比較は、種々の技術を用いて達成できる。ある実施形態は、実行時統計プロセスにおける精度観察と、キャリブレーションプロセスで統計的仮説検定を用いて得られた測定結果を比較する。これは、キャリブレーション測定結果の分布と実行時測定結果の分布を前提とすれば、2つの分布の統計的相関である。2つの手順がある統計的有意性をもって同じ精度を有するときは帰無仮説を設定できる。2組の観察に基づいて決定がなされたら、エンドユーザはカメラが再キャリブレーションされる必要があるか決定できる。別の実施形態は、最大不一致をカメラキャリブレーション時間に観察された不一致の関数として設定される閾値と比較するプロセスを提供する。
【0034】
ここで図4を参照すると、例示的な実施形態による3台以上のカメラの構成においてカメラキャリブレーションの実行時自己診断のための一般化されたプロセス400が示されている。例として、このプロセスはコンピュータまたはプロセッサ上で実行される診断アプリケーション180(図1)においてインスタンス化でき、またはシステム内で1台以上のカメラからなるハードドウェアに直接提供できる。キャリブレーションプロセスは最初にステップ410により上述したようにオフラインで実施される。このプロセスの間、外部パラメータおよびその他のパラメータと統計、例えば種々のカメラグループまたはサブセット(例えばカメラ対)に関する特徴の位置または姿勢の測定結果の不一致が生成および保存される。前述の通り、本明細書で定義された「カメラ」は、あるシーンの離散的な画像を取得する任意の装置である。センサは一種のカメラであり、1台以上の撮像装置(カメラおよびその他の3D撮像のための距離測定装置)を含んでよい。
【0035】
続いてプロセス400は実行時段階(破線420)に入り、ここで対象特徴または対象全体がシステムの各々のカメラ−ブロック430、432、434で示されているように少なくとも3台のカメラと、該当する場合はその他のカメラ(ブロック436)によって検出される。検出された特徴は実質的に同じであってもよい(すなわち各々のカメラは一般的に同じ特徴を検出して世界x、y、z座標またはその他の座標におけるそれぞれの位置を推定する)。代替的に、異なるカメラが物理的空間において互いに対して既知の位置にある1以上の異なる特徴を検出してもよい。これは、一部のカメラは他のカメラが検出した特徴の劣化した表示または不明瞭な表示しか持たない場合に適していよう。代替的に、各々のカメラは教示されたモデルに基づいて対象3次元空間における姿勢を決定できる。ブロック430、432、434、436によれば、カメラは各々対象の特徴の「測定結果」を決定する。例示的には、測定結果は特徴に対する推定されたx、y、z(その他の座標系)位置、姿勢、または特徴または対象が各々のカメラによってどの程度成功して検出されたかを表す得点であってもよい。各々のカメラからの測定結果は、システム内の各々のカメラに対してステップ440で保存できる。これらの測定結果は、カメラグループへと編成され適当なフォーマットに変換され得る。
【0036】
3次元空間における特徴の位置および/または姿勢は、エッジ検出、ブロブ解析、回転およびスケール不変探索等を含む広範な在来のマシンビジョン技術によって決定できる。3Dにおける姿勢を検出する技術も、上で組み入れられた合衆国特許出願番号12/345,130「マシンビジョンを用いる対象の3次元アライメントのためのシステムと方法」に記載されている。
【0037】
ステップ450で、次に複数のカメラ(全体的なマルチカメラシステムからのカメラのグループまたはサブセット、典型的にカメラ対)の各々によって検出された測定結果が比較されて、それらの間の三角測量結果の得点または残留誤差を導き出す。これは不一致として定義することもできる。これらの比較は閾値または精度値に関して順番に分析される。精度値は所望の設定値として定義でき、ユーザによって提供されるか、またはシステムにおいてあらかじめプログラムされる。このような離散的な閾値は一部必要とされる精度に基づいてもよく、カメラのドリフトに対して許容範囲のレベルを指示する。すなわち低い精度は再キャリブレーションが必要となる前により多くのカメラドリフトを許容し、高い精度はより少ないカメラドリフトを指示する。代替的に、精度はシステム精度であってもよく、これはキャリブレーション中に導き出される残差または不一致の累積に基づいて定義される。
【0038】
決定ステップ460では、ステップ450で各々のカメラグループまたはサブセットからの測定結果を比較した結果、閾値または精度を超えたら、システムは再キャリブレーションまたはその他の適当な措置を講じるための信号を出す(ステップ470)。講じられる措置は、要因およびプログラムされた命令の数に依存する。例えば閾値を著しく超えなければ、システムは再キャリブレーションの警告を出すが動作し続けてよい。代替的に信号はシステムを停止させてアラームを発生させる。別の実施形態において、システムは随意に保存された測定結果を多数の対象検査サイクルにわたり現在のシステム状態の合理的に精確な指標として使用でき、キャリブレーションがずれた1台以上のカメラのために新しい外部パラメータを導き出す(ステップ480)。これらの新しい外部パラメータは適当なカメラに戻すことができ(手順分岐482経由)、人の手で、または自動化方式で再キャリブレーションを行うために使用される(例えば検出されたドリフトに対処するためにカメラの既存の外部パラメータを新しい外部パラメータで置き換える)。再キャリブレーションはオフラインで達成でき、または適当なアプリケーションが設けられている場合は、オンザフライ方式で再キャリブレーションするカメラ、もしくは少なくともシステム内の他の再キャリブレーションしないカメラで行い、引き続きオンラインで検査タスクを続行する。いずれの再キャリブレーションにおいても、内部パラメータは適当なキャリブレーション対象および/またはその他の手順を用いて更新できることが想定されている。
【0039】
決定ステップ460が、各々のカメラグループについて比較された測定結果が許容された精度内にとどまっていると決定する場合、実行時手順は継続して(手順分岐484経由)、さらに測定結果を蓄積する。ここで留意すべきは、システムに関する比較または所望の精度は多数の検査サイクルにわたる平均(履歴)測定結果を考慮できるので、異常測定結果の数が比較的小さければ早過ぎる再キャリブレーション信号を引き起こさないことである。
【0040】
ドリフトに起因する受け入れ可能なカメラの誤差は誤差分布に基づいてもよい点に留意されたい。例えば、システムは履歴を基準にして位置のRMS誤差を点検するように適合させることができる。
【0041】
一般的に、3台以上のカメラを前提すると、システムは対象の測定結果に固有の冗長性を含む。この冗長性によりカメラグループ全体のサブセットグループ間で測定結果が相違し、少なくとも1台のカメラはキャリブレーションがずれた状態にあることを示す。
【0042】
C.位置と姿勢の推定を決定および比較するための例示的技術
図4の比較ステップ450によれば、システムは3D特徴の位置または対象の姿勢を決定するのに種々の技術を用いて、推定に基づいて誤差または不一致を導き出すことができる。以下に決定および比較のための例示的な技術を記載する。
【0043】
1.多数のカメラにおいて2D画像ポイントから特徴ポイントの3D位置を推定
カメラキャリブレーションに続いて、物理的空間における3Dポイントを画像空間における2Dポイントにマッピングでき、画像空間における2Dポイントは物理的空間における3D光線にマッピングできる。マッピングに関する以下の記述は、リチャード・I.ハートリーおよびアンドリュー・ジッセルマン著「多視点幾何学」第2版(ケンブリッジ・ユニバーシティー・プレス、2004年)を背景情報として行う。記述を簡素化するために、ここでは半径方向の歪みは無視できるものとする。そうすると3D世界座標系510におけるポイントからプロセッサ画像座標系520へのマッピングは、カメラキャリブレーションマトリックスMによって管理される。n台のカメラを有するシステムに対して、これらのマトリックスはM≦i≦nとして表すことができる。図6を参照して、世界におけるポイントPは式p=MPに従いpとしてマッピングされる。同様に2台以上のカメラ(模範的なカメラlとカメラ2を図示する)におけるポイントの画像(模範的なポイントpおよびpを図示する)を前提すると、その世界座標系における位置は三角測量を用いて計算できる。それぞれのカメラi(カメラl、カメラ2)におけるポイントp(p、p)に対して、画像は光線R(RとR)として投影される。世界座標系における光線の式はPi(λ)=M++λCで表され、C(CとC)は世界座標系におけるカメラの中心である。CとM+はカメラキャリブレーションパラメータから得られる。世界座標系におけるポイントは、多数のカメラからの光線間の交差ポイントを検出することによって得ることができる。
【0044】
実地ではノイズが存在すると2本の光線(RとR)は交差するとは限らない。このような状況で三角測量に利用できる技術が幾つかある。例示的な実施形態では、最初に世界座標系内にすべての光線との間の距離の合計が最小であるポイントを検出する技術を用いる。この推定結果は、カメラの中心からのポイントの距離と、光学軸に対する光線の角度に基づいて精緻化される。この技術に加えて、またはこの技術の代替として別の三角測量の技術も使用できる。
【0045】
次に図6を参照して、ポイントPの値は本明細書に記載された三角測量を用いて導き出され、位置Pは式P(λ)=M++λCおよびP(β)=M++βCでλとβの値を求めることによって計算される。
【0046】
2.2Dと3Dの対応から対象の3D姿勢を推定する
ある対象の姿勢は、対象モデルをその固有の座標系から感知データとの一致にマッピングするのに必要とされる3D剛性変換である。剛体の姿勢を推定することは、2D画像から3D空間における剛体の動きを決定することを意味する。3Dモデルを知るために、推定プロセスは画像におけるある2D特徴と3Dモデルにおけるそれらの対等物との対応に依存する。
【0047】
種々の姿勢の推定問題に対する解は、ハラリック、R.M.が「対応するポイントデータからの姿勢の推定」(IEEEシステム・人間・人工頭脳部会議事録19巻6号、1989年11/12月、1426〜1446ページ)で教示している。
【0048】
さらに別の例示により、ツァイの出版物に記載されているように、図5はカメラモデルの基本的幾何を例示する。(X、Y、Z)は、3D世界座標系における対象ポイントPの3D座標を定義する。(Χ、Y、Ζ)は3Dカメラ座標系520における対象ポイントPの3D座標510を定義する。この座標系の中心はポイントO、すなわち光学中心であり、z軸は光学軸(図1も参照)と同じである。(x、y)はO(光学軸と画像正面530の交点)を中心とする画像座標系であり、x軸およびy軸に対して平行である。fは画像正面530と光学中心Oとの距離である。(x、y)は、完璧なピンホールカメラモデルを使用した場合の(X、Y、Z)の画像座標である。(x、y)は、レンズ歪みのために(x、y)とは異なる実際の画像座標である。しかしながら、ここではカメラはキャリブレーションされているので、レンズ歪みはマッピングの前に補正である。
【0049】
3D世界座標から2Dカメラ座標系へのマッピングは、例示的に4段階変換として提供され、次のステップに従って進行する。
【0050】
1.対象の3D世界座標系(X、Y、Z)510からカメラの3D座標系(X、Y、Z)への剛体変換を実行する。
【数1】

【0051】
ここに、Rは3X3回転マトリックスであり、Tは3X1並進ベクトルである。キャリブレーションされるパラメータはRとTである。
【0052】
2.3Dカメラ座標(Χ、Y、Ζ)から理想的な(歪められていない)画像座標(x、y)への変換を、次のピンホールカメラ幾何による透視投影を用いて実行する。
【数2】

【0053】
3.半径方向レンズ歪みを次の通り計算する。
【数3】

【0054】
ここに、(x、y)は画像面530上の歪められた画像座標または真の画像座標である。半径方向レンズ歪みを規定するために利用できる多数のモデルがある。モデルの1つは、次の通りである。
【数4】

使用されるモデルのタイプは、撮像に使用されるレンズのタイプに基づいて決定できる。
【0055】
4.真の画像座標(x、y)からプロセッサの画像座標(x、y)への変換を実行する。
【数5】

【0056】
ここに、
(x、y) プロセッサの画像フレームメモリ内の画像ピクセルの行と列の数
(C、C) 画像面における原点に対するコンピュータ画像座標
【数6】

x(走査線)方向における隣接するセンサ要素間の距離
y方向における隣接するCCDセンサ間の中心距離
cx x方向におけるセンサ要素の数
fx プロセッサによってサンプリングされる線内のピクセルの数、である。
【0057】
は多様な要因、例えば画像取得/プロセッサハードウェアとカメラ走査ハードウェアとのわずかなハードウェアタイミング不一致、または走査タイミング自体の不正確さに起因する。sx=axx-1に設定し、dを1に設定すると、sを見つける必要がある。dが1に設定されると、計算された焦点距離fは、実際の焦点距離とyにおける倍率の積である。
【0058】
姿勢推定問題は、カメラ内部パラメータが既に知られている場合のカメラ外部パラメータキャリブレーションと同じである。問題を単純にするために、生画像で検出された2D画像ポイントは、上記のステップ2のように基準画像面に表現されるように正規化されている。それゆえ姿勢推定問題は、次のように定式化できる。
【0059】
1組の世界ポイント(X、Y、Z、i=1,2,・・・,nおよびこれに対応する1組の正規化された画像ポイント(x、yを前提すると、姿勢推定問題は幾何的再投影の誤差を最小化する回転マトリックスRと並進ベクトルTを検出することである。
【数7】

【0060】
代替的に、各々の画像ポイントは3D線として表現できる投影光線を定義するので、姿勢推定問題は、3Dポイントと3D線の距離がすべての対で最小であるような変換を検出することに等しく、これは対象空間共線性としても知られている。
【0061】
誤差測定の最小化は、レーベンバーグ・マルカート法等の非線形最適化法によって行うことができる。マルチカメラ(または多視点)ビジョンシステムにおいて、すべてのカメラが同じ世界座標系にキャリブレーションされた後で、各々のカメラの対応が1つの線形システムに付加されて同時に解決される。多数のカメラを使用することは、曖昧性の分解能の改善や精度の改善という利点がある。
【0062】
3.多面体モデルを濃淡値勾配に直接マッチングさせることにより対象の3D姿勢を推定する
上記2項では、姿勢推定問題を非線形最適化問題として記述し、対象の剛性変換(回転および並進)は対応する2Dポイントおよび3Dポイントの再投影誤差に基づき誤差測定を最小化することによって見出される。
【0063】
代替的に、2Dと3Dの対応を確立することが困難な場合、モデルを種々異なる仮定された姿勢でグレーレベル勾配画像に直接マッチングさせることによって対象の3D姿勢を推定でき、そしてマッチング得点が最も高い姿勢を報告する。
【0064】
例えば、マッチングプロセスは次のステップで行うことができる。
【0065】
a.Rx、Ry、Rzおよびt、t、tに対する探索空間をセットアップする。6次元空間Rx、Ry、Rz、t、t、tにおける各サンプリングポイントが仮定された姿勢を定義する。
【0066】
b.各サンプリングポイント(仮定された姿勢)について、対象の3Dモデルをカメラキャリブレーションに基づいて.画像空間に投影する。投影された2Dポイントとグレーレベル勾配画像とのマッチング得点を計算する。
【0067】
c.6次元空間Rx、Ry、Rz、t、t、tにおける最多得点を探索する。非極大値抑制等の典型的なピーク検出技術を適用する。
【0068】
d.最多得点と結び付いた姿勢が関連した対象に対して推定された姿勢である。
ステップbにおいて3Dモデルを画像面に投影する場合に、自己遮蔽特徴を除去することによって3Dモデルのトポロジーを明らかにすべきであることに留意されたい。
【0069】
以下は、上述したように例示的な実施形態による、このような2つの測定結果を比較するために、位置と姿勢の推定を用いる技術である。
【0070】
i.特徴ポイントの3D位置の2つの推定を比較する
特徴ポイントの3D位置の2つの推定を比較するとき、2つの推定された3Dポイントのユークリッド距離を使用できる。
【数8】

【0071】
検出された第1の特徴と検出された第2の特徴が実質的に同じであるときは、検出された2つの位置のユークリッド距離を、(i)ステップ(a)で決定された精度と、(ii)所望のシステム精度のうちの少なくとも1つで直接比較できる。
【0072】
図1Cのビジョンシステム構成180を簡単に参照すると、カメラ182、184、186、188は、それぞれ複数のカメラを包含する2つのグループ(182、184)および(186、188)に配置されている。本明細書に記載された別の実施形態におけるように、カメラ182、184、186、188は画像取得およびビジョンシステム処理のために、それぞれ多様な内部および外部ハードウェアおよびソフトウェアプロセスを含んでいてもよい。必要に応じて外部プロセッサおよび関連装置(図示せず)も設けることができ、カメラおよび/または外部装置は必要に応じて有線および/または無線接続により接続できる。すべてのカメラは、体積空間内の模範的な対象190の画像を取得する。模範的な第1の特徴192と模範的な第2の特徴194が離れた位置および/または対象の異なる表面/3D向きに設けられている。カメラグループ/複数のカメラ182、184は第1の特徴を取得および検出し、第2のグループ/複数のカメラ182、184は第2の特徴194を取得および検出する。その他の特徴が設けられている場合は、対象上の当該特徴の位置と向きを取得するために最良に位置決めされたカメラを使用するように変更できる点に留意されたい。一般的に、例示的な実施形態によれば、検出された第1の特徴と検出された第2の特徴が物理的空間において異なり、図示されている既知の物理的寸法(すなわち「既知の特性」)によって分離される場合は、2つの検出された位置のユークリッド距離および既知の物理的寸法を比較できる。さらにそれぞれの三角測量の結果の2つの残差を比較できる。
【0073】
ii.対象の3D姿勢の2つの推定を比較する
ある対象の姿勢は、対象モデルをその固有の座標系から感知データとの一致にマッピングするのに必要とされる3D剛性変換である。姿勢の推定は回転マトリックスRと並進ベクトルTからなる。対象の2つの姿勢の推定を比較するために多数の方法を用いることができる。
【0074】
直観的測定は、2つの姿勢で変換された2組のモデルポイントの間の二乗平均平方根距離である。
1組のモデルポイントを
【数9】

とすると、2つの姿勢推定の二乗平均平方根距離は次のように定義される。
【数10】

【0075】
ここに、[R|T]は第1の姿勢推定を表し、[R|T]は第2の姿勢推定を表す。
モデルポイントセットは対象モデルの表面または内部の少数のユニークな特徴ポイントとして定義できる。代替的に、それはソリッドモデルの表面のモザイク状ファセットの頂点として定義できる。
【0076】
2つの姿勢を比較する別の技術は、ロボットが対象を第1の姿勢[R|T]から第2の姿勢[R|T]に動かすのに使用するであろう仕事量を計算することである。2つの姿勢の間の変換は依然として剛体変換[R|T-1・[R|T]である。対象は、スキュー理論として知られている回転と並進を組み合わせた動作で、第1の姿勢から第2の姿勢に動かすことができる。2つの姿勢を比較するために、変換[R|T-1・[R|T]に対する螺旋軸と螺旋運動パラメータを計算できる。モデルポイントセットの各ポイントについて、動作の螺旋に沿った線積分を計算できる。次に2つの姿勢の間のずれをモデルポイントセットのすべてのポイントの合計として計算する。再び、モデルポイントセットは対象の表面の目立った特徴ポイント、または対象のモザイク状ファセットの頂点のセットであってもよい。
【0077】
例示的な実施形態のシステムと方法は、3台以上のマシンビジョンカメラからなるシステムにおいて、外部パラメータが変わるために1台以上のカメラのミスキャリブレーションを特定するための効果的な技術を提供することは明確でなければならない。このシステムと方法は、誤ったマシンビジョンタスクが発生するのを可能にする前にミスキャリブレーションが特定されることを保証し、自動化された方法で再キャリブレーションを可能にする。とりわけこのシステムと方法は、多様な検査用途および対象特徴の位置または姿勢を決定するための機構に応用できる。
【0078】
以上、本発明の例示的な実施形態を詳細に記述した。本発明の精神および範囲から逸脱することなく種々の修正および追加を行うことができる。上述した種々の実施形態の各々は記載された他の実施形態と組み合わせて多数の特徴を提供できる。さらに、以上に本発明の装置と方法の多数の別個の実施形態が記載されているが、これは本明細書において本発明の原理の応用を単に例示的に記したに過ぎない。例えば、システムは比較を所望の精度またはその他の閾値で実行するために、対象の多数の特徴と姿勢で動作できる。また、「位置」とい言う用語は、キャリブレーション精度におけるドリフトを決定する目的で、特徴または対象の取得された画像を他の画像と比較できるようにする多様な異なる構造を定義するものとして広く解釈されるべきである。対象の位置を特定する代替的な方策を用いることもできる。例えば実施形態に従って測定結果を導き出すために、在来技術に従う輪郭マッチング技術を用いることができる。さらに、対象または部品は、各々の部品取得と一緒に取得され得るシーン内の永久的な特徴(例えば基準)として定義できる。この永久的な特徴またはパターンは、例示的な実施形態に従って測定結果を決定するために使用される。さらに、ことが明確に想定されている。本明細書に記載されたプロセスと手順は、ハードウェア、コンピュータ可読プログラム命令からなるソフトウェア、またはハードウェアとソフトウェアの組合せとして実現できる。従って上記の説明は、例示の目的としてのみ理解されるべきであり、本発明の範囲を制限することを意図するものではない。

【特許請求の範囲】
【請求項1】
a)少なくとも3台のカメラの各々に対してそれぞれの外部キャリブレーションパラメータを検出することを含む、少なくとも3台のカメラをキャリブレーションするステップと;
b)少なくとも3台のカメラのうちの第1の複数のカメラで3次元空間において第1の特徴を検出し、前記第1の特徴の第1の測定結果を決定するステップと;
c)少なくとも3台のカメラのうちの第2の複数のカメラで3次元空間において第2の特徴を検出し、前記第2の特徴の第2の測定結果を決定するステップと;
d)前記第1の測定結果と前記第2の測定結果を(i)ステップ(a)で決定された精度、(ii)所望のシステム精度、および(iii)第1の特徴と第2の特徴の既知の特性のうち少なくとも1つを基準として比較するステップとを包含する、
少なくとも3台のカメラからなるシステムでカメラのミスキャリブレーションを決定するための方法。
【請求項2】
前記第1の特徴は、(a)前記第2の特徴と実質的に同じであるか、または(b)前記第2の特徴と異なっている、請求項1記載の方法。
【請求項3】
前記第1の測定結果は、前記第1の特徴の推定された第1の位置を包含し、前記第2の測定結果は前記第2の特徴の推定された第2の位置を包含する、請求項2記載の方法。
【請求項4】
前記第1の測定結果は前記第1の特徴の検出に成功した得点を包含し、前記第2の測定結果は前記第2の特徴の検出に成功した得点を包含する、請求項2記載の方法。
【請求項5】
前記ステップ(d)は、前記第1の測定結果と前記第2の測定結果との間の不一致を計算して、前記不一致を(i)ステップ(a)で決定された精度、(ii)所望のシステム精度、および(iii)第1の特徴と第2の特徴の既知の特性のうち少なくとも1つを基準として比較することを含む、請求項1記載の方法。
【請求項6】
前記既知の特性は前記第1の特徴と前記第2の特徴との既知の距離を含み、少なくとも3台のカメラのうちの前記第1の複数のカメラは少なくとも2台のカメラからなる第1のグループを含み、少なくとも3台のカメラのうちの前記第2の複数のカメラは少なくとも2台のカメラからなる第2のグループを含む、請求項5記載の方法。
【請求項7】
さらに、ステップ(d)に応じて、前記比較のステップの結果が、(i)ステップ(a)で決定された精度と(ii)所望のシステム精度との少なくとも1つを超えることに基づいて、再キャリブレーションが必要であることを示す信号を発生することを含む、請求項1記載の方法。
【請求項8】
前記発生のステップは、ステップ(d)に基づいて新しい外部キャリブレーションパラメータを生成し、前記外部キャリブレーションパラメータを少なくとも3台のカメラのうちの少なくとも1台に提供して、少なくとも3台のカメラのうちの少なくとも1台を再キャリブレーションすることを含む、請求項7記載の方法。
【請求項9】
前記ステップ(a)で決定された精度は、キャリブレーション残差に基づく値の集積を含む、請求項1記載の方法。
【請求項10】
さらに新しい外部パラメータを提供して、ステップ(a)に従い少なくとも3台のカメラのうちの少なくとも1台を再キャリブレーションする請求項9記載の方法。
【請求項11】
少なくとも3台のカメラからなるシステムはマシンビジョンシステム検査機能を有しており、少なくとも3台のカメラによって視られる体積空間を通過する対象に対して実行時マシンビジョン検査を実行する、請求項1記載の方法。
【請求項12】
前記所望のシステム精度は、前記第1の測定結果と前記第2の測定結果の各々に対する履歴値に基づいている、請求項1記載の方法。
【請求項13】
前記所望のシステム精度は、所定の閾値に基づいている、請求項1記載の方法。
【請求項14】
前記閾値は、実行時ビジョンシステムタスクの所望の精度に基づいて定義される、請求項13記載の方法。
【請求項15】
さらに、前記ステップ(a)で少なくとも3台のカメラのうちの少なくとも1台に内部パラメータを提供し、少なくとも3台のカメラのうちの少なくとも1台を新しい内部パラメーに基づいて再キャリブレーションする、請求項1記載の方法。
【請求項16】
前記既知の特性は前記第1の特徴と前記第2の特徴との間の既知の距離を含み、少なくとも3台のカメラの第1の複数のカメラは少なくとも2台のカメラからなる第1のグループを含み、少なくとも3台のカメラのうちの第2の複数のカメラは少なくとも2台のカメラからなる第2のグループを含む、請求項1記載の方法。
【請求項17】
a)少なくとも3台のカメラの各々に対してそれぞれの外部キャリブレーションパラメータを検出することを含む、少なくとも3台のカメラをキャリブレーションするステップと;
b)少なくとも3台のカメラのうちの第1の複数のカメラで3次元空間において第1の特徴を検出して第1の対象姿勢の第1の測定結果を決定するステップと;
c)少なくとも3台のカメラのうちの第2の複数のカメラで3次元空間において第2の対象姿勢を検出して第2の特徴の第2の測定結果を決定するステップと;
d)前記第1の測定結果と前記第2の測定結果を(i)ステップ(a)で決定された精度と、(ii)所望のシステム精度とのうち少なくとも1つを基準として比較するステップとを包含する、
少なくとも3台のカメラからなるシステムでカメラのミスキャリブレーションを決定するための方法。
【請求項18】
前記第1の測定結果は第1の姿勢得点であり、前記第2の測定結果は第2の姿勢得点である、請求項17記載の方法。
【請求項19】
a)それぞれ外部キャリブレーションパラメータを含む、少なくとも3台のカメラと;
b)3次元空間において第1の特徴を検出し、前記第1の特徴の第1の測定結果を決定する、少なくとも3台のカメラのうちの第1の複数のカメラと;
c)3次元空間において第2の特徴を検出し、前記第2の特徴の第2の測定結果を決定する、少なくとも3台のカメラのうちの第2の複数のカメラと;
d)前記第1の測定結果と前記第2の測定結果を(i)外部キャリブレーションパラメータと関連する精度、(ii)所望のシステム精度、および(iii)第1の特徴と第2の特徴の既知の特性のうち少なくとも1つを基準として比較する比較プロセスとを包含する、
少なくとも3台のカメラからなるシステムでカメラのミスキャリブレーションを決定するためのシステム。
【請求項20】
前記既知の特性は前記第1の特徴と前記第2の特徴との間の既知の距離を含み、少なくとも3台のカメラの第1の複数のカメラは少なくとも2台のカメラからなる第1のグループを含み、少なくとも3台のカメラのうちの第2の複数のカメラは少なくとも2台のカメラからなる第2のグループを含む、請求項19記載の方法。
【請求項21】
前記第1のグループの少なくとも2台のカメラは、前記第2のグループの少なくとも2台のカメラとそれぞれ異なる、請求項20記載の方法。
【請求項22】
a)それぞれ外部キャリブレーションパラメータを含む、少なくとも3台のカメラと;
b)3次元空間において第1の対象姿勢を検出し、前記第1の対象姿勢の第1の測定結果を決定する、少なくとも3台のカメラのうちの第1の複数のカメラと;
c)3次元空間において第2の対象姿勢を検出し、前記第2の対象姿勢の第2の測定結果を決定する、少なくとも3台のカメラのうちの第2の複数のカメラと;
d)前記第1の測定結果と前記第2の測定結果を(i)外部キャリブレーションパラメータと関連する精度、および(ii)所望のシステム精度のうち少なくとも1つを基準として比較する比較プロセスとを包含する、
少なくとも3台のカメラからなるシステムにおいてカメラのミスキャリブレーションを決定するためのシステム。

【図1】
image rotate

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2013−515959(P2013−515959A)
【公表日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2012−546230(P2012−546230)
【出願日】平成22年12月23日(2010.12.23)
【国際出願番号】PCT/US2010/061989
【国際公開番号】WO2011/079258
【国際公開日】平成23年6月30日(2011.6.30)
【出願人】(504382671)コグネックス・コーポレイション (16)
【Fターム(参考)】