このシリーズの目的
「画像処理」と聞くと難しそうに感じるかもしれませんが、製造業の検査・計測で使う技術は実は限られています。本シリーズでは、数式を最小限に抑え、すべて検査現場の実例で説明します。全3回の構成で、最終回まで読めば画像処理システムの選定・導入判断ができるレベルになります。
- 第1回(本記事):画像の基本(画素・解像度・色空間)と前処理(二値化・フィルタ)
- 第2回:検査で使う画像処理(エッジ検出・パターンマッチング・ブロブ解析)
- 第3回:AI画像処理(Deep Learning・VLM)と従来画像処理の使い分け
画像の基本 — 画素・解像度・色空間
画素(ピクセル)とは
デジタル画像は小さな点(画素=ピクセル)の集合体です。1つの画素は1つの明るさ(グレースケールの場合)または3つの色情報(カラーの場合:R・G・B)を持ちます。画素が細かいほど画像は精細になり、小さな欠陥を検出しやすくなります。
解像度の考え方
外観検査で最も重要な数値は「1画素あたり何mmか」です。これを「空間分解能」と呼びます。
| カメラ解像度 | 視野幅100mmの場合 | 検出可能な最小欠陥 |
|---|---|---|
| 640×480(VGA) | 0.156mm/画素 | 約0.5mm(3画素以上) |
| 1920×1080(フルHD) | 0.052mm/画素 | 約0.15mm |
| 4096×3000(12MP) | 0.024mm/画素 | 約0.07mm |
目安として、検出したい最小欠陥が3画素以上になるようにカメラの解像度と視野を設計します。これが画像処理システム設計の出発点です。
現場Tips:解像度は「高ければいい」わけではない
高解像度カメラは画像データ量が増え、処理速度が低下します。12MPカメラで撮像しても、検出したい欠陥が0.5mmなら2MPカメラで十分。過剰な解像度はコストと速度の無駄です。「検出したい欠陥のサイズ」から逆算してカメラを選定するのが鉄則。
色空間 — グレースケール vs カラー
外観検査では、グレースケール(白黒)で十分なケースが8割以上です。キズ・欠け・異物の検出は明暗のコントラストで判定するため、色情報は不要です。色が検査基準に含まれる場合(色ムラ、焼き色、印刷色の判定)のみカラーカメラを使います。
前処理の重要性 — 照明→前処理→判定のフロー
画像処理による検査の精度は「撮像→前処理→判定」の3段階で決まりますが、精度への寄与は照明が50%、前処理が30%、判定アルゴリズムが20%というのが現場の実感です。
つまり、いくら高度なアルゴリズムを使っても、照明と前処理が不適切なら良い結果は出ません。逆に、照明を最適化し前処理を適切に施せば、シンプルな二値化だけで十分な精度が出るケースが大半です。
前処理パイプラインの実例
金属部品のキズ検出を例に、実際の前処理パイプラインを示します。
- 照明の安定化:同軸落射照明で金属表面を均一に照射。表面の反射ムラを最小化。
- 濃淡補正(シェーディング補正):照明ムラや光学系の周辺光量落ちを補正し、画像全体の明るさを均一化。
- ガウシアンフィルタ(3×3):微小ノイズを除去。カーネルサイズは欠陥より小さくするのが鉄則。
- 差分処理:基準画像(良品画像)と撮像画像の差分を取り、正常な模様やエッジを消去。キズだけが浮き上がる。
- 二値化(大津の方法):差分画像を二値化し、キズ領域を白、背景を黒に分離。
- 膨張・収縮処理:二値化後のノイズ(孤立点)を除去し、キズ領域の境界を滑らかに。
- ブロブ解析:白領域の面積・形状を計測し、面積閾値以上をNG判定。
現場Tips:差分処理が効かない場合
差分処理は「基準画像と撮像画像の位置が一致していること」が前提です。ワークの位置がずれると正常な部分まで差分として検出されます。そのため、差分処理の前にパターンマッチングで位置補正(アライメント)を行うのがセオリーです。
前処理 — 撮像した画像を「検査しやすく」する
二値化(しきい値処理)
グレースケール画像の各画素を、設定した閾値(しきい値)より明るければ白、暗ければ黒に変換します。外観検査で最も頻繁に使う処理であり、良品/不良の判定の基本です。
閾値の設定方法:
- 固定閾値:照明条件が安定している場合に使用。最もシンプルで高速。
- 大津の方法(自動閾値):画像の明るさ分布から最適な閾値を自動計算。照明が多少変動しても安定。
- 適応的閾値:画像内の領域ごとに閾値を変える。照明ムラがある場合に有効。
フィルタ処理(ノイズ除去)
撮像した画像にはノイズ(本来存在しない微小な明暗変動)が含まれます。ノイズが多いと誤検出の原因になるため、フィルタ処理で除去します。
| フィルタ | 効果 | 用途 |
|---|---|---|
| 平均化フィルタ | 周囲の画素の平均値で置き換え | ランダムノイズの除去。エッジがぼける |
| メディアンフィルタ | 周囲の画素の中央値で置き換え | ゴマ塩ノイズの除去。エッジを保持しやすい |
| ガウシアンフィルタ | ガウス分布に基づく重み付き平均 | 自然なノイズ除去。最も汎用的 |
現場Tips:フィルタのかけすぎに注意
ノイズ除去フィルタは欠陥の情報も一緒に消してしまう可能性があります。特に微細なキズを検出する場合、フィルタをかけすぎるとキズがノイズと一緒に消えてしまいます。フィルタの強度は「ノイズは消えるが欠陥は残る」最小限に設定するのがコツです。
検査で使う基本処理 — 二値化・エッジ検出・テンプレートマッチングの使い分け
二値化 → ブロブ解析
画像内の明暗が急激に変化する箇所(エッジ=輪郭)を検出します。寸法測定、位置決め、欠けの検出に使われます。
使う場面:異物検出、面積測定、個数カウント。対象物と背景のコントラストが明確な場合に有効。例えば、白い基板上の黒い異物、金属表面のキズ(照明で明暗が出る場合)に適用する。
エッジ検出
画像内の明暗が急激に変化する箇所(エッジ=輪郭)を検出します。代表的なアルゴリズムはSobel法とCanny法です。
使う場面:寸法測定(エッジ間の距離を計測)、欠けの検出(輪郭の途切れを検知)、位置決め(部品の端を基準にする)。金属部品の外形寸法検査、樹脂成形品のバリ・欠け検出で頻繁に使われる。
パターンマッチング(テンプレートマッチング)
登録した基準画像(テンプレート)と撮像画像を比較し、一致する位置を検索します。位置決め(アライメント)、異品検出、欠品検査に使われます。製造業で最も使用頻度が高い処理の一つです。
使う場面:組立工程での部品の有無確認、品種識別(正しい部品が正しい位置にあるか)、印字・ラベルの位置確認。「あるべきものが、あるべき場所にあるか」を確認する検査全般に使う。
使い分けの指針
| 検査内容 | 最適な処理 | 理由 |
|---|---|---|
| 異物・汚れの検出 | 二値化+ブロブ解析 | コントラストで分離しやすい |
| 寸法・幅の測定 | エッジ検出 | エッジ間距離を高精度に計測 |
| 欠け・バリの検出 | エッジ検出 | 輪郭の異常を検知 |
| 部品の有無・位置確認 | パターンマッチング | 基準との一致度で判定 |
| 品種識別 | パターンマッチング | 登録パターンとの照合 |
| 面積・個数の計測 | 二値化+ブロブ解析 | 領域の面積・個数を自動計測 |
初学者がつまずく3つのポイント
①照明を軽視する
画像処理を学び始めると、アルゴリズムに意識が向きがちですが、検査精度の50%は照明で決まります。同じ製品でも照明の当て方を変えるだけで、キズが見えたり見えなかったりします。照明選定の知識なしに画像処理だけで精度を出そうとすると、パラメータの泥沼にはまります。
②閾値をハードコードする
二値化の閾値を「128」のような固定値で決め打ちすると、照明条件や製品ロットが変わった瞬間に検査が破綻します。大津の方法(自動閾値)を基本とし、それでも対応できない場合に適応的閾値を検討するのがセオリーです。固定閾値は、暗箱のように照明条件が完全に制御された環境でのみ使います。
③前処理なしでいきなり判定する
撮像した画像をそのまま二値化やエッジ検出にかけると、ノイズや照明ムラの影響で誤検出が頻発します。必ずフィルタ処理→濃淡補正→必要に応じて差分処理という前処理ステップを入れることで、判定アルゴリズムの精度が劇的に向上します。前処理は「検査の地味な裏方」ですが、精度への影響は最も大きい。
まとめ:画像処理の基本は「撮る→前処理→判定」
製造業で使う画像処理の基本フローは3ステップです。①適切な解像度・照明で撮像する、②二値化・フィルタで前処理する、③エッジ検出・パターンマッチング・ブロブ解析で判定する。精度への寄与は照明50%、前処理30%、アルゴリズム20%。アルゴリズムの前に照明と前処理を最適化するのが、画像処理システムを成功させるための鉄則です。
次回は各検査処理の具体的な設定方法と、現場でよくあるトラブルの対処法を解説します。