Repo ini tidak lagi dipertahankan. Implementasi ganomali telah ditambahkan ke Anomalib, koleksi publik terbesar dari algoritma deteksi anomali pembelajaran pembelajaran siap pakai dan dataset benchmark.
Repositori ini berisi implementasi Pytorch dari makalah berikut: Ganomali: Deteksi anomali semi-diawasi melalui pelatihan permusuhan [1]
git clone https://github.com/samet-akcay/ganomaly.git
conda create -n ganomaly python=3.7
conda activate ganomaly
conda install -c intel mkl_fft
pip install --user --requirement requirements.txt
Untuk mereplikasi hasil dalam kertas untuk dataset MNIST dan CIFAR10, jalankan perintah berikut:
# MNIST
sh experiments/run_mnist.sh
# CIFAR
sh experiments/run_cifar.sh # CIFAR10 Untuk membuat daftar argumen, jalankan perintah berikut:
python train.py -h
Untuk melatih model pada dataset MNIST untuk kelas anomali yang diberikan, jalankan yang berikut:
python train.py
--dataset mnist
--niter <number-of-epochs>
--abnormal_class <0,1,2,3,4,5,6,7,8,9>
--display # optional if you want to visualize
Untuk melatih model pada dataset CIFAR10 untuk kelas anomali yang diberikan, jalankan yang berikut:
python train.py
--dataset cifar10
--niter <number-of-epochs>
--abnormal_class
<plane, car, bird, cat, deer, dog, frog, horse, ship, truck>
--display # optional if you want to visualize
Untuk melatih model pada dataset khusus, dataset harus disalin ke direktori ./data , dan harus memiliki direktori & struktur file berikut:
Custom Dataset
├── test
│ ├── 0.normal
│ │ └── normal_tst_img_0.png
│ │ └── normal_tst_img_1.png
│ │ ...
│ │ └── normal_tst_img_n.png
│ ├── 1.abnormal
│ │ └── abnormal_tst_img_0.png
│ │ └── abnormal_tst_img_1.png
│ │ ...
│ │ └── abnormal_tst_img_m.png
├── train
│ ├── 0.normal
│ │ └── normal_tst_img_0.png
│ │ └── normal_tst_img_1.png
│ │ ...
│ │ └── normal_tst_img_t.png
Kemudian pelatihan model sama dengan pelatihan Mnist atau dataset CIFAR10 yang dijelaskan di atas.
python train.py
--dataset <name-of-the-data>
--isize <image-size>
--niter <number-of-epochs>
--display # optional if you want to visualize
Untuk opsi pelatihan lebih lanjut, jalankan python train.py -h .
Jika Anda menggunakan repositori ini atau ingin merujuk kertas, silakan gunakan entri Bibtex berikut
@inproceedings{akcay2018ganomaly,
title={Ganomaly: Semi-supervised anomaly detection via adversarial training},
author={Akcay, Samet and Atapour-Abarghouei, Amir and Breckon, Toby P},
booktitle={Asian Conference on Computer Vision},
pages={622--637},
year={2018},
organization={Springer}
}
[1] Akcay S., Atapour-Abarghouei A., Breckon TP (2019) Ganomali: Deteksi anomali semi-diawasi melalui pelatihan permusuhan. Dalam: Jawahar C., Li H., Mori G., Schindler K. (Eds) Visi Komputer - ACCV 2018. ACCV 2018. Catatan Kuliah dalam Ilmu Komputer, Vol 11363. Springer, Cham