[22′ CVPR] Reverse Distillation AD : Anomaly Detection via Reverse Distillation from One-Class Embedding

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

내용 요약

반대 방향으로 Knowledge Distillation을 하는 Anomaly Detection 방법론을 제안합니다. 먼저 정보를 압축한 뒤 압축 정보로부터의 Reconstruction과 Distillation을 동시에 수행합니다. 제안 방법은 mvTec에서 기존 방법보다 크게 향상된 성능을 보였습니다.

1. 들어가며

이번 글에서는 2022년 CVPR에 발표된 Anomaly Detection via Reverse Distillation from One-Class Embedding 논문을 리뷰합니다. 이번 글에서는 해당 논문을 Reverse Distillation AD로 지칭하겠습니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요.

본격적으로 들어가기 전, 제목의 의미를 통해 저자들이 강조하고자 한 내용을 유추해 보겠습니다.
제목에서는 크게 세 가지 포인트를 찾을 수 있습니다.
첫 번째는 Knowledge Distillation을 사용하는 Anomaly Detection 방법론이라는 것입니다.
두 번째는 일반적인 Knowledge Distillation과 달리 Reverse Distillation을 사용한다는 것입니다.
세 번째는 이러한 Distillation이 One Class Embedding으로부터 이루어진다는 것입니다.이를 통해 압축 정보를 사용하여 Distillation을 하는 Anomaly Detection 방법임을 유추할 수 있습니다.
본문에서 하나씩 자세한 내용을 살펴보겠습니다.

이번 글의 순서는 다음과 같습니다.
첫 번째로 Knowledge Distillation 기반의 Anomaly Detection 방법의 문제점을 살펴봅니다.
두 번째로 제안 방법에 대해 살펴봅니다. 먼저 큰 그림을 살펴본 뒤 상세 내용을 살펴봅니다.
세 번째로 성능 실험을 통해 제안 방법의 효과를 살펴봅니다.
네 번째로 Ablation 실험을 통해 제안 방법의 타당성을 살펴봅니다.

2. 기존 방법의 문제점

이번 논문전에 Knowledge Distillation을 사용한 다양한 Anomaly Detection 방법들이 있었습니다. 대표적으로 Uninformed StudentsPyramid Matching 방식Multiresolution 사용 방식등이 있었습니다. 저자들은 이러한 기존 방식에는 문제가 있다고 지적합니다.

그림1.기존 방법의 문제점
그림1. 기존 방법의 문제점

위 그림은 기존 방식과 저자들이 제안하는 Reverse Distillation AD 방식을 비교한 그림입니다.

먼저 기존 방식을 살펴보겠습니다.
기존 방식은 Teacher와 Student의 정보가 동일한 방향으로 흘러가며 지식이 전달되는 모습입니다. 일반적인 Knowledge Distillation 구조를 하고 있죠.

반면 Reverse Distillation AD 방식은 반대 구조를 하고 있습니다. Teacher를 통해 압축된 정보가 거꾸로 Student에게 흘러가며 지식이 전달되는 모습입니다. 이는 압축된 정보를 사용하여 고차원 정보를 복원하는 과정이므로 일종의 Image Reconstruction 과정이라고 볼 수 있습니다. 따라서 Reverse Distillation AD는 Knowledge Distillation과 Reconstruction을 합친 방법이라고 할 수 있겠네요.

3. 제안 방법

이제 제안 방법을 살펴보겠습니다.

3-1. 큰 그림

Reverse Distillation AD에서는 정보를 한번 압축한 뒤 반대 방향으로 Knowledge Distillation을 수행합니다.

저자들은 이렇게 함으로써 두 가지의 장점을 얻을 수 있다고 주장합니다.

첫 번째는 동일한 구조에서 발생하는 Non Distinguishing Filter 문제를 완화할 수 있습니다.
쉽게 말하면 Teacher의 모든 정보가 걸러지지 않고 Student에게 전달되는 문제를 말합니다. 왜 정보 전달의 방향을 반대로 해줬을 때 이러한 문제가 해결된다는 것일까요? 이건 이렇게 비유적으로 생각해 볼 수 있습니다. 기존 방식은 선생님과 동일한 대답을 하려고 노력하는 학생이라고 할 수 있습니다. 즉, 주입식 교육을 받는 학생인 거죠. 반면 제안 방법의 학생은 좀 독특합니다. 선생님이 알려주는 걸 그대로 배우지 않고 자기 나름대로 해석한 뒤 자기만의 독창성 있는 생각으로 만들어내죠. 좀 더 창의적인 교육을 받는 학생이라고 비유할 수 있습니다. 이 학생은 선생님으로부터 받은 정보를 재해석하여 받아들이죠. 때문에 곧이곧대로 받아들여 발생하는 Non Distinguishing Filter 문제가 완화된다고 볼 수 있습니다.

두 번째는 비정상 정보에 대한 Bottleneck 역할을 수행한다는 것입니다.
이는 정보를 한번 압축한 뒤 Student에게 전달하기 때문인데요. 이건 이렇게 생각해 보겠습니다.
만약 정보를 압축하지 않고 그대로 Student에게 전달한다면 무엇이 다를까요?
기존의 Feature에는 아주 다양한 정보가 포함되어 있을 겁니다. 정상 개념을 일반화하기 위해 꼭 필요한 정보도 있고, 스크래치나 먼지 등 불필요한 정보도 많이 있을 겁니다. 이러한 정보를 압축해 준다면 정상 개념을 일반화하기 위해 꼭 필요한 정보만 남게 되겠죠. 따라서 테스트 단계에서 비정상 정보가 들어온다면 이렇게 정보가 압축되는 과정에서 걸러지게 됩니다.

그림2.큰 그림
그림2. 큰 그림

위 그림은 이러한 전체 과정을 나타낸 그림입니다.
MFF는 Multi scale Feature Fusion Block을 의미합니다. MFF는 다양한 Scale Feature를 합쳐주는 역할을 수행합니다.
OCE는 One Class Embedding Block을 의미합니다. Feature Fusion 된 정보를 압축하는 역할을 수행합니다.
아래에서 자세히 살펴보겠습니다.

3-2. One class bottleneck embedding

다음은 Teacher로부터 나온 Feature를 압축해 주는 기능을 살펴보겠습니다.

img
그림3. one class embedding

크게 두 가지로 구성되어 있습니다.

첫 번째는 MFF (Multi scale Feature Fusion block)입니다.
MFF는 Low Level Feature와 High Level Feature를 모두 모아주는 역할을 수행합니다. 왜냐하면 Layer별 정보의 특성이 다르기 때문이죠. 모든 특성의 정보를 합쳐서 사용할 때 가장 좋은 성능을 낼 수 있습니다. 위의 그림을 보면 Convolution 연산을 사용하여 다양한 Level의 Feature를 모아주는 모습을 볼 수 있습니다.

두 번째는 OCE (One Class Embedding block)입니다.
OCE는 MFF를 통해 모인 다양한 Scale의 Feature를 압축해 주는 역할을 합니다. 정상 이미지의 Feature를 한번 더 압축해 주어 꼭 필요한 정보만 남겨주는 거죠. 위 그림에서는 ResNet Block이 이러한 역할을 수행하는 모습을 볼 수 있습니다.

3-3. Loss Function

다음은 Loss Function을 살펴보겠습니다.

먼저 Teacher 네트워크인 Encoder는 Pretrained Network를 사용합니다. 가중치는 고정하고 추가로 학습하지 않습니다. 미리 배운 지식을 Student 네트워크에 전달해 주는 역할을 수행해야 하기 때문이죠. Student 네트워크인 Decoder는 Encoder와 동일한 사이즈의 Feature를 생성해 줍니다. Student 네트워크 가중치는 초기화되어 Loss Function으로 학습합니다.

Loss Function은 Encoder와 Decoder가 추출한 Feature가 동일해지도록 구성해 줍니다. 우선 Loss로는 Cosine Similarity를 사용할 건데요. Feature Level에서 적용하는 게 아닌, Feature의 각 위치별로 적용해 줍니다.

그림4.Feature 위치별 Loss
그림4. Feature 위치별 Loss

위 그림처럼 Feature의 (h, w) 값에 각각 적용해 주는 것이죠. 수식으로는 이렇게 표현됩니다.

img
그림5. cosine similarity

이렇게 추출한 모든 Layer M의 합으로 Loss를 구성해 줍니다.

img
그림6. knowledge distillation loss

3-4. Anomal score

다음은 Anomal Score 측정 방법을 살펴보겠습니다.

우리 모델은 정상 이미지에 대해서만 Restoration을 학습했죠. 따라서 테스트 단계에서 마주치는 Anomal 부분에 대해서는 Restoration을 잘 못할 것입니다. 따라서 Teacher와 Student의 Feature 차이를 근거로 Anomal Score를 계산합니다. Loss Function과 마찬가지로 Feature의 (h, w) 별로 계산해 줍니다. 즉 Segmentation Map을 만들어주는 겁니다. 수식으로는 다음과 같이 표현됩니다.

img
그림7. anomal score

이를 하나의 Scale에서만 구하면 안 되겠죠? 모든 Scale에서 M을 구해 합쳐줍니다.

그림8.다양한 scale에서의 anomal score
그림8. 다양한 scale에서의 anomal score

이렇게 구한 다양한 M의 Upsampling으로 Pixel별 Anomal Score를 구합니다. 수식으로는 다음과 같습니다.

그림9.upsampling 수식
그림9. upsampling 수식

Detection Anomal Score는 Pixel별 Anomal Score의 최댓값으로 구합니다.

4. 실험 결과

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

4-1. mvTec

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

Detection 성능은 다음과 같습니다.

img
그림10. mvtec 성능 – detection

기존 Knowledge Distillation 방법뿐만 아니라 다양한 방법들과 성능 비교를 하고 있습니다.
기존 Knowledge Distillation 방법은 성능이 떨어진다는 단점이 있었는데요. Reverse Distillation AD는 성능이 크게 개선된 모습입니다.

Localization 성능은 다음과 같습니다.

img
그림11. mvtec 성능 – localization

Detection 성능과 마찬가지로 매우 좋은 성능을 보입니다.

4-2. One class novelty detection

다음은 one class novelty detection 성능입니다.

img
그림12. one class novelty detection 성능

mvTec 데이터셋뿐만 아니라 one class detection도 준수한 성능을 보입니다.

5. Ablations

다음은 Ablation 실험 결과를 살펴보겠습니다.

5-1. OCE, MFM 효과

먼저 OCE, MFM의 효과를 알아봅니다.

img
그림13. OCE, MFM 효과

위 그림은 OCE, MFM 적용 여부에 따른 성능을 비교한 표입니다.

확실히 정보를 압축해 줄수록, 다양한 Feature를 섞어줄수록 성능이 좋아집니다. 따라서 OCE, MFM의 제안 방법이 타당함을 알 수 있습니다.

5-2. Backbone에 따른 비교

다음은 Backbone에 따른 효과를 살펴봅니다.

img
그림14. backbone에 떠른 성능

위 그림은 Backbone 네트워크에 따른 성능을 비교한 표입니다.

Backbone 성능이 좋을수록 높은 성능을 보입니다.

5-3. Feature Scale에 따른 비교

다음은 Feature Scale에 따른 성능입니다.

img
그림15. feature scale에 따른 성능

위 그림은 사용한 Feature에 따른 성능을 비교한 표입니다.

다양한 Feature를 사용할수록 성능이 좋은 모습입니다. 따라서 다양한 Feature를 사용하는 제안 방법이 타당함을 알 수 있습니다.

6. 결론

Anomaly Detection via Reverse Distillation from One-Class Embedding 주요 내용을 살펴봤습니다.
기존 방법과 달리 반대 방향으로 Knowledge Distillation을 수행한다는 점이 독특했는데요. Knowledge Distillation과 Image Reconstruction을 합쳐놓은 구조를 하고 있었습니다. 제안 방법은 mvTec에서 크게 향상된 성능을 보였습니다. 그동안 Knowledge Distillation 기반의 Anomaly Detection 방법들은 성능이 좋지 않았는데요. 이번 논문은 충분히 성능이 좋은 Knowledge Distillation 기반의 Anomaly Detection 방법이라는 의의가 있습니다.

Series Navigation<< [21′ CVPR] Multiresolution Knowledge Distillation for Anomaly Detection[Synthetic Anomaly 방식의 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