(57)【要約】【課題】  自動パラメータ設定選択肢を含むエッジ測定ビデオツール及びインタフェースを提供する。【解決手段】  エッジ位置特定ビデオツールのパラメータを設定するユーザインタフェースが提供される。一実施態様では、ユーザインタフェースは、ユーザがゾーン内の単一のパラメータ組み合わせインジケータを調整して、対応するエッジを検出する複数のエッジ検出パラメータを調整することができるエッジゾーンを有する多次元パラメータ空間表現を含む。エッジゾーンは、パラメータ組み合わせインジケータがエッジゾーン内に配置される場合、検出可能なエッジ要素を示す。別の実施態様では、エッジ検出パラメータの異なる可能な組み合わせにより検出可能な複数のエッジ要素の表現が、１つ又は複数のウィンドウに自動的に提供される。ユーザがエッジ要素表現の１つを選択する場合、エッジ検出パラメータの対応する組み合わせは、エッジ位置特定ビデオツールのパラメータとして設定される。【選択図】図２
2014093094.tif 000002
【特許請求の範囲】
【請求項１】
マシンビジョン検査システムのユーザインタフェースにおいてエッジ検出パラメータを定義する方法であって、
複数のエッジ検出パラメータを有するエッジ位置特定ビデオツールを提供すること、
少なくとも第１のエッジ要素を内部に含む前記エッジ位置特定ビデオツールの関心領域（ＲＯＩ）を画定すること、
前記複数のエッジ検出パラメータの複数のパラメータ組み合わせ候補を自動的に決定することであって、前記関心領域内の各エッジ要素の検出に使用可能なパラメータ組み合わせ候補を決定すること、及び
前記ユーザインタフェースを操作して、前記関心領域内の各エッジ要素の検出に使用可能な各パラメータ組み合わせ候補それぞれに対応したパラメータ組み合わせ候補表現を表示すること、
を含み、
前記ユーザインタフェースは、ユーザが、表示されている各パラメータ組み合わせ候補表現に対してパラメータ組み合わせ選択動作を実行することができるように構成され、前記ユーザ選択動作により、前記画定された関心領域における前記エッジ位置特定ビデオツールの動作を支配するエッジ検出パラメータの組み合わせが選択される、方法。
【請求項２】
前記ユーザインタフェースは、前記複数のエッジ検出パラメータを組み合わせ可能な多次元パラメータ空間表現を含み、
前記複数のパラメータ組み合わせ候補を決定するステップは、前記第１のエッジ要素の検出に使用可能なパラメータ組み合わせ候補の第１のセットを決定することを含み、
前記ユーザインタフェースを操作するステップは、パラメータ組み合わせ候補の前記第１のセットの表現を第１のゾーンとして前記多次元パラメータ空間表現に表示することを含む、請求項１に記載の方法。
【請求項３】
前記ユーザインタフェースは、ユーザが前記第１のゾーンに対してパラメータ組み合わせ選択動作を実行できるようにし、前記パラメータ組み合わせ選択動作は、パラメータ組み合わせインジケータを前記第１のゾーン内の位置に移動させること、及び前記パラメータ組み合わせインジケータを操作して、その位置に対応する前記パラメータ組み合わせを選択することを含む、請求項２に記載の方法。
【請求項４】
前記関心領域（ＲＯＩ）は、前記関心領域内に少なくとも第２のエッジ要素を含み、
複数のパラメータ組み合わせ候補を決定するステップは、前記第２のエッジ要素の検出に使用可能なパラメータ組み合わせ候補の第２のセットを決定することを含み、
前記ユーザインタフェースを操作するステップは、パラメータ組み合わせ候補の前記第２のセットの表現を第２のゾーンとして前記多次元パラメータ空間表現に表示することを含む、請求項３に記載の方法。
【請求項５】
前記ユーザインタフェースは、前記マシンビジョン検査システムの視野の画像と、前記視野の前記画像に重畳表示され、前記パラメータ組み合わせインジケータの現在の位置により示されるパラメータの組み合わせにより検出可能な前記エッジ要素の表現と、を含む少なくとも１つのエッジ要素表現ウィンドウをさらに含む、請求項４に記載の方法。
【請求項６】
前記パラメータ組み合わせインジケータの前記現在の位置により示されるパラメータの前記組み合わせにより検出可能な前記エッジ要素の前記表現は、前記視野の前記画像に重畳表示され、前記ＲＯＩにわたる複数の走査線に対応する複数の検出可能エッジ点を含む、請求項５に記載の方法。
【請求項７】
前記少なくとも１つのエッジ要素表現ウィンドウ及び前記多次元パラメータ空間表現は、前記少なくとも１つのエッジ要素表現ウィンドウでの調整又は選択が、前記多次元パラメータ空間表現での対応する表示になるように同期される、請求項６に記載の方法。
【請求項８】
前記関心領域（ＲＯＩ）は、前記関心領域内に少なくとも第２のエッジ要素を含み、
前記ユーザインタフェースは、前記第１及び第２のエッジ要素の表現を含み、
前記複数のパラメータ組み合わせ候補を自動的に決定するステップは、前記第１のエッジ要素の検出に使用可能な少なくとも第１のパラメータ組み合わせ候補を決定すること、及び前記第２のエッジ要素の検出に使用可能な少なくとも第２のパラメータ組み合わせ候補を決定することを含み、
前記ユーザインタフェースを操作するステップは、前記第１及び第２のエッジ要素の前記表現を表示することを含む、請求項１に記載の方法。
【請求項９】
前記ユーザインタフェースは、表示された前記第１及び第２のエッジ要素の前記表現に対してパラメータ組み合わせ選択動作をユーザが実行することができるように構成され、前記パラメータ組み合わせ選択動作は、前記第１及び第２のエッジ要素のうちの所望の１つの前記表現に近傍の位置にカーソルを移動させること、及び前記カーソルを操作して、そのエッジに対応する前記パラメータ組み合わせを選択することを含む、請求項８に記載の方法。
【請求項１０】
前記第１及び第２のエッジ要素の前記表現は、対応する第１のパラメータ組み合わせ候補が決定されたことを示す、前記第１のエッジ要素の画像に重畳表示される第１のインジケータと、対応する第２のパラメータ組み合わせ候補が決定されたことを示す、前記第２のエッジ要素の画像に重畳表示される第２のインジケータと、を含む、請求項８に記載の方法。
【請求項１１】
前記第１及び第２のインジケータは、前記第１及び第２のエッジ要素のそれぞれに沿った検出エッジ点を含む、請求項１０に記載の方法。
【請求項１２】
前記第１のエッジ要素の前記表現は、対応する第１のパラメータ組み合わせ候補が決定されたことを示す前記第１のエッジ要素を含む第１のエッジウィンドウを含み、
前記第２のエッジ要素の前記表現は、対応する第２のパラメータ組み合わせ候補が決定されたことを示す前記第２のエッジ要素を含む第２のエッジウィンドウを含み、
前記ユーザインタフェースは、ユーザが、前記第１及び第２のエッジ要素の前記表示表現に対してパラメータ組み合わせ選択動作を実行することができるように構成され、前記パラメータ組み合わせ選択動作は、前記第１及び第２のエッジウィンドウの所望のうちの１つの位置にカーソルを移動させること、及びカーソルを操作して、そのエッジに対応する前記パラメータ組み合わせを選択することを含む、請求項８に記載の方法。
【請求項１３】
前記ユーザインタフェースは、前記複数のエッジ検出パラメータを組み合わせ可能な多次元パラメータ空間表現をさらに含み、
前記ユーザインタフェースは、ユーザが、前記第１及び第２のエッジ要素の前記表示表現に対してパラメータ組み合わせ選択動作を実行することができるように構成され、前記パラメータ組み合わせ選択動作は、前記第１及び第２のエッジ要素の所望の１つの前記表現の近傍位置にカーソルを移動させること、及びカーソルを操作して、前記第１又は第２のエッジ要素のいずれかを選択することを含み、これに応答して、前記ユーザインタフェースは、
前記第１のエッジ要素が選択される場合、前記多次元パラメータ空間表現での第１のゾーンとしてのパラメータ組み合わせ候補の第１のセットの表現であって、前記パラメータ組み合わせの前記第１のセットは、前記第１のエッジ要素の検出に使用可能な第１のパラメータ組み合わせ候補を、前記第１のエッジ要素の検出に使用可能な他のパラメータ組み合わせ候補に加えて含む、前記各パラメータ組み合わせ候補の第１のセットの表現、又は
前記第２のエッジ要素が選択される場合、前記多次元パラメータ空間表現での第２のゾーンとしてのパラメータ組み合わせ候補の第２のセットの表現であって、前記パラメータ組み合わせの前記第２のセットは、前記第２のエッジ要素の検出に使用可能な第２のパラメータ組み合わせ候補を、前記第２のエッジ要素の検出に使用可能な他のパラメータ組み合わせ候補に加えて含む、前記各パラメータ組み合わせ候補の第２のセットの表現
のうちの一方を表示するようにさらに構成される、請求項８に記載の方法。
【請求項１４】
ユーザインタフェースにおいてエッジ検出パラメータを定義するマシンビジョン検査システムであって、
プログラム命令を記憶するメモリと、
前記プログラム命令を実行して、動作を実行するように構成されたプロセッサと、
を含み、前記動作は、
複数のエッジ検出パラメータを有するエッジ位置特定ビデオツールを提供すること、
少なくとも第１のエッジ要素を内部に含む前記エッジ位置特定ビデオツールの関心領域（ＲＯＩ）を画定すること、
前記複数のエッジ検出パラメータの複数のパラメータ組み合わせ候補を自動的に決定することであって、前記関心領域内の各エッジ要素の検出に使用可能であるパラメータ組み合わせ候補を決定すること、及び
前記ユーザインタフェースを操作して、前記関心領域内のエッジ要素の検出に使用可能なパラメータ組み合わせ候補に対応するパラメータ組み合わせ候補表現を表示すること、
を含み、
前記ユーザインタフェースは、ユーザが、表示されているパラメータ組み合わせ候補表現に対してパラメータ組み合わせ選択動作を実行することができるように構成され、前記ユーザ選択動作により、前記画定された関心領域における前記エッジ位置特定ビデオツールの動作を支配するエッジ検出パラメータの組み合わせが選択される、システム。
【請求項１５】
前記ユーザインタフェースは、前記複数のエッジ検出パラメータを組み合わせ可能な多次元パラメータ空間表現を含み、
前記複数のパラメータ組み合わせ候補を決定するステップは、前記第１のエッジ要素の検出に使用可能なパラメータ組み合わせ候補の第１のセットを決定することを含み、
前記ユーザインタフェースを操作するステップは、パラメータ組み合わせ候補の第１のセットの表現を第１のゾーンとして前記多次元パラメータ空間表現に表示することを含む、請求項１４に記載のシステム。
【請求項１６】
前記関心領域（ＲＯＩ）は、前記関心領域内に少なくとも第２のエッジ要素を含み、
前記ユーザインタフェースは、前記第１及び第２のエッジ要素の表現を含み、
複数のパラメータ組み合わせ候補を自動的に決定するステップは、前記第１のエッジ要素の検出に使用可能な少なくとも第１のパラメータ組み合わせ候補を決定すること、及び前記第２のエッジ要素の検出に使用可能な少なくとも第２のパラメータ組み合わせ候補を決定することを含み、
前記ユーザインタフェースを操作するステップは、前記第１及び第２のエッジ要素の前記表現を表示することを含む、請求項１４に記載のシステム。
【請求項１７】
前記ユーザインタフェースは、ユーザが、表示された前記第１及び第２のエッジ要素の前記表現に対してパラメータ組み合わせ選択動作を実行できるようにし、前記パラメータ組み合わせ選択動作は、前記第１及び第２のエッジ要素のうちの所望の１つの前記表現の近傍位置にカーソルを移動させること、及び前記カーソルを操作して、そのエッジに対応する前記パラメータ組み合わせを選択することを含む、請求項１６に記載のシステム。
【請求項１８】
動作を実行する、プロセッサにより実行可能な命令が記憶されたコンピュータ可読記憶媒体であって、前記動作は、
複数のエッジ検出パラメータを有するエッジ位置特定ビデオツールを提供すること、
少なくとも第１のエッジ要素を内部に含む前記エッジ位置特定ビデオツールの関心領域（ＲＯＩ）を画定すること、
前記複数のエッジ検出パラメータの複数のパラメータ組み合わせ候補を自動的に決定することであって、前記関心領域内の各エッジ要素の検出に使用可能であるパラメータ組み合わせ候補を決定すること、及び
前記ユーザインタフェースを操作して、前記関心領域内のエッジ要素の検出に使用可能なパラメータ組み合わせ候補に対応するパラメータ組み合わせ候補表現を表示すること、
を含み、
前記ユーザインタフェースは、ユーザが、表示されているパラメータ組み合わせ候補表現に対してパラメータ組み合わせ選択動作を実行することができるように構成され、前記ユーザ選択動作により、前記画定された関心領域における前記エッジ位置特定ビデオツールの動作を支配するエッジ検出パラメータの組み合わせが選択される、コンピュータ可読記憶媒体。
【請求項１９】
前記ユーザインタフェースは、前記複数のエッジ検出パラメータを組み合わせ可能な多次元パラメータ空間表現を含み、
前記複数のパラメータ組み合わせ候補を決定するステップは、前記第１のエッジ要素の検出に使用可能なパラメータ組み合わせ候補の第１のセットを決定することを含み、
前記ユーザインタフェースを操作するステップは、パラメータ組み合わせ候補の第１のセットの表現を第１のゾーンとして前記多次元パラメータ空間表現に表示することを含む、請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記関心領域（ＲＯＩ）は、前記関心領域内に少なくとも第２のエッジ要素を含み、
前記ユーザインタフェースは、前記第１及び第２のエッジ要素の表現を含み、
複数のパラメータ組み合わせ候補を自動的に決定するステップは、前記第１のエッジ要素の検出に使用可能な少なくとも第１のパラメータ組み合わせ候補を決定すること、及び前記第２のエッジ要素の検出に使用可能な少なくとも第２のパラメータ組み合わせ候補を決定することを含み、
前記ユーザインタフェースを操作するステップは、前記第１及び第２のエッジ要素の前記表現を表示することを含む、請求項１８に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動パラメータ設定選択肢を含むエッジ測定ビデオツール及びインタフェースに関する。
【背景技術】
【０００２】
精密なマシンビジョン検査システム（又は略して「ビジョンシステム」）は、被検査物体の精密な寸法測定を取得し、様々な他の物体要素を検査するために利用することができる。そのようなシステムは、コンピュータと、カメラ及び光学系と、複数の方向に移動可能であり、カメラが検査中のワークピースの要素を走査できるようにする精密ステージとを含み得る。市販されている例示的な１つの従来技術によるシステムは、イリノイ州オーロラに所在のMitutoyo America Corporation (MAC)から入手可能なQUICK VISION（登録商標）シリーズのＰＣに基づくビジョンシステム及びQVPAK（登録商標）ソフトウェアである。QUICK VISION（登録商標）シリーズのビジョンシステム及びQVPAK（登録商標）ソフトウェアの機能及び動作は一般に、例えば、２００３年１月に公開されたQVPAK 3D CNC Vision Measuring Machine User's Guide及び１９９６年９月に公開されたQVPAK 3D CNC Vision Measuring Machine Operation Guideに説明されている。この製品は、例えば、QV-302 Proモデルで例示されるように、顕微鏡型光学系を使用して、ワークピースの画像を様々な倍率で提供し、必要に応じてステージを動かして、任意の単一のビデオ画像の限界を超えてワークピース表面を横切ることが可能である。単一のビデオ画像は通常、そのようなシステムの所望の倍率、測定分解能、及び物理的サイズ制限を考えると、観測中又は検査中のワークピースの一部のみしか包含しない。
【０００３】
マシンビジョン検査システムは一般に、自動ビデオ検査を利用する。米国特許第６，５４２，１８０号（‘１８０号特許）では、そのような自動ビデオ検査の様々な態様が教示されている。‘１８０号特許において教示されるように、自動ビデオ検査計測機器は一般に、プログラミング機能を有し、プログラミング機能により、自動検査イベントシーケンスをユーザが特定の各ワークピース構成に関して定義することができる。これは、例えば、テキストベースのプログラミングにより、又はグラフィカルユーザインタフェースを用いてユーザが実行する検査動作シーケンスに対応するマシン制御命令シーケンスを記憶することで、検査イベントシーケンスを徐々に「学習」する記録モードを通して、又は両方法の組み合わせを通して実施することができる。そのような記録モードは多くの場合、「学習モード」、又は「トレーニングモード」、又は「記録モード」と呼ばれる。検査イベントシーケンスが「学習モード」で定義されると、そのようなシーケンスを使用して、「実行モード」中にワークピースの画像を自動的に取得する（且つさらに解析又は検査する）ことができる。
【０００４】
特定の検査イベントシーケンスを含むマシン制御命令（すなわち、各画像をいかに取得し、各取得画像をいかに解析／検査するか）は一般に、特定のワークピース構成に固有の「パートプログラム」又は「ワークピースプログラム」に記憶される。例えば、パートプログラムは、ワークピースに対してカメラを位置決めする方法、照明レベル、倍率レベル等の各画像を取得する方法を定義する。さらに、パートプログラムは、例えば、エッジ／境界検出ビデオツール等の１つ又は複数のビデオツールを使用することにより、取得画像を解析／検査する方法を定義する。
【０００５】
ビデオツール（又は略して「ツール」）及び他のグラフィカルユーザインタフェース機能は、手動で使用して、手動での検査及び／又はマシン制御動作を達成し得る（「手動モード」で）。そのセットアップパラメータ及び動作も、学習モード中に記録して、自動検査プログラム又は「パートプログラム」を作成することができる。ビデオツールは、例えば、エッジ／境界検出ツール、オートフォーカスツール、形状又はパターン照合ツール、寸法測定ツール等を含み得る。
【０００６】
ワークピース画像のエッジ要素の位置を特定する様々な方法が知られている。例えば、輝度勾配演算子を、エッジ要素を含む画像に適用して、その位置を特定する様々なアルゴリズム、例えば、キャニーエッジ検出器又は微分エッジ検出器が知られている。そのようなエッジ検出アルゴリズムは、マシンビジョン検査システムに含むことができ、マシンビジョン検査システムは、入念に構成された照明及び／又は特殊画像処理技法も使用して、輝度勾配を強め、又は他の様式でエッジ位置特定正確性及び再現性を向上させる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第６，５４２，１８０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
いくつかのマシンビジョンシステム（例えば、上述したQVPAK（登録商標）を利用するもの）は、エッジ検出アルゴリズムに対して調整可能なパラメータを有するエッジ位置特定ビデオツールを提供する。特定の実施態様では、まず、学習モード動作中に代表的なワークピースのエッジに対してパラメータを決定し、次に、実行モード動作中に利用して、同様のワークピースの対応するエッジを見つけ得る。望ましいエッジ検出パラメータが、学習モード中に自動的に決定することが難しいか、又は不可能な場合、ユーザは、パラメータの手動調整を選び得る。しかし、特定のエッジ検出パラメータ（例えば、本明細書において概説するＴＨ、ＴＨＲ、及びＴＨＳ等の閾値）は、大半のユーザ（例えば、比較的熟練度の低いユーザ）には理解が困難であると考えられ、それらの調整が特定のエッジ検出動作にどのように影響するかは、特にパラメータの組み合わせの場合、イメージすることが難しいと考えられる。パラメータの調整は、汎用マシンビジョン検査システムをプログラミングし使用する場合に直面する部分毎のワークピース材料の様々なエッジ状況及びワークピース材料のばらつきによりさらに複雑になり得る。比較的熟練度の低いユーザがエッジ位置特定ビデオツールのパラメータを調整し、それらを使用して、様々なタイプのエッジを確実に検査することができる改良された方法及びシステムが望ましい。
【課題を解決するための手段】
【０００９】
マシンビジョン検査システムユーザインタフェースにおいてエッジ検出パラメータを定義する方法が提供される。一実施形態では、この方法は、複数のエッジ検出パラメータを有するエッジ位置特定ビデオツールを提供することにより開始される。少なくとも第１のエッジ要素を含むエッジ位置特定ビデオツールの関心領域（ＲＯＩ）が画定される。複数のエッジ検出パラメータの複数のパラメータ組み合わせ候補が自動的に決定され、各パラメータ組み合わせ候補は、関心領域内の各エッジ要素の検出に使用可能である。ユーザインタフェースは、関心領域内の各エッジ要素の検出に使用可能な各パラメータ組み合わせ候補に対応する各パラメータ組み合わせ候補表現を表示するように動作する。ユーザインタフェースは、表示された各パラメータ組み合わせ候補表現に対してパラメータ組み合わせ選択動作をユーザが実行することができるように構成される。ユーザ選択動作により、画定された関心領域内のエッジ位置特定ビデオツールの動作を支配するエッジ検出パラメータの組み合わせが選択される。
【００１０】
ユーザインタフェースは、複数のエッジ検出パラメータを組み合わせ可能な多次元パラメータ空間表現を含み得る。複数のパラメータ組み合わせ候補を決定するステップは、第１のエッジ要素の検出に使用可能な各パラメータ組み合わせ候補の第１のセットを決定することを含み得る。ユーザインタフェースを操作するステップは、多次元パラメータ空間表現内の第１のゾーンとして各パラメータ組み合わせ候補の第１のセットの表現を表示することを含み得る。ユーザインタフェースは、ユーザが、第１のゾーンに対してパラメータ組み合わせ選択動作を実行することができるように構成され、パラメータ組み合わせ選択動作は、パラメータ組み合わせインジケータを第１のゾーン内の位置に移動させること、及びパラメータ組み合わせインジケータを操作して、その位置に対応するパラメータ組み合わせを選択することを含む。
【００１１】
関心領域（ＲＯＩ）は、関心領域内に少なくとも第２のエッジ要素を含み得る。複数のパラメータ組み合わせ候補を決定するステップは、第２のエッジ要素の検出に使用可能な各パラメータ組み合わせ候補の第２のセットを決定することを含み得る。ユーザインタフェースを操作するステップは、各パラメータ組み合わせ候補の第２のセットの表現を第２のゾーンとして多次元パラメータ空間表現内に表示することを含み得る。
【００１２】
ユーザインタフェースは、マシンビジョン検査システムの視野の画像と、視野の画像に重畳表示され、パラメータ組み合わせインジケータの現在の位置により示されるパラメータの組み合わせにより検出可能なエッジ要素の表現と、を含む少なくとも１つのエッジ要素表現ウィンドウを含み得る。パラメータ組み合わせインジケータの現在の位置により示されるパラメータの組み合わせにより検出可能なエッジ要素の表現は、視野の画像に重畳表示され、ＲＯＩにわたる複数の走査線に対応する複数の検出可能なエッジ点を含み得る。少なくとも１つのエッジ要素表現ウィンドウ及び多次元パラメータ空間表現は、少なくとも１つのエッジ要素表現ウィンドウ内の調整又は選択が、多次元パラメータ空間表現内の対応する表示になるように同期し得る。
【００１３】
関心領域（ＲＯＩ）は、関心領域内に少なくとも第２のエッジ要素を含み得る。ユーザインタフェースは、第１及び第２のエッジ要素の表現を含み得る。複数のパラメータ組み合わせ候補を自動的に決定するステップは、第１のエッジ要素の検出に使用可能な少なくとも第１の各パラメータ組み合わせ候補を決定すること、及び第２のエッジ要素の検出に使用可能な少なくとも第２の各パラメータ組み合わせ候補を決定することを含み得る。ユーザインタフェースを操作するステップは、第１及び第２のエッジ要素の表現を表示することを含み得る。
【００１４】
ユーザインタフェースは、表示された第１及び第２のエッジ要素の表現に対してパラメータ組み合わせ選択動作をユーザが実行することができるように構成し得、パラメータ組み合わせ選択動作は、第１及び第２のエッジ要素のうちの所望の１つの表現に近傍の位置にカーソルを移動させること、及びカーソルを操作して、そのエッジに対応するパラメータ組み合わせを選択することを含む。第１及び第２のエッジ要素の表現は、対応する第１の各パラメータ組み合わせ候補が決定されたことを示す、第１のエッジ要素の画像に重ねられた第１のインジケータと、対応する第２の各パラメータ組み合わせ候補が決定されたことを示す、第２のエッジ要素の画像に重ねられた第２のインジケータと、を含み得る。第１及び第２のインジケータは、第１及び第２のエッジ要素のそれぞれに沿った検出エッジ点を含み得る。
【００１５】
第１のエッジ要素の表現は、対応する第１の各パラメータ組み合わせ候補が決定されたことを示す第１のエッジ要素を含む第１のエッジウィンドウを含み得、第２のエッジ要素の表現は、対応する第２の各パラメータ組み合わせ候補が決定されたことを示す第２のエッジ要素を含む第２のエッジウィンドウを含み得る。ユーザインタフェースは、ユーザが、第１及び第２のエッジ要素の表示表現に対してパラメータ組み合わせ選択動作を実行することができるように構成し得、パラメータ組み合わせ選択動作は、第１及び第２のエッジウィンドウの所望の１つ内の位置にカーソルを移動させること、及びカーソルを操作して、そのエッジに対応するパラメータ組み合わせを選択することを含む。
【００１６】
ユーザインタフェースは、複数のエッジ検出パラメータを組み合わせ可能な多次元パラメータ空間表現を含み得る。ユーザインタフェースは、ユーザが、第１及び第２のエッジ要素の表示表現に対してパラメータ組み合わせ選択動作を実行することができるように構成し得る。選択動作は、第１及び第２のエッジ要素の所望の１つの表現に近傍の位置にカーソルを移動させること、及びカーソルを操作して、第１及び第２のエッジ要素のいずれかを選択することを含み得る。選択に応答して、ユーザインタフェースは、第１又は第２のゾーンの表現を表示するようにさらに構成し得る。より詳細には、各パラメータ組み合わせ候補の第１のセットの表現は、第１のエッジ要素が選択される場合、多次元パラメータ空間表現内に第１のゾーンとして表示し得、各パラメータ組み合わせの第１のセットは、第１のエッジ要素の検出に使用可能な他のパラメータ組み合わせ候補に加えて、第１のエッジ要素の検出に使用可能な第１の各パラメータ組み合わせ候補を含む。あるいは、各パラメータ組み合わせ候補の第２のセットの表現は、第２のエッジ要素が選択される場合、多次元パラメータ空間表現内に第２のゾーンとして表示し得、各パラメータ組み合わせの第２のセットは、第２のエッジ要素の検出に使用可能な他のパラメータ組み合わせ候補に加えて、第２のエッジ要素の検出に使用可能な第２の各パラメータ組み合わせ候補を含む。
【００１７】
一実施形態では、マシンビジョン検査システムユーザインタフェースにおいてエッジ位置特定パラメータを定義する方法が提供される。エッジ位置特定ビデオツールの関心領域（ＲＯＩ）の複数のエッジ検出パラメータが定義される。多次元パラメータ空間表現が表示され、多次元パラメータ空間表現は、複数のエッジ検出パラメータの可能な組み合わせを示す。一実施態様では、多次元パラメータ空間表現は二次元格子であり、各次元が、エッジ検出パラメータの１つに対応する可能な値を示す。多次元パラメータ空間表現内にパラメータ組み合わせインジケータ（例えば、ユーザインタフェースにおいて選択及びドラッグすることができるパラメータ組み合わせマーカを含む）が配置され、多次元パラメータ空間表現内での該インジケータの位置によりエッジ検出パラメータの組み合わせが示される。エッジ位置特定ビデオツールのＲＯＩ内に配置されたエッジ要素を表す１つ又は複数のエッジ要素表現ウィンドウが表示される。一実施形態では、パラメータ組み合わせインジケータの現在の配置により示されるエッジ検出パラメータの組み合わせにより検出可能なエッジ要素は、１つ又は複数のエッジ要素表現ウィンドウにおいて自動的に更新される。本明細書において使用されるウィンドウという用語が、従来既知のタイプのユーザインタフェースウィンドウを含むとともに、より一般的に、全体表示エリアよりも小さく作られた表示要素を含み得、及び／又は時によって隠し得（例えば、ユーザによりサイズ変更され、及び／又は配置換えされ、及び／又は隠される）、特定のクラスの情報及び／又は特定のクラスの情報に関連するメニュー又は選択にフォーカスし得る等の１つ又は複数のユーザインタフェース機能を含み得るユーザインタフェースの非従来的な要素も指すことを理解されたい。したがって、本明細書において示される特定の形態のウィンドウは単なる例示であり、限定ではない。例えば、いくつかの実施形態では、「ウィンドウ」は、明確に画定された制限境界等を有さないこともあり、ハイパーリンクのような挙動を有し得、別個及び／又は隔離された表示要素に出現し得る等である。
【００１８】
エッジ要素表現ウィンドウは、エッジ位置特定ビデオツールの関心領域の走査線輝度及び／又は走査線輝度勾配の表現を含み得る。別のエッジ要素表現ウィンドウは、マシンビジョン検査システムの視野の画像を含み得る。パラメータ組み合わせインジケータの現在の配置により示されるパラメータの組み合わせにより検出可能なエッジ要素のうちの１つ又は複数の表現を、走査線輝度、及び／又は走査線輝度勾配、及び／又は視野画像の表現に重ね得る。
【００１９】
エッジ要素表現ウィンドウ及び多次元パラメータ空間表現は、エッジ要素表現ウィンドウの１つでのパラメータ調整又は選択が、多次元パラメータ空間表現内のパラメータインジケータ（例えば、その位置）の対応する調整又は選択に繋がるように同期し得る。エッジ要素表現ウィンドウ内の調整又は選択は、閾値レベルの調整又は選択を含み得、多次元パラメータ空間表現内の対応する表示は、選択された閾値レベルに対応する位置にパラメータ組み合わせインジケータの移動を含み得る。
【図面の簡単な説明】
【００２０】
【図１】汎用精密マシンビジョン検査システムの様々な典型的構成要素を示す図である。
【図２】図１のシステムと同様であり、本明細書に記載の機能を含むマシンビジョン検査システムの制御システム部及びビジョン構成要素部のブロック図である。
【図３】エッジゾーンを有する多次元パラメータ空間表現と、エッジ要素表現を含むウィンドウとを含むユーザインタフェース表示の第１の実施形態の様々な機能を示す図である。
【図４】エッジゾーンを有する多次元パラメータ空間表現と、エッジ要素表現を含むウィンドウと含むユーザインタフェース表示の第１の実施形態の様々な機能を示す図である。
【図５】多次元パラメータ空間表現と、エッジ要素表現を含む少なくとも１つのウィンドウとを表示する方法の流れ図である。
【図６】エッジゾーンを有する多次元パラメータ空間表現を表示する方法の流れ図である。
【図７】エッジゾーンを有する多次元パラメータ空間表現と、エッジ要素表現及び重ねられた検出エッジ点を含むビデオウィンドウとを含むユーザインタフェース表示の第２の実施形態の様々な機能を示す図である。
【図８】エッジゾーンを有する多次元パラメータ空間表現と、エッジ要素表現及び重ねられた検出エッジ点を含むビデオウィンドウとを含むユーザインタフェース表示の第２の実施形態の様々な機能を示す図である。
【図９】ユーザが選択することができる異なるエッジ要素表現を含むユーザインタフェース表示の第３の実施形態の様々な機能を示す図である。
【図１０】ユーザが選択することができる異なるエッジ要素表現を決定し表示する全数検索を利用する方法の流れ図である。
【図１１】ユーザが選択することができる異なるエッジ要素表現を決定し表示する、連結エッジを利用する方法の流れ図である。
【図１２】複数のエッジ検出パラメータの複数のパラメータ組み合わせ候補を自動的に決定する方法の流れ図である。
【発明を実施するための形態】
【００２１】
本発明の様々な実施形態について以下において説明する。以下の説明は、完全な理解及びこれらの実施形態の実施説明の具体的な詳細を提供する。しかし、本発明をこれらの詳細の多くなしで実施し得ることを当業者は理解するだろう。さらに、様々な実施形態の関連する説明を不必要に曖昧にしないように、周知の構造又は機能によっては、詳細に示されず、又は説明されないものもある。以下に提示される説明に使用される用語は、本発明の特定の具体的な実施形態の詳細な説明と併せて使用されている場合であっても、最も広義で妥当に解釈されることが意図される。
【００２２】
図１は、本明細書に記載される方法により使用可能な例示的な１つのマシンビジョン検査システム１０のブロック図である。マシンビジョン検査システム１０は画像測定機１２を含み、画像測定機１２は、制御コンピュータシステム１４とデータ及び制御信号を交換するように動作可能に接続される。制御コンピュータシステム１４は、モニタ又はディスプレイ１６、プリンタ１８、ジョイスティック２２、キーボード２４、及びマウス２６とデータ及び制御信号を交換するようにさらに動作可能に接続される。モニタ又はディスプレイ１６は、マシンビジョン検査システム１０の動作の制御及び／又はプログラムに適したユーザインタフェースを表示し得る。様々な実施形態では、タッチスクリーンタブレット等が、コンピュータシステム１４、ディスプレイ１６、ジョイスティック２２、キーボード２４、及びマウス２６のうちの任意又は全ての機能に取って代わってもよく、及び／又は重複してそれらを提供してもよいことが理解されるだろう。
【００２３】
制御コンピュータシステム１４が一般に、任意の計算システム又は装置で構成し得ることを当業者は理解するだろう。相応しい計算システム又は装置は、パーソナルコンピュータ、サーバコンピュータ、ミニコンピュータ、メインフレームコンピュータ、上記したうちの任意を含む分散計算環境等を含み得る。そのような計算システム又は装置は、本明細書に記載の機能を実行するソフトウェアを実行する１つ又は複数のプロセッサを含み得る。プロセッサは、プログラマブル汎用又は専用マイクロプロセッサ、プログラマブルコントローラ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理装置（ＰＬＤ）等、又はそのような装置の組み合わせを含む。ソフトウェアは、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ等、又はそのような構成要素の組み合わせ等のメモリに記憶し得る。ソフトウェアは、磁気若しくは光学に基づくディスク、フラッシュメモリ装置、又はデータを記憶する他の種類の不揮発性記憶媒体等の１つ又は複数の記憶装置にも記憶し得る。ソフトウェアは、１つ又は複数のプログラムモジュールを含み得、プログラムモジュールは、特定のタスクを実行し、又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。分散計算環境では、プログラムモジュールの機能は、結合してもよく、又は複数の計算システム若しくは装置にわたって分散してもよく、有線又は無線の構成でサービスコールを介してアクセスし得る。
【００２４】
画像測定機１２は、可動式ワークピースステージ３２と、光学撮像システム３４とを含み、光学撮像システム３４はズームレンズ又は交換式レンズを含み得る。ズームレンズ又は交換式レンズは一般に、光学撮像システム３４により提供される画像に様々な倍率を提供する。マシンビジョン検査システム１０は一般に、上述したQUICK VISION（登録商標）シリーズのビジョンシステム及びQVPAK（登録商標）ソフトウェア並びに同様の先端技術の市販されている精密マシンビジョン検査システムに類似する。マシンビジョン検査システム１０は、本願と同じ譲受人に譲渡された米国特許第７，４５４，０５３号明細書、同第７，３２４，６８２号明細書、同第８，１１１，９０５号明細書、同第８，１１１，９３８号明細書にも記載されている。
【００２５】
図２は、図１のマシンビジョン検査システムと同様であり、本明細書に記載される機能を含むマシンビジョン検査システム１００の制御システム部１２０と、ビジョン構成要素部２００とのブロック図である。より詳細に後述するように、制御システム部１２０は、ビジョン構成要素部２００の制御に利用される。ビジョン構成要素部２００は、光学アセンブリ部２０５と、光源２２０、２３０、及び２４０と、中央透明部２１２を有するワークピースステージ２１０とを含む。ワークピースステージ２１０は、ワークピース２０を位置決めし得るステージ表面に略平行する平面内にあるＸ軸及びＹ軸に沿って制御可能に移動可能である。光学アセンブリ部２０５は、カメラ系２６０と、交換式対物レンズ２５０とを含み、レンズ２８６及び２８８を有するターレットレンズアセンブリ２８０を含み得る。ターレットレンズアセンブリに対する代替として、固定レンズ、又は手動で交換可能な倍率変更レンズ、又はズームレンズ構成等を含み得る。
【００２６】
光学アセンブリ部２０５は、制御可能なモータ２９４を使用することにより、Ｘ軸及びＹ軸に略直交するＺ軸に沿って制御可能に移動可能であり、制御可能なモータ２９４はアクチュエータを駆動して、光学アセンブリ部２０５をＺ軸に沿って移動させて、ワークピース２０の画像の焦点を変更する。制御可能なモータ２９４は、信号線２９６を介して入出力インタフェース１３０に接続される。
【００２７】
マシンビジョン検査システム１００を使用して撮像すべきワークピース２０又は複数のワークピース２０を保持したトレイ若しくは固定具は、ワークピースステージ２１０に配置される。ワークピースステージ２１０は、光学アセンブリ部２０５と相対移動するように制御し得、それにより、交換式対物レンズ２５０は、ワークピース２０上の位置間及び／又は複数のワークピース２０間で移動する。透過照明光源２２０、落射照明光源２３０、及び斜め照明光源２４０（例えば、リング光源）のうちの１つ又は複数は、光源光２２２、２３２、又は２４２のそれぞれを発して、１つ又は複数のワークピース２０を照明する。光源２３０は、ミラー２９０を含む経路に沿って光２３２を発し得る。光源光はワークピース光２５５として反射又は透過し、撮像に使用されるワークピース光は、交換式対物レンズ２５０及びターレットレンズアセンブリ２８０を通過し、カメラ系２６０に集められる。カメラ系２６０により捕捉されたワークピース２０の画像は、信号線２６２上で制御システム部１２０に出力される。光源２２０、２３０、及び２４０は、信号線又はバス２２１、２３１、及び２４１のそれぞれを通して制御システム部１２０に接続し得る。画像の倍率を変更するには、制御システム部１２０は、信号線又はバス２８１を通して、軸２８４に沿ってターレットレンズアセンブリ２８０を回転させて、ターレットレンズを選択し得る。
【００２８】
図２に示されるように、様々な例示的な実施形態では、制御システム部１２０は、コントローラ１２５と、入出力インタフェース１３０と、メモリ１４０と、ワークピースプログラム生成・実行器１７０と、電源部１９０と、を含む。これらの構成要素のそれぞれ並びに後述する追加の構成要素は、１つ若しくは複数のデータ／制御バス及び／又はアプリケーションプログラミングインタフェースにより、或いは様々な要素間の直接接続により相互接続し得る。
【００２９】
入出力インタフェース１３０は、撮像制御インタフェース１３１と、運動制御インタフェース１３２と、照明制御インタフェース１３３と、レンズ制御インタフェース１３４とを含む。運動制御インタフェース１３２は、位置制御要素１３２ａと、速度／加速度制御要素１３２ｂとを含み得るが、そのような要素は統合及び／又は区別不可能であってもよい。照明制御インタフェース１３３は、照明制御要素１３３ａ〜１３３ｎ、及び１３３ｆｌを含み、これらの要素は、例えば、マシンビジョン検査システム１００の様々な対応する光源の選択、電力、オン／オフ切り替え、及び該当する場合にはストローブパルスタイミングを制御する。
【００３０】
メモリ１４０は、画像ファイルメモリ部１４１と、エッジ検出メモリ部１４０ｅｄと、１つ又は複数のパートプログラム等を含み得るワークピースプログラムメモリ部１４２と、ビデオツール部１４３と、を含む。ビデオツール部１４３は、ビデオツール部１４３ａ及び対応する各ビデオツールのＧＵＩ、画像処理動作等を決定する他のビデオツール部（例えば、１４３ｎ）と、ビデオツール部１４３に含まれる様々なビデオツールで動作可能な様々なＲＯＩを画定する自動、半自動、及び／又は手動動作をサポートする関心領域（ＲＯＩ）生成器１４３ｒｏｉと、を含む。
【００３１】
本開示の文脈の中で、且つ当業者には既知のように、ビデオツールという用語は一般に、ビデオツールに含まれるステップ毎の動作シーケンスを作成せずに、又は汎用テキストベースのプログラミング言語等を用いずに、マシンビジョンユーザが比較的単純なユーザインタフェース（例えば、グラフィカルユーザインタフェース、編集可能パラメータウィンドウ、メニュー等）を通して実施することができる、自動又はプログラムされた動作の比較的複雑なセットを指す。例えば、ビデオツールは、動作及び計算を管理する少数の変数又はパラメータを調整することにより、特定のインスタンスで適用されカスタマイズされる画像処理動作及び計算の複雑な事前プログラムされたセットを含み得る。基本的な動作及び計算に加えて、ビデオツールは、ユーザがビデオツールの特定のインスタンスに対してパラメータを調整することができるユーザインタフェースを含む。例えば、多くのマシンビジョンビデオツールでは、ユーザは、マウスを使用して、単純な「ハンドルドラッグ」動作を通してグラフィカル関心領域（ＲＯＩ）インジケータを構成して、ビデオツールの特定のインスタンスの画像処理動作で解析すべき画像のサブセットの位置パラメータを定義することができる。可視のユーザインタフェース機能がビデオツールと呼ばれることもあり、基本的な動作が暗黙的に含まれることに留意されたい。
【００３２】
多くのビデオツールと共通して、本開示のエッジ位置特定及びパラメータ設定の主題は、ユーザインタフェース機能及び基本的な画像処理動作等の両方を含み、関連する機能は、ビデオツール部１４３に含まれるエッジ位置特定ツール１４３ｅｌ及び対応するパラメータ設定部１４３ｐｓの機能として特徴付け得る。エッジ位置特定ツール１４３ｅｌは、エッジ位置を特定するアルゴリズムを利用し得る。このアルゴリズムはエッジ検出パラメータにより管理されてよく、エッジ検出パラメータは、場合によっては、学習モード中に自動的に決定されプログラムされてよく、及び／又はユーザにより手動で調整されてもよい（例えば、より詳細に後述するＴＨ、ＴＨＲ、及びＴＨＳ等の閾値）。
【００３３】
一実施態様では、ユーザが、上で概説したエッジ検出ビデオツールパラメータを手動で設定することができるように、パラメータ設定部１４３ｐｓは、多次元パラメータ空間表現（例えば、ＴＨを一方の軸に有し、ＴＨＳを他方の軸に有す得る二次元格子）を提供する。ユーザがパラメータ空間表現内で動かして、所望のパラメータ組み合わせ（例えば、ＴＨ及びＴＨＳの）を調整又は選択することができるパラメータマーカー又はインジケータ（例えば、カーソル）が提供される。パラメータ組み合わせエッジゾーンが、パラメータ空間表現内に提供され、このエッジゾーンは、特定のエッジ要素を検出するためにパラメータインジケータを配置することができる位置を示す。１つ又は複数のエッジ要素表現ウィンドウ（例えば、マシンビジョンシステムの走査線輝度、及び／又は走査線輝度勾配、及び／又は視野画像）が提供され、このウィンドウは、図３、図４、図７、及び図８に関してより詳細に後述するように、パラメータ及び／又は現在の設定による検出可能なエッジ要素の変更を示す。システムは、追加又は代替として、エッジ検出パラメータの検索空間を自動的にスキャンし、エッジ検出パラメータ値の変化に応じて生じるエッジ検出結果の有意な変動を示す１つ又は複数の画像を生成する。図９〜図１１に関してより詳細に後述するように、ユーザが選択することができる（例えば、ウィンドウ又はエッジ要素をクリックする）異なる有意な変動を示すユーザインタフェース表示を提供し得る。
【００３４】
透過照明光源２２０、落射照明光源２３０及び２３０’、並びに斜め照明光源２４０の信号線又はバス２２１、２３１、及び２４１のそれぞれはすべて、入出力インタフェース１３０に接続される。カメラ系２６０からの信号線２６２及び制御可能なモータ２９４からの信号線２９６は、入出力インタフェース１３０に接続される。画像データの搬送に加えて、信号線２６２は画像取得を開始するコントローラ１２５から信号を搬送し得る。
【００３５】
１つ又は複数の表示装置１３６（例えば、図１のディスプレイ１６）及び１つ又は複数の入力装置１３８（例えば、図１のジョイスティック２２、キーボード２４、及びマウス２６）も入出力インタフェース１３０に接続することができる。表示装置１３６及び入力装置１３８を使用して、ユーザインタフェースを表示することができ、ユーザインタフェースは様々なグラフィカルユーザインタフェース（ＧＵＩ）機能を含んでよく、ＧＵＩ機能は、検査動作の実行及び／又はパートプログラムの作成及び／又は変更、カメラ系２６０により捕捉された画像の表示、並びに／或いはビジョンシステム構成要素部２００の直接制御に使用することが可能である。表示装置１３６は、さらに詳細に後述するように、エッジ位置ビデオツール１４３ｅｌ及びパラメータ設定部１４３ｐｓに関連付けられたユーザインタフェース機能を表示し得る。
【００３６】
様々な例示的な実施形態では、ユーザがマシンビジョン検査システム１００を利用して、ワークピース２０のパートプログラムを作成する場合、ユーザは、マシンビジョン検査システム１００を学習モードで動作して、所望の画像取得トレーニングシーケンスを提供することにより、パートプログラム命令を生成する。例えば、トレーニングシーケンスは、視野（ＦＯＶ）内の代表的なワークピースの特定のワークピース要素の位置決め、光レベルの設定、フォーカス又はオートフォーカス、画像の取得、及び画像に適用される検査トレーニングシーケンスの提供（例えば、そのワークピース要素にビデオツールの１つのインスタンスを使用して）を含み得る。学習モードは、シーケンスが捕捉又は記録され、対応するパートプログラム命令に変換されるように動作する。これらの命令は、パートプログラムが実行される場合、マシンビジョン検査システムに、トレーニングされた画像取得及び検査動作を再現させて、パートプログラム作成時に使用された代表的なワークピースに一致する実行モードの１つ又は複数のワークピース上のその特定のワークピース要素（対応する位置にある対応する要素である）を自動的に検査させる。
【００３７】
図３及び図４は、ユーザインタフェース表示３００の第１の実施形態の様々な機能ないし特徴を示す図であり、ユーザインタフェース表示３００は、ワークピース画像を含む視野ウィンドウ３１０と、選択バー３２０及び３４０等の様々な測定及び／又は動作選択バーと、リアルタイムＸ−Ｙ−Ｚ（位置）座標ウィンドウ３３０と、照明制御ウィンドウ３５０と、エッジ検出パラメータウィンドウ３６０を含むエッジ検出ビデオツールユーザインタフェース（「ボックスツール」ユーザインタフェース）と、を含み、エッジ検出ビデオツールユーザインタフェースは、図３に示される実施形態では、ボックスツールユーザインタフェースの「高度エッジパラメータ」タブを選択することにより表示される。ボックスツールユーザインタフェースは、市販のシステムで既知の要素である関心領域インジケータ３５５、上昇／下降インジケータＲＦ、スキャン方向矢印ＳＤ、及びエッジセレクタＥＳを含め、視野ウィンドウ３１０において画像に重ねられたボックスツールＧＵＩウィジェット３５２も含む。上昇／下降インジケータＲＦは、スキャン方向矢印ＳＤと組み合わせて、検出されたエッジがスキャン方向に沿って上昇する輝度を有するか、それとも下降する輝度を有するかを定義する。エッジセレクタＥＳは、検出すべきエッジを示す（例えば、現在のツールパラメータセット）。エッジ検出パラメータウィンドウ３６０は、ＲＯＩ位置特定パラメータ／編集ボックス、スキャン方向パラメータ／編集ボックス、上昇／下降エッジ傾きパラメータ／編集ボックス、検出可能エッジ番号パラメータ／編集ボックス、及びスキャン間隔パラメータ／編集ボックスも含み得る。様々なパラメータがデフォルト値及び／又は前のユーザインタフェース動作等に基づいて自動的に決定される値を有し得ることが理解されるだろう。
【００３８】
図３及び図４に示される実施形態では、エッジ検出パラメータウィンドウ３６０は、走査線輝度ウィンドウ３６２及び走査線勾配ウィンドウ３６４のそれぞれを含むとともに、さらに後述する、複数のエッジ検出パラメータ（エッジ要素パラメータとも呼ばれる）の可能な組み合わせの多次元パラメータ空間表現３７０を含む。走査線輝度ウィンドウ３６２及び走査線勾配ウィンドウ３６４は、関心領域にわたる代表的な走査線（例えば、中央走査線又は平均走査線等）に沿ったピクセル位置での走査線輝度プロファイルＩＰ及び走査線輝度勾配プロファイルＧＰのグラフを示し、それぞれは、エッジ位置特定ビデオツール３５２の関心領域３５５内に配置されたエッジ要素のエッジ要素表現ＥＲを提供する。本明細書において使用される場合、エッジ要素表現は、エッジを示すものとしてユーザが理解し得る何らかの形態の表現である。走査線輝度ウィンドウ３６２では、エッジ要素は、走査線に沿った比較的限られた距離にわたる輝度の有意変化により表されるものと理解される。典型的な上昇エッジ及び下降エッジ要素表現ＥＲ（いくつかの事例の１つ）は、例えば、走査線輝度プロファイルＩＰ上に示される。走査線輝度勾配ウィンドウ３６４では、エッジ要素は、走査線に沿った比較的限られた距離にわたる勾配の有意変化及び／又は勾配ピーク（又は谷）により表されるものとして理解される。典型的な正及び負の勾配エッジ要素表現ＥＲ（いくつかの事例の１つ）は、例えば、走査線輝度勾配プロファイルＧＰ上に示される。当然、視野ウィンドウ３１０では、エッジ要素は、例えば、エッジ要素表現ＥＲにより示されるように、エッジ要素の画像により表されるものとして理解される。したがって、ウィンドウ３１０、３６２、３６４等の任意又はすべてをエッジ表現ウィンドウと呼び得る。走査線輝度勾配プロファイルＧＰは、この実施形態では、走査線輝度プロファイルＩＰの傾きを示すものと理解し得、したがって、一般に、各プロファイルに沿った対応する位置に、対応するエッジ要素表現を有する。
【００３９】
図３及び図４に示される実施形態では、多次元パラメータ空間表現３７０は、エッジ検出パラメータＴＨ及びＴＨＳの潜在的な組み合わせを示す二次元グラフ３７２を含み、パラメータの現在の組み合わせが、パラメータ組み合わせインジケータＰＣＩの位置により示される。エッジ検出パラメータＴＨ及びＴＨＳの現在の組み合わせにより検出可能なエッジ要素は、例示的な一実施形態に関して後述するように、ウィンドウ３６２及び３６４に表示され、自動的に更新される。
【００４０】
エッジ検出パラメータＴＨ及びＴＨＳは、エッジ位置特定ビデオツール３５２のエッジ検出アルゴリズムのエッジ検出パラメータである。一実施形態では、ビデオツール３５２の学習モード中、これら及び他の設定を決定し得、次に、エッジを特定する実行モード中に利用し得る。学習モード中に望ましい設定を決定することができない場合、又はビデオツール３５２により見つけられたエッジ点が満足のいくものではないと判断される場合、ユーザは、これらの設定の手動調整を選び得る。ビデオツールのいくつかの設定は、直観的であり得、容易に調整可能であり得る。しかし、他の設定（例えば、エッジ検出パラメータＴＨ及びＴＨＳの）は、特に組み合わせにおいて、比較的複雑であり、調整が難しいと見なされることがある。
【００４１】
パラメータは、アルゴリズムを管理するに当たり、様々な機能を提供し得る。例えば、場合によっては、パラメータは、フェールセーフ型機能を提供し得る。すなわち、エッジにわたり最小レベルの輝度変化を必要とするパラメータは、予期しないほど低い露出（例えば、照明故障）の場合、又は他の異常な状況の場合、エッジ検出ビデオツールがエッジ位置を返さないようにし得る。本明細書において言及されるパラメータＴＨは、エッジにわたって必要とされる輝度変化の最小レベルに関連する閾値を定義する。別の場合、エッジにわたり最小レベルの輝度変化率を必要とするパラメータ（例えば、エッジの幅又は鮮鋭度を特徴付け得る勾配値）は、エッジの特定のインスタンスをさらに特徴付け得、ビデオツールの初期トレーニング／プログラミングに使用された「学習モード」エッジ形成又は照明に対するエッジの形態、照明（例えば、周囲照明変化又は方向変化）、又は画像の焦点（ぼやけた画像はエッジを広げ和らげる）の予期しない変化の場合、エッジ検出ビデオツールがエッジ位置を返さないようにし得る。本明細書において参照されるパラメータＴＨＳは、エッジにわたって必要とされる最小輝度勾配に関連する閾値を定義する。上で概説される各パラメータ、特にそれらの組み合わせを、学習モード中のエッジの「プロトタイプ」インスタンスに対応し、及び／又は特徴付けるように設定して、エッジ検出信頼度及び／又は特異性（予期される撮像条件を使用して予期されるエッジの検出）を増大させ得ることが理解されるだろう。パラメータは、特定のエッジを区別するように設定してもよく、又は予期される条件が満たされない（又は略満たされない）場合のビデオツールを「失敗」させてもよい。いくつかの実施形態では、ビデオツールは、予期される条件が厳密に再現されない限りビデオツールが「失敗」となるように、すべてのパラメータを「静的」に設定してもよい。いくつかの実施形態では、予期される照明変動及び／又はワークピース仕上げ変動等により「失敗」する頻度が低いビデオツールとなるように、パラメータＴＨＲ（引用文献において言及されている）でＴＨＳとＴＨとの関係、及び／又はその関係の閾値を定義し、実際の画像の輝度（当該輝度が検査に妥当な画像を提供するとみなせる範囲内であれば）に基づいて、パラメータのうちのいくつか（例えばＴＨＳ）を「動的」に調整してもよい。
【００４２】
場合によっては、いくつものエッジがワークピース上に集まり、ビデオツール関心領域の位置及びサイズ（の調整）では対象エッジを確実に分離することができないことがある。そのような場合、検査及び測定動作中に対象エッジを他のエッジから区別するために、上で概説したパラメータ、特にパラメータの組み合わせを、対象エッジでは満たされる（予期されるワークピース間の変動を含む）が、ワークピース上の他の近傍エッジでは満たされないレベルに設定してもよい。本明細書において開示される本発明の特徴が、この後者の場合に有用なパラメータの組み合わせを設定する特定の値のものであり、一般に、改良された使用し易さ及び理解をユーザに提供することを理解されたい。
【００４３】
輝度ウィンドウ３６２は、調整可能なＴＨ線３６３と共に、エッジ検出ビデオツール３５５の走査線に沿った輝度プロファイルＩＰを示す。同様に、勾配ウィンドウ３６４は、調整可能なＴＨＳ線３６５と共に、エッジ検出ビデオツール３５５の同じ走査線に沿った勾配プロファイルＧＰを示す。ウィンドウ３６２及び３６４は、ＴＨ及びＴＨＳテキストボックス３８２及び３８４のそれぞれを編集する必要なく、ユーザがＴＨ線３６３及びＴＨＳ線３６５をグラフ的に（例えば、線をドラッグすることにより）選択し調整することができる動作を含むように構成される。このタイプの表示及び機能は、経験のあるユーザにとって、従来のテキストボックス３８２及び３８４の方法を利用した調整よりも容易且つ高速にできる。パラメータ組み合わせインジケータＰＣＩの位置並びにＴＨ及びＴＨＳテキストボックスは、そのような線調整に応答してリアルタイムで更新し得る。調整可能な線３６３及び３６５のみを利用する欠点は、１度に１つしかエッジ検出パラメータを調整することができず、経験の少ないユーザは、エッジ要素表現ウィンドウ３６２及び３６４に示される未処理の輝度プロファイルＩＰ及び勾配プロファイルＧＰの解釈の仕方を必ずしも知るわけではないことである。
【００４４】
ウィンドウ３６２及び３６４に示されるように、ＴＨ及びＴＨＳパラメータ値のエッジ区別効果のユーザ理解を上げるために、一実施形態では、ウィンドウ及びＧＵＩは、検出可能なエッジＤＥをこれらのウィンドウに示し得る（すなわち、輝度プロファイルＩＰ及び勾配プロファイルＧＰに沿った対応する検出可能なエッジ表現を示し得る）ように構成される。図３に示される場合、勾配ウィンドウ３６４では、勾配パラメータＴＨＳの閾値未満のプロファイルＧＰのセグメントは陰影が付けられる。対応するセグメントは、輝度ウィンドウ３６２においても同様に陰影が付けられる。さらに、輝度パラメータＴＨの閾値未満の輝度プロファイルの部分は、輝度ウィンドウ３６２において陰影が付けられる。したがって、現在のパラメータ組み合わせを満たす３つのエッジ表現が、強調表示され、又は図３においてＤＥ１、ＤＥ３、及びＤＥ４として記された陰影のないエリアにより、ウィンドウ３６２及び３６４において検出可能なエッジとして示される。そのような可視表示は、エッジ検出パラメータＴＨ及びＴＨＳの変化が、別個に、及び組み合わせでエッジ特定にどのように影響するかを理解するに当たりユーザを支援し、アルゴリズムがどのように機能しているかのリアルタイムの表示を提供する。一実施形態では（図示せず）、同様に、検出可能なエッジインジケータを視野ウィンドウ３１０において対応するエッジに重ねることもできる。図３に示されるように、「検出可能なエッジ番号の選択」ボックスは、デフォルト値１に設定され（位置特定すべきエッジが、走査線方向に沿ったＲＯＩ内の最初に検出可能なエッジであることを意味する）、選択されるエッジＥＳは、ウィンドウ３１０内のビデオツール３５２に関して、ＤＥ１に対応するエッジに設定される。検出可能なエッジＤＥ１は、いくつかの実施形態では、ウィンドウ３６２においても同様に「選択されたエッジ」と記してもよい。
【００４５】
ウィンドウ３６２及び３６４におけるＴＨ及びＴＨＳ線３６３及び３６５の個々の調整とは対照的に、多次元パラメータ空間表現３７０では、ユーザは、閾値ＴＨ及びＴＨＳの両方を同時に調整することができる。グラフ３７２では、エッジ検出パラメータＴＨはｘ軸に沿って表され、エッジ検出パラメータＴＨＳはｙ軸に沿って表される。インジケータＰＣＩは、ユーザにより選択され、グラフ３７２上の任意の位置にドラッグし得、現在の位置が現在のＴＨ値及びＴＨＳ値を定義することになる。実験では、このユーザインタフェースの様々な機能を使用することにより、比較的熟練していないユーザであっても、上で概説した様々な機能を使用して、特定のエッジを確実に分離するパラメータの組み合わせを素早く探り、最適化することができること、又、同様に重要なこととして、特別な条件なしでは（例えば、関心領域内の特定の検出可能なエッジを選択することにより）、エッジを確実には分離できないことの理解に役立つことが示された。
【００４６】
図３及び図４のユーザインタフェースの動作についての説明のための例として、図４に示されるように、グラフ３７２内のインジケータＰＣＩは新しい位置に移されている（例えば、ユーザインタフェースにおいてドラッグする）。図３及び図４の実施形態では、ウィンドウ３６２及び３６４は、多次元パラメータ空間表現３７０と同期され、それにより、インジケータＰＣＩの位置を調整すると、ＴＨ線３６３及びＴＨＳ線３６５のレベルがそれに対応して調整されることになり、逆も同様である。したがって、インジケータＰＣＩの新しい位置に従って、ウィンドウ３６２内のＴＨ線３６３及びウィンドウ３６４内のＴＨＳ線３６５もそれに対応して調整されている。いずれの場合でも、パラメータＴＨ及びＴＨＳに特定の新しいレベルが定義される結果として、ウィンドウ３６２及び３６４において参照符号ＤＥ２で示される追加のエッジがここで、検出可能なエッジとして示される。図から、検出可能なエッジＤＥ２がエッジＤＥ１、ＤＥ３、及びＤＥ４よりも「弱い」エッジであり、パラメータＴＨ及びＴＨＳのみに基づいては関心領域内で分離することができないことが理解されるであろう。しかし、エッジＤＥ２が走査線に沿って検出可能な２番目の上昇エッジであり、したがって、ユーザが「検出可能なエッジ番号の選択」ボックスを値２に設定したことが容易に読み取れる。したがって、パラメータＴＨ及びＴＨＳは、比較的強い検出可能なエッジＤＥ１〜ＤＥ４を分離し、その一方で、より弱いエッジ及び／又はノイズを拒絶する。そして、検出可能なエッジ番号セレクタが、位置特定すべき所望のエッジ（現在のパラメータセットを使用して検出可能な走査線に沿った２番目のエッジＤＥ２）をさらに精緻化する。一実施形態では、ウィンドウ３６２及び３６４のうちの少なくとも一方（及び／又はウィンドウ３１０）並びに検出可能なエッジ番号（例えば、「検出可能エッジ番号の選択」ボックスに示されるような）は、ユーザがウィンドウの１つにおいて示された検出可能なエッジを選択し得、関心領域内の走査線に沿って検出可能エッジの番号に関して、対応するパラメータ選択が自動的に行われるように同期される。
【００４７】
多次元パラメータ空間表現３７０の一利点が、ユーザが複数のパラメータ（例えば、エッジ検出パラメータＴＨ及びＴＨＳ）を同時に調整して、検出マージン及び様々な設定の組み合わせに関連付けられた他の検出信頼性トレードオフ（例えば、不正確なエッジの検出とツール失敗の可能性）を素早く探ることが可能であると理解されるであろう。ユーザは、様々なパラメータの機能を理解する必要がなく、その理由は、インジケータＰＣＩの位置を調整し、対応する検出可能なエッジ表示のリアルタイムフィードバックを観測することにより、ユーザは直観的に、位置インジケータＰＣＩへのエッジ検出結果の感度を感じ、所望のエッジ検出を生み出すために「最良のスポット」に直観的に設定することができるためである。同様に重要なことは、ユーザは、単にインジケータＰＣＩをスイープ(sweep)することで、すべてのパラメータ組み合わせを素早くスキャンして、標的エッジを分離する特定の組み合わせの有無を把握でき、そして、追加のパラメータ（例えば、「検出可能なエッジ番号の選択」ボックス）を設定する必要があるか、又は照明を変更する必要があるか、又は関心領域を調整する必要があるか等を判断できることである。逆に、エッジ検出パラメータを設定する従来技術による方法及びインタフェースを使用して、同じ効率及び確実性でこれと同じ判断を下すことは非現実的又は不可能である。
【００４８】
多次元パラメータ空間表現３７０に関して上述した技法では、ユーザは複数のエッジ検出パラメータを同時に調整することができるが、特定のエッジを検出するために、インジケータＰＣＩをどこに配置する必要があるかを精密に予測することは、やはりまだ困難かもしれない。より詳細に後述するように、パラメータ組み合わせ候補エッジゾーンを提供して、インジケータＰＣＩに望ましい位置の決定を支援するようにしてもよい。
【００４９】
図３及び図４に示されるように、多次元パラメータ空間表現３７０内で、パラメータ組み合わせ候補エッジゾーンＥＺ１は、１番目の検出可能なエッジＤＥ１を検出するために、インジケータＰＣＩを配置することができる領域を表す。同様に、パラメータ組み合わせ候補エッジゾーンＥＺ２は、２番目の検出可能なエッジＤＥ２を検出するために、インジケータＰＣＩを配置することができるエリアを表し、パラメータ組み合わせ候補エッジゾーンＥＺ３は、３番目の検出可能なエッジＤＥ３を検出するために、インジケータＰＣＩを配置することができるエリアを表す。４番目の検出可能なエッジＤＥ４を検出するための第４のパラメータ組み合わせ候補エッジゾーンＥＺ４は、第１のパラメータ組み合わせ候補ゾーンＥＺ１に完全に重なるものと見なし得る。パラメータ組み合わせ候補ゾーンＥＺ１、ＥＺ２、ＥＺ３、及びＥＺ４がすべて重複エリアを含み得、重複エリアにおいて、複数のエッジを検出し得、いくつかの実施態様では、色又は他の可視の特徴を用いて示し得ることが理解されるだろう。
【００５０】
図３に示されるように、この機能の使用法及び動作を示すために、インジケータＰＣＩは、パラメータ組み合わせ候補エッジゾーンＥＺ１、ＥＺ３、及びＥＺ４内にあるが、パラメータ組み合わせ候補エッジゾーンＥＺ２内にはない位置に配置されている。その結果、ウィンドウ３６２及び３６４に示され、また上述したように、エッジＤＥ１、ＤＥ３、及びＤＥ４のみが潜在的に、このインジケータによって示されるパラメータ組み合わせにより検出可能である。図４に示されるように、インジケータＰＣＩは、パラメータ組み合わせ候補エッジゾーンＥＺ２内にあり、また同時にパラメータ組み合わせ候補エッジゾーンＥＺ１、ＥＺ３、及びＥＺ４内にもある新しい位置に移されている。その結果、各エッジＤＥ１、ＤＥ２、ＤＥ３、及びＤＥ４は潜在的に、ウィンドウ３６２及び３６４に示され、また上述したように、このインジケータによって示されるパラメータ組み合わせにより検出可能である。
【００５１】
このようなパラメータ組み合わせ候補エッジゾーンＥＺ１、ＥＺ２、ＥＺ３、及びＥＺ４の表示により、ユーザが、所望のエッジを他のエッジから区別することができるように（可能な場合）、インジケータＰＣＩをどこに位置決めすべきかを知ることができるとともに、多次元パラメータ空間表現３７０内に、エッジを検出する可能性がどのくらい存在するかを知ることができることが理解されるだろう。一実施形態では、パラメータ組み合わせ候補エッジゾーンＥＺ１、ＥＺ２、ＥＺ３、及びＥＺ４は、ウィンドウ３１０、３６２、及び３６４のうちの１つ又は複数と同期され、ユーザは、対応するエッジゾーンＥＺを強調表示する又は表示するエッジ要素を選択し得る。例えば、ウィンドウ３１０、３６２、及び３６４のうちの１つにおいて、ユーザは、検出可能なエッジ要素ＤＥ又はエッジ表現ＥＲを選択し得（例えば、クリックして）、それに応答して、対応する候補パラメータエッジゾーンＥＺが強調表示され、及び／又はその他のエッジゾーンＥＺなしで個別表示される。
【００５２】
図５は、マシンビジョン検査システムユーザインタフェースにおいてエッジ検出パラメータを定義する方法５００の流れ図である。ブロック５１０において、エッジ位置特定ビデオツールの関心領域（ＲＯＩ）に対する複数のエッジ検出パラメータが決定される。ブロック５２０において、複数のエッジ検出パラメータの可能な組み合わせの多次元パラメータ空間表現が表示される。ブロック５３０において、多次元パラメータ空間表現内に配置されるパラメータ組み合わせインジケータが表示され、このインジケータは、その位置に基づいて複数のエッジ検出パラメータのうちの少なくとも２つの組み合わせを示す。ブロック５４０において、少なくとも１つのエッジ要素表現ウィンドウが表示され、このウィンドウは、エッジ位置特定ビデオツールの関心領域内に配置されたエッジ要素を表す。少なくとも１つのエッジ要素表現ウィンドウは、パラメータ組み合わせインジケータの配置がユーザにより変更されると、パラメータ組み合わせインジケータの現在の配置により示されるエッジ検出パラメータの組み合わせにより検出可能なエッジ要素が、少なくとも１つのエッジ要素表現ウィンドウにおいて自動的に更新されるように、パラメータ組み合わせインジケータの構成に応答する。
【００５３】
図６は、図３及び図４に示したようなパラメータ組み合わせ候補エッジゾーンを決定するルーチン６００の例示的な一実施形態を示す流れ図である。より詳細に後述するように、この特定の実施形態では、この方法は一般に、特定のエッジに対応する走査線ピクセル群を識別し、そのピクセル群により示されるＴＨ及びＴＨＳエッジ検出パラメータ値／組み合わせの範囲を決定し、ユーザがそのゾーンに対応するエッジを検出するために、表現された範囲又はゾーン内でパラメータ組み合わせを選択し得るように、ＴＨ及びＴＨＳ値／組み合わせのその範囲を、ユーザインタフェースにおける選択可能なパラメータ組み合わせ候補の対応する範囲又はゾーンとして表現することを含む。これらのステップの一実施形態について、図６に関してより詳細に後述する。
【００５４】
図６に示されるように、ブロック６１０において、輝度プロファイル及びエッジ強度プロファイル（例えば、勾配プロファイル）が、関心領域の走査線に沿って決定される。ブロック６２０において、関心領域内の各エッジに対応する走査線に沿った各ピクセル群が決定される（例えば、上昇（下降）エッジの場合、有意な輝度増大（低減）を示す隣接ピクセル群を識別する）。ブロック６３０において、群毎に、その群内のピクセルにより示されるパラメータ組み合わせ（例えば、ＴＨ／ＴＨＳ組み合わせ）の範囲が決定される。
【００５５】
ブロック６４０において、各群又は各エッジについて決定されたパラメータ組み合わせの範囲は、ユーザインタフェースにおいて、選択可能なパラメータ組み合わせ候補の範囲又はゾーンとして表現されるパラメータ組み合わせ候補として（例えば、パラメータ組み合わせ候補エッジゾーンとして）マッピング又は表現され、それにより、ユーザは、表現された範囲又はゾーン内でパラメータ組み合わせを選択して、対応する各エッジを検出し得る。
【００５６】
図７及び図８は、多次元パラメータ空間表現と、エッジ要素表現ＥＲ及び重ねられた検出エッジ点ＤＥＰを含む視野ウィンドウ３１０と、を含むユーザインタフェース表示７００の第２の実施形態の様々な機能を示す図である。その他の点では、ユーザインタフェース表示７００は、図３及び図４にしたユーザインタフェース表示３００と同様であり得、別段の指示がない限り、同様に付番された要素を同様に理解し得る。
【００５７】
上述したように、視野ウィンドウ３１０において、エッジ要素は、例えば、エッジ要素表現ＥＲにより示されるように、それらの画像により表現されるものとして理解される。多次元パラメータ空間表現３７０は、エッジ検出パラメータＴＨ及びＴＨＳの潜在的な組み合わせを示す二次元グラフ３７２を含み、パラメータの現在の組み合わせは、パラメータ組み合わせインジケータＰＣＩの位置により示される。パラメータ組み合わせエッジゾーンＥＺ１、ＥＺ２、ＥＺ３、及びＥＺ４は、多次元パラメータ空間表現３７０内に示される。図７及び図８に示される実施形態では、走査線輝度ウィンドウ３６２及び走査線勾配ウィンドウ３６４は、関心領域にわたる代表的な走査線（例えば、中央走査線又は平均走査線等）の走査線方向に沿ったピクセル位置での走査線輝度プロファイルＩＰ及び走査線輝度勾配プロファイルＧＰのグラフを示す。エッジ検出パラメータＴＨ及びＴＨＳの現在の組み合わせにより検出可能なエッジ要素（検出可能なエッジＤＥ）は、上述したように、ウィンドウ３６２及び３６４に表示され、自動的に更新される。視野ウィンドウ３１０において、パラメータの現在の組み合わせを満たす検出エッジ点ＤＥＰは、さらに詳細に後述するように示される。
【００５８】
図７に示される場合、図３と比較して、ユーザは、エッジ検出パラメータＴＨが値９８．７を有するように、パラメータ組み合わせインジケータＰＣＩをパラメータ組み合わせエッジゾーンＥＺ１、ＥＺ３、及びＥＺ４内で位置替えしている。現在のパラメータ組み合わせを満たす３つのエッジ表現が、ＤＥ１、ＤＥ３、及びＤＥ４として記された陰影のないエリアによりウィンドウ３６２及び３６４において検出可能エッジとして強調又は表示される。
【００５９】
ユーザインタフェース表示３００と比較して、ユーザインタフェース表示７００において追加される重要な機能は、視野ウィンドウ３１０に現在のパラメータ組み合わせを満たす検出エッジ点ＤＥＰが示されることである。これは、ユーザインタフェース表示３００における表現よりも多くの情報を提供する。例えば、走査線輝度ウィンドウ３６２では、ウィンドウ３６２に示される代表的な走査線の検出可能なエッジＤＥ１が、パラメータＴＨを辛うじて超えるように、パラメータＴＨが設定されることが分かり得る。しかし、重要なことは、少数の走査線においてのみであるが、検出可能エッジＤＥ１がパラメータＴＨを超えることを、視野ウィンドウ３１０ないの検出エッジＤＥＰが示していることである。したがって、視野ウィンドウ３１０ないの検出エッジＤＥＰは、いくつかの走査線では第１の上昇エッジが検出可能エッジＤＥ３に対応するパラメータＴＨを超えることも示す。そのような可視の表示は、エッジ検出パラメータＴＨ及びＴＨＳの変化が、別個に、及び組み合わせでエッジ特定にどのように影響するかを理解するに当たりユーザを支援し、アルゴリズムがどのように機能しているかのリアルタイムの表示を提供する。図７に示される場合、検出エッジ点ＤＥＰは、現在のパラメータがエッジＤＥ１とＤＥ３とを確実には区別しきれないことを明確に即座に示す。
【００６０】
逆に、図８に示されるように、グラフ３７２内のインジケータＰＣＩは、パラメータ組み合わせエッジゾーンＥＺ３内のみにある新しい位置に移されている（例えば、ユーザインタフェースにおいてドラッグする）。図７及び図８の実施形態では、ウィンドウ３６２、３６４、及び３１０はすべて、多次元パラメータ空間表現３７０と同期され、それにより、インジケータＰＣＩの位置を調整すると、ＴＨ線３６３及びＴＨＳ線３６５のレベル並びに検出エッジ点ＤＥＰがそれに対応して調整される。パラメータＴＨ及びＴＨＳに定義される特定の新しいレベルの結果、ここで、ウィンドウ３６２及び３６４において参照符号ＤＥ３により示されるエッジのみが、検出可能なエッジとして示される。おそらくより重要なことは、ウィンドウ３１０において、検出エッジ点ＤＥＰが今や対応する検出可能エッジＤＥ３に全て配置され、現在のパラメータセットがエッジＤＥ３を、ウィンドウ３６２及び３６４において代表的な走査線のみならず、すべての走査線に沿って他のすべてのエッジから区別するという情報を伝えることを見ることができることである。実際に、いくつかの実施形態では、ユーザはおそらく、ＰＣＩをドラッグし、ウィンドウ３６２及び３６４を観測するよりも、対応する検出エッジ点ＤＥＰを観測することにより、パラメータをより確実に設定し得る。したがって、検出エッジ点ＤＥＰが視野ウィンドウ３１０に示されるいくつかの実施形態では、ウィンドウ３６２及び３６４はオプションであってもよく、ユーザにより表示するように選択されない場合、省略し、及び／又は隠し得る。
【００６１】
図９は、ユーザが選択可能な一連の視野ウィンドウ９１０Ａ〜９１０Ｄに提供される異なるエッジ要素表現を含むユーザインタフェース表示９００の第３の実施形態の様々な機能を示す図である。視野ウィンドウ９１０Ａ〜９１０Ｄは、図３、図４、図７、及び図８に関して上述した視野ウィンドウ３１０と同様であり、別段の指示がない限り、同様に付番された要素を同様に理解し得る。
【００６２】
視野ウィンドウ９１０Ａ〜９１０Ｄは主に、検出エッジ点ＤＥＰの位置に従って互いに異なる。ウィンドウ９１０Ａに示されるように、検出エッジ点ＤＥＰは最初の検出可能エッジＤＥ１に配置される。逆に、ウィンドウ９１０Ｂでは、検出エッジ点ＤＥＰは２番目の検出可能エッジＤＥ２に配置される。同様に、ウィンドウ９１０Ｃでは、検出エッジ点ＤＥＰは３番目の検出エッジＤＥ３に配置され、ウィンドウ９１０Ｄでは、検出エッジ点ＤＥＰは４番目の検出可能エッジＤＥ４に配置される。パラメータインジケータボックス９２０が提供され、このボックスは、現在選択されている視野ウィンドウに対応するパラメータ値ＴＨ及びＴＨＳ（パラメータ組み合わせ）を示す。一実施形態では、特定の検出エッジ点ＤＥＰの表示に繋がり得る、インジケータボックス９２０に示されるパラメータ組み合わせ候補は、対応するエッジを検出するために推定される最良の組み合わせ（例えば、一実施形態では、対応するエッジのエッジ点により示されるパラメータ組み合わせ範囲からの中央又は平均パラメータ組み合わせ）であり得る。図７及び図８の例に関して上述したように、エッジ検出パラメータＴＨ及びＴＨＳの異なるパラメータ組み合わせは、異なる検出エッジ点ＤＥＰに繋がり得る。より詳細に後述するように、各視野ウィンドウ９１０Ａ〜９１０Ｄは、異なる位置の検出エッジ点ＤＥＰをもたらす、エッジ検出パラメータＴＨ及びＴＨＳ（及び／又はいくつかの実施形態では、エッジ番号パラメータ等の他のエッジパラメータ）の異なるパラメータ組み合わせ候補を表す。
【００６３】
一実施形態では、視野ウィンドウ９１０Ａ〜９１０Ｄを生成するために、システムはエッジ検出パラメータの検索空間を自動的にスキャンし、エッジ検出パラメータ組み合わせ候補に応答して生じるエッジ検出結果の意味のある変動を示す画像（例えば、視野ウィンドウ）を生成する。図１０及び図１１に関してより詳細に後述するように、このプロセスは、様々な技法（例えば、全数パラメータ空間検索、特徴誘導（feature-guided）検索等）を利用して実行し得る。代替の実施形態では、単一の視野ウィンドウを提供し得、異なる検出可能なエッジがこの単一の視野ウィンドウに示される（例えば、各エッジでの検出エッジ点の配色、又は番号を重ねる）。次に、ユーザは単に、所望のパラメータ組み合わせ候補を選び（例えば、視野ウィンドウ又は選択されたエッジ要素をクリックする）、対応するエッジ検出パラメータをビデオツールに設定することができる。様々な選択可能なエッジ検出組み合わせ候補の結果を表示することにより、ユーザに、システムが所与の関心領域内で何を検出可能かも効率的に示され、これにより、ユーザが検出すべきエッジに関してより多くの情報下で選択し得ることが理解されるだろう。
【００６４】
図９により示される実施形態が、エッジ検出閾値設定プロセスを簡易化し、ユーザのフラストレーションを低減し得ることが理解されるだろう。換言すれば、ユーザが個々のエッジ検出パラメータを手動で設定する必要があった従来のシステムでは、プロセスは多くの場合、分かりにくく、時間がかかるものであり得た。図３〜図８に関して上述した改良された方法を用いる場合であっても、特に、パラメータ組み合わせエッジゾーンが示されない実施態様では、エッジ検出パラメータの調整は、閾値がエッジ位置にどのように影響するかのメカニズムが直観的ではなく、最上級ユーザによってのみ理解されることが多いという点で、やはりいくらか分かりにくいことがある。
【００６５】
一実施形態では、ユーザは、所望のパラメータ組み合わせ候補を選んだ（例えば、ユーザが視野ウィンドウ９１０Ａ〜９１０Ｄの１つをクリックした）後、図３〜図８に関して上述したユーザインタフェース及び技法を利用して、パラメータ設定をさらに微調整し得る（例えば、対応するエッジ点により示される広範囲のパラメータ組み合わせ候補内で）。特定の実施態様では、ユーザによるパラメータ設定の微調整を可能にすることは、特定のエッジ検出技法、特に、エッジ検出アルゴリズムにおいて要素検出（例えば、線、円弧等）を利用しない技法には有益であり得る。微調整では、特定の実施態様では、ユーザは画像内のエッジ（又は図３及び図４に示されるようにエッジセレクタ）を直接ドラッグし得、そこから、アルゴリズムはエッジ検出パラメータを自動的に再学習することになる。走査線方向に沿った前のエッジの影になって、検出することができない特定のエッジについては、ユーザに、ＧＵＩ要素を移動又は変更させて、影になったエッジを除外するような指示又はエッジ選択ツール等の異なるツールを利用する示唆を提供し得る。
【００６６】
図１０は、図９に示されるような、全数検索を利用して、ユーザが選択することができる異なるエッジ要素表現を決定し表示する方法１０００の流れ図である。より詳細に後述するように、一実施態様では、この方法は一般に、各結果（すなわち、変動）が、ユーザに有意な選択肢を提供するために、残りの結果から「十分に異なる」か、又は「有意に異なる」エッジ検出結果セットの生成を対象とし得、主に学習モード中に利用し得る。図１０に示されるように、ブロック１０１０において、関連するエッジ検出パラメータの値が繰り返し適用され、検索の粒度（すなわち、各パラメータのステップサイズ）が事前に確立される（例えば、妥当な結果及び許容可能な検索時間を提供するために）。
【００６７】
ブロック１０２０において、パラメータ値の組み合わせ毎に、エッジ検出アルゴリズムが、指定された関心領域ツールにおいて実行され、有効な結果を生み出すＮ個の異なる組み合わせがあると仮定される。一実施態様では、非常に小さなポイントバッファ（例えば、比較的少数の点）を生成する組み合わせは破棄し得る。ポイントバッファが伝えることが予期される最小数のポイントに、閾値を利用し得る。ブロック１０３０において、結果として生成される２Ｄポイントバッファはクラスタ（すなわち、点の集合）として記憶され、関連するアルゴリズムパラメータは、クラスタのメタデータとして記憶される。一実施態様では、ブロック１０１０〜１０３０は、パラメータ値のＮ個すべての組み合わせに対して繰り返し得る。
【００６８】
ブロック１０４０において、Ｎ個のクラスタ（ポイントバッファ）が前のステップにより生成された場合、階層的凝集型クラスタリングが実行されて、クラスタ数をＫ個まで低減する。一実施態様では、階層的凝集型クラスタリングアルゴリズムは以下のように動作し得る。プロセスは、Ｎ個のクラスタで開始され、各クラスタは、エッジ検出アルゴリズムにより返される１つの２Ｄポイントバッファからなる。次に、２つの最も類似するクラスタＡ及びＢが見つけられ、それらが十分に類似する場合、１つのクラスタに統合される（このプロセスは、必要な場合、最高でＮ−１回繰り返される）。十分に類似する２つのクラスタがない場合、クラスタリングプロセスは終了する。同点の（すなわち、２対のクラスタが等しい類似度を有する）場合、最初に見つけられた対が統合される。一実施態様では、２つのクラスタの類似度は、より詳細に後述するように、距離測度を使用して測定し得る。一実施態様では、「十分に類似する」要件は、２つのクラスタの距離が所定の距離閾値よりも小さいか否かに従って判断される。
【００６９】
様々な距離測度を凝集クラスタリングに利用し得る。一実施態様では、ハウスドルフ距離（すなわち、ある集合から他方の集合内の最近傍ポイントまでの最大距離）が利用される（例えば、http://cgm.cs.mcgill.ca/^godfried/teaching/cg-projects/98/normand/main.html.参照）。別の実施態様では、改良ハウスドルフ距離ＤＨが、ポイントバッファ内の異常値への感度を低減するためにより適し得る。すなわち、Ｄ（Ａ，Ｂ）をクラスタＢ内の最近傍ポイントに「十分近くない」クラスタＡ内のポイントの割合（「十分近くない」は、ポイント間のユークリッド距離が事前定義される閾値よりも大きいことを意味する）とし、Ｄ（Ｂ，Ａ）をクラスタＡ内の最近傍点に「十分近くない」クラスタＢ内のポイントの割合としたときの、ＤＨ＝ｍａｘ｛Ｄ（Ａ，Ｂ），Ｄ（Ｂ，Ａ）｝である。他のクラスタ距離測度を利用してもよい（例えば、平均連結法又はウォード法のような最小分散法）。
【００７０】
図１０に戻ると、ブロック１０５０において、Ｋ個のクラスタのそれぞれについて、エッジ検出パラメータの代表的な値が計算される。一実施態様では、Ｋ個の最終クラスタの各クラスタＡは、元のクラスタ（すなわち、ポイントバッファ）のうちの１つ又は複数が凝集したものであるため、各パラメータの代表的な値を計算することができる（例えば、クラスタＡに属する元のすべてのクラスタに対するそのパラメータの値の中央値又は平均値）。ブロック１０６０において、Ｋ個のエッジ検出変動画像が、計算されたＫ個のパラメータ集合を使用して生成される。
【００７１】
特定の実施態様では、図１０に関して上述した全数検索技法の実行に、特定の他の技法よりも比較的長い時間がかかり得る（例えば、各設定に１度ずつ、エッジ検出をＮ回行う必要がある）ことが理解されるだろう。しかし、全体の処理時間はそれでもやはり比較的短くし得る（すなわち、基本エッジ検出プロセスは比較的高速に実行することができ、全体プロセスにかかる時間は数秒未満であり得る）。そのような処理時間は、特定の用途（例えば、プロセスが、処理時間の考慮が重要としてみなされていない学習モード手順の一部として利用されている場合）では許容可能であり得る。特定の実施態様では、Ｎ個の組み合わせにおいて検出されるすべてのポイントのポイント間距離の行列を事前計算して、クラスタリングプロセス中の計算の繰り返しを回避し、それにより、プロセスをより高速に実行することができる。
【００７２】
図１１は、図９に示されるような、連結エッジを利用して、ユーザが選択することができる異なるエッジ要素表現を決定し表示する方法１１００の流れ図である。換言すれば、図１０に関して上述した全数検索を利用する代替として、一実施態様では、代わりにエッジをエッジ要素にグループ化し得、次に、各エッジ要素に適切な閾値を見つけ得る。特定の実施態様では、連結エッジを利用するこの方法は、全数検索を利用する方法よりも高速に実行し得る。
【００７３】
図１１に示されるように、ブロック１１１０において、すべてのエッジ点が見つけられ、連結エッジに群化される。様々な実施態様では、このプロセスは、キャニーエッジ検出後にエッジリンキング、セグメント化の後にエッジトレース、セグメント化とエッジ検出との任意の組み合わせ、可能なすべての線及び弧を識別する１Ｄ射影等の技法を利用し得る。ブロック１１２０において、ＴＨ及びＴＨＳ範囲はエッジ点毎に計算される。上述したように、一般に特定の標準エッジ検出プロセスでは、各エッジ点は、ＴＨ及びＴＨＳが特定の範囲内にある場合のみ見つけることができる。特定の実施態様において、いくつかのエッジ点がヌル(null)範囲のＴＨ及びＴＨＳを有し得る（例えば、利用される特定のエッジ検出アルゴリズムの「早期アウト」プロセス等）ことが理解されるであろう。
【００７４】
ブロック１１３０において、連結エッジ毎に、最適な閾値が見つけられる。特定の実施態様では、最適な閾値は、最大数の正常値（インライア）、最小数の異常値（アウトライア）、画像ノイズへのロバスト性等の基準に従って決定し得る。一実施形態では、連結エッジに沿ったエッジ点が、大幅に異なる範囲の閾値を有する場合、エッジを類似のエッジのセグメントに分割する技法を利用し得る（例えば、分枝型クラスタリング等）。ブロック１１４０において、エッジ検出は、それぞれの最適な閾値設定を使用して実行され、変動マップの実際のエッジが生成される。一実施形態では、変動マップの数が大きい場合、いくつかの最上位マップ（例えば、１０）を提示し得、ユーザは次に、所望の値に最も近いマップを選択し得、次に、閾値をさらに手動で調整することができる。
【００７５】
図１２は、複数のパラメータ組み合わせ候補を自動的に決定する方法１２００の流れ図である。ブロック１２１０において、複数のエッジ検出パラメータを有するエッジ位置特定ビデオツールが提供される。ブロック１２２０において、エッジ位置特定ビデオツールの関心領域（ＲＯＩ）が、少なくとも第１のエッジ要素を関心領域内に含めて、画定される。ブロック１２３０において、複数のエッジ検出パラメータの複数のパラメータ組み合わせ候補は、自動的に決定され、各パラメータ組み合わせ候補は、関心領域内の各エッジ要素の検出に使用可能である。ブロック１２４０において、ユーザインタフェースは、関心領域内の各エッジ要素の検出に使用可能な各パラメータ組み合わせ候補に対応する各パラメータ組み合わせ候補表現を表示するように動作し、ユーザインタフェースは、ユーザが、表示された各パラメータ組み合わせ候補表現に対してパラメータ組み合わせ選択動作を実行可能なように構成される。ユーザ選択動作により、画定された関心領域内のエッジ位置特定ビデオツールの動作を支配するエッジ検出パラメータの組み合わせが選択される。
【００７６】
上記から、本発明の特定の実施形態が例示のために本明細書において記載されるが、本発明の範囲から逸脱せずに、様々な変更を行い得ることが理解されるだろう。例えば、多次元パラメータ空間表現は、第３の次元を二次元格子に追加して、ボリューム（例えば、等角及び／又は回転可能等で表現される）を形成し得、ボリューム内でパラメータ組み合わせインジケータを位置特定する。または二次元格子を、第３のパラメータの近傍線形パラメータ空間表現等で補強することができる。別の例として、画像処理動作（例えば、フィルタリング動作）を関心領域及び／又は関心領域内のエッジに適用して、エッジ（又は複数のエッジ）の性質を改良又は明らかにし、それにより、エッジ検出又は区別を可能にし、又はより確実にすることが理解されるだろう。例えば、テクスチャエッジ、カラーエッジ等はフィルタリングされた画像又は疑似画像等内で表現し得、本明細書に開示されるシステム及び方法をそのような画像に適用して、本明細書において概説した様々な動作を補足又は置換し得る。したがって、本発明は、添付の特許請求の範囲以外によっては限定されない。
【符号の説明】
【００７７】
１０、１００  マシンビジョン検査システム
１２  画像測定機
１４  制御コンピュータシステム
１６  ディスプレイ
１８  プリンタ
２０  ワークピース
２２  ジョイスティック
２４  キーボード
２６  マウス
３２  可動式ワークピースステージ
３４  光学撮像システム
１２０  制御システム部
１２５  コントローラ
１３０  入出力インタフェース
１３１  撮像制御インタフェース
１３２  運動制御インタフェース
１３２ａ  位置制御要素
１３２ｂ  速度、加速度制御要素
１３３  照明制御インタフェース
１３３ａ〜１３３ｎ、１３３ｆｌ  照明制御要素
１３４  レンズ制御インタフェース
１３６  表示装置
１４０  メモリ
１４０ｅｄ  エッジ検出メモリ部
１４１  画像ファイルメモリ部
１４２  ワークピースプログラムメモリ部
１４３、１４３ａ、１４３ｎ  ビデオツール部
１４３ｅｌ  エッジ位置特定ツール
１４３ｐｓ  パラメータ設定部
１４３ｒｏｉ  関心領域生成器
１７０  ワークピースプログラム生成器・実行器
１９０  電源部
２００  ビジョン構成要素部
２０５  光学アセンブリ部
２１０  ワークピースステージ
２１２  中央透明部
２２０  透過照明光源
２２１、２３１、２４１、２８１  信号線
２２２、２３２、２４２  光源光
２３０、２３０’  落射照明光源
２４０  斜め照明光源
２５０  交換式対物レンズ
２５５  ワークピース光
２６０  カメラ系
２６２、２９６  信号線
２８０  ターレットレンズアセンブリ
２８４  軸
２８６、２８８  レンズ
２９０  ミラー
２９４  制御可能なモータ
３００  ユーザインタフェース表示
３１０  視野ウィンドウ
３２０、３４０  選択バー
３５０  照明制御ウィンドウ
３５２  エッジ位置特定ツール
３５５  関心領域インジケータ
３６０  エッジ検出パラメータウィンドウ
３６２  走査線輝度ウィンドウ
３６３  ＴＨ線
３６４  走査線輝度勾配ウィンドウ
３６５  ＴＨＳ線
３７０  多次元パラメータ空間表現
３７２  二次元グラフ
３８２  ＴＨテキストボックス
３８４  ＴＨＳテキストボックス
６００  ルーチン
９１０Ａ〜９１０Ｄ  視野ウィンドウ
９２０  パラメータインジケータボックス
【図１】
2014093094.tif 000003
【図２】
2014093094.tif 000004
【図３】
2014093094.tif 000005
【図４】
2014093094.tif 000006
【図５】
2014093094.tif 000007
【図６】
2014093094.tif 000008
【図７】
2014093094.tif 000009
【図８】
2014093094.tif 000010
【図９】
2014093094.tif 000011
【図１０】
2014093094.tif 000012
【図１１】
2014093094.tif 000013
【図１２】
2014093094.tif 000014