(57)【要約】      （修正有）【課題】画像の特徴の徹底的な分析を行うことを要することなく基礎となる撮像された実行時対象物表面が不良であるかを決定する採点プロセスを提供する。【解決手段】画像内のクラッタのレベルを決定するためのシステム及び方法は高速であり、画像が容認可能なクラッタのレベルを上回るか又は下回るかを迅速に決定するために、空白部があることを示す低い勾配度を有する画像領域と関連するクラッタテストポイントを用いる。【効果】空白部の欠如がクラッタを示す座標空間内の位置にトレーニングされたクラッタテストポイントをマッピングすることによって実行時画像を迅速に分析することを可能にし、検出した相違及び／又は欠陥を高速に示すことができ、さらに画像を分析することなく画像の被写体を容認又は拒否することを可能にする。【選択図】図１
2018152081.tif 000002
【特許請求の範囲】
【請求項１】
ビジョンシステムで撮像されたシーン内のクラッタを決定するための方法であって、
シーンの実行時画像を提供するステップと；
トレーニングされたパターンにおける空白部のレベルを表す一連のクラッタテストポイントを有するトレーニングされたパターンを提供するステップと；
トレーニングされたパターンを基準とした画像に対する座標空間で実行時姿勢を確定するステップと；
クラッタテストポイントを画像に対する座標空間にマッピングするステップと；
マッピングされたクラッタテストポイントでそれぞれ空白部のレベルを決定するステップと；
前記空白部のレベルに基づいて少なくとも画像の一部でクラッタのレベルを決定するステップと、を含む方法。
【請求項２】
前記空白部のレベルを決定するステップは、マッピングされたクラッタテストポイントに対するそれぞれのクラッタスコア値を生成することを含む、請求項１に記載の方法。
【請求項３】
さらに、クラッタスコア値を合計し、少なくとも画像の一部について全体クラッタスコア値を生成することを含む、請求項２に記載の方法。
【請求項４】
前記空白部のレベルを決定するステップは、それぞれマッピングされたクラッタテストポイントで勾配度を決定し、前記空白部のレベルを既定の限界と比較することを含む、請求項１に記載の方法。
【請求項５】
前記姿勢を確定するステップは、（ａ）ビジョンシステム内でアライメントツールを用いて自動的に実行時画像をトレーニングされたパターンにアライメントすること、及び（ｂ）ユーザ入力から姿勢を指示する情報を取得することの少なくとも１つを含む、請求項１に記載の方法。
【請求項６】
ビジョンシステムで撮像されたシーンの少なくとも一部でクラッタのレベルを決定するためのトレーニングパターンを抽出するための方法であって、
関心のある特徴を有するトレーニング画像を提供するステップと；
画像内のクラッタのない領域を示す空白部のレベルに対して相対的な既定のクラッタ限界値を提供するステップと；
クラッタのない空白部のレベルを表す座標空間における位置に基づくトレーニング画像の座標空間を基準にしてクラッタテストポイントを確定するステップと、を含む方法。
【請求項７】
トレーニング画像は、トレーニング画像のどのエリアを空白部に関して評価すべきかを示すマスクを含む、請求項６に記載の方法。
【請求項８】
トレーニング画像は、ピクセル値に依存しない記述によって規定された特徴を含む、請求項６に記載の方法。
【請求項９】
前記クラッタテストポイントを確定するステップは、トレーニング画像の領域で既定の限界値より低い勾配度を決定することを含む、請求項６に記載の方法。
【請求項１０】
さらに、実行時画像におけるクラッタ決定において使用するために、クラッタテストポイントをトレーニングされた画像の座標空間に保存することを含む、請求項６に記載の方法。
【請求項１１】
クラッタ限界値は、トレーニング画像内の勾配値のヒストグラムに基づいて計算される、請求項６に記載の方法。
【請求項１２】
前記クラッタ限界値は、入力パラメータとして提供される、請求項６に記載の方法。
【請求項１３】
ビジョンシステムを用いてトレーニングされたパターンに基づいて実行時候補画像におけるクラッタのレベルを決定するためのシステムであって、
該システムは、トレーニング時クラッタポイント発生器と実行時クラッタ決定器とを有し、
トレーニング時クラッタポイント発生器は、トレーニング画像内の座標空間に対して相対的な一連のクラッタテストポイントを発生し、前記トレーニング画像はクラッタ限界値を下回る空白部のレベルを有するトレーニング画像内の位置に基づく情報を有し、前記クラッタ限界値は既定のパラメータとトレーニング画像内の情報に基づいて確定されており；
実行時クラッタ決定器は、クラッタテストポイントの位置を実行時姿勢に基づいて実行時候補画像にマッピングし、各々の位置で空白部のレベルを計算して取得された画像の少なくとも一部でクラッタのレベルを決定する、
上記システム
【請求項１４】
実行時候補画像内の空白部のレベルは、それぞれの位置で決定された勾配度に基づいている、請求項１３に記載のシステム。
【請求項１５】
さらに、決定されたクラッタレベルを利用して、決定されたクラッタレベルに基づく実行時候補画像と関連する表面を基準として既定の動作を行うクラッタ利用器を含む、請求項１３に記載のシステム。
【請求項１６】
前記既定の動作は、部品拒否、警報の発生、品質データの送信及び動いているラインの停止の少なくとも１つを含む、請求項１５に記載のシステム。
【請求項１７】
少なくとも１つの既定のパラメータは、ユーザによって入力される、請求項１３に記載のシステム。
【請求項１８】
クラッタ決定器は、各々の位置でクラッタスコアを生じる、請求項１３に記載のシステム。
【請求項１９】
クラッタ決定器は、各々の位置に対するクラッタスコアを合計して実行時候補画像に対する全体クラッタスコアを生成する、請求項１８に記載のシステム。
【請求項２０】
前記情報は、関心のある特徴を含み、さらにトレーニング画像と実行時候補画像の各々において関心のある特徴の少なくとも一部の位置に基づいて実行時姿勢を決定するアライメントツールを含んでいる、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマシンビジョンシステム、並びに関連する撮像されたシーンにおける対象物のアライメント及び検査のための方法
【背景技術】
【０００２】
本明細書で「ビジョンシステム」とも呼ばれるマシンビジョンシステムは、製造環境において多様なタスクを実行するために使用される。一般に、ビジョンシステムは、製造中の対象物を包含するシーンのグレースケール又はカラーイメージを取得するイメージセンサ（又は「イメージャ」）を備えた１台以上のカメラからなる。対象物の画像を分析してデータ／情報をユーザ及び関連する製造工程に提供できる。画像によって生み出されたデータは、典型的には、ビジョンシステムにより１台以上のビジョンシステムプロセッサで分析及び処理され、ビジョンシステムプロセッサは専用であってもよいし、あるいは汎用コンピュータ（例えばＰＣ、ラップトップ、タブレット又はスマートフォン）内で作成される１以上のソフトウェアアプリケーションの部分であってもよい。
【０００３】
ビジョンシステムの共通タスクは、アライメントと検査を含む。アライメントタスクにおいてビジョンシステムツール、例えばコグネックス社（マサチューセッツ州ネイティック）から市販されている周知のＰａｔＭａｘ（Ｒ）システムが、シーンの画像内の特徴を（実際のモデル又は合成モデルを用いて）トレーニングされたパターンと比較して撮像されたシーンにおけるパターンの存在／不在及び姿勢を決定する。この情報は後続の検査（又は他の）操作に使用して欠陥を探し、及び／又は部品拒否など他の操作を実行できる。
【０００４】
（例えば）印刷された表面のアライメント及び品質を決定する際の特別の課題は、どこに「クラッタ」が存在するかである。これとの関連においてクラッタは、関心のある特徴を取り囲む勾配特徴の拡散として定義され得る。例えば印刷された文字を取り囲むスマッジはクラッタと見なすことができる。
【発明の概要】
【０００５】
先行技術の短所を克服するために本発明が提供する画像内のクラッタのレベルを決定するためのシステム及び方法は高速であり、画像が容認可能なクラッタのレベルを上回るか又は下回るかを迅速に決定するための採点プロセス、例えば画像の特徴の徹底的な分析を行うことを要することなく基礎となる撮像された実行時対象物表面が不良であるか決定するための採点プロセスを可能にする。このシステム及び方法は、トレーニングパターンに従い空白部と見なされる特徴のない（例えば低い勾配度を示す）画像領域と関連するクラッタテストポイントを用いる。これは空白部が存在するべき座標空間内の位置にクラッタテストポイントをマッピングするトレーニングパターンを用いることによって実行時画像を迅速に分析することを可能にする。これらの位置では特徴／高い勾配度があることはクラッタが存在する可能性を意味し、特定されたら相違及び／又は欠陥を高速に示すことができ、それによって画像をさらに分析することなく（分析なしで）画像の被写体を容認又は拒否することを可能にする。
【０００６】
例示的な実施形態において、ビジョンシステムで撮像されたシーン内のクラッタを決定するシステム及び方法が提供される。システム及び方法は、シーンの実行時画像と、トレーニングされたパターンにおける空白部を表す一連のクラッタテストポイントを有するトレーニングされたパターンを提供することを含む。トレーニングされたパターンを基準とした画像に対する座標空間を含んで、実行時姿勢が確定される。例示的に、クラッタテストポイントが画像に対する座標空間にマッピングされ、マッピングされたクラッタテストポイントでそれぞれ空白部のレベルが決定される。決定された空白部のレベルに基づいて、少なくとも画像の一部で関連するクラッタのレベルが決定される。例示的に、クラッタのレベルを決定するステップは、マッピングされたクラッタテストポイントに対するそれぞれのクラッタスコア値を生成することを含む。クラッタスコア値を合計されることができ、システム及び方法は少なくとも画像の一部について全体クラッタスコア値を生成できる。空白部のレベルの決定は、それぞれマッピングされたクラッタテストポイントで勾配度を決定し、その大きさを既定の限界と比較することを含むことができ、姿勢の確定は、（ａ）ビジョンシステム内でアライメントツールを用いて自動的に実行時画像をトレーニングされたパターンにアライメントすること、及び（ｂ）ユーザ入力から姿勢を指示する情報の取得を含んでいてもよい。
【０００７】
別の例示的な実施形態において、ビジョンシステムで撮像されたシーンの少なくとも一部でクラッタのレベルを決定するためのシステム及び方法が提供される。このシステム及び方法は、関心のある特徴を有するトレーニング画像と、画像内のクラッタのない領域を示す空白部のレベルに対して相対的な既定のクラッタ限界値を含む。クラッタテストポイントは、クラッタのない空白部のレベルを表す座標空間における位置に基づくトレーニング画像の座標空間を基準にして確定される。例示的に、トレーニング画像は、トレーニング画像のどのエリアを空白部に関して評価すべきかを示すマスク及び／又はピクセル値に依存しない記述によって規定された特徴を含む。クラッタテストポイントは、トレーニング画像の領域に既定の限界値より低い勾配度が存在することによって決定され得る。クラッタテストポイントは実行時画像におけるクラッタ決定において使用するために、トレーニングされた画像の座標空間を基準にして保存されることができ、クラッタ限界値はトレーニング画像内の勾配値のヒストグラムに基づいて計算できる。クラッタ限界値は入力パラメータとして提供されてよい。
【０００８】
ビジョンシステムを用いてトレーニングされたパターンに基づいて実行時候補画像におけるクラッタのレベルを決定するためのシステム及び方法が提供される。トレーニング時クラッタポイント発生器が、トレーニング画像内の座標空間に対して相対的な一連のクラッタテストポイントを発生し、このトレーニング画像はクラッタ限界値を下回る空白部のレベルを有するトレーニング画像内の位置に基づく情報を含んでいる。クラッタ限界値は既定のパラメータとトレーニング画像内の情報に基づいて確定される。実行時クラッタ決定器は、クラッタテストポイントの位置を実行時姿勢に基づいて実行時候補画像にマッピングし、各々の位置で空白部のレベルを計算して取得された画像の少なくとも一部でクラッタのレベルを決定する。実行時候補画像内の空白部のレベルは、それぞれの位置で決定された勾配度に基づくことができる。クラッタ利用器は、決定されたクラッタレベルを用いて、決定されたクラッタレベルに基づく実行時候補画像と関連する表面を基準として既定の動作を行う。例を挙げれば、既定の動作は、部品拒否、警報の発生、品質データの送信及び動いているラインの停止の少なくとも１つを含んでいてもよい。少なくとも１つの既定のパラメータは、ユーザによって入力されることができる。クラッタ決定器は、各々の位置でクラッタスコアを生じることができる。クラッタ決定器は、各々の位置に対するクラッタスコアを合計して実行時候補画像に対する全体クラッタスコアを生成する。情報は関心のある特徴を含むことができ、さらにトレーニング画像と実行時候補画像の各々において関心のある特徴の少なくとも一部の位置に基づいて実行時姿勢を決定するアライメントツールを含んでいてもよい。
【０００９】
以下に本発明について添付の図面を参照して説明する。
【図面の簡単な説明】
【００１０】
【図１】クラッタを表すスマッジが存在する模範的テキストを含む対象物の表面の画像を取得するように配置されたビジョンシステムの図である。
【００１１】
【図２】取得された実行時画像におけるクラッタの存在又は不在を決定する際に使用するためのモデル画像に基づいてクラッタテストポイントを確定するためのトレーニング手順のフローチャートである。
【００１２】
【図３】図２のトレーニング手順で使用するＣｌｕｔｔｅｒＰｉｘｅｌＣｏｕｎｔ及びＴｒａｉｎｉｎｇＰｉｘｅｌＣｏｕｎｔに対する値を確定するための手順のフローチャートである。
【００１３】
【図４】クラッタテストポイントの数を制限値に基づく最大ポイント数に制限するための手順のフローチャートである。
【００１４】
【図５】クラッタテストポイントが実行時画像にマッピングされ、それに基づいてクラッタの存在又は不在が決定される実行時クラッタ決定手順のフローチャートである。
【００１５】
【図６】図５の実行時クラッタ決定手順に使用するためのクラッタスコア決定手順のフローチャートである。
【００１６】
【図７】一連の模範的な文字及び数字を記したトレーニング画像／パターンを示すディスプレイの図であり、それぞれトレーニング画像上の関心のある顕著な特徴とその上にある空白領域のエッジの輪郭を描く規則的な画像特徴プローブと特徴のないクラッタテストポイントの生成を含む。
【００１７】
【図８】プローブとクラッタテストポイントの存在を示す図７の一部を拡大したディスプレイの図である。
【００１８】
【図９】トレーニングパターンプローブとクラッタテストポイントとのアライメント、及びトレーニングパターンと実行時候補画像の特徴との間の模範的な相反する特徴（文字）の存在を示す取得された実行時候補画像ディスプレイの図である。
【００１９】
【図１０】トレーニングパターンの特徴プローブ及びクラッタテストポイントと比べて取得されたパターン上の特徴（文字）の相違を示す、図７の画像の一部を拡大したディスプレイの図である。
【発明を実施するための形態】
【００２０】
図１は、ビジョンシステムカメラアセンブリ１２０の視野（ＦＯＶ）内で撮像された対象物表面１１０上の特徴１１２の検査及び／又は分析に使用するマシンビジョンシステム配置構成（単に「ビジョンシステム」とも呼ぶ）１００を示す。カメラアセンブリ１２０はコンポーネントの任意の容認可能な配置構成であってよく、典型的にはレンズアセンブリ１２２と、ＣＣＤ又はＣＭＯＳなどの任意の容認可能な撮像技術に基づいてイメージセンサ（又は「イメージャ」）１２６を収容したカメラ本体１２４を含む。イメージャ１２６は、シーンをグレースケール又はカラーで感知するように適合され得る一連の画像ピクセルにより画像を２次元（例えば高さＨ及び幅Ｗ）で取得するように配置構成できる。カメラ本体は、関連するビジョンプロセスを操作するビジョンプロセッサ１３０を構成する種々の画像処理コンポーネントを含むことができる。ビジョンプロセッサはシーンの取得された画像に作用し、ビジョンシステムツール及びプロセス１３２を用いて取得された画像から情報を抽出できる。この情報は関心のある特徴及び画像内に出現する他の特色に関するものであることができる。例えばコグネックス社（マサチューセッツ州ネイティック）から市販されている周知のＰａｔＭａｘ（Ｒ）システムなどのビジョンシステムツールを用いて、画像内の特徴を分析し、相対的姿勢、アライメント及び他の詳細に関する情報、例えばエッジ、ブロブなどを提供できる。ビジョンシステムプロセスの一部又は全部は、カメラアセンブリ１２０の本体１２４内で作成できる。プロセスの一部又は全部は、適当なユーザインタフェース１４２とディスプレイ１４４、１４６及びディスプレイ１４８を備えて（破線の矢印１３４で示されているように）相互接続された（有線又は無線の）コンピュータデバイス／プロセッサ、例えば専用プロセッサ又は汎用コンピュータ（例えばサーバ、ＰＣ、ラップトップ、スマートフォン、タブレットなど）１４０によって実行され得ることが明確に想定されている。相互接続されたコンピュータデバイス／プロセッサ１４０は、処理された画像データを用いて以降の利用タスク（即ち「利用素子」又は「利用器」プロセスの使用）１５０を実効できる。例えばビジョンシステムが検査タスクを実行する場合は、品質管理情報をデータベースに供給し、又はライン上の不良品を拒否するために情報を使用できる。情報はまた（例えば）対象物上のラベル及び／又はＩＤコードを読むことによって物流管理用途にも使用できる。画像データ及び関連する情報を用いてその他様々な利用タスクを行うことができる。
【００２１】
例示的な実施形態において、ビジョンプロセス及びプロセッサはクラッタ決定プロセス／プロセッサ１６０を含む。これは本明細書に記載された実施形態に従い取得された画像内のクラッタのレベルを決定する働きをする。クラッタは一般的に、トレーニングされたパターンに従えば画像において存在すべきではない画像内の情報と見なされる。クラッタの１例は、所望の印刷されたパターン１７２と関連したスマッジ（例えば濁ったエリア１７０）である。一般に、最も慣用的なサーチツールはトレーニングされたパターンの存在を探し、それが見出されたら成功を示す結果を返す。しかしながら対象物表面の画像内にクラッタ又は他の望ましくない「ノイズ」がある場合には、所望の／トレーニングされたパターンが存在するかもしれないが、全体画像はなおも（追加のノイズ又はクラッタのために）欠陥を示し、その結果ユーザは当該対象物を不良品として拒否することになろう。別の例を挙げると、パターン−例えば印刷された「Ｐ」−をサーチして、サーチツールが適切にＰの要素を見出したとしても、画像内には別の要素−例えば印刷された「Ｒ」を示す右下の棒が存在することを無視する。右下の棒は「クラッタ」の一形態と見なされることがある。したがって画像内のそのような「クラッタ」のレベルを決定して、そのような「クラッタ」のレベルに基づいて撮像された対象物表面が容認可能であるか又は容認不可能であるか（さらにはビジョンシステムによって適切に記録されているか）の基礎を形成することは望ましくもあり課題でもある。
【００２２】
画像内のクラッタのレベルを決定する際に、システムは最初にトレーニング画像データ１８０を提供するが、これは典型的には関心のある特徴（例えば印刷）を含み、実際のトレーニング対象物表面の取得された画像及び／又は合成画像データに基づくことができる。即ち、トレーニング画像及び関連するトレーニングパターンは、（例えば）ＣＡＤモデル、合成正方形などで提供される記述によって規定されてよい。したがって「トレーニング画像」及び「トレーニングパターン」という言葉は広く解して、一般的にピクセル値に頼らずに規定されるデータセットを含むものとする。図１に示されているように、システムはトレーニング時操作と実行時操作のためにユーザから種々の入力パラメータ１９０も受け取るが、これについては以下に説明する。
【００２３】
図２を参照すると、これは以下に記す後続の実行時クラッタ決定手順で使用されるトレーニング画像を確定する手順２００を示している。ステップ２１０で、実際のトレーニング画像又は合成トレーニング画像がシステムに供給される。トレーニング画像はピクセルの２次元（２Ｄ）配列として整えられ、それぞれ座標（ｘとｙ）及び関連する強度値（例えば多色／色強度が存在する場合）を有する。或いは他の値、例えば高さマップにおける高さが与えられた座標におけるピクセルを記述できる。追加的に、トレーニング画像は少なくとも１つ関心のある特徴−例えば対照的エッジと既定の形状を定義する印刷及び／又はグラフィックを含むことができる。画像はカメラアセンブリ（又は他のカメラ配置構成）によってマップ物理的モデルから取得でき、又はユーザが関心のある特徴に対する既定の形状、例えば与えられたサイズ／縮尺の既定の円、正方形、文字などを用いて合成して、トレーニング画像に挿入できる。
【００２４】
ステップ２２０では、手順２００はトレーニング画像内の最大勾配度に基づいてクラッタ限界値を提供する。この限界はユーザ入力又はシステム供給パラメータとして提供されてよい。或いは、限界は計算されてもよい。
【００２５】
ステップ２３０で、手順２００はトレーニング画像内の各々指定された位置と関連してクラッタテストポイントを生成する。これらの位置はピクセル位置に基づくか、又はサブピクセル位置に関連することができ、或いは一般的にトレーニング画像に対して相対的な任意の容認可能な座標空間で確定され得る。各々のクラッタテストポイントは、勾配度がクラッタ限界値よりちいさいそれぞれの位置で確定される。換言すれば、クラッタテストポイント（「クラッタプローブ」とも呼ぶ）は、勾配度（又は画像特徴／特性の他の指標）に対する測定値／分析値が与えられた限界を下回る画像内の弱いエッジに適用される。
【００２６】
例を挙げれば、手順は特に例示的な実施形態に従うクラッタ決定に適合されたシグモイド応答関数の確定を含む。非限定的な例を挙げれば、シグモイド応答関数は次式によって表すことができる。
１／（１＋（ｔ／ｘ）１／σ）
ここで、入力ｘは関数に与えられ、ｔは「ソフトな」限界値である。ｘ及びｔの値は同じ単位、例えば勾配度である。ソフトな限界は、シグモイド出力が１／２である値を指定する。加えて、０から１へのシグモイド移行率は、典型的にσと呼ばれるパラメータによって制御され得る。ソフトな限界ｔは、このクラッタ応答関数シグモイドの中心点を定義する。ソフトな限界ｔに対する値は、０．０１などのデフォルト値によって定義され得るか、或いはｔはユーザによって異なるパラメータ値として特別に入力されてよい。ソフトな限界ｔは、他のビジョンシステムアプリケーション／プロセス（例えばやはりコグネックス社から市販されているＰａｔＭａｘ（Ｒ）又はＲｅｄＬｉｎｅＴＭ）におけるノイズ限界値と類似に設定される。したがってそのようなノイズ限界を決定及び／又は入力するために使用されるメカニズム及び技術は当業界で通常の技術を用いて、システムに値ｔを指定／入力するために応用できる。追加的に、例示的な実施形態において、上記のシグモイド応答関数に含まれるσに対する値は、次の模範的な式によって提供され得る。
σ＝ｌｏｇｔ／−３
ここで、ｌｏｇは１０を底とする対数であり、ｔは限界を勾配度０〜１として表す。この式は代替的な実施において極めて可変的である。上記の非限定的な例により与えられた特定の関係は、有意味な限界の全範囲にわたりシグモイド関数に対する望ましい応答を提供する。即ち、σに対する模範的な式により、限界が高いと応答関数「立ち上り」はより緩やかになるが、応答を単純な直線的応答に過度に近くなるほど遅くすることはない。とりわけ、上述したシグモイド応答関数採点を用いると、手順はパラメータ／可変クラッタ・スコア・カットオフで表される値の出力を生み出すような入力勾配度を決定できる。
【００２７】
一般に、クラッタ限界値に対する上述した値は、ビジョンシステムプロセスにおけるノイズ限界と同様に、例えばヒストグラムを用いて計算できる。この場合手順は、勾配度がクラッタ限界値より小さい微妙な勾配の画像において、トレーニングマスク（もしあれば）内で「存在」（又は他の類似のフラッグ）と標識されている各ピクセルに対してクラッタテストポイントを生成する。そのようなものとしてシステムは（後の実行時分析のために）実行時に低い勾配度を持つべきトレーニング画像／パターン上の位置、したがってクラッタテストポイントを提供することが可能な位置を考慮する。
【００２８】
画像の領域が画像の分析にとって重要ではないと見なされたら、クラッタテストポイントの位置からマスキングできることに留意されたい。
【００２９】
図２のステップ２３０と図３を参照して、クラッタのテストポイントの生成は（サブ手順３００に従い）ＭａｘＣｌｕｔｔｅｒＰｉｘｅｌｓの設定値に従う画像内の最大クラッタポイントカウントに制限できる。非限定的な例を挙げれば、デフォルト値１０，０００を採用できる。そのようなものとして、この制限なしに生成されるべきクラッタテストポイントの総数（即ちステップ３１０におけるＣｌｕｔｔｅｒＰｉｘｅｌＣｏｕｎｔ）は、ステップ３２０におけるＭａｘＣｌｕｔｔｅｒＰｉｘｅｌｓの値で除算される。例示的にこの値の平方根を計算する。例えば計２０，０００クラッタテストポイントが生成されるべきであり１０，０００が最大であるならば、結果として生じる係数ｎは（１０，０００／２０，０００）１／２又は１．４１４となる。こうして手順３００はステップ３３０で、１．４１４番目毎のピクセル（又は座標空間における他の位置、例えばサブピクセル）を水平方向と垂直方向の両方でチェックし（最近傍ピクセルに丸める）、手順（図２のステップ２３０）は限界を下回る空白部（トレーニング時の「デッドスペース」とも呼ぶ。これは実行時画像の当該位置に予想されなかったデータが存在する場合は実行時に「クラッタ」となる）に対するピクセル／位置のみをテストする。この手順３００は全画像データの１／ｎをサンプリングする。サンプルはＭａｘＣｌｕｔｔｅｒＰｉｘｅｌｓ値の近似であろう。画像内のクラッタテストポイントの数を制限するために他の様々な技術を採用できることは明白であろう。一部の技術は予想された特徴又はその欠如のためにある領域を画像から省略し、又はあるエリアのカウントを重み付けすることを含んでいてもよい。次に手順３００はステップ３４０において、ステップ３３０で与えられたピクセル／位置に基づいてトレーニング画像内におけるクラッタテストポイントの位置を確定する。これらは手順２００のステップ２４０（図２）に従いリファイナに保存される。
【００３０】
図４のサブ手順４００も参照すると、ステップ２４０（図２）でクラッタテストポイントを保存すると、ステップ４１０でもシステムは、２次クラッタシグモイド曲線上でクラッタ限界値を下回る精緻なトレーニングピクセル／位置の数を計算して（又は他の方法で確定して）、この値をリファイナにＣｌｕｔｔｅｒＰｉｘｅｌＣｏｕｎｔ値として保存する。同様にステップ４２０で、既定の勾配度限界を上回る値を有する精緻なピクセル／位置の数がリファイナにＴｒａｉｎｉｎｇＰｉｘｅｌＣｏｕｎｔとして保存される。この値は多様な方法で確定され得る。ステップ４３０で、上述したようにＣｌｕｔｔｅｒＳｃｏｒｅＣｕｔｏｆｆに対する値もリファイナに保存される。
【００３１】
図５は、取得された画像（候補画像）がそれに含まれるクラッタのレベルを決定するために採点される実行時手順５００を示す。ステップ５１０で、実行時分析のために画像がカメラアセンブリ１２０（図１）によって取得されて保存又は他の方法でシステムに供給される。手順５００はステップ５２０で画像に対するカバレッジスコア（素点）を計算する。素点が「容認」限界を下回る場合は、実行時候補画像は捨てられて、「拒否」ステータスを示す次の画像が分析される。このステップは随意であり、省くことができ、手順５００を通してすべての画像が処理され得ることに留意されたい。或いは、全画像分析プロセス／手順の異なる時点にステップ５２０が提供されてよい。カバレッジの計算、規則的な画像「プローブ」及び生成、及び実行時に画像をアライメント／採点するための他のメカニズムは、以下に述べる市販のツール及びプロセス（例えばコグネックス社ＰａｔＭａｘ（Ｒ）、ＲｅｄＬｉｎｅＴＭなど）を用いて実現できる。実行時マスクは、実行時にクラッタとしてマスキングされた実行時候補画像の領域を採点することを避けるために使用できることにも留意されたい。ここで留意すべきは、少なくとも基本的登録プロセスは実行時画像の座標空間をトレーニングパターンの座標空間とアライメントするために使用されることである。これにより実行時画像の「姿勢」を確定することが可能になる（ステップ５３０）。
【００３２】
ステップ５４０で、実行時画像の見出された「姿勢」を用いてクラッタテストポイントを最近傍の実行時画像の座標空間にマッピングする。ステップ５５０で、手順５００は各クラッタテストポイントについて、実行時勾配度を上述したシグモイド関数に通して、０に固定された結果からＣｌｕｔｔｅｒＳｃｏｒｅＣｕｔｏｆｆに対する値を減算することによって採点する。次に（非限定的な例で）この結果に（１．０／（１．０−ＣｌｕｔｔｅｒＳｃｏｒｅＣｕｔｏｆｆ））を乗算して、スコア空間が正規化されるように（即ち０と１の間で）リスケーリングする。代替的な実施形態において他の正規化技術（又は非正規化）も採用できることに留意されたい。種々の実施形態において減算、固定及び縮尺変更を直接含むようにシグモイド正規化表を修正して、実行時にこれらの操作を不要にできることに留意されたい。
【００３３】
計算されたスコア情報により、手順５００はステップ５６０に従いクラッタのレベルを供給することが可能となる。１実施形態において、さらに図６を参照して、手順６００はステップ６１０でマッピングされたすべてのクラッタテストポイントからのクラッタスコア値を合計する。次にステップ６２０でその結果生じた合計を保存された値ＴｒａｉｎｉｎｇＰｉｘｅｌＣｏｕｎｔで除算し、それによりステップ６３０で画像に対する全クラッタスコア（ＣｌｕｔｔｅｒＳｃｏｒｅ）を導出する。結果として生じるおおまかな平均値を得るために値ＣｌｕｔｔｅｒＰｉｘｅｌＣｏｕｎｔの代わりに値ＴｒａｉｎｉｎｇＰｉｘｅｌＣｏｕｎｔで除算することにより、カバレッジ値１は可能な「正しい」ピクセル／位置と同じ数の画像内のクラッタピクセル／位置を与えることが仮定される。最終的に報告されるスコアは（ＣｏｖｅｒａｇｅＳｃｏｒｅ−ＣｌｕｔｔｅｒＦａｃｔｏｒ＊ＣｌｕｔｔｅｒＳｃｏｒｅ）で０に固定されており、クラッタ係数ＣｌｕｔｔｅｒＦａｃｔｏｒのデフォルト値は０．５である。
【００３４】
ステップ５７０で、実行時候補画像におけるクラッタスコア又はクラッタのレベルに関する他の情報は、（随意の）下流プロセス及びタスクによって利用されて種々の動作、例えば（これに限らない）生産ラインの停止、警報の発生、品質管理データの保存及び／又は部品拒否を実行できる。
【００３５】
模範的な印刷１７０と所望された印刷領域を超えて延びるスマッジ１７２を有する上記の表面１１２（図１）の例では、トレーニングされた画像は関心のある特徴として印刷された画像を含み、スマッジが発生する領域はトレーニング画像に対する「デッドスペース」領域と見なされる。トレーニング画像／トレーニングされたパターンにおいて、この領域で予想される空白部に基づいてクラッタテストポイントが確定される。実行時にスマッジを伴って表示された画像は一般的に限界レベルを上回る勾配度を生じ、それによって、全画像におけるクラッタ及び欠陥を示すクラッタスコアを生成させる。したがって表示された表面１１２の分析画像は欠陥を示すのに十分なクラッタスコアを生み出し、下流の利用タスクはこの結果に対処するために適当な措置を講じるであろう（例えば部品拒否及び／又は警報）。
【００３６】
ここで、トレーニング画像（それぞれ原寸図と拡大図）のディスプレイ７００を示す図７及び図８を参照すると、関心のある特徴は文字７１０と数字７２０であり、それぞれ相応に高い勾配度を有する強いエッジ７１２及び７１４を画定している。エッジ７１２および７１４は空白部７３０のエリアによって囲まれている。これらの領域の間に一連の規則的な非クラッタ画像プローブ８１０が置かれており、勾配の方向を表す矢印によって表現されている（図８に拡大して示す）。これらのプローブはエッジから空白部に向う方向で実質的に各エッジ７１２、７１４を囲んでいる。プローブ８１０の間隔は一部最大ポイントカウントへの制限の関数である。ポイントは空白部と出会う箇所で強いエッジを適当に界接するのに十分である。空白部内には本質的に設定された間隔を置いた「関心ポイント」８２０である一連のクラッタのテストポイントがある。これらのポイント８２０は方向を持たない。図８には（プローブ矢印ポイント８１０で界接された）「関心のある特徴」に対する顕著なエッジではなく、「特徴のない」ポイント（矢印のないクラッタテストポイント８２０）でもない領域（例えば印刷要素の端部８３０及び８４０）が存在することに留意されたい。これらは弱いが存在する（低い勾配度）エッジであり、クラッタテストポイントとは関連していない。
【００３７】
画像内の特徴及び／又は空白部の位置を特定するために勾配度を使用することは、当業者にとって明白であるはずの多様な技術の１つであることに留意されない。例えば代替的技術は画像上でソーベル演算子分析を実行し、次にエッジ連鎖プロセスを実行して特徴の存在／不在を決定するための連鎖がないエリアをサーチすることを伴う。このように画像における空白部／空白領域の決定は、広く解して多様な技術を含むものとする。
【００３８】
図９及び図１０を参照すると、ディスプレイは、カメラアセンブリ１２０（図１）によって取得された実行時候補画像９００を表示している。プローブ及びクラッタテストポイントが候補画像９００の上に重ねられており、十分な一致が存在している。例えば印刷された上列の数字０、１、２及び下列の３、４、／５、６は、（プローブによって画定された）トレーニングパターンと候補画像９００の特徴／エッジとの間のアライメント及びマッピングを提供する。しかしながら取得された候補画像９００上の文字Ｑ、Ｒ、Ｓは、それぞれＰ、Ｑ、Ｒであるトレーニングされたパターンプローブと一致しない。特に図１０の拡大図を参照すると、取得された候補文字Ｑ９１０は、文字Ｐの輪郭を描くプローブ１０１０と一致しておらず、一部のクラッタテストポイント１０２０は印刷された特徴内にあり、勾配が小さいか又は存在してはならない箇所で顕著な勾配度を示している。こうしてプローブ１０１０及びクラッタテストポイント１０２０をサンプリングすれば、勾配度は予想された値と一致せずに、クラッタと見なされるであろう。したがって候補画像は高いクラッタスコアを持ち、拒否されるであろう。この事例では高いクラッタの存在が実際上アライメント及びパターン認識ツール、並びに純粋な欠陥検出ツールとして用いられている。しかしながら実行時候補画像内のすべての印刷された文字がトレーニングされたパターン内のポイントと一致したが、追加のスマッジ又は異質の印刷が存在した場合も類似の結果になるであろう。そのようなスマッジ又は印刷は、勾配が小さいか又は勾配のない空白部が存在すべき箇所で勾配度を示すであろう。実行時画像の分析において規則的なプローブを省き、クラッタテストポイントのみに依拠してトレーニングパターンと実行時パターンの間の容認可能な（一時的）一致を決定することが可能であることに留意されたい。クラッタテストポイントが勾配度の高いエリアにあると（空白部が存在すべき箇所におけるクラッタを表すパターン要素があるためクラッタスコアは高い）、画像は一致しない。
【００３９】
クラッタテストポイント・トレーニングパターンを生成することにより、実行時候補画像上の好ましくない特徴を高速かつ高い信頼性をもって検出できることは明白であろう。このアプローチは、徹底したプロセッサ／時間集約的な分析を行う前に候補の容認又は拒否を可能にし、それによって操作効率及び処理速度を増大させる。
【００４０】
以上、本発明の例示的な実施形態を詳細に説明した。本発明の精神と範囲を逸脱することなく種々の改変及び追加を行うことができる。上述した種々の実施形態の各特徴は、関連する新しい実施形態において多数の特徴の組み合わせを提供するのに適する限り、別の記載された実施形態の特徴と組み合わされてよい。さらに、上に本発明の装置と方法の多数の別個の実施形態を記したが、ここに記載されたものは本発明の原理の応用を例示したものに過ぎない。例えば本明細書中で使用される様々な方向及び向きを表わす言葉（及びそれらの文法的派生形）、例えば、「垂直」、「水平」、「上」、「下」、「底部」、「頂部」、「側部」、「前部」、「後部」、「左」、「右」、「前方」、「後方」およびこれに類するものは、相対的な表現法として用いられているに過ぎず、重力の作用方向などの固定した座標系を基準とした絶対的な向きを表わすものではない。さらに、表現されたプロセス又はプロセッサは他のプロセス及び／又はプロセッサと組み合わせ、又は種々のサブプロセス又はプロセッサに分割されてよい。そのようなサブプロセス及び／又はサブプロセッサは、ここに記載する実施形態に従って多様に組み合わせることができる。同様に、ここに記載された何らかの機能、プロセス及び／又はプロセッサは、プログラム命令の非一時的コンピュータ可読媒体からなる電子ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組合せを用いて実施できることが明確に想定されている。従ってこの説明は例示の方法によるものであり、本発明の範囲を別途制限することを意味するものではない。
【図１】
2018152081.tif 000003
【図２】
2018152081.tif 000004
【図３】
2018152081.tif 000005
【図４】
2018152081.tif 000006
【図５】
2018152081.tif 000007
【図６】
2018152081.tif 000008
【図７】
2018152081.tif 000009
【図８】
2018152081.tif 000010
【図９】
2018152081.tif 000011
【図１０】
2018152081.tif 000012
【外国語明細書】
2018152081000001.pdf