nasu
#1
ブロック状のワークを数個横に並べて検査する方法で
ワークが隣接する境目とワークにある欠陥が酷似していて
欠陥の領域検出で境目も検知してしまうので
境目を検知する領域検出の下に欠陥の領域検出でマスクをかけると
逆に欠陥もマスクしてしまいます。
面積で閾値を設定しようにも境目の検知が途切れ途切れになる場合や欠陥のほうが大きくなる場合もあるので厳しいかなと思います。
画像加工でいろいろ試してみましたが、結局は同じ特徴のため区別することができないのですが何かいい方法はありますでしょうか?
ちなみにワークは3辺の形状が異なりますが、同モデルで検査したいので境目の位置は面を変えるごとに変わってしまうのでどうにか追従できる方法がいいと思っています。
ご質問ありがとうございます。
ワーク単位で領域を分けてしまえば、境界部分を避けて欠陥部分のみを検出できるのではないかと思います。
以下の画像の白がワーク、ワーク内の黒が欠陥、ワーク外の黒を境界とした時に対しての失敗例と成功例を紹介いたします。

タスクコネクション

失敗例
-
欠陥領域検出のアノテーション
-
欠陥領域検出の解析結果
境界部分を検出してしまったので失敗です。
成功例
-
ワーク検出のアノテーション
-
ワーク検出の解析結果
-
欠陥領域のみ検出のアノテーション
この時に解析領域を自動にして、検出対象をワーク領域のみに限定します。
-
欠陥領域のみ検出の解析結果
境界部分を除いた欠陥のみを検出することが出来ました。
なお、ワーク検出は形状によって解析領域の分離が難しいケースもあると思います。
そういった場合は、以下のように少し小さめにアノテーションを行ったり、
以下のトピックで紹介しているスコアマップ加工のオープニング処理などを行って領域を分離していただければと思います。
スコアマップ加工機能
nasu
#3
ありがとうございます。
同じようにやってみたら理想の通りの検出結果になりました!
今までは境目の検知は背景も一緒に検出していたのでワーク検出に変えたことで軽くもなりました!
ずっと悩んでいたのでスッキリしました!
「いいね!」 1