傷検出

傷検出ビジョンツールの SurfaceFlaw 関数、DetectFlaw 関数、FlexFlawModel 関数および TrainFlawModel 関数は、欠陥の有無を検証するための高度なパターン一致分析の実行に使用されます。

傷検出ビジョンツールの SurfaceFlaw 関数は、登録モデルを使用せずに、ピクセル明度のばらつきに基づいて小さな欠陥を検出するために使用されます。このツールは、グレースケール画像またはカラー画像から、傷、刃こぼれ、裂け目、汚れまたは破片などの欠陥を検出するように設計されています。

傷検出ビジョンツールの DetectFlaw 関数、FlexFlawModel 関数および TrainFlawModel 関数は「ゴールデン」部品、つまり完全な部品に基づくモデルを作成してから、高度なパターン一致アルゴリズムを使用してこのモデルと取り込んだ画像を比較し、エッジの欠落や表面の傷、正しく印刷されていないロゴなどの欠陥の有無を判断します。

In-Sight ビジョンシステムは、傷検出ビジョンツールの次の関数を使用して、詳細な欠陥検出分析を実行します。

  • SurfaceFlaw 関数: 欠陥の有無を判断するための画像内のローカルな明度のばらつきを検出します。
  • DetectFlaw 関数: 取り込んだ画像とモデルを比較したときに欠陥の有無を判断するためのパラメータを作成します。
  • FlexFlawModel 関数: プロセスばらつきを補正するためのオプションの Flex アルゴリズムを作成します。
  • TrainFlawModel 関数: 「ゴールデン」部品のモデルを作成します。
:  FlexFlawModel 関数は、TrainFlawModel 関数によって出力されたデータ構造体を参照する必要があります。DetectFlaw 関数は、TrainFlawModel 関数または DetectFlaw 関数によって出力されたデータ構造体を参照することがあります。

In-Sight について傷検出ツール

傷検出ビジョンツールは、SurfaceFlaw 関数および、DetectFlaw 関数、FlexFlawModel 関数、TrainFlawModel 関数の、2 つのツールグループによって構成されています。

傷検出ビジョンツールの SurfaceFlaw 関数

概要

SurfaceFlaw 関数は、生産プロセスにおける欠陥である、ローカルな明度のばらつきとカラーのばらつきのある領域を検出するように設計されています。この関数は、ブロブ解析を適用して欠陥の有無を判断する前に、内部のフィルタ操作を使用して、最初にカラーまたはグレースケールに急な変動のあったエッジと領域をハイライトします。

SurfaceFlaw 関数はスタンドアローン関数です。モデルを使用する必要がないため、設定が簡略化され実行時間が改善されます。モデルを組み込まないため、この関数は実行時の照明のばらつきを考慮し、欠陥を正確に検出することができます。ただし、DetectFlaw 関数、FlexFlawModel 関数、および TrainFlawModel 関数が持つような、発生する可能性のあるばらつきを補正する機能はないため、部品のプロセスのばらつきを調整することはできません。このため、SurfaceFlaw 関数は、検査される部品の領域が均一である、つまり、明度に急な変動があると欠陥として分類されるアプリケーションに適しています。部品に明度のばらつきがある場合、そのほかの傷検出関数によってそうしたばらつきが考慮される必要があります。

:  SurfaceFlaw 関数は、Mask 関数によって出力されたマスクデータ構造体を受け入れます。これにより、画像内の指定した領域のみを検査することができます。

傷検出ビジョンツールの DetectFlaw 関数、FlexFlawModel 関数 および TrainFlawModel 関数

概要

傷検出ツールの DetectFlaw 関数、FlexFlawModel 関数および TrainFlawModel 関数は、欠陥が存在するかどうかを検証するための高度なパターン一致分析を実行するように設計されています。このツールの関数は、モデルの「引き伸ばし」(発生する可能性のあるばらつきを補正するように関数に指示すること) および画像の減算を組み合わせて、取り込まれた画像と比較する詳細モデルを作成し、取り込まれた画像に欠陥が存在するかどうかを判断します。このアーキテクチャでは、関数は実行時にモデルを動的に更新する機能を提供します。

これらの関数を組み合わせて、次の種類の検査を実行することができます。

  • 境界線の欠陥 - 部品や対象物が同じ形状を維持していることを確認します。
  • 表面の欠陥 - 部品や対象物に汚れや傷がないことを確認します。
  • 印刷の検査 - 部品や対象物にロゴが正しくシルクスクリーン印刷され、欠陥がないことを確認します。

モデルの作成

すべてのアプリケーションと同様に、「良好」と「不良」の両方の状態の部品が含まれる部品の画像のデータベースが最初にロードされます。傷検出ツールの使用を開始するには、最初に、検査する対象物や部品の画像を取り込みます。この対象物や部品は、検査される対象物や部品を「ゴールデン」として、つまり完全に表現したものです。これによって、対象物や部品の正しい特徴がすべてオリジナルのモデルに含まれていることが確認されます。画像の取り込み後、TrainFlawModel 関数がスプレッドシートに追加され、画像内の対象物や部品を定義するために、この関数の内部領域、または外部領域やパスへの参照のいずれかが指定されます。モデルが適切に定義されるように、すべてのパラメータを調整すると、この関数によって、モデルに関するデータがすべて格納されるようになります。

傷検出

登録モデルの準備ができたら、DetectFlaw 関数を使用して、取り込まれた画像に現れる対象物や部品内の欠陥を分類できるようになります。DetectFlaw 関数は TrainFlawModel 関数に格納されたモデルデータと取り込まれた画像を比較し、対象物や部品に面積欠陥またはエッジ欠陥、もしくはこの両方が存在するかどうかを判断します。領域の検査では、対象物や部品の表面上の傷や汚れなどの欠陥の有無が検証されます。また、エッジの検査では、余分なエッジ、またはエッジの欠落がないかどうか、また対象物や部品の境界線が一定であるかどうかが検証されます。領域とエッジの欠陥検査を組み合わせることによって、最高レベルの検査を行うことができます。

DetectFlaw 関数には、実行時に特定の欠陥を無視するようにマスクを動的に調整するためのコントロールも含まれています。

モデルの Flex 化

対象物や部品に歪みまたはプロセスばらつきが生じる場合、必要に応じて、FlexFlawModel 関数を使用して、歪みやプロセスばらつきを補正するための Flex アルゴリズムを作成することができます。FlexFlawModel 関数を使用して、モデルを「引き伸ばし」する、つまり部品で発生する可能性のあるばらつきの範囲がより広くなるようにモデルを修正し、DetectFlaw 関数がこのばらつきを欠陥として分類しないようにすることができます。

用語の定義:

  • エッジピクセル: 異なるピクセル値を持つ 2 つの領域間の境界線上に位置する画像内のピクセル。
  • エッジセグメント: 異なるピクセル値を持つ領域間の連続する境界線。エッジセグメントは、エッジピクセル (つまり、「エッジ特徴」) のリストによって表されます。
  • Flex: 位置決めエラー、レンズや遠近歪み、登録エラー、またはそのほかの通常のプロセスばらつきによって引き起こされるエッジピクセルとエッジセグメントの変位。
  • 囲まれたセグメントおよび囲まれたセグメント Flex: 囲まれたセグメントは、始点と終点が同じエッジセグメントです。また、囲まれたセグメント Flex は囲まれたセグメントの変位です。
  • 線分 Flex: 線分はエッジセグメントの一部です。これは囲まれていることもあり、囲まれていないこともあります。線分 Flex は線分の変位です。
  • ピクセル Flex: エッジピクセルの変位。
  • Flex 解像度: Flex に対する訂正が適用されるときに、モデル画像およびマスク画像に適用される倍率。解像度が高いほど、より正確に非線形歪みを処理できるようになりますが、消費されるメモリの量も増加します。
  • マスク/マスキング: 処理中に無視されるピクセル位置の集合。ピクセル値に関係なく、マスクされたピクセルが欠陥を生成することはありません。

    :  傷検出ツールが持つマスク/マスキング機能は EditCompositeRegion 関数で適用される機能とは異なります。EditCompositeRegion 関数は通常、不規則な対象領域 (ROI) を定義し、画像の領域を除外するために使用されます。一方、傷検出ツールで使用されるマスキングは、モデルを作成するときのピクセルグレースケール勾配値を決定するために計算されます。
  • 面積欠陥: 登録モデル画像のピクセルと取り込まれた画像を比較し、ピクセル値 (グレースケールまたは色の明度) が同じであるかどうかを検証することによって検出される欠陥のタイプ。面積欠陥は通常、ブロブ状で、変色、染み、汚れ、または縞を含むことがあります。
  • エッジの欠落の欠陥: あらかじめ登録しておいたエッジセグメントが、取り込まれた画像に存在しないときに発生する欠陥のタイプ。エッジの欠落という欠陥には、通常、部品の外形の変化や特徴の欠損などの欠陥が含まれます。
  • 余分なエッジの欠陥: 取り込まれた画像に現れているエッジセグメントが、登録されているエッジセグメントには存在しないときに発生する欠陥のタイプ。余分なエッジの欠陥には、通常、余分な特徴、傷、裂け目などの欠陥が含まれます。
  • モデル画像: 登録中に保存された画像。モデル画像は、面積欠陥を検出するために、取り込まれた画像と比較されます。
  • マスク画像: マスクされたピクセルの位置と値、およびマスクされたエッジセグメントの位置を表します。マスク画像には、EditCompositeRegion 関数の形状やそのほかの非矩形形状によって除外された画像の領域は含まれません。
  • 残余画像:  取り込んだ画像をモデル画像およびマスク画像と比較することによって作成される画像。この画像は、面積欠陥を検出するために生成されます。