Skip to content
/ BGAD Public

[CVPR 2023] Pytorch Implementation for CVPR2023 paper: Explicit Boundary Guided Semi-Push-Pull Contrastive Learning for Supervised Anomaly Detection

Notifications You must be signed in to change notification settings

xcyao00/BGAD

Repository files navigation

PyTorch implementation for CVPR2023 paper, Explicit Boundary Guided Semi-Push-Pull Contrastive Learning for Supervised Anomaly Detection.


Installation

Install all packages with this command:

$ python3 -m pip install -U -r requirements.txt

Download Datasets

Please download MVTecAD dataset from MVTecAD dataset and BTAD dataset from BTAD dataset.

Training

  • Run code for training MVTecAD
python main.py --flow_arch conditional_flow_model --gpu 0 --data_path /path/to/your/dataset --with_fas --data_strategy 0,1 --num_anomalies 10 --not_in_test --exp_name bgad_fas_10 --focal_weighting --pos_beta 0.01 --margin_tau 0.1
  • Run code for training BTAD
python main.py --flow_arch conditional_flow_model --gpu 0 --dataset btad --data_path /path/to/your/dataset --with_fas --data_strategy 0,1 --num_anomalies 10 --not_in_test --exp_name bgad_fas_10 --focal_weighting --pos_beta 0.01 --margin_tau 0.1

Testing

  • Run code for testing
python test.py --flow_arch conditional_flow_model --gpu 0 --checkpoint /path/to/output/dir --phase test --pro 

Citation

If you find this repository useful, please consider citing our work:

@article{BGAD,
      title={Explicit Boundary Guided Semi-Push-Pull Contrastive Learning for Supervised Anomaly Detection}, 
      author={Xincheng Yao and Ruoqi Li and Jing Zhang and Jun Sun and Chongyang Zhang},
      year={2023},
      booktitle={Conference on Computer Vision and Pattern Recognition 2023},
      url={https://arxiv.org/abs/2207.01463},
      primaryClass={cs.CV}
}

Acknowledgement

This repository is built using the timm library, the CFLOW repository and the FrEIA repository.

If you are interested in our work, you can also follow our other works: PMAD (AAAI2023), FOD (ICCV2023), HGAD (ECCV2024), ResAD (NeurIPS2024). Or, you can follow our github page xcyao00.

About

[CVPR 2023] Pytorch Implementation for CVPR2023 paper: Explicit Boundary Guided Semi-Push-Pull Contrastive Learning for Supervised Anomaly Detection

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published