- Anomaly Detection 설명 – 정의, 특성, 활용 방안, 연구 흐름
- [One Class Classification 방식의 Anomaly Detection]
- [18′ ICML] Deep SVDD : Deep One-Class Classification
- [20′ ICLR] DEEP SEMI-SUPERVISED ANOMALY DETECTION (Deep SAD) 핵심 리뷰
- [20′ ACCV] Patch SVDD : Patch-level SVDD for Anomaly Detection and Segmentation
- [21′ ICLR] EXPLAINABLE DEEP ONE-CLASS CLASSIFICATION (FCDD) 핵심 리뷰
- [Reconstruction 방식의 Anomaly Detection]
- [17′ IPMI] AnoGAN : Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery
- [18′ ACCV] GANomaly : Semi-Supervised Anomaly Detection via Adversarial Training
- [20′ ECCV] Attention Guided Anomaly Localization in Images (CAVGA) 핵심 리뷰
- [21′ ICCV] Devide and Assemble : Learning Block-wise Memory for Unsupervised Anomaly Detection 핵심 리뷰
- [21′ ICCV] Learning Unsupervised Metaformer for Anomaly detection 핵심 리뷰
- [22′ CVPR] SSPCAB : Self-Supervised Predictive Convolutional Attentive Block for Anomaly Detection 핵심 리뷰
- [Pretrained Feature Matching 방식의 Anomaly Detection]
- [20′ Arxiv] SPADE : Sub-Image Anomaly Detection with Deep Pyramid Correspondences
- [20′ ICPR] Mahalanobis AD : Modeling the Distribution of Normal Data in Pre-Trained Deep Features for Anomaly Detection
- [21′ ICPR] PaDiM : a Patch Distribution Modeling Framework for Anomaly Detection and Localization
- [22′ CVPR] PatchCore : Towards Total Recall in Industrial Anomaly Detection
- [Normalizing Flow 방식의 Anomaly Detection]
- [20′ NIPS] Why Normalizing Flows Fail to Detect Out-of-Distribution Data 핵심 리뷰
- [21′ WACV] Same Same But DifferNet: Semi-Supervised Defect Detection with Normalizing Flows 핵심 리뷰
- [22′ WACV] CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows 핵심 리뷰
- [22′ WACV] Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection (CS-Flow) 핵심 리뷰
- [21′ arxiv] FastFlow: Unsupervised Anomaly Detection and Localization via 2D Normalizing Flows 핵심 리뷰
- [Self Supervised Learning 방식의 Anomaly Detection]
- [18′ NIPS] Deep Anomaly Detection Using Geometric Transformations (GEOM) 핵심 리뷰
- [19′ NIPS] SSL-AD : Using Self-Supervised Learning Can Improve Model Robustness and Uncertainty 핵심 리뷰
- [20′ ICLR] CLASSIFICATION-BASED ANOMALY DETECTION FOR GENERAL DATA (GEOD) 핵심 리뷰
- [20′ NIPS] CSI: Novelty Detection via Contrastive Learning on Distributionally Shifted Instances
- [21′ ICLR] SSL-OCC : Learning and evaluating representations for deep one class classification 핵심 리뷰
- [21′ ICCV] Hierarchical Transformation AD : A Hierarchical Transformation-Discriminating Generative Model for Few Shot Anomaly Detection 핵심 리뷰
- [21′ ICLR] SSD: A UNIFIED FRAMEWORK FOR SELFSUPERVISED OUTLIER DETECTION 핵심 리뷰
- [Knowledge Distillation 방식의 Anomaly Detection]
- [20′ CVPR] Uninformed Students: Student–Teacher Anomaly Detection with Discriminative Latent Embeddings
- [21′ Arxiv] Student Teacher AD : Student-Teacher Feature Pyramid Matching for Unsupervised Anomaly Detection
- [21′ CVPR] Multiresolution Knowledge Distillation for Anomaly Detection
- [22′ CVPR] Reverse Distillation AD : Anomaly Detection via Reverse Distillation from One-Class Embedding
- [Synthetic Anomaly 방식의 Anomaly Detection]
- [21′ ICCV] DRAEM : A discriminatively trained reconstruction embedding for surface anomaly detection
- [21′ CVPR] CutPaste: Self-Supervised Learning for Anomaly Detection and Localization
내용 요약
Normalizing Flow를 적용한 새로운 Anomaly Detection 방법론을 제안합니다. mvTec, MTD 데이터셋에 대한 성능 비교 실험을 통해 제안 방법의 우수성을 보입니다.
1. 들어가며
이번 글에서는 2021년 WACV에서 발표된 Same Same But DifferNet: Semi-Supervised Defect Detection with Normalizing Flows 논문을 리뷰합니다. 이 논문은 Normalizing Flow를 사용하여 최초로 다른 방법들과 맞먹는 높은 성능을 낸 Anomaly Detection 방법입니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요. Normalizing Flow에 대한 기본적인 내용은 Normalizing Flow와 딥러닝 글을 참고 바랍니다.
2. 제안 방법
저자들은 Normalizing Flow를 이용하는 새로운 Anomaly Detection 방법론을 제안합니다. 바로 제안하는 방법을 살펴보겠습니다.
2-1. Architecture
먼저 전체 구조를 보겠습니다.
위의 그림을 보면 input image X에 대해 다양한 transformation 형태를 학습할 수 있도록 여러 가지의 transform과 scale 변화를 주는 모습을 볼 수 있습니다. 이렇게 다양한 이미지를 pretrained CNN feature extractor를 통과시켜 최종 feature y를 만듭니다. 이렇게 Multi Scale로 추출된 Feature는 Normalizing Flow 모델로 들어갑니다. 이에 대해서는 아래에서 이어서 살펴보겠습니다.
2-2. Normalizing Flow
다음은 이렇게 나온 feature y에 Normalizing Flow를 이용하여 latent vector z로 추출하는 과정입니다.
위 그림은 Normalizing Flow를 구현한 모습입니다. fc와 ReLU 등을 이용하여 affine transformation을 구현하였습니다. 즉 RealNVP 구조를 따르는 모습입니다.
2-3. Training
이제 학습을 위한 Loss를 살펴보겠습니다.
일반적인 Normalizing Flow와 동일하게 p(x)를 최대화하는 방향으로 학습합니다.
2-4. Inference
이제 Inference 과정을 보겠습니다. 이렇게 학습된 모델을 사용하여 test image에 대한 Feature를 추출하고요. Feature를 Input으로 하는 Normalizing Flow의 Output p(z)가 작을수록 anomaly로 scoring 합니다. 이를 수식으로 표현하면 다음과 같습니다.
최종적으로 아래와 같이 Anomal Score의 Threshold가 넘는 이미지에 대해 Anomaly로 판단합니다.
3. 실험 결과
이렇게 제안한 방법론의 실험 결과를 살펴보겠습니다.
3-1. mvTec
먼저 mvTec 데이터셋에 대한 결과입니다.
비교 방법론들은 다음과 같습니다.
- GeoTrans : [NIPS 2018] Deep Anomaly Detection Using Geometric Transformations
- GANomaly : [ACCV 2018] GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training
- DSEBM : [ICML 2016] Deep structured energy based models for anomaly detection
- OC-SVM : [NIPS 2000] Support vector method for novelty detection
- 1-NN : [CoRR 2018] Are pre-trained cnns good feature extractors for anomaly detection in surveillance videos
Normalizing Flow를 최초로 사용한 방법 치고는 기존 방법들에 필적하는 성능을 보여줍니다.
3-2. MTD
다음은 MTD (Magentic Tile Dataset) 데이터셋에 대한 결과입니다.
비교 방법론들은 다음과 같습니다.
- GeoTrans / GEOM : [NIPS 2018] Deep Anomaly Detection Using Geometric Transformations
- GANomaly : [ACCV 2018] GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training
- DSEBM : [ICML 2016] Deep structured energy based models for anomaly detection
- ADGAN : [Springer 2018] Image anomaly detection with generative adversarial networks
- OC-SVM : [NIPS 2000] Support vector method for novelty detection
- 1-NN : [CoRR 2018] Are pre-trained cnns good feature extractors for anomaly detection in surveillance videos