본문 바로가기

논문읽기

Beyond Academic Benchmarks: Critical Analysis and Best Practices for VisualIndustrial Anomaly Detection

abstract :

지금까지의 AD의 문제점

- 데이터셋의 문제가 있다. 현실에서 발생하는 다양한 범위의 defect 또는 normal의 분포를 모두 포함하지 않고, 실험실에서 인공적으로 만들어진 데이터셋을 쓰고 있다. 그래서 종종 real-world에 적용했을 때 "심각한 성능 저하" OR "엄청난 계산비용 문제"에 직면한다.

 

해당 논문에서는

- 현실적인 데이터셋의 필요성을 보여주고

- 기존 SOTA 모델들을 산업 현장에 맞춰 다시 평가하고,

- 학계와 산업 간의 격차를 매우기 위한 관점에 대해 설명한다.

 

일단 좀 보면, patch-core가 2021년에 발표되었지만, 오히려 real-world에서 잘 작동하는 것을 볼 수 있다.

SIMPLENET이 LOCO MVTEC 같은 데이터에서는 SOTA를 찍었지만, VAD와 같이 현실세계를 반영한 데이터에서는 patch-core에 밀린다.

 

introduction

 

dataset : 학습과 test에 real한 데이터가 들어있지 않고, 실험실에서 만들어진 데이터로만 평가함. MVTecAD 데이터를 중점적으로 보는 경향이 있는데 이미 image level AUROC는 99퍼 정확도로 포화됨.

 

test setup : 여기가 가장 중요한데,

1. epoch가 정해져 있지 않음. 대부분의 모델에서 모든 모델을 최상의 epoch로 학습시키는 것이 아니라 자신들의 모델은 최상으로 학습시키고 나머지 모델은 over-OR-under-fitting 시킴.

2. 또한 Center-crop-augmentation을 테스트 데이터 셋에 진행하는데, 해당 경우에서는 pixel level AUPRC에서 FP를 감소 시켜서 성능 향상을 이룰 수 있음.

같은 성능의 모델이어도 FP가 작아지면 recall도 올라가고 모든 FP가 들어가는 지표에 긍정적인 bias를 제공함.

 

metric

AUROC : 정상 데이터가 많고 불량이 드문 경우, FP가 낮아도 높은 AUROC 값을 얻을 수 있어 실질적 성능을 과대평가할 수 있음. 즉, FN과 FP는 동일한 cost를 가지고 있지 않음, 불량이 아닌데 불량이라고 하는건 괜찮은데, 불량을 발견하지 못하면 그 불량품이 소비자한테 전달됨. -> FN을 고정시키고, TN FP의 비율을 보는 게 합리적이다.

 

+추가 : 데이터셋에서 클래스를 골라서 사용하는 것도 불합리하다.

 

DATASET

 

산업 현장에서는 최소 20개 이상의 클래스가 QC라인에 존재하는데 cls를보면 가장 많은 게 12개다.

근데 꼭 실제 real-world에서 찍힌 데이터가 필요한게 아니다. "다양한 defect"를 담은 데이터가 필요한거다.

실험실에서 만들어졌다고 해도, 다양한 defect가 들어가면 좋은 데이터라 볼 수 있다.

 

논문은 여기서 스톱 해야겠다. 그냥 MVTec 99.9 AUROC 찍어도 real data에서는 성능이 나쁘다 이정도

 

한줄 정리 : 해당 논문에서는 불공정한 평가지표로 인해 모델들이 과대평가 되었으며, real-world dataset ex) VAD 와 같은 데이터에서는 성능이 크게 하락함을 보인다. 또한 자잘한 실험 세팅이 각 논문마다 완전히 다른 경향이 있다.

 

해당 논문에서는 few-shot method는 다르지 않고, NFM모델을 다루기에 이만 글을 줄인다.