(57)【要約】      （修正有）【課題】実行時３Ｄポイントクラウドの３Ｄアライメントポーズが、訓練されたモデル３Ｄポイントクラウドに対して一致する程度を推定するためのシステム及び方法を提供する。【解決手段】ビジョンシステム１００であって、訓練されたモデル３Ｄポイントクラウドに対する実行時３Ｄポイントクラウドの候補ポーズの一致をスコアリングすること、３Ｄカメラ１２０の光学軸ＯＡを受け取り、訓練されたモデル３Ｄポイントクラウドを受け取り、実行時３Ｄポイントクラウドを受け取り、及び実行時候補ポーズでの３Ｄポイントクラウドにおける複数の３Ｄポイントに対する光学中心から複数の線分を構成することからなる可視性チェックを通じ、３Ｄ撮像されたオブジェクトの正確な表現を決定する。【選択図】図１
2018055675.tif 000002
【特許請求の範囲】
【請求項１】
ビジョンシステムにおいて実行時３Ｄポイントクラウドの３Ｄアライメントポーズが訓練されたモデル３Ｄポイントクラウドに対して一致する程度を推定するための方法であって、
上記方法は、訓練されたモデル３Ｄポイントクラウドに対する実行時３Ｄポイントクラウドの候補ポーズの一致をビジョンシステムプロセッサでスコアリングするステップを有し、当該ステップは可視性チェックの提供を含み、前記可視性チェックは、
（ａ）３Ｄカメラの光学中心を受け取り、
（ｂ）訓練されたモデル３Ｄポイントクラウドを受け取り、
（ｃ）実行時３Ｄポイントクラウドを受け取り、そして
（ｄ）実行時候補ポーズで訓練されたモデル３Ｄポイントクラウド又は実行時３Ｄポイントクラウドにおける複数の３Ｄポイントに対する光学中心から複数の線分を構成することを含み、
前記方法は、それぞれの線分に沿った３Ｄポイントの位置に基づいて、スコアリングのステップで３Ｄポイントを排除するか又は包含するかを決定するステップを有する、
上記方法。
【請求項２】
更に、実行時３Ｄポイントクラウド候補ポーズで訓練されたモデル３Ｄポイントクラウドのビューを明確にレンダリングしない自己遮蔽３Ｄポイント情報の考慮を制限することを含む、請求項１に記載の方法。
【請求項３】
前記スコアリングのステップは、（ａ）包含された３Ｄポイントの合計を定義するカバレッジスコアを計算すること、及び（ｂ）排除された実行時３Ｄポイントの合計を定義するクラッタスコアを計算することの少なくとも１つを含む、請求項１に記載の方法。
【請求項４】
包含された３Ｄポイントの合計を定義するステップは、ポイント・ツー・プレーンメトリック、ポイント・ツー・ラインメトリック及びポイント・ツー・ポイントメトリックの少なくとも１つを用いることを含む、請求項３に記載の方法。
【請求項５】
下記（ａ）及び（ｂ）の少なくとも１つが為されることを特徴とし、（ａ）は前記スコアリングのステップは可視性チェックを漸進的に作動させることであり、前記（ｂ）は前記可視性チェックはレンジ画像に基づいて実行されることである、請求項１に記載の方法。
【請求項６】
前記可視性チェックは、３Ｄポイントが（ａ）近接テスト及び（ｂ）ポイント対表面メッシュテストの少なくとも１つに基づいて可視であるかテストすることによって実行される、請求項５に記載の方法。
【請求項７】
前記３Ｄカメラは、ビジョンシステムプロセッサと相互接続された複数の３Ｄカメラを有する３Ｄカメラアセンブリの部分である、請求項１に記載の方法。
【請求項８】
前記実行時３Ｄポイントクラウドは、少なくとも２台の３Ｄカメラによって撮像されたオブジェクトから取得され、その際にオブジェクトの部分は少なくとも２台の３Ｄカメラの各々の動作範囲内で撮像される、請求項７に記載の方法。
【請求項９】
前記実行時３Ｄポイントクラウドは、３Ｄカメラの動作範囲内で自己遮蔽されたオブジェクトから取得される、請求項１に記載の方法。
【請求項１０】
ビジョンシステムにおいて実行時３Ｄポイントクラウドの３Ｄアライメントポーズが訓練されたモデル３Ｄポイントクラウドに対して一致する程度を推定するためのシステムであって、
上記システムは、訓練されたモデル３Ｄポイントクラウドに対する実行時３Ｄポイントクラウドの候補ポーズの一致を、ビジョンシステムプロセッサ内で動作する、スコアリングプロセスを有し、当該プロセスは可視性チェックプロセスを含み、前記可視性チェックプロセスは、
（ａ）３Ｄカメラの光学中心を受け取り、
（ｂ）訓練されたモデル３Ｄポイントクラウドを受け取り、
（ｃ）実行時３Ｄポイントクラウドを受け取り、そして
（ｄ）実行時候補ポーズで訓練されたモデル３Ｄポイントクラウド又は実行時３Ｄポイントクラウドにおける複数の３Ｄポイントに対する光学中心から複数の線分を構成するように、アレンジされており、
前記システムは、それぞれの線分に沿った３Ｄポイントの位置に基づいて、３Ｄポイントを排除するか又は包含するかを決定するプロセスを有する、
上記システム。
【請求項１１】
スコアリングプロセスは、（ａ）包含された３Ｄポイントの合計を定義するカバレッジスコアを計算し、及び（ｂ）排除された実行時３Ｄポイントの合計を定義するクラッタスコアを計算するように構成された、請求項１０に記載のシステム。
【請求項１２】
下記（ａ）及び（ｂ）の少なくとも１つが為されることを特徴とし、（ａ）は前記スコアリングプロセスは可視性チェックが漸進的に作動するよう構成されることであり、前記（ｂ）は前記可視性チェックプロセスはレンジ画像に基づいて実行されることである、請求項１０に記載のシステム。
【請求項１３】
可視性チェックプロセスは、３Ｄポイントが、（ａ）近接テスト及び（ｂ）ポイント対表面メッシュテストの少なくとも１つに基づいて可視であるかテストすることによって実行される、請求項１３に記載のシステム。
【請求項１４】
前記テストは、ＳＩＭＤマシン加速ハードウェアによって実行される、請求項１３に記載のシステム。
【請求項１５】
３Ｄカメラは、ビジョンシステムプロセッサと相互接続された複数の３Ｄカメラを有する３Ｄカメラアセンブリの一部である、請求項１０に記載のシステム。
【請求項１６】
実行時３Ｄポイントクラウドは、少なくとも２台の３Ｄカメラによって撮像されたオブジェクトから取得され、その際にオブジェクトの部分は少なくとも２台の３Ｄカメラの各々の動作範囲内で撮像される、請求項１５に記載のシステム。
【請求項１７】
オブジェクトの３Ｄ画像から偽ポイントを除去するためのシステムであって、
それぞれの動作範囲内で複数のそれぞれの視点からオブジェクトの画像を取得するように構成された複数の３Ｄカメラと、
可視性プロセスであって、
（ａ）複数の３Ｄカメラのうち１台の３Ｄカメラから測定された３Ｄポイントクラウドを受け取り、
（ｂ）測定された３Ｄポイントクラウドと相対的にオブジェクトに対して推測されたポーズを生成し、及び
（ｃ）オブジェクトを基準にした３Ｄカメラの位置と向きに関する情報を使用して３Ｄポイントクラウドのポイントの可視性を決定する、
前記可視性プロセスと、
複数の３Ｄカメラからの３Ｄポイントクラウドを、所定の数のポイントクラウドに現れることによって裏付けられないポイントを除外することによって偽ポイントを含まぬ合成３Ｄポイントクラウドに結合する複合ポイントクラウド生成プロセスであって、そのようなポイントは前記可視性プロセスに基づいて可視であると予想される、前記複合ポイントクラウド生成プロセスと、
を有する上記システム。
【請求項１８】
前記可視性プロセスは、３Ｄカメラのそれぞれの測定された位置と、３Ｄカメラを基準にして測定された３Ｄポイントクラウド内のポイントに対するそれぞれの局所的面法線とに基づく、請求項１７に記載のシステム。
【請求項１９】
前記局所的面法線は、面法線を包含するポイントに近いポイントに基づいて生成される、請求項１８に記載のシステム。
【請求項２０】
前記所定の数のポイントクラウドは、自動的閾値又はユーザ定義閾値によって定義される、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は２０１６年１月８日に出願された「ビジョンシステムにおいて部分ビュー及び自己遮蔽が存在する場合の３Ｄポーズの改良されたスコアリングのためのシステム及び方法」と題する同時係属米国特許仮出願第６２／３６９，７０９号の利益を主張するものであり、その教示内容は参照により本明細書に組み込まれる。
【０００２】
技術分野
本発明はマシンビジョンシステムに係り、より具体的には訓練された３Ｄパターンを基準にして３次元（３Ｄ）画像特徴を特定してアライメントするビジョンシステムに関する。
【背景技術】
【０００３】
本明細書で「ビジョンシステム」とも呼ばれるマシンビジョンシステムは、製造環境において多様なタスクを実行するために使用される。一般にビジョンシステムは、製造中のオブジェクトを包含するシーンのグレースケール、カラー画像及び／又は３次元（３Ｄ）画像を取得するセンサ（又は「イメージャ」）を備えた１つ以上のカメラアセンブリからなる。オブジェクトの画像を解析してデータ／情報をユーザ及び関連する製造工程に提供することができる。カメラによって生み出されるデータは通常ビジョンシステムにより１つ以上のビジョンシステムプロセッサで解析及び処理することができ、ビジョンシステムプロセッサは専用に製造されたものであるか、或いは汎用コンピュータ（例えばＰＣ、ラップトップ、タブレット又はスマートフォン）内で作成される１以上のソフトウェアアプリケーションの一部であってよい。
【０００４】
ビジョンシステムの共通タスクは、アライメントと検査を含む。アライメントタスクにおいてビジョンシステムツール、例えばコグネックス社（マサチューセッツ州ネイティック）から市販されている周知のＰａｔＭａｘ（登録商標）システムは、あるシーンの２次元（２Ｄ）画像内の特徴を（実際のモデル又は合成モデルを用いて）訓練された２Ｄパターンと比較して、２Ｄ撮像されたシーン内の２Ｄパターンの存在／欠如及びポーズを決定する。この情報は後続の検査（又は他の）操作に使用して欠陥を探し及び／又は部品拒否など他の操作を行うことができる。
【０００５】
ビジョンシステムを用いる特定のタスクは、実行時に訓練された３Ｄモデル形状に基づいて３次元（３Ｄ）ターゲット形状をアライメントすることである。３Ｄカメラは多様な技術、例えばレーザ変位センサ（プロファイラ）、立体カメラ、ソナー、レーザ又はＬＩＤＡＲレンジ検出カメラ、Ｔカメラの、及びその他の多様な受動的及び能動的レンジ検出技術に基づくことができる。そのようなカメラはレンジ画像を生み出し、そこにおいて画像ピクセルの配列（典型的には直交するｘ軸とｙ軸に沿った位置として特徴付けられる）が作られ、これはまた各ピクセルに対する第３の次元（高さ）（典型的にはｘ−ｙ面に対して垂直な軸に沿った位置として特徴付けられる）も含んでいる。或いは、そのようなカメラは撮像されたオブジェクトのポイントクラウド表現を生成できる。ポイントクラウドは、各ポイントｉが（Ｘｉ、Ｙｉ、Ｚｉ）として表わすことができる空間における３Ｄポイントの集合体で一部のポイントクラウドは、オブジェクトの背面及び側面、頂面と底面を含む完全な３Ｄオブジェクトを表現できる。３Ｄポイント（Ｘｉ、Ｙｉ、Ｚｉ）は、オブジェクトがカメラに見える空間内の位置を表す。この表現において空の空間はポイントが存在しないことによって表される。
【０００６】
比較により、３Ｄレンジ画像表現Ｚ（ｘ、ｙ）は２Ｄ画像表現Ｉ（ｘ、ｙ）に類似しており、奥行又は高さＺは画像内の位置ｘ、ｙにおける輝度／明度に相当するものに取って代わる。単一の奥行のみが任意のポイント位置ｘ、ｙと関連しているので、レンジ画像は専ら直接カメラに対面するオブジェクトの正面を表現する。レンジ画像は密な表現であるが、カメラによって観察されない（ｘ、ｙ）位置を表現することはできない。レンジ画像は当業者にとって明白なやり方で３Ｄポイントクラウドに変換することが可能である。
【０００７】
取得された又は合成（例えばＣＡＤ）プロセスによって生成されたターゲット画像を（やはり取得又は合成された）モデル画像にアライメントする際に、１つのアプローチは最もよく一致するポーズを見つける努力において３Ｄポイントクラウドのモデルとの一致／比較を伴う。この比較は、モデルを基準にしたターゲットのカバレッジのスコアリングのためのメトリックを含むことができる。３Ｄアライメントアルゴリズムに対して、訓練されたモデルが実行時に見られるものより大きい（又はより完全な）部品のビューであるインスタンスがあり、例えば実行時オブジェクト画像の一部が、例えば自己遮蔽のために、視野又はさもなければカットオフの範囲外にあることがある。同様に、実行時シーンがモデルより多くの情報を含むインスタンスがある。例えばモデルと実行時シーンの両方が（それぞれのオブジェクトから）単一のカメラを用いて取得されたが、オブジェクトが各々のバージョンにおいて異なる向きで現れている場合、実行時シーンはモデルにない部品の領域を含むことがあり、その逆もある。アライメントスコアリングメトリックがこれらのシナリオを考慮しなければ、一致が実際に保証するより低いスコアを計算して候補ポーズが拒否される可能性がある。より一般的に、この懸念はソリューションのある段階が顕著な自己遮蔽を有するオブジェクトをアライメントすることであるような応用において、又は訓練時に多数の画像が融合されてオブジェクトの全３６０度ビューを獲得するが、実行時には唯一の取得されたオブジェクトの画像を使用してアライメントを実行するような応用において存在する。加えて、幾つかの実行時オブジェクト画像又は訓練時オブジェクト画像は画像センサの動作範囲（視野）の和集合の範囲外にあり得る。これらの条件は３Ｄアライメントアルゴリズムの適用とその結果に多様な仕方で影響し得る。
更に３Ｄビジョンシステムプロセスに関する懸念は、３Ｄ画像センサがオブジェクトの測定を取得するとき、典型的にセンサに対面するオブジェクトの部分のみ測定し、従ってセンサはセンサの測定領域内にあるオブジェクトの部分のみを取得することである。ときどき画像３Ｄデータは偽の測定又は不正確な測定（場合により相互反射のため）を含んでいる。この不正確なデータ又は偽のデータは測定プロセスの効率及び精度に影響し得る。
【発明の概要】
【０００８】
本発明は、３Ｄポイントクラウドの形式で取得された実行時画像においてオブジェクトが部分的に遮蔽されている場合に、実行時にオブジェクトに対する３Ｄアライメントの（正確なアライメント結果を見いだす）能力を高めるためのシステム及び方法を提供することによって先行技術の難点を克服する。カメラアセンブリ（即ち１台以上の３Ｄカメラ）によって生み出される３Ｄポイントクラウド情報はカメラ光学中心の位置（工場での校正から取得）を含んでおり、そのためクエリポイントとカメラアセンブリを結ぶ線分は知られている。従ってクエリポイントは次のように分類できる。（１）「全面的に可視な」ポイントはカメラアセンブリ内のカメラの動作範囲の和集合内にあり、シーン内に取得システムがこのポイントを観察することを妨げる他のポイントはない。（２）「遮蔽」、ポイントは、カメラアセンブリの動作範囲の和集合内にあるが、シーン内の他のポイントが取得システムがこのポイントを観察することを妨げている。（３）「動作範囲外」、ポイントは特定のカメラの動作範囲の和集合外にあり、そのため取得システムは残余のシーンにかかわりなくこのポイントを観察できないであろう。一致を決定するための３Ｄポイントクラウドのスコアリングは、全面的に可視なポイントのみを考慮し、又は全面的に可視なポイントと関連するカメラの動作範囲外に一部のポイントのみを考慮することによって実行できる。この選択は応用に応じてユーザが行うことができる。遮蔽された動作ポイント又は全面的に可視な動作ポイントを特定することにより、システムは可視性チェック／調整に基づいて３Ｄアライメントアルゴリズムのカバレッジスコアを修正することが可能となり、その際に一部のポイントはスコアリングアルゴリズムから排除される。
【０００９】
例示的な実施形態において、ビジョンシステムにおいて実行時３Ｄポイントクラウドの３Ｄアライメントポーズが訓練されたモデル３Ｄポイントクラウドに対して一致する程度を推定するためのシステム及び方法が提供される。このシステム及び方法は、訓練されたモデル３Ｄポイントクラウドに対する実行時３Ｄポイントクラウドの候補ポーズの一致をビジョンシステムプロセッサでスコアリングすることを含み、可視性チェックを提供することを含んでいる。この可視性チェックは、（ａ）３Ｄカメラの光学中心を受け取り、（ｂ）訓練されたモデル３Ｄポイントクラウドを受け取り、（ｃ）実行時３Ｄポイントクラウドを受け取り、及び（ｄ）実行時候補ポーズで訓練されたモデル３Ｄポイントクラウド又は実行時３Ｄポイントクラウドにおける複数の３Ｄポイントに対する光学中心から複数の線分を構成することからなる。これによりシステム及び方法は、それぞれの線分に沿った３Ｄポイントの位置に基づいて、スコアリングのステップで３Ｄポイントを排除するか又は包含するかを決定する。例示的に、スコアリングは、（ａ）包含された３Ｄポイントの合計を定義するカバレッジスコアを計算すること（例えばポイント・ツー・プレーンメトリック、ポイント・ツー・ラインメトリック及びポイント・ツー・ポイントメトリックのいずれかを用いる）、及び（ｂ）排除された実行時３Ｄポイントの合計を定義するクラッタスコアを計算することの少なくとも１つを含むことができ、スコアリングは可視性チェックを漸進的に操作することを含む。可視性チェックは、３Ｄポイントが近接テストに基づいて可視であるかテストすることによって実行できる。代替的に、可視性チェックは、３Ｄポイントがポイント対表面メッシュテストに基づいて可視であるかテストすることによって実行できる。例示的に、テストはＳＩＭＤマシン加速ハードウェア（即ち隠線除去グラフィック）で実行できる。可視性チェックはレンジ画像に基づいて実行できる。３Ｄカメラは、ビジョンシステムプロセッサと相互接続された複数の３Ｄカメラを有する３Ｄカメラアセンブリの部分であることができる。実行時３Ｄポイントクラウドは、少なくとも２台の３Ｄカメラによって撮像されたオブジェクトから取得でき、その際にオブジェクトの部分は少なくとも２台の３Ｄカメラの各々の動作範囲内で撮像される。実行時３Ｄポイントクラウドは、３Ｄカメラの動作範囲内で自己遮蔽されたオブジェクトからも取得できる。
【００１０】
他の実施形態において、システム及び方法は、オブジェクトの多数のビューの測定を結合することを可能にする一方、偽のデータ又は不正確なデータを削除することも提供される。システム及び方法は、多数のポイントクラウドから（多数の３Ｄ取得から）の３Ｄデータ（３Ｄポイント）を結合して、偽の３Ｄデータを削除するためにそのようなデータを特定する。操作において、システム及び方法は、センサはシーンの３Ｄ測定を特定の相対的ポーズで取得すると仮定する。そのような相対的ポーズはユーザによって供給されるか（部品又はセンサが既知のポーズで位置決めされた場合、例えばロボットとセンサとの間のハンド／アイ校正が既知の場合はロボットが行う）、又は（種々の３Ｄ測定における特徴のサブセットを登録することに基づいて）推測され得る。各ビューで生じるすべての３Ｄ測定を含むすべてのビューが解析される。システム及び方法は、３Ｄポイントは３Ｄセンサに可視であるべきかを決定する予想される可視性ヒューリスティックに基づいて操作する。この予想される可視性ヒューリスティックは、センサの測定領域（全体視野（ＦＯＶ）の動作範囲と呼ぶ）、並びに各３Ｄポイントと関連する（一般的に上述した）局所的面法線に基づいている。
【００１１】
例示的な実施形態において、オブジェクトの３Ｄ画像から偽ポイントを除去するためのシステム及び方法が提供される。これはそれぞれの動作範囲内で複数のそれぞれの視点からオブジェクトの画像を取得するように構成された複数の３Ｄカメラを有する。可視性プロセスは、（ａ）複数の３Ｄカメラのうち１台の３Ｄカメラから測定された３Ｄポイントクラウドを受け取り、（ｂ）測定された３Ｄポイントクラウドと相対的にオブジェクトに対して推測されたポーズを生成し、及び（ｃ）オブジェクトを基準にした３Ｄカメラの位置と向きに関する情報を使用して３Ｄポイントクラウドのポイントの可視性を決定する。複合ポイントクラウド生成プロセスは、複数の３Ｄカメラからの３Ｄポイントクラウドを、所定の数のポイントクラウドに現れることによって裏付けられないポイントを除外することにより偽ポイントを含まない合成３Ｄポイントクラウドに結合し、そのようなポイントは可視性プロセスに基づいて可視であると予想される。可視性プロセスは、３Ｄカメラのそれぞれの測定された位置と、３Ｄカメラを基準にして測定された３Ｄポイントクラウド内のポイントに対するそれぞれの局所的面法線とに基づくことができる。例示的に、局所的面法線は、面法線を包含するポイントに近いポイントに基づいて生成される。所定の数のポイントクラウドは、自動的閾値又はユーザ定義閾値によっても定義され得る。
【００１２】
以下に本発明を添付の図面を参照して説明する。
【図面の簡単な説明】
【００１３】
【図１】訓練時又は実行時に１個以上のオブジェクトの画像を取得し、少なくとも１個の模範的なオブジェクトは部分的に少なくとも１台のカメラの視野外にあり、又はさもなければ隠蔽／遮蔽されており、及び他の模範的なオブジェクトは欠陥があり、又はさもなければ１個以上のオブジェクトは１台以上の３Ｄカメラアセンブリにおいて偽ポイントを生成する、１台以上の３Ｄカメラアセンブリを含むビジョンシステムの概念図である。
【００１４】
【図２】例示的な実施形態による、実行時オブジェクト３Ｄポイントクラウドの部分的遮蔽に対処するための可視性チェック／調整プロセスを含む、訓練されたモデルと実行時オブジェクトの３Ｄポイントクラウドをアライメントするための模範的な全体手順のフローチャートである。
【００１５】
【図３】図２の手順による可視性チェック／調整プロセスのフローチャートである。
【００１６】
【図４】訓練時に提供され図２の手順に従ってアライメントされるオブジェクトの完全なモデルを包含する模範的な３Ｄポイントクラウドを示す概念図である。
【００１７】
【図５】、訓練されたモデルを基準にしたパターンの部分的遮蔽を含む、実行時に提供されるオブジェクトの模範的な３Ｄポイントクラウドの概念図である。
【００１８】
【図６】モデル３Ｄポイントクラウドの一部が（実行時部分に対する遮蔽などのために）欠落している、最良一致を定義するための実行時３Ｄポイントクラウドとモデル３Ｄポイントクラウドのアライメントされたオーバーラップを示す概念図である。
【００１９】
【図７】実行時３Ｄポイントクラウド上のクエリポイントが全面的に可視であると特定されてカバレッジスコアに含まれる、図３の可視性チェック／調整プロセスを表わす概念図である。
【００２０】
【図８】３Ｄポイントクラウド上のクエリポイントが遮蔽されていると特定されてカバレッジスコアから除かれる、図３の可視性チェック／調整プロセスを表わす概念図である。
【００２１】
【図９】図３の模範的な可視性チェック／調整プロセスによる、ボクセルグリッド法を用いてクエリポイントを遮蔽されているか又は全面的に可視であるか分類するための技術を表わす概念図である。
【００２２】
【図１０】シーン上の画像を取得する１台以上の３Ｄカメラアセンブリの取得された３Ｄ画像に偽ポイントが現れる、１台以上のカメラアセンブリを有するビジョンシステム構成の概念図である。
【００２３】
【図１１】図１０の構成で３Ｄポイントクラウド内の偽ポイントを決定して、そのような偽ポイントを含まない複合ポイントクラウドを生成するための全体手順のフローチャートである。
【００２４】
【図１２】３Ｄポイントクラウドが取得される適用可能な動作範囲を示す、図１０の構成で用いられる模範的な３Ｄカメラアセンブリの正面図である。
【００２５】
【図１３】図１１の全体手順に従って生成された複合ポイントクラウドにポイントを追加するための手順のより詳細なフローチャートである。
【００２６】
【図１４】１台以上の３Ｄカメラによって取得されたオブジェクト（例えばギア）の偽ポイントの発生を示す３Ｄポイントクラウドの２Ｄレンダリングに基づく概念図である。及び
【００２７】
【図１５】３Ｄポイントクラウドから偽ポイントを除去した後の図１４のオブジェクトの３Ｄポイントクラウドの２Ｄレンダリングに基づく概念図である。
【発明を実施するための形態】
【００２８】
Ｉ．システム概観図
【００２９】
図１は、離散的３Ｄカメラ１２０、１２２を有する１台以上の３Ｄビジョンシステムカメラアセンブリの視野（ＦＯＶ）の動作範囲内で撮像された、１個以上のオブジェクト１１０，１１２の特徴の検査及び／又は解析に使用するためのマシンビジョンシステム構成（本明細書では「ビジョンシステム」とも呼ぶ）１００を示している。本明細書では以下に専ら模範的なカメラ１２０に言及することに留意されたい。但し、カメラアセンブリ全体は複数の追加のカメラ（例えば仮想線で示すカメラアセンブリ１２２）を含むことができる。各３Ｄカメラ（１２０、１３０）は、コンポーネントの任意の受入れ可能な構成であってよく、典型的にＣＣＤ又はＣＭＯＳなど任意の受入れ可能な撮像技術に基づいて、それぞれのレンズアセンブリ１２１と、画像センサ（又は「イメージャ」）Ｓを内蔵したカメラ本体１２４を含んでいる。イメージャＳは、（例えばカメラの座標系１２８それぞれのｘｉ、ｙｉの軸に沿って）１次元又は２次元の画像を画像ピクセルの配列で取得するように構成でき、これらの画像ピクセルはシーンをグレースケール又はカラーで検出するように適合できる。カメラアセンブリ１２０は更に、各オブジェクト１１０及び１１２の表面の３Ｄ「レンジ画像」を構成する第３の直交次元（例えばそれぞれのｚ軸に沿った高さ）を決定するように適合できる。それぞれの画像ピクセルに対して高さデータを生成するために多様な技術を採用できる。代替的に、３Ｄビジョンシステムカメラアセンブリは適当なカメラ機能と設定を用いて３Ｄポイントの集合体（ポイントクラウド）を直接取得できる。図１に１台若しくは２台のカメラを示す例に加えて、３Ｄカメラアセンブリ全体構成でより多くの数の（例えば３台以上の）カメラを用いることができ、また本明細書ではオブジェクト表面の３Ｄポイントクラウド又はレンジ画像表現を生成するための１台以上の離散的３Ｄカメラの全体構成を記述するために代替的に「３Ｄカメラアセンブリ」という言葉を用いることがあることに留意されたい。
【００３０】
図示されていないが、３Ｄレンジ画像又はポイントクラウドを生成するために用いられる３Ｄカメラアセンブリの１つの模範的なタイプはレーザ変位センサである。これはレーザ光の扇形をオブジェクト表面に投影して（例えばｘ軸方向に対して横断方向に向けられた）線を形成し、投影された線からレーザ変位センサのイメージャＳで反射光を、扇形照明の平面とそれぞれのイメージャの光学軸ＯＡとの間の相対的角度で受け取る。上述したように、レンジ又は高さ情報を生成するために他の様態も使用でき、これには例えばＬＩＤＡＲ、構造化された照明システム、飛行時間センサ、立体ビジョンシステム（例えば１対の離間したカメラ１２０及び１２２）、ＤＬＰ計測などを含む。これらのシステムはすべてピクセルに高さ値（例えばｚ座標）を与える画像を生成する。
【００３１】
典型的な構成において、３Ｄカメラ１２０及び／又はオブジェクト１１０は相対的に（例えば１台以上のカメラの物理的ｙ軸座標方向で）運動できるので、オブジェクト表面はレーザ変位センサによってスキャンされて、レーザ線の一連の画像が所望された空間的間隔で、典型的には運動情報１４０をシステムビジョンプロセッサ（１５０、以下に説明する）に送るモーションコントローラ及び関連するエンコーダ又は他の運動測定デバイスと連携して（或いは時間ベースの間隔で）取得される。これに関して、運動方向に沿ったオブジェクト上のポイントの位置は、座標Ｙｉとして定義される。３Ｄカメラアセンブリによって取得されるポイント（Ｘｉ、Ｙｉ、Ｚｉ）の集合体は、ポイントクラウドとして定義される。飛行時間センサ３Ｄカメラなどを用いる他の実施形態では、相対的運動は必要ない。
【００３２】
カメラ本体１２４は、関連するビジョンプロセスを操作するビジョンシステムプロセッサ１５０を構成する種々の画像処理コンポーネントを含むことができる。ビジョンプロセッサ１５０はシーン及び／又は他のソース（例えばモデルのＣＡＤ表現）の取得された画像に基づく画像データ１４２上で作動し、ビジョンシステムツール及びプロセス１５２を用いて取得された画像から情報を抽出できる。この情報は興味のある特徴及び画像内に現れる他のアイテムに関係づけることができる。例えば米国マサチューセッツ州ネイティック市のコグネックス株式会社から市販されている既知のＰａｔＭａｘ（登録商標）などのビジョンシステムツールを使用して、画像内の２Ｄ特徴及び３Ｄ特徴を解析して、相対的ポーズ、アライメント及び他のディテール、例えばエッジ、ブロブなどに関する情報を提供できる。ビジョンシステムプロセスの一部又は全部をカメラアセンブリ１２０の本体１２４内で実行できるが、プロセスの一部又は全部を（有線又は無線で）相互接続されたコンピューティングデバイス／プロセッサ１６０、例えば適当なユーザインタフェース（マウス／キーボード）１６２及び／又はディスプレイ１６４（例えばタッチスクリーン）を有する専用プロセッサ又は汎用コンピュータ（例えばサーバー、ＰＣ、ラップトップ、スマートフォン、タブレットなど）によって実行できることが明確に想定されている。更に、相互接続されたコンピューティングデバイス／プロセッサ１６０は、オブジェクト／アライメント１６８について処理された画像情報を用いて、通信リンク１６６又は他のインタフェース構成を介してユーティライゼーションプロセス若しくはタスクを実行できる。例えばビジョンシステムが検査タスクを実行する場合、これらの情報を用いて品質管理情報をデータベースに送ったり、生産ラインで欠陥品を拒否したりできる。
【００３３】
訓練プロセス（プロセッサ）又はモジュール１５４は、モデルと、実行時（ターゲット）オブジェクトの実行時３Ｄレンジ画像又はポイントクラウド画像から見いだされた特徴とのアライメントを容易にする特徴を定義する３Ｄレンジ画像又はポイントクラウドデータからなる１つ以上の３Ｄモデル／表現の訓練及び保存を扱う。訓練されたモデルは、オブジェクトの全体ビューで見いだされた特徴、特定のオブジェクト及び／又は多数のオブジェクトの異なる部分又は向きで見いだされた特徴を包含できる。
【００３４】
例示的な実施形態において、ビジョンプロセス及びプロセッサ１５０は、モデルの特徴と実行時（ターゲット）３Ｄ画像の特徴とのアライメントを試みる適当なアライメントアルゴリズム（又はプロセス）を用いるアライメントプロセス（プロセッサ）又はモジュール１５６を含んでいる。アライメントプロセス（プロセッサ）１５６及び訓練プロセス（プロセッサ）１５４は、各々３Ｄアライメント可視性プロセス（プロセッサ）又はモジュール１５８と相互作用し、これは実行時３Ｄポイントクラウドの自己遮蔽ポーズに対する可視性チェックを実行する。
【００３５】
更にプロセッサ１５０は偽ポイント除去プロセス（プロセッサ）１５９を含んでいる。これについては以下に説明するが、その機能は一般的にそれぞれの３Ｄカメラアセンブリ（例えばカメラ１２０、１２２）によって多数の視点から取得されたオブジェクト（例えばオブジェクト１１０）の全体３Ｄポイントクラウドが、実際のオブジェクトの部分ではない偽ポイント（ノイズ）を含まないようにすることである。
【００３６】
ＩＩ．部分的に遮蔽されたオブジェクトのアライメント
【００３７】
図２の手順２００を参照して、システムはステップ２１０で、典型的にそれぞれ１つ以上の３Ｄポイントクラウドとして定義される１つ以上の３Ｄ訓練画像を提供する。手順２００は、実行時シーン内の訓練されたモデルパターンの位置を対象としている。システム及び関連する手順２００の操作中、複数の候補ポーズが生成される。各候補は、シーン内の訓練されたモデルパターンの可能な位置である。目標は、各々の候補に（非制限的な例として正規化された）０．０〜１．０の数値スコア若しくは値を割り当てることであり、ここで０．０は可能な限り最悪の一致であり、１．０は可能な限り最良の一致である。
【００３８】
訓練モデル画像は実際のオブジェクトから取得でき、又は合成画像、例えば１つ以上の視点からのオブジェクトのＣＡＤ表現として定義できる。一般に、訓練されたモデルパターンは、システムが３Ｄアライメント手順を実行する間使用される補助データ構造のセットと併せて、ユーザが見つけようとする３Ｄデータ構造（例えばポイントクラウド）の形式である。この例では、訓練されたモデルパターンは、ＣＡＤ又は多数のビューを包含する取得システムのいずれかからオブジェクトの完全なビューを定義する。この模範的なモデル４１０は、図４に示されている。
【００３９】
ステップ２２０で、手順２００は１つ以上の実行時オブジェクトの画像データを包含する１つ以上の実行時３Ｄポイントクラウドを取得する。図１に示されているように、模範的なオブジェクト１１０及び１１２は各々カメラアセンブリ１２０がアライメント手順に影響を及ぼす可能性のある不完全な画像を撮像するインスタンスを表わす。より具体的には、オブジェクト１１０は全体がカメラの動作範囲１７０（カメラ光学系１２１に向かって上方に細くなるピラミッドとして定義）内にあるが、実際の欠陥１７２（仮想線で示す）を実行時オブジェクトの欠落部分１７４の形式で含んでいる。検査環境ではそのようなオブジェクトは拒否されよう。反対に、欠陥のない完全なオブジェクト１１２が撮像されると部分的にカメラ１２０の動作範囲外にあるか、又はさもなければ遮蔽されている（動作範囲１７０の境界の外の部分１７４）。部分１７４は、カメラ１２２の動作範囲１７６（仮想線で示す）内にあることに留意されたい。
【００４０】
より具体的には、図５を参照すると実行時シーンの例が示されている。この画像は、種々異なるポーズで訓練されたパターンに類似したオブジェクト５１０のゼロ以上のインスタンスを包含する別の３Ｄデータ構造を含んでいる。各インスタンスは訓練されたパターンに対して並進及び回転される。この例では、実行時シーンはオブジェクトの単一の（即ち部分的な）ビューである。
【００４１】
カメラアセンブリは、そのセットアップの部分として保存された種々の校正パラメータ／情報を含んでいる。アライメントアルゴリズムは、検出セットアップに関連する情報（例えば校正情報）を利用できる。これは手順２００の後続ステップで使用される。
【００４２】
手順ステップ２３０で、手順２００は訓練されたポイントクラウドを基準にして実行時ポイントクラウドのコースアライメント（粗いアライメント）の実行を試みて何らかの可能な候補ポーズの位置を特定する。以下に述べるように、このコースアライメントを用いて、更に別の評価候補ポーズに基づいて精緻化されたアライメントが可能となる。
【００４３】
手順２００は、各候補ポーズ対モデルポイントクラウドに対する一致の品質を評価する（ステップ２４０）。この手順ステップは、候補がいかに良質であるか評価する。この手順は訓練モデル、実行時画像及び校正情報の入力に加えて、パターンを実行時シーンの部分にマッピングする候補ポーズを受け取る。手順はこのシーンの部分はパターンのインスタンスを包含すると仮定し、そのスコアは手順がいかに強くこの仮定に従っているかの測定結果である。図５は、実行時画像５１０を含んだ可能な候補６００をモデルパターン４１０から欠落した部分６１０と組み合わせて表わしている。これはモデルの完全なパターンを提示し、従って可能な限り最良の一致を表わしている。そのためこの候補ポーズは高いスコアを受け取ることになる。
【００４４】
手順２００のステップ２５０を参照して、スコアは基本的なカバレッジと候補ポーズを得たクラッタスコアを計算し、次いで２つのスコアをポーズに対する総スコアに結合することによって生成される。カバレッジスコアは、実行時シーンで可視のパターンの比率である。クラッタスコアは、システムが観察している解析中のパターンインスタンスに隣接するシーンにいかに多くの「余分な」ノイズがあるかの測定結果である。１実施形態において、最終的なスコアは次式によって表わされる。
スコア＝カバレッジ−０．５＊クラッタ
クラッタスコアの計算は、有益な背景情報として２０１５年１１月１１日に出願された「ビジョンシステムにおいて３Ｄポイントクラウド一致に使用するクラッタをスコアリングするためのシステム及び方法」と題する同時係属米国特許仮出願第１４／９３８９８号の中でＨｏｎｇｊｕｎＪｉａ他によって論じられており、その教示内容は参照により本明細書に組み込まれる。但し、候補６００においては実行時オブジェクト５１０の一部しか利用できないので、モデルパターン（４１０）の大部分（６１０）は実行時画像に一致していない。慣用的なスコアリングアルゴリズムでは、一致しないすべての部分６１０はカバレッジスコアの素朴な定義に算入されない。他方、図示された一致は本質的に完璧なので、単に実行時画像の一部が遮蔽されているという理由でこの候補を減点するのは避けることが望ましいであろう。
【００４５】
図６に示されたシナリオへの対処を試みるために、手順２００はカバレッジ評価（ステップ２５０）において可視性チェック／調整を実行して、実行時画像５１０で与えられたポイントが全体カバレッジに寄与するかを決定する（手順２００のステップ２６０）。可視性チェック／調整を実行するための一般的プロセス３００が図３に記載されている。プロセスの一部として、ステップ３１０で提供される校正情報はカメラの光学中心及び動作範囲を含んでいる（図１における動作範囲１７０と光学中心１８０の表現参照）。これらのパラメータは利用可能なカメラ情報に最初から含まれており（即ち工場校正によって提供される）、従ってプロセスは例示的な実施形態による可視性チェック／調整の決定においてそれらを（訓練されたモデル及び実行時画像３Ｄポイントクラウドと併せて＿ステップ３２０）利用する。これらの入力が与えられると、ステップ３３０でプロセス３００は光学中心１８０から訓練されたモデル３Ｄポイントクラウド又は実行時３Ｄポイントクラウド内の複数のポイントの各々を指す線分を構成する。ステップ３４０で、プロセス３００は実行時候補ポーズで訓練されたモデル３Ｄポイントクラウドのビューの明確なレンダリングのない（を含まない）ポイント情報を考慮することを制限／排除する。この可視性チェック／調整プロセスの操作例が図７〜図９に示されている。
【００４６】
図７には、候補ポーズ６００が、カメラ１２０の光学中心１８０（校正情報から既知）から実行時画像部分５１０のポイントクラウド上のポイント７２０に引かれた線分７１０と共に示されており、このポイント７２０はカバレッジスコアに寄与する。反対に、図８は候補６００の遮蔽部分６１０上のポイントを指す線分８１０を図示しており、このポイントは当該数学的関係の分子又は分母によるカバレッジスコアに対する寄与から排除される。この排除は、遮蔽されたポイント８２０よりカメラ１２０に近い線分に沿って実行時部分５１０上に干渉的な遮蔽ポイント８３０が存在する結果として生じる。
【００４７】
非限定的な例として、カバレッジスコアを計算するためのルーチンの要約は次の通りである。
考慮されるポイント数＝０；
カバーされるポイント数＝０；
パターン内の各ポイントについて
候補ポーズを通してポイントをマッピングする。
マッピングされたポイントが遮蔽されていない場合：［可視性チェック］
考慮されるポイント数＝考慮されるポイント数＋１；
マッピングされたポイントが実行時シーン内のポイントに近い場合：
カバーされるポイント数＝カバーされるポイント数＋１
カバレッジスコア＝カバーされるポイント数／考慮されるポイント数；
ここで、可視性チェックとは、上述したプロセス（３００及び図７〜図８）の実行をいう。
【００４８】
クラッタの全体候補スコアに対する寄与はカバレッジスコア修正と同様のやり方で修正できるので、逆問題（即ち実行時シーンがパターン内で遮蔽された部分を包含する）が回避されることに留意されたい。そのようなインスタンスにおいて、オブジェクトの完全で実行時画像が存在するならば通常は排除されるであろう候補ポーズ上のポイントを特定して排除するために、光学中心から線分が引かれる。
【００４９】
簡単に要約すると、可視性チェック／調整を評価するためのステップは、（ａ）カメラ設定情報、（ｂ）上述したルーチンから「マッピングされたポイント」を含むクエリポイント、及び（ｃ）実行時シーンがボクセルグリッドで保持され得る実行時シーンの使用を含んでいる。こらは一連のボクセルによって定義でき、各ボクセルは所定の数のポイントを包含できる。このボクセルグリッド９１０は、図９に従って表わすことができる。ここに図示されている設定ではかメラ１２０は上方に配置されているので、ボクセル内の各ポイントは遮蔽の方向９４０に沿って下方のボクセル内の全ポイントを遮蔽する。こうしてルーチンは、クエリポイント９３０とカメラ１２０を結ぶ線分９２０の任意の部分を包含するグリッド９１０内の全列のボクセルをチェックする。この列内で最も上方のポイントが線の任意のポイントより高い場合は線は実行時シーンを横切るのでクエリポイントは遮蔽されている。そうでない場合は、クエリポイントは遮蔽されていない。従って図９に示されている例では、線分９２０に沿った（実行時部分５１０を通る）ボクセルの列上のポイントはクエリポイント９３０を遮蔽する。それゆえルーチンは、クエリポイント９３０が遮蔽されていることを示す。
【００５０】
定義により、クエリポイントは次の通り分類できる。（１）全面的に可視であり、ポイントはカメラアセンブリ内のカメラの動作範囲の和集合内にあり、取得システムがこのポイントを観察することを妨げているシーン内の他のポイントはない。（２）遮蔽されており、ポイントはカメラアセンブリの動作範囲の和集合内にあるが、シーン内の他のポイントは取得システムがこのポイントを観察することを妨げている。（３）動作範囲外にあり、ポイントは特定のカメラの動作範囲の和集合外にあるので、取得システムは残余のシーンにかかわりなくこのポイントを観察できないであろう。
【００５１】
再び図２の全体手順２００を参照して、（決定ステップ２７０により）すべての候補ポーズがスコアリングされるまで、ステップ２５０とステップ２６０に従い各候補ポーズのカバレッジスコアが評価及び修正される。次いで（決定ステップ２７０により）スコアが比較されて、最良のスコア及び／又は所定の閾値を上回るスコアを有する候補は、アライメント結果としてステップ２８０に戻される。手順２００はカメラアセンブリ全体における各カメラ及び関連する動作範囲に用いられ、及びアライメント結果は必要に応じて結合できることに留意されたい。例示的にカメラアセンブリはすべて（例えばハンドアイ校正技術を用いて）単一のグローバル座標系で校正でき、又は各カメラはそのローカル座標系で作動できる。
【００５２】
更に、可視性チェック／調整プロセスは精度及び／又は性能を向上させるために修正できる。例えば上述した可視性プロセスはバッチアプローチを行い、最終的なカバレッジ（及び／又はクラッタ）スコアを決定する前に各ポイントが考慮される。代替的に、漸進的アプローチを用いることができ、（ａ）多数の候補ポーズに対する訓練されたモデルパターンの１部分を評価し、（ｂ）後続の処理のためにこれらのポーズのサブセットを選択し、（ｃ）パターンの種々異なる部分を考慮する。手順が訓練された全モデルパターンを評価するまで、又は多数の可能な候補ポーズを唯一の可能な候補ポーズに絞るまで、ステップ（ａ）から（ｃ）を繰り返す。本明細書で用いる「漸進的」又は「漸進的に」という用語は、上述した一般的手順のことをいう。種々の実施形態において、遮蔽を決定するために隠線除去ハードウェア、（例えば）単一命令複数データ（ＳＩＭＤ）マシン加速ハードウェアも使用できる。
【００５３】
上述した手順及びその修正は、典型的にグラフィックカードＧＰＵ（例えばＳＩＭＤマシン）よりも、コンピュータＣＰＵ上で動くプログラミング言語の使用を想定していることに留意されたい。プロセスがＧＰＵ上で動く場合は、多数のポイントを同時にマッピングでき、可視性チェック／調整を並行してＧＰＵ言語で、例えばダイレクトＸシェーダ言語（ＨＬＳＬ）又はオープンＧＬシェーダ言語（ＧＬＳＬ）を用いて実行できることが想定されている。
【００５４】
ＩＩＩ．３Ｄポイントクラウドからの偽ポイント及び／又はノイズの除去
【００５５】
再び図１のプロセッサ１５０を参照して、上述した他のプロセス／プロセッサ及び／又はモジュール１５２、１５４、１５６及び１５８に加えて偽ポイント除去プロセス（プロセッサ）１５９が提供される。図１０の模範的な構成１０００も参照すると、例示的な実施形態は、模範的なオブジェクト１０３０に対して所定の視点（ＯＡ１及びＯＡ２）で向けられた、複数のそれぞれのカメラ１０２０及び１０２２から取得された画像データ１０１０及び１０１２の結合によって生成される３Ｄポイントクラウド内の偽ポイントを除去する。図示されているように、模範的なオブジェクト１０３０は、単純化のために無関係な特徴を除いた直線的な６面形状を画定している。取得された各３Ｄポイントクラウド１０１０及び１０１２は、光学的効果又は他の原因（例えば内部反射）のために追加のポイント／特徴１０４０、１０４２を含んでいるが、これらはプロセッサ１５０によって生成されてアライメントされた全体３Ｄポイントクラウド１０５０に融合される。以下に述べるように、この偽の画像データは破線１０６０及び１０６２で示されている通り最終バージョンのポイントクラウドから除去（削除）される。図示されていないが、模範的なオブジェクトの全３６０度ビューを取得して、ポイントクラウドデータを供給するように複数のカメラを配置できることが想定されており、これらのデータはプロセッサによって撮像されたオブジェクトの全体３Ｄポイントクラウド表現に結合できる。
【００５６】
図１１は、訓練中又は実行時に使用するオブジェクトの複数の３Ｄ登録画像から、偽ポイントを除外する複合ポイントクラウドを生成するための全体手順１１００を示すフローチャートを示している。ステップ１１１０で、システムは３Ｄカメラセンサから複数の向き／視点の各々でオブジェクトの１つ以上の３Ｄ画像を取得し、この画像データがシステムプロセッサ及び関連するビジョンシステムプロセスに３Ｄポイントクラウドデータとして提供される。ステップ１１２０で、システムは各カメラの位置／向きについての情報を提供する。この情報は、校正中決定されたグローバル座標系内の相対的光学軸角度、及び他のカメラからの相対的距離、及び／又は座標系内の基準点として定義され得る。焦点距離など他のパラメータも提供することができる。更に以下に述べるように、この情報はポイント可視性の決定を支援するために使用される。
【００５７】
ステップ１１３０で、システムは３Ｄポイントクラウド及びカメラ位置からの情報を使用してオブジェクトの推定されたポーズを計算する。このポーズ情報（図１０の１０７０）は、ビジョンシステムプロセス（プロセッサ）に送られる。従って要約すると、この基本的手順に対する入力は、（ａ）ポイントクラウド、（ｂ）オブジェクトポーズ、及び（ｃ）センサ情報からなる１組のデータセットであり、そのようなデータの各々は（ｉ）測定されたポイントクラウド、（ｉｉ）ポイントクラウドを生じさせるオブジェクトの推定されたポーズ、及び（ｉｉｉ）各ポイントについて可視性を計算するためのセンサについての情報を含んでいる。可視性基準は、センサの測定領域を基準にして測定された位置、及びセンサを基準にした（上述の）局所的面法線に基づくことができる。次いでこのポイントクラウドから（以下に定義する）「近傍」ポイントを考慮することによって局所的面法線を外挿できる。
【００５８】
一般に、また図１２を参照して、模範的なカメラ／センサ構成１２００はシーン１２１２の画像を取得する３Ｄカメラ／センサ１２１０を示しており、光学軸ＯＡ３が撮像されるシーン１２１２の平面に対して垂直でない結果として一部遠いＦＯＶ１２４０と近いＦＯＶ１２５０によって画定された境界を有する広い視野（ＦＯＶ）１２３０の内部に、小さい動作範囲１２２０が画定される。この手順１１００は、カメラ／センサ１２１０は特定の相対的ポーズでシーンの３Ｄ測定を取得し、及びこの相対的ポーズはユーザによって供給され得る（部品又はセンサが既知のポーズで位置決めされた場合）と仮定する。これは例えば（与えられた運動座標空間における）ロボットとセンサの間のハンドアイ校正が既知であるか、又は（種々の３Ｄ測定で特徴のサブセットを登録することに基づいて）推測される場合にロボットによって行われる。例示的な手順において、各ビューで生じるすべての３Ｄ測定を含むすべてのビューは、ビジョンシステムプロセス（プロセッサ）によって解析される。解析における最も主要な操作は、オブジェクト上の３Ｄポイントが特定の３Ｄセンサに可視であるべきかを決定する予想される可視性ヒューリスティックに基づいている。更に、予想される可視性ヒューリスティックは、センサの測定領域（即ち動作範囲１２２０）、並びに各３Ｄポイントと関連する局所的面法線に基づいている。
【００５９】
ステップ１１４０で、手順１１００は各ポイントクラウド内の確証されたポイントを決定する。これは各ポイントクラウド内のポイントと、センサからプロセッサに供給される登録されたポイントクラウドのグループ全体における他のポイントクラウド内で可視であると予想されるポイントとの比較を伴う。この可視性決定は、図１３の手順１３１０に従って導かれ、これは次のアルゴリズムによって表される。
ポイントクラウドからの各ポイントｐについて
Ｐがそのポイントクラウド内で可視であれば（これは特にｐが偽である場合には常に該当するわけではない）、ｐが可視であると予想されるすべての他の登録された（アライメントされた）ポイントクラウドＣｉと比較する（ステップ１３１０）。
Ｃｉ内にｐに十分近い対応するポイントｐｉがあるか決定し、Ｃｉ内に対応するポイントｐｉがある場合は、Ｃｉは（ｐに関して）可視であると規定する（ステップ１３２０）。
ｐが可視であるポイントクラウドＣｉの比率、即ち｜可視（｛Ｃｉ｝）｜／｜｛Ｃｉ｝｜が閾値Ｔを超えると（決定ステップ１３３０）、次いで複合ポイントクラウドにｐを追加する（ステップ１３４０）。そうでない場合はポイントｐを偽とマークして複合ポイントクラウドから除外する（１３５０）。
【００６０】
次の点に留意されたい。（１）面法線（ない場合）はソースポイントクラウドについて計算されて可視性手順に対して使用される（１３００）、（２）複合ポイントクラウドは第１のソースポイントクラウドのクライアント３ＤＦｒｏｍＰｏｉｎｔＣｌｏｕｄ３Ｄ変換をコピーする。及び（３）センサ情報（最初のソースポイントクラウドで提供される場合）は適当に複合ポイントクラウドに包含される（これは最初のＳｅｎｓｏｒ３ＤＦｒｏｍＧｅｏｍｅｔｒｙ３Ｄ変換を更新して、クライアント３ＤＦｒｏｍＰｏｉｎｔＣｌｏｕｄ３Ｄ変換は各ソースポイントから複合ポイントクラウドに変化するという事実を反映することを伴う）。
【００６１】
このヒューリスティックは次の２つのパラメータを有する。（１）（最初のポイントｐとこれに対応する他のクラウドＣｉ内の変換されたポイントｐｉとの）距離誤差、及び（２）可視性比率閾値Ｔ、即ち複合ポイントクラウドに包含されるためには予想される可視ポイントが見られなければならないすべてのクラウドの比率。閾値Ｔは種々のパラメータ又は特性、例えばセンサの数、露出レベルなどに基づいて自動的に設定される。代替的に、閾値Ｔはビジョンシステムソフトウェアアプリケーション内でユーザインタフェースを用いて設定できる。
【００６２】
次いで主要な手順１１００は、ステップ１１５０で多数の登録されたポイントクラウドから、（それぞれのポイントクラウド内で）すべての確証されたポイントを連結させる複合ポイントクラウドを計算する。そのようなポイントは、ポイントが可視であると予想される他のポイントクラウド内で可視であれば確証されている。次いで手順１１００はステップ１１６０で、偽ポイントが除去／除外された複合ポイントクラウドを提供する。これはモデルの生成、又は種々のビジョンシステム解析プロセス、例えばアライメント、検査、ロボットガイダンスなどの実行に使用するための正確な３Ｄ表現オブジェクトを利用可能にする。
【００６３】
図１４のスクリーンディスプレイを参照すると、これは複数の３Ｄポイントクラウド生成センサによって取得されたオブジェクト（例えばギア）の画像１４００を示している。画像１４００は、１つ以上のポイントクラウド内の偽ポイントの結果としてノイズを含んでいる。反対に、ここに記載された模範的な実施形態による除去手順を適用することにより、その結果として図１５の画像１５００が生成される。偽ポイント／ノイズが少なければ少ないほどエッジは鮮明で明確に現れることに留意されたい。
【００６４】
図示されていないが、カメラ／センサはオブジェクトの全３６０度を撮像するように組み付け得ることは明白であろう。オブジェクトの完全なカバレッジを保証するためにＦＯＶ及び／又は動作範囲はオーバーラップできる。適当な照明も提供され得る。
【００６５】
上述したアライメントシステム及び方法が、自己遮蔽が存在する場合にモデル３Ｄポイントクラウドと実行時３Ｄポイントクラウドアライメントするための効果的な技術を提供することは明白であろう。このシステム及び方法は、実行時オブジェクトの全面的に可視のビューを含む又は含まない複数のカメラ及び関連する動作範囲で使用できる。このシステム及び方法は、多様な処理プラットフォームで作動するように適合されている。同様に、オブジェクトの３Ｄ画像を生成するための効果的な技術も本明細書中に記載されている。この技術は複数のポイントクラウド内で予想される可視ポイントと比較することにより偽ポイントの形式のノイズを効果的に除去して、それらが十分な数のそのようなポイントクラウドに現れないように削除する。
【００６６】
以上、本発明の例示的な実施形態を詳細に説明した。本発明の精神と範囲を逸脱することなく種々の改変及び追加を行うことができる。上述した種々の実施形態の各々の特徴は、関連する新しい実施形態において多数の特徴の組み合わせを提供するのに適する限り、別の記載された実施形態の特徴と組み合わされてよい。更に、上に本発明の装置と方法の多数の別個の実施形態を記したが、ここに記載されたものは本発明の原理の応用を例示したものに過ぎない。例えば、本明細書で使用される様々な方向及び／又は向きを表わす用語、例えば、「垂直」、「水平」、「上」、「下」、「底部」、「頂部」、「側部」、「前部」、「後部」、「左」、「右」、「前方」、「後方」及びこれに類するものは、相対的な表現法として用いられているに過ぎず、重力の作用方向など固定した座標系を基準とした絶対的な向きを表わすものではない。更に、図示されたプロセス又はプロセッサは他のプロセス及び／又はプロセッサと組み合わせ、又は種々のサブプロセス又はサブプロセッサに分割されてよい。そのようなサブプロセス及び／又はサブプロセッサは、本明細書に記載された実施形態に従って多様に組み合わせることができる。同様に、本明細書中の何らかの機能、プロセス及び／又はプロセッサは、プログラム命令の非一時的コンピュータ可読媒体からなる電子ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組み合わせを用いて実施できることが明確に想定されている。従ってこの説明は例示の方法によるものとしてのみ受け取られるべきであり、それ以外に本発明の範囲を制限することを意味するものではない。
【００６７】
以下に特許請求の範囲を記載する。
【図１】
2018055675.tif 000003
【図２】
2018055675.tif 000004
【図３】
2018055675.tif 000005
【図４】
2018055675.tif 000006
【図５】
2018055675.tif 000007
【図６】
2018055675.tif 000008
【図７】
2018055675.tif 000009
【図８】
2018055675.tif 000010
【図９】
2018055675.tif 000011
【図１０】
2018055675.tif 000012
【図１１】
2018055675.tif 000013
【図１２】
2018055675.tif 000014
【図１３】
2018055675.tif 000015
【図１４】
2018055675.tif 000016
【図１５】
2018055675.tif 000017
【外国語明細書】
2018055675000001.pdf