본문 바로가기

논문읽기

Unsupervised Surface Anomaly Detection with Diffusion Probabilistic Model

3줄 요약

  1. direct copy 문제와, missalignment 문제를 해결하고자 한다. ; missalignment 문제는 normal region이 온전히 reconstruct 되지 못하고, 살짝 다르게 복구된 상황을 말한다.
  2. LDM과 latent space interpolation을 통해 위 문제를 해결한다.
  3. 다른 논문과의 차이점은 DDPM base method에서 LDM을 처음 사용한 논문이고, 다른 AE, VAE 기반의 method 대비 direct reconstruct를 방지하였다. 다른 디퓨전 대비 강점은, LDM은 이용한 reconstruction 성능 향상과 latent space interpolation을 통해 false positive를 억제하였다는 점이다.

 

 

Limitation of Previous Studies/Motivations

IAD에서 기본적인 가정은 abnormal sample이 rare 하다는 것이다. 따라서 정상 샘플만 활용한다.

reconstruction based IAD는 다음의 방식으로 이루어진다.

step1. 정상 to 정상 reconstruction을 학습한다.

step2. 비정상 to 정상 reconstruction을 진행한다.

step3. 비정상 to 정상을 pixel wise하게 비교를 하여 segmentation mask를 만든다.

step4. pixel to pixel matching은 이미지의 '밝기'에 민감하게 반응한다. 또한, 잘못 reconstruction 된 즉, false positive에 영향을 크게 받는다.

step5. 이를 방지하고자 difference segmentation sub-model을 활용한다.

 

그런데 생각해보자. anomal -> normal로 갈 때. normal의 범주는 매우 넓을 것이다. 

즉, A(abnormal)을 reconstruct 했을 때, B(정상), C(정상) ... 이렇게 많은 정상 이미지에 대응될 수 있다. 그러나 지금까지의 reconstruction based IAD는 이러한 가정을 무시한다. 대부분의 작업에서는 pixel to pixel의 완벽한 reconstruction을 요구한다. 

 

pixel to pixel reconstruction에 집중을 하면, missing component등에 적절히 대응을 할 수 없다.

 

Observations

LDM을 이용하면 direct copy를 통해 abnormal이 abnormal로 reconstruct 되어 defect를 탐지하지 못하는 상황을 방지할 수 있다.

도토리 사진으로 예시를 들고 싶다.

LDM의 reconstruct는 '이미지'를 직접 재구성하는 것이 아니라. 'eigen 도토리'를 재구성 하는 것이다. 그렇게 되면 defect또한 eigen 도토리로 표현이 될 것이고 결과적으로 abnormal이 normal로 reconstruction 되는 것이다. 

 

Method

먼저, 기존의 방법과는 다른 방식을 사용하는 method 이다.

기존의 방법은 abnormal 이미지를 normal 이미지로 만드는데, normal 이미지의 guidance를 받는 방식을 사용했다.

이런 방식은 direct copy 문제가 발생했고, 해당 논문에서는 정상 이미지를 정상 이미지로 reconstruct 시키는데, abnormal 이미지를 condition으로 주고 reconstruction을 확인한다.

Latent Diffusion Models

  • LDM의 사용 이유 : 고품질의 이미지 reconstruction, ddpm 대비 효율적인 컴퓨팅 파워 사용

수식에 대한 해석은 다음과 같다.

Noisy Condition Embedding

  • C 를 그대로 사용하게 되면, condition에 너무 종속되게 학습을 한다. 즉 condition이 denoising 과정에서 dominant하게 작동하게 된다.
  • 그런데 위 설명은 autoencoder 에만 해당되는 문제이고 본 논문에서는 LDM을 사용하기에 사실 의미 없는 설명이라 생각한다. 그냥, random하게 t step을 선택한다고 말해도 충분히 전달이 될 것이다.

Interpolated Channels

  • noise space에서 latent space로 온 후 둘의 weighted sum을 하여 새로운 z_inter를 만든다. (ratio = 0.5)
  • 이유는 다음과 같다. 실제 abnormal 이미지와, reconstructed 이미지에서 defect가 아닌 다른 부분이 '미묘하게' 다를 수 있다. 이는 difference segmentation network를 방해할 수 있다. 아래 사진을 보면 이해가 쉽다.

xa : abnormal, xa tilda : 무시해도 좋다, x_inter : latent interpolation, xr : conditional reconstruct

즉 abnormal 이미지와 reconstruction 이미지 사이의 극단적인 차이를 줄이기 위해 x inter을 사용한다.

따라서 difference segmentation model input은 xa, x_inter, xr 총 3개이다.

Experiments

dataset : mvtec

epoch : LDM(4000) sub-net(700)

metric : i,p - AUROC

 

visual result

props

1. direct reconstruction 문제를 conditional LDM으로 해결하였다.

2. latent space interpolation을 통해 pixel level segmentation의 성능을 높였다. 즉, FP를 낮출 수 있었다.

 

cons

1. 구체적인 학습 방법 및 파라미터를 공개하지 않는다.

2. pretrain network를 사용했는지 명시하지 않는다.

3. 그 외 구체적 디테일을 공개하지 않는다.