본문 바로가기
논문 리뷰

PatchCore : Towards Total Recall in Industrial Anomaly Detection

by 빅데이터1020 2022. 8. 28.
SMALL

논문 보러가기

https://paperswithcode.com/paper/towards-total-recall-in-industrial-anomaly

 

Papers with Code - Towards Total Recall in Industrial Anomaly Detection

🏆 SOTA for Anomaly Detection on MVTec AD (Detection AUROC metric)

paperswithcode.com

 

1. Summary

PatchCore는 MVtec 이라는 산업 분야의 이상탐지 데이터셋에서 SOTA 를 기록한 논문입니다.

PatchCore는 pre-trained 모델을 사용해 학습과정 없이, 정상 데이터로만 feature를 추출해 anomaly detection을 수행하는 모델입니다.

더불어 PatchCore는 PaDiM과 SPADE의 단점을 보완하고 이 둘의 장점을 취한 모델입니다.

 

PatchCore 논문 저자들은 해당 논문이 등장하기 전 SOTA였던 PaDiM과 SPADE에 대해 아쉬움을 나타내면서 PaDiM과 SPADE 의 장점을 살려 PatchCore를 제안하게 됩니다.

PaDiM은 Patch Level로 feature를 구분하고 Mahalanobis 거리를 이용해 scoring을 함으로써 성능을 높였습니다.

SPADE는 pixel level 에서 k-NN 방식으로 scoring 하여 anomaly detection을 수행합니다.

 

이 두가지 기본 알고리즘을 발전시키게 되는데,

1) PaDiM의 Patch Level 에서 feature를 구분했던 방식

2) SPADE의 k-NN 방식으로 scoring 했던 방식

을 접목시킵니다.

 

즉, Patch Level에서 feature를 구분한 뒤 k-NN 방식으로 scoring 을 하여 이상감지를 수행하는 것입니다.

 

2. 본문

PatchCore의 저자들은 세 가지 핵심 방식을 제안합니다. 

1) Local Patch Features

2) Coreset Subsampling

3) Detection and Localization

2-1. Local Patch Features

먼저 PatchCore는 Mid-Level feature를 Local Patch Features로 사용합니다.

Low-Level features 와 High-Level features는 사용하지 않습니다. 

ResNet 모델을 기준으로 했을 때, layer 2와 layer 3의 features 만 사용하는 것입니다.

 

Mid-Level features만을 사용하는 이유는 다음과 같습니다.

(1) High-Level features는 공간적 정보(Localized Nominal Information)의 손실이 크다

(2) Image Classification Task에 대한 Bias 가 많이 존재한다

 

Mid-Level 에서 추출한 features는 Patch-Level 로 나눠서 살펴보게 됩니다.

각 Patch에는 Adaptive Average Pooling을 적용해 주변 정보를 포함시킵니다.

이 과정을 통해 얻어진 Patch Features를 scoring에 사용합니다.

 

2-2. Coreset Subsampling

2-1 단계에서 얻은 Patch Features를 모두 사용하게 되면 너무 무거워질 수 있으니, 핵심(Coreset)만 추출해 분석에 사용하는 것을 Coreset Subsampling 이라 합니다.

특정 Patch Features 가 Coreset 임을 판단하는 기준으로 Greedy Search 알고리즘을 사용합니다.

이 방식은 Random Subsampling 에 비해 정상 features 가 고르게 선택된다고 합니다.

 

 

2-3. Detection and Localization

2-2 단계를 거쳐서 추출된 Coreset Patch 의 features를 기준으로 테스트 이미지의 Anomaly Scoring 을 하는 단계가 Detection and Localization 입니다. 

테스트 이미지에 Local Patch Features를 추출해 각 Patch Features를 Coreset Features와 비교합니다.

비교 방법은 거리 계산으로 진행하며, 유클리디언 거리로 비교를 진행합니다.

k-NN 을 수행해 이 중 가장 가까운 거리를 Anomaly Score로 간주합니다.

예를 들어, 한 개의 테스트 이미지에 패치가 10개라면 , 10개의 Anomaly Score가 생성됩니다.

10개의 패치 중 하나의 패치라도 불량이면 비정상 이미지로 분류되기 때문에, 10개의 Anomaly Score 중 가장 높은 Anomaly Score 가 해당 테스트 이미지의 최종 점수가 됩니다.

k-NN 방식으로 

 

3. 실험 결과

PatchCore는 MV tec 데이터 셋의 Image Level AUROC 에서 99.1, Pixel Level AUROC 에서 98.1 을 기록하며 SOTA 기록을 보유하게 되었습니다.

LIST