제품 생산과정에서 결함의 발생은 생산성을 저하하는 중대한 요인이다. 따라서 산업 현장에서는 제품의 이상을 빠르게 탐지하고 이를 수정하는 것이 중요하다. 이에 따라 딥러닝 기반 이상 탐지 모델을 개발하는 연구가 활발하게 이루어지고 있다. 그러나 분류 기반 이상 탐지 모델의 경우 데이터가 적거나 불균형한 경우 학습이 어렵다는 한계가 존대한다. 또한 GAN 기반 이상 탐지 모델의 경우 여러 개의 서브 모델로 구성된 복잡한 구조를 가져 학습이 어렵다.
최근에는 PatchCore 기반 모델이 높은 성능을 보이는 SOTA(State of the Art)이며 추가 학습이 필요 없다는 장점을 가진다. 이는 사전 학습된 특징 추출기를 통해 정상 데이터에서 특징을 추출한다. 이후 추출된 특징들을 임베딩화 하고 정상 데이터의 분포를 통해 이상 탐지를 진행한다. 이를 위해 정상 데이터에서 패치 특징들을 추출한 후 메모리 뱅크에 저장하고 입력 데이터와 비교한다. 그러나 정상 이미지의 모든 특징을 임베딩화하여 메모리 뱅크에 저장하는 특성 때문에 메모리 사용량이 매우 높다. 이는 메모리에 전체 데이터가 저장되지 못하는 경우 모델이 구동조차 되지 못하는 한계가 존재한다. 따라서 본 연구에서는 트랜스포머 기반의 모델을 사용하여 CNN 모델 대비 특징 맵의 크기를 감소시켜 최적화한 ViT-Core를 제안한다. 이를 통해 기존 PatchCore의 높은 정확도를 유지하면서 메모리 사용량을 감소시켜 최적화한다. 이는 Swin Transformer를 특징 추출기로써 사용한다. 기존 비전 트랜스포머 대비 지역 정보의 고려가 가능하여 locally aware한 특징이 필요한 PatchCore 기반 모델 ViT-Core의 특징 추출기로 적합하다.
특징 추출의 성능 향상을 위해 Cut-Paste 기반 전이 학습을 진행한다. Cut-Paste 기법을 통해 정상 이미지에서 이상 이미지를 증강하고 이를 분류하는 Swin Transformer 분류기를 학습시킨다. 따라서 정상 이미지만을 이용하여 Swin Transformer를 전이 학습이 가능하며 입력 이미지에 대한 분포를 잘 파악하게 한다. 이를 통해 입력 이미지에 특화된 특징 추출이 가능하다.
본 연구에서 제안하는 ViT-Core의 적합성을 평가하기 위해 메모리 사용량과 이상 탐지 속도 비교 및 이상 분류와 이상 영역 세그멘테이션을 평가한다. 우선 메모리 사용량과 이상 탐지 속도 비교의 경우 메모리 점유는 모델 구동 시 GPU의 VRAM 사용량으로 비교하며, 이상 탐지 속도는 모델 구동 시작부터 이상 탐지를 완료한 시간을 측정하여 비교한다. 성능평가 결과 메모리 점유는 PatchCore의 경우 평균 13.042GB, ViT-Core의 경우 6.629GB를 도출하여 ViT-Core의 메모리 점유가 평균 49.2% 감소하였다. 이상 탐지 소요시간은 PatchCore의 경우 평균 133.944초, ViT-Core의 경우 67.691초를 도출하여 ViT-Core의 이상 탐지 소요 시간이 평균 49.5% 감소하였다. 이상 분류에 대한 성능평가로 모든 클래스에 대한 평균 분류 AUROC와 이상 영역 세그멘테이션에 대한 성능평가를 위해 평균 픽셀 AUROC 값을 사용한다. 이상 탐지 성능평가 결과 PatchCore와 제안하는 ViT-Core가 GANomaly, cFlow, PaDIM 모델 대비 성능이 우수한 것으로 평가되었다. 마지막으로 PatchCore와의 세부 성능평가 결과 기존 PatchCore의 이상 탐지 분류 성능이 AUROC 0.9865를 도출하여 가장 높았으나 본 연구에서 제안하는 ViT-Core는 AUROC 0.9859을 도출하였다. 이는 0.07% 차이로 근소한 차이를 보인다. 또한, 평균 픽셀 AUROC의 경우 PatchCore가 0.9756을 기록하였으나 본 연구에서 제안하는 ViT-Core는 0.9817을 기록하여 더 높은 성능을 도출하였다. 이에 따라 본 연구에서 제안한 ViT-Core는 기존 SOTA 모델인 PatchCore 대비 이상 탐지 성능은 유지하면서 메모리 점유율과 소요시간을 약 50% 감소시키는 것이 가능하여 정확도 손실을 최소화하며 모델의 경량화를 달성한 것으로 평가된다.