← LeaderboardThe Skill Leaderboard

anomaly-detection-papers-guide

Industrial anomaly detection methods and benchmark papers

Published by brycewang-stanford β†—brycewang-stanford/Auto-Empirical-Research-Skills

Try your first task

anomaly-detection-papers-guide

Start a fresh conversation. Replace the highlighted placeholders.

Use anomaly-detection-papers-guide to develop an industrial visual-anomaly-detection experiment for [dataset], comparing suitable methods from the documented taxonomy and reporting image-level and pixel-level performance with a deployment-oriented recommendation.

Required inputs

  • [dataset]

User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence β†—

SKILL.md

name: anomaly-detection-papers-guidedescription: "Industrial anomaly detection methods and benchmark papers"metadata:   openclaw:     emoji: "πŸ”"    category: "domains"    subcategory: "ai-ml"    keywords: ["anomaly detection", "industrial inspection", "defect detection", "MVTec", "unsupervised AD", "visual inspection"]    source: "https://github.com/M-3LAB/awesome-industrial-anomaly-detection"

Industrial Anomaly Detection Papers Guide

Overview

Industrial anomaly detection uses machine learning to identify defects, faults, and anomalies in manufacturing and quality inspection. This curated collection covers methods from reconstruction-based (autoencoders) to memory-bank approaches (PatchCore), normalizing flows, knowledge distillation, and foundation model-based detectors. Includes benchmark datasets, evaluation metrics, and real-world deployment considerations.

Method Taxonomy

Anomaly Detection Methods
β”œβ”€β”€ Reconstruction-based
β”‚   β”œβ”€β”€ Autoencoder (AE, VAE)
β”‚   β”œβ”€β”€ GAN-based (AnoGAN, GANomaly)
β”‚   └── Diffusion-based (AnoDDPM)
β”œβ”€β”€ Embedding-based
β”‚   β”œβ”€β”€ Memory bank (PatchCore, PaDiM)
β”‚   β”œβ”€β”€ Knowledge distillation (STPM, RD4AD)
β”‚   └── Self-supervised (CutPaste, DRAEM)
β”œβ”€β”€ Normalizing Flows
β”‚   β”œβ”€β”€ FastFlow, CFLOW-AD, CS-Flow
β”‚   └── DifferNet
β”œβ”€β”€ Foundation Models
β”‚   β”œβ”€β”€ CLIP-based (WinCLIP, AnomalyCLIP)
β”‚   β”œβ”€β”€ SAM-based (GroundedSAM-AD)
β”‚   └── Vision-language (AnomalyGPT)
└── 3D Anomaly Detection
    β”œβ”€β”€ Point cloud methods
    └── Multi-modal (RGB + 3D)

Key Methods

MethodYearApproachMVTec AUROC
PatchCore2022Memory bank99.1%
PaDiM2021Multivariate Gaussian97.9%
RD4AD2022Knowledge distillation98.5%
FastFlow2022Normalizing flow99.4%
SimpleNet2023Feature adaptation99.6%
WinCLIP2023CLIP zero-shot95.2%
AnomalyGPT2024Vision-language96.3%

Benchmark Datasets

benchmarks = {
    "MVTec AD": {
        "categories": 15,
        "images": 5354,
        "type": "Product/texture defects",
        "annotation": "Pixel-level masks",
    },
    "MVTec 3D-AD": {
        "categories": 10,
        "images": 4147,
        "type": "3D point cloud + RGB",
    },
    "VisA": {
        "categories": 12,
        "images": 10821,
        "type": "Complex structure anomalies",
    },
    "BTAD": {
        "categories": 3,
        "images": 2830,
        "type": "Industrial body/surface",
    },
    "MPDD": {
        "categories": 6,
        "images": 1064,
        "type": "Metal parts defects",
    },
}

for name, info in benchmarks.items():
    print(f"{name}: {info['categories']} categories, "
          f"{info['images']} images β€” {info['type']}")

Quick Implementation

# PatchCore-style anomaly detection
from anomalib.data import MVTec
from anomalib.models import Patchcore
from anomalib.engine import Engine

# Setup dataset
datamodule = MVTec(
    root="./datasets/MVTec",
    category="bottle",
    image_size=(256, 256),
)

# Initialize model
model = Patchcore(
    backbone="wide_resnet50_2",
    layers=["layer2", "layer3"],
    coreset_sampling_ratio=0.1,
)

# Train and test
engine = Engine()
engine.fit(model=model, datamodule=datamodule)
results = engine.test(model=model, datamodule=datamodule)
print(f"Image AUROC: {results[0]['image_AUROC']:.3f}")
print(f"Pixel AUROC: {results[0]['pixel_AUROC']:.3f}")

Evaluation Metrics

# Standard anomaly detection metrics
from sklearn.metrics import roc_auc_score
import numpy as np

# Image-level: Is this image anomalous?
image_auroc = roc_auc_score(y_true_image, y_score_image)

# Pixel-level: Where is the anomaly?
pixel_auroc = roc_auc_score(
    y_true_pixel.flatten(), y_score_pixel.flatten()
)

# PRO metric: Per-Region Overlap
# Better than pixel AUROC for small anomalies
# Weights each connected anomaly region equally

Research Frontiers

### Active Directions (2024-2025)
1. **Zero/few-shot AD** β€” Detect anomalies without normal training data
2. **Multi-class unified** β€” One model for all product categories
3. **Foundation model AD** β€” CLIP/SAM/LLM-based detection
4. **Logical anomalies** β€” Structural/contextual defects
5. **Continual learning** β€” Adapt to new defect types
6. **3D anomaly detection** β€” Point cloud and multi-modal
7. **Real-time deployment** β€” Edge device optimization

Use Cases

  1. Manufacturing QC: Automated visual inspection pipelines
  2. Research benchmarking: Compare new methods on standard datasets
  3. Survey writing: Comprehensive method taxonomy and comparison
  4. Course teaching: Industrial AI and computer vision curricula
  5. Defect analysis: Understanding failure modes and patterns

References

anomaly-detection-papers-guide by brycewang-stanford Β· The Skill Leaderboard