ATSAnomaly 異常検出

正常な OK 画像のみから特徴量バンクを構築し、新しい画像が正常分布から外れているかを判定する用途に適します。現在の実装は PatchCore 手法に基づき、通常の分類のような複数エポックの勾配学習は行いません。

学習データと校正データ

学習フォルダーと独立した校正フォルダーには OK 画像のみを入れます。校正先が空欄の場合、内容による重複除去後、固定乱数シード 42 で約 20% を校正に確保します。少なくとも異なる画像が 3 枚必要です。校正画像は特徴量バンクの構築に使わず、学習と独立校正で内容が重複するとエラーにします。

OK 画像だけで推定したしきい値から、欠陥再現率、誤検出率、本番精度を測定済みとは言えません。独立した OK/NG サンプルで業務上の性能を確認してください。

構築パラメーター

パラメーター 作用
バックボーン ResNet18(高速)または Wide ResNet50-2(高容量)。同梱の事前学習済み重みを使用し、パラメーターは固定します。
画像サイズ 既定値 256。画像全体を正方形へリサイズし、中央クロップで端を切りませんが、縦横比が変わる場合があります。64~1024 かつ 32 の倍数です。
抽出バッチサイズ 既定値 2、範囲 1~16。特徴量抽出のバッチサイズを決めます。GPU メモリーが不足する場合は小さくしてください。
コアセット保持率 既定値 0.01。候補特徴量の保持率であり、学習画像の保持率ではありません。
候補特徴数の上限 既定値 50000。超過時は上限付きサンプリングを行い、コアセット選択に使う候補数を制限します。
コアセット特徴量数上限 既定値 5000。最終特徴量バンクの特徴量数を制限します。

最終コアセット数は min(コアセット特徴量数上限, max(1, int(候補特徴量数 × 保持率))) です。特徴量バンクや画像サイズを大きくすると、通常はメモリー、GPU メモリー、推論計算量が増えます。

このページには学習率、オプティマイザー、epochs、早期終了の設定はありません。進捗は正常特徴量の抽出、コアセットのサンプリング、OK しきい値の校正で構成されます。

しきい値と推論

モデルは model.patchcore.pt として保存します。推論はこのページの「異常推論検証」で行い、単一画像または画像フォルダーに対応します。

異常スコアは特徴量の距離であり、確率ではないため、0~1 に収まる必要はありません。構築時に OK 校正スコアから画像単位と画素単位のしきい値を推定します。推論のしきい値倍率は既定で 1 です。1 未満では感度が上がり、1 を超えると判定が緩やかになります。画像スコアが画像しきい値に達すると NG と判定され、画素マスクは画素しきい値で決まります。両者は異なる統計量です。

結果には OK/NG、異常スコア、ヒートマップ、重ね合わせ画像、マスク、生スコアマップ、JSON/CSV が含まれます。生成結果を再び入力として読み込まないよう、出力先を入力画像フォルダー内に指定することはできません。

このモデル形式は汎用 ONNX、通常の分類 PT、クラシック推論モデルとは異なります。メインの「モデル推論検証」では選択しないでください。CPU と単一の NVIDIA GPU のどちらも、独立した異常検出環境を使用します。

全範囲は異常検出パラメーター表を参照してください。