[Anomaly Detection] Industrial Image Anomaly Detection: Survey

2025. 8. 10. 02:25·Computer Vision1/Computer Vision
이 리뷰는 오직 학습과 참고 목적으로 작성되었으며, 해당 논문을 통해 얻은 통찰력과 지식을 공유하고자 하는 의도에서 작성된 것입니다. 본 리뷰를 통해 수익을 창출하는 것이 아니라, 제 학습과 연구를 위한 공부의 일환으로 작성되었음을 미리 알려드립니다.

 

오늘은 산업 이미지 이상치 탐지의 트렌드와 실제 사용되는 모습을 파악하고 싶어서 다음 논문과 세미나 영상을 통해 정리하여 보았다.

https://arxiv.org/abs/2301.11514

 

Deep Industrial Image Anomaly Detection: A Survey

The recent rapid development of deep learning has laid a milestone in industrial Image Anomaly Detection (IAD). In this paper, we provide a comprehensive review of deep learning-based image anomaly detection techniques, from the perspectives of neural netw

arxiv.org

참고 세미나 : https://www.youtube.com/watch?v=TY-Wbs8pxLQ

 

일반적인 이상치 탐지 정의 [ Anomaly Detection? ]

  1. 현실에서 이상 데이터를 충분히 확보하기 어렵기 때문에, 정상 데이터만을 이용하여 분포를 학습한다.
  2. 학습된 모델에 테스트 이미지를 넣어 학습한 분포와 테스트 이미지의 분포가 일정 수준 차이가 나는 경우 이상치로 판별하는 태스크이다.

 

- 이미지 이상치 탐지 태스크의 분류

 

학습 시 사용하는 데이터에 따라 크게 세 가지 갈래로 나뉜다.

  1. 지도 학습(Supervised): 학습 시 레이블링된 정상 및 비정상 데이터를 모두 사용하는 경우이다.
    • 분류(Classification) 태스크와 매우 유사하다.
    • 비정상 데이터의 개수가 현저히 낮아 클래스 불균형(Class Imbalance) 문제가 발생한다.
  2. 원 클래스(One-Class) 이상치 탐지: 비정상 데이터의 개수가 적으므로, 확실하게 레이블링된 정상 데이터만을 이용하여 분포를 학습한다.
    • 우리가 흔히 알고 있는 이미지 이상치 탐지방식이다.
    • 수집된 데이터가 모두 정상이라는 보장이 없어 현실성이 떨어진다는 한계점이 있다.
  3. 비지도 학습(Unsupervised) 이상치 탐지: 현재 가지고 있는 학습 데이터가 대부분 정상일 것이라는 가정하에 학습을 진행한다.
    • 데이터 속에 비정상 데이터가 일부 섞여 있을 수도 있지만, 현실과 그나마 유사한 상황이라고 할 수 있다.

 

비지도 학습(Unsupervised) 이상치 탐지

 

  • 비지도 학습 이상치 탐지 방법론의 종류

밀도 기반(Density-Based) 방법론

- Density-Based: 정상적인 데이터의 분포를 통해 데이터 탐지

- 이미지넷으로 학습된 모델을 사용

 

  • 밀도 기반 방법론의 특징
    • 정상 데이터 분포를 통해 비정상 데이터를 탐지하는 방식이다.
    • 사전 학습된 모델에 추가적인 학습이 필요 없다는 것이 특징이다.
    • 동작 방식:
      1. 사전 학습된 CNN 모델(주로 이미지넷으로 사전 학습된 CNN)에 학습용 이미지들을 넣어 특징 맵(Feature Map)을 추출하고 저장한다.
      2. 테스트 이미지도 동일하게 사전 학습된 모델을 통과시켜 특징 맵을 추출한다.
      3. 저장해 둔 특징 맵들과 테스트 이미지의 특징 맵을 비교하여 이상치 점수(Anomaly Score)를 측정한다.

PatchCore

https://velog.io/@ljwljy51/PatchCore-Paper-Review

 

PatchCore 논문 리뷰

.

velog.io

 

 

패치코어는 2022년 ICLR에 게재된 논문이다. 패치코어는 스페이드와 패딥의 한계점을 개선하기 위해 나온 연구이므로, 이 두 선행 연구를 먼저 알아본다.

 

 

공통적인 동작 방식 ( SPADE & PaDiM )

  1. 소개되는 모든 모델은 사전 학습된 모델을 통해 학습 이미지의 특징 맵을 추출한다.
  2. 이 특징 맵을 패치 단위로 쪼개서 저장소에 저장하는 과정을 거친다.
  3. 특징 맵을 어떻게 활용하고 이상치 점수를 어떻게 측정하느냐에 따라 방법론이 달라진다.

 

스페이드(SPADE)

  • 전략: 사전 학습된 CNN의 각 레이어에서 나온 모든 특징 맵을 사용한다.
    • CNN을 거쳐 나온 각 레이어의 특징 맵 크기를 맞춰 Concatenation한 후 저장소에 저장한다.
    • 모든 레이어의 특성을 사용하여 다양한 정보를 활용함으로써 이상 데이터를 더 잘 잡아낼 수 있다고 주장한다.

  • 이상치 점수 측정:
    • 테스트 이미지를 사전 학습된 모델에 통과시켜 특징 맵을 추출하고 패치 단위로 쪼갠다.
    • 저장소에 있는 모든 패치 단위 특징 맵들과 K-최근접 이웃(KNN) 기반 거리를 측정하여 패치별 점수를 산출한다.

패딥(PaDiM)

  • 전략: 스페이드와 동일하게 학습 데이터의 특징 맵을 추출하여 저장소에 저장하고, 테스트 이미지의 특징 맵을 추출한다.
    • 차이점은 특징 맵을 패치 단위로 쪼갤 때 각 위치 정보도 함께 저장한다는 것이다.
    • 같은 위치에 있던 패치들끼리 마할라노비스 거리(Mahalanobis Distance)를 측정한다.
    • 모든 특징 맵들끼리 비교하는 스페이드 방식보다 계산 비용(Computation Cost)을 줄일 수 있다는 장점이 있다.
  • 이상치 점수 측정: 각 패치별로 구해진 이상치 점수 중 가장 거리가 먼 결과를 이상치 점수로 사용한다.

스페이드와 패딥의 문제점

  • 두 방법론 모두 사전 학습된 모델로 정상 이미지에서 특징 맵을 추출하고, 이후 테스트 이미지의 특징 맵을 추출하여 둘 사이의 거리를 계산하는 방식으로 이상치 점수를 측정한다.
  • 스페이드의 문제점: 사전 학습된 모델로부터 추출된 특징을 그대로 사용한다는 것이다.
    • 추출된 패치는 독립적인 정보를 가지고 있는 것이 아니라 주변에 영향을 받고 있을 가능성이 높다.
    • 논문에서는 이를 "스페이드의 특징을 사용하는 방식은 로컬(Locally)하지 않다"고 표현한다.
  • 패딥의 문제점: 로컬하지 않다는 문제점에 더해, 동일 위치의 패치 특징들끼리만 비교한다.
    • 특징 맵의 정렬(Alignment)이 맞지 않는 경우 치명적일 수 있다는 문제점을 가지고 있다.

PatchCore

그래서 패치 코어는 Locally하게 잘 정의된 패치 특징(Patch Feature)을 만들고 Coreset Subsampling 방식을 사용하여 계산 시간을 줄이는 것을 목표로 함

 

1. Average Pooling 사용

2.  모든 레벨의 레이어를 비교하지 말고 mid level 특징만 비교

위 계층(Low-Level) 특징은 정보량이 부족하고, 상위 계층(High-Level) 특징은 이미지의 공간적인 정보가 많이 사라진다고 주

+ 이미지넷 데이터셋으로 사전 학습된 모델을 통해 특징 맵을 추출하기 때문에 이미지넷분류 태스크에 특화된 정보만 남을 우려가 있기 때문이다.

 

코어셋 서브샘플링(Coreset Subsampling)

군집 내에서 대표되는 특징들만을 사용

  1. 학습 데이터에서 추출한 특징 맵들이 저장된 저장소를 2차원 공간에 점으로 표현한다.
  2. 어느 한 지점에서 시작하여 자신과 가장 멀리 있는 패치 포인트에 해당하는 점을 순차적으로 선택한다.
  3. 이렇게 선택된 빨간색 점들이 각 군집의 대표( 코어셋)로 사용

이상치 점수 측정

  • 대표 특징들이 정해진 상황에서 테스트 이미지로부터 추출한 패치 특징(파란색 점)이 들어왔다고 가정한다.
  • 패치코어는 KNN 거리 기반 이상치 점수를 사용하며, K=3으로 설정한다. 서치를 진행할 때에는 대표(빨강)를 기준으로
  • 해당 군집에 해당하는 특징 포인트들 중 가장 가까운 세 개의 포인트와의 거리 중 가장 긴 거리를 이상치 점수로 사용한다.

  • 데이터셋 및 평가 지표: MVTec 데이터셋에 대해 이미지 AUROC, 픽셀 AUROC, AUPRO 세 가지 평가 지표로 측정

https://velog.io/@zxxzx1515/AUROC-AUC-ROC-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0

 

AUROC, AUC-ROC 이해하기

Confusion Matrix를 이용하면 Accuracy, Precision, Recall 등 다양한 Metric을 쉽게 계산할 수 있다. 다만 이들은 모두 Threshold에 영향을 받는다는 단점이 있다.이러한 단점을 해결한 AUROC, AUC-ROC가 등장한다.

velog.io

 

  1. 코어셋 비율: 패치코어옆의 N%는 코어셋을 몇 개까지 사용할 것인지를 의미하며, 1%는 전체 특징 중 1%만을 코어셋으로 사용하겠다는 의미이다.
  2. 성능: 코어셋을 1%만 사용하더라도 기존 방법론 대비 최신 기술(SOTA)에 가까운 성능을 보여준다

Few-shot

 

비지도 학습의 한계점

  1. 비지도 학습 이상치 탐지는 학습 시 데이터가 대부분 정상으로 이루어져 있다고 가정한다.
  2. 이 경우 학습 데이터에 비정상 데이터가 포함될 가능성이 높아 제대로 된 학습이 이루어지지 않을 수 있다.

매우 적은 수의 정상 데이터만을 활용하는 방법으로, 현실 상황에서 적은 양의 확실한 정상 데이터를 구하는 것이 비교적 쉽기 때문에 현실성이 있으면서 확실한 방법이라고 할 수 있다.

 

FastReco

실제 산업 환경에서는 대량의 정상 레이블링 데이터를 수집하기 매우 어렵다. 따라서 적은 수의 정상 데이터만을 활용하여 빠르게 이상을 탐지할 수 있는 방법이 필요하다.

 

이러한 문제들을 퓨샷, 훈련 불필요(Training-Free), 분포 정규화기반 회귀(Distribution Normalization-based Regression)라는 새로운 정규화 항을 도입하여 해결하고자 하였다.

 

- 기존 산업 이상치 탐지 기법의 문제점

재구성 기반 방법론:

  • 오토인코더와 같은 생성 모델을 활용하여 정상 데이터의 분포를 학습한다.
  • 하지만 복잡한 학습 과정과 대량의 정상 데이터를 요구한다는 문제점을 가지고 있다.

특징 기반 방법론:

  • 사전 학습된 네트워크에서 추출한 특징을 이용하고 정상 메모리 뱅크를 만들어 활용한다.
  • 앞서 살펴본 패치코어또한 특징 기반 방법론 중 하나이다.
  • 하지만 특징을 검색하는 과정에 계산 비용이 높고 복잡성이 높다는 단점이 있다.

FastReco mathod

크게 특징 1) 추출및 코어셋선택 과정, 2) 분포 정규화기반 회귀, 3) 재구성 기반 이상 탐지로 이루어져 있다.

 

  • 특징 추출 및 코어셋 선택 과정
    1. 동작 방식: 앞선 패치코어방법론과 매우 유사하게 동작한다.
      1. K개의 정상 이미지에서 특징을 추출하고, 해당 특징을 이용하여 각 군집을 대표할 수 있는 코어셋을 만든다.
      2. 패치코어와는 다르게 K개의 아주 소량의 정상 이미지만을 활용하므로 시간과 비용을 줄일 수 있다.
      3. 코어셋을 사용한다는 것만으로도 비용을 줄일 수 있다.
    2. 사전 학습 모델: 특징 추출시 레지넷 50(ResNet 50)을 사용했으며, 패치코어와 같이 중간 계층의 특징 맵들을 추출하여 사용한다.
    3. 코어셋 구축 방법: 추출된 특징 맵들을 2차원 행렬로 재구성했을 때, 각 군집을 대표할 수 있는 특징들을 찾기 위해 그리디(Greedy)한 방식으로 시작 지점으로부터 가장 먼 거리에 있는 특징들을 순차적으로 찾아 나가는 방식을 활용한다.

 

 

분포 정규화 기반 회귀(Distribution Normalization-based Regression)

코어셋구축 후, 정상 코어셋특징을 이용하여 주어진 쿼리 이미지에서 추출한 쿼리 특징과 가장 유사한 특징을 찾는 과정이다.

 

재구성 기반 이상 탐지

  • 최적의 변환 행렬을 찾은 후, 이를 사용하여 정상 샘플을 기반으로 쿼리 이미지의 정상 버전을 재구성한다.
  • 이렇게 재구성된 정상 버전 쿼리와 원본 쿼리를 비교하여 이상 영역을 탐지하는 과정으로 패스트 리콘의 동작 방식이 끝난다

 

정리하자면 FastReco는 K개의 정상 이미지(아주 적은 수) 로도 코어셋을 만들고, 그 코어셋을 통해 분포 추정을 하며 재구성 기반 이상 탐지를 수행한다.

 

- 도메인별로 작은 성능 차이 존재

Zero-shot

 

 

다양한 도메인에 걸쳐 있는 이상치들을 어떻게 잘 일반화시켜서 다른 도메인의 이상치를 탐지할 것인가가 매우 중요하다.

 

학습용 이미지와 테스트용 이미지가 서로 다른 도메인이지만, 이상치의 패턴들이 일부 유사한 면을 확인할 수 있다. 특히 가죽에 튀어나온 부분은 사람의 피부 조직의 이상치와 매우 유사한 패턴을 띠고 있는 것을 확인할 수 있다.

 

AnomalyCLIP

2024년 ICLR에 게재된 논문

https://velog.io/@kbm970709/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Anomalyclip-Object-agnostic-prompt-learning-for-zero-shot-anomaly-detection

 

[논문 리뷰] Anomalyclip: Object-agnostic prompt learning for zero-shot anomaly detection

본 Paper Review는 고려대학교 스마트생산시스템 연구실 2024년 하계 논문 세미나 활동입니다.

velog.io

아노말리 클립은 CLIP을 활용하는 방법론이므로, CLIP이 무엇인지 알아야 한다.

Clip이 무엇인가?

https://taeyuplab.tistory.com/16

 

[논문 리뷰] CLIP: Learning Transferable Visual Models From Natural Lanugage Supervision

이 글에서는 2021년 1월 5일 발표된 논문인 Learning Transferable Visual Models From Natural Language Supervision에 대해 살펴볼 예정이다. 본 논문은 ChatGPT를 비롯한 GPT 모델 시리즈를 발표한 OpenAI로부터 발표되었

taeyuplab.tistory.com

 

CLIP은 거대 비전-언어 모델(Large Vision-Language Model)로, 대량의 데이터셋으로 사전 학습되어 강력한 일반화 성능을 보인다.

 

 

  • 동작 방식:
    1. 사진에 대한 설명 텍스트가 텍스트 인코더를 거쳐 임베딩 값을 추출한다.
    2. 이미지 또한 이미지 인코더를 거쳐 이미지에 대한 임베딩 값을 추출한다.
    3. 이렇게 추출된 텍스트 임베딩과 이미지 임베딩 사이의 코사인 유사도(Cosine Similarity)를 계산하여, 올바른 쌍에 대해서는 유사도가 올라가고 잘못된 쌍에 대해서는 유사도가 내려가게끔 학습한다

AnomalyCLIP에서는?

  • 객체 불가지론적(Object-Agnostic) 프롬프트 제안
  • 아노말리 클립은 텍스트 프롬프트 부분을 이상치 탐지태스크에 맞게끔 객체 불가지론적 프롬프트를 새로 제안하였다.

 

기존 CLIP의 텍스트 프롬프트

  1. CLIP에서 사용하는 텍스트 프롬프트는 "a photo of [어떤 클래스]"로 구성되어 있다.
  2. 이를 이상치 탐지태스크에 맞게 변형하면 "a photo of cap with scratches"와 같이 특정 이상치 유형을 명시해야 한다.

 

객체 불가지론적 프롬프트의 필요성

  1. 현실적으로 세상에는 수많은 종류의 이상치들이 존재하므로, 이러한 이상치들에 대한 프롬프트를 일일이 다 적어주는 것은 불가능에 가깝다.
  2. 따라서 정상에 대한 프롬프트와 이상치에 대한 프롬프트를 단순히 '손상된(damaged)'이라는 단어가 들어간 프롬프트와 그렇지 않은 프롬프트로 구별할 수 있게끔 구성하는 과정을 거친다.

프롬프트 개선 방안

  1. "a photo of"라는 문구조차 사용하지 않고, 학습이 가능한 워드 임베딩으로 대체함으로써 이상치 탐지태스크에 더욱 적합한 프롬프트를 구축하였다.
  2. 아노말리 클립의 저자들은 여기서 그치지 않고, 객체와 완전히 비의존적인 프롬프트를 만들기 위해 클래스의 이름조차 '객체(object)'로 대체하여 프롬프트를 구축하였다.
  3. 클래스의 이름이 들어가게 되면 오히려 제로샷 태스크에 적합하지 않은 프롬프트를 사용하는 것이 되어 모델의 성능이 떨어진다는 문제가 발생하였다고 한다.
  • 기존 CLIP: "a photo of [class]"
  • AnomalyCLIP: 객체 불가지론적(object-agnostic) 프롬프트 → "normal object", "damaged object" 처럼 객체 이름을 빼버림.
  • 이유: 객체 이름이 들어가면 새로운 도메인에서는 성능이 떨어짐 → 제로샷 일반화에 불리.

 

 

  • 전역(Global) + 지역(Local) 정보 활용
    • 전역 손실(Global Loss): 이미지 전체 단위에서 정상/이상 프롬프트와 임베딩 유사도 계산.
    • 지역 손실(Local Loss): 이미지를 patch 단위로 쪼개서 이상 영역을 탐지 (세그멘테이션 맵).
    • 지역 손실 계산 시 Focal Loss + Dice Loss 사용 → 작은 이상 영역도 잘 잡아냄.
  • 추가 개선
    • 프롬프트 미세 조정: 일부 토큰을 학습 가능하게 바꿔 성능 강화.
    • D-FAM 레이어: 지역 정보 보존 강화 (QQ, KK, BV self-attention).

결과

 

  • MVTec 산업용 데이터셋에서 학습 → 의료 데이터셋에 적용 (완전히 다른 도메인).

  • 기존 제로샷/ few-shot 방법보다 성능이 훨씬 높음.
  • 정성적 결과(시각화)에서도 이상 영역을 잘 잡아냄.

 

이번 글에서는 산업 이상치 탐지 분야에서 주목받고 있는 Few-Shot(FastReco) 과 Zero-Shot(AnomalyCLIP) 기반 방법론을 중심으로 최신 트렌드를 살펴보았다. 앞으로도 데이터 제약과 도메인 한계를 극복하려는 다양한 시도가 이어질 것이며, 실제 산업 현장에서의 활용 가능성도 더욱 넓어질 것으로 기대된다.

 

 

 

 

'Computer Vision > Computer Vision' 카테고리의 다른 글

[Segmentation] Semantic Segmentation 알아보기 FCN, U-Net  (0) 2025.09.24
[Object Detection] YOLO모델의 발전 과정 정리해보기 V1~12  (0) 2025.01.13
[Object Detection] 1-Stage vs. 2-Stage Object Detection 아키텍처 비교  (0) 2024.12.27
'Computer Vision1/Computer Vision' 카테고리의 다른 글
  • [Segmentation] Semantic Segmentation 알아보기 FCN, U-Net
  • [Object Detection] YOLO모델의 발전 과정 정리해보기 V1~12
  • [Object Detection] 1-Stage vs. 2-Stage Object Detection 아키텍처 비교
임승택
임승택
"Hello, I am Lim Seungtaek, a computer engineering student. Nice to meet you!"
  • Lim's Technology
    임승택
    임승택
    "Welcome to Lim's Technology!"
  • 누적 조회수
    총 회
    구독하기
    • 분류 전체보기 (102)
      • Blog (10)
      • Computer Vision (44)
        • Computer Vision (4)
        • Paper reviews (24)
        • Project (8)
        • Basic (8)
      • LLM (8)
        • Paper reviews (3)
        • Project (3)
        • Basic (2)
      • Data Analysis (11)
        • Basic (8)
        • Project (3)
      • Computer Graphics (2)
        • Basic (2)
      • Robotics (5)
        • Paper reviews (3)
        • Basic (2)
      • Technology Notes (15)
      • Memo (5)
  • 인기 글

  • 최근 댓글

  • 최근 글

임승택
[Anomaly Detection] Industrial Image Anomaly Detection: Survey
상단으로

티스토리툴바