[20′ ECCV] Attention Guided Anomaly Localization in Images (CAVGA) 핵심 리뷰

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

내용 요약

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 방식입니다. 전체적인 그림은 아래 그림과 같습니다.

image 52
그림1. CAVGAu 방법

Train / Test단계로 나눠서 살펴보겠습니다.

1-1-1. Train

CAVGA 모델은 기본적으로 VAE 구조를 따릅니다. VAE에서 몇 가지 변형을 적용했습니다. Loss function을 통해 살펴보겠습니다.

첫 번째 loss function은 VAE loss입니다.

VAE-loss
그림2. VAE loss

Reconstruction loss와 KL loss를 적용하는 일반적인 VAE와 동일합니다.

두 번째 loss function은 adversarial loss입니다.

adversarial-loss
그림3. adversarial loss

VAE만으로 reconstruction을 학습하면 blurry 한 문제가 있습니다. 따라서 좀 더 사실적인 reconstruction 이미지를 만들기 위해 discriminator가 이를 맞추도록 추가 loss를 구성합니다.

세 번째 loss function은 attention expansion loss입니다.

attention-expansion-loss
그림4. attention expansion loss

제안 방법의 핵심 아이디어라고 할 수 있는데요. Anomal data를 사용할 수는 없으니 normal data의 전체 부분을 attention 하도록 학습하자는 아이디어입니다. 이때 attention map A는 grad-CAM으로 구합니다.

최종 loss는 다음과 같습니다.

final-loss
그림5. final 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 데이터는 사용할 수 없다고 가정합니다. 전체적인 그림은 아래 그림과 같습니다.

image 53
그림6. CAVGAw 방법

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입니다.

complementary-guided-attention-loss
그림7. complementary guided attention loss

Normal 데이터이고 예측값도 normal 일 때만 적용하는 loss입니다. 먼저 normal / anomal 각각의 클래스에 대한 attention map을 구합니다. Normal data이므로 normal attention map은 최대화되도록, anomal attention map은 최소화되도록 학습합니다.

최종 loss는 다음과 같습니다.

final-loss
그림8. final loss

1-2-2. Test

Test과정은 unsupervised 방식과 동일합니다.

2. 실험 결과

다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.

2-1. mvTec

먼저 mvTec 데이터셋에 대한 결과입니다.

mvtec-localization
그림9. mvtec localization 실험 결과
mvtec-detection
그림10. mvtec detection 실험 결과

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

  • 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 데이터셋에 대한 결과입니다.

STC-결과
그림11. STC 실험 결과

2-3. MNIST, CIFAR10, Fashion-MNIST

다음은 MNIST, CIFAR10, Fashion-MNIST 데이터셋에 대한 결과입니다.

MNIST-CIFAR10-Fashion-MNIST-결과
그림12. MNIST / CIFAR10 / Fashion-MNIST 실험 결과
Series Navigation<< [18′ ACCV] GANomaly : Semi-Supervised Anomaly Detection via Adversarial Training[21′ ICCV] Devide and Assemble : Learning Block-wise Memory for Unsupervised Anomaly Detection 핵심 리뷰 >>
5 1 vote
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