(57)【要約】      （修正有）【課題】３Ｄカメラアセンブリによって取得したオブジェクトの３Ｄ画像内の３Ｄモデルの姿勢を正確に検出するためのシステム及び方法を提供する。【解決手段】３Ｄカメラアセンブリによって取得したオブジェクトの３Ｄ画像内の３Ｄモデルの姿勢を検出するための方法は、３Ｄモデルをビジョンシステムプロセッサに提供するステップと、取得した３Ｄ画像をビジョンシステムプロセッサに提供するステップと、プロセッサを用いて姿勢を検出するステップであって、姿勢は３Ｄモデル内の３Ｄエッジを３Ｄ画像内の３Ｄエッジに一致させ、同時に、３Ｄモデル内の３Ｄ法線を３Ｄ画像内の３Ｄ法線に一致させるものである、検出するステップと、を含む。【選択図】図２
2019153290.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄカメラアセンブリによって取得したオブジェクトの３Ｄ画像内の３Ｄモデルの姿勢を検出するための方法であって、
３Ｄモデルをビジョンシステムプロセッサに提供するステップと、
取得した３Ｄ画像をビジョンシステムプロセッサに提供するステップと、
前記プロセッサを用いて前記姿勢を検出するステップであって、前記姿勢は前記３Ｄモデル内の３Ｄエッジを前記３Ｄ画像内の３Ｄエッジに一致させ、同時に、前記３Ｄモデル内の３Ｄ法線を前記３Ｄ画像内の３Ｄ法線に一致させるものである、前記検出するステップと、
を含む上記方法。
【請求項２】
前記検出するステップは、画像内の３Ｄエッジの使用を３Ｄ法線に対比して重み付けするために、３Ｄ画像内の３Ｄエッジと３Ｄ画像内の３Ｄ法線に重み付けを適用することを含む、請求項１に記載の方法。
【請求項３】
前記検出するステップは、（ａ）オブジェクトの面は３Ｄ法線に対して平行な方向におけるアライメントに関する情報を提供するか、及び（ｂ）オブジェクトのエッジはエッジに対して垂直な１つ以上の方向におけるアライメントに関する情報を提供するかを、それぞれ決定する、請求項２に記載の方法。
【請求項４】
更に、点対線メトリックを用いて、３Ｄモデル内の３Ｄエッジを３Ｄ画像内の３Ｄエッジに一致させることを含む、請求項１に記載の方法。
【請求項５】
更に、点対面メトリックを用いて、３Ｄモデル内の３Ｄ法線を３Ｄ画像内の３Ｄ法線に一致させることを含む、請求項４に記載の方法。
【請求項６】
更に、点対面メトリックを用いて、３Ｄモデル内の３Ｄ法線を３Ｄ画像内の３Ｄ法線に一致させることを含む、請求項１に記載の方法。
【請求項７】
前記検出するステップは、十分な量の情報が存在する方向を表す法線情報マトリックスを定義することを含む、請求項３に記載の方法。
【請求項８】
更に、前記情報を特定するために前記マトリックスで主成分分析（ＰＣＡ）を実行するステップ、および、その情報が前記検出するステップで使用するために利用可能であるか決定するステップを含む、請求項７に記載の方法。
【請求項９】
前記実行するステップは、各方向で寄与された情報の量と、利用可能な情報について、それぞれエッジを評価することを含む、請求項８に記載の方法。
【請求項１０】
前記実行するステップは、
（ａ）各エッジの１つが有用な方向で相当な量の情報に寄与する場合は、計算においてそのエッジの１つに高い重みを割り当て、そして
（ｂ）各エッジの１つが有用な方向で相当な量の情報に寄与しないか又はその方向が有用でない場合は、計算においてそのエッジの１つに比較的低い重みを割り当てることによってエッジを評価する、請求項９に記載の方法。
【請求項１１】
更に、点対面メトリックを用いて計算した距離の合計と、点対エッジメトリックを用いて計算した距離の合計を同時に最小化する線形最小化関数の操作を含む、請求項６に記載の方法。
【請求項１２】
３Ｄカメラアセンブリによって取得したオブジェクトの３Ｄ画像内の３Ｄモデルの姿勢を検出するためのシステムであって、
３Ｄモデルと取得した３Ｄ画像を受信するビジョンシステムプロセッサと、
前記３Ｄモデル内の３Ｄエッジを前記３Ｄ画像内の３Ｄエッジに一致させ、同時に、前記３Ｄモデル内の３Ｄ法線を前記３Ｄ画像内の３Ｄ法線に一致させる、姿勢検出プロセスと、
を含むシステム。
【請求項１３】
前記姿勢検出プロセスは、画像内の３Ｄエッジの使用を３Ｄ法線に対比して重み付けするために、３Ｄ画像内の３Ｄ画像と３Ｄ画像内の３Ｄ法線に重み付けを適用する、請求項１２に記載のシステム。
【請求項１４】
前記姿勢検出プロセスは、（ａ）オブジェクトの面は３Ｄ法線に対して平行な方向におけるアライメントに関する情報を提供するか、（ｂ）オブジェクトのエッジはエッジに対して垂直な１つ以上の方向におけるアライメントに関する情報を提供するかを、それぞれ決定する、請求項１３に記載のシステム。
【請求項１５】
前記姿勢検出プロセスは、少なくとも（ａ）点対線メトリックを用いて、３Ｄモデル内の３Ｄエッジを３Ｄ画像内の３Ｄエッジに一致させるか、又は（ｂ）点対線メトリックを用いて、３Ｄモデル内の３Ｄ法線を３Ｄ画像内の３Ｄ法線に一致させる、請求項１４に記載のシステム。
【請求項１６】
前記姿勢検出プロセスは、十分な量の情報が存在する方向を表す法線情報マトリックスを定義する、請求項１５に記載のシステム。
【請求項１７】
前記姿勢検出プロセスは、前記マトリックスで主成分分析（ＰＣＡ）を実行して情報を特定し、その情報が姿勢検出のために利用できるか決定する、請求項１６に記載のシステム。
【請求項１８】
前記姿勢検出プロセスは、各方向で寄与された情報の量と、利用可能な情報について、それぞれエッジを評価する評価プロセスを含む、請求項１７に記載のシステム。
【請求項１９】
前記評価プロセスは、
（ａ）各エッジの１つが有用な方向で相当な量の情報に寄与する場合は、計算においてそのエッジの１つに高い重みを割り当て、
（ｂ）各エッジの１つが有用な方向で相当な量の情報に寄与しないか又はその方向が有用でない場合は、計算においてそのエッジの１つに比較的低い重みを割り当てることによって姿勢エッジを評価する、請求項１８に記載のシステム。
【請求項２０】
更に、点対面メトリックを用いて計算した距離の合計と、点対エッジメトリックを用いて計算した距離の合計を同時に最小化する線形最小化プロセスを含む、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマシンビジョンシステムに関し、より具体的には訓練された３Ｄパターンに関して三次元（３Ｄ）画像特徴を特定してアラインメントするビジョンシステムに関する。
【背景技術】
【０００２】
本明細書で「ビジョンシステム」とも呼ばれるマシンビジョンシステムは、製造環境において様々なタスクを実行するために使用される。概して、ビジョンシステムは、製造中のオブジェクトを含むシーンのグレースケール画像又はカラー画像を取得する画像センサ（又は「イメージャ」）を備えた１つ以上のカメラアセンブリからなる。オブジェクトの画像を分析して、データ／情報をユーザー及び関連する製造工程に提供できる。カメラによって生成されたデータは、通常ビジョンシステムにより１つ以上のビジョンシステムプロセッサにおいて分析及び処理される。この場合、ビジョンシステムプロセッサは専用に製造されたものであるか、汎用コンピュータ（例えばＰＣ、ラップトップ、タブレット又はスマートフォン）内でインスタンス化された１つ以上のソフトウェアアプリケーションであってよい。
【０００３】
一般的なビジョンシステムのタスクには、アライメントと検査を含む。アラインメントタスクにおいて、マサチューセッツ州ネイティックのコグネックスコーポレーションから市販されている周知のＰａｔＭａｘ（登録商標）システムのようなビジョンシステムツールは、あるシーンの二次元（２Ｄ）画像内の特徴を（実際のモデル又は合成モデルを用いて）訓練された２Ｄパターンと比較して、２Ｄ撮像されたシーンにおける２Ｄパターンの有無及び姿勢を決定する。この情報は、後続の検査（又は他の）作業で使用して、欠陥を探索し及び／又は部品拒否など他の操作を実行できる。
【０００４】
ビジョンシステムを用いる特定のタスクは、訓練された３Ｄモデル形状に基づいて実行時に三次元（３Ｄ）ターゲット形状をアラインメントすることである。３Ｄカメラは、様々な技術−例えば、レーザ変位センサ（プロファイラ）、ステレオカメラ、ソナー、レーザ又はＬＩＤＡＲ測距カメラ、飛行時間カメラ、及び他の様々な受動的及び能動的レンジ検出技術に基づくことができる。このようなカメラはレンジ画像を生成し、そこにおいて一連の画像ピクセル（通常は直交するｘ軸とｙ軸に沿った位置として特徴付けられる）が生成され、これはまた各ピクセル（通常はｘ−ｙ面に対して垂直な軸に沿った位置として特徴付けられる）についての第３の（高さ）サイズも含む。代替として、そのようなカメラは撮像されたオブジェクトのポイントクラウド表現を生成できる。ポイントクラウドは、各点ｉを（Ｘｉ、Ｙｉ、Ｚｉ）として表わすことができる空間における３Ｄ点の集合である。ポイントクラウドは、オブジェクトの背面と側面、上面と底面を含む完全な３Ｄオブジェクトを表現できる。３Ｄ点（Ｘｉ、Ｙｉ、Ｚｉ）は、オブジェクトがカメラから見える空間内の位置を表す。この表現では、空のスペースは点が存在しないことによって表される。
【０００５】
比較により、３Ｄレンジ画像表現Ｚ（ｘ、ｙ）は２Ｄ画像表現Ｉ（ｘ、ｙ）に類似しており、奥行又は高さＺは画像内の位置ｘ、ｙにおける輝度／強度Ｉとなる。単一の奥行のみが任意の点位置ｘ、ｙと関連しているので、レンジ画像は専ら直接カメラに対面するオブジェクトの正面を表現する。レンジ画像は通常オブジェクトの背面又は側面、上面又は底面を表現できない。たとえカメラがそのような位置に情報を持っていなくても、レンジ画像は通常あらゆる位置（ｘ、ｙ）にデータを有する。当業者には明白な方法でレンジ画像を３Ｄポイントクラウドに変換することが可能である。
【０００６】
取得された又は合成（例えばＣＡＤ）プロセスによって生成されたターゲット画像を（同様に取得又は合成された）モデル画像にアライメントする際に、１つの手法は最適な姿勢を検出する努力においてターゲット３Ｄポイントクラウドをモデルと一致／比較することを含む。この比較は、モデルを基準にしたターゲットのカバレッジのスコアリングを含むことができる。特定の閾値を超えるスコアは許容可能な一致／姿勢推定と見なされ、この情報はアライメント結果を生成するために使用される。それにもかかわらず３Ｄ画像に基づいてアライメント結果を正確かつ効率的に生成することは困難である。
【０００７】
３Ｄレンジ画像又は３Ｄポイントクラウド画像における３Ｄオブジェクトのアライメントは、それぞれそれらのオブジェクトの３Ｄ形状に適した１つ以上のそれぞれの３Ｄアライメント（登録）アルゴリズムを用いて最もよく達成される。不適切な３Ｄアラインメントアルゴリズムが使用されると、３Ｄアラインメント手順は、誤った結果姿勢を見いだすか、或いは全く結果を見いださないことによって失敗するか又は不十分に実行される可能性がある。より具体的には、反復最接近点（ＩＣＰ）と呼ばれる技術は、ポイントクラウドのアラインメント／登録のための姿勢推定を精緻化するための古典的な手法である。これは点位置や点法線などの一連の特徴を使用して、粗い姿勢を最終的な姿勢に反復的に精緻化する。行わなければならない１つの選択は、ＩＣＰルーチンが最小化するメトリックである。標準的な選択は、ＩＣＰプロセスがソース点から、それらの最も近いエッジまでの距離の合計を最小化する点対線と、ＩＣＰプロセスがソース点から、それらのターゲット点における法線で表される最も近いターゲット点を通る平面までの距離の合計を最小化する点対面である。しかしながら様々な理由から、いずれのメトリックも特に満足できるものではないことが認識されている。例えば、面と面をアライメントする使用例で点対面メトリックが用いられると、システムはオフセットと法線を中心とした回転を決定できるが、法線を中心とした回転に関する情報は提供しない。点対線メトリックは、当業者には明白であるはずのその他の欠点も示す。
【発明の概要】
【０００８】
本発明は、ビジョンシステムを用いて取得した画像において、点対面と点対エッジメトリックとの間でエッジ毎に動的に重み付けすることによって、従来技術の欠点を克服する。このことは適用されたＩＣＰ技術が、様々なオブジェクト（部品）形状及び／又は遮蔽に対してはるかにロバストであることを可能にする。一実施形態において、本明細書に記載するシステム及び方法は、オブジェクトの実行時３Ｄ画像データとモデル３Ｄ画像データのアライメントに使用する候補３Ｄ姿勢を生成するために最小化されたエネルギー関数を提供する。法線はエッジよりもはるかに正確であるため、可能であれば法線を使用することが望ましい。しかしながら、平面など一部の使用例ではエッジは法線が提供しない相対的方向における情報を提供する。従ってこのシステム及び方法は、十分な情報が存在する方向を表すマトリックスである「法線情報マトリックス」を定義する。利用可能な情報の基礎を提供するために、このマトリックスで（例えば）主成分分析（ＰＣＡ）を実行する。例として、このときそれぞれのエッジはそれが各方向で寄与する情報の量と、既に利用可能な情報によって評価される。エッジが分析にとって有用な方向で重要な情報に寄与するならば、そのエッジは計算において高い（例えば１．０に近い）重みを割り当てられる。そうでなければ、エッジは比較的低い（例えば０．０に近い）重みを割り当てられる。この重み付けされたデータは、（例えば）点対面距離の合計と点対エッジ距離の合計とを同時に（並行して）最小化する線形最小化関数を用いて処理される。有利には、この手順はオブジェクトの形状が適切な姿勢を決定するために必要とする場合には、（通常）専ら精度の低いエッジ（のみ）を使用する。また、本明細書に記載するオブジェクトは平面の一部であり得ることに留意されたい。従って、例えば平面を使用する例では、システム及び方法は通常法線が情報を提供する３つの自由度（ＤＯＦ）（例えば２つの傾斜と面法線に沿ったオフセット）を確定するために法線を使用することができ、次に残りのＤＯＦ（例えば面内部の２つの並進と法線周りの回転）に対してはエッジを使用する。逆に言うと、点対線メトリックを単独で用いると通常は明らかに精度の低い結果を生み出し、また点対面メトリックのみを使用することもロバストではない。
【０００９】
例示的な実施形態では、３Ｄカメラアセンブリによって取得したオブジェクトの３Ｄ画像内の３Ｄモデルの姿勢を検出するためのシステム及び方法が提供される。３Ｄモデルは、取得した３Ｄ画像と共にビジョンシステムプロセッサによって処理される。プロセッサに関連付けられた姿勢検出プロセス／モジュールは、３Ｄ姿勢を決定するために、３Ｄモデル内の３Ｄエッジを３Ｄ画像内の３Ｄエッジと、３Ｄモデル内の３Ｄ法線と３Ｄ画像内の３Ｄ法線と同時に一致させる。例として、姿勢検出プロセス／モジュールは、画像内の３Ｄエッジの使用を３Ｄ法線に対比して重み付けするために、３Ｄ画像内の３Ｄエッジと３Ｄ画像内の３Ｄ法線に重み付けを適用する。姿勢検出プロセスはまた、（ａ）オブジェクトの面は３Ｄ法線に対して平行な方向におけるアライメントに関する情報を提供するか、及び（ｂ）オブジェクトのエッジはエッジに対して垂直な１つ以上の方向におけるアライメントに関する情報を提供するかを、それぞれ決定できる。それはまた少なくとも（ａ）点対線メトリックを用いて３Ｄモデル内の３Ｄエッジを３Ｄ画像内の３Ｄエッジに一致させるか、又は（ｂ）点対面メトリックを用いて３Ｄモデル内の３Ｄ法線を３Ｄ画像内の３Ｄ法線に一致させることもできる。更に、姿勢検出プロセスは、十分な量の情報が存在する方向を表す法線情報マトリックスを定義できる。主成分分析（ＰＣＡ）をマトリックスで実行して情報を特定し、その情報が姿勢検出のために利用できるか決定する。姿勢検出プロセスはまた、各方向で寄与された情報の量と利用可能な情報について、それぞれエッジを評価する評価プロセスを含むことができる。例として、評価プロセスは、（ａ）各エッジの１つが有用な方向で相当な量の情報に寄与する場合は、計算においてそのエッジの１つに高い重みを割り当て、（ｂ）各エッジの１つが有用な方向で相当な量の情報に寄与しないか、或いはその方向が有用でない場合は、計算においてそのエッジの１つに比較的低い重みを割り当てることによって姿勢エッジを評価する。更に、点対面メトリックを用いて計算した距離の合計と、点対エッジメトリックを用いて計算した距離の合計を同時に（並行して）最小化する線形最小化プロセスが提供され得る。
【００１０】
以下に添付の図面を参照して本発明を説明する。
【図面の簡単な説明】
【００１１】
【図１】ビジョンシステムによって同時アライメント（登録）アルゴリズムが使用される訓練時又は実行時にオブジェクトの画像を取得する１つ以上の３Ｄカメラアセンブリを含むビジョンシステムの図である。
【００１２】
【図２】一実施形態に従い取得した画像データの実行時アライメントに使用するためのモデル３Ｄ画像データに対する例示的な訓練手順のフロー図である。
【００１３】
【図３】３Ｄ特徴セットの周りに設けられた例示的な境界ボックスを有するモデル３Ｄ画像データの訓練時図示を示す図であり、例示的な各特徴セットの３Ｄ表面形状と関連した２種類の向きと表面法線を有し、方向の違い、従ってまた各特徴セットから得られる情報の重要性を例示する。
【００１４】
【図４】形状を構成する複数の面とエッジの向きを取得した３Ｄ画像から決定できる、特定の向きの直方体形状オブジェクトを示す図である。
【００１５】
【図５】図４に示す向きとは異なる正面向きに向けられた図４の直方体形状を示す図であり、優勢な向きに基づいてより少ない面とエッジを正確に決定できる。
【００１６】
【図６】複数の３Ｄアライメントアルゴリズムのそれぞれの適用可能性を考慮するために、図２のモデルデータに対比してアライメントされるべきオブジェクトの取得した３Ｄ画像におけるエッジと法線の実行時重み付けのための手順のフロー図である。
【００１７】
【図７】図６の重み付け手順に関連する固有値λに対するガウス関数ｇ（λ）の例示的なプロットを示すグラフである。
【図７Ａ】図６の重み付け手順に関連する固有値λに対するガウス関数ｇ（λ）の例示的なプロットを示すグラフである。
【図７Ｂ】図６の重み付け手順に関連する固有値λに対するガウス関数ｇ（λ）の例示的なプロットを示すグラフである。
【図７Ｃ】図６の重み付け手順に関連する固有値λに対するガウス関数ｇ（λ）の例示的なプロットを示すグラフである。
【図７Ｄ】図６の重み付け手順に関連する固有値λに対するガウス関数ｇ（λ）の例示的なプロットを示すグラフである。
【００１８】
【図８】例示的な実施形態に従い、実行時に図６の手順を用いて決定される適切な重み付けを有する３Ｄアライメントアルゴリズムを適用するための手順のフロー図である。
【発明を実施するための形態】
【００１９】
Ｉ．システム概観
【００２０】
図１は、１台以上の３Ｄビジョンシステムカメラアセンブリ１２０及び１３０の視野（ＦＯＶ）内で撮像された、オブジェクト１１０の表面１１２の特徴の検査及び／又は分析に使用するためのマシンビジョンシステム構成（本明細書では「ビジョンシステム」とも呼ばれる）１００を示している。各カメラアセンブリ１２０、１３０は、３Ｄ撮像のためのコンポーネントの任意の受入れ可能な構成であってよい。カメラアセンブリ１２０、１３０は、オブジェクト表面１１２の３Ｄ「レンジ画像」を構成する第３の直交次元（例えば各々のカメラの座標系１２８、１３８のそれぞれのｚ１、ｚＮ軸に沿った高さ）を決定するようにそれぞれ適合されている。それぞれの画像ピクセルについて高さデータを生成するために多様な技術、例えばレーザ変位センサ（プロファイラ）、立体カメラ、ソナー、レーザ又はＬＩＤＡＲレンジ検出カメラ、飛行時間カメラ、及びその他の多様な受動的及び能動的レンジ検出技術を用いることができる。全体構成においては単一のカメラアセンブリ又はより多くの数の（例えば３台以上の）カメラアセンブリを用いることができ、またオブジェクト表面の３Ｄポイントクラウド又はレンジ画像表現を生成するための１台以上の離散的３Ｄカメラアセンブリからなる全体構成を記述するのに本明細書では代替として「３Ｄカメラアセンブリ」という言葉を用いることがあることに留意されたい。
【００２１】
図示されていないが、３Ｄレンジ画像又はポイントクラウドを生成するために用いられる３Ｄカメラアセンブリの１つの模範的なタイプはレーザ変位センサである。これはレーザ光（又は他の構造化された照明）の扇形をオブジェクト表面１１２に投影して（例えばｘ軸方向に対して横断方向に向けられた）線を形成し、投影された線からレーザ変位センサのそれぞれのイメージャ１２６、１３６で反射光を扇形照明の平面とそれぞれのイメージャの光学軸ＯＡ１、ＯＡＮとの間の相対的角度（鋭角）（Ａ）で受け取る。上述したように、使用されるレンジ又は高さ情報を生成するために他の様態も使用でき、これには例えばＬＩＤＡＲ、構造化された照明システム、立体ビジョンシステム（例えば１対の離間したカメラ１２０及び１３０）、ＤＬＰ計測などを含む。これらのシステムはすべてピクセルに高さ値（例えばｚ座標）を与える画像を生成する。
【００２２】
典型的な構成において、３Ｄカメラアセンブリ１２０及び／又はオブジェクト１１０は相対的に（例えば１台以上のカメラの物理的ｙ軸座標方向で）運動できるので、オブジェクト表面１１２はレーザ変位センサによってスキャンされて、レーザ線の一連の画像が所望された空間的間隔で、典型的には運動情報１４０をシステムビジョンプロセッサ（１５０、以下に説明する）に送るモーションコントローラ及び関連するエンコーダ又は他の運動測定デバイスと連携して（或いは時間ベースの間隔で）取得される。これに関して、運動方向に沿ったオブジェクト上の点の位置は、座標Ｙｉとして定義される。３Ｄカメラアセンブリによって取得された点（Ｘｉ、Ｙｉ、Ｚｉ）の集合は、ポイントクラウドとして定義される。他の実施形態では、３Ｄカメラアセンブリはオブジェクトに対して相対的に運動しない。
【００２３】
カメラ本体１２４、１３４は、関連するビジョンプロセスを操作するビジョンシステムプロセッサ１５０を構成する種々の画像処理コンポーネントを含むことができる。ビジョンプロセッサ１５０はシーン及び／又は他のソース（例えばモデルのＣＡＤ表現）の取得した画像に基づく画像データ１４２上で作動し、ビジョンシステムツール及びプロセス１５２を用いて取得した画像から情報を抽出できる。この情報は興味のある特徴及び画像内に現れる他のアイテムに関係づけることができる。例えば米国マサチューセッツ州ネイティック市のコグネックス株式会社から市販されている既知のＰａｔＭａｘ（登録商標）などのビジョンシステムツールを使用して、画像内の２Ｄ特徴及び３Ｄ特徴を解析して、相対的姿勢、アライメント及び他のディテール、例えばエッジ、ブロブなどに関する情報を提供できる。ビジョンシステムプロセスの一部又は全部をカメラアセンブリ１２０、１３０の本体１２４，１３４内で実行できるが、プロセスの一部又は全部を（有線又は無線で）相互接続されたコンピューティングデバイス／プロセッサ１６０、例えば適切なユーザーインタフェース（マウス／キーボード）１６２及び／又はディスプレイ１６４（例えばタッチスクリーン）を有する専用プロセッサ又は汎用コンピュータ（例えばサーバー、ＰＣ、ラップトップ、スマートフォン、タブレットなど）によって実行できることが明確に想定されている。更に、相互接続されたコンピューティングデバイス／プロセッサ１６０は、処理された画像データを用いて、通信リンク１６６又は他のインタフェース構成を介してユーティライゼーションプロセス若しくはタスクを実行できる。例えばビジョンシステムが検査タスクを実行する場合、これらの情報を用いて品質管理情報をデータベースに送ったり、生産ラインで欠陥品を拒否したりできる。情報はオブジェクト上のラベル及び／又はＩＤコードを読み取ることによって（例えば）物流用途にも使用できる。以下に述べるように、ユーティライゼーションタスクは、３Ｄアライメント情報１６８の使用を含む。１２０の本体１２４内で実行できるが、プロセスの一部又は全部を（有線又は無線で）相互接続されたコンピューティングデバイス／プロセッサ１６０、例えば適切なユーザーインタフェース（マウス／キーボード）１６２及び／又はディスプレイ１６４（例えばタッチスクリーン）を有する専用プロセッサ又は汎用コンピュータ（例えばサーバー、ＰＣ、ラップトップ、スマートフォン、タブレットなど）によって実行できることが明確に想定されている。更に、相互接続されたコンピューティングデバイス／プロセッサ１６０は、オブジェクト／アライメント１６８について処理された画像情報を用いて、通信リンク１６６又は他のインタフェース構成を介してユーティライゼーションプロセス若しくはタスクを実行できる。例えばビジョンシステムが検査タスクを実行する場合、これらの情報を用いて品質管理情報をデータベースに送ったり、生産ラインで欠陥品を拒否したりできる。以下に述べるように、ユーティライゼーションタスクは、３Ｄアライメント情報１６８の使用を含む。
【００２４】
訓練プロセス（プロセッサ）又はモジュール１５４は、モデルと、実行時（ターゲット）オブジェクトの実行時３Ｄレンジ画像又はポイントクラウド画像から見いだされた特徴とのアライメントを容易にする特徴を定義する３Ｄレンジ画像又はポイントクラウドデータからなる１つ以上の３Ｄモデル／表現の訓練及び保存を扱う。訓練されたモデルは、オブジェクトの全体ビューで見いだされた特徴、特定のオブジェクト及び／又は多数のオブジェクトの異なる部分又は向きで見いだされた特徴を包含できる。
【００２５】
例示的な実施形態において、ビジョンプロセス及びプロセッサ１５０は、モデルの特徴と実行時（ターゲット）３Ｄ画像の特徴とのアライメントを試みる適切なアライメントアルゴリズム（又はプロセス）を用いるアライメントプロセス（プロセッサ）又はモジュール１５６を含んでいる。アライメントプロセス（プロセッサ）１５６及び訓練プロセス（プロセッサ）１５４は、各々同時アルゴリズム考慮プロセス（プロセッサ）又はモジュール１５８と相互作用し、これはモデルの３Ｄ表面特徴に基づいて２つ以上の３Ｄアライメントアルゴリズムの使用を調整する。本明細書で用いられる「同時」という用語は、１つの画像上で２つ以上の特徴セット及び関連する実行時姿勢決定手順が並行して又は同じ処理トランザクション内で考慮及び／又は操作できるという一般的な判断の一例であり、従って真の同時性は要求されない。
【００２６】
ＩＩ．３Ｄモデルの訓練
【００２７】
このシステム及び方法は、以下に説明するように、全体的アライメントプロセスにおいて訓練された画像データを使用する。一般化された訓練手順２００が図２に示されており、そこではシステムは訓練時にモデルの画像を３Ｄポイントクラウド又はレンジ画像として取得するか提供される。この画像はモデル／訓練オブジェクトを１つ以上の向きで包含するシーンを撮像するか、或いはオブジェクト及び／又はオブジェクト部分の「合成」（例えばＣＡＤ）表現を提供することによって生成できる。ステップ２１２で実際の画像又は合成画像はユーザーにインタフェースを介して訓練プロセスの一部として提供され得る。ステップ２１２は任意的であり、画像はオブジェクトのタイプ又は閾値設定に関してユーザーが何ら入力することなく直接システムに提供されることに留意されたい。代替として、閾値はビジョンシステムツールを用いてオブジェクトのタイプ又は表面特徴の自動化された特定に基づいて設定できる。ユーザーインタフェースを用いる場合は、画像は一般的に図３のディスプレイ３００に示されているように表示され得る。ユーザーは画像を操作することができ、これはそれぞれ画像３１２及び３２２の周囲の境界ボックス３１０及び３２０によって図示されているように、訓練オブジェクトの一部又は全部の周囲に境界ボックスを配置することを含む（ステップ２１４）。境界ボックスのサイズと形状はユーザーによって決定されることができ、或いは関心領域を当業者には明白であるはずの自動化された機構によって囲むことができる。代替として、関心領域及びこれに対応する訓練特徴は、ＣＡＤデータのソースによって、或いは他の何らかの様態による画像データによって／と共に提供され得る。分析される関心領域を囲むことによって、アライメントプロセスはアライメントに関係しないモデル特徴及び／又はモデルから分離した背景特徴を除外する。代替として、取得した全画像をモデルに使用できる。手順２００のステップ２１６において、アルゴリズム選択プロセス（プロセッサ）（図１の１５８）は、囲まれた関心領域（図３の３１０、３２０）内の特徴上に面法線を決定し、そのような面法線の分布を用いて当該オブジェクト及び分布に対する適切なアライメントアルゴリズムを決定する。アルゴリズム選択プロセス（又は）（図１の１５８）は、境界のある関心領域内の特徴上に表面法線を確定する（図３の境界ボックス３１０、３２０参照）。結果として得られるモデルは実行時アラインメント中に使用するためにプロセスに提供されるが、これについては以下に更に説明する（ステップ２１８）。
【００２８】
図３に示されているように、モデル３１２、３２２の図示されたる表面（実際には３Ｄレンジ画像又は３Ｄポイントクラウドとして定義される）は、それぞれの表面に沿った局所点における垂線を表わす面法線のセットを含んでいる。法線の粒度は極めて可変である。概してそれは訓練時にユーザーが指定するパラメータの一部であるか、或いは訓練時に（例えば）当業者には明白な技術を用いてアライメントシステムによって自動的に決定できる。概してシステムは一般にシステムによって扱われるオブジェクト（例えばボルト、ボール、コンピュータスクリーン、回路チップ、瓶、缶、キャップなど）の種々のタイプの表面及び／又はクラスに対するパラメータのセットを保存できる。そのような品目に対して所定のパラメータが設けられる。代替として、特定のモデルに対して特別のパラメータがユーザーによって設定され、或いは自動的に決定され得る。パラメータはまたモデルの特定の向きに対しても設定できる。例えば瓶は側方から見るのと上方から見るのとでは異なって見えるであろう。
【００２９】
ＩＩＩ．実行時アライメント
【００３０】
一実施形態において、実行時に考慮プロセス１５８はファインアライメントを実行するために、法線ベースのアライメントアルゴリズムとエッジベースのアライメントアルゴリズムとを同時に（「並行して」とも呼ばれる）用いる。これは、初期ラフアライメントステップを用いて訓練された３Ｄモデルを画像データと共に大まかに登録した後に起こる。以下に更に詳細に説明するように、ファインアライメントプロセスはエネルギー関数を最小化する。法線はエッジよりも正確であるため、概してそれらは優先的に使用される。しかしながら面特徴が分析される場合のような一部の例では、エッジは法線が提供しない相対的方向における情報を提供する。従ってこのプロセスは、画像情報が利用可能な方向を表すマトリックスである「法線情報マトリックス」を定義する。例として、プロセスにおける情報の基礎を提供するために、このマトリックスで主成分分析（ＰＣＡ）を使用する。このとき各エッジはそれが各方向で寄与する情報の量と、プロセスが既に処理している情報によって評価される。エッジがアラインメントにとって有用な方向で重要な情報に寄与するならば、そのエッジは高く重み付けられる（例えば１．０に近い）。そうでなければ、その相対的重みは低い（例えば０．０に近い）。次にこの重みは、点対面距離の合計と重み付けられた点対エッジ距離の合計を同時に（並行して）最小化する線形最小化関数で処理される。
【００３１】
有利には、上述の手順は、３Ｄ撮像されたオブジェクトの形状が必要とする場合には、専ら精度の低いエッジ（のみ）を使用する。例えば平面特徴を使用する例では、システムは、概して法線が情報を提供する３つの自由度（即ち２つの直交傾斜度と面の法線に沿ったオフセット）を固定するためにシステムは法線を使用することができ、次に残りの自由度（ＤＯＦ）（即ち平面内の２つの並進と法線を中心とした回転）に対してはエッジを使用する。点対線メトリックを単独で使用すると精度が著しく低下し、点対面メトリックを使用することは全くロバストではない。
【００３２】
更に説明すると、３Ｄシーン内のオブジェクトのインスタンスを探索しようとする際に、通常情報の欠落をもたらすカメラの視角とシーン特性がある。オブジェクトがＣＡＤファイルを用いて記述されると、オブジェクトは完全に記述され、すべての表面及び関連する特徴で完全に規定され得る。しかしながらシーンが単一の３Ｄセンサを使用して取得される場合は、センサの限界により利用可能な情報が制限及び限定されることがある。例えばシーンの部分がオブジェクトを全体が見えるようにするのを妨げることがあり、及び／又はオブジェクト自体がそれ自身の一部を遮蔽することがある。例えばカメラはオブジェクトの前面は撮像できるが背面はできない。説明のために図１及び図２を参照すると、各々例示的なシーン４００及び５００を示しており、それぞれのシーン内で直方体形状の箱４１０が異なる角度／視点（ＰＯＶ）で見られる向きにある。図４のシーン４００では面４１２及び４１６が示されている。しかしながら図５のシーン５００でＰＯＶが変化すると面４１４のみが見え、またシーン４００には存在しない底面５１０も見えるようになる。これは、オブジェクトを３Ｄで適切に測定するシステムの能力を制限する可能性がある。従ってより一般的にオブジェクト４１０を３Ｄ撮像するために使用されるＰＯＶは、情報が欠けている可能性があるために座標系の３つの直交軸（図４の４２０）すべてにおいてオブジェクトの大きさを定義することを困難にする。
【００３３】
姿勢推定を精緻化するための古典的な技術は反復最近接点（ＩＣＰ）である。この手順／アルゴリズムは点位置や点法線などの一連の特徴を使用して、粗い姿勢を最終的な（精緻な）姿勢に精緻化する。行わなければならない１つの選択は、ＩＣＰルーチンが最小化するメトリックである。標準的な選択は、ＩＣＰプロセスがソース点から、それらの最も近いエッジまでの距離の合計を最小化する点対線と、ＩＣＰプロセスがソース点から、それらのターゲット点における法線で表される最も近いターゲット点を通る平面までの距離の合計を最小化する点対面である。ＩＣＰアルゴリズムでは、一方の３Ｄポイントクラウド、即ちリファレンス又はターゲットが一定のままであるのに対し、他方の３Ｄポイントクラウド、即ちソースはターゲットに最適に一致するように変換される。リファレンスとソースは、訓練されたモデルと取得した実行時オブジェクト画像に対応する。ＩＣＰアルゴリズムは必要とされる変換（並進と回転の組み合わせ）を反復的に修正してソースからリファレンスポイントクラウドの距離を最小化する。ソースをリファレンスにアライメントするための変換の初期推定が存在することができ、反復を停止させるための１つ以上の基準も設けられている。次にアルゴリズムは精緻化された変換（結果姿勢）を出力する。動作中、アルゴリズムは以下のように進行する。
ソースポイントクラウド内の各点について、リファレンスポイントクラウド内の最も近い点を見いだす。
平均二乗誤差コスト関数を用いて、各ソース点を先行ステップで見いだされた一致に最も良くアライメントする回転と並進の組み合わせを推定する。
得られた変換を使用してソース点を変換する。
点の再関連付けを反復する。
【００３４】
ＩＣＰアルゴリズムは、表面正規分布分散が高い（与えられた「高い」閾値を上回る）特定のオブジェクト形状（例えば、図３の形状３２２）に特に有用であり得ることに留意されたい。逆に言うと、分散が小さい（与えられた「低い」閾値を下回る）場合は（例えば図３の形状３１２）、ＩＣＰとエッジ特徴ベースのアルゴリズムのハイブリッドがより望ましい。
【００３５】
そのため、直方体／箱形オブジェクト４１０が撮像されたシーン５００（図５）を使用してアライメントされると、点対面技術は失敗するであろう。完全で正確なアライメントを行うために必要な情報は撮像されたシーン５００内に（実際には）存在するが、点対面メトリックはその情報にアクセスすることができない。なぜなら情報はオブジェクト５３０のエッジに現れており、露出した面４１４及び５１０ではないからである。この使用例では点対面メトリックは、水平方向のスライドによって異なるだけの２つの結果を区別できない。
【００３６】
箱４１０のような撮像されたオブジェクトで専ら点対線メトリックを使用すると、同様の縮退がある。難点は３Ｄ画像センサのＰＯＶの制限により、特定の特徴が考慮されたときに特定の情報のみが利用可能であるということである。そのため多様な部品を多様な向きでロバストにアラインメントするためには、ＩＣＰ精緻化プロセス中に複数の特徴が考慮されるべきである。
【００３７】
好ましい実施形態によって克服される難点は、複数の特徴を単一のハイブリッドメトリックに結合するための効果的なテクニックを提供するための技術である。点対面メトリックは面までの距離を含意し、点対線メトリックは線までの距離を含意するため、このようなメトリックを最小化できる単一の大域フィットエラーに組み合わせることは簡単ではない。加えて典型的な３Ｄ画像はエッジよりもはるかに多くの法線を含むことができ、この特性が考慮されるべきである。なぜならそうでなければエッジの寄与は非常に小さくなり、実質的に点対面メトリックを生成するからである（点対面メトリックは多数の法線を使用し、点対線メトリックは少ないエッジを使用するので）。この不均衡のために、重みは実質的に点対面結果にシフトする。また、（通常）産業用ビジョンシステム用途で一般に扱われるタイプの画像において法線は基本的にエッジよりも正確であり、エッジを推定するためにグループ化できるよりも多くの点を平均して法線を推定できる。複数（２つ以上）のメトリックの使用は学術的環境やＩＣＰ関連の文献ではあまり用いられていないが（一部はハイブリッド実装の複雑さによる）、本明細書ではＩＣＰを使用してオブジェクトを分析するために２つ以上のメトリックを使用することは特に望ましいことがある／望ましいことが認識されている。即ち、単一のメトリックの限界が問題となるのは、（通常は）多様な相対的向きにある多数のオブジェクトをアライメントするときのみであり、これは特に本明細書で対象とする産業用ビジョンシステム環境に存在する課題である。
【００３８】
上で一般的に説明したように、ＩＣＰは反復的に動作し、各反復は２つの段階、即ち（ａ）ソースデータセットと目標データセットとの間の特徴の対応、及び（ｂ）対応する特徴に基づくメトリックの最小化からなる。メトリックは、入力が特徴の対応関係であり、出力が単一の数値である関数の形式を取る。点対面メトリックには次の関数を有する。
2019153290.tif 000003
ここで、ｄｉはｉ番目の目標位置、ｓｉはｉ番目のソース位置、ｎｉはｉ番目のソース法線、Ｍはソースを目標にマッピングする姿勢、そして・はドット積を表す。
【００３９】
点対線メトリックは次の式で表される。
2019153290.tif 000004
記号ｕｉはｉ番目のエッジ方向であり、×はクロス積を表す。概して上記の関係は当業者には明白なはずである。好ましい実施形態においてハイブリッドメトリックＨは、次式からなる関係に寄与している。
2019153290.tif 000005
【００４０】
このメトリック値Ｈは、点対面メトリックと点対線メトリックの合計からなり、新しいエッジ毎の対応重み項αｉを有する。例示的に、これらの重みは各反復中に動的に計算され、事前に計算されたり予め保存されたりすることはない。各重みは負ではない数であり、適切な姿勢を検出するために対応がいかに重要であるかを表す（数字が大きいほど重要度が高い）。以下に、一実施形態に従って重みがどのように計算されるか説明する。
【００４１】
重みの計算は少なくとも次の２つの事項を考慮する。（Ａ）オブジェクトの面は法線に対して平行な方向でのアライメントに関する情報を提供し、（ｂ）オブジェクトのエッジはエッジに対して垂直な方向でのアライメントに関する情報を提供する。これらの考慮事項、及び十分な情報が存在する場合はエッジよりも法線の使用を選好することに基づき、図６を参照して手順６００が適用される。まずステップ６１０において、取得した実行時画像を用いて法線が最小量の情報を提供する方向が計算される。これは法線に主成分分析を使用して達成できる。非限定的な例として、この手順は、次式によって計算されたマトリックスの３つの固有ベクトルを検出する。
2019153290.tif 000006
これによりこの手法は、３つの固有ベクトルと固有値を出力する。固有値は、固有値の固有ベクトルの方向に存在する情報量を示す数値を提供する（ゼロに近い固有値は情報が少なく、大きい固有値は情報が多いことを示す）。いつ十分な情報が存在するかに関するカットオフを決定するために適切な閾値を使用できる。
【００４２】
より具体的には、手順６００のステップ６２０において、固有値は固有ベクトルに基づく重要度を決定する測定計算にマッピングされる。これはガウス関数ｆ（ｘ；ａ、ｂ、ｃ）を通して固有値λをマッピングすることによって達成でき、この関数はｇ（λ）としても特徴付けられる。
2019153290.tif 000007
2019153290.tif 000008
ここで、基本分布曲線７１０は図７のグラフ７００に示されており、３つの定数ａ、ｂ及びｃは、ガウス分布の形状を定義する数値である。最初のａは、曲線の最高点の値である。ｂはｘ軸に沿った並進を定義し、ｃは曲線の幅を定義する。例示的な実装において、ａは１０に、ｂはゼロに、及びＣは２に設定できる（従って指数の分母は８に等しい）。しかしながら本使用例では例示的な固有値λは常に正であるため曲線７１０の左側を無視して、図示されたグラフ７２０と、図７Ａの関連する正値曲線７２２を得ることができる。これは本明細書に記載するシステム及び方法の一実施形態で使用するための例示的な分布を表している。Ｘ軸は固有値を表し、Ｙ軸は、この方向を考慮した場合にエッジの重みを乗算するために使用される定数である。従ってこの場合には、特定の固有方向の固有値が非常に小さいと重み乗数は約１０に等しくなり、特定の固有方向の固有値が非常に大きいと重み乗数は０に接近できる。従ってエッジが固有値の大きい方向で情報に寄与する場合（即ちその方向に対して既に重要な情報が存在する場合）、そのエッジは低い重みが割り当てられる（重み乗数が小さいので）。逆に、エッジが固有値の小さい方向（即ち情報がほとんど又は全く利用できない方向）で情報に寄与する場合は、その重みは大きい（重み乗数が大きいので）。より一般的に、代替実施形態において（ａ）入力が小さい場合は出力が大きい、（ｂ）入力が大きい場合は出力が小さい、（ｃ）連続的である、及び（ｄ）単調に減少するなどの種々の関数を使用できる。一例では、下方に傾斜した線が実行可能な機能を提供できる。従って上記のガウス関数は、パラメータａ、ｂ及びｃに対して使用される特定の値に基づいて、所望の目的を達成するための便利で効果的なメカニズムである。パラメータは、所望の結果を達成するために別の値に設定でき、例えばｃは２．５に設定することができる。
【００４３】
パラメータａを変更することによって、重みエッジはいつ新しい方向で情報に寄与するかに関して制御することができる。ａが１００に等しい場合、エッジは法線よりはるかに重要になる。逆に、ａが１に等しい場合、エッジは現在の実装よりも重要ではなくなる。
【００４４】
パラメータｂを（その通常の０値から）変更することによってガウス曲線７３２は図７Ｂの例示的グラフ７３０に示すように水平方向にシフトされる。この関数（例えばｂ＝２）は、実数の正の半分で単調に減少しておらず、この実施形態にとって有効な関数ではない。同様にｂに対する負の値は、図７Ｃのグラフ７４０の曲線７４２を生成する。示されているように、この例では曲線７４２の正の半分は、より鋭い初期減退を示す。そのような特性は、減退が小さい曲線の部分（例えば、０と０．００１の間の領域）を（場合により不利に）除外する。
【００４５】
ｃの値を変更すると曲線の外方の広がりが変化し、それはどれだけ多くの重みの低い情報エッジが割り当てられるかに影響し得る。従って重みの低い情報エッジに対してｃの値を増加させることができる。図７Ｄはグラフ７５０を示しているが、ここには上述したガウス分布（図７Ｄ）の曲線７５２と、ｃの値が４である追加の分布曲線７５４が描かれている。第２の曲線７５４では、重みの低い情報エッジ（固有値が大きい方のエッジ）がｘ軸上の更に右側に存在して、より高い重みを得るように割り当てられるであろうことは明白なはずである。
【００４６】
また、法線が方向に関して十分な情報を提供しない場合は、エッジがそのような情報を提供すべきであるから、低い固有値がガウス（又は類似の）関数において有用であることも明白であろう。
【００４７】
次に、手順６００のステップ６３０において、個々のエッジの重みαが次式によって決定される。
2019153290.tif 000009
ここで、ｕはエッジ、ｖｉはｉ番目の固有ベクトルである。上記の式は２つの部分を含む。第１の部分は、それぞれのエッジが与えられた方向でどれだけの情報に寄与するか、そしてその方向は重みの全体的計算にどれほど重要であるかに関係する。従って当該エッジが重要な情報に寄与し、その方向が法線によって提供されない場合は、計算された重みは高くなるはずである。逆に、それ以外のいかなる情報と方向の重要性を組み合わせによっても、計算された重みは低くなるはずである。また、エッジと固有ベクトルの間の角度の正弦は、２つのベクトルがどれほど垂直であるかの尺度であり、それによりエッジが当該方向でどれだけの情報に寄与するかを測定する（エッジはそれ自身に対して垂直な方向で情報に寄与するので）。上記の式の第２の部分は、当該方向にどれほど重要であるかに関係し、固有値が小さければ、法線は当該方向で重要な情報に寄与せず、従って値Ｇ（λ）は大きくなるであろう。これは固有値λに対するｇ（λ）の例示的なプロット７１０を示す図７のグラフ７００で図解されている。λの値が増すにつれて（この例では約λ＝７より上）、ｇ（λ）の値はゼロ（０）に近づくことに留意されたい。
【００４８】
ステップ６４０において、計算された重み値（Ｓ）αがエッジと法線に対する実行時アライメント手順に提供される。手順はこれらの重みでハイブリッドメトリックを定義することができ、次いで当業者に知られている標準的な計算法（例えばアフィン変換など）を用いて、アラインメントにおいてこのメトリックを最小化する候補姿勢を決定することができる。
【００４９】
ここで、図８の実行時３Ｄラフアライメント及び３Ｄファインアラインメント手順８００を参照する。ステップ８１０において、１つ以上の実行時オブジェクトが１つ以上の３Ｄカメラの視野内に配置され、シーンの１つ以上の画像が取得される。ステップ８２０において、実行時画像データのアライメントのために保存された訓練／モデル情報、及びアライメントプロセスを完了するのに必要な他のデータ、即ち閾値、特定のアルゴリズム、設定などが提供される（これは以下のステップ８３０におけるラフアライメントの前又は後に行われてよい）。ステップ８で、ラフアライメントが実行され、ここではオブジェクトの特定された特徴がモデル特徴と大まかにアライメントされている。これは実行時画像内の特徴を様々なモデルと比較して最も近い一致、例えば実行時特徴の向きに最も近いモデルの向きを提供することを含むことができる。ラフアライメントは、他のラフアライメント技術の中でもエッジのアライメント又はソースとターゲットの面法線の比較に基づくことができる。
【００５０】
次にステップ８４０で３Ｄアラインメントが精緻化され、これは３Ｄ画像内のオブジェクト特徴を分析し、エッジと法線の特性を決定して上述した重み付けを生成することを伴う。これらの重み付けは、上述したように（例えば）点対線及び点対面（及び／又はＩＣＰベース）手順に反復的に適用され、その結果候補３Ｄ姿勢が生成され得る。特に３Ｄモデル内の３Ｄエッジを３Ｄ画像内の３Ｄエッジと、及び３Ｄモデル内の３Ｄ法線を３Ｄ画像内の３Ｄ法線に同時に（並行して）一致させる候補姿勢が生成される。次いで従来のアライメント手順を姿勢に適用して、例えば特定の３Ｄ形状を２Ｄ画像に分解し、ビジョンツールを使用してエッジベースのアフィン変換を適用することができる（図１の１５２）。その結果は次にステップ８５０において、品質管理、部品検査、ロボット操作及び／又は部品組立などの後続プロセスで使用するために提供される。
【００５１】
ＩＩＩ．結論
【００５２】
上述した３Ｄオブジェクトをモデル３Ｄデータを基準にアライメントするためのシステム及び方法は、撮像されたシーン内でオブジェクトは特定の姿勢決定／アライメントアルゴリズムには適さない様々な向きで見られるという事実を効果的に扱うことは明白なはずである。より具体的には、例示的なシステム及び方法は、取得した３Ｄ特徴セットにおけるエッジ又は法線のいずれの使用が好ましいかに関して柔軟な決定を下すことができる。これはより良い結果をより効率的な方法で生み出す。
【００５３】
以上、本発明の例示的な実施形態を詳細に説明した。本発明の精神と範囲を逸脱することなく種々の改変及び追加を行うことができる。上述した種々の実施形態の各々の特徴は、関連する新しい実施形態において多数の特徴の組み合わせを提供するのに適する限り、別の記載された実施形態の特徴と組み合わされてよい。更に、上に本発明の装置と方法の多数の別個の実施形態を記したが、ここに記載されたものは本発明の原理の応用を例示したものに過ぎない。例えば、本明細書で使用される様々な方向及び／又は向きを表わす用語（及びそれらの文法的変形）、例えば、「垂直」、「水平」、「上」、「下」、「底部」、「頂部」、「側部」、「前部」、「後部」、「左」、「右」、「前方」、「後方」及びこれに類するものは、相対的な表現法として用いられているに過ぎず、重力の作用方向など固定した座標系を基準とした絶対的な向きを表わすものではない。更に、図示されたプロセス又はプロセッサは他のプロセス及び／又はプロセッサと組み合わせ、又は種々のサブプロセス又はサブプロセッサに分割されてよい。そのようなサブプロセス及び／又はサブプロセッサは、本明細書に記載された実施形態に従って多様に組み合わせることができる。同様に、本明細書中の何らかの機能、プロセス及び／又はプロセッサは、プログラム命令の非一時的コンピュータ可読媒体からなる電子ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組み合わせを用いて実施できることが明確に想定されている。従ってこの説明は例示の方法によるものとしてのみ受け取られるべきであり、それ以外に本発明の範囲を制限することを意味するものではない。
【００５４】
以下に特許請求の範囲を記載する。
【図１】
2019153290.tif 000010
【図２】
2019153290.tif 000011
【図３】
2019153290.tif 000012
【図４】
2019153290.tif 000013
【図５】
2019153290.tif 000014
【図６】
2019153290.tif 000015
【図７】
2019153290.tif 000016
【図７Ａ】
2019153290.tif 000017
【図７Ｂ】
2019153290.tif 000018
【図７Ｃ】
2019153290.tif 000019
【図７Ｄ】
2019153290.tif 000020
【図８】
2019153290.tif 000021
【外国語明細書】
2019153290000001.pdf