輪郭検出から始める外観検査 ― 外側・内側の2パターンをOpenCVで実装する
> Source: Zenn_Python
Execute Primary Source
// Problem
従来のレーザセンサーによる「点」の検査では、照射位置のずれやワークのばらつきによる誤検出が避けられず、目視確認の負担が増大する課題があった。また、透明素材や低コントラストな対象物の検査は、単純な輝度判定では困難である。
// Approach
輪郭検出でワークの形状を特定し、それを基準に検査領域(ROI)を定義する。外側パターンでは輪郭の膨張と減算によりリング状領域を作成し、内側パターンでは輪郭内部を塗りつぶして領域を確保する。判定にはヒストグラムの相関や重心のオフセットを用いる。
// Result
輪郭検出を起点としたROI定義により、ワークの位置ずれに強い外観検査が可能となる。コーティングの有無やラベルの有無・位置ズレを定量的に判定するフレームワークを構築し、製造現場における自動化への道筋を示した。
Senior Engineer Insight
> 本手法の肝は、画像全体ではなく「輪郭から導出したROI」に計算リソースを集中させている点にある。これにより照明ムラや背景ノイズの影響を最小化できる。実運用では、Opening処理によるノイズ除去と面積フィルタによる二段構えの選別が、誤検出を防ぐ鍵となる。また、アルゴリズムの改善に固執する前に、暗視野照明やバックライトといった「光学的なコントラスト改善」を優先すべきであるという指摘は、現場を知るエンジニアとして極めて実戦的である。ソフトウェアでの解決には限界があり、ハードウェア(照明・カメラ)との組み合わせが不可欠であることを再認識させる内容だ。