外観検査とは、部品や製品の表面にある異物や傷、欠陥を確認する検査です。一般的に以下のような検査内容が外観検査に該当します。
これまでは目視に頼っていた外観検査ですが、近年は工場の自動化(FA:ファクトリーオートメーション)に伴って画像処理システムが導入されるようになっています。こちらでは、外観検査の基本的な原理について解説します。
画像センサは撮像素子CCDの1画素毎の濃度(明暗)データを使って、濃度の変化を傷/エッジとして検出します。しかし、1画素単位で全ての処理をすると膨大な処理時間がかかる上に、検査に必要のないノイズデータが結果に影響することが問題となります。
そこで画像センサでは数画素の小単位の平均値を使って処理をします、当社CVシリーズでは「セグメント」という小単位で周囲と平均濃度を比較して傷を検出します。
当社CVシリーズに搭載されている「傷」計測モードのアルゴリズムに関して説明します。
(1)検査領域内で任意サイズの小領域(セグメント)をセグメントサイズの1/4を移動量としてずらしながら平均濃度計測を行ないます。
(2)注目セグメント(右図(1)95の位置)を含む検出方向4セグメント内での最大濃度と最小濃度の差を計測します。この値が注目セグメントの「傷レベル」となります。
(3)傷レベルが設定しきい値を超えている場合、その注目セグメントは傷としてカウントされます。このカウント値は「傷量」と呼ばれる検査結果となります。
以後、領域内で注目セグメントを移動量分ずらして(1)~(3)を繰り返します。
検出方向をXYの2次元方向に指定した場合の処理方法
XYを指定した場合は、注目セグメントを含むXY方向それぞれ4セグメント、計16セグメント内での最大濃度と最小濃度の差を計測します。
隣り合う2セグメントだけではなく、周囲4セグメント間で比較することで、より小さく薄い濃度変化(傷)が検出可能となります。
傷モードの原理まとめ
傷モードは「セグメント」という数画素の小単位毎に周囲と比較して、濃度の変化点を傷・汚れとして検出するモードです。セグメント毎に処理することで、ノイズの影響を軽減させながら高速性が実現でき、周囲セグメントとの比較を複数候補から行なうことで従来検出が困難であった『小さい傷』『薄い汚れ』などを検出できるようになりました。
傷検知を使用する際の最適な設定方法を説明します。
セグメントサイズを調整することにより、検出感度と処理時間の最適化が可能です。
右の表はセグメントサイズによる傷レベルと処理時間の変化を実験して求めた結果です。(当社CV-3000使用)
セグメントサイズが検出対象とほぼ同じサイズのとき傷レベルの値が最大となっています。つまり、実際の検出対象サイズにセグメントサイズをあわせると、検出感度と処理時間のバランスの取れた設定が可能になります。
最適なセグメントサイズ=傷の大きさ(mm)×Y方向画素数/Y方向視野(mm)
例:傷が2mmで視野が120mm角の時、24万画素カメラ(Y方向480画素)なら
2×480÷120=セグメントサイズ8となります
傷モードにはセグメントをどれだけ移動して濃度比較をするかを決める移動量/比較間隔というパラメータがあります。
これらを調整することで、「小さな傷」や「薄いシミ」など違う特徴のある傷・汚れを安定して検出することができます。
小さな傷を検出するには移動量・比較間隔とも小さな値にして細かく比較することが必要。
薄いシミを検出するには移動量・比較間隔を大きな値にして広く比較することが必要。
このように傷・汚れの種類によって適切な設定をすることが安定検出につながります。
傷モードの最適な設定方法まとめ
最適なセグメントサイズと移動量/比較間隔設定の調整をすることで、対象物に対して最適な検査が可能となります。セグメントサイズは傷/汚れと同じ大きさとすること、移動量と比較間隔については傷/汚れのサイズと濃さから考えて調整すると最適な設定ができます。
ペットボトル、ベアリング、Oリングなど円周形状のワークは多くあります。このようなワークの外観検査には曲線に対応した検出原理が必要です。この時プログラム内部では「極座標変換処理」を行なっています。円弧形状のウインドウ(検査領域)を四角に変換して、円周方向及び半径方法にセグメント間濃度比較をして傷を検出します。
基準がなく、濃淡の変化値だけを計測すると、汚れか印刷かの判断ができません。よって、薄い汚れよりもはっきりした色の印刷部を「傷・汚れ」と間違えて検出してしまいます。
良品を登録画像として記憶して、毎回入力画像と差分前処理を行ないます。その結果、差分として残った画像に対して256階調での平均濃度比較を行ないます。そのために、複雑な印刷があるワークにおいても汚れ・傷検査が可能となります。
このフィルタは、生画像に膨張収縮フィルタを掛けた画像と生画像自体の差分を取ることで、小さな黒点などの欠点だけを抽出するものです。このフィルタを使用すると複雑な形状の対象物の輪郭に合わせて領域を設定する必要がなく、対象物の位置ズレを補正するための位置補正も不要になり非常に簡単な設定一つで検査ができます。
リアルタイム差分フィルタの原理
外観検査/傷モード まとめ
傷モードを最適に使うには、以下の3点を覚えてください。
1.セグメントサイズは検出したい傷の大きさに合わせて設定する
2.移動量/比較間隔は傷の大きさや濃さに合わせて設定する
3.ワークの形状に合わせて前処理を組合せて設定する
最後に、画像センサを最適に使うには綺麗な絵を撮ることが大事です。
次のテーマは寸法測定/エッジ検出の原理と活用方法です。
エッジは位置/幅/ピッチ/角度など様々な用途で使うことができます。
エッジモードのアルゴリズムとその活用方法を説明します。