Skip to main content

Overview

This page provides comprehensive benchmark results for PatchCore models on the MVTec AD industrial anomaly detection dataset.

Summary Performance

Mean performance across all 15 MVTec AD categories:
The ensemble model combines Wide ResNet-101, ResNeXt-101, and DenseNet-201 backbones for superior performance.

Model Configurations

WideResNet50 Baseline

Configuration:
  • Backbone: Wide ResNet-50
  • Layers: layer2, layer3
  • Image size: 224×224
  • Coreset: 10%
  • Embeddings: 1024 → 1024
  • Patch size: 3
  • Neighbors: 1
Model ID: IM224_WR50_L2-3_P01_D1024-1024_PS-3_AN-1

Ensemble Model

Configuration:
  • Backbones: Wide ResNet-101, ResNeXt-101, DenseNet-201
  • Layers: layer2+layer3 (ResNets), denseblock2+denseblock3 (DenseNet)
  • Image size: 224×224
  • Coreset: 1%
  • Embeddings: 1024 → 384
  • Patch size: 3
  • Neighbors: 1
Model ID: IM224_Ensemble_L2-3_P001_D1024-384_PS-3_AN-1

Per-Category Performance

Object Categories

Bottle

Cable

Capsule

Hazelnut

Metal Nut

Pill

Screw

Toothbrush

Transistor

Transistor is the most challenging category due to complex, small-scale defects.

Zipper

Texture Categories

Carpet

Grid

Leather

Tile

Wood

Metric Definitions

Image-Level AUROC

Area Under Receiver Operating Characteristic curve for image-level anomaly classification.
  • Task: Binary classification (normal vs. anomalous)
  • Range: 0% to 100% (higher is better)
  • Interpretation: Probability that a randomly chosen anomalous image scores higher than a randomly chosen normal image

Pixel-Level AUROC

Area Under ROC curve for pixel-wise anomaly localization.
  • Task: Pixel-level anomaly segmentation
  • Range: 0% to 100% (higher is better)
  • Evaluation: Per-pixel classification accuracy

PRO Score (Per-Region Overlap)

Measures the overlap between predicted and ground truth anomalous regions at various thresholds.
  • Task: Anomaly region localization quality
  • Range: 0% to 100% (higher is better)
  • Calculation: Integrated precision over multiple overlap thresholds
  • Focus: Connected component-level accuracy
PRO score is more sensitive to localization accuracy than pixel-level AUROC, especially for small defects.

Evaluation Metrics

Each model reports five key metrics:
  1. instance_auroc - Image-level anomaly detection AUROC
  2. full_pixel_auroc - Pixel-level AUROC across all test images
  3. full_pro - PRO score across all test images
  4. anomaly_pixel_auroc - Pixel-level AUROC on anomalous images only
  5. anomaly_pro - PRO score on anomalous images only

Results Variability

Performance may vary slightly due to:
  • Random seed - Affects coreset sampling
  • Hardware differences - GPU/CPU implementations
  • FAISS version - Nearest neighbor search variations
  • Software versions - PyTorch, timm, etc.
Typical variance: ±0.1-0.3% AUROC across different runs

Reproducing Results

WideResNet50 Baseline

Ensemble Model

Higher Resolution Results

Models trained on 320×320 images:

IM320 WideResNet50

Mean Performance:
  • Image AUROC: 99.3%
  • Pixel AUROC: 97.8%
  • PRO Score: 94.3%
Configuration: IM320_WR50_L2-3_P001_D1024-1024_PS-3_AN-1

IM320 Ensemble

Mean Performance:
  • Image AUROC: 99.6%
  • Pixel AUROC: 98.2%
  • PRO Score: 94.9%
Configuration: IM320_Ensemble_L2-3_P001_D1024-384_PS-3_AN-1
Higher resolution models (320×320) provide better pixel-level localization for larger images but require more memory.

State-of-the-Art Comparison

PatchCore achieves competitive or superior results compared to other methods on MVTec AD:

Training Time

Approximate training times on RTX 3090 GPU: Note: “Training” refers to coreset extraction and memory bank construction (no gradient updates).

Inference Time

Approximate inference times on RTX 3090 GPU (per image):

Memory Requirements

Training

Inference

Best Practices

  1. For production: Use WR50 baseline (best speed/accuracy trade-off)
  2. For highest accuracy: Use ensemble model
  3. For larger images: Train at 320×320 resolution
  4. For limited memory: Reduce coreset percentage or use smaller backbone
  5. For fastest inference: Use ResNet-50 instead of Wide ResNet-50

Citation

These results are based on: