- 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
내용 요약
Deep One-Class Classification 방식에 Fully Convolutional Network를 적용한 Anomaly Detection 방법론을 제안합니다. Transposed Convolution을 사용한 Heatmap을 이용하여 Explainable 한 모델을 제작합니다.
1. 들어가며
이번 글에서는 2021년 ICLR에 발표된 EXPLAINABLE DEEP ONE-CLASS CLASSIFICATION 논문을 리뷰합니다. 이 논문은 FCDD라고 불리며, 이번 글에서도 FCDD라고 지칭하겠습니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요.
2. 제안 방법
바로 제안 방법을 살펴보겠습니다.
2-1. Deep one class classification
FCDD는 큰 틀에서 봤을 때 one class classification 모델에 해당합니다. Normal feature들이 center c를 중심으로 hypersphere를 형성하도록 학습하는 방법입니다. 가장 대표적인 모델로는 Deep SVDD가 있습니다. loss는 다음과 같습니다.
- c : normal feature center (dim : d)
- 𝜙 : neural network (output dim : d)
- h : huber loss
해석해보면 input data가 normal 일 때는 (y=0)의 output이 c가 나오고, 반대로 unnormal 일 때는 (y=1) 최대한 커지는 방향으로 학습함을 알 수 있습니다.
2-2. Fully convolutional architecture
이때 FCDD는 neural network로 fully convolutional network (FCN)을 사용합니다. FCN은 fully connected layer 없이 convolution 연산만으로 이루어진 모델입니다. FCN의 주요 특징 중 하나는 모든 연산이 convolution으로 이루어져 있기 때문에 spatial information이 보존된다는 것입니다.
2-3. Fully convolutional data description
이제 위의 loss 식을 FCN을 사용하여 다시 적으면 다음과 같습니다.
- 𝜙 : FCN (dim : c*h*w -> u*v)
- A : huber loss
이때 loss 자체가 normal data에 대해서는 A를 최소화하고 unnormal에 대해서는 A를 최대화하도록 학습했기 때문에 test단계에서는 A자체를 anomal score로 사용합니다. 이때 위의 loss를 학습하기 위해서는 anomal data가 필요합니다. Anomal data로는 ImageNet 같은 외부 데이터를 사용합니다. (outlier exposure)
2-4. Heatmap upsampling
이제 explainable 부분을 만들 차례입니다. FCDD를 통해 나온 feature map의 resolution은 u*v로, 기존의 h*w보다 작기 때문에 heatmap을 구하려면 upsampling이 필요합니다. 이를 위해서는 transposed convolution을 사용합니다.
3. 실험 결과
다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.
3-1. ImageNet, Fashion-MNIST, CIFAR10
먼저 ImageNet, Fashon-MNIST, CIFAR10 데이터셋의 anomaly detection 실험 결과입니다.
비교 방법론들은 다음과 같습니다.
- GEO : [NIPS 2018] Deep Anomaly Detection Using Geometric Transformations
- Geo+ : [NIPS 2019] Using self-supervised learning can improve model robustness and uncertainty
- DSVDD : Deep SVDD : [ICML 2018] Deep One-Class Classification
- Deep SAD : [ICLR 2020] Deep semi-supervised anomaly detection
3-2. mvTec
다음은 mvTec 데이터셋에 대한 anomaly detection 실험 결과입니다.
비교 방법론들은 다음과 같습니다.
- AE-SS, AE-L2 : [CVPR 2019] MVTec AD— A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection
- AnoGAN : [IPMI 2017] Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery
- CNNFD : [Sensors 2018] Anomaly detection in nanofibrous materials by CNN-based selfsimilarity
- VEVAE : [CVPR 2020] Towards visually explaining variational autoencoders
- SMAI : [BMVC 2020] Superpixel masking and inpainting for selfsupervised anomaly detection
- GDR : [ICLR 2020] Iterative energy-based projection on a normal data manifold for anomaly localization
- P-Net : [ECCV 2020] Encoding structure-texture relation with p-net for anomaly detection in retinal images
mvTec 데이터셋은 1번 실험의 데이터셋과는 달리 anomaly data가 normal data와 미세한 차이만 있습니다. 따라서 ImageNet 같은 데이터셋을 outlier exposure로 사용하는 건 적절하지 않습니다. 그래서 mvTec에 맞도록 synthetic anomaly를 만들어 사용했습니다.
방식은 confetti noise를 사용했습니다.