(57)【要約】      （修正有）【課題】３Ｄビジョンシステムにおいて３Ｄアライメントアルゴリズムを選択するためのシステム及び方法を提供する。【解決手段】実行時オブジェクトの特徴を有する３Ｄポイントクラウド又は実行時３Ｄレンジ画像によって定義された少なくとも１つの実行時画像を取得するための３Ｄカメラアセンブリ１２０、１３０とビジョンシステムプロセッサを有する。訓練画像が提供され、これはモデルの特徴を有する３Ｄポイントクラウド又は３Ｄレンジ画像によって定義される。選択プロセスは、ビジョンプロセッサによって操作され、モデルの特徴を有する訓練画像の少なくとも１つの訓練領域を分析して、少なくとも１つの訓練領域における面法線の分布を決定する。これはまた、分布の性格に基づいて、実行時オブジェクトの特徴に対してモデルの特徴をアライメントするために利用可能な複数の３Ｄアライメントアルゴリズムから少なくとも１つを選択する。【選択図】図１
2018055674.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄビジョンシステムにおいて３Ｄアライメントアルゴリズムを選択するためのシステムであって、
少なくとも、実行時オブジェクトの特徴を有する３Ｄポイントクラウド又は実行時３Ｄレンジ画像ならびにビジョンシステムプロセッサによって定義される実行時画像、並びにモデルの特徴を有する３Ｄポイントクラウド又は３Ｄレンジ画像によって定義された訓練画像、を取得するための３Ｄカメラアセンブリと、
前記ビジョンプロセッサによって操作されて、（ａ）モデルの特徴を有する前記訓練画像の少なくとも１つの訓練領域を分析して、前記少なくとも１つの訓練領域における面法線の分布を決定し、（ｂ）前記分布の性格に基づいて、実行時オブジェクトの特徴に対してモデルの特徴をアライメントするために利用可能な複数の３Ｄアライメントアルゴリズムから少なくとも１つの３Ｄアライメントアルゴリズムを選択する、選択プロセスと、
を有するシステム。
【請求項２】
前記選択プロセスは、訓練が実行される訓練画像内で少なくとも１つの訓練領域の位置を特定するように構成されている、請求項１に記載のシステム。
【請求項３】
前記訓練画像は、３Ｄカメラアセンブリによって取得されるか、又は合成画像として提供される、請求項１に記載のシステム。
【請求項４】
上記少なくとも１つの３Ｄアライメントアルゴリズムは、３Ｄコースアライメントプロセスと３Ｄファインアライメントプロセスの少なくとも１つにおいて前記実行時オブジェクトの特徴に対して前記モデルの特徴をアライメントする、請求項１に記載のシステム。
【請求項５】
前記分布の性格は面法線のユニモーダル分布と比べた分散の程度であり、前記選択プロセスは分散の程度を閾値と比較するように構成されている、請求項１に記載のシステム。
【請求項６】
（ａ）分散が高閾値より高い場合は、選択プロセスはＩＣＰアルゴリズムを選択するように構成され、（ｂ）分散が低閾値より低い場合は、選択プロセスはエッジ特徴に基づくアルゴリズムとＩＣＰアルゴリズムのハイブリッドを選択するように構成される、請求項５に記載のシステム。
【請求項７】
少なくとも１つの高閾値と低閾値は、（ａ）自動化されたプロセス又は（ｂ）ユーザ指定のプロセスの少なくとも１つによって設定される、請求項６に記載のシステム。
【請求項８】
自動化されたプロセスとユーザ指定のプロセスの少なくとも１つは、訓練画像内のオブジェクトのタイプに基づいている、請求項７に記載のシステム。
【請求項９】
前記分散が高閾値と低閾値の間にある場合、選択プロセスはユーザに少なくとも１つの３Ｄアライメントアルゴリズムを選択することを促すように構成されている、請求項６に記載のシステム。
【請求項１０】
前記３Ｄカメラアセンブリは、実行時オブジェクトを包含するシーンを撮像するために離間した位置に配置された複数の離散的３Ｄカメラを含む、請求項１に記載のシステム。
【請求項１１】
３Ｄビジョンシステムにおいて３Ｄアライメントアルゴリズムを選択するための方法であって、
３Ｄカメラアセンブリにより、実行時オブジェクトの特徴を有する３Ｄポイントクラウド又は実行時３Ｄレンジ画像ならびにビジョンシステムプロセッサによって定義された少なくとも１つの実行時画像、並びに、モデルの特徴を有する３Ｄポイントクラウド又は３Ｄレンジ画像によって定義された訓練画像、を取得するステップと、
前記ビジョンプロセッサにより、（ａ）モデルの特徴を有する訓練画像の少なくとも１つの訓練領域を分析して、前記少なくとも１つの訓練領域における面法線の分布を決定し、（ｂ）この分布の性格に基づいて、実行時オブジェクトの特徴に対してモデルの特徴をアライメントするために利用可能な複数の３Ｄアライメントアルゴリズムから少なくとも１つの３Ｄアライメントアルゴリズムを選択するステップと、
を含む方法。
【請求項１２】
前記選択のステップは、訓練が実行される訓練画像内で少なくとも１つの訓練領域の位置を特定する、請求項１１に記載の方法。
【請求項１３】
前記訓練画像は、３Ｄカメラアセンブリによって取得されるか、又は合成画像として提供される、請求項１１に記載の方法。
【請求項１４】
更に、前記少なくとも１つの３Ｄアライメントアルゴリズムで、３Ｄコースアライメントプロセスと３Ｄファインアライメントプロセスの少なくとも１つにおいて前記実行時オブジェクトの特徴に対して前記モデルの特徴をアライメントすることを含む、請求項１１に記載のシステム。
【請求項１５】
前記分布の性格は面法線のユニモーダル分布と比べた分散の程度であり、前記選択のステップは分散の程度を閾値と比較することを含む、請求項１１に記載のシステム。
【請求項１６】
（ａ）分散が高閾値より高い場合は、前記選択のステップはＩＣＰアルゴリズムを選択し、（ｂ）分散が低閾値より低い場合は、前記選択のステップはエッジ特徴に基づくアルゴリズムとＩＣＰのハイブリッドを選択する、請求項１５に記載の方法。
【請求項１７】
更に、少なくとも１つの高閾値と低閾値は、（ａ）自動化されたプロセス又は（ｂ）ユーザ指定のプロセスの少なくとも１つによって設定されることを含む、請求項１６に記載の方法。
【請求項１８】
自動化されたプロセスとユーザ指定のプロセスの少なくとも１つは、訓練画像内のオブジェクトのタイプに基づいている、請求項１７に記載の方法。
【請求項１９】
分散が高閾値と低閾値の間にある場合、前記選択のステップはユーザに少なくとも１つの３Ｄアライメントアルゴリズムを選択することを促す、請求項１６に記載のシステム。
【請求項２０】
前記３Ｄカメラアセンブリは、実行時オブジェクトを包含するシーンを撮像するために離間した位置に配置された複数の離散的３Ｄカメラを含む、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は２０１６年１月８日に出願された「ビジョンシステムにおいて３Ｄアライメントアルゴリズムを自動選択するためのシステム及び方法」と題する同時係属米国特許仮出願第６２／３６９，７０２号の利益を主張するものであり、その教示内容は参照により本明細書に組み込まれる。
【０００２】
本発明はマシンビジョンシステムに係り、より具体的には訓練された３Ｄパターンを基準にして３次元（３Ｄ）画像特徴を特定してアライメントするビジョンシステムに関する。
【背景技術】
【０００３】
本明細書で「ビジョンシステム」とも呼ばれるマシンビジョンシステムは、製造環境において多様なタスクを実行するために使用される。一般にビジョンシステムは、製造中のオブジェクトを包含するシーンのグレースケール、カラー画像及び／又は３次元（３Ｄ）画像を取得する画像センサ（又は「イメージャ」）を備えた１台以上のカメラアセンブリからなる。オブジェクトの画像を分析してデータ／情報をユーザ及び関連する製造工程に提供することができる。カメラによって生み出されるデータは通常ビジョンシステムにより１台以上のビジョンシステムプロセッサで分析及び処理することができ、ビジョンシステムプロセッサはそれ専用に製造されたものであるか、或いは汎用コンピュータ（例えばＰＣ、ラップトップ、タブレット又はスマートフォン）内で作成される１以上のソフトウェアアプリケーションの一部であってよい。
【０００４】
ビジョンシステムの共通タスクは、アライメントと検査を含む。アライメントタスクにおいてビジョンシステムツール、例えばコグネックス社（マサチューセッツ州ネイティック）から市販されている周知のＰａｔＭａｘ（登録商標）システムは、あるシーンの２次元（２Ｄ）画像内の特徴を（実際のモデル又は合成モデルを用いて）訓練された２Ｄパターンと比較して、２Ｄ撮像されたシーンにおける２Ｄパターンの存在／欠如及びポーズを決定する。この情報は後続の検査（又は他の）操作に使用して欠陥を探し及び／又は部品拒否など他の操作を行うことができる。
【０００５】
ビジョンシステムを用いる特定のタスクは、実行時に訓練された３Ｄモデル形状に基づいて３次元（３Ｄ）ターゲット形状をアライメントすることである。３Ｄカメラは多様な技術、例えばレーザ変位センサ（プロファイラ）、立体カメラ、ソナー、レーザ又はＬＩＤＡＲレンジ検出カメラ、ＴｏＦカメラ、及びその他の多様な受動的及び能動的レンジ検出技術に基づくことができる。そのようなカメラはレンジ画像を生み出し、そこにおいて画像ピクセルの配列（典型的には直交するｘ軸とｙ軸に沿った位置として特徴付けられる）が作られ、これはまた各ピクセルに対する第３の次元（高さ）（典型的にはｘ−ｙ面に対して垂直な軸に沿った位置として特徴付けられる）も含んでいる。或いは、そのようなカメラは撮像されたオブジェクトのポイントクラウド表現を生成できる。ポイントクラウドは、各ポイントｉが（Ｘｉ、Ｙｉ、Ｚｉ）として表わすことができる空間における３Ｄポイントの集合である。ポイントクラウドは、オブジェクトの背面及び側面、頂面と底面を含む完全な３Ｄオブジェクトを表現できる。３Ｄポイント（Ｘｉ、Ｙｉ、Ｚｉ）は、オブジェクトがカメラに見える空間内の位置を表す。この表現において空の空間はポイントが存在しないことによって表される。
【０００６】
比較により、３Ｄレンジ画像表現Ｚ（ｘ、ｙ）は２Ｄ画像表現Ｉ（ｘ、ｙ）に類似しており、奥行又は高さＺは画像内の位置ｘ、ｙにおける輝度／明度Ｉに相当するものに取って代わる。唯一奥行のみが任意のポイント位置ｘ、ｙと関連しているので、レンジ画像は専ら直接カメラに対面するオブジェクトの正面を表現する。レンジ画像は典型的にオブジェクトの背面又は側面、頂面又は底面を表現できない。レンジ画像は典型的にカメラにそのような位置の情報が欠けている場合も、あらゆる位置（ｘ、ｙ）のデータを有する。レンジ画像は当業者にとって明白なやり方で３Ｄポイントクラウドに変換することが可能である。
【０００７】
取得された又は合成（例えばＣＡＤ）プロセスによって生成されたターゲット画像を（やはり取得又は合成された）モデル画像にアライメントする際に、１つの手法は最もよく一致するポーズを見つける努力においてターゲット３Ｄポイントクラウドのモデルとの一致／比較を伴う。この比較は、モデルを基準にしたターゲットのカバレッジのスコアリングを含むことができる。ある閾値を超えるスコアは受入れ可能な一致／ポーズ推定と見なされ、この情報はアライメント結果を生成するために使用される。それにもかかわらず３Ｄ画像に基づいてアライメント結果を正確かつ効率的に生成することは困難である。
【０００８】
３Ｄレンジ画像又は３Ｄポイントクラウド画像で３Ｄオブジェクトをアライメントすることは、それぞれそれらのオブジェクトの３Ｄ形状に適した１以上の３Ｄアライメント（登録）アルゴリズムを用いて最もよく達成される。不適切な３Ｄアライメントアルゴリズムが使用されると、３Ｄアライメント手順は失敗するか、或いは不十分に実行されて不正確な結果ポーズを見つけるか、若しくは結果を全く見つけないことがある。現在用いられている手法は典型的に、ユーザがどのアルゴリズムがどの関心のあるオブジェクト又は応用状況に適しているかの詳細を理解して、セットアップ時にビジョンシステムインタフェースによって提供された適切なアライメントアルゴリズムを手動で選択する（或いはビジョンシステムによって提供されたモジュールから選んでアルゴリズムをアセンブルする）ことを強いる。
【発明の概要】
【０００９】
本発明は、３Ｄポイントクラウド画像又は３Ｄレンジ画像として定義された訓練された３Ｄモデルを基準に３Ｄオブジェクトをアライメントする際に使用する適切な３Ｄアライメント（登録）アルゴリズムを自動的に選択するためのシステム及び方法を提供することによって先行技術の難点を克服する。このシステムは、訓練時にビジョンシステムのインタフェースを介して自動的に選択される３Ｄアライメントアルゴリズムを提供する。例を挙げると、アルゴリズムは面法線の高分散を有する画像で使用するのにより適している反復最近傍点（ＩＣＰ）アルゴリズムと、エッジを含み、面法線の比較的にユニモーダルな分布を有するオブジェクトの形状を分析するのにより適しているＩＣＰとエッジ特徴に基づくアルゴリズムのハイブリッドを含むことができる。システムは訓練時に訓練された３Ｄ画像を分析して、それがどのタイプの形状を表わしているか決定し、適切なアルゴリズムを選択する。この訓練時選択は実行時に使用するために保存されて、訓練されたモデル３Ｄ画像を基準にして実行時オブジェクトを分析する際に用いられる。代替的に、多数のアルゴリズムを訓練でき、自動選択を実行時操作まで延期できる。
【００１０】
例示的な実施形態において、３Ｄビジョンシステムにおいて３Ｄアライメントアルゴリズムを選択するためのシステム及び方法が提供される。このシステム及び方法は、実行時オブジェクトの特徴を有する３Ｄポイントクラウド又は実行時３Ｄレンジ画像によって定義された少なくとも１つの実行時画像を取得するための３Ｄカメラアセンブリと、ビジョンシステムプロセッサを含む。訓練画像が提供される。訓練画像はモデルの特徴を有する３Ｄポイントクラウド又は３Ｄレンジ画像によって定義される。選択プロセスはビジョンプロセッサによって操作される。ビジョンプロセッサは、モデルの特徴を有する訓練画像の少なくとも１つの訓練領域を分析して、少なくとも１つの訓練領域で面法線の分布を決定する。ビジョンプロセッサはまた分布の性格に基づいて、複数の利用可能な３Ｄアライメントアルゴリズムから少なくとも１つの３Ｄアライメントアルゴリズムを選択して、実行時オブジェクトの特徴に対して（基準にして）モデルの特徴をアライメントする。例示的に、選択プロセスは訓練が実行される訓練画像内で少なくとも１つの訓練領域の位置を特定するように構成されており、訓練画像は３Ｄカメラアセンブリによって取得されるか又は合成画像として提供される。選択された３Ｄアライメントアルゴリズムは、３Ｄコースアライメントプロセス（粗いアライメント）と３Ｄファインアライメントプロセスの少なくとも１つで実行時オブジェクトの特徴を基準にしてモデルの特徴をアライメントする。分布の性格は面法線のユニモーダル分布と比べた分散の程度であってよく、選択プロセスは分散の程度を閾値と比較するように構成されている。例示的に、分散が高閾値より高い場合は、選択プロセスはＩＣＰアルゴリズムを選択するように構成されている。反対に、分散が低閾値より低い場合は、選択プロセスはエッジベースのアルゴリズムとＩＣＰのハイブリッドを選択するように構成されている。高閾値と低閾値の少なくとも１つは、（ａ）自動化されたプロセス又は（ｂ）ユーザ指定のプロセスの少なくとも１つによって設定される。また、自動化されたプロセスとユーザ指定のプロセスの少なくとも１つは、訓練画像内のオブジェクトのタイプに基づいている。例示的に、分散が高閾値と低閾値の間にある場合は、選択プロセスはユーザに少なくとも１つの３Ｄアライメントアルゴリズムを選択することを促すように構成されている。種々の実施形態において、３Ｄカメラアセンブリは実行時オブジェクトを包含するシーンを撮像するために、離間した位置に配置された複数の離散的３Ｄカメラを含むことができる。代替的に、３Ｄカメラアセンブリは、多様な３Ｄ画像取得技術の１つを用いる離散的３Ｄカメラを含むことができる。例示的に、高閾値が低閾値より低く設定され、分散が高閾値と低閾値の間にある場合は、一方又は両方のアルゴリズムを訓練できる。
【００１１】
以下に本発明を添付の図面を参照して説明する。
【図面の簡単な説明】
【００１２】
【図１】訓練又は実行時にオブジェクトの画像を取得して、ビジョンシステムによって適切な３Ｄアライメント（登録）アルゴリズムが自動的に選択される、１台以上の３Ｄカメラアセンブリを含むビジョンシステムの概念図である。
【００１３】
【図２】例示的な実施形態による、訓練時に３Ｄポイントクラウド画像又はレンジ画像内の所定の特徴に使用するための適切な３Ｄアライメントアルゴリズムを自動的に選択する手順を示すフローチャートである。
【００１４】
【図３】３Ｄ特徴の周囲に設けられた境界ボックス及び各模範的特徴セットの３Ｄ表面ジオメトリと関連する面法線を示す模範的なユーザインタフェーススクリーンの概念図である。
【００１５】
【図４】図２による、３Ｄアライメントアルゴリズムの選択において閾値を決定するための例示的な手順のフローチャートである。
【００１６】
【図５】例示的な実施形態による、実行時に図２の手順から選択された３Ｄアライメントアルゴリズムを適用するための手順のフローチャートである。
【発明を実施するための形態】
【００１７】
図１は、１台以上の３Ｄビジョンシステムカメラアセンブリ１２０及び１３０の視野（ＦＯＶ）内で撮像された、オブジェクト１１０の表面１１２の特徴の検査及び／又は分析に使用するためのマシンビジョンシステム構成（本明細書では「ビジョンシステム」とも呼ばれる）１００を示している。各カメラアセンブリ１２０、１３０は、３Ｄ撮像のためのコンポーネントの任意の受入れ可能な構成であってよい。カメラアセンブリ１２０、１３０は各々オブジェクト表面１１２の３Ｄ「レンジ画像」を構成する第３の直交次元（例えば各々のカメラの座標系１２８、１３８のそれぞれのｚ１、ｚＮ軸に沿った高さ）を決定するように適合されている。それぞれの画像ピクセルについて高さデータを生成するために多様な技術、例えばレーザ変位センサ（プロファイラ）、立体カメラ、ソナー、レーザ又はＬＩＤＡＲレンジ検出カメラ、ＴｏＦカメラ、及びその他の多様な受動的及び能動的レンジ検出技術を用いることができる。全体構成においては単一のカメラアセンブリ又はより多くの数の（例えば３台以上の）カメラアセンブリを用いることができ、また本明細書ではオブジェクト表面の３Ｄポイントクラウド又はレンジ画像表現を生成するための１台以上の離散的３Ｄカメラアセンブリからなる全体構成を記述するために代替的に「３Ｄカメラアセンブリ」という言葉を使用できることに留意されたい。
【００１８】
図示されていないが、３Ｄレンジ画像又はポイントクラウドを生成するために用いられる３Ｄカメラアセンブリの１つの模範的なタイプはレーザ変位センサであり、これはレーザ光（又は他の構造化された照明）の扇形をオブジェクト表面１１２に投影して（例えばｘ軸方向に対して横断方向に向けられた）ラインを形成し、投影されたラインからレーザ変位センサのそれぞれのイメージャ１２６、１３６で反射光を照明扇形の平面とそれぞれのイメージャの光学軸ＯＡ１、ＯＡＮとの間の相対的角度（鋭角）（Ａ）で受け取る。上述したように、使用されるレンジ又は高さ情報を生成するために他の様態も使用でき、例えばＬＩＤＡＲ、構造化された照明システム、立体ビジョンシステム（例えば１対の離間したカメラ１２０及び１３０）、ＤＬＰ計測などを含む。これらのシステムはすべてピクセルに高さ値（例えばｚ座標）を与える画像を生成する。
【００１９】
典型的な構成において、３Ｄカメラアセンブリ１２０及び／又はオブジェクト１１０は相対的に（例えば１台以上のカメラの物理的ｙ軸座標方向で）運動できるので、オブジェクト表面１１２はレーザ変位センサによってスキャンされて、レーザラインの一連の画像が所望された空間的間隔で、典型的には運動情報１４０をシステムビジョンプロセッサ（１５０、以下に説明する）に送るモーションコントローラ及び関連するエンコーダ又は他の運動測定デバイスと連携して（或いは時間ベースの間隔で）取得される。これに関して、運動方向に沿ったオブジェクト上のポイントの位置は、座標Ｙｉとして定義される。３Ｄカメラアセンブリによって取得されるポイント（Ｘｉ、Ｙｉ、Ｚｉ）の集合は、ポイントクラウドとして定義される。他の実施形態では、３Ｄカメラアセンブリはオブジェクトに対して相対的に運動しない。
【００２０】
カメラ本体１２４、１３４は、関連するビジョンプロセスを操作するビジョンシステムプロセッサ１５０を構成する種々の画像処理コンポーネントを含むことができる。ビジョンプロセッサ１５０はシーン及び／又は他のソース（例えばモデルのＣＡＤ表現）の取得した画像に基づく画像データ１４２上で作動し、ビジョンシステムツールする及びプロセス１５２を用いて取得した画像から情報を抽出できる。この情報は関心のある特徴及び画像内に現れる他のアイテムに関係づけることができ、例えば米国マサチューセッツ州ネイティック市のコグネックス株式会社から市販されている既知のＰａｔＭａｘ（登録商標）などのビジョンシステムツールを使用して、画像内の２Ｄ及び３Ｄ特徴を解析して、相対的ポーズ、アライメント及び他のディテール、例えば、エッジ、ブロブなどに関する情報を提供することができる。ビジョンシステムプロセスの一部又は全部をカメラアセンブリ１２０、１３０の本体１２４，１３４内で実行できるが、プロセスの一部又は全部を（有線又は無線で）相互接続されたコンピューティングデバイス／プロセッサ１６０、例えば適切なユーザインタフェース（マウス／キーボード）１６２及び／又はディスプレイ１６４（例えばタッチスクリーン）を有する専用プロセッサ又は汎用コンピュータ（例えばサーバー、ＰＣ、ラップトップ、スマートフォン、タブレットなど）によって実行できることが明確に想定されている。相互接続されたコンピューティングデバイス／プロセッサ１６０は、処理された画像データを用いて更にユーティライゼーションプロセス若しくはタスクを、通信リンク１６６又は他のインタフェース構成を通して実行できる。例えばビジョンシステムが検査タスクを実行する場合に、これらの情報を用いて品質管理情報をデータベースに送ったり、加工ライン上の欠陥品を拒否したりできる。情報はオブジェクト上のラベル及び／又はＩＤコードを読み取ることによって（例えば）物流用途にも使用できる。以下に述べるように、ユーティライゼーションタスクは、３Ｄアライメント情報１６８の使用を含む。
【００２１】
訓練プロセス（プロセッサ）又はモジュール１５４は、特徴を定義する３Ｄレンジ画像又はポイントクラウドデータからなる１以上の３Ｄモデル／表現の訓練と保存を扱い、これらの特徴はモデルを実行時（ターゲット）オブジェクトの実行時３Ｄレンジ画像又はポイントクラウド画像から見つけた特徴とアライメントするのを容易にする。訓練されたモデルは、オブジェクトのスコアリング及び偽ポイント除去、特定のオブジェクトの異なる部分又は向き及び／又は多数のオブジェクトで見いだされた特徴を包含できる。
【００２２】
例示的な実施形態において、ビジョンプロセス及びプロセッサ１５０は、モデルの特徴と実行時（ターゲット）３Ｄ画像の特徴とのアライメントを試みる適切なアライメントアルゴリズム（又はプロセス）を用いるアライメントプロセス（プロセッサ）又はモジュール１５６を含んでいる。アライメントプロセス（プロセッサ）１５６と訓練プロセス（プロセッサ）１５４は、各々３Ｄアライメントアルゴリズム選択プロセス（プロセッサ）又はモジュール１５８と相互作用し、これは３Ｄレンジ画像か又は３Ｄポイントクラウド画像でモデルの３Ｄ表面特徴を分析して、複数の３Ｄアルゴリズムのどれが表面形状に最も適しているか決定する。
【００２３】
図２の訓練手順２００を参照して、システムは訓練時にモデルの画像を３Ｄポイントクラウド又はレンジ画像として取得するか又は提供される。この画像はモデル／訓練オブジェクトを１つ以上の向きで包含するシーンを撮像するか、又はオブジェクト及び／又はオブジェクト部分の「合成」（例えばＣＡＤ）表現を提供することによって生み出すことができる。ステップ２１２で実際の画像又は合成画像はインタフェースを介してユーザに訓練プロセスの一部として提供され得る。ステップ２１２は任意的であり、画像はオブジェクトのタイプ又は閾値設定に関してユーザが何ら入力することなく直接システムに提供されることに留意されたい。代替的に、閾値はビジョンシステムツールを用いてオブジェクトのタイプ又は表面特徴の自動化された特定に基づいて設定され得る。をインタフェースを用いる場合は、画像は一般的に図３のディスプレイ３００に示されているように表示される。ユーザは画像を操作することができ、これはそれぞれ画像３１２及び３２２の周囲の境界ボックス３１０及び３２０によって図示されているように、訓練オブジェクトの一部又は全部の周囲に境界ボックスを配置することを含む（ステップ２１４）。境界ボックスの寸法と形状はユーザによって決定されることができ、又は関心領域は当業者には自明であるはずの自動化された機構によって囲むこともできる。代替的に、関心領域及びこれに対応する訓練特徴は、ＣＡＤデータのソースによって、又は他の何らかの様態による画像データによって／と共に提供され得る。分析する関心領域を囲むことによって、アライメントプロセスはアライメントに関係しないモデル特徴及び／又はモデルから分離した背景特徴を除外する。代替的に、取得された全画像をモデルに使用できる。
【００２４】
手順２００のステップ２３０において、アルゴリズム選択プロセス（プロセッサ）（図１の１５８）は、囲まれた関心領域（３１０、３２０）内の特徴上に面法線を決定し、そのような面法線の分布を用いて当該オブジェクト及び分布に対する適切なアライメントアルゴリズムを決定する。
【００２５】
図３に示されているように、モデル３１２、３２２の図示されている表面（実際には３Ｄレンジ画像又は３Ｄポイントクラウドとして定義される）は、それぞれの表面に沿った局所的ポイントにおける垂線を表わす面法線のセットを含んでいる。法線の粒度は、極めて可変である。一般に、それは訓練時にユーザが指定するパラメータの一部であるか、又は訓練時に（例えば）当業者には自明な技術を用いてアライメントシステムによって自動的に決定できる。一般に、システムは種々のタイプの表面及び／又は通常システムが出会うオブジェクト（例えばボルト、ボール、コンピュータスクリーン、回路チップ、瓶、缶、キャップなど）のクラスに対するパラメータのセットを保存できる。そのような品目に対して所定のパラメータが設けられる。代替的に、特定のモデルに対してユーザにより特殊なパラメータが設定され、又は自動的に決定され得る。パラメータはまたモデルの特定の向きに対しても設定できる。例えば瓶は側方から見るのと上方から見るのとでは異なって見える。
【００２６】
図４を参照して、面法線の分布を分析することによってアルゴリズムを選択するための模範的な手順４００が設けられている。この手順は法線が互いに示す角度変化の大きさを測定し、この測定をアルゴリズム選択の基礎として用いる。上述したように手順は各領域における面法線を決定する（ステップ４１０）。法線は法線方向の共分散マトリクスを形成するために使用される。例示的に、方向は極座標としてラジアンで表されるために分散は直線状である（ステップ４２０）。共分散マトリクスが分解されてその固有値が決定される（ステップ４３０）。固有値は加算でき、この合計が適切な３Ｄアルゴリズムを決定する閾値化操作（ステップ４４０）で使用される。より一般的に、手順４００はある領域における法線の分布が統計的にユニモーダルであるか決定することを試みる。分布を決定するために、当業者には自明であるはずの他の技術を用いることができる。とりわけ、アルゴリズムを決定するために使用される閾値は、オブジェクトのタイプ又は表面及びオブジェクトの向きによって影響を与えることができるが、これらはユーザが入力するか又は自動的に決定される（オブジェクトタイプがビジョンシステムによって確実に特定される場合）。
【００２７】
図２の訓練手順２００において、分布が決まったレンジの外にある場合があり（決定ステップ２４０及び分岐２４２）、その結果としてシステムはプロセスで使用するための適切な３Ｄアライメントアルゴリズムを確定できない。そのため手順２００は、ステップ２５０でこの不確かな結果を掲げる。そのような場合、ユーザはインタフェースによってアルゴリズムを手動で選択するように促されるか（ステップ２５２）、又はこの決定を実行時まで延期することができる。決定（ステップ２３０）が閾値の範囲内で行われた場合（決定ステップ２４０）、手順２６０で実行時に訓練されたモデルで使用するための適切な３Ｄアライメントアルゴリズムを自動的に選択する。代替的に、手順は．複数のアルゴリズムが最も効果的／効率的に作動できるように決定して、実行時間が一番短いものを選択することができる。ステップ２７０で、自動又は手動技術によるアルゴリズムの選択は実行時に使用するために保存される。
【００２８】
分布決定の結果がある閾値の範囲外にある場合は、与えられたモデル上で多数のアルゴリズムも訓練できることに留意されたい。この場合は、１つのアルゴリズムの最終的な選択は、実行時操作まで延期され、場合により、アライメントと、どのアルゴリズムがより良いアライメント結果を生成するかの決定の両方を達成することを試みる。
【００２９】
非限定的な例として、２つの通常の３Ｄアライメントアルゴリズムは、ＩＣＰとエッジベース／ＩＣＰのハイブリッドである。ＩＣＰアルゴリズムにおいては、１つの３Ｄポイントクラウド、参照ポイントクラウド又はターゲットは固定されている一方で、他の３Ｄポイントクラウド即ちソースは、ターゲットに最もよく一致するように変換される。アルゴリズムは、ソースから参照ポイントクラウドまでの距離を最小化するために必要とされる変換（並進と回転の組み合わせ）を反復的に修正する。ソースを参照ポイントクラウドにアライメントするための変換の初期推定があることができ、反復を停止するための１つ以上の基準が提供される。アルゴリズムは精緻化された変換（結果ポーズ）を出力する。操作においてアルゴリズムは次のように進行する。
ソースポイントクラウド内の各ポイントについて、参照ポイントクラウドにおける最も近いのポイントを見つける。
平均平方誤差費用関数を用いて、各ソースポイントを前段ステップで見いだされた一致に最もよくアライメントする回転と並進の組み合わせを推定する。
獲得された変換を用いてソースポイントを変換する。
反復してポイントを再結合する。
【００３０】
ＩＣＰアルゴリズムは、面法線分布分散が高い場合に（例えばモデル３２２）（与えられた「高」閾値以上）、あるオブジェクト形状にとって有用である。反対に、ＩＣＰとエッジベースのアルゴリズムのハイブリッドは、分散が小さい場合に（与えられた「低」閾値以下）（例えばモデル３１２）、より望ましい。エッジベースのアライメント原理（例えば３Ｄエッジ検出を使用してモデルと実行時画像との間で一致した３Ｄ特徴を創出する）とＩＣＰを組み合わせて用いる多様なアルゴリズムが利用できる。例を挙げると、法線間の分散が低い平坦な表面又は箱状の表面は、ＩＣＰアルゴリズムがソースとターゲットの法線のアライメントを反復しようと試みると失敗するであろう。反対に、そのような３Ｄ構造で見いだされた３Ｄエッジは、ソースとターゲットのアライメントに対する強力な制約を形成できる。従ってアルゴリズムは（例えば）最初にアライメントするためにエッジベースのプロセスを採用し、エッジアライメントされたソースとターゲットの制約内でＩＣＰを採用できる。有益な背景情報として、ＩＣＰ及び関連する３Ｄアライメントアルゴリズムを用いる３Ｄアライメントの記述は、ホルツ他「ポイントクラウドライブラリの登録」（ＩＥＥＥロボット工学及び自動化マガジン、１１０−１２４ページ、２０１５年９月１６日）によって提供されている。
【００３１】
訓練時にモデルを基準にして選択された１つ以上の３Ｄアライメントアルゴリズムを保存した後、取得された画像のモデルと特徴をアライメントするための実行時手順５００を図５に示して説明する。ステップ５１０で、１つ以上の実行時オブジェクトが１台以上の３Ｄカメラの視野内に配置され、シーンの１つ以上の画像が取得される。ステップ５２０で、訓練ステップから保存された選択情報を用いて適切なアライメントアルゴリズムを選択する（これはコースアライメントの前又は後で行うことができる）。代替として、訓練時に３Ｄアルゴリズムの離散的選択が行われない場合は、実行時にユーザはオブジェクトの実行時画像のための最良のアルゴリズムを特定するよう促される。ステップ５３０でコースアライメントが実行されて、オブジェクトの特定された特徴がモデル特徴で粗く登録される。これは実行時画像における特徴を種々のモデルと比較して最も近い一致、例えば実行時特徴の向きに最も近いモデルの向きを提供することを含んでよい。コースアライメントは、他の粗い登録技術と並んで、エッジのアライメント又はソースとターゲットの面法線の比較に基づくことができる。選択に基づいて、３Ｄアライメントはステップ５４０で精緻化され、実行時手順５００は３Ｄアライメント結果をステップ５５０に戻す。３Ｄファインアライメントは選択されたアルゴリズム又は他の技術に基づくことができ、（任意的に）専ら３Ｄコースアライメントステップで自動的に選択されたアルゴリズムが用いられる。反対に、選択されたアルゴリズムは３Ｄコースアライメントと３Ｄファインアライメントの両方で用いることができる。代替的に、コースアライメント（例えばエッジベース）に１つのタイプのアルゴリズムを採用でき、３Ｄファインアライメントに別のタイプのアライメント（例えばＩＣＰ）を使用できる。
【００３２】
特殊なタイプのアライメントタスク及び関連するモデルジオメトリに対して追加のアルゴリズムを使用でき、これらは実行時のコースアライメント又はファインアライメントで使用するために訓練時のモデルのタイプと関連付け得ることが明確に想定されていることに留意されたい。例えば、ある３Ｄ形状を２Ｄ画像に分解し、ビジョンツールを使ってエッジベースのアフィン変換を適用することである（図１の１５２）。
【００３３】
上述したシステム及び方法が、３Ｄアライメントシステムを訓練して、複数の選択肢がある場合に自動的に適切な３Ｄアライメントアルゴリズムを選択するために用いる簡便で効果的な技術をユーザに提供することは明白であろう。このシステム及び方法により、全オブジェクトの種々異なる部分及びオブジェクトの種々異なる向きに種々異なるアルゴリズムを用いることが可能になり、その結果として最も効率的な解決が提供される。このシステム及び方法はまた自動的に特定の選択が行われない状況において、ユーザが訓練時又は実行時に１つ以上のアルゴリズムを選択することを可能にする。
【００３４】
以上、本発明の例示的な実施形態を詳細に説明した。本発明の精神と範囲を逸脱することなく種々の改変及び追加を行うことができる。上述した種々の実施形態の各々の特徴は、関連する新しい実施形態において多数の特徴の組み合わせを提供するのに適する限り、別の記載された実施形態の特徴と組み合わされてよい。更に、上に本発明の装置と方法の多数の別個の実施形態を記したが、ここに記載されたものは本発明の原理の応用を例示したものに過ぎない。例えば、本明細書で使用される様々な方向及び／又は向きを表わす用語、例えば、「垂直」、「水平」、「上」、「下」、「底部」、「頂部」、「側部」、「前部」、「後部」、「左」、「右」及びこれに類するものは、相対的な表現法として用いられているに過ぎず、重力の作用方向など固定した座標系を基準とした絶対的な向きを表わすものではない。更に、図示されたプロセス又はプロセッサは他のプロセス及び／又はプロセッサと組み合わせ、又は種々のサブプロセス又はサブプロセッサに分割されてよい。そのようなサブプロセス及び／又はサブプロセッサは、本明細書に記載された実施形態に従って多様に組み合わせることができる。同様に、本明細書中の何らかの機能、プロセス及び／又はプロセッサは、プログラム命令の非一時的コンピュータ可読媒体からなる電子ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組み合わせを用いて実施できることが明確に想定されている。従ってこの説明は例示の方法によるものであり、本発明の範囲を別途制限することを意味するものではない。
【００３５】
以下に特許請求の範囲を記載する。
【図１】
2018055674.tif 000003
【図２】
2018055674.tif 000004
【図３】
2018055674.tif 000005
【図４】
2018055674.tif 000006
【図５】
2018055674.tif 000007
【手続補正書】
【提出日】平成30年1月19日(2018.1.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
手順２００のステップ２１６において、アルゴリズム選択プロセス（プロセッサ）（図１の１５８）は、囲まれた関心領域（３１０、３２０）内の特徴上に面法線を決定し、そのような面法線の分布（ステップ２１８）を用いて当該オブジェクト及び分布に対する適切なアライメントアルゴリズムを決定する。
【外国語明細書】
2018055674000001.pdf