Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[DL Hacks]AVID: Adversarial Visual Irregularity Detection

919 views

Published on

2018/08/27
Deep Learning JP:
http://deeplearning.jp/hacks/

Published in: Technology
  • Be the first to comment

[DL Hacks]AVID: Adversarial Visual Irregularity Detection

  1. 1. DEEP LEARNING JP [DL Hacks] AVID: AdversarialVisual Irregularity Detection Hiromi Nakagawa, Matsuo Lab http://deeplearning.jp/
  2. 2. 1. 論文紹介 2. 実装 3. 実験結果 2 Agenda
  3. 3. 1. 論文紹介 2. 実装 3. 実験結果 3 Agenda 久保くんのDL輪読会のスライドを引用します https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection
  4. 4. 4 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection
  5. 5. 5 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection
  6. 6. 6 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection Inpaiting Network (Generator側) • 直接的に異常を検知するのではなく 、 入力画像から 異常を消すよう に作用する。 • アーキテク チャ と し てはU-Netで正常画像のみで学習さ れる。 14 学習時は正常画像にガウシアンノ イ ズを加えたも のを入力と する。 テスト 時は異常部分が消えるイ メ ージ。
  7. 7. 7 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection Detection Network (Discriminator側) • セマンティ ッ ク セグメ ンテーショ ンで用いら れるFCNの構造をと っ ている。 • 入力画像に対し て、 異常領域を検出するよう に学習する。 15 ヒ ート マッ プで表すと イ メ ージがつき やすい→
  8. 8. 8 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection 学習方法 • 一般的なGANの学習 • 提案手法の学習 16 は行列
  9. 9. 9 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection 異常の判定の仕方 • I (Generator側)がp ixel-levelの検出、 D(Discrim inator側)がp atch-levelの検出を 行う 。 • I側はテスト 画像と 生成画像の差で異常かどう かを判定する。 異常がない場合は             はゼロに近く なるが、 異常がある場合は値が大き く なる。 • D側は各領域に対する出力を閾値より 下かどう かで異常を判定する。 • 両者を考慮し て以下の条件に当てはまるも のを異常と し て定義する。 17
  10. 10. 10 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection データ セッ ト 1 . UCSD: 歩行者が通行し ている画像(定点カ メ ラ を1 0 fp s)。 自動車や自転車があ ると 異常値と なる。 Ped1 と Ped2 の2 つのサブセッ ト が用意さ れている。 2 . UM N: 歩行者が通行し ている動画。 急に歩行者が走り 出す。 (動画) 3 . IR-M NIST: 3 が抜けたM NIST。 テスト 時だけ3 が出てく るのでそれを異常と する。 19 UCSD 正常画像 UCSD 異常画像
  11. 11. 11 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection 結果1 (UCSD) • FL(フ レームレベル): 1 p xでも 異常と 検出さ れれば異常。 • PL(ピク セルレベル): 最低でも 4 0 % をg round -truth と 合致さ せる。 • ラ スト カ ラ ムの意味 – D: d eep learning 使用 – E: end -to-end の学習 – P: p atchベースの学習か否か 20
  12. 12. 12 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection 結果1 (UCSD) 21 入力画像 Iの出力画像
  13. 13. 13 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection 結果2 (UMN) • 正常状態と 異常状態と 変化状態し かない単純なデータ セッ ト のため、 fram e-level のEERと AUCを算出。 22 動画のためには以下の手法でプリ プロセスを行う 。 (著者の別論文) Deep-anomaly: Fully convolutional neural network for fast anomaly detection in crowded scenes https:/ / arxiv.org/ abs/ 1609.00866
  14. 14. 14 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection 結果3 (IR-MNIST) I (Generator側)の入力と 出力 23 D (Discrim inator側)の出力のヒ ート マッ プ
  15. 15. 15 論文紹介 引用:https://www.slideshare.net/DeepLearningJP2016/dlavidadversarial-visual-irregularity-detection 結果3 (IR-MNIST) • 異常のThreshold を変化さ せて結果を記録。 24
  16. 16. 1. 論文紹介 2. 実装 3. 実験結果 16 Agenda https://github.com/Hirominnn/AVID_pytorch
  17. 17. 17 実装 • Generator – 元論文と同様にU-Netを使用 – 以下URLなどを参考に実装 • https://github.com/milesial/Pytorch-UNet • https://github.com/jaxony/unet-pytorch UNetクラス
  18. 18. 18 実装 • Generator サブモジュール
  19. 19. 19 実装 • Discriminator – 以下URLなどを参考にFCNを実装 • https://github.com/pochih/FCN-pytorch • https://github.com/wkentaro/pytorch-fcn – 元論文の図は64x64→11x11のモデルを仮定 • IR-MNIST(224x224)などは64x64にリサイズすると判読できないレベルまでつぶれてしまうため、 112x112→11x11や224x224→11x11のモデルを実装した
  20. 20. 20 実装 • Discriminator – 64x64→11x11のFCNの例
  21. 21. 21 実装 • 学習(一部省略)
  22. 22. 1. 論文紹介 2. 実装 3. 実験結果 22 Agenda 再現しきれず、、
  23. 23. 23 実験結果 • 元論文と同様のパラメータではうまく行かなかったので、いくつか変更(探索) – DiscriminatorのFCNの大きさ: • 元論文:64x64→11x11 • 実装 :IR-MNIST:224x224→11x11、UCSD:112x112→11x11 – 最適化: • 元論文:SGDでG/Dともに学習率 2e-3、モメンタム 0.9 • 実装 :AdamでGの学習率 1e-4 ~ 2e-4、Dの学習率 2e-5 ~ 1e-4 – ノイズの係数γ • 元論文:0.4 • 実装 :0.6 ~ 0.7
  24. 24. 24 実験結果 • IR-MNIST – Gの学習率をDより高くしておくと再構成については比較的スムーズに学習が進む
  25. 25. 25 実験結果 • IR-MNIST – が、テスト時に復元できないはずの「3」が復元できてしまう、、 – 恒等写像を覚えてしまっている?ノイズが不足? 元画像+正解マスク 生成画像 |生成画像 – 元画像|
  26. 26. 26 実験結果 • UCSD – 時系列を反映するために、元論文に沿って2フレームの差分x3の3チャネルに前処理済み • Gはそれっぽく復元は出来るようになった • Dはほぼ0.5しか吐かなくなる
  27. 27. 27 実験結果 • UCSD – ものによっては異常検知できてるっぽいものもあった 元画像(加工済) 元画像+正解マスク Gの生成画像 D(生成画像) |生成画像-元画像| α=0.4, ζ=0.49時のマスクと元画像+マスク
  28. 28. 28 実験結果 • UCSD – ものによっては異常検知できてるっぽいものもあった 元画像(加工済) 元画像+正解マスク Gの生成画像 D(生成画像) |生成画像-元画像| α=0.35, ζ=0.49時のマスクと元画像+マスク
  29. 29. 29 実験結果 • UCSD – 時系列を反映するために、元論文に沿って2フレームの差分x3の3チャネルに前処理済み • 224x224だとなかなかうまく学習できなかった
  30. 30. • 元論文のハイパラでうまくいかない、かつかなりハイパラに敏感で実験が大変だった – GANの実装・実験自体が初だったので、GANの勘所がなかなかわからず苦戦 – 学習率はG>DとしないとDが強くなりすぎてGがノイズしか吐かなくなるが、Dもうまく学習が進まない(0.5 しか吐かなくなる)と異常検知の段階で役に立たず、、 – ノイズが弱いとGが恒等写像を覚えてしまうっぽい?(テスト時に未知物体も復元できてしまう) – 筆者が本当に(64,64)のInputを想定していたのか?など不明点も多かった – 再構成誤差とかも入れたほうが安定しそう?(特に初めの方) • 訓練時にガウシアンノイズをかけるだけでテスト時に異常を消せるのか?の疑問は解決されず、、 – どなたか実験うまくいったら教えてください • (本筋に関係ないところとして)画像を-1~1で正規化すると可視化などで微妙につまった – -1~1のtensorをPILに変換すると、0~1のtensorを変換した場合と値が異なる 30 感想

×