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など、を指定します