「MVTec ADで99%」では手法を選べない — 産業用異常検知29手法のAUROCを設定付きで比較した
産業用異常検知の手法を選ぶとき、多くの技術者がまず見るのがベンチマークのAUROC値です。ところが上位手法は99%台に密集し、同じ指標名でも測定設定が異なります。本記事では、29手法の値を原論文と公開ベンチマークから採取して整理する過程で見えてきた、AUROCを読むときに最初に確認すべき4要素と、自社の運用条件に対応するベンチマーク設定の選び方を共有します。
なお、本記事に登場する数値はすべて各手法の原論文および公開統一ベンチマーク(ADer / IM-IAD / anomalib)から当社が採取・整理した値であり、当社が測定した実験結果ではありません(調査日: 2026-09-01)。
29手法の一覧表に、AUROCは載っていなかった
異常検知の手法調査で広く参照されている GitHub の awesome-industrial-anomaly-detection には、「SOTA methods with code」として29手法がまとめられています。この表は手法名・論文・実装へのリンクを網羅していますが、AUROCスコアは一切載っていません。
つまり、手法を横断的に比較したい人は、29本の原論文を1本ずつ当たる必要があります。当社はこの作業を実際に行い、各手法の Image-level AUROC(I-AUROC。画像1枚を「正常/異常」に分類する精度の指標)を、測定条件とセットで採取しました。
作業の過程で分かったのは、数値を集めるよりその数値がどんな条件で測られたかを揃えるほうが難しいということでした。
「MVTec ADで99%」が並ぶと、そこから先が選べない
まず、各手法が自己報告している MVTec AD の I-AUROC(教師なし・クラス個別設定)を並べてみます。
| 手法 | MVTec AD I-AUROC(自己報告・クラス個別) |
|---|---|
| Dinomaly2 | 99.9 |
| RealNet | 99.65 |
| SimpleNet | 99.6 |
| PatchCore (ensemble) | 99.6 |
| RD++ | 99.44 |
| PatchCore | 99.1 |

上位10手法が99%台に密集しています。この範囲では、0.1〜0.5ポイントの差が手法の実力差なのか、実装や乱数シードの揺らぎなのかを判別できません。MVTec AD の値だけを見て順位をつけることには、意味のある根拠がありません。
同じ「I-AUROC」でも、測っている条件は6通りある
さらに厄介なのは、同じ「MVTec AD I-AUROC」という名前の数値が、実際には異なる測定設定で得られている点です。主なものだけで6通りあります。
- クラス個別 — 品種ごとに1モデルを学習する(最も一般的な自己報告設定)
- 多クラス統合 — 全品種を1モデルで扱う
- 少数ショット — 正常画像を1〜16枚だけ使う
- ゼロショット — 対象品種の学習画像を使わない
- ノイズ混入 — 学習データに異常画像が混ざる想定
- 教師あり — 異常ラベルを学習に使う
これらは指標名こそ同じですが、解いている問題が違います。AUROCの値は、必ず設定とセットで読む必要があります。
条件を揃えると、見え方が変わる
統一実装で再評価した公開ベンチマーク(ADer など)の値を、自己報告値と並べてみます。ここで重要なのは、値が下がる手法は「弱い手法」なのではなく、その手法が想定している条件と、評価設定が一致していないということです。多くの手法はクラス個別を前提に設計されており、多クラス統合設定に置くと前提が変わります。
| 手法 | 自己報告(クラス個別) | ADer(多クラス統合) |
|---|---|---|
| PatchCore | 99.1 | 98.8 |
| RD4AD | 98.5 | 93.6 |
| SimpleNet | 99.6 | 95.4 |
| RealNet | 99.65 | 84.8 |
| DRAEM | 98.0 | 54.5 |
| CFA | — | 57.6 |

PatchCore は他のベンチマークでも安定しており、IM-IAD 99.2 / anomalib 98.0 と近い水準を保ちます。RD4AD も 93.6 / 98.6 / 98.5 とベンチマーク間で振れつつ高い水準にあります。
一方、多クラス統合設定での上位には、冒頭の SOTA 表に載っていない手法が並びます。InvAD 98.9 / PatchCore 98.8 / MambaAD 98.5 / ViTAD 98.4。より難度の高い Real-IAD では InvAD 89.4 に対し、SimpleNet 54.9・DRAEM 50.9 と差が開きます。
「MVTec AD は飽和した」という言い方も、最新手法群の中でだけ成立する話です。anomalib(seed=42固定)では Dinomaly 0.997 から GANomaly 0.421 まで、0.58 の幅があります。
順位は設定ごとに入れ替わる
設定を変えると、順位そのものが入れ替わります。
- IM-IAD の5設定平均では PatchCore 0.938 が首位
- 継続学習設定(品種が順次追加される想定)では PatchCore 0.919 に対し、RD4AD 0.596・CFA 0.623
- 8-shot 設定では、また別の並びになる

同じ手法群でも、評価する設定を変えるだけでこれだけ結果が動きます。逆に言えば、自社の運用条件に最も近い設定のベンチマークを選べば、選定の精度は大きく上がります。
差を作っていたのは、アルゴリズムだけではなかった
もう一つ、手法選定で見落とされやすいのが backbone(特徴抽出に使う事前学習済みモデル)の寄与です。
AnomalyDINO と PatchCore は、メモリバンクに正常特徴を蓄えて距離で判定するという同じ方式を採り、違いは backbone だけです(PatchCore は ImageNet 学習の WideResNet-50、AnomalyDINO は DINOv2)。少数ショット設定で比較すると差は明確です。
| 設定 | AnomalyDINO | PatchCore |
|---|---|---|
| 1-shot | 96.6 | 83.4 |
| 4-shot | 97.7 | 88.8 |
| ばらつき | ±0.4 | ±3.0 |

AnomalyDINO は 16-shot で 98.4 に達し、全データで学習した PatchCore の 99.1 に 0.7ポイント差まで接近します。ただし全データが使える環境では PatchCore が依然として強く、バッチゼロショット設定では MuSc 97.8 に届きません。
この差はアルゴリズムの改良ではなく、backbone が持つ視覚特徴の品質から来ています。手法名だけで比較していると見えない要素です。
自社の条件から選ぶための6つの目安
以上を踏まえ、運用条件と、参照すべきベンチマーク設定・手法の対応を整理します。
| 自社の運用条件 | 目安となる手法 |
|---|---|
| 安定して動く1手法を選びたい | PatchCore |
| 多クラス統合(1モデルで全品種) | InvAD / Dinomaly 系 |
| 学習データにノイズが混ざる | PatchCore(MVTec系)/ RD4AD(MPDD系) |
| 品種が増え続ける(継続学習) | PatchCore(他手法は 0.31〜0.62 に低下) |
| 論理異常(部品欠落・個数違い) | GCAD / SALAD 系(PatchCore・RD4AD は 0.69 で下位) |
| 少数ショット(8枚程度) | RD4AD / CFA |
自社ラインの品種数、品種追加の頻度、学習データの清浄度、検出したい異常の種類——この4点を先に定めれば、参照すべきベンチマークの設定はおのずと決まります。
29手法の設定付き比較を公開しました
当社は、この調査結果を特設ページ「産業用異常検知 SOTA/AUROC 比較」として公開しました。構成は以下の通りです。
- 問題提起
- 統一条件での再実装比較
- AUROCの読み方4要素(設定・バックボーン・データセット・指標)
- 現場条件を入力するとベンチマークを推薦する選定ツール
- 29手法の設定付き詳細一覧表
- MVTec AD 飽和後の新領域(3D・論理異常)
なお29手法のうち、SAA/SAA+ と AD-Copilot の2手法は Image-level AUROC を報告していないため、一覧では該当欄を空欄としています。
まとめ
ベンチマーク値を見たとき、最初に確認すべきは設定・バックボーン・データセット・指標の4要素です。この4つが自社の運用条件と揃っていない数値は、そのままでは比較材料になりません。逆に、条件を揃えた比較は手法選定の確かな根拠になります。
29手法の設定付き比較一覧と、運用条件からベンチマークを推薦する選定ツールは、特設ページで公開しています。
→ https://www.tomomi-research.com/ad-sota
自社ラインの条件でどのベンチマーク設定を参照すべきかについては、当社(株式会社TOMOMI RESEARCH)へお気軽にご相談ください。


