- 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
내용 요약
Reconstruction 방식의 Anomaly Detection 방법인 MetaFormer를 설명합니다. MetaFormer는 MSRA 10K 등 다양한 외부 데이터를 바탕으로 General 하고 Instance Aware 한 Reconstruction 모델을 추구합니다.
1. 들어가며
이번 글에서는 2021년 ICCV에서 발표된 Learning Unsupervised Metaformer for Anomaly detection 논문을 리뷰합니다. 이 방법론은 ‘MetaFormer’라고 불리며 이번 글에서도 MetaFormer라고 지칭하겠습니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요.
2. 기존 방법의 문제점
저자들은 Reconstruction based anomaly detection 모델들의 공통된 문제점을 두 가지 지적합니다.
2-1. 첫 번째 문제점
기존 방법의 첫 번째 문제점은 Task의 특정 카테고리만을 Reconstruction 하는 모델을 학습시키기 때문에 General 한 Reconstruction 능력을 키우지 못한다는 점입니다. mvTec 데이터셋을 예로 들면, mvTec의 Bottle 클래스의 불량을 찾는 모델은 Bottle만을 Reconstruction 하도록 학습하죠. 따라서 Bottle밖에 못 봤기 때문에 다양한 표현이 들어오면 약한 모습을 보인다는 거죠.
2-2. 두 번째 문제점
두 번째 문제는 Reconstruction 할 때 어느 부분을 중점적으로 Reconstruction 해야 하는지 알려주지 않는다는 점입니다. 다시 아까의 Bottle 사례로 돌아와 볼게요. Bottle을 Reconstruction 하도록 시키면서 배경 부분까지 제대로 Reconstruction 해야 한다고 강요하고 있다는 거죠.
MetaFormer는 ‘배경이 아닌 Foreground 에만 집중한다면 성능이 더 좋아지지 않을까?’ 하는 아이디어에서 출발합니다.
3. 제안 방법
이제 저자들의 제안 방법을 살펴보겠습니다. 크게 봤을 때 세 가지 Stage로 나누어 생각할 수 있습니다.
3-1. Meta Training
첫 번째 단계는 General Reconstruction 모델을 학습시키는 단계입니다. 이를 위해 MSRA 10K 같은 외부 데이터셋을 가지고 각 클래스를 Reconstruction 하도록 학습합니다. 본격적으로 Target 데이터셋을 학습하기 전 범용적인 Reconstruction 기능을 확보하기 위한 단계라고 할 수 있습니다.
3-2. Meta Test
이렇게 General 한 Reconstruction 모델이 만들어졌으면, 이제 본격적으로 우리가 하고자 하는 Anomaly Detection 데이터셋 타겟 카테고리별로 Reconstruction을 학습합니다. mvTec 데이터셋을 예로 들면 이제 본격적으로 Bottle, Screw 등을 클래스별로 학습하는 단계입니다.
이 전의 General Reconstruction 단계를 건너 뛰고 바로 이 단계부터 시작하는 모델보다는, 다양한 이미지들을 보며 Reconstruction 능력을 배운 모델에게 추가 학습을 시켰으니 성능이 더 좋아졌다고 생각할 수 있습니다.
3-3. Inference
마지막은 Inference 단계입니다. Test 이미지로 들어오는 각 이미지를 Reconstruction 하며 원본 이미지와 비교해 차이가 클수록 불량으로 처리합니다.
4. MetaFormer 작동 방식
그럼 이제 제안 방법의 핵심인 MetaFormer가 어떻게 동작하는지 자세히 살펴보겠습니다.
4-1. Autoencoder
먼저 Reconstruction의 토대가 되는 Encoder/Decoder는 일반적인 AutoEncoder를 사용했습니다.
4-2. Instance-Prior Generator
이 부분 부터 MetaFormer의 특징을 담고 있습니다. MetaFormer의 핵심은 “Reconstruction을 하긴 하는데, 배경은 잘 못해도 되니까 물체에 집중해서 잘 Reconstruction 했으면 좋겠다”는 것이죠. 이 핵심 의도가 담겨 있습니다. 이를 구현하기 위해 ‘Visual Effect Image’를 사용했습니다. 이를 이용해 배경은 분리해내고 물체만 강조한 이미지를 만들어주었습니다.
4-3. Transformer
이제 모델이 물체만 집중해서 Reconstruction 하는 기능이 들어가야 할 차례입니다. 저자들은 이를 위한 모델로 Transformer를 사용했습니다. 물체가 어느 부분인지는 앞에서 알려줬으니 이제 Transformer 이용해서 이 부분을 학습하는 방식입니다.
4-4. Loss
최종적으로 학습 방향은 Reconstruction을 잘하도록 하는 것입니다. 이를 위해서 원본 이미지와 Reconstruction 된 이미지가 기본적으로 픽셀 단위에서 비슷해야 하니 MSE Loss가 들어갑니다. 추가로 Semantic 한 입장에서도 비슷한 이미지를 Reconstruction 하도록 유도하기 위해 Structural Similarity Loss (SSim)를 추가해주었습니다.
최종 Loss는 a * MSE + b * SSim 로 표현됩니다.
5. 실험 결과
이제 이렇게 구현한 모델의 Anomaly Detection 데이터셋에서의 성능을 보겠습니다.
5-1. mvTec Dataset
먼저 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
- US : [CVPR 2020] Uninformed students: Student-teacher anomaly detection with discriminative latent embeddings
- RIAD : [Pattern Recognition 2020] Reconstruction by inpainting for visual anomaly detection
- Differnet : [WACV 2021] Same Same But DifferNet: Semi-Supervised Defect Detection with Normalizing Flows
- AE : [CVPR 2019] MVTec AD— A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection
- 1-NN : [CoRR 2018] Are pre-trained cnns good feature extractors for anomaly detection in surveillance videos
- OC-SVM : [NIPS 2000] Support vector method for novelty detection
- K-Means
MetaFormer 모델은 AUROC 95.8% 를 기록했습니다. 전체 모델들과 비교하면 SOTA에 못 미치는 성적이지만 Reconstruction 방식에서는 매우 좋은 성능입니다.
5-2. MTD Dataset
다음은 MTD 데이터셋입니다.
비교 방법론들은 다음과 같습니다.
- 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
- ADGAN
- 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
- Differnet : [WACV 2021] Same Same But DifferNet: Semi-Supervised Defect Detection with Normalizing Flows
MTD 데이터셋에서는 AUROC 99.3% 를 기록하며 최고 성능을 기록했습니다.