LoginSignup
0
0

More than 3 years have passed since last update.

skip-GANomalyで異常検知#2

Last updated at Posted at 2021-01-23

1. 目的

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

2. 仮定

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

3. データセット

3.1 データセットの概要

正常画像(キャップが締まっている)
20200717_094111_002_32.jpg 20200717_094910_016_32.jpg 20200717_095212_045_32.jpg 20200717_095406_025_32.jpg

異常画像(キャップが開いている)
20200717_093648_32 - コピー.jpg 20200717_093808_32.jpg

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()
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0