欠陥検査 - FFD(Flexible Flaw Detenction)

In-Sight の FFD ツールで欠陥検査ができます。FFD は、良品モデル画像と検査時画像との差を調べ、余分な部分、欠けている部分、色が違う部分、を欠陥として検出します。

FFD は Flexible Flaw Detection (非線形変化に対応した欠陥検出)です。スプレッドシートで使えます。EasyBuilder では使えません。

In-Sight Explorer にて、スプレッドシートで始めるために、[表示] – [スプレッドシート] を選びます。次に、スプレッドシートを初期化するために、[ファイル] – [ジョブの新規作成] を選びます。

ツールの配置と設定

A0: AcquireImage、画像

A2: TrainPatMaxPattern、位置決めモデル

模様を1つモデル登録します。位置決めして、カメラ撮像時の、対象物の移動を補正します

A4: FindPatMaxPatterns、位置決め

パターンに $A$2 を指定します。サーチ領域を、繰り返し模様1つの縦横2倍の広さにすれば、対象物が移動しても、必ず1つ見つけます

A6: EditCompositeRegion、検査領域

フィクスチャに、位置決め結果の、行、列、角度を指定します。フィクスチャの指定後、最初に、領域が画像の外に現れるので、画像を縮小表示して、領域グラフィックを見つけます。検査したい領域になるようにグラフィックを調整します。領域選択にて、マウス右クリックで、サブ領域の追加や削除が行えます

A8: TrainFlawModel、FFD モデル

外部領域に $A$6 を指定します。エッジマスクサイズを設定します(例えば3)。必要ならば、最小エッジ強度、最小エッジ長さ、を調整します

A10: FlexFlawModel、オプションの Flex アルゴリズム

登録傷モデルに $A$8 を指定します。必要ならば、フレックスパラメータを調整します

FlexFlawModel は、指定した画像の解像度でエッジを抽出し、モデルと比較し、初期得点を出力します。次に Flex アルゴリズムを適用し、最終得点を出力します。この伸縮処理により、DetectFlaw でより良い欠陥検出が行えます

A12: DetectFlaw、欠陥検出

傷モデル参照に $A$10 を指定します。外部領域に $A$6 を指定します。欠陥パラメータを調整します。一般的な検査では、面積欠陥タイプを使い、エッジ欠陥タイプはなし、にします。正規化をチェックします。最小コントラストと最小面積サイズで、欠陥の検出を微調整します

画像の解像度は FlexFlawModel のものが使われます。ボタンイベントを追加して、現在の欠陥をマスクし、次の検査から除外することもできます

カメラ撮像時に対象物が移動しても、位置決めしているので、検査領域を追従させ、良品モデル画像との差を調べ、欠陥を検出することができます

①検出した欠陥、面積=22、コントラスト=65

②検出した欠陥、面積=16、コントラスト=90

③検出した欠陥、サイズ=124、コントラスト=75

非線形変化があまりない対象物では、Flex アルゴリズムを省略できます。そのときは、A10 に DetectFlaw を配置し、傷モデル参照に $A$8 を指定します

EditCompositeRegion(と FlexFlawModel)を使わないときは、次のようにします。TrainFlawModel で(良品モデル)領域を指定します。フィクスチャに、位置決め結果の、行、列、角度を指定します。DetectFlaw で(検査)領域を指定します。TrainFlawModel の領域よりも若干広くします。検査領域は、傷モデル参照に指定した TrainFlawModel と同じフィクスチャが自動的に使われるので、対象物が移動しても、追従します

精度を必要としない検査ならば、In-Sight EasyBuilder でも可能です。[位置決めツール]-[PatMaxパターン]で位置や角度を検出します。[画像フィルタツール]-[比較]で画像差分します。[寸法測定ツール]-[ブロブ面積(1-10)]で欠陥を抽出します。ブロブのパラメータは、モード=手動、しきい値=50など、色=白、境界ブロブ=チェック、最小面積制限=100など、を指定します