[22′ CVPR] SSPCAB : Self-Supervised Predictive Convolutional Attentive Block for Anomaly Detection 핵심 리뷰

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

내용 요약

기존 Anomaly Detection 방법에 삽입할 수 있는 Reconstruction Block을 소개합니다. Reconstruction 기능을 구현하기 위해 Masked Convolution과 Channel Attention Module을 사용합니다.

1. 들어가며

이번 글에서는 2022년 CVPR에 발표된 논문인 Self-Supervised Predictive Convolutional Attentive Block for Anomaly Detection을 리뷰합니다. 이 논문은 SSPCAB라고 불리며 이번 글에서도 SSPCAB라고 지칭하겠습니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요.

2. 제안 방법

바로 제안 방법을 살펴보겠습니다. SSPCAB는 한마디로 표현하면 Reconstruction Block이라고 할 수 있습니다. 기존 Reconstruction 방식의 많은 Anomaly Detection 방법론들이 있었는데요. 따라서 Anomaly Detection에서 Reconstruction 방식의 효용성은 입증되어 있는 상태죠. 이에 SSPCAB는 기존 CNN에 삽입 가능한 Reconstruction Block을 제안합니다.

image 111
그림1. SSPCAB 제안 방법

이러한 Reconstruction Block을 구성하기 위한 핵심 아이디어는 크게 두가지입니다.
첫 번째는 Masked Convolution입니다. Masked Convolution은 제한된 정보만을 사용하여 연산을 수행하는데요. 이를 통해 Reconstruction과 유사한 기능을 학습하도록 유도해줍니다.
두 번째는 Channel Attention Module입니다. 이는 Masked Convolution 연산 결과 Feature의 채널별 Scale을 맞춰주는 역할과 Non Linearity를 추가해주는 역할을 합니다.

하나씩 자세히 살펴보겠습니다.

2-1. Masked Convolution 

먼저 Masked Convolution입니다.

2.masked convolution과 standard convolution 비교
그림2. Masked Convolution과 Standard Convolution 비교

위 그림은 저자들의 제안 방법인 Masked Convolution과 Standard Convolution의 한 개 Kernel(Convolution Filter)을 비교한 그림입니다. Standard Convolution은 모든 입력에 대해 Convolution 가중치와 연산하는 모습입니다. 반면 Masked Convolution은 네 개 모서리의 부분만 가중치가 할당되어 있습니다. 그 외 흰색 부분은 Masking 처리되어 입력 정보에 대한 연산을 수행하지 않습니다. 이때 Masked Convolution의 연산 결과는 Input Feature와 동일한 사이즈로 나오도록 합니다.

2-2. Channel Attention Module

이렇게 Masked Convolution 연산 결과 나온 Feature Map은 채널별로 각각의 Convolution을 수행했기에 채널별 Scale이 맞지 않습니다. 따라서 이에 대한 Calibration이 필요합니다. 저자들은 이를 위해 Channel Attention Module을 도입합니다. Channel Attention은 기존의 SENet 등의 방법을 그대로 사용합니다.

3.channel attention
그림3. Channel Attention
  • 𝛿 : ReLU
  • 𝜎 : Sigmoid

적당한 선형 함수와 비선형 함수를 조합하여 Channel Attention Score를 내는 모습을 볼 수 있습니다. 이렇게 Channel Attention Module을 추가함으로써 두 가지 이점을 얻을 수 있습니다.

첫 번째는 Channel별 Scale을 맞출 수 있다는 것입니다.
두 번째는 Non Linearity를 추가해줄 수 있다는 것입니다.

2-3. Reconstruction Loss

Loss 함수는 위의 연산 결과 나온 Feature와 입력 Feature가 동일하도록 Reconstruction Loss를 구성해줍니다.

4.reconstruction loss
그림4. Reconstruction Loss
  • X : input feature
  • X^ : masked convolution + channel attention의 output feature

이 Loss 함수가 의미하는바가 무엇일까요?

image 110
그림5. Masked Convolution

위 그림과 같이 이미지의 중앙 (빨간색 M) 정보는 가려 놓고 K1 ~ K4 정보만을 사용하여 이를 reconstruction 해야 합니다. 이는 주변부의 정보만을 바탕으로 문맥을 파악하는 능력을 학습해야 한다는 의미죠.

2-4. Final Loss

SSPCAB는 기존 Convolution 연산에 추가해줄 수 있는데요. 따라서 기존 Loss에 SSPCAB Loss를 추가하여 구성해줍니다.

5.final loss
그림6. Final Loss
  • LF : 기존 loss

2-5. SSPCAB의 의미

이제 생각해 봐야 하는건, 왜 SSPCAB가 기존 연산에 추가되면 효과적일까요? 기존 연산에 Reconstruction Block이 하나 추가 되었다는 건데요. 그럼 기존 Anomaly Detection에서 Reconstruction의 의미를 생각해봐야 합니다.

Anomaly Detection에서 Reconstruction 방법을 사용하는 이유는 이렇습니다. Reconstruction은 원래 정보를 복원한다는 의미 잖아요. 그런데 내가 학습할 때 봤던 정보만 잘 복원할 수 있겠죠. 처음 보는 정보는 학습한 적이 없으니 엉뚱한 방향으로 복원해 놓을 겁니다. 그런데 Anomaly Detection 문제의 특성상 모델은 정상 데이터만 학습할 거고요. 따라서 테스트 단계에서 불량 데이터가 들어오면 입력 이미지와 전혀 다른 이미지로 복원해 놓겠죠. 이 차이를 이용하겠다는 겁니다.

그럼 기존 Anomaly Detection 모델에 이러한 Reconstruction Block을 삽입하면 어떤 상황이 벌어질까요? 정상과 비정상 Feature의 분포가 더 많이 차이 나게 될 겁니다. 비정상 Feature는 Reconstruction Block이 없을때 보다 더욱 이상한 공간으로 Mapping 될 거니까요. 이러한 원리로 SSPCAB는 기존 Anomaly Detection 방법의 성능을 개선해준다고 생각할 수 있습니다.

3. 실험 결과

제안 방법의 성능을 확인해보겠습니다.

3-1. mvTec

먼저 mvTec 데이터셋에서의 성능입니다.

6.mvTec 성능
그림7. mvTec 실험 결과

Baseline 모델을 DRAEMCutPaste로 SSPCAB 모듈을 추가하여 실험을 진행했습니다. SSPCAB를 추가했을 때 성능이 증가하는 모습을 볼 수 있습니다.

3-2. Avenue and ShanghaiTech

다음은 Aveneu와 ShanghaiTech 데이터셋에 대한 성능입니다.

7.Avenue과 ShanghaiTech 성능
그림8. Avenue / ShanghaiTech 실험 결과

대부분 모델에 SSPCAB를 추가하면 성능이 좋아지는 모습을 볼 수 있습니다.

Series Navigation<< [21′ ICCV] Learning Unsupervised Metaformer for Anomaly detection 핵심 리뷰[Pretrained Feature Matching 방식의 Anomaly Detection] >>
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