- 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
내용 요약
VAE에 grad-CAM을 활용한 attention loss를 적용한 anomaly detection 방법론을 제안합니다. Unsupervised 방식과 weakly supervised 방식을 제안합니다.
1. 들어가며
이번 글에서는 2020년 ECCV에서 발표된 Attention Guided Anomaly Localization in Images 논문을 리뷰합니다. 이 논문은 CAVGA라고 불리며, 이번 글에서도 CAVGA라고 지칭하겠습니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요.
2. 제안 방법
바로 제안 방법을 살펴보겠습니다. 저자들의 제안 방식은 크게 두 가지입니다
1-1. Unsupervised approach : CAVGAu
먼저 첫 번째 제안 방법은 anomal data를 전혀 사용할 수 없을 때인 unsupervised 방식입니다. 전체적인 그림은 아래 그림과 같습니다.
Train / Test단계로 나눠서 살펴보겠습니다.
1-1-1. Train
CAVGA 모델은 기본적으로 VAE 구조를 따릅니다. VAE에서 몇 가지 변형을 적용했습니다. Loss function을 통해 살펴보겠습니다.
첫 번째 loss function은 VAE loss입니다.
Reconstruction loss와 KL loss를 적용하는 일반적인 VAE와 동일합니다.
두 번째 loss function은 adversarial loss입니다.
VAE만으로 reconstruction을 학습하면 blurry 한 문제가 있습니다. 따라서 좀 더 사실적인 reconstruction 이미지를 만들기 위해 discriminator가 이를 맞추도록 추가 loss를 구성합니다.
세 번째 loss function은 attention expansion loss입니다.
제안 방법의 핵심 아이디어라고 할 수 있는데요. Anomal data를 사용할 수는 없으니 normal data의 전체 부분을 attention 하도록 학습하자는 아이디어입니다. 이때 attention map A는 grad-CAM으로 구합니다.
최종 loss는 다음과 같습니다.
1-1-2. Test
학습이 완료된 뒤 test단계를 살펴보겠습니다.
Reconstruction을 학습했으므로 test단계에서는 reconstruction image와 원본 이미지와의 차이를 anomal score로 측정합니다. Test image dataset 전체에 대해 anomal score를 구한 뒤 0~1 사이로 normalize 하여 0.5가 넘는 데이터들은 anomal로 판단합니다. Localization은 attention map을 통해 구할 수 있습니다. 이때 attention map은 normal pixel을 의미합니다. (학습 단계에서 정상 부분을 attention 하도록 학습했으므로) 따라서 anomal attention map은 1-A로 구합니다. 최종적으로 0.5보다 큰 픽셀은 anomal로 판단합니다.
1-2. Weakly supervised approach : CAVGAw
다음은 몇 개의 anomal data를 train에 사용할 수 있을 때인 weakly supervised approach를 살펴보겠습니다. 단, segmentation ground truth 데이터는 사용할 수 없다고 가정합니다. 전체적인 그림은 아래 그림과 같습니다.
1-2-1. Train
마찬가지로 loss function을 통해 살펴보겠습니다. Reconstruction loss와 adversarial loss는 unsupervised 방식 때와 동일하게 적용합니다.
첫 번째 다른 loss function은 classification loss입니다. Encoder output z를 flatten 한 뒤 normal/unnormal binary cross entropy classification loss를 적용합니다.
두 번째 다른 loss function은 complementary guided attention loss입니다.
Normal 데이터이고 예측값도 normal 일 때만 적용하는 loss입니다. 먼저 normal / anomal 각각의 클래스에 대한 attention map을 구합니다. Normal data이므로 normal attention map은 최대화되도록, anomal attention map은 최소화되도록 학습합니다.
최종 loss는 다음과 같습니다.
1-2-2. Test
Test과정은 unsupervised 방식과 동일합니다.
2. 실험 결과
다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.
2-1. mvTec
먼저 mvTec 데이터셋에 대한 결과입니다.
비교 방법론들은 다음과 같습니다.
- AVID : Adversarial Visual Irregularity Detection
- AE (L2, SSIM) : AutoEncoder 방식
- AnoGAN : GAN 방식
- 𝛾-VAE-grad : VAE + gradient descent optimization 방식
- LSA : Latent Space Autoregression
- ADVAE : explainable VAE
- CAVGA-R : Celeb-A로 학습한 DC-GAN의 discriminator을 사용하여 fine tuning
- CAVGA-D : Celeb-A로 학습한 DC-GAN의 discriminator / generator 사용
기존 Reconstruction 방법들과 비교를 하고 있는데요, 제안 방법의 성능이 가장 좋은 모습을 볼 수 있습니다.
2-2. STC
다음은 STC 데이터셋에 대한 결과입니다.
2-3. MNIST, CIFAR10, Fashion-MNIST
다음은 MNIST, CIFAR10, Fashion-MNIST 데이터셋에 대한 결과입니다.