PaperReview

Harnessing Large Language Models for Training-free Video Anomaly Detection

Black940514 2026. 9. 1. 11:27

Harnessing Large Language Models for Training-free Video Anomaly Detection - 세미나 자료

저자: Luca Zanella, Willi Menapace, Massimiliano Mancini 외 2명
발행년도: 2024년
인용수: None회
논문 링크: http://arxiv.org/abs/2404.01014v1
arXiv ID: 2404.01014




0. TL;DR


📌 핵심 요약
  • LAVAD는 학습 파라미터가 0개인 최초의 **training-free 비디오 이상 탐지(VAD)** 파이프라인으로, 기성 캡셔너(BLIP-2) + LLM(Llama-2-13b-chat) + 모달리티 정렬 VLM(ImageBind)을 얼린 채 조합하기만 했다.
  • 설계의 축은 세 겹의 보정 루프였다 — 캡션을 영상 내부에서 정제하고(Image-Text Caption Cleaning), 시간 윈도우 요약으로 문맥을 채우고, 나온 점수를 시각 유사도로 다시 가중했다.
  • UCF-Crime AUC **80.28%**, XD-Violence AP 62.01 / AUC 85.36%로 unsupervised·one-class 계열 최고 성능을 모두 넘겼다(RareAnom 대비 AUC +17.03%).


1. 왜 이 논문이 흥미로운가


이 논문에는 학습 코드가 없다. 그래디언트 한 번 흘리지 않고, 감시 영상 한 편 수집하지 않고, unsupervised SOTA인 DyAnNet(79.76%)을 0.52%p 앞질렀다.


더 재미있는 건 같은 재료를 순진하게 쓰면 결과가 처참하다는 점이다. ImageBind에 "정상/이상" 두 문장을 넣고 영상 임베딩과 코사인 유사도를 재면 55.78%, CLIP은 53.16%로 사실상 동전 던지기였다. 같은 frozen 모델을 언어 공간을 경유해서 쓰는 순간 80%대로 뛴다. 이 간극 자체가 이 논문의 이야깃거리였다.


비유하자면 저자들은 영상을 보는 대신 프레임마다 상황 보고서를 받아 읽는 쪽을 택했다. 그리고 LLM에게 "당신이 법 집행 기관이라면 이 장면을 0에서 1 사이 몇 점으로 보겠는가"를 물었다. 감시 영상은 프라이버시 때문에 수집 자체가 병목인 도메인이라, 학습을 요구하는 접근은 배포 단계에서 막히기 일쑤였다. 데이터를 못 모으는 곳에서 데이터 없이 돌아가는 검출기를 만든 셈이다.




2. Problem & Why now


논문이 다루는 과제는 temporal VAD다. 길이 $M$인 테스트 영상이 주어지면 각 프레임에 $[0,1]$ 구간의 이상 점수를 매기고, 임계값으로 이상 구간을 잘라낸다. 저자들은 Section 3.1에서 이 문제를 새로 정식화했는데, 핵심은 학습 데이터셋 자체를 지운 것이었다. 기존 정의가 라벨 달린 데이터로 모델을 학습한다고 봤다면, 여기서는 추론 시점에 사전학습 모델만으로 점수를 추정한다.


기존 방법들의 한계는 감독 수준을 따라 층층이 쌓여 있었다. 완전·약한 감독(Sultani, RTFM, CLIP-TSA)은 성능이 가장 높지만 프레임 혹은 비디오 라벨 비용이 금지적이다. one-class는 "정상 영상만 모았다"는 사실을 사람이 일일이 검증해야 한다. unsupervised(GCL, Tur et al., DyAnNet)는 라벨을 요구하진 않아도 "훈련 데이터의 대부분은 정상"이라는 비율 가정에 기대는데, 저자들은 이를 인간 개입 없이는 성립하지 않는 취약한 가정이라고 못 박았다.


여기에 더 근본적인 문제가 겹쳤다. 모든 학습 기반 VAD는 도메인 특화적이다. 주간에 학습한 모델은 야간 영상에서 무너지고, 카메라가 바뀌면 다시 수집하고 다시 학습해야 한다. 일반화 비용과 데이터 수집 비용이 동시에 청구되는 구조였고, 감시 도메인에서는 두 번째 항목이 종종 지불 불가능했다.


LLM을 끌어들인 선행 연구가 없지는 않았다. Kim et al.(2023)은 ChatGPT로 정상/이상 요소를 서술하는 텍스트를 생성했지만, 출력을 응용 맥락에 맞추려면 human-in-the-loop가 필요했고 VLM 자체는 여전히 추가 학습을 요구했다. 학습을 줄였을 뿐 없애지는 못했다.


저자들의 인사이트는 단순하다. 타깃 도메인의 시각적 prior가 없다면 대규모 파운데이션 모델에서 빌려오면 된다. 영상을 언어 공간으로 옮겨놓는 순간, LLM은 그 자체로 이상 탐지기 역할을 맡는다.




3. Background


읽기 전에 필요한 사전지식은 네 덩어리다. 첫째, 이미지 캡셔닝 — BLIP-2가 Q-Former로 얼린 이미지 인코더와 LLM 사이를 잇는 구조. 둘째, 모달리티 정렬 공동 임베딩 — CLIP이나 ImageBind처럼 이미지·텍스트·비디오 인코더가 하나의 latent 공간을 공유하고, 코사인 유사도로 서로 검색되는 형태. 셋째, LLM 프롬프팅 기법 중 impersonation(역할 부여)과 출력 형식 강제. 넷째, 평가 지표인 frame-level AUC ROC와 AP다.


계보를 따라가면 흐름이 선명하다. MIL 손실을 쓴 약한 감독 VAD(Sultani, 2018)가 출발점이었고, 이후 오토인코더 재구성 오차나 diffusion 기반 pseudo-label로 라벨을 대체하는 unsupervised 계열(GCL 2022, Tur et al. 2023, DyAnNet 2023)이 등장했다. 그다음 LLM을 보조 도구로 끌어들인 시도(Kim et al. 2023)가 나왔으나 학습은 남았다. LAVAD는 이 사슬의 끝에서 학습 항목 자체를 제거했다.


직전 SOTA와의 차이가 이 논문의 정체성이다. DyAnNet은 OneClassSVM/iForest로 만든 pseudo-label로 타깃 도메인에서 regressor를 학습하므로 결국 그 도메인의 영상이 필요하다. 반면 LAVAD는 캡셔너, LLM, 이미지·텍스트·비디오 인코더 다섯 모듈을 전부 얼린 채 조합만 바꿨다.


그렇다면 왜 VLM을 그냥 zero-shot으로 쓰면 안 됐을까. 저자들의 예비 실험(Fig. 2)은 정렬된 임베딩이 판별기로 쓰이기엔 부적합하다고 말한다. VLM은 전경 객체에 attend하도록 학습돼 있어서, "누가 무엇을 하고 있는가"라는 행위·배경 단서를 점수로 옮기지 못한다. 반대로 프레임 캡션을 LLM에 넣기만 해도 랜덤을 크게 웃돌았지만 unsupervised SOTA에는 못 미쳤고, 그 격차를 메우는 세 모듈이 §4의 본론이 된다.


방법 감독 수준 핵심 아이디어 UCF-Crime AUC 한계
DyAnNet (2023) Unsupervised pseudo-label로 regressor 학습 79.76 타깃 도메인 수집·학습 필요
GCL (2022) Unsupervised AE 재구성 오차 ↔ discriminator 교대 학습 74.20 "대부분 정상" 비율 가정에 취약
ZS ImageBind (Video) Training-free 두 텍스트 프롬프트와 영상 임베딩 코사인 55.78 객체 중심 표현이라 행위 판별 실패
LLaVA-1.5 Training-free 프레임 단위로 VLM에 직접 점수 질의 72.84 시간 문맥 없이 프레임 단독 판단
LAVAD (본 논문) Training-free 캡션 정제 → LLM 시간 요약·점수화 → 영상-텍스트 재가중 80.28 LLM 추론 비용, 프롬프트 민감성


4. Method


LAVAD의 파이프라인은 한 방향으로 흐른다. 테스트 영상 $\mathbf{V}=[\mathbf{I}_1,\dots,\mathbf{I}_M]$이 들어오면 BLIP-2 캡셔너 $\Phi_C$가 프레임마다 캡션 $C_i$를 뽑아 시퀀스 $\mathbf{C}$를 만들고, Image-Text Caption Cleaning이 이를 $\hat{\mathbf{C}}$로 갈아치운 뒤, $T=10$초 윈도우 안의 정제 캡션을 LLM이 요약해 $S_i$를 만든다. 그 요약을 다시 LLM에 넣어 초기 점수 $\mathbf{a}=[a_1,\dots,a_M]$을 얻고, 마지막으로 영상 스니펫 임베딩과 요약 임베딩의 유사도로 점수를 재가중해 $\tilde{\mathbf{a}}$를 만든 다음 임계값으로 이상 구간을 잘랐다.


저자들은 VAD 함수 $f$를 다섯 요소로 분해했다 — 캡셔너 $\Phi_C: \mathcal{I}\to\mathcal{T}$, LLM $\Phi_{\text{LLM}}: \mathcal{T}\to\mathcal{T}$, 그리고 공유 latent 공간 $\mathcal{Z}$로 사상하는 인코더 $\mathcal{E}_I$, $\mathcal{E}_T$, $\mathcal{E}_V$. 논문은 이 다섯이 전부 off-the-shelf frozen 모델이라고 못 박았다.


flowchart LR
    A["Frames V"] --> B["BLIP-2 캡션 C"]
    B --> C["Caption Cleaning<br/>(E_I · E_T argmax)"]
    C --> D["LLM 시간 요약 S<br/>(T=10s 윈도우)"]
    D --> E["LLM 점수 a<br/>(11개 이산값)"]
    E --> F["Score Refinement<br/>(E_V · E_T, K=10)"]
    F --> G["임계값 → 이상 구간"]

모듈 A: Image-Text Caption Cleaning


출발점은 실패 사례였다. Section 3.2에서 저자들은 UCF-Crime의 Shooting033 영상을 뜯어보며, 정답 이상 구간 안에 있는 프레임의 BLIP-2 캡션이 "a man is seen walking in front of a car with a child in his arms"처럼 시각 내용을 전혀 담지 못했고 그 결과 LLM이 낮은 점수를 준다는 것을 보였다. 캡션이 깨지거나 어긋나면 그 뒤 파이프라인 전체가 무너진다. 언어를 경유하는 대가였다.


BLIP-2 캡션이 이상 구간의 시각 내용을 놓쳐 낮은 점수를 받는 실패 사례


위 그림에서 가로축은 프레임 번호, 세로축은 Llama가 매긴 이상 점수였고, 분홍 음영이 정답 이상 구간이었다. 붉은 박스로 표시된 프레임은 이상 예측, 파란 박스는 정상 예측인데, 정답 구간 한복판에 파란 박스가 놓여 있다. 캡션이 총격 상황 대신 "아이를 안고 차 앞을 걷는 남자"로 서술된 탓이었다. 병목이 LLM의 판단력이 아니라 캡션 품질이라는 사실을 저자들은 이 한 장으로 정당화했다.


해법은 학습이 아니라 검색이었다. 저자들은 "영상 전체 캡션 집합 $\mathbf{C}$ 안에는 이 프레임을 더 잘 설명하는, 깨지지 않은 캡션이 어딘가 존재한다"고 가정했다. 정적 카메라·고 프레임레이트 환경에서는 프레임 간 의미 내용이 시간적 거리와 무관하게 겹치므로, 캡션 정제를 "타깃 프레임 $\mathbf{I}_i$에 의미적으로 가장 가까운 캡션 찾기"로 다시 쓸 수 있었다.


$$\hat{C}_i = \arg\max_{C \in \mathbf{C}} \langle \mathcal{E}_I(\mathbf{I}_i) \cdot \mathcal{E}_T(C) \rangle$$


이 수식은 노이즈 제거를 cross-modal retrieval로 바꿔치기한 지점이다. 디노이징 모델을 학습해 캡션을 고치는 대신, 같은 영상 안 다른 시점의 멀쩡한 문장을 훔쳐와 덮어씌운다. 코사인 유사도 하나로 끝나고, 파라미터는 늘지 않는다.


모듈 B: LLM-based Anomaly Scoring


정제된 $\hat{\mathbf{C}}$는 깨끗해졌지만 여전히 프레임 하나의 정지 화면 설명이다. 장면의 dynamics가 없다. 그래서 저자들은 $\mathbf{I}_i$를 중심으로 $T$초 윈도우를 잡고 그 안에서 $N$개 프레임을 균일 샘플링해 캡션 부분열 $\hat{C}_i = {\hat{C}_n}_{n=1}^N$을 만든 뒤, 요약 프롬프트 $\texttt{P}_S$("Please summarize what happened in few sentences…")로 시간 요약 $S_i = \Phi_{\text{LLM}}(\texttt{P}_S \circ \hat{C}_i)$를 생성했다.


$$a_i = \Phi_{\text{LLM}}(\texttt{P}_C \circ \texttt{P}_F \circ S_i)$$


이 한 줄이 논문의 정체성이다. $\texttt{P}_C$는 VAD 맥락 prior를 담은 컨텍스트 프롬프트이고, $\texttt{P}_F$는 출력 형식 강제 프롬프트다. 저자들은 이상 점수 추정을 생성 문제가 아니라 분류 문제로 취급해, $[0,1]$을 균일하게 나눈 11개 값 중 하나만 고르게 했다. 파싱 실패를 줄이는 동시에 회귀 출력의 변동성을 잘라낸 선택이었다.


$\texttt{P}_C$의 대표형은 "If you were a law enforcement agency, how would you rate the scene described on a scale from 0 to 1…"이다. 논문은 이 impersonation이 이상 유형에 대한 prior를 전혀 담지 않고 오직 맥락만 준다는 점을 강조했다. 내가 예전에 사내 CCTV 로그 요약기를 붙였을 때도 역할 부여 한 줄이 점수 분포를 통째로 흔든 적이 있어서, 이 대목은 남 얘기 같지 않았다.


모듈 C: Video-Text Score Refinement


여기까지의 $\mathbf{a}$는 언어 정보만으로 만들어졌다. 시각 신호는 캡션을 거치며 이미 증발했다. 그래서 마지막 단계에서 저자들은 $\mathbf{I}_i$ 중심의 영상 스니펫 $\mathbf{V}_i$를 $\mathcal{E}_V$로, 모든 시간 요약을 $\mathcal{E}_T$로 인코딩해 가장 가까운 $K$개 요약의 인덱스 집합 $\mathbf{K}_i$를 구한 뒤 점수를 유사도-소프트맥스로 가중 평균했다.


$$\tilde{a}_i = \sum_{k \in \mathbf{K}_i} a_k \cdot \frac{e^{\langle \mathcal{E}_V(\mathbf{V}_i), \mathcal{E}_T(S_k)\rangle}}{\sum_{k \in \mathbf{K}_i} e^{\langle \mathcal{E}_V(\mathbf{V}_i), \mathcal{E}_T(S_k)\rangle}}$$


논문 본문도 짚었듯 이 식은 모듈 A와 정확히 같은 원리를 점수 레벨에 재적용한 것이다. 캡션 레벨에서는 이미지-텍스트 유사도로 문장을 빌려왔고, 여기서는 비디오-텍스트 유사도로 점수를 빌려온다. 같은 도구를 두 번, 다른 층위에서 쓴 구조적 대칭이 이 설계의 미학이었다.


캡션 정제, LLM 시간 요약·점수화, 영상-텍스트 재가중으로 이어지는 LAVAD 전체 구조


위 그림에서 눈여겨볼 것은 왼쪽과 오른쪽에 각각 놓인 두 개의 유사도 블록이다. 왼쪽 $\mathcal{D}_C$는 $\mathcal{E}_I(\mathbf{I}_i)$와 캡션 임베딩을 맞대고, 오른쪽 $\mathcal{D}_S$는 $\mathcal{E}_V(\mathbf{V}_i)$와 요약 임베딩을 맞댄다. 눈송이 아이콘이 붙은 인코더 세 개가 전부 얼어 있다는 표시도 도식에 그대로 드러나 있다. 흐름을 따라가면 원본 캡션 $\mathbf{C}$ → 정제 캡션 $\hat{\mathbf{C}}$ → 요약 $\mathbf{S}$ → 점수 $\mathbf{a}$ → 정제 점수 $\tilde{\mathbf{a}}$로 표현이 한 단계씩 거칠어졌다가 다시 압축되는 구조가 보였다.


학습 전략 항목은 비어 있다. 손실 함수가 없고, 그래디언트가 없고, 파인튜닝도 없다. 튜닝 대상은 하이퍼파라미터 세 개뿐이었다 — 시간 윈도우 $T=10$초(ImageBind 비디오 인코더의 사전학습 설정에 맞춤), 재가중 이웃 수 $K=10$, 그리고 계산량을 줄이기 위한 16프레임 간격 샘플링. 학습 코드가 없다는 말은 수사가 아니라 사실이었다.




5. Experiments


평가는 UCF-Crime과 XD-Violence 두 데이터셋에서 이뤄졌다. UCF-Crime은 13종 실세계 이상을 담은 1900개 무편집 감시 영상으로 테스트셋은 정상 150 + 이상 140개였고, XD-Violence는 영화·유튜브에서 모은 4754개 영상 중 800개가 테스트셋이었다. 지표는 frame-level AUC ROC이며 XD-Violence에는 AP를 병기했다. 구현은 캡셔너로 BLIP-2 variant 앙상블, LLM으로 Llama-2-13b-chat, 인코더로 ImageBind를 썼고, 비교 대상 training-free 베이스라인(ZS CLIP, ZS ImageBind Image/Video, LLaVA-1.5)은 저자들이 직접 만들었다.


Table 1의 UCF-Crime 결과에서 LAVAD는 AUC 80.28%를 기록했다. GCL(74.20) 대비 +6.08%, 직전 unsupervised SOTA인 DyAnNet(79.76) 대비 +0.52%였다. 같은 표에서 ZS CLIP은 53.16, ZS ImageBind(Video)는 55.78로 사실상 랜덤이었고, 프레임마다 VLM에 직접 점수를 물은 LLaVA-1.5는 72.84에 그쳤다. 저자들은 VLM 실패의 원인을 "전경 객체에 attend하도록 학습돼 행위나 배경 정보를 못 잡는다"로 설명했고, LLaVA와의 7.44%p 격차는 단일 프레임이 아니라 풍부한 시간 서술을 쓴 덕이라고 해석했다.


Table 2의 XD-Violence에서는 AP 62.01, AUC 85.36%였다. unsupervised 최고인 RareAnom(68.33)을 AUC 기준 +17.03%p 앞섰다. 흥미로운 건 위쪽 칸의 weakly-supervised 그룹과 비교했을 때다. C3D 백본의 Wu et al.이 AP 67.19인데, 라벨을 한 장도 안 쓴 LAVAD가 62.01이었다. 좁혀졌다.


UCF-Crime과 XD-Violence 테스트 영상에서 LAVAD가 예측한 점수 곡선과 키프레임 요약


위 이미지는 보충 자료에 실린 추가 정성 결과다. 각 영상마다 프레임 번호를 가로축, $[0,1]$ 이상 점수를 세로축으로 곡선을 그리고 정답 이상 구간을 분홍으로 칠했는데, 점수 봉우리가 분홍 구간과 겹치는 패턴이 여러 영상에서 반복됐다. 곡선이 매끄러운 계단형에 가까운 것은 $K=10$ 재가중이 이웃 프레임 점수를 평균하며 고주파 진동을 눌렀기 때문이다. 반대로 이 평활화는 짧은 이상 구간을 희석할 위험도 함께 진다.


Ablation(Table 3)이 말하는 바가 흥미롭다. Caption Cleaning을 빼면 76.48로 −3.80%p, 시간 요약을 빼면 72.70으로 −7.58%p, Score Refinement를 빼면 72.79로 −7.49%p 떨어졌다. 즉 캡션을 깨끗하게 만드는 일보다 시간 문맥을 넣는 일이웃 점수를 모으는 일이 거의 두 배 크게 성능을 지배했고, 뒤의 두 항목은 서로 거의 같은 무게였다.


프롬프트 ablation(Table 4)은 더 얄궂었다. 베이스 컨텍스트 프롬프트만 쓰면 79.32, "suspicious activities"에 "or potentially criminal activities"를 붙인 anomaly prior만 넣으면 79.38로 사실상 무변화였다. 반면 impersonation("If you were a law enforcement agency")만 넣으면 80.28로 +0.96%p 올랐다. 둘 다 넣으면 79.77로 오히려 내려갔다. 저자들의 해석은 "과하게 엄격한 컨텍스트가 탐지 가능한 이상의 범위를 좁힌다"였다. $K$ 스윕(Fig. 6)에서는 $K$가 커질수록 AUC가 74%대에서 단조 상승하다 $K\approx9$에서 포화했고, 그래서 $K=10$이 선택됐다.




6. 직관과 시각 자료


학습 기반 VAD 네 계열과 학습이 없는 LAVAD의 대비를 보여주는 개념도


이 그림에서 왼쪽 상자 네 칸은 각각 fully-supervised, one-class, weakly-supervised, unsupervised를 나타내며 모두 "Training" 블록을 거쳐야 추론에 도달했다. 노란 타일은 정상 프레임, 빨간 타일은 이상 프레임, 파란 타일은 라벨 없는 영상인데, 네 계열이 요구하는 색의 조합만 다를 뿐 학습 단계 자체는 공통이었다.


오른쪽 초록 상자에는 Training 블록이 아예 없고 VLM과 LLM이 서로 마주 본 채 추론 화살표만 놓였다. 논문이 training-based 계열에서 갈라져 나온 지점을 한 장으로 요약한 셈이다. 색이 아니라 구조가 대비의 핵심이었다.


키프레임과 시간 요약 문장을 곁들인 네 개 테스트 영상의 이상 점수 추이


위 이미지에서 윗줄 두 개는 UCF-Crime, 아랫줄 두 개는 XD-Violence 영상이었다. Robbery102 곡선은 1000~1500 프레임 구간의 분홍 음영에서 점수가 0.75 근처까지 치솟았고, 그 구간의 요약문은 "A woman is being attacked by a man in a driveway"로 실제 상황을 서술하고 있었다. 반대편 Normal_Videos_722는 8000프레임 내내 점수가 0.25 아래에 머물렀고 요약은 "People are working at their desks in a bank"였다. 붉은 박스(이상 예측)와 파란 박스(정상 예측)가 요약문 내용과 어긋나지 않는다는 점이 중요했다 — 점수와 시각 내용과 언어 서술 셋이 같은 방향을 가리켰다.


여기서 얻는 직관은 §4의 실패 사례와 정확히 짝을 이룬다. 캡션이 시각 내용을 못 담으면 점수가 무너졌고, 요약이 상황을 제대로 서술하면 점수가 따라 올라갔다. 언어를 중간 표현으로 삼는 파이프라인에서 성능의 상한은 서술의 충실도가 결정한다. LAVAD의 세 모듈은 전부 이 충실도를 학습 없이 끌어올리는 장치였다 — 정제로 문장을 고치고, 요약으로 시간을 넣고, 재가중으로 서술이 비슷한 프레임끼리 판단을 공유시켰다.




7. Critical View


가장 먼저 걸린 것은 비용이었다. 이 파이프라인은 16프레임마다 BLIP-2 캡셔닝을 돌리고, 그 결과로 다시 Llama-2-13b를 두 번(요약 한 번, 점수 한 번) 호출한다. 프레임 수 $M$이 수천 단위인 무편집 감시 영상에서 이건 프레임당 LLM 호출 두 번이 붙는다는 뜻인데, 논문에는 추론 시간도 GPU 시간도 표가 없다.


솔직히 여기서 좀 걸렸다. "학습이 없다"는 주장은 사실이지만 그게 "싸다"로 읽히기 쉽고, 실제로는 학습 비용을 추론 비용으로 이월시킨 구조에 가깝다. 감시라는 응용은 실시간성이 요구 조건인데, 그 축의 숫자가 통째로 비어 있었다. 내 4장짜리 워크스테이션에서 13B 모델을 프레임 단위로 두 번 굴리는 그림을 그려보면, 30분짜리 영상 하나에 몇 시간이 나올 것 같다 — 정확히 얼마인지는 논문이 말해주지 않으니 나도 모른다.


두 번째는 Caption Cleaning이 기대는 가정의 강도다. 모듈 A는 "영상 전체 캡션 풀 어딘가에 이 프레임을 더 잘 설명하는 문장이 있다"를 전제하고, 그 근거로 정적 카메라와 고 프레임레이트를 든다. 이 전제는 UCF-Crime/XD-Violence의 촬영 조건에 맞춰진 것이지 방법의 일반 속성이 아니다. 카메라가 움직이거나 영상이 짧거나, 반대로 이상 행위가 영상 대부분을 차지하면 검색은 반대 방향으로 작동한다 — 이상 프레임의 서술이 정상 프레임으로 새어 나가는 오염이다. 저자가 이 실패 모드를 다룬 흔적은 찾지 못했다.


세 번째로 모듈 C의 재가중은 명백한 양날이다. §5에서 본 정성 곡선이 매끄러운 계단형이었던 것은 $K=10$ 평균이 진동을 눌렀기 때문인데, 같은 연산이 몇 초짜리 짧은 이상 구간을 이웃한 다수 정상 점수에 희석한다. Fig. 6의 $K$ 스윕은 전체 AUC가 단조 상승한다고만 말했고, 이상 구간 길이별로 분해한 분석은 없다. AUC 하나로는 "긴 이상은 잘 잡고 짧은 이상은 놓친다"는 패턴이 감춰진다.


프롬프트 ablation(Table 4)도 다시 보면 불편하다. impersonation 한 구절이 +0.96%p를 만들고 anomaly prior를 겹치면 −0.51%p 떨어지는데, 이 선택은 UCF-Crime 테스트셋 AUC를 보고 이뤄졌다. 저자는 "과한 문맥 제약이 이상 범위를 좁힌다"로 해석했지만, 라벨 없는 setup을 표방하면서 테스트 지표로 프롬프트를 고른 것은 사실상 test-set tuning이고, 그 순간 training-free의 경계도 흐려진다.


같은 맥락에서 BLIP-2, ImageBind, Llama-2는 이미 웹 규모 데이터로 학습됐고 XD-Violence는 유튜브·영화에서 수집됐다 — data contamination 논의가 한 줄도 없다. 재현성 쪽에서도 BLIP-2 variant 앙상블의 구성, LLM temperature와 파싱 실패율 처리가 본문에서 빠져 있어 숫자를 그대로 재현하기는 어렵다.


후속으로 갈 길은 오히려 선명하다. 캡션 → 요약 두 단계를 video-LLM 하나로 접으면 호출 수와 정보 손실이 동시에 줄고, 점수 변화가 큰 구간에만 조밀하게 샘플링하는 adaptive sampling은 비용 항목을 직접 친다. 프롬프트가 하이퍼파라미터라면 검증셋 없이 자동 탐색하는 절차가 필요하고, 이미 요약문을 갖고 있다는 점을 살리면 "왜 이상인가"를 문장으로 내놓는 explainable VAD가 거의 공짜로 따라온다. 마지막 하나가 이 논문의 진짜 상속물일지 모른다.




8. Take-aways


  • 학습 파라미터 0개로 unsupervised·one-class SOTA를 넘겼다 — VAD의 "학습 필수" 전제가 깨졌다.
  • 영상을 언어로 옮기면 LLM이 그대로 이상 탐지기가 되고, 열쇠는 시간 요약이었다.
  • 정렬 임베딩은 판별기로 쓰면 53~55%지만, 정제·재가중 도구로 쓰면 80.28%를 만든다.
  • Ablation은 캡션 품질(−3.8)보다 시간 문맥(−7.58)·이웃 집계(−7.49)의 지배력을 가리켰다.
  • 학습 비용은 사라진 게 아니라 프레임마다 두 번 울리는 LLM 호출로 옮겨 앉았다.