본문 바로가기
Drawing (AI)/Paper review

[논문 리뷰]Asymmetric Student-Teacher Networks for Industrial Anomaly Detection(2)

by 생각하는 이상훈 2024. 4. 1.
728x90

Problem

이제 본격적으로 방법론과 모델의 구조에 대해서 살펴볼텐데 그에 앞서서 이러한 새로운 방법론이 나온 이유를 살펴보자. 기존의 Image anomaly detection 방법론들은 크게 아래의 세가지 문제점이 있었다.

1. Teacher-Student 대칭적 구조로 인한 Undesired Generalization

2. OOD input not OOD output

3. Perfect density models cannot guarantee anomaly detection.

하나씩 살펴보자.


Teacher-Student 대칭적 구조로 인한 Undesired Generalization

Teacher-Student 구조의 Anomaly Detection은 Teacher와 Student 의 output 차이로 Anomaly Detection을 수행한다. 이말은 TS구조가 Anomaly data에 대해 Output 차이는 커야 한다는 가정을 토대로 설계된 방법론이라는 것이다. 하지만만 이러한 가정이 항상 맞지는 않는다. 아래 그림의 toy실험 결과를 살펴보자.

회색부분이 normal data이고 노란색이 anomaly data인데 symmetric 구조를 사용하면 anomaly data에 대해서 Teacher와 Student가 유사한 구조를 가지는 경우 Undesired Generalization을 하는 경향이 보인다. 다시말해 대칭 구조를 사용하는 경우 학습한 Normal data 뿐만 아니라 학습 되지 않은 Anomaly 파트 까지 유사하게 예측 한다는 것이다. 이는 Student가 Anomaly data를 학습하지는 않았지만 구조적인 유사성 때문에 Teacher와 유사한 output을 만든다고 예상할 수 있다. 실제로도 비대칭 구조의 경우 Normal data는 유사하게 예측하지만 Anomaly에 대해서는 다르게 예측 한다.


OOD input not OOD output

Out-of-distribution input이 Teacher, Student의 output에서 충분히 큰 차이를 만들 것이라고 보장할 수 없다는 것이다. 이는 위의 문제와 거의 유사하지만 그 이유를 일반적인 신경망이 injective function(전사함수)이 아니기 때문이라고 보았다.

이 문제를 해결하기 위해 사용되는 normallizing flow는 Bijective function(일대일 대응)이기 때문에 OOD input에 대해 OOD output을 만들어 낸다. 따라서 Normalizing flow를 사용하는 경우 Anomaly data에 대해 민감하게 반응할 수 있다는 것이다.


Perfect density models cannot guarantee anomaly detection

기존의 Normalizing Flow를 이용한 Anomaly Detection 방법론들은 Input data의 likelihood를 anomaly score로 사용하여 detection을 수행 한다. 그러나 Le and Dinh의 논문에 따르면 아무리 완벽한 density estimator라도 완벽한 anomaly detection을 보장할 수 없다는 결과가 나왔다. 단순히 Data를 reparameterize 하는 것으로 likelihood가 바뀔 수 있고 안정되지 않은 학습은 잘못 된 likelihood 추정으로 이어질 수 있기 때문이다.

대신 Teacher-Student의 distance를 활용하면 잘못된 likelihood 추정이 진행되었더라도 student의 output과의 차이 때문에 잘못된 detection을 방지할 수 있다.

따라서 Anomaly score로 T-S distance를 이용한다.


Architecture

우선 전체적인 모델의 구조를 살펴보자.

Teacher와 Student는 positional encoding에 의해 형성된 image feature와 depth map을 입력으로 받는다. 우선 normalizing flow로 표현되는 Teacher는 3D이미지에서 추출된 foreground map을 마스킹하여 만들어진 값과의 negative log likelihood loss를 감소시키는 방법으로 optimizing이 진행된다. 다음으로 Student는 Teacher의 output과의 masked distance를 최소화하는 방향으로 학습된다.

Foreground masking은 4개의 모서리 픽셀 깊이의 평균을 2D 평면이라고 가정하고 다른 픽셀 값이 20평면 보다 7mm떨어져 있는 경우 foreground로 간주한다. Background에 있는 픽셀 값들은 학습 과정 중 아래 그림과 같이 무시 된다.

Pixel unshuffle은 feature extracter로 인해 추출된 크기가 축소 된 feature map의 크기와 depth image를 맞추기 위해 사용된다. depth image를 192의 크기로 down sampling 한 뒤에 진행한다. d x d 크기의 Patch를 하나의 pixel로 만들고 그만큼 채널을 늘리는 방식이다.


학습 과정

Teacher 학습

Teacher를 따로 학습하지 않는 다른 방법론들과는 달리 해당 방법론은 Teacher를 우선적으로 따로 학습을 한다. Teacher모델은 Affine coupling layer로 Normalizing Flow를 구성하여 만들어졌다. 또한 이전들의 연구처럼 likelihood를 계산하여 직접적인 anomaly score로 사용하지 않고 대신 이를 student network의 target을 만들기 위한 pretext task로 사용한다. 이때 3D Image를 사용하는 경우 depth Image를 RGB이미지의 feature map과 channel-wise로 concat하여 input으로 사용한다.

Student 학습

Student의 경우 Teacher와 달리 Residual block을 사용하는 간단한 Fully Convolution Network 사용한다. 일반적인 Teacher-Student 구조 처럼 Teacher의 output과 유사한 output을 만들도록 학습한다. Student가 학습되는 과정 중 Teacher는 학습되지 않는다. Teacher와 동일하게 feature map을 input으로 사용하며 Teacher의 output과 맞춰 주기 위해 down sampling은 진행하지 않는다. 다시말해 input과 output의 shape이 동일하다는 것이다.

Detection and Localization

학습과정과 마찬가지로 Test Sample에 대해 Teacher와 student의 Output 간의 distance를 Anomaly Score로 사용 한다. Localization의 경우 논문에 직접적으로 명시 되어 있는 방법은 없으나, 코드 상에서 확인할 수 있었다.


Experiments

아래의 MVTec 2D데이터 셋과 3D데이터 셋에서 실험을 진행하였다.

그 결과 평균 score에서 SOTA를 달성하였다는 것을 확인할 수 있다.

MVTex 2D 결과
MVTec 3D결과

Anomaly Score를 직접 시각화하여 본 결과도 아래와 같이 논문에 첨부되어 있었다.

student-teacher distance가 anomaly에서 커진 것을 볼 수 있는 histogram이 나타나고 실제 output의 위치를 찍고 그 거리를 표시한 figure에서도 anomaly들에 대해서는 확실히 거리가 먼것을 직관적으로 확인해볼 수 있다.

마지막으로 ablation study결과도 첨부하며 마친다.

Likelihood만으로 detection한 결과, symmetric한 구조의 결과보다 더 좋은 성능이 나오는 것을 확인할 수 있었다.

더 깊은 student구조를 이용하면 성능이 조금 오르지만 parameter와 inference time의 trade-off를 생각하여 residual block를 4개로 설정한 것도 확인할 수 있다.


728x90