논문: https://arxiv.org/abs/2502.07601
저자: Jiacong Xu$^1$, Shao-Yuan Lo$^2$, Bardia Safaei$^1$, Vishal M. Patel$^1$, Isht Dwivedi$^2$
$^1$Johns Hopkins University, $^2$Honda Research Institute USA
인용: Xu, Jiacong, et al. "Towards Zero-Shot Anomaly Detection and Reasoning with Multimodal Large Language Models." arXiv preprint arXiv:2502.07601 (2025).
깃허브: https://xujiacong.github.io/Anomaly-OV/
키워드: Anomaly detection (AD), zero-shot, multimodal large language model (MLLM)
0. 초록
Zero-shot anomaly detection (ZSAD)는 데이터가 부족한 현실적인 상황에 적합한 방식이다. 이를 위해 multimodal large language models(MLLM)이 사용될 수 있다. 하지만 범용 모델은 특정 도메인(결함 검출 등)에서 부족한 모습을 보인다. 저자들은 이를 해결하기 위해 Anomaly-OneVision (Anomaly-OV) 모델을 소개한다.
1. 서론
기존의 anomaly detection은 모델이 정상 데이터에 대한 분포를 학습하고, 실제 평가에서 정상과 anomaly를 구분한다. 하지만, 결함 검출 분야에서 훈련 데이터(정상데이터)가 부족할 수 있다. 이에 zero-shot anomaly detection (ZSAD)가 관심을 받고 있다. zero-shot 테스크에 적합한 multimodal alrge language model (MLLM)은 주로 범용 모델로 다양한 분야에 활용된다. 하지만, 특정 도메인에 대해서 추론 능력이 저하된다. 저자들은 해당 분야에 특화된 Anomaly-OneVision 모델을 제안한다. 모델은 인간 검사자의 행동, 정상과 비정상을 비교하여 결함을 검출하는 방법에 영감을 받아, Look-Twice Feature Matching (LTFM) 메커니즘을 도입하였다.
3. 제안 방법
3.1. 사전 지식 (Preliminary)
사전 훈련된 MLLM은 높은 범용성으로 다양한 테스크에 사용되나, 특정 도메인 (결함 검출 등)에 대한 깊은 이해는 부족하다. 이에 저자들은 generalist (MLLM)에게 auxiliary specialist (도메인 특화)를 도입하였다. 저자들은 base MLLM에 LLAVA-OneVision을 사용하였다. 그리고 auxiliary specialist로 LTFM을 사용한다.
3.2. Architecture Overview
LLAVA의 CLIP을 사용하기 위해 고해상도 이미지는 처음에 정의된 해상도로 crop한다. 해당 방법은 AnyRes 방식을 따른다.
\begin{align*}
& \mathcal{I} = \{ I_0, I_1, I_2, \ldots, I_{n-1} \}
\tag{1}
\end{align*}
Visual encoder $ \mathcal{F} _theta$ 은 이미지셋 $ \mathcal{I} $ 를 입력으로 받아, 총 4개의 layer에서 각각 출력 $v^i_j$를 만든다.
\begin{align*}
& v^i_j = \mathcal{F}^i_{\theta}( \mathcal{I}_j)
\tag{2}
\end{align*}
$i$는 layer level, $j$는 이미지 인덱스이다. 다양한 level의 특징맵은 local semantics를 효과적으로 처리할 수 있다.
visual encoder의 최종 출력 $v^0$ (global embedding)와 각 layer별 출력 $v^i$ 는 LTFM에서 의심스러운 부분 (anomaly)를 확인한다. 각 LTFM의 출력 $m$ 과 $v^0$은 VT selector에서 적합한 visual token을 만드는 데 사용된다. 이는 classification과 추론을 위한 LLM의 입력으로 사용된다.
3.3. Look-Twice Feature Matching
해당 모듈은 위 그림과 같이 인간 검사자의 two-step 검사 방식에서 영감을 얻었다. Global object information $v^0_0$은 look-back path를 통해 LTFM의 입력으로 들어간다. $v^0_0$는 linear layer \mathcal{T}^0_i를 통과하여, 유용한 token을 추린다. 이후 두 개의 학습 가능한 embedding: $e^+,e^- \in \mathbb{R}^D$ (+는 anomalous, -는 normal에 대응)과 각각 합친 다음 다시 각 MLP {$\mathcal{G}^+_i, \mathcal{G}^-_i$}에 통과하여, abnormality와 normality descriptions {$d^+_i, d^-_i$}를 생산한다.
\begin{align}
\{ \mathbf{d}_i^+, \mathbf{d}_i^- \} =
\left\{
\begin{aligned}
& \mathcal{G}_i^{+} \left( \mathbf{e}^{+} \circ \mathcal{T}_i^0 ( \mathbf{v}_0^0 ) \right) \\
& \mathcal{G}_i^{-} \left( \mathbf{e}^{-} \circ \mathcal{T}_i^0 ( \mathbf{v}_0^0 ) \right)
\end{aligned}
\right.
\tag{3}
\end{align}
$d_i$는 이후 layer별 출력 $v^i_j$ (local imforation) 과 cosine similarity 연산을 통해 anomalous patterns 유무를 확인한다.
\begin{align*}
& \mathbf{m}_j^i =
\frac{\exp\left( \langle \mathbf{d}_i^+, \mathbf{v}_j^i \rangle / \tau \right)}
{\exp\left( \langle \mathbf{d}_i^+, \mathbf{v}_j^i \rangle / \tau \right)
+ \exp\left( \langle \mathbf{d}_i^-, \mathbf{v}_j^i \rangle / \tau \right)}
\tag{4}
\end{align*}
이후 모든 level별 map은 통합 map으로 변경한다.
\begin{align*}
& \mathbf{m}_j = \sum_{i=1}^{4} \mathbf{m}_j^i / 4
\tag{5}
\end{align*}
3.4. Visual Token Selector
LLAVA-OneVision에서 사용된 1152*1152 고해상도 이미지는 많은 visual token (7290개)을 가진다. 이는 풍부한 시각적 정보를 제공하지만, LLM은 가장 유용한 정보만을 선택해야 한다. 이를 위해 저자는 domain specialist (VT selector) 를 도입하였다.
Crop 이미지별 $v^0_j$과 $m_j$는 요소별 곱셈을 수행하고, spatial average pooling $\mathcal{P}$을 통과하여 $q_j \in \mathbb{R}^{h \times w \times D}$가 생산된다.
\begin{align*}
& \mathbf{q}_j = \mathcal{P} \left( \mathbf{v}_j^{\circ} \odot \mathbf{m}_j \right)
\tag{6}
\end{align*}
여기서 $h=w=2$는 해상도가 된다. 이후 Q-Former $\mathcal{Q}$에 $q_j$, $v^0_j$, $v^0_j$를 각각 query, key, value로 사용하여 hand-pick visual token $v^s_j$ 를 생산한다.
\begin{align*}
& \mathbf{v}_j^{s} = \mathcal{Q} \left( \mathbf{q}_j, \mathbf{v}_j^{\circ}, \mathbf{v}_j^{\circ} \right)
\tag{7}
\end{align*}
$v^s_j$ 는 주어진 이미지에서 가장 의심스러운 (anomalous) semantics을 포함한다.
3.5. Inference and Loss
모델은 이미지가 abnormal에 속하는지 예측을 하기 위해 이미지의 crop 간 anomaly 정보를 합산한다.
\begin{align*}
& \mathbf{r}(\mathcal{I}) =
\frac{\sum_{j,k} \mathbf{v}_j^{s}[k] \cdot \mathcal{P}(\mathbf{m}_j)[k]}
{\sum_{j,k} \mathcal{P}(\mathbf{m}_j)[k]}
\tag{8}
\end{align*}
모델은 이미지가 abnormal에 속하는지 예측을 하기 위해 이미지의 crop 간 anomaly 정보를 합산한다. 합산결 결과 $r(\mathcal{I})$ 는 MLP $\mathcal{G}^0$ 와 Sigmoid 함수를 통과하여 최종 예측 결과를 생성한다.
\begin{align*}
& \text{score}(\mathcal{I}) = \text{Sigmoid} \left( \mathcal{G}^0 ( \mathbf{r}(\mathcal{I}) ) \right)
\tag{9}
\end{align*}
4. Dataset and Benchmark
Anomaly detection을 위한 multimodal instrcution-following 데이터셋의 부족은 이 분야의 전문성을 학습하기 어렵게 만든다. 저자들은 이를 해결하기 위해 대규모 instruction tuning dataset: Anomaly-Instruct-125K와 anomaly detection and reasoning benchmark: VisA-D&R (Visual Anomaly-Detection&Reasoning)을 소개한다.
4.1. Anomaly-Instrcut-125K
저자는 anomaly description 생성을 위한 새로운 prompt pipeline을 제안한다. 대부분의 AD 데이터셋이 class name과 anomaly type을 가지고 있기 때문에 저자들은 a [capsule] with [poke] on surface. 와 같은 짧은 description을 만든다. 이후 GPT-4o에 그림과 해당 설명을 입력ㅇ로 넣어, 세부적인 anomaly description을 만든다. Anomaly-Instrcut-125K를 위해 사용된 데이터셋은 다음과 같다: MVTec AD, BMAD 훈련데이터셋, Anomaly-ShapeNet, Real3D-AD, MVTec-3D AD. 저자들은 위 데이터셋들이 다양성과 크기가 부족하기 때문에 추가로 Google Image Search와 GPT-4o를 이용하여 웹상으로부터 이상 데이터 수집 및 가공을 거쳐 72K in-the-wild images (named as WebAD)를 구성한다.
5. Experiments
5.1. Training & Evaluation
모델 훈련은 두 개의 독립적인 단계로 이루어진다. 첫 번째 단계에서는 anomaly expert (LTFM, VT selector)를 훈련하여, token selection 능력을 얻는다. 여기서 Anomaly-Instrcut-125K와 WebAD 데이터셋을 사용한다. 검증에서는 VisA 데이터셋을 사용한다. 두 번째 단계에서는 anomaly expert와 vosual encoder는 동결하고 projector와 LLM을 훈련한다. 여기서는 저자들의 instruction dataset 뿐만 아니라, LLaVA-OneVision 데이터셋의 일부 (350k)를 추가로 사용하여 일반화 성능도 학습한다.
5.2. Zero-Shot Anomaly detection
기존 방법들 대비, Anomaly-OV (Ours)가 이상 이미지에 대한 AUROC 값이 높다. 저자들은 이 성공의 요인으로 WebAD를 언급한다. 해당 데이터셋으로 이상치 구분에 대한 일반화된 의미를 학습하였기 때문이다.