Skip to content

Junhua-ele/CPR_qjh

Repository files navigation

PWC

CPR

Official PyTorch implementation of CPR

Datasets

We use the MVTec AD dataset for experiments. And use DTD data set to simulate anomalous image.

The data directory is as follows:

data
├── dtd
│   ├── images
│   ├── imdb
│   └── labels
└── mvtec
    ├── bottle
    │   ├── ground_truth
    │   ├── license.txt
    │   ├── readme.txt
    │   ├── test
    │   └── train
    ...
    └── zipper
        ├── ground_truth
        ├── license.txt
        ├── readme.txt
        ├── test
        └── train

Installation

pytorch

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

pip install -r requirements.txt

generate foreground and global retrieval result

python tools/generate_foreground.py
python tools/generate_retrieval.py

Training

generate synthetic data

python tools/generate_synthetic_data.py -fd log/foreground_mvtec_DenseNet_features.denseblock1_320

bash train.sh

Testing

python test.py -fd log/foreground_mvtec_DenseNet_features.denseblock1_320/ --checkpoints weights/{category}.pth

Pretrained Checkpoints

Download pretrained checkpoints here and put the checkpoints under <project_dir>/weights/.

Baidu Netdisk: https://pan.baidu.com/s/1FTE4b2G8nVZt4lUyaP-kIQ?pwd=ky7j

Acknowledgement

We borrow some codes from PatchCore, MemSeg and SuperPoint

Citation

@ARTICLE{10678861,
  author={Li, Hanxi and Hu, Jianfei and Li, Bo and Chen, Hao and Zheng, Yongbin and Shen, Chunhua},
  journal={IEEE Transactions on Image Processing}, 
  title={Target Before Shooting: Accurate Anomaly Detection and Localization Under One Millisecond via Cascade Patch Retrieval}, 
  year={2024},
  volume={33},
  number={},
  pages={5606-5621},
  keywords={Accuracy;Anomaly detection;Measurement;Standards;Prototypes;Image retrieval;Image reconstruction;Anomaly detection;image patch retrieval;metric learning},
  doi={10.1109/TIP.2024.3448263}
}

About

The impelmentation of CPR

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors