LoginSignup
0
0

More than 1 year has passed since last update.

SSIMオートエンコーダでMVTecADのボトルを学習

Posted at

SSIMを構築して結果を確認した

ここでMVTecのbottleを使用してSSIMオートエンコーダでの検証を行う。
https://www.mvtec.com/company/research/datasets/mvtec-ad

前回はMVTecADのタイルを使用した

しかしながら、結果は上手く復元することが出来ず判別には利用できそうにもない。
ここで、改めてMVTecソフトウェア社の論文から参照すると

・提供されるデータはオブジェクト系とテクスチャ系に分けられる
・テクスチャ系とは木目やタイルなど同じ系統だが分布がランダムなものを示す
・オブジェクト系とは工業製品等の同じ位置で撮影されるようなデータを示す。
・SSIMオートエンコーダはテクスチャ系には弱い

とある。

ではオブジェクト系ではどうなるのかをここで検証する。

正常の入力
image.png

異常の入力
image.png

とする。
googlecolabのGPUを使用するので、グレースケール変換して実行する。

結果

図の見方
縦軸 上から入力、出力、差分となっている
横軸 枚数 となっている

正常

image.png

異常

image.png

結果

ものすごい薄いので画像を0,1にしてみる。
sabun = cv2.threshold(sabun, 45, 255,cv2.THRESH_BINARY)
この一文を追加してみる。
重要そうなのは閾値

正常

image.png

異常

image.png

これをみると異常と正常の出力がいかに違うかが分かると思う。
後は1の画素数とかを調べれば閾値がだせる。

しかしながら細かいものとか(下図の左から二番目の画像は中心に異常個所があるが、うまく取り出せていない。
異常が大きい箇所ではくっきりと形状が分かるくらいにはなっている
image.png
image.png

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