skip-GANomalyで異常検知#2


1. 目的

オリジナルデータセットでskipGANomalyによる異常検知を行う。
引用元リポジトリ[1]

2. 仮定

環境構築は完了済み(参考)

3. データセット

3.1 データセットの概要

正常画像(キャップが締まっている)

異常画像(キャップが開いている)

3.2 データセットのディレクトリ構成

./data/
├── caps #データセット名
│     ├──train
│     │   ├──0.normal
│     │   │    └──正常画像1
│     │   │    └──正常画像2
│     │   │    └──正常画像3
│     │   │    ...
│     ├──test
│     │   ├──0.normal
│     │   │    └──正常画像1
│     │   │    └──正常画像2
│     │   │    └──正常画像3
│     │   │    ...
│     │   ├──1.abnormal
│     │   │    └──異常画像1
│     │   │    └──異常画像2
│     │   │    └──異常画像3
│     │   │    ...

4. 学習

4.1 Visdomの起動

可視化ツールであるVisdomを別のコマンドプロンプトで起動

python -m visdom.server

4.2 学習

以下のコマンドで学習

 python train.py --model skipganomaly --dataset caps --abnormal_class open --display --isize 128 --device cpu --gpu_ids -1 --name capsIsOpen0123 --niter 15

5 学習結果確認

学習結果を確認する
以下のテストコードを実行する。
ディレクトリはtrain.pyと同じ。

test.py
# LIBRARIES

from options import Options
from lib.data.dataloader import load_data
from lib.models import load_model

def main():
    opt = Options().parse()
    data = load_data(opt)
    model = load_model(opt, data)
    model.test(plot_hist=True)

if __name__ == '__main__':
    main()