Industrial anomaly detection
99% が並んだ表からは、
手法を選べない。
産業用異常検知の代表的な手法を、MVTec AD の Image-level AUROC で並べたものです。上位 8 手法は 1 ポイントの中にいます。
ここに並ぶのは当社の製品ではなく、分野そのものの現在地です。 そして数字を並べて分かるのは、順位ではなく「この指標ではもう差がつかない」という事実のほうでした。 条件を揃えて測り直すと、同じ手法が別の顔を見せます。
各論文が報告した値(自己報告値)。設定はそろっていません ── クラス個別・多クラス統合・少数ショット・ゼロショットが同じ軸の上に乗っています。 設定つきの一覧を見る →
Experiment 01
同じ手法を、
同じ条件で測り直すと。
上の 99% は、それぞれの著者が自分の都合のよい条件で出した値です。 バックボーンも解像度も学習エポックも揃っていません。
第三者が同一のコードベース・同一の条件で実装し直したベンチマークが 3 つあります。 自己報告値からそこへ線を引くと、落ちない手法と、崩れる手法がはっきり分かれます。
左=各論文の自己報告値 / 右=選んだベンチマークでの再実装値(MVTec AD Image-level)。 青い線は 5 ポイント以上落ちた手法です。両方に値がある手法だけを結んでいます。
崩れるのは、実装の粗さではない。
DRAEM は IM-IAD(クラス個別)では 0.981 と自己報告 98.0 をほぼ再現します。 ADer で 54.5 まで落ちるのは、1 モデルで全品種を扱う設定に設計が合っていないからです。 再現しないのではなく、その設定では機能しない。
落ちない手法がある。
PatchCore は 3 つのベンチマークすべてで上位です (自己報告 99.1 → ADer 98.8 / IM-IAD 0.992 / anomalib 0.980)。 学習を一切しない方式であることが、設定を変えても崩れない理由になっています。
上位には、表に無い手法がいる。
ADer の多クラス統合で最も高いのは InvAD 98.9、次いで PatchCore 98.8、MambaAD 98.5、ViTAD 98.4。 InvAD・ViTAD・MambaAD は下の一覧表(リポジトリの SOTA 表)に載っていません。 一覧に載っていることと、強いことは別です。
How to read
同じ「AUROC」でも、
測っているものが違う。
数字の横に必ず書いてあるべきものが 4 つあります。 この 4 つが揃っていない比較は、比較になっていません。
クラス個別(品種ごとに学習)/多クラス統合(1 モデルで 15 品種)/少数ショット(正常画像 2〜8 枚)/ ゼロショット(正常画像 0 枚)/ノイズ混入学習/異常サンプルを使う教師あり。 すべて別の課題です。UniAD 96.5 は多クラス統合、 RegAD 85.7 は 2-shot、BGAD 99.3 は異常 10 枚を使った教師あり。 横に並べて高い低いを言えません。
anomalib の同一実装で、FastFlow は ResNet-18 0.907/ Wide ResNet-50 0.963/DeiT 0.925/CaiT 0.944 と 0.056 の幅があります。バックボーンが揃っていない 2 つの論文値の差は、手法の優劣ではありません。
IM-IAD の同一条件で、PatchCore は MVTec AD 0.992・MTD 0.975 で首位ですが、 MPDD では CS-Flow 0.973、BTAD では PaDiM 0.965、 LOCO・VisA・DAGM では RD4AD に負けます。1 つのデータセットで選んだ手法は、別のデータセットでは 1 位ではありません。
SAA / SAA+ はゼロショットセグメンテーションなので max-F1(画素 39.40/領域 49.67)のみ、 AD-Copilot は MLLM ベースで MMAD 正答率 82.3% のみを報告しています。 空欄にせず「報告していない」と書くのが正しい扱いです。 AUROC の読み方そのものは 評価と運用の読み方 →
※ AUROC はしきい値を決めずに分離の良さだけを見る指標です。 現場で必要なのは「どこに線を引くか」であって、そこから先は見逃し率・過検出率・適合率の話になります。
Experiment 02
選ぶ材料は、
順位ではなく条件のほうにある。
現場の条件を 4 つ選ぶと、その条件で測られたベンチマークの行を出します。 推薦ではなく、どの表を見るべきかの案内です。
—
—
| 手法 | 値 | その値の出どころ |
|---|
※ ここに出るのは公開ベンチマークの行を選んで並べ替えているだけで、当社の再実験ではありません。 また、当社が特定の手法を採用していることを意味するものでもありません。
The list
設定つきの一覧。
GitHub リポジトリ awesome-industrial-anomaly-detection の SOTA methods with code 表(全 29 手法)に、 各原論文から採ってきた MVTec AD Image-level AUROC と、その設定を付けたものです。
リポジトリの表そのものには AUROC は載っていません。 列は Title / Venue / Date / Code / topic だけです。ここに並ぶ数値は、当社が各論文の該当表・本文を 1 件ずつ当たって採取しました(2026-09-01 時点)。
29 手法を表示しています。
評価が無い手法・AUROC を報告していない手法は、常に末尾にまとめます。
| 手法 | 発表 | 設定 | MVTec AD I-AUROC | 出典 |
|---|
※ PatchCore の 99.1 は WideResNet-50・224px の標準設定、
99.6 は 3 バックボーンのアンサンブル+320px です。他手法との比較では通常 99.1 が引かれます。
※ AnoVL は arXiv v2 で AnoCLIP に改称されています(リポジトリ表記は AnoVL のまま)。
Beyond MVTec AD
まだ空いている場所は、
別のデータセットにある。
MVTec AD が飽和しているだけで、分野が解けたわけではありません。 評価の軸はすでに他のベンチマークへ移っています。
| データセット | 現時点の最良 I-AUROC | 手法 | 読み取れること |
|---|---|---|---|
| MVTec AD | 99.9 | Dinomaly2 | 飽和。手法の識別力はもう無い |
| VisA | 99.3 | Dinomaly2 | ほぼ飽和 |
| MPDD | 99.0 | Dinomaly2 | RealNet 96.35 から急伸。手法間の差が最も出るデータセット |
| BTAD | 97.7 | SoftPatch | Dinomaly2 97.5 が僅差 |
| MVTec 3D-AD | 97.4 | Dinomaly2 | M3DM 94.5(RGB+3D 融合)を更新 |
| MVTec LOCO | 96.1 | SALAD | 論理異常は依然として難しい |
| Real-IAD | 92.1 | Dinomaly2 | 最も余地の大きい 2D ベンチマーク |
| Real3D-AD | 70.4 | Reg3D-AD | 未解決領域。多くのベースラインが 60% 未満 |
出典: 各手法の原論文および Real3D-AD (NeurIPS 2023)。この表は「そのデータセットで最も高い値」であって、汎用の順位ではありません。
論理異常は、別の問題として扱う。
IM-IAD の統一条件で MVTec LOCO の論理異常だけを見ると、 GCAD 0.860 に対して RD4AD 0.694、PatchCore 0.690。 MVTec AD の強豪が下位に沈みます。 局所パッチの距離では「部品が 1 個足りない」を捉えられない、という構造的な限界がそのまま数字に出ています。
点群は、まだ誰も解いていない。
Real3D-AD(360° スキャン点群)では、提案手法の Reg3D-AD でも 70.4。 PatchCore(FPFH+Raw) 68.2、M3DM(PointMAE) 55.2。 2D で 99% が並ぶ横で、3D はこの水準です。
Few shot
立ち上げの現実は、
「良品が数枚しかない」。
量産前に良品を数百枚集められる現場のほうが少ない。 正常画像が数枚しかないとき、順位はまた入れ替わります。
AnomalyDINO と PatchCore はほぼ同じ方式です ── 正常パッチの特徴をメモリに貯めて、最近傍距離を測るだけ。学習はしません。 違うのはバックボーン(Wide ResNet-50 / ImageNet → DINOv2)と背景マスクだけです。 つまり両者の差は、アルゴリズムの工夫ではなく視覚特徴そのものの質の差を測っています。
| 正常画像の枚数 | PatchCore | AnomalyDINO | 差 |
|---|---|---|---|
| 1 枚 | 83.4 ±3.0 | 96.6 ±0.4 | +13.2 |
| 2 枚 | 86.3 ±3.3 | 96.9 ±0.7 | +10.6 |
| 4 枚 | 88.8 ±2.6 | 97.7 ±0.2 | +8.9 |
| 16 枚 | 同論文で未報告 | 98.4 ±0.1 | — |
| 全データ | 99.1 | 同論文で未報告 | — |
出典: AnomalyDINO (WACV 2025) Table 2 / Table 3。MVTec AD Image-level AUROC、AnomalyDINO-S (672)。 PatchCore の 83.4 は「弱い」という意味ではありません ── 全データ学習用に設計された手法を 1 枚だけで動かした数値で、設計意図の外の使い方です。
1 枚が、4 枚に勝つ。
AnomalyDINO の 1 枚 96.6 が、PatchCore の 4 枚 88.8 を上回ります。 差はショット数を増やしても埋まりません。
ばらつきの小ささが効く。
1 枚での標準偏差は PatchCore ±3.0 に対し AnomalyDINO ±0.4。 「どの 1 枚を選ぶか」で結果が振れないぶん、立ち上げのサンプル選定に神経を使わずに済みます。
それでも万能ではない。
正常画像 0 枚のバッチゼロショットでは MuSc 97.8 に対し AnomalyDINO 94.2。 全データが使えるなら PatchCore 99.1 が依然強い。優位は「数枚しかない」局面に限られます。
Where it sits
当社が見ているのは、
この表の手前です。
ここまでの数字は、与えられた画像をどう判定するかの競争です。 当社が持ち込んでいるのは、その手前 ── 何を画像として渡すかのほうです。
同じ判定手法でも、渡す画像が Live か Surface Normal かで分布の重なり方が変わります。 指標が飽和したあとに効くのは、入力の質のほうです。
このページの数値は、当社製品の性能ではありません。 当社の評価出力は 評価と運用の読み方 → に、混同行列のまま置いてあります。
Contact
表の順位ではなく、
お手元のサンプルで確かめる。
どの手法が合うかは、品種の増え方・学習データの清浄度・見つけたい異常の種類で変わります。 お預かりしたサンプルで評価を回し、スコアの分布と混同行列をそのままお見せするところからご相談ください。
