abstract :
지금까지의 AD의 문제점
- 데이터셋의 문제가 있다. 현실에서 발생하는 다양한 범위의 defect 또는 normal의 분포를 모두 포함하지 않고, 실험실에서 인공적으로 만들어진 데이터셋을 쓰고 있다. 그래서 종종 real-world에 적용했을 때 "심각한 성능 저하" OR "엄청난 계산비용 문제"에 직면한다.
해당 논문에서는
- 현실적인 데이터셋의 필요성을 보여주고
- 기존 SOTA 모델들을 산업 현장에 맞춰 다시 평가하고,
- 학계와 산업 간의 격차를 매우기 위한 관점에 대해 설명한다.
일단 좀 보면, patch-core가 2021년에 발표되었지만, 오히려 real-world에서 잘 작동하는 것을 볼 수 있다.
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를 감소 시켜서 성능 향상을 이룰 수 있음.
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모델을 다루기에 이만 글을 줄인다.