よく使う画像処理7種類の紹介!
画像処理とは?
外観検査とは、製品の外観を検査して欠陥や不良を特定するプロセスであり、画像処理は、外観検査の自動化技術のコアとなる処理技術です。
画像処理を使用して外観検査を行う場合、まずカメラを使用して製品の画像を取得します。次に、画像処理ソフトウェアを使用して画像を解析します。ソフトウェアは、欠陥や不良を特定するために画像内のパターンと特徴を探し、欠陥を検出します。また、画像処理では、欠陥の特徴を特定するために、画像の明るさ、コントラスト、色、鮮明度、ノイズ処理など、欠陥がより簡単に検出できるようにするための前処理を行うこともあります。
画像処理は、自動外観検査を実現するための、重要な手段です。人間の目視検査よりも高速かつ安定して欠陥を検出可能であり、検査コストの低減につなげることが可能です。
画像の取得方法は、通常のカラーカメラだけでなく、レーザー、超音波、磁気、X線など、様々な可視化の方法があります。これらの画像化のための様々なツールを通して、内部的な検査をこれらのツールの組み合わせを使用して、製品の外観と内部の両方を検査できます。
画像処理技術の技術はカメラ自体のセンサー・処理の高性能化、プロセッサの処理高速化で、高画質の画像を大量に処理できるようになり、様々な画像処理ができるようになりました。
例えば、画像を回転、変形、拡大縮小、などの複雑な処理や、特定の特徴を高速で検出することが可能になるのが画像処理の技術です。
以下に、画像処理の例を示します。
画像補正
- コントラスト補正: 画像のコントラストを調整して明暗の差を強調する。
- 明るさ補正: 画像の明るさを調整して全体的な明るさを変更する。
- 色補正: 画像の色相、彩度、明度などを調整して色合いを変更する。
- ヒストグラム変換: 画像の輝度のヒストグラムを変換して、暗い箇所を見えやすくするなどの明るさの分布を変更する。
画像変換
- モノクロ画像変換: カラー画像を、輝度や、RGBの単色を使うなどで白黒のグレースケール画像に変換する。
- 二値化: 閾値処理などにより画像を白と黒の2値の画像に変換する。
- モルフォロジー変換: 画像の形状を変化させる操作(膨張、収縮、オープニング、クロージングなど)。
画像加工
- ノイズ除去: 画像中のノイズを除去する。
- エッジ強調: 画像のエッジ(物体の輪郭)を強調する。
- 拡大・縮小: 画像のサイズを拡大または縮小する。
- フィルタ処理: 画像にフィルタを適用して画像の特定の特徴を強調する。
- アフィン変換: 画像の回転、スケーリング、平行移動などを行う。
- ホモグラフィー変換: 画像の台形変換などを行う。
- 線型変換: 画像の輝度値を線型に変換する操作(コントラストの調整、明るさの調整など)。
- 重心計測: 画像中の物体の重心位置を計測する。
- 面積計測: 画像中の物体の面積を計測する。
- 円形度計測: 画像中の物体の円形度を計測する。
- 主軸角度計測: 画像中の物体の主軸の角度を計測する。
- モーメント特徴計算: 画像中の物体のモーメント特徴を計算する。
- ハフ変換: 直線や円などの形状を検出するためのハフ変換を適用する。
画像認識
- 物体認識: 機械学習などを用いて画像中の特定のオブジェクトや物体を識別して特定する。
- パターン認識: 画像中のパターンや特徴的な形状を検出して認識する。
- 差分画像処理: 登録した良品と対象画像間の差分を計算して、欠品、変形などの良品に対する変化を検出する。
- テンプレートマッチング: 事前に用意したテンプレート画像との類似度を計算して、画像中のマッチング位置を見つける。
画像認識
画像認識のいくつかの例について説明します。
差分画像処理(パターンマッチング)
ワークの良品となる画像(テンプレート画像)を登録します。
ワークの検査画像を入力します。図の写真は、キズの欠陥がついています。
必要に応じてマスタ画像と比較してもっとも位置が合うところに位置補正をし、画像の差分を計算します。
キズなどは、大きな差分として現れるため、キズの発見をすることができます。
ただし、入力画像にも良品の範囲での位置や色味のばらつきが存在するため、過検出をしてしまうことがあることに注意をする必要があります。
テンプレートマッチング
テンプレートマッチングは、事前に用意したテンプレート画像と入力画像の間での類似度を計算し、テンプレートが入力画像内でどこに位置するかを見つけるための手法です。位置補正などに利用することができます。
テンプレートマッチングの手順は以下の通りです
- 類似度の計算: テンプレートと入力画像の各位置での類似度を計算します。類似度は、テンプレート画像と対応する入力画像領域のピクセル値の一致度を示す指標として定義されます。一般的には、相関係数や平均二乗誤差などが使用されます。
- 類似度のマップ作成: 入力画像内の各位置での類似度をマップとして表現します。このマップは、入力画像の各位置におけるテンプレートとの類似度の値を示します。高い類似度を持つ領域は、対応するオブジェクトやパターンが存在する可能性が高いことを示します。
- マッチング位置の決定: 類似度マップから、最も類似度の高い位置や複数の類似度が高い位置を見つけます。これにより、テンプレートが入力画像内のどの位置に存在するかを特定することができます。
テンプレートマッチングは、物体検出、パターン認識、位置推定などのさまざまな応用に使用されます。しかし、照明の変化や視点の変化などの要因によって類似度が大きく変化する可能性があるため、厳密なマッチングを行う場合には注意が必要です。
特徴点マッチング
特徴点マッチングは、画像処理やコンピュータビジョンの分野で使用される手法であり、異なる画像間での共通の特徴点を検出し、それらの特徴点の対応関係を見つけるための手法です。
特徴点マッチングの手順は以下の通りです
- 特徴点の検出: まず、入力画像やテンプレート画像から特徴的な点を検出します。特徴点は、画像内の明るさやエッジの変化など、周囲とは異なる局所的な特徴を持つ点です。
- 特徴点のマッチング: 特徴記述子を使用して、異なる画像間での特徴点の対応関係を見つけます。一般的な特徴点マッチング手法には、最近傍法(Nearest Neighbor)や最近傍距離比(Ratio Test)などがあります。
特徴点マッチングは、入力画像とテンプレート画像との特徴点の対応を見るため、入力画像の対応部分が回転していても検出することが可能です。
画像処理フィルタ
前処理の仕方の例として、平滑化を行う平均フィルタとメディアンフィルタを紹介します。
平均化フィルタ(Average Filter)
平均化フィルタは、画像のピクセル値を平均化することで、ノイズを軽減するフィルタです。フィルタは画像の各ピクセルに対して適用され、そのピクセルの周囲の近傍領域(例えば、3x3や5x5の領域)のピクセル値の平均を計算します。その平均値を元のピクセルの値と置き換えることで、ノイズを平滑化します。平均化フィルタは、ノイズの除去に効果的ですが、同時に画像の細部やエッジ情報もぼやけさせる可能性があります。
メディアンフィルタ(Median Filter)
メディアンフィルタは、画像のピクセル値をソートして中央値を取り、ノイズを除去するためのフィルタです。平均化フィルタとは異なり、近傍領域のピクセル値をソートし、その中央に位置する値を選択します。中央値は外れ値に強く、ノイズの影響を受けにくい特性を持ちます。そのため、メディアンフィルタはノイズ除去において有効ですが、エッジ情報や画像の細部に対しても比較的良好な保持性を示します。
どちらのフィルタも、画像中のノイズを除去するために広く使用されます。平均化フィルタは、一般的に均一なノイズの除去に適しています。一方、メディアンフィルタは、ソルト・ペッパーノイズなどの異常なピクセル値を持つノイズに対して特に有効です。適切なフィルタの選択は、ノイズの種類や画像の特性に依存します。
モルフォロジー変換
モルフォロジー変換には、膨張(Dilation)と収縮(Erosion)の二つの基本的な操作があります。これらの操作は、画像中の形状や構造を変化させるために使用されます。
膨張(Dilation)
膨張操作は、オブジェクトの形状を拡大する操作です。膨張では、画像中の白い領域(オブジェクト)を拡張させます。具体的には、各ピクセルの周囲の近傍領域を調べ、少なくとも1つの白いピクセルが存在する場合は、その中心のピクセルを白に変換します。これにより、オブジェクトが拡大され、孤立した領域がつながったり、オブジェクトの形状が滑らかになる効果があります。
収縮(Erosion)
収縮操作は、オブジェクトの形状を縮小する操作です。収縮では、画像中の白い領域(オブジェクト)を収縮させます。具体的には、各ピクセルの周囲の近傍領域を調べ、すべてのピクセルが白である場合は、その中心のピクセルを白に保ちます。それ以外の場合は、中心のピクセルを黒に変換します。これにより、オブジェクトが縮小され、細部が欠けたり、オブジェクトの形状が変化する効果があります。
モルフォロジー変換は、膨張と収縮の操作を組み合わせることで、さまざまな効果を得ることができます。例えば、膨張操作を先に適用すると、小さなオブジェクトをつなげたり、穴を埋める効果があります。収縮操作を先に適用すると、オブジェクトを細くしたり、細部を取り除く効果があります。