工業検査における画像処理技術 - 外観検査から寸法計測まで
工業検査と画像処理 - 自動化の必要性と基本構成
工業検査 (Industrial Inspection) における画像処理は、製造ラインで生産される製品の品質を自動的に検査する技術です。人間の目視検査に代わり、カメラとアルゴリズムで高速・高精度・一貫性のある検査を実現します。
自動検査が必要な理由:
- 速度: 製造ラインは毎分数百個の製品を生産。人間の検査速度では追いつかない
- 一貫性: 人間は疲労、集中力低下、個人差により判定がばらつく。機械は 24 時間一定品質で検査可能
- 精度: 0.01mm レベルの微細な欠陥は人間の目では検出困難
- コスト: 検査員の人件費削減。不良品の流出防止による損失回避
検査システムの基本構成:
- 照明: 検査対象を均一に照らし、欠陥のコントラストを最大化する。リング照明、バー照明、同軸落射照明など
- カメラ: エリアスキャンカメラ (静止物) またはラインスキャンカメラ (連続搬送物)
- レンズ: テレセントリックレンズ (寸法計測用) または標準レンズ (外観検査用)
- 画像処理ボード/PC: 画像取得と処理を実行。FPGA ベースまたは GPU ベース
- 判定・排出機構: NG 品を自動排出するエアブローやロボットアーム
検査の種類: 外観検査 (傷、汚れ、変色)、寸法計測 (長さ、角度、面積)、位置検査 (部品の有無、位置ずれ)、文字認識 (ロット番号、賞味期限) の 4 つに大別されます。タクトタイム (1 個あたりの検査時間) は通常 50-500ms が要求されます。
照明設計 - 欠陥を可視化する光の技術
工業検査において照明は最も重要な要素です。適切な照明なしには、どんな高度なアルゴリズムも欠陥を検出できません。照明設計の目標は、検査対象の欠陥と正常部分のコントラストを最大化することです。
照明方式の選択:
- 明視野照明 (Bright Field): 正反射光を利用。鏡面の傷、印刷の欠け、色ムラの検出に有効
- 暗視野照明 (Dark Field): 散乱光のみを検出。透明体の傷、表面の微細な凹凸、異物の検出に最適
- 同軸落射照明: カメラ光軸と同軸に照明。鏡面の検査、ウェハーの欠陥検出に使用
- バックライト照明: 背面から照射。シルエットによる寸法計測、穴の有無検査に使用
- ドーム照明: 全方向から均一に照射。曲面や光沢面の検査に有効。影が出にくい
照明の色 (波長) の選択:
- 赤色 LED (660nm): 赤い欠陥を目立たなくし、青い欠陥を強調する
- 青色 LED (470nm): 金属表面の微細な傷を強調。銅の酸化検出に有効
- 赤外 LED (850nm): シリコンウェハーの内部欠陥を透過観察
- UV LED (365nm): 蛍光物質の検出。接着剤のはみ出し、油汚れの検出
ストロボ照明: 高速搬送 (1m/s 以上) ではストロボ (パルス) 照明でブレを防止します。露光時間 10μs 以下で、搬送速度 2m/s でもブレ 0.02mm 以下を実現できます。LED の瞬間発光強度は連続点灯の 10-50 倍に設定可能で、短時間露光でも十分な光量を確保します。
欠陥検出アルゴリズム - 従来手法の実践
工業検査で使用される欠陥検出アルゴリズムは、検査対象の特性に応じて選択します。従来手法は動作が予測可能で、少量のサンプルでも調整可能な利点があります。
差分検査 (テンプレート比較): 良品画像 (マスター) と検査画像の差分を計算し、差が閾値を超える領域を欠陥として検出します。
- 位置合わせ: パターンマッチングで検査画像をマスターに位置合わせする (±0.1px 精度)
- 差分計算: |検査画像 - マスター画像| > 閾値 → 欠陥
- 用途: 印刷物の検査、基板パターンの欠陥検出、ラベルの印字確認
- 課題: 個体差が大きい製品には不向き。照明変動に敏感
ブロブ解析 (Blob Analysis): 二値化後の連結領域 (ブロブ) の面積、周囲長、円形度、アスペクト比などの特徴量で欠陥を分類します。
- 面積フィルタ: 微小ノイズ (< 10px) を除去し、有意な欠陥のみ抽出
- 形状特徴: 円形度 = 4π×面積/周囲長² で傷 (細長い) と汚れ (丸い) を区別
- OpenCV:
cv2.connectedComponentsWithStats()で実装
エッジ検出による寸法計測: Sobel や Canny でエッジを検出し、サブピクセル精度でエッジ位置を求めます。2 つのエッジ間の距離が寸法値となります。テレセントリックレンズと組み合わせることで、±0.005mm の計測精度を実現できます。
周波数解析: FFT でテクスチャの周期性を解析し、周期パターンからの逸脱を欠陥として検出します。織物の織りムラ、金属表面の研磨ムラの検出に有効です。
深層学習による異常検知 - 少量データでの欠陥検出
製造業では不良品のサンプルが極めて少ない (全体の 0.1% 以下) ため、従来の教師あり学習では十分な学習データを確保できません。異常検知 (Anomaly Detection) は、正常品のみから学習し、正常から逸脱したものを異常として検出するアプローチです。
PatchCore (2022): 正常画像の局所特徴量をメモリバンクに蓄積し、テスト画像の特徴量との距離で異常度を計算します。MVTec AD ベンチマークで AUROC 99.1% を達成した最高精度の手法です。
- 事前学習済み ResNet/WideResNet の中間層特徴を使用
- 正常画像 10-50 枚で十分な精度を達成
- 推論速度: 約 50ms/枚 (GPU)
PaDiM (2021): 正常画像の各パッチ位置での特徴量分布をガウス分布でモデル化し、マハラノビス距離で異常度を計算します。メモリ効率が良く、組み込みデバイスでの実行に適しています。
EfficientAD (2023): 知識蒸留ベースの軽量異常検知手法です。Teacher-Student 構造で、Student が Teacher の出力を再現できない領域を異常として検出します。推論速度 5ms/枚 (GPU) でリアルタイム検査に対応し、MVTec AD で AUROC 98.8% を達成しています。
MVTec AD データセット: 工業検査の異常検知ベンチマークとして最も広く使用されるデータセットです。15 カテゴリ (ボトル、ケーブル、カプセル、金属ナットなど) の正常画像と異常画像を提供し、ピクセルレベルの異常位置アノテーションも含みます。
実装の注意点: 異常検知モデルは正常の定義に敏感です。照明変動、位置ずれ、許容される個体差を「正常」として学習データに含める必要があります。また、閾値の設定は過検出 (歩留まり低下) と見逃し (不良流出) のトレードオフであり、製品の品質要求に応じて調整します。
高速処理とリアルタイム検査の実現
製造ラインの検査では、タクトタイム (1 個あたりの許容検査時間) 内に全処理を完了する必要があります。高速化の技術と、リアルタイム検査を実現するためのシステム設計を解説します。
タクトタイムの計算例: 生産速度 600 個/分の場合、タクトタイム = 60s / 600 = 100ms。画像取得 10ms + 処理 80ms + 判定出力 10ms で収める必要があります。
高速化テクニック:
- ROI (Region of Interest) 処理: 画像全体ではなく、検査が必要な領域のみを処理する。処理面積を 1/4 にすれば速度は 4 倍
- ルックアップテーブル (LUT): 閾値処理やガンマ補正を事前計算したテーブルで高速化
- SIMD 命令: SSE/AVX で 8-16 ピクセルを同時処理。OpenCV は内部で自動活用
- GPU 処理: CUDA で画像フィルタリングや特徴抽出を並列化。CPU の 10-100 倍高速
- FPGA: パイプライン処理で 1 クロック/ピクセルの超高速処理。レイテンシ 1ms 以下
マルチカメラシステム: 1 台のカメラでは視野やタクトタイムの制約がある場合、複数カメラを使用します。各カメラが異なる面や領域を同時に検査し、並列処理で全体のタクトタイムを短縮します。4 面検査 (上面、底面、側面 2 面) で 4 台のカメラを同期撮影する構成が一般的です。
ラインスキャンカメラ: 連続搬送される製品 (フィルム、鋼板、布地) の検査には、1 ラインずつ撮影するラインスキャンカメラが最適です。搬送速度とスキャンレートを同期させ、歪みのない画像を取得します。8K (8,192 px) ラインカメラで幅 1m を撮影すると、分解能は約 0.12mm/px です。
検査システムの構築と運用 - 導入から品質管理まで
画像検査システムを実際に製造ラインに導入する際の手順、評価方法、運用上の注意点を解説します。技術的な実装だけでなく、品質管理の観点からの要件も重要です。
導入手順:
- 要件定義: 検出すべき欠陥の種類・サイズ・許容率を明確化。「傷 0.1mm 以上を 99.9% 検出」のように定量化する
- 照明・光学系の選定: サンプルを使った照明テストで最適な組み合わせを決定
- アルゴリズム開発: 良品・不良品サンプルで検出ロジックを開発・チューニング
- 性能評価: 1000 個以上のサンプルで検出率と過検出率を統計的に評価
- ライン統合: PLC との通信、排出機構との連携、生産管理システムとの接続
性能指標:
- 検出率 (Detection Rate): 不良品を正しく NG と判定する割合。目標 99.9% 以上
- 過検出率 (False Positive Rate): 良品を誤って NG と判定する割合。目標 0.1% 以下
- 見逃し率 (Escape Rate): 不良品を OK と判定する割合。目標 0.01% 以下
運用上の課題と対策:
- 照明の経年劣化: LED の輝度低下を定期的にモニタリングし、閾値を自動補正する
- 製品の仕様変更: 新製品や仕様変更時にマスター画像やパラメータの更新が必要
- 環境変動: 温度変化による光学系のドリフトを補正する自動キャリブレーション機能
トレーサビリティ: 検査画像と判定結果を全数保存し、後から不良原因の追跡を可能にします。1 日 10 万個の検査で画像サイズ 500KB/枚の場合、1 日約 50GB のストレージが必要です。30 日保存で 1.5TB、NAS やクラウドストレージで管理します。