NI Vision Development Moduleによる画像処理

概要

画像処理システムをセットアップして画像を収集した後、画像を解析および処理して、検査中のオブジェクトについての重要な情報を抽出できます。

内容

画像解析

画像解析は、画像ピクセルのグレーレベル強度に基づいて、統計値と測定値を計算する手法を組み合わせて実行させます。画像解析機能を使用して、検査タスクに十分な画像品質であるかどうかを判断できます。また、画像解析して、その内容を理解し、アプリケーションの処理に使用する検査ツールのタイプを決定することもできます。画像解析機能は、有/無の確認などの基本的な検査タスクに使用可能な測定も行います。

画像解析に使用できる一般的なツールには、ヒストグラムやラインプロファイル測定などがあります。

ヒストグラム

ヒストグラムは、各グレースケールレベルでピクセルの合計数をカウントし、グラフ化します。ヒストグラムを使用して、画像の全体的な強度が検査タスクを行うのに適しているかを確認します。 ヒストグラムデータに基づいて、画像収集条件を調整して、より高品質な画像を収集できます。

ヒストグラムを参照することで、センサが露光不足または飽和されているかどうかを検出することができます。図1aに示すように、露光不足の画像には、低いグレーレベル値のピクセルが多く含まれます。図1bに示すように、低グレーレベル値はヒストグラムの下端にピークとして現れます。 

図2aに示すように、露光過多または飽和した画像には、非常に高いグレーレベル値のピクセルが多く含まれます。この状態は、図2bに示すように、ヒストグラムの上端にピークとして表示されます。

 

図1:露光不足画像とヒストグラム


図2:露光過多画像とヒストグラム

コントラスト不足:オブジェクトを背景から区別する戦略は、2つの強度 (たとえば、明るい粒子と暗い背景) 間の差に依存します。図3bのヒストグラムを解析すると、図3aには適切に分離された複数の強度集団があることがわかります。収集した画像のヒストグラムがアプリケーションに必要なコントラストになるまで、画像設定を調整します。

図3:グレースケール画像とヒストグラム


ラインプロファイル

ラインプロファイルは、ライン上の強度変化をプロットします。ラインプロファイルは、ライン上のピクセルのグレースケール値を返し、それらの値をグラフに表示します。ラインプロファイルは、成分間の境界を検査し、強度変化の振幅を定量化し、繰り返されるパターンを検出するのに役立ちます。

図4は、均一な強度の明るいオブジェクトがプロファイルに平坦域として表示される様子を示します。オブジェクトとその周辺の背景のコントラストが大きいほど、平坦域の傾斜が急激になります。一方、多くのノイズが含まれるピクセルは、狭い幅のピークを連続的に生成します。

図4:ラインとそれに対応するラインプロファイル

画像処理

画像解析をして収集した情報を用いて、検査する画像の品質を向上することが必要な場合があります。ノイズを除去し、対象領域の特徴をハイライトし、対象オブジェクトを背景から分離することで、画像を向上させることができます。画像を向上させるために使用できるツールには以下があります。

  • ルックアップテーブル
  • 空間フィルタ
  • グレースケールモフォロジー
  • 周波数領域 

ルックアップテーブル

ルックアップテーブル (LUT) 変換は、ソース画像のグレースケール値を変換後画像の他のグレースケール値に変換します。LUT変換を使用して、コントラストが悪い領域のダイナミック強度を変更することで、画像のコントラストと輝度を向上します。 

空間フィルタ

空間フィルタは、ノイズを除去し、画像を平滑化、シャープ化、変換することで、画質を向上させます。Vision Development Moduleには、次のような多くのフィルタがあらかじめ含まれています。

  • ガウスフィルタ (画像の平滑化)
  • ラプラシアンフィルタ (画像の詳細のハイライト表示)
  • メディアンおよびN次フィルタ (ノイズ除去)
  • プレヴィット/ロバーツ/ソーベルフィルタ (エッジ検出)
  • カスタムフィルタ

独自のフィルタ係数を指定して、独自のカスタムフィルタを定義することもできます。

グレースケールジー

「モフォロジー変換」では、画像内の粒子構造が抽出および変更されます。グレースケールモフォロジー機能を使用して、以下を実行できます。

  • 画像のピクセル強度をフィルタまたは平滑化処理する
  • 暗い領域を犠牲にして明るい領域を拡大する、または明るい領域を犠牲にして暗い領域を拡大して、領域の形状を変更する
  • 暗い背景の明るいピクセルなど、孤立した特徴を除去または強調する
  • 徐々に変化するパターンを平滑化し、境界領域のコントラストを高める

周波数領域処理

ほとんどの画像処理は空間領域で実行されます。ただし、通常どおり画像を解析および処理する前に、周波数領域で画像を処理して不要な周波数情報を除去することが必要な場合があります。高速フーリエ変換 (FFT) を使用して、画像を周波数領域に変換します。

BLOB解析

BLOB (バイナリ・ラージ・オブジェクト) は、同じ論理状態を持つ接触するピクセルの領域です。BLOBに属する画像内のすべてのピクセルは、フォアグラウンド状態にあります。その他のすべてのピクセルは背景状態です。バイナリ画像では、背景のピクセルの値は0ですが、ゼロ以外のすべてのピクセルはバイナリオブジェクトの一部です。

BLOB解析を使用して、画像内のBLOBを検出し、それらのBLOBの選択された測定を行うことができます。

BLOB解析を使用して、BLOBのサイズ、BLOB領域の数、位置、存在などの統計情報を探します。この情報を使用して、シリコンウエハ上の欠陥の検出、電子基板上のはんだ付け不良の検出などの多くのマシンビジョン検査タスク、または板材の構造的欠陥やプラスチック基板上の亀裂の検出などのウェブ検査アプリケーションを実行することが可能になります。また、部品の形状や向きに大きなばらつきがある場合でも、モーション制御アプリケーションでオブジェクトを検出することもできます。

オブジェクトの形状または向きが大きく異なるアプリケーションでは、BLOB解析はオブジェクトを検索するための強力かつ柔軟な方法です。BLOB解析で取得された測定値を組み合わせて、オブジェクトの形状を一意に表す特徴セットを定義できます。

2処理

2値化処理により、検討中のオブジェクトを背景から分離するグレースケールおよびカラー画像のピクセル値の範囲を選択できます。2値化処理は、画像を0または1のピクセル値を持つバイナリ画像に変換します。この処理は、「しきい値間隔」と呼ばれる特定の範囲内の値を持つすべてのピクセルを1に設定し、画像内のその他のすべてのピクセル値を0に設定することで機能します。図5aはグレースケール画像、5bは2値化処理後の同じ画像です。

図5:2値化処理前/後の画像

バイナリジー

バイナリモフォロジー処理は、バイナリ画像内の粒子の構造を抽出および変更します。これらの操作を行うことで、面積、外周、方向などの粒子測定を行う前に、検査アプリケーションでバイナリ画像の情報を改善することができます。また、これらの変換を使用して、領域のジオメトリを観察し、モデリングや識別を目的とした最も単純な形式を抽出することもできます。 

基本バイナリジー

基本モフォロジー操作はバイナリ画像に作用して、近傍に基づいて各ピクセルを処理します。各ピクセルは、その近傍情報と使用される操作に応じて1または0に設定されます。これらの操作によって、画像内の粒子のサイズ全体と形状が常に変更されます。

基本モフォロジー操作は、粒子の拡張または縮小、オブジェクトの輪郭の平滑化、粒子の外側および内側の境界線の検出、ピクセルの特殊な構成の検出などに使用します。

詳細バイナリジー

詳細モフォロジー操作では、粒子内の穴埋め、画像の境界に接触する粒子の削除、大小の不要な粒子の削除、接触する粒子の分離、粒子の凸包の検出などを行います。

粒子測定

バイナリ画像を作成後、向上したら、最大50粒子の測定を実行できます。これらの測定で、BLOBの位置と形状の特徴を判断することができます。これらの機能を使用して、1つまたは複数の測定に基づいて、粒子を分類またはフィルタ処理できます。たとえば、領域がxピクセル未満の粒子をフィルタで除外できます。

マシンビジョン

最も一般的なマシンビジョン検査タスクは、画像内の部品の有無を検出し、部品の寸法を測定し、仕様を満たしているかどうかを確認することです。測定は、画像で表されるオブジェクトの特徴に基づきます。画像処理アルゴリズムは従来、画像に含まれる情報のタイプをエッジ、表面とテクスチャ、またはパターンに分類していました。さまざまなタイプのマシンビジョンアルゴリズムが、1つまたは複数のタイプの情報を利用して抽出を行います。

エッジ検出

エッジ検出およびレーキ、同心レーキ、スポークなどの派生技術は、オブジェクトのエッジを高確度で検出します。「エッジ」は、画像内の隣接するピクセル間のグレースケール値の著しい変化を指します。エッジの位置を使用して、部品の幅などの測定を行うことができます。複数のエッジ位置を使用して、交点、投影、円または楕円フィットなどの測定値を計算できます。

エッジ検出は、多くのマシンビジョンアプリケーションで使用される有効なツールです。エッジ検出は、オブジェクトの境界位置や不連続の存在などの情報をアプリケーションに提供します。エッジ検出は、ゲージング、検出、アライメントの3つのアプリケーション分野で使用できます。

ゲージング

ゲージングを使用して、長さ、距離、直径、角度、カウントなどの重要な寸法測定を行い、検査対象の製品の製造検査を行います。その構成部品または部品は、測定されたパラメータがユーザ定義の許容範囲内か範囲外かによって、合格/不合格となります。

図6は、エッジ検出を使用して、ゲージングアプリケーションが点火プラグの空隙の長さを測定する方法を示しています。

図6:エッジ検出を使用して点火プラグ電極間の空隙を測定する

検出

検出アプリケーションの目的は、ラインプロファイルとエッジ検出を使用して部品の有無を決定することです。ラインプロファイル上のエッジは、背景と前景間のコントラストのレベルおよび遷移傾斜によって定義されます。この手法を使用して、ラインプロファイル上のエッジ数を計算し、予想されるエッジ数に結果を比較します。この手法は、画像補正やパターンマッチングなどの画像処理方法ほど多大な数値処理を必要としません。

図7は、検索ラインプロファイル上で検出されたエッジ数によってコネクタが適切に組み立てられたかどうかを判断する簡単な検出アプリケーションを示します。図7aに示すように、8つのエッジが検出されると、4本のワイヤがあり、コネクタは検査に合格したことを示します。図7bに示すように、それ以外のエッジ数はコネクタが正しく組み立てられていないことを示します。

図7:エッジ検出を使用して部品の存在を検出する

エッジ検出を使用して、亀裂などの構造上の欠陥、または部品の傷などの外観上の欠陥を検出することもできます。部品の明るさの強度が一定している場合、これらの欠陥は強度プロファイルで急激な変化として表れます。エッジ検出はこれらの変化を識別します。

アライメント

アライメントは、部品の位置と方向を決定します。多くのマシンビジョンアプリケーションでは、検査するオブジェクトが画像内で異なる位置にある場合があります。エッジ検出は、関心領域のみで検査を行えるように、検査の実行前に画像内でオブジェクトの位置を検出します。部品の位置と方向は、ステージなどの位置決めデバイスに情報をフィードバックするために使用することもできます。

図8は、画像内のディスク左端を検出するアプリケーションを示します。エッジの位置を使用して、ディスクの方向を決定することができます。その後、方向情報を使用して検査領域を適切に配置できます。

図8:エッジ検出を使用して検査領域を配置する

パターンマッチング

パターンマッチングは、定義済みのテンプレートと一致するグレースケール画像の領域を検出します。パターンマッチングは、照明の不良や、画像のぶれ、ノイズ、テンプレートの移動または回転に関わらず、テンプレートとの一致を検出します。

画像内で既知の基準パターンを即座に検出するためにパターンマッチングを使用します。パターンマッチングを使用して、検索しているオブジェクトを示すモデルまたはテンプレートを作成します。次に、マシンビジョンアプリケーションが各収集画像からモデルを検索し、各マッチ項目に対してスコアを計算します。スコアは、モデルが検出されたパターンと一致している割合を示します。

パターンマッチングアルゴリズムは、さまざまなアプリケーションで使用可能であるため、画像処理の最も重要な機能の1つであると言えます。パターンマッチングは、アライメント、ゲージング、検査の3つの一般的なアプリケーションで使用できます。

寸法測定

Vision Development Moduleの寸法測定またはゲージングツールを使用して、定量化可能な、重要な距離測定が取得できます。標準測定には以下が含まれます。

  • ポイント間の距離
  • 3点または4点で表される2本のライン間の角度
  • 最適ライン、円形、または楕円フィット
  • 円、楕円、多角形などの幾何学的形状の領域

カラー検査

コントラストを向上するか、オブジェクトを背景から分離することで、カラーはモノクロの目視検査での問題を簡素化します。カラー検査には次の3つの領域があります。 

  1. カラーマッチング
  2. カラーロケーション
  3. カラーパターンマッチング

カラーマッチング

カラーマッチングは、画像内にどの色がどの程度の量存在するかを数量化し、その情報を使用して他の画像に同じ色が同じ比率で含まれているかどうかをチェックします。

カラーマッチングを使用すると、画像や画像内にある特定の領域のカラーと基準となるカラー情報とを比較することができます。カラーマッチングを使用して、画像を作成したり、基準として使用するカラー情報を含む画像内の領域を選択します。画像内のカラー情報は、1つまたは複数の色から構成される場合があります。マシンビジョンソフトウェアは、次に画像内で3次元のカラー情報を学習して、その情報を1次元のカラースペクトルとして表現します。マシンビジョンアプリケーションは、画像全体または画像の領域でカラー情報を学習されたカラースペクトルに比較して、各領域に対してスコアを計算します。スコアは、領域内のカラー情報がカラースペクトルによって表される情報にどれほど一致するかを示します。

図9は、タイルの識別アプリケーションの例を示します。図9aは、識別が必要なタイルを示します。図9bは、カラーマッチング中に取得された基準タイルとそのカラーマッチングスコアを示しています。

図9:カラーマッチングを使用してタイルを識別する

カラーロケーション

カラーロケーションを使用して、画像内で既存のカラー領域を素早く検出します。カラーロケーションでは、まず検出する色を表すモデルまたはテンプレートを作成します。次に、マシンビジョンアプリケーションは収集した各画像からモデルを検出し、一致ごとにそれぞれのスコアを計算します。スコアは、モデル内のカラー情報が検出された領域内にどれだけ類似しているかを示します。

カラーロケーションアルゴリズムは、特定の色を含む画像内の領域を素早く検出する方法を提供します。アプリケーションが次の場合に、カラーロケーションを使用します。

  • 特定のカラー情報を含む画像内の領域の位置と数を必要とする
  • 領域内のカラー配置情報ではなく、領域内の累積カラー情報に依存する
  • 領域の方向決定を必要としない
  • サブピクセル確度での位置検出を必要としない

検査、識別、選別アプリケーションでカラーロケーションを使用します。
図10は、飴選別アプリケーションを示します。画像内の異なる飴のカラーテンプレートを使用して、カラーロケーションは異なる飴の位置を素早く検出します。

図10:カラーロケーションを使用して飴を選別する

カラーパターンマッチング

カラーパターンマッチングを使用して、カラー画像内で既知の基準パターンを素早く検出します。カラーパターンマッチングを使用して、検索しているオブジェクトを示すモデルまたはテンプレートを作成します。次に、マシンビジョンアプリケーションが各収集画像からモデルを検索し、各マッチ項目に対してスコアを計算します。スコアは、モデルが検出されたカラーパターンにどれほど一致するかを示します。カラーパターンマッチングを使用して、パターン内のカラーと空間情報で完全に表される基準パターンを検出します。

次の場合に、カラーパターンマッチングを使用します。

  • 検出するオブジェクトに背景と大幅に異なるカラー情報が含まれており、画像内でのオブジェクトの位置を正確に検出したい場合。これらのアプリケーションでは、カラーパターンマッチングは検索段階で形状情報を使用するため、カラーロケーションよりも正確なソリューションを提供します。

    図11は、カラーロケーションとカラーパターンマッチングの違いを示します。図11aは、アルゴリズムが検査画像内で検索する抵抗のテンプレート画像です。図11bに示すように、カラーロケーションは抵抗を検出しますが、この処理はカラー情報に制限されるため、マッチの正確性が低下します。図11cに示すように、カラーパターンマッチングは最初にカラーマッチングを使用してオブジェクトを検出し、次にパターンマッチングを使用して、位置の正確性を向上するので、より正確な結果を返します。



図11:カラーパターンマッチングを使用して抵抗を正確に検出する

関連情報