AI/Computer Vision

[CV] FRR, Anomaly Detection 기본개념, Visually Ambiguous Features 이란

도도걸만단 2026. 1. 13. 15:00
반응형

1) False-positive rate(FPR)

False positive(거짓 양성) = 사실은 정상인데, 모델이 “이상(anomaly)이다!”라고 잘못 잡는 것.
False-positive rate(FPR) = 정상 중에서 그런 오탐이 얼마나 자주 나는지 비율.

  • 정상 데이터 개수 = TN(정상이라 맞춘 것) + FP(정상인데 이상이라 틀린 것)
  • FPR = FP / (FP + TN)

예시:

  • 정상 이미지 1000장 중 30장을 “이상”이라고 잘못 탐지 → FP=30, TN=970
  • FPR = 30 / 1000 = 3%

직관: “알람이 얼마나 자주 헛발질하냐”
FPR이 높으면 현장에서 쓸 때 경보가 너무 많이 울려서 시스템이 쓸모없어지기 쉬움.


2) Anomaly Detection (이상 탐지)

목표

대부분이 정상인 상황에서, 정상과 다른(드문) 패턴을 찾아내는 것.

  • 제조: 불량품 탐지
  • 의료: 정상 CT/MRI와 다른 병변
  • 보안: 이상 트래픽, 이상 행동
  • 비전: 정상 표면과 다른 스크래치/오염/파손

핵심 어려움

  1. “이상”은 종류가 무한함 (정의하기 어려움)
  2. 이상 데이터는 적거나 없음 (학습 데이터 부족)
  3. 정상도 다양함 → 정상 다양성을 못 배우면 FPR이 높아짐

대표 접근 3가지(전통적으로)

  • 재구성 기반: 정상만으로 오토인코더를 학습 → 이상은 재구성이 잘 안 됨(오차 큼)
  • 확률/밀도 기반: 정상 분포를 모델링 → 낮은 확률이면 이상
  • 표현/거리 기반: 정상 feature들의 중심/분포에서 멀면 이상

3) CLIP-Based Zero-Shot Anomaly Detection

먼저 “Zero-shot” 뜻

이상 데이터로 따로 학습(파인튜닝) 안 해도, 바로 이상 탐지를 해보겠다는 것.

CLIP이 왜 도움이 되냐

CLIP은 이미지-텍스트를 같은 공간에 매핑해서,

  • 이미지가 어떤 텍스트 설명과 비슷한지(semantic similarity)를 볼 수 있음.

CLIP 기반 이상탐지의 기본 아이디어(가장 직관적 버전)

  1. 텍스트 프롬프트를 만든다
    • 정상: “a photo of a normal [object]”
    • 이상: “a photo of a damaged/broken/defective [object]”
  2. 이미지 임베딩과 각 텍스트 임베딩의 유사도를 계산한다
  3. 이상 점수 = (이상 텍스트와의 유사도) - (정상 텍스트와의 유사도)

즉,

  • “이 이미지가 ‘정상’ 설명보다 ‘이상’ 설명에 더 가까우면 이상”

장점

  • 라벨/학습 없이 바로 가능(빠름)
  • 의미적 이상(semantic anomaly)에 강할 수 있음
    예: “고양이 사진인데 자동차가 있음” 같은 “내용 자체가 이상”

단점(중요)

  • 제조 결함처럼 미세한 결함(스크래치, 작은 오염)
    텍스트로 “defect”라고 써도 CLIP이 그 미세함을 잘 못 잡는 경우 많음.
  • 프롬프트 설계에 민감함(문장 하나 바꾸면 결과 바뀜)
  • 도메인 갭(산업/의료)은 CLIP 학습 분포와 다름 → FPR 올라갈 수 있음

실무적으로는

  • 전체 이미지(전역)만 보지 말고,
  • 패치 단위(feature map) 로 이상 위치도 찾는 방식이 많이 쓰임 (어느 부분이 이상인지 heatmap으로)

4) Self-Referential Zero-Shot Anomaly Detection

이 용어는 보통 “외부에서 ‘이상’이 뭔지 미리 정의한 텍스트 프롬프트에만 의존하지 말고, 입력 이미지/정상 참조 자체를 기준으로 이상을 판단하자”는 계열을 가리켜.

“Self-referential(자기 참조)”를 초보 관점으로 번역하면:

이 이미지(또는 정상 예시들)가 스스로 기준(reference)이 되어서 이상을 판단한다

왜 이런 게 나오냐?

CLIP 기반은 “anomalous, defective …” 같은 말로 이상을 정의하는데,

  • 어떤 도메인에서는 “이상”이 말로 잘 정의되지 않거나
  • 미세 결함은 “defective”라는 단어가 도움이 안 되는 경우가 많아.

그래서 “정상은 이런 느낌”을 더 직접적으로 이용하자.

대표적인 자기참조 아이디어들(자주 쓰이는 형태)

아래 3개 중 하나(또는 조합)로 구현되는 경우가 많아:

(A) 정상 참조(레퍼런스)와 비교

  • 정상 이미지 몇 장(또는 정상 프로토타입)을 갖고
  • 테스트 이미지의 patch feature가 정상 feature 분포에서 얼마나 벗어나는지 본다
  • 여기서 “self”는 “같은 클래스/같은 제품의 정상들”이 기준이 되는 의미

→ 결과: 미세 결함에도 강해지는 경우가 많음 (의미보다 “패턴 차이”를 잡음)

(B) 자기 자신에서 만든 기준(예: 내부 일관성)

  • 한 이미지 안에서도 “정상 영역들은 서로 비슷해야 한다” 같은 가정
  • 예: 표면 텍스처가 고르게 반복되는데 한 곳만 다르면 이상
  • 동일 이미지의 다른 패치들과 비교해 튀는 패치를 이상으로

(C) 자기설명/자기캡셔닝을 이용

  • 멀티모달 모델로 이미지 설명을 먼저 만들고(“이건 이런 물체/상태”)
  • 그 설명과 이미지의 일치도를 다시 재검증하거나,
  • 정상 설명으로부터 얼마나 벗어나는지 점수화
    (이 경우도 “외부 프롬프트”보다 입력에서 나온 정보를 더 쓰는 방향이라 self-referential로 묶이곤 함)

장점

  • 프롬프트 단어 선택에 덜 민감해질 수 있음
  • “defective” 같은 추상 단어 대신 정상 패턴 자체를 기준으로 삼아서
    미세 이상에 유리한 경우가 많음

단점

  • 정상 참조가 필요할 수 있음(완전 0-shot이 아니라 “정상 샘플 몇 장”이 필요한 경우)
  • 정상 다양성이 크면 기준이 흔들려서 FPR이 올라갈 수 있음
  • 어떤 “이상”은 시맨틱(내용)이라 참조 비교만으론 애매할 수 있음

5) 셋의 관계를 한 장으로 정리

  • Anomaly Detection: 이상을 찾는 전체 문제
  • CLIP-Based Zero-Shot AD:
    “CLIP + 텍스트 프롬프트(정상 vs 이상)”로 학습 없이 판별
  • Self-Referential Zero-Shot AD:
    “외부 이상 정의 대신, 정상 참조/자기 비교로 기준을 만들고” 학습 없이(또는 최소) 판별

6) FPR이 왜 특히 중요?

이상탐지에서 보통 이상은 매우 드물어.
그래서 FPR이 조금만 높아도 경보가 폭증해.

예:

  • 하루 100,000개 제품 검사, 실제 불량 10개(0.01%)
  • FPR이 1%면 정상 99,990개 중 999.9개가 오탐 → 하루 1000개 가까이 헛경보
  • 현장에서는 이걸 처리 못 해서 시스템이 버려질 수도 있음

그래서 이상탐지는 **FPR 관리(오탐 억제)**가 핵심인 경우가 많아.


Visually Ambiguous Features (시각적 모호한 특징) (VAF)

AI가 이미지 속의 특정 부분을 보고 그것이 정상인지 이상(결함)인지 판단하기 어려운 특징들을 말합니다.

쉽게 비유하자면, 어두운 골목에서 검은 봉지를 보고 고양이인지 쓰레기인지 헷갈리는 상황과 비슷합니다. 이상 탐지 분야에서 이런 모호함은 주로 다음과 같은 이유로 발생합니다.

1. 정상과 이상이 너무 비슷하게 생겼을 때

어떤 제품은 원래부터 표면이 거칠거나 독특한 무늬가 있을 수 있습니다. 이때 AI는 "이게 원래 있는 무늬(정상)인가, 아니면 긁힌 자국(결함)인가?" 하고 헷갈리게 됩니다.

  • 예시: 금속 부품의 결에 따라 생긴 반사광이 마치 깊은 스크래치처럼 보일 때, 혹은 천의 자연스러운 주름이 찢어진 자국처럼 보일 때입니다.

2. CLIP과 같은 언어 모델의 한계

앞서 설명한 CLIP 기반 모델들은 "정상"과 "이상"이라는 단어의 의미를 이미지와 매칭합니다. 하지만 CLIP은 인터넷상의 일반적인 사진들로 학습되었기 때문에, 아주 미세한 산업적 결함(예: 0.1mm 크기의 흠집)을 표현하는 정교한 시각 특징을 정확히 구분하지 못할 수 있습니다.

  • 예시: CLIP에게 "금이 간 컵"을 찾아달라고 하면 완전히 깨진 건 잘 찾지만, 아주 미세한 실금은 단순히 "빛의 반사"라는 시각적 특징과 구분하지 못할 수 있습니다.

3. 주변 환경(맥락)에 따라 의미가 달라질 때

특정 특징이 이미지의 어느 위치에 있느냐에 따라 정상일 수도, 이상일 수도 있습니다.

  • 예시: 자동차 타이어의 '홈'은 정상이지만, 타이어 '옆면'에 그런 홈이 있다면 그것은 심각한 결함입니다. AI가 이 "위치적 맥락"을 놓치면 해당 특징을 모호하다고 느끼게 됩니다.

이러한 시각적 모호성을 해결하기 위해 최신 연구들은 단순히 이미지를 텍스트와 대조하는 것을 넘어, AA-CLIP이나 PA-CLIP처럼 가짜 이상 데이터를 만들어 모델을 더 똑똑하게 훈련시키거나, 이미지 내부의 다른 부분과 비교하는 방식을 사용합니다.

 

반응형