오늘도 Text-Video Retrieval 논문에 대해 리뷰해겠습니다. 리뷰하려는 논문은 CVPR 2025 에 Accept 되었고, Arxiv 버전으로 리뷰를 진행하려고 합니다.

- Conference: CVPR 2025
- Authors: Chan Hur, Jeong-hun Hong, Dong-hun Lee, Dabin Kang, Semin Myeong, Sang-hyo Park, Hyeyoung Park
- Affiliation: Kyungpook National University
- Title: Narrating the Video: Boosting Text-Video Retrieval via Comprehensive Utilization of Frame-Level Captions
1. Introduction
최근 텍스트-비디오 검색(Text-to-Video Retrieval)은 Vision-Language Multi-modal 연구에서 핵심적인 문제로 자리잡고 있습니다. 그러나 비디오와 텍스트 간 차이(cross-modality gap), 그리고 시간에 따라 변화하는 비디오 정보의 복잡성은 여전히 큰 도전 과제로 남아 있습니다. 기존 연구들은 CLIP과 같은 VLM 기반의 Feature와 시간축을 고려한 모듈을 추가로 설계하며 이 문제를 해결하고자 했지만, 예를 들어 ‘요리하는 남성 → 접시에 음식을 담는 장면’처럼 시간에 따라 등장하는 객체와 동작의 변화까지 포착하기엔 한계가 있었습니다.
이를 보완하기 위해 최근에는 비디오로부터 생성한 캡션을 활용하는 방식이 등장했습니다. 예를 들어 [CVPR 2023]Cap4Video는 비디오 전체를 요약한 video-level caption을 추가로 활용하지만, 하나의 문장으로 모든 내용을 포괄하다 보니 장면 간 변화를 반영하지 못하고, 생성 모델 기반으로 만들어진 캡션을 활용할 때 발생하는 자막의 생성 오류가 검색 성능 저하로 이어질 수 있다는 문제가 있습니다. 이 문제는 아래 그림을 통해 조금 더 자세하게 확인할 수 있습니다.

- 그림 1(a)는 video-level caption이 전체 영상을 한 문장으로 요약해버리기 때문에 ‘두 남자가 함께 식사 중이다’ 정도의 포괄적 서술에 그친다는 점을 확인할 수 있습니다.
- 반면 그림 1(b)는 Frame-level 로 생성된 여러 개의 Caption을 통해, ‘헤드셋을 쓴 남성’, ‘조종석에 앉은 두 사람’, ‘하얀 셔츠를 입은 남성’ 등 각기 다른 시점에서 나타나는 객체와 속성을 포착할 수 있습니다. 이렇게 세분화된 캡션이 있다면 모델은 query와 직접적으로 관련 있는 정보를 선택적으로 사용할 수 있겠죠
따라서 이 그림을 기반으로, 비디오 전 구간에서 생성한 frame-level caption을 내레이션(narration)으로 활용하는 NarVid(Narrating the Video)를 제안하였습니다. 구체적으로 설명드리자면, 단순히 캡션을 사용하는 데 그치지 않고, (1) 비디오와 내레이션 간 상호작용을 통한 feature 보강, (2) query에 기반한 중요 정보 필터링, (3) query-video 및 query-narration 유사도 결합, (4) 두 관점을 활용한 hard negative 학습까지 내레이션을 통합하였다고 합니다.
아이디어가 어렵지 않아 충분히 쉽게 이해하실 수 있을거라 생각이 되네요, 본격적인 리뷰를 시작하겠습니다.
2. Method (NarVid)
2.1. Narration Generation from Video
앞서 설명드린대로 기존의 video-level caption 방식은 비디오 전체를 하나의 문장으로 요약하기 때문에, 시간적으로 변화하는 세부 장면이나 다양한 서사 흐름을 포착하는 데 한계가 있었습니다. 특히, 단 하나의 캡션에 의존할 경우, 캡션 생성 모델의 오류(ex. hallucination)가 전체 검색 성능에 부정적인 영향을 미칠 수 있었죠.

이러한 한계를 극복하기 위해 저자는 Frame-level caption을 narration이라 정의하고 학습에 활용하였습니다. 이를 위해, 비디오를 구성하는 각 프레임 f_k에 대해 대규모 멀티모달 모델(LMM)을 적용하여 개별적으로 캡션 c_k을 생성하고, 이를 시간 순으로 정렬함으로써 \boldsymbol{n} = (c_1, \dots , c_K) 형태의 내레이션 시퀀스를 구성합니다.
여기서 사용 환경에 따라 다양한 captioning 모델과 프롬프트 조합을 유연하게 활용할 수 있다고 언급하였습니다. (narration을 새엇ㅇ하기 위해 사용한 LMM과 프롬프트 조합은 제안하는 모델에는 관련없다는 선긋기 위한 언급 같긴 합니다) 결과적으로 이렇게 생성된 내레이션은 비디오 내 의미의 시간적 전개를 언어적으로 반영할 수 있으며, 이후 NarVid 학습에 핵심 정보로 사용될 수 있습니다.
2.2 Video-Narration Cross-Modal Interaction
기존 방식에서는 텍스트와 비디오 간의 유사도 계산에서 각 modality의 전역 표현(global representation)에만 의존하여, 시간적으로 변화하는 정보나 query-frame 간 세밀한 정렬을 제대로 반영하지 못한다는 한계가 있었습니다.

이를 해결하기 위해, 비디오 프레임과 narration 사이의 cross-modal feature를 개선하고자 하였습니다. 말이 어렵지, frame-narration attention을 수행한다는 겁니다. 상단 그림에서 보면 (1) 비디오 프레임으로부터 추출한 시각 feature v (2) 내레이션의 텍스트 feature n를 활용하여 Cross-Modal Interaction 모듈을 사용하는 겁니다.


이 때, co-attention은 상단 그림 (b) 같이 ViLBERT에서 사용한 co-attention 구조를 사용하였습니다. 그리고 이 co-attention은 수식 (2) 처럼 표기하겠습니다. (저자가 왜 이걸 사용했는지는 구체적으로 밝히진 않았으나, 두 모달리티 사이의 정보를 더 잘 섞(?)는데 자주 사용된 기존 기법인 여러 개의 attention layer를 사용한거겠죠?) 이 텍스트-비디오 간의 co-attention 구조를 통해, query와 연관성이 높은 프레임-캡션 쌍의 특징을 강조하고, 그렇지 않은 정보는 상대적으로 억제하는 방식으로 feature를 개선시키고자 한 것이죠.이 때, co-attention은 상단 그림 (b) 같이 ViLBERT에서 사용한 co-attention 구조를 사용하였습니다. 그리고 이 co-attention은 수식 (2) 처럼 표기하겠습니다. (저자가 왜 이걸 사용했는지는 구체적으로 밝히진 않았으나, 두 모달리티 사이의 정보를 더 잘 섞(?)는데 자주 사용된 기존 기법인 여러 개의 attention layer를 사용한거겠죠?) 이 텍스트-비디오 간의 co-attention 구조를 통해, query와 연관성이 높은 프레임-캡션 쌍의 특징을 강조하고, 그렇지 않은 정보는 상대적으로 억제하는 방식으로 featur를 개선시키고자 한 것이죠.

추가적으로 시간적으로 변화하는 정보를 보강하고자 temporal Cross-Modal Interaction을 통해 생성된 frame-level feature 시퀀스 \hat{\boldsymbol{v}} = (\hat{f}_1, \dots, \hat{f}_K), \quad \hat{\boldsymbol{n}} = (\hat{c}_1, \dots, \hat{c}_K) 는 각각 temporal block \phi_{temp}을 통과합니다. 상단 수식 (3)과 같은데 이는 *CLIP4clip에서 사용한 기법을 사용하였습니다.
(*CLIP4clip temporal block: standard Transformer encoder (multi-head self-attention + FFN 구조)를 시간 축에서 동작하도록 사용한 것)
이와 같이 처리된 \check{\boldsymbol{v}}, \check{\boldsymbol{n}} 은 여전히 프레임 단위의 시퀀스 형태를 유지하고 있기 때문에, 이후 단계에서 query-relevant한 정보만을 선별하는 filtering 과정에 그대로 활용될 수 있다고 합니다.
2.3 Query-Aware Adaptive Filtering
앞서 Cross-Modal Interaction과 Temporal Encoding을 통해 얻어진 프레임 수준의 feature는 여전히 전체 시퀀스를 포함하고 있기 때문에, query와 직접적으로 관련 없는 정보까지 포함될 수 있습니다. 특히 내레이션 기반 접근에서는, 자동 생성된 캡션 중 일부가 노이즈이거나 비관련 정보일 가능성도 존재합니다. 이를 해결하기 위해 본 논문은 Query-Aware Adaptive Filtering 모듈을 제안하였습니다.

기존의 frame filtering 방식은 query와의 유사도에 기반하여 상위 k개의 프레임만을 선택하는 top-k 방식을 사용하였습니다. 그러나 이러한 방식은 중요한 프레임을 누락하거나, 반대로 의미 없는 프레임을 포함할 위험이 있다고 합니다. 이를 보완하기 위해 저자들은 nucleus sampling 기법을 변형하여 필터링에 적용하였습니다. 이를 통해 상위 유사도 프레임을 누적 유사도가 특정 임계값 p에 도달할 때까지 선택하며, keyframe의 개수를 고정하지 않고 상황에 따라 동적으로 결정할 수 있도록 설계하였습니다.
구체적으로, 주어진 query \boldsymbol{q} = (w_1, \dots, w_L, w_{[EOS]})와 temporal-enhanced feature 시퀀스 \check{\boldsymbol{v}} = (\check{f}_1, \dots, \check{f}_K), \check{\boldsymbol{n}} = (\check{c}_1, \dots, \check{c}_K)가 주어졌을 때, 각 프레임 k에 대해 query의 [EOS] 토큰과의 유사도를 계산합니다. 이 유사도는 softmax를 통해 정규화되고, 가장 유사한 feature부터 시작하여 누적 유사도가 p를 넘을 때까지 feature를 선택한다고 합니다.

이 과정을 통해 최종적으로 선택된 영상 feature 시퀀스 \boldsymbol{z}^v와 내레이션 feature 시퀀스 \boldsymbol{z}^n은 상단 수식과 같이 정의합니다.
2.4 Query-Video-Narration Matching

Query-aware adaptive filtering을 통해 선택된 영상과 내레이션 feature를 매칭시키는 과정에 대해 설명드리겠습니다. 본 논문에서는 전통적인 query-video 간 matching에 더해, query-narration 간 matching까지 포함한 이중 매칭 구조를 도입하여 검색 성능을 향상시키고자 하였습니다. 이때 coarse-to-fine granularity의 multi-level 유사도 계산 방식을 기반으로, 의미적 유사성과 세부적 정렬 정보를 함께 반영할 수 있도록 설계하였습니다.
먼저 coarse-grained matching 단계에서는, filtering 모듈에서 선택된 feature 시퀀스 \boldsymbol{z}^v(비디오)와 \boldsymbol{z}^n (내레이션)에 대해 weighted pooling을 수행하여 각각의 global representation을 얻습니다. 이때 weight는 filtering 시점에서 계산된 query와의 유사도 점수를 기반으로 하며, query는 w_{[EOS]} 토큰을 대표 embedding으로 사용합니다. 이렇게 구성된 coarse representation을 바탕으로, query-video 간 유사도 s_{coarse}(q, \boldsymbol{z}^v)와 query-narration 간 유사도 s_{coarse}(q, \boldsymbol{z}^n)는 cosine similarity로 계산됩니다. 이는 filtering 결과를 매칭 단계까지 자연스럽게 연결하여 일관된 표현 기반 비교가 가능하다는 점에서 효과적입니다.
다음으로, fine-grained matching 단계에서는 query의 단어 임베딩과 영상 프레임 혹은 캡션 단위 임베딩 간의 유사도를 직접 비교합니다. query-video 간 fine matching score s_{fine}(q, \boldsymbol{z}^v)는 각 단어 embedding과 프레임 embedding 간의 유사도 중 최대값으로 정의되며, 이는 Cap4Video 방식과 동일하다고 합니다. 그리고 이와 유사하게 query-narration 간 fine matching score s_{fine}(q, \boldsymbol{z}^n)는 내레이션의 캡션 임베딩과 query 단어 임베딩 간의 최대 유사도로 정의됩니다.
최종적으로 coarse score와 fine score를 평균내서, query-video 간 multi-grained 유사도 s_{qv}, query-narration 간 유사도 s_{qn}를 계산하고, 이를 학습과 inference에 모두 활용하였다고 합니다.
2.5 Training and Inference

2.5.1 Contrastive Loss
NarVid의 학습은 텍스트-비디오 retrieval 분야에서 일반적으로 사용되는 contrastive learning 방식에 기반하지만, query-video 간 상호작용뿐 아니라 query-narration 간 관계까지 동시에 고려한다는 점이 기존 Cap4Video와의 차별점입니다. 이를 위해 Loss를 수정해야하는데요, 우선 학습에 사용되는 배치 \{(q_i, v_i, n_i)\}_{i=1}^B에 대해, 먼저 query-video 유사도 행렬 \mathbf{S}_{qv}와 query-narration 유사도 행렬 \mathbf{S}_{qn}을 구성합니다.
- \mathbf{S}_{qv}(i, j) = s_{qv}(q_i, v_j)
- \mathbf{S}_{qn}(i, j) = s_{qn}(q_i, n_j)
이 유사도 행렬은 각각 inter-modality (query ↔ video)와 intra-modality (query ↔ narration) 간의 관계를 나타내며, 본 논문은 두 관점 모두를 고려하여, 아래 수식(5)와 같은 Contrastive Loss를 제안하였습니다.
- \mathcal{L}_{qv}: query와 video 간의 쌍을 기준으로 한 contrastive loss
- \mathcal{L}_{qn}: query와 narration 간의 쌍을 기준으로 한 contrastive loss

2.5.2 Cross-view hard negative loss
Contrastive learning에서 hard negative란 정답과 매우 유사해 보이는 오답 샘플을 의미하며, 이러한 샘플을 효과적으로 활용할 경우 모델의 판별력을 크게 향상시킬 수 있는 것으로 알려져 있습니다. 하지만 기존 연구들은 주로 inter-modality (query-video) 혹은 intra-modality (query-narration) 중 한 쪽 관점에서만 hard negative를 정의하고 활용해 왔습니다.
NarVid에서는 이러한 한계를 극복하고자, 두 관점을 모두 활용한 cross-view hard negative loss를 새롭게 제안합니다. 저자는 아래 수식 (6)과 같이 query q_i에 대해 다음 두 가지 유사도 행렬 기반의 hard negative 정의하였습니다
- H_{qv}(i): query-video 유사도 행렬 \mathbf{S}_{qv}에서, 정답 쌍과의 유사도 차이가 작아 구분이 어려운 video 샘플
- H_{qn}(i): query-narration 유사도 행렬 \mathbf{S}_{qn}에서, 정답과 유사한 caption 샘플

마찬가지로, transpose된 유사도 행렬 \mathbf{S}_{qv}^T, \mathbf{S}_{qn}^T를 이용해 비디오나 내레이션을 기준으로도 hard negative 인덱스 집합 H_i^T를 정의합니다. 이후에는 이러한 hard negative index를 기반으로 hinge 기반 rank loss를 계산합니다.
예를 들어, query-video 쌍에 대한 hard negative loss는 아래 수식 (8)과 같이 정의되는데, 여기서 \eta는 margin 스케일링을 위한 계수입니다.

이를 통해, 정답보다 유사도가 높은 hard negative가 발생하지 않도록 보장하면서, 더 큰 margin을 확보하는 방향으로 학습이 진행되도록 유도하고자 하였습니다. 그리고 Query-narration 쌍에 대해서도 동일한 방식으로 \mathcal{L}_{qn}^{hard}를 정의하며, cross-view hard negative loss는 다음과 같이 정리할 수 잇습니다.

이제 저자가 수정한 Loss를 합친 최종 Loss는 아래 수식 (10)과 같습니다. \alpha는 하이퍼파라미터!

2.5.3 Inference
추론 과정에서는 query-video 유사도 행렬 \mathbf{S}_{qv}와 query-narration 유사도 행렬 \mathbf{S}_{qn}을 결합해 최종 점수를 도출합니다. 하지만 두 행렬은 값의 분포 범위가 다를 수 있어, 단순 합산할 경우 한 쪽이 과도하게 반영될 수 있다고 합니다.
이를 방지하기 위해, 두 유사도 행렬은 각각 평균과 표준편차로 정규화한 뒤 결합하였습니다. 최종 유사도는 다음 수식과 같습니다.

3. Experimental Results
3.1 Experimental Settings
- Dataset: MSR-VTT, MSVD, VATEX, DiDeMo
- Evaluation Metric: Rank K (R@K), Median Rank (MdR), and Mean Rank (MnR)
3.2 Comparison with State-of-the-Arts

MSR-VTT 실험에서 NarVid는 기존 CLIP4Clip 대비 모든 recall 지표에서 큰 폭의 성능 향상을 보였고, video-level caption을 활용하는 Cap4Video보다도 우수한 결과를 기록하며 프레임 단위 내레이션의 효과를 입증했습니다. 또한 R@1 기준으로는 T-MASS보다 높은 성능을 달성했지만, R@5와 R@10에서는 다소 밀렸으며, 이는 T-MASS의 stochastic embedding 기법이 유사 쌍을 증가시켜 ranking 분포를 넓힌 데서 온 것 같다고 분석하였습니다.

NarVid는 MSVD, VATEX, DiDeMo 세 데이터셋에서도 일관된 성능 향상을 보였으며, 특히 VATEX에서는 긴 질의와 다양한 속성 정보가 내레이션과 잘 맞아 가장 큰 성능 향상을 기록했습니다. 반면 MSVD와 DiDeMo에서는 query가 짧거나 정적인 영상 특성 때문에 상대적으로 향상 폭이 작았으며, 이는 내레이션 정보로 인한 성능 향상이 제한되는 상황을 보였다고 합니다.
3.3 Ablation study

(Table 3) Narration matching만 적용했을 때도 R@1이 4.1% 상승하며 내레이션 정보가 매칭 과정에서 보조적인 역할을 수행함을 보여주지만, Cap4Video 대비 낮은 성능은 단순한 캡션 활용만으로는 한계가 있음을 보였습니다. 반면, co-attention과 temporal block을 포함한 video-narration cross-modal interaction을 적용했을 때는 모든 지표에서 성능이 향상되며, 내레이션의 시간적 정보와 모달 간 상호작용을 활용하는 것이 retrieval 성능에 핵심적임을 확인하였다고 합니다.

(Table 4) Query-aware adaptive filtering은 query와 무관한 정보나 오류를 제거해 성능을 높이는 데 효과적이며, 고정된 top-k 방식보다 nucleus 기반의 adaptive filtering(p=0.4)이 더 높은 R@1을 기록하며 효율적인 것으로 나타났습니다.

(Table 5) Cross-view hard negative loss는 intra/inter-modal 관점 모두에서 유사한 Hard Negativee 샘플을 학습에 반영해 모델의 판별력을 높이며, 하이퍼파라미터 α=1일 때 가장 좋은 성능을 보여 적절한 비율의 hard negative 활용이 중요함을 확인할 수 있었다고 합니다.

(Figure 3) 마지막으로 내레이션 생성 모델의 종류에 관계없이 성능 향상이 일관된 것을 통해, NarVid가 다양한 captioner에 대해 효과적임을 보여주었으며, 특히 강력한 VLM 기반 모델일수록 더 자세한 캡션을 생성하지만, 이 과정에서 질의와 무관한 단어가 포함되어 오히려 성능 저하를 유발할 수 있음도 보였다고 합니다.
4. Conclusion
정리하자면, NarVid는 프레임 단위로 생성된 캡션을 활용해 텍스트-비디오 검색 성능을 개선하고자 한 프레임워크입니다. 내레이션을 cross-modal interaction, filtering, matching loss 등 다양한 모듈에 적극적으로 활용하며 성능을 끌어올렸습니다. 다만 실제 적용을 위해서는 내레이션 생성 과정에서 발생하는 연산 및 저장 부담을 줄이기 위한 사전 처리 기법이 필요할 수 있고, 캡션 생성기의 성능에 따라 검색 성능이 달라지는 만큼 prompt 엔지니어링이나 고도화된 생성 기술에 대한 추가 연구가 필요할 수 있다고 합니다.