[CVPR 2021] CutPaste : Self-Supervised learning for Anomaly Detection and Localization
CutPaste : self-Supervised learning for Anomaly Detection and Localization
Introduction
- 전형적인 supervised classification 문제와는 달리, 이상치 탐색은 추가적인 어려움이 있다.
-
1) 이상치의 특성 상, Labeling 유무와 관련없이 다량의 이상치 데이터를 확보하기가 어렵다.
-
2) 정상 / 이상치 데이터간의 차이는 종종 fine-grained 하여, 고해상도 이미지에서도 식별하기가 어렵다
-
- 이상치 데이터(anomalous data)을 얻기 힘들기 때문에, 기존의 이상치 탐색 방법은 semi-supervised 또는 one-class classification 환경에서 정상 데이터만을 활용하곤 한다.
-
이때 주로 사용되는 방법은 Autoencoder, Generative Model 등을 통해 복원오류, 확률 분포를 기반으로 이상치를 탐색한다.
-
하지만, 이러한 방법들은 픽셀 단위의 오류, 또는 고차원의 의미론적 정보(semantic information)를 포착하지 못한다.
-
-
하나의 대안으로써, high-level learned representation을 활용하는 방안이 효율적이었다.
-
EX)- Deep one-class classifier : End-to-End 구조로 연결된 DL 모델을 통해 Representation vector 추출
-
Ex)- Self-supervised representation learning : 위치 / 회전 등 변화를 인식하는 Task 추가
-
하지만, 대부분의 기존의 연구들은 객체 중심(object-centric)의 자연스러운 이미지로부터 의미론적 이상치(ex- visual object from different classes)을 찾는데 초점을 두었을 뿐, 이미지의 일부만 다른 fine-grained 이상치를 탐색하는데에는 한계가 있다.
-
-
따라서 본 연구는 고해상도 이미지에 fine-grained 한 다양한 이상치 패턴을 식별하는 One-classification 기반의 이상치 탐색 방법을 제안한다.
Method
- 2단계 프레임 워크 제안
-
Jihoon {54} 의 연구에 따라, 1) 정상 데이터로부터 Representation 을 추출할 DL 모델, 2) Representation을 Input으로 받는 self-supervised learning(One-classifier) 구조를 채택한다.
- {54} - Csi : Novelty detection via contrative learning on distributionally shifted instances(2020).
-
비정상 데이터는 확보하기 어렵기 때문에 1) 단계에서는 정상 데이터만을 활용하여 deep representation을 학습할 것이다.
- 예시) Autoencoder 와 유사함
-
이후 2) 단계에서 실제 비정상 데이터와 유사한 형태를 띄는 새로운 Data augmentation인 Cut Paste 방법을 적용함으로써 부족한 비정상 데이터를 확보한다. 그리고 Cut paste 유무를 식별하는 Self-supervised learning 방법을 적용함으로써 성능 향상을 꾀한다.
-
1. Self-supervised learning
-
Self-supervised representation learning 간 좋은 pretest task를 정의하는 것이 필수이다.
-
기존 연구에서 sematic one-class classification의 맥락에서 Rotation prediction / Constrastive learning이 유명한 방법으로 알려졌으나, 일부만 다른 local 이상치를 탐색하는데 최적의 방안은 아니다.
-
본 연구에서 위 방안들은 semantic concept의 Representation을 학습하기에 적합하나,
-
이미지 내부의 연속성, 반복 구조에 대한 Representation을 학습하기엔 적절치 않다고 판단한다.
-
-
본 연구에서는 local irregular pattern에 대한 representation을 학습할 수 있는 Data augmentation 방안을 제안한다.
-
-
Local irrugularity을 생성하는 Data augmentation 방안을 참고하여, 이미지가 변형된 discriminative 부분을 포착하도록 Task를 부여한다.
-
기존 방안들에서 주로 사용되는 Cutout은 랜덤한 크기의 이미지 영역을 지웠을 때에도 동일하게 Prediction 하도록 만든다.
- Invariancce를 향상시킴으로써 Multi-class classification에서의 예측 정확도를 향상시킨다.
-
본 연구에서는 반대로 접근하여, 데이터가 변형된 부분을 찾도록 Task를 부여한다.
-
데이터를 빈칸으로 채울 경우, 모델이 data augmented 된 부분에 대해 Naive decision rule을 학습할 수 있다.
-
따라서 좀 더 Task를 어렵게 부여함으로써 모델이 irregular Point을 잘 찾으면서, decision rule을 잘 세우도록 할 것이다.
-
-
-
본 연구에서는 CutPaste라는 새로운 Data augmentation 방법을 제안한다.
-
1) 정상 데이터로부터 다양한 크기와 비율의 직사각형 이미지(Patch)를 잘라낸다.
-
2) (선택)자른 이미지를 회전하거나, 색을 바꾼다.
-
3) 가공한 이미지를 정상 데이터의 아무 위치에 붙여넣는다.
-
-
self-supervised representation learning 의 목표을 달성하고자 학습 목표는 다음과 같이 정의한다.
-
$X :$ set of normal data
-
$CP(.)$ : CutPaste augmentation
-
$g$ : binary classfier parametrerized by deep networks
-
$CE(., .$) : Cross entropy loss
-
2. Data augmentation - CutPaste 방식
- CutPaste는 다양한 형태로 적용할 수 있다.
-
1) CutPaste -Scar
-
Cutout 방법 중에서 긴 직사각형 형태의 random 색상으로 채우는 ‘Scar’ 방식이 있음
-
위 방식을 채택하여, CutPaste 또한 긴 직사각형 형태의 이미지를 덧붙이는 방법
-
-
2) Multi class classification
-
일반적인 직사각형 형태의 이미지 Patch와, Scar 형태의 이미지는 서로 각각 장단점을 가지고 있음
-
각각의 장점을 활용하기 위해서 정상 / 일반 Cut Paste / Scar Cut Paste 로 클래스를 구분함
-
-
3) Similarity between CutPaste and real defects
-
CutPaste 방법을 통한 성능 향상은 pseudo 이상치를 생성 관점에서 해석될 수 있다.
-
CutPaste는 정상 데이터의 local structure을 보다 많이 보유하고 있는 예제를 만들어 낸다.
- 이로 인해 모델은 아예 클래스가 다른 경우보다, 더 어렵게 이상치 탐지를 해야한다.
-
또한 CutPaste 방법은 그 자체로 이상치와 유사성을 가지고 있다. 이는 t-SNE을 통해 가시화할 수 있다.
-
-
3. Computing Anomaly Score
-
이상치 점수(Anomaly score)을 구하는 방법에는 다양한 방법이 있다.
-
본 연구에서는 Kernel density 와 Gaussian density estimator을 비교할 것이다.
4. Localization with Patch Representation
-
본 연구는 이미지의 전체 representation을 학습하기 위한 방법을 제한하나,
-
각 이미지 영역(Patch) 별로 representation을 구해 defective region을 찾아내는 데 사용할 수 있다.
Experiment
-
Dataset : MVTec anomaly detection dataset
-
용도 : 이상치 탐색 모델을 점검 - 정상 / 비정상 클래스 이미지로 구분함
-
종류 : 총 15개 카테고리의 데이터셋 제공(물품 10개, 텍스처 5개)
-
학습 데이터 크기 : 카테고리에 따라 60개 ~ 391개 보유 (상대적으로 적은 수의 학습 데이터)
-
특징 : 이미지 크기는 256 x 256 pixel 임
-
-
Baseline : one-class classification 방법 채택
-
각 카테고리별 정상 데이터만을 활용하여 one-class classifier을 학습함
-
CutPaste 방식을 통해 data Augmentation을 적용하였음
-
ResNet-18 모델 구조 아래에 pretrained 없이(scratch) 학습함
-
이상치 정도는 ResNet-18 마지막 층에 한 층을 추가하여 Gaussian density estimation을 진행함
-
Hyperparameter과 data augmentation 방법은 항상 통일하여 실험을 진행함.
-
-
Evaluation Metric
-
각 카테고리 별로 random seed를 적용하여 5번씩 실험을 한후, 평균 AUC와 Standard error을 계산함
-
Self-supervised learning 관점에서, Rotation / Cutout / CutPaste 각각의 Task의 성능을 확인함
-
기존의 one-classification 방법론(DOCC, Uniformed student, patch SVDD)들의 방법들 간의 성능을 비교함
-
Result
- 1) Main result
-
Rotation 방법은 Segmentic abnormal detection(ex- 클래스가 다른 경우)에서는 유용했으나, fine-grained 한 이상치에는 효과가 크게 없음을 확인할 수 있다.
- 한편으로 rotation 방법은 이미지의 방향이 정해진 ‘toothbrush’, ‘bottle’ 데이터에서는 좋은 성과를 내었으나, 물체의 방향이 랜덤한 다른 데이터셋(screw)에서는 성능 악화가 식별되었다.
-
반면 CutPaste 방식은 대부분의 경우 뛰어난 성과를 내었다.
- 그 중에서 3 classification 방법으로 2가지 CutPaste 방법의 장점을 채택한 방법이 가장 성능이 좋았다.
-
2) Defect Localization
GT Mask : Ground truth anomal annotation
- 픽셀별로 Abnormal detection score을 계산한 다음, GradCAM 방법을 적용하여 defective 영역을 시각화하였다.
-
이때 Grad Cam은 256 x 256 크기의 이미지를 input으로 하였을 때 결과이며, Patch heatmap은 256 x 256 이미지로부터 64 x 64 크기의 Patch을 추출한 다음 모델을 학습한 결과이다.
- Patch 로 적용했을 때 defective area를 잘 잡아내는 것을 확인할 수 있다.
-
Pixel-wise localizatoin에 대해 기존의 방법들(FCDD, P-SVDD)과 비교했을 때, CutPaste 방식이 대부분의 경우 성능이 좋았다.
- 3) Transfer learning with Pretrained models
- 기존의 One-classification 방법(DOCC, Uninformed student) 연구에서 제시했던 데로, pretrained 모델을 사용하는 것이 보다 성능이 뛰어났다.
- 기존의 One-classification 방법(DOCC, Uninformed student) 연구에서 제시했던 데로, pretrained 모델을 사용하는 것이 보다 성능이 뛰어났다.
4. Ablation study
- 1) From Cutout to CutPaste
- Cut Paste 방법은 Cutout 방식과 다르게 다양한 영역에 적용할 수 있다.
-
CutPaste 방식은 기존 이미지의 Local structure 와 정보를 가지고 있어, 데이터셋과 별개로 적용할 수 있는 여지가 크다.
-
기존의 Cutout 방법에서는 삽입하는 부분은 원본 데이터의 Local 정보를 담고 있지 못하다.
-
즉, 합성된 데이터는 실제 비정상 데이터와는 차이가 커, 부족한 비정상 데이터를 보완하기란 제한된다.
-
반면, Cut paste는 원본 데이터의 일부를 가져와 붙히기 때문에, 실제 비정상 데이터와 큰 차이가 없게 된다.
-
- Cut Paste 방법은 Cutout 방식과 다르게 다양한 영역에 적용할 수 있다.
- 2) Binary v.s. Finer-Grained Classification
- Task에 대해 Labeling 할 때 크게 2가지 방법으로 나눠볼 수 있다.
-
1) Binary Classification : 정상 vs 생성 데이터(CutPaste + CutPaste-scar)
-
2) 3 way classification : 정상 vs Cutpatse vs CutPaste-scar
-
- 실험 결과 3 way classfiication으로 Labeling 했을 때 성능이 더 좋았음을 확인할 수 있었다.
- Task에 대해 Labeling 할 때 크게 2가지 방법으로 나눠볼 수 있다.
- 3) CutPaste on Synthetic anomaly detection
-
Synthetic 데이터셋에서도 CutPaste 방식이 성능이 좋은 지 실험하였다.
-
MNIST 데이터셋에 다가 사각형, 타원, 하트, 실제 이미지 등 다양한 모양을 다양한 색깔로 붙여 이상치 데이터를 만들었다.
-
이후 CutOut / CutPaste 간의 성능을 비교하였을 때, CutPaste 방식의 성능이 항상 뛰어났다.
-
이외에 CIFAR-10에도 적용했을 때에도 CutPaste(60.2 < 69.2 AUC)가 더욱 뛰어난 성능을 가졌다.
-
하지만 rotation 기반의 Data augmentation을 적용했을 때(91.3 AUC)에 비해 성능이 좋지 않았다.
- 이는 semantic anomaly detection와 defect detection 간의 차이로 보인다.
-
Conclusion
-
본 연구는 Data-driven 관점에서 이상치 탐색 및 Localization을 할 수 있는 방안을 제안한다.
-
주요 성과는 “CutPaste” 와 병행한 Self-supervised learning 방안을 제안한 것이다.
- 본 방식은 Local irregularity을 포착하는데 효과가 좋다.
-
본 방법은 실제 데이터 사이에서 이미지 단위의 이상치를 탐색하는데 있어 뛰어난 성과를 보였으며, 이미지 Patch 단위에서 Pixel-wise 이상치 localization 성능에 있어 SOTA를 기록했다
-
본 연구는 ‘‘실제 비정상 데이터와 유사한’’ data augmentation 방법을 고안했다는 데 기여점이 있다.
-
그럼 이 아이디어를 확장하여 의료계 데이터와 같이 고유의 데이터 특성을 가진 분야에도 적용할 수 있을 것이다.
-
즉, 실제 비정상 데이터와 유사한 data augmentation 방법을 새롭게 고안할 수 있다면, 추가 기여를 쌓을 수 있을 것으로 보인다.
-
Author Information
- Author name : Chun-Liang Li, Kihyuk Sohn, Jinsung Yoon, Tomas Pfister
- Affiliation : Google Cloud AI Research