(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザインタフェースは、前記マシンビジョン検査システムの視野の画像と、前記視野の前記画像に重畳表示され、前記パラメータ組み合わせインジケータの現在の位置により示されるパラメータの組み合わせにより検出可能な前記エッジ要素の表現と、を含む少なくとも1つのエッジ要素表現ウィンドウをさらに含む、請求項3に記載の方法。
前記パラメータ組み合わせインジケータの前記現在の位置により示されるパラメータの前記組み合わせにより検出可能な前記エッジ要素の前記表現は、前記視野の前記画像に重畳表示され、前記ROIにわたる複数の走査線に対応する複数の検出可能エッジ点を含む、請求項4に記載の方法。
前記少なくとも1つのエッジ要素表現ウィンドウ及び前記多次元パラメータ空間表現は、前記少なくとも1つのエッジ要素表現ウィンドウでの調整又は選択が、前記多次元パラメータ空間表現での対応する表示になるように同期される、請求項5に記載の方法。
前記第1及び第2のエッジ要素の前記表現は、対応する第1のパラメータ組み合わせ候補が決定されたことを示す、前記第1のエッジ要素の画像に重畳表示される第1のインジケータと、対応する第2のパラメータ組み合わせ候補が決定されたことを示す、前記第2のエッジ要素の画像に重畳表示される第2のインジケータと、を含む、請求項7に記載の方法。
【発明を実施するための形態】
【0021】
本発明の様々な実施形態について以下において説明する。以下の説明は、完全な理解及びこれらの実施形態の実施説明の具体的な詳細を提供する。しかし、本発明をこれらの詳細の多くなしで実施し得ることを当業者は理解するだろう。さらに、様々な実施形態の関連する説明を不必要に曖昧にしないように、周知の構造又は機能によっては、詳細に示されず、又は説明されないものもある。以下に提示される説明に使用される用語は、本発明の特定の具体的な実施形態の詳細な説明と併せて使用されている場合であっても、最も広義で妥当に解釈されることが意図される。
【0022】
図1は、本明細書に記載される方法により使用可能な例示的な1つのマシンビジョン検査システム10のブロック図である。マシンビジョン検査システム10は画像測定機12を含み、画像測定機12は、制御コンピュータシステム14とデータ及び制御信号を交換するように動作可能に接続される。制御コンピュータシステム14は、モニタ又はディスプレイ16、プリンタ18、ジョイスティック22、キーボード24、及びマウス26とデータ及び制御信号を交換するようにさらに動作可能に接続される。モニタ又はディスプレイ16は、マシンビジョン検査システム10の動作の制御及び/又はプログラムに適したユーザインタフェースを表示し得る。様々な実施形態では、タッチスクリーンタブレット等が、コンピュータシステム14、ディスプレイ16、ジョイスティック22、キーボード24、及びマウス26のうちの任意又は全ての機能に取って代わってもよく、及び/又は重複してそれらを提供してもよいことが理解されるだろう。
【0023】
制御コンピュータシステム14が一般に、任意の計算システム又は装置で構成し得ることを当業者は理解するだろう。相応しい計算システム又は装置は、パーソナルコンピュータ、サーバコンピュータ、ミニコンピュータ、メインフレームコンピュータ、上記したうちの任意を含む分散計算環境等を含み得る。そのような計算システム又は装置は、本明細書に記載の機能を実行するソフトウェアを実行する1つ又は複数のプロセッサを含み得る。プロセッサは、プログラマブル汎用又は専用マイクロプロセッサ、プログラマブルコントローラ、特定用途向け集積回路(ASIC)、プログラマブル論理装置(PLD)等、又はそのような装置の組み合わせを含む。ソフトウェアは、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ等、又はそのような構成要素の組み合わせ等のメモリに記憶し得る。ソフトウェアは、磁気若しくは光学に基づくディスク、フラッシュメモリ装置、又はデータを記憶する他の種類の不揮発性記憶媒体等の1つ又は複数の記憶装置にも記憶し得る。ソフトウェアは、1つ又は複数のプログラムモジュールを含み得、プログラムモジュールは、特定のタスクを実行し、又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。分散計算環境では、プログラムモジュールの機能は、結合してもよく、又は複数の計算システム若しくは装置にわたって分散してもよく、有線又は無線の構成でサービスコールを介してアクセスし得る。
【0024】
画像測定機12は、可動式ワークピースステージ32と、光学撮像システム34とを含み、光学撮像システム34はズームレンズ又は交換式レンズを含み得る。ズームレンズ又は交換式レンズは一般に、光学撮像システム34により提供される画像に様々な倍率を提供する。マシンビジョン検査システム10は一般に、上述したQUICK VISION(登録商標)シリーズのビジョンシステム及びQVPAK(登録商標)ソフトウェア並びに同様の先端技術の市販されている精密マシンビジョン検査システムに類似する。マシンビジョン検査システム10は、本願と同じ譲受人に譲渡された米国特許第7,454,053号明細書、同第7,324,682号明細書、同第8,111,905号明細書、同第8,111,938号明細書にも記載されている。
【0025】
図2は、
図1のマシンビジョン検査システムと同様であり、本明細書に記載される機能を含むマシンビジョン検査システム100の制御システム部120と、ビジョン構成要素部200とのブロック図である。より詳細に後述するように、制御システム部120は、ビジョン構成要素部200の制御に利用される。ビジョン構成要素部200は、光学アセンブリ部205と、光源220、230、及び240と、中央透明部212を有するワークピースステージ210とを含む。ワークピースステージ210は、ワークピース20を位置決めし得るステージ表面に略平行する平面内にあるX軸及びY軸に沿って制御可能に移動可能である。光学アセンブリ部205は、カメラ系260と、交換式対物レンズ250とを含み、レンズ286及び288を有するターレットレンズアセンブリ280を含み得る。ターレットレンズアセンブリに対する代替として、固定レンズ、又は手動で交換可能な倍率変更レンズ、又はズームレンズ構成等を含み得る。
【0026】
光学アセンブリ部205は、制御可能なモータ294を使用することにより、X軸及びY軸に略直交するZ軸に沿って制御可能に移動可能であり、制御可能なモータ294はアクチュエータを駆動して、光学アセンブリ部205をZ軸に沿って移動させて、ワークピース20の画像の焦点を変更する。制御可能なモータ294は、信号線296を介して入出力インタフェース130に接続される。
【0027】
マシンビジョン検査システム100を使用して撮像すべきワークピース20又は複数のワークピース20を保持したトレイ若しくは固定具は、ワークピースステージ210に配置される。ワークピースステージ210は、光学アセンブリ部205と相対移動するように制御し得、それにより、交換式対物レンズ250は、ワークピース20上の位置間及び/又は複数のワークピース20間で移動する。透過照明光源220、落射照明光源230、及び斜め照明光源240(例えば、リング光源)のうちの1つ又は複数は、光源光222、232、又は242のそれぞれを発して、1つ又は複数のワークピース20を照明する。光源230は、ミラー290を含む経路に沿って光232を発し得る。光源光はワークピース光255として反射又は透過し、撮像に使用されるワークピース光は、交換式対物レンズ250及びターレットレンズアセンブリ280を通過し、カメラ系260に集められる。カメラ系260により捕捉されたワークピース20の画像は、信号線262上で制御システム部120に出力される。光源220、230、及び240は、信号線又はバス221、231、及び241のそれぞれを通して制御システム部120に接続し得る。画像の倍率を変更するには、制御システム部120は、信号線又はバス281を通して、軸284に沿ってターレットレンズアセンブリ280を回転させて、ターレットレンズを選択し得る。
【0028】
図2に示されるように、様々な例示的な実施形態では、制御システム部120は、コントローラ125と、入出力インタフェース130と、メモリ140と、ワークピースプログラム生成・実行器170と、電源部190と、を含む。これらの構成要素のそれぞれ並びに後述する追加の構成要素は、1つ若しくは複数のデータ/制御バス及び/又はアプリケーションプログラミングインタフェースにより、或いは様々な要素間の直接接続により相互接続し得る。
【0029】
入出力インタフェース130は、撮像制御インタフェース131と、運動制御インタフェース132と、照明制御インタフェース133と、レンズ制御インタフェース134とを含む。運動制御インタフェース132は、位置制御要素132aと、速度/加速度制御要素132bとを含み得るが、そのような要素は統合及び/又は区別不可能であってもよい。照明制御インタフェース133は、照明制御要素133a〜133n、及び133flを含み、これらの要素は、例えば、マシンビジョン検査システム100の様々な対応する光源の選択、電力、オン/オフ切り替え、及び該当する場合にはストローブパルスタイミングを制御する。
【0030】
メモリ140は、画像ファイルメモリ部141と、エッジ検出メモリ部140edと、1つ又は複数のパートプログラム等を含み得るワークピースプログラムメモリ部142と、ビデオツール部143と、を含む。ビデオツール部143は、ビデオツール部143a及び対応する各ビデオツールのGUI、画像処理動作等を決定する他のビデオツール部(例えば、143n)と、ビデオツール部143に含まれる様々なビデオツールで動作可能な様々なROIを画定する自動、半自動、及び/又は手動動作をサポートする関心領域(ROI)生成器143roiと、を含む。
【0031】
本開示の文脈の中で、且つ当業者には既知のように、ビデオツールという用語は一般に、ビデオツールに含まれるステップ毎の動作シーケンスを作成せずに、又は汎用テキストベースのプログラミング言語等を用いずに、マシンビジョンユーザが比較的単純なユーザインタフェース(例えば、グラフィカルユーザインタフェース、編集可能パラメータウィンドウ、メニュー等)を通して実施することができる、自動又はプログラムされた動作の比較的複雑なセットを指す。例えば、ビデオツールは、動作及び計算を管理する少数の変数又はパラメータを調整することにより、特定のインスタンスで適用されカスタマイズされる画像処理動作及び計算の複雑な事前プログラムされたセットを含み得る。基本的な動作及び計算に加えて、ビデオツールは、ユーザがビデオツールの特定のインスタンスに対してパラメータを調整することができるユーザインタフェースを含む。例えば、多くのマシンビジョンビデオツールでは、ユーザは、マウスを使用して、単純な「ハンドルドラッグ」動作を通してグラフィカル関心領域(ROI)インジケータを構成して、ビデオツールの特定のインスタンスの画像処理動作で解析すべき画像のサブセットの位置パラメータを定義することができる。可視のユーザインタフェース機能がビデオツールと呼ばれることもあり、基本的な動作が暗黙的に含まれることに留意されたい。
【0032】
多くのビデオツールと共通して、本開示のエッジ位置特定及びパラメータ設定の主題は、ユーザインタフェース機能及び基本的な画像処理動作等の両方を含み、関連する機能は、ビデオツール部143に含まれるエッジ位置特定ツール143el及び対応するパラメータ設定部143psの機能として特徴付け得る。エッジ位置特定ツール143elは、エッジ位置を特定するアルゴリズムを利用し得る。このアルゴリズムはエッジ検出パラメータにより管理されてよく、エッジ検出パラメータは、場合によっては、学習モード中に自動的に決定されプログラムされてよく、及び/又はユーザにより手動で調整されてもよい(例えば、より詳細に後述するTH、THR、及びTHS等の閾値)。
【0033】
一実施態様では、ユーザが、上で概説したエッジ検出ビデオツールパラメータを手動で設定することができるように、パラメータ設定部143psは、多次元パラメータ空間表現(例えば、THを一方の軸に有し、THSを他方の軸に有す得る二次元格子)を提供する。ユーザがパラメータ空間表現内で動かして、所望のパラメータ組み合わせ(例えば、TH及びTHSの)を調整又は選択することができるパラメータマーカー又はインジケータ(例えば、カーソル)が提供される。パラメータ組み合わせエッジゾーンが、パラメータ空間表現内に提供され、このエッジゾーンは、特定のエッジ要素を検出するためにパラメータインジケータを配置することができる位置を示す。1つ又は複数のエッジ要素表現ウィンドウ(例えば、マシンビジョンシステムの走査線輝度、及び/又は走査線輝度勾配、及び/又は視野画像)が提供され、このウィンドウは、
図3、
図4、
図7、及び
図8に関してより詳細に後述するように、パラメータ及び/又は現在の設定による検出可能なエッジ要素の変更を示す。システムは、追加又は代替として、エッジ検出パラメータの検索空間を自動的にスキャンし、エッジ検出パラメータ値の変化に応じて生じるエッジ検出結果の有意な変動を示す1つ又は複数の画像を生成する。
図9〜
図11に関してより詳細に後述するように、ユーザが選択することができる(例えば、ウィンドウ又はエッジ要素をクリックする)異なる有意な変動を示すユーザインタフェース表示を提供し得る。
【0034】
透過照明光源220、落射照明光源230及び230’、並びに斜め照明光源240の信号線又はバス221、231、及び241のそれぞれはすべて、入出力インタフェース130に接続される。カメラ系260からの信号線262及び制御可能なモータ294からの信号線296は、入出力インタフェース130に接続される。画像データの搬送に加えて、信号線262は画像取得を開始するコントローラ125から信号を搬送し得る。
【0035】
1つ又は複数の表示装置136(例えば、
図1のディスプレイ16)及び1つ又は複数の入力装置138(例えば、
図1のジョイスティック22、キーボード24、及びマウス26)も入出力インタフェース130に接続することができる。表示装置136及び入力装置138を使用して、ユーザインタフェースを表示することができ、ユーザインタフェースは様々なグラフィカルユーザインタフェース(GUI)機能を含んでよく、GUI機能は、検査動作の実行及び/又はパートプログラムの作成及び/又は変更、カメラ系260により捕捉された画像の表示、並びに/或いはビジョンシステム構成要素部200の直接制御に使用することが可能である。表示装置136は、さらに詳細に後述するように、エッジ位置ビデオツール143el及びパラメータ設定部143psに関連付けられたユーザインタフェース機能を表示し得る。
【0036】
様々な例示的な実施形態では、ユーザがマシンビジョン検査システム100を利用して、ワークピース20のパートプログラムを作成する場合、ユーザは、マシンビジョン検査システム100を学習モードで動作して、所望の画像取得トレーニングシーケンスを提供することにより、パートプログラム命令を生成する。例えば、トレーニングシーケンスは、視野(FOV)内の代表的なワークピースの特定のワークピース要素の位置決め、光レベルの設定、フォーカス又はオートフォーカス、画像の取得、及び画像に適用される検査トレーニングシーケンスの提供(例えば、そのワークピース要素にビデオツールの1つのインスタンスを使用して)を含み得る。学習モードは、シーケンスが捕捉又は記録され、対応するパートプログラム命令に変換されるように動作する。これらの命令は、パートプログラムが実行される場合、マシンビジョン検査システムに、トレーニングされた画像取得及び検査動作を再現させて、パートプログラム作成時に使用された代表的なワークピースに一致する実行モードの1つ又は複数のワークピース上のその特定のワークピース要素(対応する位置にある対応する要素である)を自動的に検査させる。
【0037】
図3及び
図4は、ユーザインタフェース表示300の第1の実施形態の様々な機能ないし特徴を示す図であり、ユーザインタフェース表示300は、ワークピース画像を含む視野ウィンドウ310と、選択バー320及び340等の様々な測定及び/又は動作選択バーと、リアルタイムX−Y−Z(位置)座標ウィンドウ330と、照明制御ウィンドウ350と、エッジ検出パラメータウィンドウ360を含むエッジ検出ビデオツールユーザインタフェース(「ボックスツール」ユーザインタフェース)と、を含み、エッジ検出ビデオツールユーザインタフェースは、
図3に示される実施形態では、ボックスツールユーザインタフェースの「高度エッジパラメータ」タブを選択することにより表示される。ボックスツールユーザインタフェースは、市販のシステムで既知の要素である関心領域インジケータ355、上昇/下降インジケータRF、スキャン方向矢印SD、及びエッジセレクタESを含め、視野ウィンドウ310において画像に重ねられたボックスツールGUIウィジェット352も含む。上昇/下降インジケータRFは、スキャン方向矢印SDと組み合わせて、検出されたエッジがスキャン方向に沿って上昇する輝度を有するか、それとも下降する輝度を有するかを定義する。エッジセレクタESは、検出すべきエッジを示す(例えば、現在のツールパラメータセット)。エッジ検出パラメータウィンドウ360は、ROI位置特定パラメータ/編集ボックス、スキャン方向パラメータ/編集ボックス、上昇/下降エッジ傾きパラメータ/編集ボックス、検出可能エッジ番号パラメータ/編集ボックス、及びスキャン間隔パラメータ/編集ボックスも含み得る。様々なパラメータがデフォルト値及び/又は前のユーザインタフェース動作等に基づいて自動的に決定される値を有し得ることが理解されるだろう。
【0038】
図3及び
図4に示される実施形態では、エッジ検出パラメータウィンドウ360は、走査線輝度ウィンドウ362及び走査線勾配ウィンドウ364のそれぞれを含むとともに、さらに後述する、複数のエッジ検出パラメータ(エッジ要素パラメータとも呼ばれる)の可能な組み合わせの多次元パラメータ空間表現370を含む。走査線輝度ウィンドウ362及び走査線勾配ウィンドウ364は、関心領域にわたる代表的な走査線(例えば、中央走査線又は平均走査線等)に沿ったピクセル位置での走査線輝度プロファイルIP及び走査線輝度勾配プロファイルGPのグラフを示し、それぞれは、エッジ位置特定ビデオツール352の関心領域355内に配置されたエッジ要素のエッジ要素表現ERを提供する。本明細書において使用される場合、エッジ要素表現は、エッジを示すものとしてユーザが理解し得る何らかの形態の表現である。走査線輝度ウィンドウ362では、エッジ要素は、走査線に沿った比較的限られた距離にわたる輝度の有意変化により表されるものと理解される。典型的な上昇エッジ及び下降エッジ要素表現ER(いくつかの事例の1つ)は、例えば、走査線輝度プロファイルIP上に示される。走査線輝度勾配ウィンドウ364では、エッジ要素は、走査線に沿った比較的限られた距離にわたる勾配の有意変化及び/又は勾配ピーク(又は谷)により表されるものとして理解される。典型的な正及び負の勾配エッジ要素表現ER(いくつかの事例の1つ)は、例えば、走査線輝度勾配プロファイルGP上に示される。当然、視野ウィンドウ310では、エッジ要素は、例えば、エッジ要素表現ERにより示されるように、エッジ要素の画像により表されるものとして理解される。したがって、ウィンドウ310、362、364等の任意又はすべてをエッジ表現ウィンドウと呼び得る。走査線輝度勾配プロファイルGPは、この実施形態では、走査線輝度プロファイルIPの傾きを示すものと理解し得、したがって、一般に、各プロファイルに沿った対応する位置に、対応するエッジ要素表現を有する。
【0039】
図3及び
図4に示される実施形態では、多次元パラメータ空間表現370は、エッジ検出パラメータTH及びTHSの潜在的な組み合わせを示す二次元グラフ372を含み、パラメータの現在の組み合わせが、パラメータ組み合わせインジケータPCIの位置により示される。エッジ検出パラメータTH及びTHSの現在の組み合わせにより検出可能なエッジ要素は、例示的な一実施形態に関して後述するように、ウィンドウ362及び364に表示され、自動的に更新される。
【0040】
エッジ検出パラメータTH及びTHSは、エッジ位置特定ビデオツール352のエッジ検出アルゴリズムのエッジ検出パラメータである。一実施形態では、ビデオツール352の学習モード中、これら及び他の設定を決定し得、次に、エッジを特定する実行モード中に利用し得る。学習モード中に望ましい設定を決定することができない場合、又はビデオツール352により見つけられたエッジ点が満足のいくものではないと判断される場合、ユーザは、これらの設定の手動調整を選び得る。ビデオツールのいくつかの設定は、直観的であり得、容易に調整可能であり得る。しかし、他の設定(例えば、エッジ検出パラメータTH及びTHSの)は、特に組み合わせにおいて、比較的複雑であり、調整が難しいと見なされることがある。
【0041】
パラメータは、アルゴリズムを管理するに当たり、様々な機能を提供し得る。例えば、場合によっては、パラメータは、フェールセーフ型機能を提供し得る。すなわち、エッジにわたり最小レベルの輝度変化を必要とするパラメータは、予期しないほど低い露出(例えば、照明故障)の場合、又は他の異常な状況の場合、エッジ検出ビデオツールがエッジ位置を返さないようにし得る。本明細書において言及されるパラメータTHは、エッジにわたって必要とされる輝度変化の最小レベルに関連する閾値を定義する。別の場合、エッジにわたり最小レベルの輝度変化率を必要とするパラメータ(例えば、エッジの幅又は鮮鋭度を特徴付け得る勾配値)は、エッジの特定のインスタンスをさらに特徴付け得、ビデオツールの初期トレーニング/プログラミングに使用された「学習モード」エッジ形成又は照明に対するエッジの形態、照明(例えば、周囲照明変化又は方向変化)、又は画像の焦点(ぼやけた画像はエッジを広げ和らげる)の予期しない変化の場合、エッジ検出ビデオツールがエッジ位置を返さないようにし得る。本明細書において参照されるパラメータTHSは、エッジにわたって必要とされる最小輝度勾配に関連する閾値を定義する。上で概説される各パラメータ、特にそれらの組み合わせを、学習モード中のエッジの「プロトタイプ」インスタンスに対応し、及び/又は特徴付けるように設定して、エッジ検出信頼度及び/又は特異性(予期される撮像条件を使用して予期されるエッジの検出)を増大させ得ることが理解されるだろう。パラメータは、特定のエッジを区別するように設定してもよく、又は予期される条件が満たされない(又は略満たされない)場合のビデオツールを「失敗」させてもよい。いくつかの実施形態では、ビデオツールは、予期される条件が厳密に再現されない限りビデオツールが「失敗」となるように、すべてのパラメータを「静的」に設定してもよい。いくつかの実施形態では、予期される照明変動及び/又はワークピース仕上げ変動等により「失敗」する頻度が低いビデオツールとなるように、パラメータTHR(引用文献において言及されている)でTHSとTHとの関係、及び/又はその関係の閾値を定義し、実際の画像の輝度(当該輝度が検査に妥当な画像を提供するとみなせる範囲内であれば)に基づいて、パラメータのうちのいくつか(例えばTHS)を「動的」に調整してもよい。
【0042】
場合によっては、いくつものエッジがワークピース上に集まり、ビデオツール関心領域の位置及びサイズ(の調整)では対象エッジを確実に分離することができないことがある。そのような場合、検査及び測定動作中に対象エッジを他のエッジから区別するために、上で概説したパラメータ、特にパラメータの組み合わせを、対象エッジでは満たされる(予期されるワークピース間の変動を含む)が、ワークピース上の他の近傍エッジでは満たされないレベルに設定してもよい。本明細書において開示される本発明の特徴が、この後者の場合に有用なパラメータの組み合わせを設定する特定の値のものであり、一般に、改良された使用し易さ及び理解をユーザに提供することを理解されたい。
【0043】
輝度ウィンドウ362は、調整可能なTH線363と共に、エッジ検出ビデオツール355の走査線に沿った輝度プロファイルIPを示す。同様に、勾配ウィンドウ364は、調整可能なTHS線365と共に、エッジ検出ビデオツール355の同じ走査線に沿った勾配プロファイルGPを示す。ウィンドウ362及び364は、TH及びTHSテキストボックス382及び384のそれぞれを編集する必要なく、ユーザがTH線363及びTHS線365をグラフ的に(例えば、線をドラッグすることにより)選択し調整することができる動作を含むように構成される。このタイプの表示及び機能は、経験のあるユーザにとって、従来のテキストボックス382及び384の方法を利用した調整よりも容易且つ高速にできる。パラメータ組み合わせインジケータPCIの位置並びにTH及びTHSテキストボックスは、そのような線調整に応答してリアルタイムで更新し得る。調整可能な線363及び365のみを利用する欠点は、1度に1つしかエッジ検出パラメータを調整することができず、経験の少ないユーザは、エッジ要素表現ウィンドウ362及び364に示される未処理の輝度プロファイルIP及び勾配プロファイルGPの解釈の仕方を必ずしも知るわけではないことである。
【0044】
ウィンドウ362及び364に示されるように、TH及びTHSパラメータ値のエッジ区別効果のユーザ理解を上げるために、一実施形態では、ウィンドウ及びGUIは、検出可能なエッジDEをこれらのウィンドウに示し得る(すなわち、輝度プロファイルIP及び勾配プロファイルGPに沿った対応する検出可能なエッジ表現を示し得る)ように構成される。
図3に示される場合、勾配ウィンドウ364では、勾配パラメータTHSの閾値未満のプロファイルGPのセグメントは陰影が付けられる。対応するセグメントは、輝度ウィンドウ362においても同様に陰影が付けられる。さらに、輝度パラメータTHの閾値未満の輝度プロファイルの部分は、輝度ウィンドウ362において陰影が付けられる。したがって、現在のパラメータ組み合わせを満たす3つのエッジ表現が、強調表示され、又は
図3においてDE1、DE3、及びDE4として記された陰影のないエリアにより、ウィンドウ362及び364において検出可能なエッジとして示される。そのような可視表示は、エッジ検出パラメータTH及びTHSの変化が、別個に、及び組み合わせでエッジ特定にどのように影響するかを理解するに当たりユーザを支援し、アルゴリズムがどのように機能しているかのリアルタイムの表示を提供する。一実施形態では(図示せず)、同様に、検出可能なエッジインジケータを視野ウィンドウ310において対応するエッジに重ねることもできる。
図3に示されるように、「検出可能なエッジ番号の選択」ボックスは、デフォルト値1に設定され(位置特定すべきエッジが、走査線方向に沿ったROI内の最初に検出可能なエッジであることを意味する)、選択されるエッジESは、ウィンドウ310内のビデオツール352に関して、DE1に対応するエッジに設定される。検出可能なエッジDE1は、いくつかの実施形態では、ウィンドウ362においても同様に「選択されたエッジ」と記してもよい。
【0045】
ウィンドウ362及び364におけるTH及びTHS線363及び365の個々の調整とは対照的に、多次元パラメータ空間表現370では、ユーザは、閾値TH及びTHSの両方を同時に調整することができる。グラフ372では、エッジ検出パラメータTHはx軸に沿って表され、エッジ検出パラメータTHSはy軸に沿って表される。インジケータPCIは、ユーザにより選択され、グラフ372上の任意の位置にドラッグし得、現在の位置が現在のTH値及びTHS値を定義することになる。実験では、このユーザインタフェースの様々な機能を使用することにより、比較的熟練していないユーザであっても、上で概説した様々な機能を使用して、特定のエッジを確実に分離するパラメータの組み合わせを素早く探り、最適化することができること、又、同様に重要なこととして、特別な条件なしでは(例えば、関心領域内の特定の検出可能なエッジを選択することにより)、エッジを確実には分離できないことの理解に役立つことが示された。
【0046】
図3及び
図4のユーザインタフェースの動作についての説明のための例として、
図4に示されるように、グラフ372内のインジケータPCIは新しい位置に移されている(例えば、ユーザインタフェースにおいてドラッグする)。
図3及び
図4の実施形態では、ウィンドウ362及び364は、多次元パラメータ空間表現370と同期され、それにより、インジケータPCIの位置を調整すると、TH線363及びTHS線365のレベルがそれに対応して調整されることになり、逆も同様である。したがって、インジケータPCIの新しい位置に従って、ウィンドウ362内のTH線363及びウィンドウ364内のTHS線365もそれに対応して調整されている。いずれの場合でも、パラメータTH及びTHSに特定の新しいレベルが定義される結果として、ウィンドウ362及び364において参照符号DE2で示される追加のエッジがここで、検出可能なエッジとして示される。図から、検出可能なエッジDE2がエッジDE1、DE3、及びDE4よりも「弱い」エッジであり、パラメータTH及びTHSのみに基づいては関心領域内で分離することができないことが理解されるであろう。しかし、エッジDE2が走査線に沿って検出可能な2番目の上昇エッジであり、したがって、ユーザが「検出可能なエッジ番号の選択」ボックスを値2に設定したことが容易に読み取れる。したがって、パラメータTH及びTHSは、比較的強い検出可能なエッジDE1〜DE4を分離し、その一方で、より弱いエッジ及び/又はノイズを拒絶する。そして、検出可能なエッジ番号セレクタが、位置特定すべき所望のエッジ(現在のパラメータセットを使用して検出可能な走査線に沿った2番目のエッジDE2)をさらに精緻化する。一実施形態では、ウィンドウ362及び364のうちの少なくとも一方(及び/又はウィンドウ310)並びに検出可能なエッジ番号(例えば、「検出可能エッジ番号の選択」ボックスに示されるような)は、ユーザがウィンドウの1つにおいて示された検出可能なエッジを選択し得、関心領域内の走査線に沿って検出可能エッジの番号に関して、対応するパラメータ選択が自動的に行われるように同期される。
【0047】
多次元パラメータ空間表現370の一利点が、ユーザが複数のパラメータ(例えば、エッジ検出パラメータTH及びTHS)を同時に調整して、検出マージン及び様々な設定の組み合わせに関連付けられた他の検出信頼性トレードオフ(例えば、不正確なエッジの検出とツール失敗の可能性)を素早く探ることが可能であると理解されるであろう。ユーザは、様々なパラメータの機能を理解する必要がなく、その理由は、インジケータPCIの位置を調整し、対応する検出可能なエッジ表示のリアルタイムフィードバックを観測することにより、ユーザは直観的に、位置インジケータPCIへのエッジ検出結果の感度を感じ、所望のエッジ検出を生み出すために「最良のスポット」に直観的に設定することができるためである。同様に重要なことは、ユーザは、単にインジケータPCIをスイープ(sweep)することで、すべてのパラメータ組み合わせを素早くスキャンして、標的エッジを分離する特定の組み合わせの有無を把握でき、そして、追加のパラメータ(例えば、「検出可能なエッジ番号の選択」ボックス)を設定する必要があるか、又は照明を変更する必要があるか、又は関心領域を調整する必要があるか等を判断できることである。逆に、エッジ検出パラメータを設定する従来技術による方法及びインタフェースを使用して、同じ効率及び確実性でこれと同じ判断を下すことは非現実的又は不可能である。
【0048】
多次元パラメータ空間表現370に関して上述した技法では、ユーザは複数のエッジ検出パラメータを同時に調整することができるが、特定のエッジを検出するために、インジケータPCIをどこに配置する必要があるかを精密に予測することは、やはりまだ困難かもしれない。より詳細に後述するように、パラメータ組み合わせ候補エッジゾーンを提供して、インジケータPCIに望ましい位置の決定を支援するようにしてもよい。
【0049】
図3及び
図4に示されるように、多次元パラメータ空間表現370内で、パラメータ組み合わせ候補エッジゾーンEZ1は、1番目の検出可能なエッジDE1を検出するために、インジケータPCIを配置することができる領域を表す。同様に、パラメータ組み合わせ候補エッジゾーンEZ2は、2番目の検出可能なエッジDE2を検出するために、インジケータPCIを配置することができるエリアを表し、パラメータ組み合わせ候補エッジゾーンEZ3は、3番目の検出可能なエッジDE3を検出するために、インジケータPCIを配置することができるエリアを表す。4番目の検出可能なエッジDE4を検出するための第4のパラメータ組み合わせ候補エッジゾーンEZ4は、第1のパラメータ組み合わせ候補ゾーンEZ1に完全に重なるものと見なし得る。パラメータ組み合わせ候補ゾーンEZ1、EZ2、EZ3、及びEZ4がすべて重複エリアを含み得、重複エリアにおいて、複数のエッジを検出し得、いくつかの実施態様では、色又は他の可視の特徴を用いて示し得ることが理解されるだろう。
【0050】
図3に示されるように、この機能の使用法及び動作を示すために、インジケータPCIは、パラメータ組み合わせ候補エッジゾーンEZ1、EZ3、及びEZ4内にあるが、パラメータ組み合わせ候補エッジゾーンEZ2内にはない位置に配置されている。その結果、ウィンドウ362及び364に示され、また上述したように、エッジDE1、DE3、及びDE4のみが潜在的に、このインジケータによって示されるパラメータ組み合わせにより検出可能である。
図4に示されるように、インジケータPCIは、パラメータ組み合わせ候補エッジゾーンEZ2内にあり、また同時にパラメータ組み合わせ候補エッジゾーンEZ1、EZ3、及びEZ4内にもある新しい位置に移されている。その結果、各エッジDE1、DE2、DE3、及びDE4は潜在的に、ウィンドウ362及び364に示され、また上述したように、このインジケータによって示されるパラメータ組み合わせにより検出可能である。
【0051】
このようなパラメータ組み合わせ候補エッジゾーンEZ1、EZ2、EZ3、及びEZ4の表示により、ユーザが、所望のエッジを他のエッジから区別することができるように(可能な場合)、インジケータPCIをどこに位置決めすべきかを知ることができるとともに、多次元パラメータ空間表現370内に、エッジを検出する可能性がどのくらい存在するかを知ることができることが理解されるだろう。一実施形態では、パラメータ組み合わせ候補エッジゾーンEZ1、EZ2、EZ3、及びEZ4は、ウィンドウ310、362、及び364のうちの1つ又は複数と同期され、ユーザは、対応するエッジゾーンEZを強調表示する又は表示するエッジ要素を選択し得る。例えば、ウィンドウ310、362、及び364のうちの1つにおいて、ユーザは、検出可能なエッジ要素DE又はエッジ表現ERを選択し得(例えば、クリックして)、それに応答して、対応する候補パラメータエッジゾーンEZが強調表示され、及び/又はその他のエッジゾーンEZなしで個別表示される。
【0052】
図5は、マシンビジョン検査システムユーザインタフェースにおいてエッジ検出パラメータを定義する方法500の流れ図である。ブロック510において、エッジ位置特定ビデオツールの関心領域(ROI)に対する複数のエッジ検出パラメータが決定される。ブロック520において、複数のエッジ検出パラメータの可能な組み合わせの多次元パラメータ空間表現が表示される。ブロック530において、多次元パラメータ空間表現内に配置されるパラメータ組み合わせインジケータが表示され、このインジケータは、その位置に基づいて複数のエッジ検出パラメータのうちの少なくとも2つの組み合わせを示す。ブロック540において、少なくとも1つのエッジ要素表現ウィンドウが表示され、このウィンドウは、エッジ位置特定ビデオツールの関心領域内に配置されたエッジ要素を表す。少なくとも1つのエッジ要素表現ウィンドウは、パラメータ組み合わせインジケータの配置がユーザにより変更されると、パラメータ組み合わせインジケータの現在の配置により示されるエッジ検出パラメータの組み合わせにより検出可能なエッジ要素が、少なくとも1つのエッジ要素表現ウィンドウにおいて自動的に更新されるように、パラメータ組み合わせインジケータの構成に応答する。
【0053】
図6は、
図3及び
図4に示したようなパラメータ組み合わせ候補エッジゾーンを決定するルーチン600の例示的な一実施形態を示す流れ図である。より詳細に後述するように、この特定の実施形態では、この方法は一般に、特定のエッジに対応する走査線ピクセル群を識別し、そのピクセル群により示されるTH及びTHSエッジ検出パラメータ値/組み合わせの範囲を決定し、ユーザがそのゾーンに対応するエッジを検出するために、表現された範囲又はゾーン内でパラメータ組み合わせを選択し得るように、TH及びTHS値/組み合わせのその範囲を、ユーザインタフェースにおける選択可能なパラメータ組み合わせ候補の対応する範囲又はゾーンとして表現することを含む。これらのステップの一実施形態について、
図6に関してより詳細に後述する。
【0054】
図6に示されるように、ブロック610において、輝度プロファイル及びエッジ強度プロファイル(例えば、勾配プロファイル)が、関心領域の走査線に沿って決定される。ブロック620において、関心領域内の各エッジに対応する走査線に沿った各ピクセル群が決定される(例えば、上昇(下降)エッジの場合、有意な輝度増大(低減)を示す隣接ピクセル群を識別する)。ブロック630において、群毎に、その群内のピクセルにより示されるパラメータ組み合わせ(例えば、TH/THS組み合わせ)の範囲が決定される。
【0055】
ブロック640において、各群又は各エッジについて決定されたパラメータ組み合わせの範囲は、ユーザインタフェースにおいて、選択可能なパラメータ組み合わせ候補の範囲又はゾーンとして表現されるパラメータ組み合わせ候補として(例えば、パラメータ組み合わせ候補エッジゾーンとして)マッピング又は表現され、それにより、ユーザは、表現された範囲又はゾーン内でパラメータ組み合わせを選択して、対応する各エッジを検出し得る。
【0056】
図7及び
図8は、多次元パラメータ空間表現と、エッジ要素表現ER及び重ねられた検出エッジ点DEPを含む視野ウィンドウ310と、を含むユーザインタフェース表示700の第2の実施形態の様々な機能を示す図である。その他の点では、ユーザインタフェース表示700は、
図3及び
図4にしたユーザインタフェース表示300と同様であり得、別段の指示がない限り、同様に付番された要素を同様に理解し得る。
【0057】
上述したように、視野ウィンドウ310において、エッジ要素は、例えば、エッジ要素表現ERにより示されるように、それらの画像により表現されるものとして理解される。多次元パラメータ空間表現370は、エッジ検出パラメータTH及びTHSの潜在的な組み合わせを示す二次元グラフ372を含み、パラメータの現在の組み合わせは、パラメータ組み合わせインジケータPCIの位置により示される。パラメータ組み合わせエッジゾーンEZ1、EZ2、EZ3、及びEZ4は、多次元パラメータ空間表現370内に示される。
図7及び
図8に示される実施形態では、走査線輝度ウィンドウ362及び走査線勾配ウィンドウ364は、関心領域にわたる代表的な走査線(例えば、中央走査線又は平均走査線等)の走査線方向に沿ったピクセル位置での走査線輝度プロファイルIP及び走査線輝度勾配プロファイルGPのグラフを示す。エッジ検出パラメータTH及びTHSの現在の組み合わせにより検出可能なエッジ要素(検出可能なエッジDE)は、上述したように、ウィンドウ362及び364に表示され、自動的に更新される。視野ウィンドウ310において、パラメータの現在の組み合わせを満たす検出エッジ点DEPは、さらに詳細に後述するように示される。
【0058】
図7に示される場合、
図3と比較して、ユーザは、エッジ検出パラメータTHが値98.7を有するように、パラメータ組み合わせインジケータPCIをパラメータ組み合わせエッジゾーンEZ1、EZ3、及びEZ4内で位置替えしている。現在のパラメータ組み合わせを満たす3つのエッジ表現が、DE1、DE3、及びDE4として記された陰影のないエリアによりウィンドウ362及び364において検出可能エッジとして強調又は表示される。
【0059】
ユーザインタフェース表示300と比較して、ユーザインタフェース表示700において追加される重要な機能は、視野ウィンドウ310に現在のパラメータ組み合わせを満たす検出エッジ点DEPが示されることである。これは、ユーザインタフェース表示300における表現よりも多くの情報を提供する。例えば、走査線輝度ウィンドウ362では、ウィンドウ362に示される代表的な走査線の検出可能なエッジDE1が、パラメータTHを辛うじて超えるように、パラメータTHが設定されることが分かり得る。しかし、重要なことは、少数の走査線においてのみであるが、検出可能エッジDE1がパラメータTHを超えることを、視野ウィンドウ310ないの検出エッジDEPが示していることである。したがって、視野ウィンドウ310ないの検出エッジDEPは、いくつかの走査線では第1の上昇エッジが検出可能エッジDE3に対応するパラメータTHを超えることも示す。そのような可視の表示は、エッジ検出パラメータTH及びTHSの変化が、別個に、及び組み合わせでエッジ特定にどのように影響するかを理解するに当たりユーザを支援し、アルゴリズムがどのように機能しているかのリアルタイムの表示を提供する。
図7に示される場合、検出エッジ点DEPは、現在のパラメータがエッジDE1とDE3とを確実には区別しきれないことを明確に即座に示す。
【0060】
逆に、
図8に示されるように、グラフ372内のインジケータPCIは、パラメータ組み合わせエッジゾーンEZ3内のみにある新しい位置に移されている(例えば、ユーザインタフェースにおいてドラッグする)。
図7及び
図8の実施形態では、ウィンドウ362、364、及び310はすべて、多次元パラメータ空間表現370と同期され、それにより、インジケータPCIの位置を調整すると、TH線363及びTHS線365のレベル並びに検出エッジ点DEPがそれに対応して調整される。パラメータTH及びTHSに定義される特定の新しいレベルの結果、ここで、ウィンドウ362及び364において参照符号DE3により示されるエッジのみが、検出可能なエッジとして示される。おそらくより重要なことは、ウィンドウ310において、検出エッジ点DEPが今や対応する検出可能エッジDE3に全て配置され、現在のパラメータセットがエッジDE3を、ウィンドウ362及び364において代表的な走査線のみならず、すべての走査線に沿って他のすべてのエッジから区別するという情報を伝えることを見ることができることである。実際に、いくつかの実施形態では、ユーザはおそらく、PCIをドラッグし、ウィンドウ362及び364を観測するよりも、対応する検出エッジ点DEPを観測することにより、パラメータをより確実に設定し得る。したがって、検出エッジ点DEPが視野ウィンドウ310に示されるいくつかの実施形態では、ウィンドウ362及び364はオプションであってもよく、ユーザにより表示するように選択されない場合、省略し、及び/又は隠し得る。
【0061】
図9は、ユーザが選択可能な一連の視野ウィンドウ910A〜910Dに提供される異なるエッジ要素表現を含むユーザインタフェース表示900の第3の実施形態の様々な機能を示す図である。視野ウィンドウ910A〜910Dは、
図3、
図4、
図7、及び
図8に関して上述した視野ウィンドウ310と同様であり、別段の指示がない限り、同様に付番された要素を同様に理解し得る。
【0062】
視野ウィンドウ910A〜910Dは主に、検出エッジ点DEPの位置に従って互いに異なる。ウィンドウ910Aに示されるように、検出エッジ点DEPは最初の検出可能エッジDE1に配置される。逆に、ウィンドウ910Bでは、検出エッジ点DEPは2番目の検出可能エッジDE2に配置される。同様に、ウィンドウ910Cでは、検出エッジ点DEPは3番目の検出エッジDE3に配置され、ウィンドウ910Dでは、検出エッジ点DEPは4番目の検出可能エッジDE4に配置される。パラメータインジケータボックス920が提供され、このボックスは、現在選択されている視野ウィンドウに対応するパラメータ値TH及びTHS(パラメータ組み合わせ)を示す。一実施形態では、特定の検出エッジ点DEPの表示に繋がり得る、インジケータボックス920に示されるパラメータ組み合わせ候補は、対応するエッジを検出するために推定される最良の組み合わせ(例えば、一実施形態では、対応するエッジのエッジ点により示されるパラメータ組み合わせ範囲からの中央又は平均パラメータ組み合わせ)であり得る。
図7及び
図8の例に関して上述したように、エッジ検出パラメータTH及びTHSの異なるパラメータ組み合わせは、異なる検出エッジ点DEPに繋がり得る。より詳細に後述するように、各視野ウィンドウ910A〜910Dは、異なる位置の検出エッジ点DEPをもたらす、エッジ検出パラメータTH及びTHS(及び/又はいくつかの実施形態では、エッジ番号パラメータ等の他のエッジパラメータ)の異なるパラメータ組み合わせ候補を表す。
【0063】
一実施形態では、視野ウィンドウ910A〜910Dを生成するために、システムはエッジ検出パラメータの検索空間を自動的にスキャンし、エッジ検出パラメータ組み合わせ候補に応答して生じるエッジ検出結果の意味のある変動を示す画像(例えば、視野ウィンドウ)を生成する。
図10及び
図11に関してより詳細に後述するように、このプロセスは、様々な技法(例えば、全数パラメータ空間検索、特徴誘導(feature-guided)検索等)を利用して実行し得る。代替の実施形態では、単一の視野ウィンドウを提供し得、異なる検出可能なエッジがこの単一の視野ウィンドウに示される(例えば、各エッジでの検出エッジ点の配色、又は番号を重ねる)。次に、ユーザは単に、所望のパラメータ組み合わせ候補を選び(例えば、視野ウィンドウ又は選択されたエッジ要素をクリックする)、対応するエッジ検出パラメータをビデオツールに設定することができる。様々な選択可能なエッジ検出組み合わせ候補の結果を表示することにより、ユーザに、システムが所与の関心領域内で何を検出可能かも効率的に示され、これにより、ユーザが検出すべきエッジに関してより多くの情報下で選択し得ることが理解されるだろう。
【0064】
図9により示される実施形態が、エッジ検出閾値設定プロセスを簡易化し、ユーザのフラストレーションを低減し得ることが理解されるだろう。換言すれば、ユーザが個々のエッジ検出パラメータを手動で設定する必要があった従来のシステムでは、プロセスは多くの場合、分かりにくく、時間がかかるものであり得た。
図3〜
図8に関して上述した改良された方法を用いる場合であっても、特に、パラメータ組み合わせエッジゾーンが示されない実施態様では、エッジ検出パラメータの調整は、閾値がエッジ位置にどのように影響するかのメカニズムが直観的ではなく、最上級ユーザによってのみ理解されることが多いという点で、やはりいくらか分かりにくいことがある。
【0065】
一実施形態では、ユーザは、所望のパラメータ組み合わせ候補を選んだ(例えば、ユーザが視野ウィンドウ910A〜910Dの1つをクリックした)後、
図3〜
図8に関して上述したユーザインタフェース及び技法を利用して、パラメータ設定をさらに微調整し得る(例えば、対応するエッジ点により示される広範囲のパラメータ組み合わせ候補内で)。特定の実施態様では、ユーザによるパラメータ設定の微調整を可能にすることは、特定のエッジ検出技法、特に、エッジ検出アルゴリズムにおいて要素検出(例えば、線、円弧等)を利用しない技法には有益であり得る。微調整では、特定の実施態様では、ユーザは画像内のエッジ(又は
図3及び
図4に示されるようにエッジセレクタ)を直接ドラッグし得、そこから、アルゴリズムはエッジ検出パラメータを自動的に再学習することになる。走査線方向に沿った前のエッジの影になって、検出することができない特定のエッジについては、ユーザに、GUI要素を移動又は変更させて、影になったエッジを除外するような指示又はエッジ選択ツール等の異なるツールを利用する示唆を提供し得る。
【0066】
図10は、
図9に示されるような、全数検索を利用して、ユーザが選択することができる異なるエッジ要素表現を決定し表示する方法1000の流れ図である。より詳細に後述するように、一実施態様では、この方法は一般に、各結果(すなわち、変動)が、ユーザに有意な選択肢を提供するために、残りの結果から「十分に異なる」か、又は「有意に異なる」エッジ検出結果セットの生成を対象とし得、主に学習モード中に利用し得る。
図10に示されるように、ブロック1010において、関連するエッジ検出パラメータの値が繰り返し適用され、検索の粒度(すなわち、各パラメータのステップサイズ)が事前に確立される(例えば、妥当な結果及び許容可能な検索時間を提供するために)。
【0067】
ブロック1020において、パラメータ値の組み合わせ毎に、エッジ検出アルゴリズムが、指定された関心領域ツールにおいて実行され、有効な結果を生み出すN個の異なる組み合わせがあると仮定される。一実施態様では、非常に小さなポイントバッファ(例えば、比較的少数の点)を生成する組み合わせは破棄し得る。ポイントバッファが伝えることが予期される最小数のポイントに、閾値を利用し得る。ブロック1030において、結果として生成される2Dポイントバッファはクラスタ(すなわち、点の集合)として記憶され、関連するアルゴリズムパラメータは、クラスタのメタデータとして記憶される。一実施態様では、ブロック1010〜1030は、パラメータ値のN個すべての組み合わせに対して繰り返し得る。
【0068】
ブロック1040において、N個のクラスタ(ポイントバッファ)が前のステップにより生成された場合、階層的凝集型クラスタリングが実行されて、クラスタ数をK個まで低減する。一実施態様では、階層的凝集型クラスタリングアルゴリズムは以下のように動作し得る。プロセスは、N個のクラスタで開始され、各クラスタは、エッジ検出アルゴリズムにより返される1つの2Dポイントバッファからなる。次に、2つの最も類似するクラスタA及びBが見つけられ、それらが十分に類似する場合、1つのクラスタに統合される(このプロセスは、必要な場合、最高でN−1回繰り返される)。十分に類似する2つのクラスタがない場合、クラスタリングプロセスは終了する。同点の(すなわち、2対のクラスタが等しい類似度を有する)場合、最初に見つけられた対が統合される。一実施態様では、2つのクラスタの類似度は、より詳細に後述するように、距離測度を使用して測定し得る。一実施態様では、「十分に類似する」要件は、2つのクラスタの距離が所定の距離閾値よりも小さいか否かに従って判断される。
【0069】
様々な距離測度を凝集クラスタリングに利用し得る。一実施態様では、ハウスドルフ距離(すなわち、ある集合から他方の集合内の最近傍ポイントまでの最大距離)が利用される(例えば、http://cgm.cs.mcgill.ca/^godfried/teaching/cg-projects/98/normand/main.html.参照)。別の実施態様では、改良ハウスドルフ距離DHが、ポイントバッファ内の異常値への感度を低減するためにより適し得る。すなわち、D(A,B)をクラスタB内の最近傍ポイントに「十分近くない」クラスタA内のポイントの割合(「十分近くない」は、ポイント間のユークリッド距離が事前定義される閾値よりも大きいことを意味する)とし、D(B,A)をクラスタA内の最近傍点に「十分近くない」クラスタB内のポイントの割合としたときの、DH=max{D(A,B),D(B,A)}である。他のクラスタ距離測度を利用してもよい(例えば、平均連結法又はウォード法のような最小分散法)。
【0070】
図10に戻ると、ブロック1050において、K個のクラスタのそれぞれについて、エッジ検出パラメータの代表的な値が計算される。一実施態様では、K個の最終クラスタの各クラスタAは、元のクラスタ(すなわち、ポイントバッファ)のうちの1つ又は複数が凝集したものであるため、各パラメータの代表的な値を計算することができる(例えば、クラスタAに属する元のすべてのクラスタに対するそのパラメータの値の中央値又は平均値)。ブロック1060において、K個のエッジ検出変動画像が、計算されたK個のパラメータ集合を使用して生成される。
【0071】
特定の実施態様では、
図10に関して上述した全数検索技法の実行に、特定の他の技法よりも比較的長い時間がかかり得る(例えば、各設定に1度ずつ、エッジ検出をN回行う必要がある)ことが理解されるだろう。しかし、全体の処理時間はそれでもやはり比較的短くし得る(すなわち、基本エッジ検出プロセスは比較的高速に実行することができ、全体プロセスにかかる時間は数秒未満であり得る)。そのような処理時間は、特定の用途(例えば、プロセスが、処理時間の考慮が重要としてみなされていない学習モード手順の一部として利用されている場合)では許容可能であり得る。特定の実施態様では、N個の組み合わせにおいて検出されるすべてのポイントのポイント間距離の行列を事前計算して、クラスタリングプロセス中の計算の繰り返しを回避し、それにより、プロセスをより高速に実行することができる。
【0072】
図11は、
図9に示されるような、連結エッジを利用して、ユーザが選択することができる異なるエッジ要素表現を決定し表示する方法1100の流れ図である。換言すれば、
図10に関して上述した全数検索を利用する代替として、一実施態様では、代わりにエッジをエッジ要素にグループ化し得、次に、各エッジ要素に適切な閾値を見つけ得る。特定の実施態様では、連結エッジを利用するこの方法は、全数検索を利用する方法よりも高速に実行し得る。
【0073】
図11に示されるように、ブロック1110において、すべてのエッジ点が見つけられ、連結エッジに群化される。様々な実施態様では、このプロセスは、キャニーエッジ検出後にエッジリンキング、セグメント化の後にエッジトレース、セグメント化とエッジ検出との任意の組み合わせ、可能なすべての線及び弧を識別する1D射影等の技法を利用し得る。ブロック1120において、TH及びTHS範囲はエッジ点毎に計算される。上述したように、一般に特定の標準エッジ検出プロセスでは、各エッジ点は、TH及びTHSが特定の範囲内にある場合のみ見つけることができる。特定の実施態様において、いくつかのエッジ点がヌル(null)範囲のTH及びTHSを有し得る(例えば、利用される特定のエッジ検出アルゴリズムの「早期アウト」プロセス等)ことが理解されるであろう。
【0074】
ブロック1130において、連結エッジ毎に、最適な閾値が見つけられる。特定の実施態様では、最適な閾値は、最大数の正常値(インライア)、最小数の異常値(アウトライア)、画像ノイズへのロバスト性等の基準に従って決定し得る。一実施形態では、連結エッジに沿ったエッジ点が、大幅に異なる範囲の閾値を有する場合、エッジを類似のエッジのセグメントに分割する技法を利用し得る(例えば、分枝型クラスタリング等)。ブロック1140において、エッジ検出は、それぞれの最適な閾値設定を使用して実行され、変動マップの実際のエッジが生成される。一実施形態では、変動マップの数が大きい場合、いくつかの最上位マップ(例えば、10)を提示し得、ユーザは次に、所望の値に最も近いマップを選択し得、次に、閾値をさらに手動で調整することができる。
【0075】
図12は、複数のパラメータ組み合わせ候補を自動的に決定する方法1200の流れ図である。ブロック1210において、複数のエッジ検出パラメータを有するエッジ位置特定ビデオツールが提供される。ブロック1220において、エッジ位置特定ビデオツールの関心領域(ROI)が、少なくとも第1のエッジ要素を関心領域内に含めて、画定される。ブロック1230において、複数のエッジ検出パラメータの複数のパラメータ組み合わせ候補は、自動的に決定され、各パラメータ組み合わせ候補は、関心領域内の各エッジ要素の検出に使用可能である。ブロック1240において、ユーザインタフェースは、関心領域内の各エッジ要素の検出に使用可能な各パラメータ組み合わせ候補に対応する各パラメータ組み合わせ候補表現を表示するように動作し、ユーザインタフェースは、ユーザが、表示された各パラメータ組み合わせ候補表現に対してパラメータ組み合わせ選択動作を実行可能なように構成される。ユーザ選択動作により、画定された関心領域内のエッジ位置特定ビデオツールの動作を支配するエッジ検出パラメータの組み合わせが選択される。
【0076】
上記から、本発明の特定の実施形態が例示のために本明細書において記載されるが、本発明の範囲から逸脱せずに、様々な変更を行い得ることが理解されるだろう。例えば、多次元パラメータ空間表現は、第3の次元を二次元格子に追加して、ボリューム(例えば、等角及び/又は回転可能等で表現される)を形成し得、ボリューム内でパラメータ組み合わせインジケータを位置特定する。または二次元格子を、第3のパラメータの近傍線形パラメータ空間表現等で補強することができる。別の例として、画像処理動作(例えば、フィルタリング動作)を関心領域及び/又は関心領域内のエッジに適用して、エッジ(又は複数のエッジ)の性質を改良又は明らかにし、それにより、エッジ検出又は区別を可能にし、又はより確実にすることが理解されるだろう。例えば、テクスチャエッジ、カラーエッジ等はフィルタリングされた画像又は疑似画像等内で表現し得、本明細書に開示されるシステム及び方法をそのような画像に適用して、本明細書において概説した様々な動作を補足又は置換し得る。したがって、本発明は、添付の特許請求の範囲以外によっては限定されない。