카테고리 없음

FastFlow: Unsupervised Anomaly Detection and Localizationvia 2D Normalizing Flows

륵기 2022. 3. 15. 23:42
728x90
반응형

Abstract

- Anomaly detection의 중요성

데이터 수집의 어려움, 레이블링 된 데이터를 구하기 어려울 뿐 아니라 이상 탐지 시 비정상 데이터를 구하기 어려움

- Detection 방법

Train data(normal)로만 학습하여 Test 시 Train 때 구성된 분포와 거리를 계산하여 비교

train 분포와 가까우면 정상으로 판단, 아니면 비정상

 

그러나 요즘 방법들로는 local feature와 global feature간의 관계를 무시하게 되고 기본 분포에도 매핑이 효과적이지 않음, 이로 인해 이상탐지의 효율성을 높이는 방법이 요구됨

 

본문서 소개하는 Fastflow는 비지도학습 기반 이상탐지를 위해 레즈넷이나 vit 같은 모델을 feature extractor로 사용하고, 훈련 시 FastFlow는 입력된 시각적 특징을 다루기 쉬운 분포로 변환하는 방법을 배우고 추론 단계에서 이상을 인식할 수 있는 가능성을 얻는다.

 

Introduction

이상탐지는 의료 분야나 산업 분야에서 결함을 찾는 데 흔히 사용하게 됨

abnormal 한 데이터는 낮은 확률 밀도로 인해 보통 분포가 long-tail로 형성이 되고 최악의 경우에는 아예 비정상 클래스에 대한 샘플이 없어 분포 형성이 불가능하다.비정상 데이터에 대해 레이블링도 불가능하게 되니, 비지도학습 기반 이상탐지가 주를 이루게 되고 흔히 one-class classication이라고도 한다.one-class classification은 쉽게 이해하면 cifar-10에 10개 클래스가 있는데 비행기를 정상으로 설정하면 나머지 9개 클래스는 비정상으로 보게 된다. 이로인해 정상 비정상만 가리면 되니 하나의 클래스만 분류하게 되면 되는 것이다.

 

최근 연구 흐름은 분포 추정을 위해서 normalizing flow라는 것을 쓰는데, 이는 정상 이미지 feaature에 대한 최대 우도를 구하는 방식으로 훈련해서 비정상에 대한 확률 분포속에 위치를 찾고자 한다고 한다.

그러나 1차원 벡터로 분포 추정에 이용하기에 spatial positional relationship을 잃어버리게 되어서 본문서는 2d space로 normalizing flow를 구성한다고 한다. 

2D 로 구성하기 위해서 feature extraction으로 CNN 기반인 ResNet과 Transformer 기반인 ViT를 사용한다.

보통은 ViT가 CNN보다 성능이 좋게 나오는데 2D flow에서는 백본으로 CNN 사용했을 때만으로도 충분히 좋은 성능을 보인다고 한다.

 

 

본문서 소개하는 주요 내용은 아래와 같다.

FCN과 2D-loss function을 이용한 2D-flow로 이상탐지를 진행

cnn 커널 사이즈를 큰 것과 작은 것을 스태킹함으로써 모델 크기를 가볍게 구성

FastFlow모델과 다양한 Backbone을 같이 써봄으로서 MVTec 이상탐지에 대해 최고의 성능을 보임

 

2. Related works

- Anomaly detection

이상탐지에는 다양한 접근 방법이 있다. Reconstruction 기반 이상탐지는 auto-encoder, Vae, Gan과 같은 생성모델을 사용하는 것인데 정상 데이터만으로 학습했을 때 테스트 데이터로 추론 시 정상 데이터 분포에 속할만한 데이터를 생성해내야하는데 그렇지 못 할 경우에 테스트 데이터에 대해서 비정상을 판별할 수가 있다.

Representation 기반 방법은 정상 이미지로부터 feature를 추출 해서 feature에서의 분포를 구성하고 추정하는 방식이며 test 시에는 테스트 이미지와 정상 feature간의 거리 계산을 통해서 판별하게 된다.

 

- Feature extractors

앞서 언급한 백본은 resnet과 Vit를 사용했다고 하는데, Vit의 특징은 global receptive field를 갖고 있기에 이미지에 대해 전체적인 부분가 local feature의 관계를 더 잘 학습할 수 있다.

여기서는 ViT 기반 모델인 DeiT와 CaiT를 사용하는데, DeiT는 teacher-student의 특성을 transformer에 적용한 것으로 좋은 성능을 보인 모델이다. CaiT는 encoder decoder 형태로 단순하게 구성하지만 성능은 좋은 transformer 구조이다.

 

- Normalizing Flow

 

 

 

3. Methodology

Representation 기반 방법을 적용함으로써, 학습가능한 확률 밀도함수 추정 모델을 정의하며, feature extractor와 FastFlow 모델을 중점적으로 나타낸다.

 

비지도학습 기반 이상탐지는 one class classification 혹은 out-of-distribution이라고도 하는데, representative based method는 기본적으로 discriminative feature vectors를 normal image로 부터 추출해서 테스트 이미지 임베딩 값과 분포 값 사이의 거리를 계산하는 형태로 구성된다.

feature 추출 후 구성되는 분포에 대한 학습은 파라메터 space에 존재하는 모든 데이터에 대해서 같은 분포 형태를 갖고 있는 random variable distribution에 매핑하게끔 파라메터를 학습하는 것이다. 그래서 여기서는 FastFlow를 backbone으로 부터 추출한 feature들을 고차원의 공간으로 사영시키는 역할을 한다.

 

- 2d flow 보충 예정

 

4. Experiments

이상탐지 데이터 셋으로는 MVTec, BTAD, Cifar-10 을 사용했고, Cifar의 경우는 이미지 분류용 데이터 셋인데 one-class classification으로 사용한다.

이상탐지에서 test image에 대해서는 분류의 경우에는 이미지 하나 당 single anomaly score를 매기고, localization은 segementation과 같이 픽셀 단위로 score를 매긴다.

 

백본으로 사용한 모델과 같이 적용한 flow모델에 따른 성능을 비교해보면 fastflow를 적용할 때 제일 성능이 좋은 것이 보인다.

 

Fastflow에서 강조한 bidirectional invertible function의 개념은 아래 그림을 보면 도움이 될 것 같다.

728x90
반응형