f-AnoGAN is a GAN for anomaly detection. One of the features of this GAN is that two adversarial networks (Generator and Discriminator) and Encoder are trained separately. In addition, an anomaly score is computed by both a discriminator feature residual error and an image reconstruction error.
Papar
Github
- tSchlegl/f-AnoGAN: Code for reproducing f-AnoGAN training and anomaly scoring
- PyTorch-GAN/wgan_gp.py at master · eriklindernoren/PyTorch-GAN
- PyTorch-GAN/dcgan.py at master · eriklindernoren/PyTorch-GAN
mnist/model.py
, fanogan/train_wgangp.py
and fanogan/train_encoder_izif.py
are modified eriklindernoren's wgan_gp.py
for f-AnoGAN.
mvtec_ad/model.py
is modified eriklindernoren's dcgan.py
for f-AnoGAN.
Python 3.6 or later
PyTorch 1.x
Matplotlib
Numpy
pandas
Pillow
scikit-learn
Please run below in order on the CPU.
python setup.py install
cd mnist
python train_wgangp.py --training_label 1 --seed 2 --n_epochs 20
python train_encoder_izif.py --training_label 1 --seed 2 --n_epochs 20
python test_anomaly_detection.py --training_label 1
After Step: 3, score.csv
will be generated in the directory results
.
See f-AnoGAN_MNIST.ipynb about data visualization for score.csv
.
python save_compared_images.py --seed 4 --n_iters 0 --n_grid_lines 10
Compared images are saved under f-AnoGAN/mnist/results/images_diff
.
Please run below in order.
python setup.py install
cd your_own_dataset
Add your own dataset under f-AnoGAN/your_own_dataset
Please replace your_own_dataset_dir_name/train_dir_name
with a relative path of your own training data.
python train_wgangp.py "your_own_dataset_dir_name/train_dir_name"
Please replace your_own_dataset_dir_name/train_dir_name
with a relative path of your own training data.
python train_encoder_izif.py "your_own_dataset_dir_name/train_dir_name"
Please replace your_own_dataset_dir_name/test_dir_name
with a relative path of your own test data.
python test_anomaly_detection.py "your_own_dataset_dir_name/test_dir_name"
After Step: 3, score.csv
will be generated in the directory results
.
Please replace your_own_dataset_dir_name/test_dir_name
with a relative path of your own test data.
python save_compared_images.py "your_own_dataset_dir_name/test_dir_name" --n_iters 0 --n_grid_lines 10
Compared images are saved under f-AnoGAN/your_own_dataset/results/images_diff
.