[22′ WACV] Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection (CS-Flow) 핵심 리뷰

This entry is part 23 of 40 in the series Anomaly Detection

내용 요약

Multi Scale Feature를 사용하는 Normalizing Flow Based Anomaly Detection 방법을 소개합니다.

1. 들어가며

이번 글에서는 2022년 WACV에서 발표된 Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection 논문을 리뷰합니다. 이 논문은 CS-FLOW라고 불리며, 이번 글에서도 CS-FLOW라고 지칭하겠습니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요. Normalizing Flow에 대한 기본적인 내용은 Normalizing Flow와 딥러닝 글을 참고 바랍니다.

2. 기존 방법의 문제점

먼저 저자들은 기존 Anomaly Detection 방식의 문제점을 제기합니다.

2-1. Pretrained Feature Matching 방식

기존에 Mahalanobis AD,PaDIM 등과 같이 Pretrained Feature Matching 방식의 Anomaly Detection 방법들이 존재했는데요. 이들은 공통적으로 Mahalanobis distance를 사용합니다. 이는 Feature들이 Dimension별로 정규분포를 이룬다는 가정이 전제되어 있습니다.

CS-Flow에서는 이러한 가정에 문제가 있다고 주장하는데요.

문제제기
문제제기

위 그림은 mvTec 데이터의 Feature 분포를 표현한 그림입니다. 딱 봐도 정규 분포와는 거리가 멀어보이죠? 따라서 전제 자체가 틀렸으므로 위의 방법에는 문제가 있다고 주장하죠.

2-2. Normalizing Flow 방식

반면 Normalizing Flow를 사용하는 방법들도 존재했습니다. 대표적으로 DifferNet, CFLOW 등이 있었는데요. DifferNet은 Normalizing Flow 내부 함수로 Fully Connected 함수를 사용하여 2D Spatial 정보가 망가진다는 문제점이 있었습니다. CFLOW에서는 이를 해결하기 위해 Decoding 전 Positional Encoding을 추가해주죠. 하지만 이는 최적의 해결 방법은 아닙니다. 기존 Fully Connected Layer의 문제를 개선하기 위해 Convolution 함수가 적용되었잖아요? 이처럼 2D Spatial 정보를 보존하기 위한 가장 일반적인 방법은 Convolution 함수를 사용하는 것이죠.이에 CS-FLOW에서는 Normalizing Flow의 내부 함수를 모두 Convolution으로 구성해줍니다. 제목이 Fully Convolutional이라고 붙은 이유죠.

문제는 하나 더 있는데요. 바로 Multi Scale의 활용 방법입니다. DifferNet에서는 Multi Scale 정보를 활용하기 위해 Multi Scale 이미지 Feature를 추출한 뒤 Concat 하는 방법을 사용합니다. CFLOW에서는 Multi Scale Feature를 각각의 Normalizing Flow로 학습하죠. 하지만 이는 마찬가지로 가장 자연스러운 방법은 아닙니다. 다양한 Multi Scale 정보를 하나의 Normalizing Flow에서 모두 사용하는게 더 자연스럽겠죠.

3. 제안 방법

이러한 문제 의식을 바탕으로 CS-FLOW에서는 이를 개선하기 위한 어떤 방법들을 제안했는지 살펴보겠습니다.

3-1. Architecture

먼저 전체 구조를 살펴보겠습니다.

image 106
그림1. CS-FLOW 동작 구성

위 그림은 CS-FLOW의 전체 동작 과정을 표현한 그림입니다. 핵심은 초록색으로 표현된 Normalizing Flow 부분인데요. Multi Scale Feature 입력을 받아 모든 정보를 Fusion하고 있는 모습을 표현하고 있습니다. 이제 하나씩 살펴보겠습니다.

3-2. Normalizing Flow

저자들이 제안하는 방법론의 핵심은 Normalizing Flow를 이용하는 Density Estimation 부분입니다. Normalizing Flow를 사용한 다른 방법들과 달리 Multi Scale Feature 정보를 같이 활용하기 위해 Cross-Scale Flow라는 방법을 제안합니다.

image 107
그림2. CS-FLOW의 FLOW 부분

위 그림은 CS-FLOW의 Flow 부분의 동작 구성을 표현한 그림입니다. 중간의 r1, r2 함수를 통해 Multi Scale Feature가 Fusion되는 모습을 볼 수 있습니다. 덕분에 CS-FLOW는 Multi Scale 정보를 적절하게 활용할 수 있게 되었죠. 또한 포인트는 이때의 r 함수들을 전부 Fully Convolutional 하게 구성해주었다는 점입니다.

cross-scale-flow
그림3. CS-FLOW 내부 r의 구성

위 그림은 r을 구성하는 함수들을 표현한 그림입니다. Fully Convolutional하게 구성된 모습을 볼 수 있습니다.

2-3. Loss

다음은 학습을 위한 loss를 보겠습니다.

loss
그림4. CS-FLOW Loss

일반적인 Normalizing Flow와 마찬가지로 p(y)를 최대화하는 방향으로 학습합니다.

2-4. Anomaly Score

다음은 Anomaly score를 측정하는 방법입니다.

anomaly-score
그림5. CS-FLOW Anomaly Score

일반적인 Normalizing Flow와 마찬가지로 p(z)가 작을수록 불량으로 판정합니다.

3. 실험 결과

다음은 이렇게 제안하는 방법의 성능을 살펴보겠습니다.

3-1. mvTec

먼저 mvTec 데이터셋에 대한 성능입니다.

mvtec-성능
그림6. mvtec 실험 결과

비교 방법론들은 다음과 같습니다.

  • ARNet : [IEEE Transactions on Multimedia 2021] Attribute Restoration Framework for Anomaly Detection
  • GEOM : [NIPS 2018] Deep Anomaly Detection Using Geometric Transformations
  • DSEBM : [ICML 2016] Deep structured energy based models for anomaly detection
  • Gaussian AD : [ICPR 2020] Modeling the Distribution of Normal Data in Pre-Trained Deep Features for Anomaly 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
  • PaDiM : [ICPR 2021] PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization

3-2. MTD

다음은 MTD 데이터셋에 대한 성능입니다.

MTD-성능
그림7. MTD 실험 결과

비교 방법론들은 다음과 같습니다.

  • 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
  • Gaussian AD : [ICPR 2020] Modeling the Distribution of Normal Data in Pre-Trained Deep Features for Anomaly 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
  • PaDiM : [ICPR 2021] PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization

4. Ablations

다음은 Ablations를 살펴보겠습니다.

4-1. Scale 사용에 따른 성능

먼저 Scale을 어떻게 사용하는지에 따른 mvTec 데이터셋의 성능입니다.

scale에-따른-성능
그림8. scale에 따른 성능 Ablation

예상대로 다양한 스케일을 모두 사용한 방식의 성능이 가장 높은 모습입니다. 또한 다양한 Multi Scale 방식 중에서도 CS-FLOW 방식의 성능이 가장 좋은 모습입니다.

4-2. Coupling block 개수에 따른 성능

다음은 Cross-Scale Convolution의 개수에 따른 성능입니다.

cross-scale-flow-개수에-따른-성능
그림9. Cross Scale Flow 개수에 따른 성능 Ablation

Cross-Scale Convolution의 개수가 많아질수록 성능이 좋아지지만 5개에서 Saturation 되는 모습입니다.

Series Navigation<< [22′ WACV] CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows 핵심 리뷰[21′ arxiv] FastFlow: Unsupervised Anomaly Detection and Localization via 2D Normalizing Flows 핵심 리뷰 >>
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top