異常検知モデルは「正常な部品はこういう見た目である」ことを学習します。ところが、正常な部品が毎回異なる角度で撮影されると、モデルが学ぶべき「正常」の範囲が、あらゆる回転姿勢にまで広がってしまいます。範囲が広がるほど、小さな欠陥はその中に埋もれます。位置合わせは、この問題を撮影直後に解消します。
円形部品 — Ring 位置合わせ
バンド、リング、ベアリングなど丸い部品は、次の手順で位置合わせします。Multi-Inspector の rotation-fix モードがこの方式です。
- 中心を探す — 円検出(Hough Circle)や輪郭への円当てはめ(circle fitting)で、部品の中心を求めます。
- 向きを探す — 円は回転しても同じに見えるため、タブや耳(ear)のように1か所にしかない特徴の角度を探します。
- 回転・移動 — 中心を画面中央へ、特徴を12時方向へ移します。
任意形状 — Shape(PCA)位置合わせ
シートベルトのバックルのように丸くない部品では、円を見つけられません。この場合は、部品領域の画像モーメントから姿勢を求めます。
- 1次モーメント(重心) — 部品の位置。
- 2次モーメント(主軸) — 部品が最も長く伸びている方向。主成分分析(PCA)と同じ計算です。
- 3次モーメント(非対称度) — 主軸だけでは、前後が180°反転していても区別できません。質量がより偏っている側を前と決めることで、この曖昧さをなくします。
詳しい計算と設定は、技術ノート円形でない部品を位置合わせする方法にあります。向きは不要で位置だけ合わせればよい場合は、Center-Only 位置合わせを使います。
位置合わせ後の判定 — yolo_align
Multi-Inspector EB のライン向けビルドは、v2.2 から yolo_align モードに対応しています。部品を位置合わせして中央に揃えたうえで、YOLO により欠陥を検出します。欠陥が常に似た位置・向きに現れるため、同じ量のデータでも検出が安定します。詳しい設定は yolo_align モードのノートを参照してください。
学習と検査には同じ位置合わせを使う
位置合わせは、学習時に1回、現場での検査時にもう1回実行されます。2つの位置合わせがわずかでも異なると、モデルは学習時と違う画像を受け取ることになります。そのため、fineAi Image Processing Tool で作成した位置合わせの設定を、Multi-Inspector がそのまま取り込んで使います。データを準備したときの位置合わせと、ラインで動作する位置合わせが、同じ結果を出します。
失敗への備え
位置合わせは画像から特徴を見つける処理なので、失敗することがあります。部品が半分切れた状態で撮影された場合や、照明が一瞬揺らいだ場合などです。Multi-Inspector は位置合わせに失敗すると、元の画像で判定を続行し、ログを残します。位置合わせのエラーでラインが止まることはなく、失敗した画像は後でまとめて原因を分析できます。
位置合わせを使わないのはどんなときか
- 部品が治具に固定され、常に同じ位置で撮影される場合は、位置合わせなしでも十分です。
- 形状が一定でない対象(食品、農産物など)は、位置合わせの基準を定めにくくなります。この場合は、位置変化に強いモデル(AnomalyDINO など)や、位置合わせなしの YOLO が適しています。異常検知アルゴリズムの選び方の講義を参照してください。