現場の品質基準で0.1mm以上0.5mm以下のゴミが50mm以内に3点以上あるとNGなどある範囲内に面積及び個数を基準に品質を見るものがあります。1つの不良を基準に範囲を決めて不良個数で判定する方法はありますでしょうか?
ご質問ありがとうございます。
スクリプト検査を用いれば、現在リリースしているMENOU-TEでも判定できそうですが、
新しい機能を1つ追加すればスクリプトを使わずに済みそうでしたので、
試しに実装してみました。
石の配置の不良数をカウント(輪郭数チェック機能を追加)
タスクコネクション
入力画像
- 石検出
- 一定サイズ抽出(スコアマップ加工)
ブロブ解析を追加して最小サイズを160、最大サイズ250として、小さい石と大きい石を除外
- 個数確認(形状抽出)
入力をスコアマップに変更
解析領域のモードを固定、サイズを1024x1024とします
サイズが一定距離以内の判定に該当します
次に輪郭数ブロックを追加して最小数を3とします
これにより、1つの解析領域に石が3つあるものだけが残ります
解析領域同士が大きく重なってしまう場合は重なり制限を調整する必要があります - グループ数(スコアマップ加工)
複数の領域を1つとして数えられるように処理
入力スコアマップ(輪郭なので細い)
輪郭塗りつぶし
次のリサイズ処理時に輪郭が消えてしまわないように中を塗りつぶします
リサイズ
高速化のために実行
サイズを1/128、モードを近傍にします
膨張
カーネルサイズを11にします
- ランタイム評価画面で確認
不良が2個のケース
不良が3個のケース
繰り返しとなりますが、重なっている部分を1つにしたい場合は解析領域の重なり設定の調整が必要となります
この機能で実現できそうでしたら、リリースに向て実装を進めていきたいと思います。
「いいね!」 2
こちらの機能ですが、以下バージョンでリリース致しました。
https://forum.menou.co.jp/t/topic/668
少し間が空いてしまい、申し訳ありません。