- 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 방법론을 제안합니다. 2D Spatial 정보를 보존하기 위해 Positional Encoding을 추가해줍니다. mvTec, STC 데이터셋에 대한 성능을 측정합니다.
1. 들어가며
이번 글에서는 2022년 WACV에 발표된 논문인 CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows를 리뷰합니다. CFLOW-AD는 이전 논문인 DifferNet의 문제점을 개선한 방법입니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요. Normalizing Flow에 대한 기본적인 내용은 Normalizing Flow와 딥러닝 글을 참고 바랍니다.
2. 기존 방법의 문제점
CFLOW 전에도 Normalizing Flow를 사용하는 DifferNet이 있었습니다. DifferNet은 최초의 Normalizing Flow를 사용한 고성능 Anomaly Detection 방법이었죠. DifferNet에는 성능을 저하하는 하나의 요소가 있었는데요. 바로 Normalizing Flow 내부 함수로 Fully Connected 함수를 사용한다는 것이었습니다. 이때문에 데이터의 2D Spatial 정보가 망가진다는 문제가 있었죠.
2. 제안 방법
CFLOW는 이러한 DifferNet의 문제점을 개선하기 위한 방법을 제안합니다.
2-1. Architecture
CFLOW의 전체 구조는 다음과 같습니다.
먼저 Pretrained Feature Extractor를 사용해서 Feature를 추출하는 모습을 볼 수 있습니다. 이어서 Positional Encoding을 추가해주고요. 마지막으로 Normalizing Flow를 사용하여 Decoding하는 과정으로 구성되어 있습니다. 하나씩 살펴보겠습니다.
2-2. Encoder
먼저 Feature를 추출하는 Encoder를 살펴보겠습니다. Encoder는 ImageNet Pretrained CNN을 사용합니다. 이는 DifferNet과 동일한 방법으로, 이전 논문에서 밝혔듯 이미지를 그대로 Normalizing Flow 입력으로 사용할 경우 성능이 좋지 않기 때문입니다.
2-3. Decoders For Likelihood Estimation
다음은 Decoder입니다. Decoder로는 Normalizing Flow가 사용됩니다. 이때의 포인트는 Decoder의 입력으로 들어가기 전 추가되는 Positional Encoding인데요. 기존 DifferNet의 문제점은 2D Spatial 정보가 사라진다는 문제가 있다고 했죠. 이를 해결하기 위해 CFLOW에서는 Positional Encoding을 추가해줍니다. 이 Positional Encoding은 Transformer와 마찬가지로 Sin과 Cosine 함수를 결합한 일반적인 방법을 사용합니다.
참고로 CFLOW의 C는 Conditional의 약자인데요. Positional Encoding이 추가되었다는 의미로 Conditional을 붙였다고 합니다.
2-3-1. Train
다음으로 학습을 위한 Loss는 일반적인 Normalizing Flow와 마찬가지로 z가 정규분포에 가까워지도록 학습합니다.
2-3-2. Inference
다음으로 Inference는 일반적인 Normalizing Flow와 마찬가지로 z의 확률분포를 계산하여 확률 값이 작을수록 Anomaly로 판단합니다.
3. 실험 결과
다음은 이렇게 제안한 방법의 성능을 살펴보겠습니다.
3-1. mvTec
먼저 mvTec 데이터셋에 대한 성능입니다.
비교 방법론들은 다음과 같습니다.
- Differnet : [WACV 2021] Same Same But DifferNet: Semi-Supervised Defect Detection with Normalizing Flows
- DFR : [Neurocomputing 2021] Unsupervised anomaly segmentation via deep feature reconstruction
- SVDD : [ACCV 2020] Patch svdd: Patch-level svdd for anomaly detection and segmentation. In: Proceedings of the Asian Conference on Computer Vision
- SPADE : [arxiv 2020] Sub-Image Anomaly Detection with Deep Pyramid Correspondences
- CutPaste : [CVPR 2021] CutPaste: Self-Supervised Learning for Anomaly Detection and Localization
- PaDiM : [ICPR 2021] PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization
먼저 기존 방법인 DifferNet보다 훨씬 좋은 성능을 보이는 모습을 볼 수 있습니다. 또한 기존 가장 강력한 방법론이었던 Pretrained Feature Matching 방식들인 PaDiM, SPADE 보다도 우수한 성능을 보여줍니다.
3-2. STC
다음은 STC 데이터셋에 대한 성능입니다.
비교 방법론들은 다음과 같습니다.
- CAVGA-R : [ECCV 2020] Attention Guided Anomaly Localization in Images
- SPADE : [arxiv 2020] Sub-Image Anomaly Detection with Deep Pyramid Correspondences
- PaDiM : [ICPR 2021] PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization