Official PyTorch implementation of the ICCV'23 paper “Anomaly Detection under Distribution Shift”
Create suitable conda environment:
conda env create -f environment.yml
-MNIST_grey: https://www.kaggle.com/datasets/jidhumohan/mnist-png
-MNIST_M: https://www.kaggle.com/datasets/aquibiqbal/mnistm
-PACS: https://www.kaggle.com/datasets/nickfratto/pacs-dataset
-MVTEC: https://www.mvtec.com/company/research/datasets/mvtec-ad
-CIFAR-10: https://www.kaggle.com/datasets/swaroopkml/cifar10-pngs-in-folders
To generate currupted data for MVTEC:
python generate_corrupted_mvtec.py
To generate currupted data for CIFAR-10:
python generate_corrupted_cifar10.py
To train the model, please run the corresponding file train_namedataset_DINL.py
For example, to train DINL for PACS:
python train_PACS_DINL.py
Note: change the path to the normal image for each dataset if needed.
To run the inference, please run the corresponding file inference_namedataset_ATTA.py
For example, to train ATTA for PACS:
python inference_PACS_ATTA.py
Please cite this paper if it helps your research:
@article{cao2023anomaly,
title={Anomaly Detection under Distribution Shift},
author={Cao, Tri and Zhu, Jiawen and Pang, Guansong},
journal={arXiv preprint arXiv:2303.13845},
year={2023}
}