Home

Awesome

Supervised Anomaly Detection for Complex Industrial Images

Official code for our CVPR 2024 paper

VAD repository

Get Started

Enviroment

pip install -r requirements.txt

Data

  1. Download segmentation maps for VisA.
  2. Download anomaly maps for EfficientAD.
  3. Download anomaly maps for RD4AD.
  4. Data structure should look as following:
data
|-- visa_segm
|-- anomaly_maps
|-----|--efficient_ad
|-----|--rd4ad

Train and evaluate

Only VisA dataset is available for now. List of available models: ["efficient_ad", "rd4ad", "all_ad"]. "all_ad" includes both EfficientAD and RD4AD.

python main.py --model efficient_ad

Results

Cl. AUROC (image-level) for SegAD with different sources of anomaly maps.

modelmeancandlecapsulescashewchewinggumfryummacaroni1macaroni2pcb1pcb2pcb3pcb4pipe_fryum
RD4AD + SegAD95.398.580.298.999.496.197.490.796.496.394.199.995.8
EfficientAD + SegAD98.398.789.798.699.998.699.598.199.599.798.499.399.2
All AD + SegAD98.499.090.799.099.998.599.498.199.299.798.399.899.1

Acknowledgement

We use EfficientAD and Anomalib for baseline anomaly detection models. We are thankful for their amazing work!

Citation

Please cite this paper if it helps your project:

@inproceedings{baitieva2024supervised,
      title={Supervised Anomaly Detection for Complex Industrial Images}, 
      author={Aimira Baitieva and David Hurych and Victor Besnier and Olivier Bernard},
      booktitle={CVPR},
      year={2024} 
}