Contents
기존 연구의 경우 이상치 탐지(Anomaly Detection)를 수행할 때 각각의 클래스 별로 별도의 모델을 생성하는 문제점이 존재했다[Figure 1]. 본 연구는 이상치 탐지에 있어 별도의 모델을 구축하는 것이 아니라, 통합된 모델을 구축한다는 것이 핵심이다. 실험 결과, 본 연구에서 제안하는 UniAD 기법의 성능이 우수한 것을 확인하였다.
기존 연구에서 사용되는 CNN, MLP, Transformer 등과 같은 기법은 클래스를 모두 합쳐서 학습하는 경우 이상치 마저도 잘 복구해서 이상치가 어떤 것인지 제대로 발견하지 못한다는 문제가 존재한다[Figure 2]. 본 연구에서는 이를 해결하기 위해 모델을 Neighbor masked attention, Layer-wise query decoder 그리고 Feature jittering strategy으로 구성하였으며, 각 모듈이 어떤 역할을 수행하는 지 알아보자.
Neighbor masked attention
Transformer와 같은 구조를 사용하는 경우 클래스를 통합했을 때 "Identical shortcut"이 발생하여 성능이 저하되기 때문에, 이를 방지하기 위해 Neighbor Masked Attention (NMA)를 도입하였다[Figure 5].
Layer-wise Query Decoder
Layer-wise Query Decoder (LQD)에서는 [Figure 3]과 같이 이전 단계의 Output과 Query를 계산하고 Skip-Connection을 사용하였다. LQD를 통해 Reconstructed Token을 도출한다.
Feature Jittering
Feature Jittering은 Denoising Auto-Encoder (DAE)를 참고하여 섭동(Perturbation)을 Feature Token에 더해주는 방식이다.
\[ D ~ N (\mu = 0, \sigma^2 = ( \alpha \frac{||f_{tok}||_2}{C} )^2 ) \]
$f_{tok} \in \mathbb{R}^C$는 가우시안 분포로부터 샘플링된 Disturbance를 의미한다.
Implementation Details
Feature Extration을 하기 위해 ImageNet으로 사전학습된 EfficientNet-b4 기법을 사용하였다. 그런 다음 Linear Projection을 수행하여 입력 차원 $C_{org}$을 보다 작은 $C$로 정사영한 후 다시 복원하여 $f_{rec}$을 생성한다.
\[ \mathcal{L} = \frac{1}{H \times W} || f_{org} - f_{rec} ||^2_2 \]
$f_{org}$는 실제 이미지의 feature map을 의미한다. 이때는 MSE Loss를 사용하고, Anomaly Localization은 L2 norm을 사용하여 아래와 같이 계산한다.
\[ s = ||f_{org} - f_{rec} ||_2 \in \mathbb{R}^{H \times W} \]
Experiments
실험 결과는 본 연구의 결과가 가장 좋거나 두 번째 정도의 성능을 보여주는 것을 확인할 수 있다.
본 논문에서 제안하는 UniAD의 경우 LWQ, NMA, FJ 총 3가지의 모듈로 구성되어 있다. 각 모듈을 제거했을 때 어떠한 성능 변화가 존재하는지에 대한 실험은 [Table 5]에서 확인할 수 있다.