R&D
CENTER

異常検知アルゴリズムの選び方 — 11種をどの場面で使うか

PaDiM、PatchCore、AnomalyDINO、WinCLIP、EfficientAD など、AD Workbench の11のアルゴリズムは成果物が同じでも得意分野が異なります。データ量、部品が固定されているか、解像度、タクトタイムに応じた選定基準を整理します。

基本4 分0 閲覧
この講座のポイント
  1. アルゴリズムは大きく「一度走査して特徴を集める方式(1-pass)」と「ニューラルネットワークを学習する方式(勾配降下)」に分かれます。
  2. 正常画像が少ないほど事前学習ベースのモデル(WinCLIP、AnomalyDINO)が、多いほど PatchCore・Dinomaly2 が有利です。
  3. 治具で固定された部品には位置ごとの基準を持つ PaDiM・PatchCore が、位置が変動する部品には AnomalyDINO が向いています。
  4. 選びにくい場合は、複数にチェックを入れ、Auto Run で同じデータから一度に比較するのが最も確実です。

AD Workbench のアルゴリズムは、いずれも同じ結果物を出力します。ピクセルごとの異常度ヒートマップと画像の代表スコアで、判定は score ≥ Threshold → NG です。違いは、何で特徴を抽出し、異常度をどう測るかにあります。この違いが、必要なデータ量、速度、得意な欠陥の種類を左右します。

2つの学習方式

A. 統計・特徴収集型 (1-pass) — PaDiM、PatchCore、SPADE、AnomalyDINO、WinCLIP、HoleMetric、Tiled 2種

正常画像を一度走査して特徴を集めたり、平均・共分散を計算したりします。逆伝播がないため epoch の概念がなく、学習は数秒〜数分で終わります。一方、集めた特徴を保存するため、モデルファイルが大きくなることがあります。

B. 勾配降下学習型 — EfficientAD、FastFlow (20 epochs)、Dinomaly2 (5,000 iterations)

ニューラルネットワークの重みを実際に学習するため、時間がかかります。その代わり推論が速く、モデルファイルが小さくなります。ラインのタクトタイムが厳しい場合の候補になります。

11種の一覧

アルゴリズム 特徴抽出 異常度の計算 主な強み
PaDiM WideResNet50-2 位置ごとのガウス分布とのマハラノビス距離 位置固定の対象、欠陥位置が鮮明
PatchCore WideResNet50-2 メモリバンクとの k 近傍距離 最高水準の精度(推奨の標準)
SPADE WideResNet50-2 類似した正常K枚との位置ごとの最小距離 シンプル、小規模データで素早く構築
WinCLIP CLIP ViT-B-16+ 「正常/不良」のテキストとの類似度 正常画像がほぼなくてもすぐ試せる
EfficientAD 軽量の専用ネットワーク Teacher–Student の不一致 + 再構成誤差 推論が非常に高速
FastFlow WideResNet50-2 Normalizing Flow による確率密度 モデルが小さく推論が高速
AnomalyDINO DINOv2 ViT パッチトークンの最近傍コサイン距離 複雑形状、few-shot、位置変動
Dinomaly2 DINOv2 + デコーダ エンコーダとデコーダの特徴の差 複数ビューを1つのモデルに統合
HoleMetric 従来型ビジョン 位置合わせ後のピクセル・セル統計 穴・セル単位の微細形状、CPU、学習3秒
AnomalyDINO Tiled DINOv2 ViT-B/14 原寸解像度のタイルごとのバンク 高解像度の微細欠陥、異物・欠け
PatchCore Tiled WideResNet50-2 タイルごとの coreset バンク 正常20枚以上、微細な表面欠陥

基盤モデル(Foundation Model)がもたらした変化

WinCLIP、AnomalyDINO、Dinomaly2 は、1億枚を超える画像で事前学習された汎用ビジョンモデル(CLIP、DINOv2)の特徴をそのまま利用します。これらのモデルは「物体の構造」をよく表現するよう学習済みのため、正常画像が数枚しかなくても、正常と異常を区別できる特徴を抽出します。WinCLIP は画像と文章を一緒に学習した CLIP を使うので、正常画像が0枚でも、「傷のない部品」と「傷のある部品」という文章との類似度で判定を試みます(Zero-shot)。データを集める前に検査が可能かどうかを見極める用途に役立ちます。

高解像度の微細欠陥 — タイル方式

多くのモデルは、画像を512ピクセル前後に縮小して処理します。2048ピクセルの原画像を4分の1に縮小すると、直径4ピクセルの穴の詰まりは1ピクセルになって消えてしまいます。タイル方式では、まず部品を位置合わせしたうえで、原寸解像度のまま518ピクセルのタイル(10%オーバーラップ)に分割し、タイルごとに別々のバンクを作ります。原寸では穴ひとつが4×4パッチとして見えるため、セル単位の欠陥が特徴に残ります。

HoleMetric はディープラーニングを使わず、位置合わせと統計によって穴(セル)ごとの明るさ・暗部の比率・ばらつきを計測し、どのセルが原因でNGになったかを cell_report.csv で説明します。不定形の異常(異物、欠け)に強い AnomalyDINO Tiled と併用する構成を推奨します。

選定ガイド

状況 推奨 理由
正常0〜10枚(実現性の検討) WinCLIP · AnomalyDINO Zero/Few-shot ですぐ試せる
正常10〜50枚 AnomalyDINO · SPADE · HoleMetric · Tiled 学習を伴わないバンク・統計方式
正常50〜300枚 PatchCore · AnomalyDINO · PaDiM 最高水準の精度
正常300枚以上 PatchCore · Dinomaly2 ビューが複数なら Dinomaly2 ひとつで対応
治具で固定、常に同じ位置 PaDiM · PatchCore · HoleMetric 位置ごとの基準が正確に合う
対象が移動する、または少し回転する AnomalyDINO 位置変化に比較的強い
コネクタ・射出成形品などの複雑形状 AnomalyDINO · Dinomaly2 複雑な構造の表現に有利
穴・ピンの微細形状(2048px) HoleMetric + AnomalyDINO Tiled 原寸解像度でセル単位の計測
インラインのタクトが厳しい EfficientAD · FastFlow 推論が速くモデルが軽い

最終的には実験で決める

上の表はあくまで出発点です。同じ部品でも、照明や欠陥の種類によって順位が入れ替わります。AD Workbench では、Setup で候補のアルゴリズムを複数チェックして Auto Run を実行すると、同じ学習・評価データですべて実行され、スコア分布とヒートマップを並べて比較できます。比較の基準はモデル評価と現場運用で扱います。