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 use ATTA for PACS:
python inference_PACS_ATTA.py
The paper is available at ICCV'23 proceedings or arXiv.
Please cite this paper if it helps your research:
@InProceedings{Cao_2023_ICCV,
author = {Cao, Tri and Zhu, Jiawen and Pang, Guansong},
title = {Anomaly Detection Under Distribution Shift},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
month = {October},
year = {2023},
pages = {6511-6523}
}