TDC: Multimodal Long Video Modeling Based on Temporal Dynamic Context

Authors: Haoran Hao, Jiaming Han, Yiyuan Zhang, Xiangyu Yue Affiliations: MMLab, The Chinese University of Hong Kong, Nanjing University GitHub: Hoar012/TDC-Video Year: 2025

1. Motivation (研究动机)

1.1 问题背景

现有视频理解模型面临两大核心挑战:

  1. 长视频token爆炸问题:LLM上下文长度有限,密集采帧导致token数量过多;稀疏采帧则丢失关键信息
  2. 多模态融合不足:大多数视频LLM仅处理视觉+文本,忽略音频;少数尝试加入音频的方法(如VideoLLaMA)采用简单拼接,各模态独立编码后直接串联,导致模态间缺乏深度交互

1.2 核心贡献

  1. Temporal Dynamic Context (TDC):提出基于时间动态上下文的视频表示方法,将静态视觉特征与动态多模态上下文统一在同一表示中,实现高效的视觉-音频联合压缩
  2. Long Video Chain-of-Thought (LVCoT):免训练的长视频推理策略,将超长视频分段逐步推理后综合回答
  3. 多阶段训练策略:三阶段渐进式训练,从视觉-语言对齐到视频指令微调再到音视频联合微调

2. Idea (核心思想)

2.1 整体思路

Figure 1 解读:对比了现有方法与TDC方法的区别。(a) 现有方法将图像编码器和音频编码器独立处理,然后简单拼接各模态token送入MLLM,这种方式在处理长视频时导致模态间缺乏关联性且token数量过多。(b) TDC方法则将视频按场景分段,每段保留第一帧的完整静态特征(Visual Token + Audio Token),后续帧通过Temporal Compressor压缩为少量Multimodal Context Token,实现了视觉-音频的统一压缩表示,大幅减少token数量的同时保留了关键信息。

Figure 2 解读:TDC多模态视频编码器的详细架构。视频按1fps采帧,每帧同时通过Visual Encoder(DINOv2 + SigLIP,得到144个token)和Audio Encoder(BEATs,约50个token/秒)提取特征。在每个滑动窗口(场景段)内,第一帧被选为静态帧,保留全部视觉和音频token。后续帧的特征通过Q-Former压缩:首先对静态帧特征做Average Pooling得到K个Query token,然后Q-Former以这些Query为输入,对后续帧的视觉+音频token做交叉注意力,输出K个压缩的Multimodal Video Context token。最终表示由所有静态帧token和压缩后的动态上下文token拼接而成,中间用<Sep>分隔。

2.2 核心设计点

  • 静态 + 动态双表示:保留关键帧完整特征,同时压缩后续帧的动态变化
  • 语义场景分割:用帧间语义一致性替代固定切片,减少错误跨场景关联
  • 文本引导压缩:让压缩过程感知问题,从而更聚焦于相关信息
  • 免训练长视频推理:LVCoT把长视频拆分为可管理片段,再汇总推理

3. Method (方法)

3.1 视频场景分割

不同于现有方法将视频均匀切分为固定时长片段,TDC基于帧间语义一致性进行自适应场景分割:

  1. 使用DINOv2提取每帧的高维embedding
  2. 计算相邻帧的余弦相似度
  3. 选取相似度最低的 个点作为分割边界,将视频切分为 个语义一致的场景

默认最大场景数

3.2 时间动态上下文编码

静态特征编码

对每个场景段,保留第一帧的完整特征作为静态表示。每秒提取一帧,使用视觉编码器和音频编码器分别处理:

  • 视觉:DINOv2 + SigLIP 144个聚合token/帧
  • 音频:BEATs(16kHz重采样) 约50个token/秒

动态上下文压缩

对场景内除第一帧外的后续帧,通过Q-Former进行压缩:

Step 1: 从静态帧特征生成Query token

其中 为query token数量, 为特征维度。使用Average Pooling而非可学习query,因为实验表明AvgPool能更好地表示静态参考帧并提取动态变化。

Step 2: Q-Former交叉注意力压缩(不含文本指令)

其中 表示token拼接, 分别为第 帧的视觉和音频token。

Step 3: 加入文本指令引导压缩

其中 为用户指令文本的token,引导Q-Former关注与问题相关的信息。

Step 4: 拼接最终TDC表示

静态帧保留完整的视觉+音频token,后续帧压缩为K个多模态上下文token。使用可学习的<Sep> token分隔静态token和动态上下文token。

3.3 Long Video Chain-of-Thought (LVCoT)

针对超长视频(如电影),提出免训练的分段推理策略:

def lvcot(video, question: str, mllm, M: int = 3) -> str:
    """Long Video Chain-of-Thought (LVCoT): training-free segmented reasoning."""
    # Step 1: Split video into M equal temporal segments
    segments = split_temporal(video, M)  # V = {V_1, V_2, ..., V_M}
 
    # Step 2: Generate per-segment summaries via MLLM
    summaries = []
    for i, segment in enumerate(segments):
        encoded = encode_video(segment)
        prompt = f"Given the question: '{question}', summarize the relevant information in this segment."
        summary = mllm.generate(encoded, prompt)
        summaries.append(summary)
 
    # Step 3: Concatenate summaries with temporal context
    timestamps = get_segment_timestamps(video, M)
    context = "; ".join(
        f"From {timestamps[i]}s to {timestamps[i+1]}s: {s}"
        for i, s in enumerate(summaries)
    )
 
    # Step 4: Final answer generation with full context
    answer = mllm.generate(context, question)
    return answer

关键特点

  • 免训练,可直接应用于任何MLLM
  • 中间摘要作为思维链的一部分,包含时间信息
  • 视频越长效果越明显(在MLVU和VideoMME Long上提升显著)

4. Experimental Setup (实验设置)

4.1 多阶段训练策略

阶段目标数据量数据来源训练模式学习率
Stage 1: 视觉-语言对齐图文对齐预训练3.2MLLaVA-OneVisionFull1e-5
Stage 2: 视频指令微调视频理解能力Qwen2-7B: 2M / LLaMA-3B: 540KLLaVA-Video, VideoChat2-IT, MovieChat等Full1e-5
Stage 3: 音视频联合微调音频-视觉联合理解Qwen2-7B: 300K / LLaMA-3B: 120KMusic-AVQA, AVQA, AVSD, LongVALE, AVInstructLoRA2e-5

训练细节

  • 最大序列长度:8192
  • 优化器:AdamW
  • 学习率调度:Cosine Decay,3% warmup
  • 视觉/音频编码器冻结,仅训练Temporal Compressor和LLM
  • Stage 3使用LoRA降低GPU显存消耗
  • 每阶段训练1个epoch
  • Q-Former使用预训练BERT初始化

4.2 代码结构与复现

目录/文件功能对应论文部分
tdc/核心模型实现Section 3 (Methodology)
tdc/ (Q-Former部分)Temporal Dynamic Context压缩器Section 3.2 (TDC编码)
scripts/三阶段训练脚本Section 3.3 (训练策略)
eval/各benchmark评估脚本Section 4 (实验)
checkpoints/audio_encoder/BEATs预训练权重Section 3.1 (音频编码)
main.py推理入口推理/Demo
examples/示例文件-
  • Backbone LLM: Qwen2-7B / LLaMA3.2-3B
  • 视觉编码器: DINOv2 + SigLIP (冻结),144 token/帧
  • 音频编码器: BEATs (冻结),16kHz,~50 token/秒
  • Q-Former: 基于BERT初始化,16个query token
  • 可用模型: TDC-Qwen2-7B, TDC-Llama3_2-3B (HuggingFace)

5. Experimental Results (实验结果)

5.1 通用视频理解(7B模型)

模型大小MVBenchPerceptionTestEgoSchemaMLVUVideoMME
GPT4-o-1fps-64.6-72.264.671.9
LLaVA-OneVision7B3219656.757.160.164.758.2
InternVL2.57B1225672.068.251.568.964.2
LongVU7B1fps144/6466.9-67.665.4-
MAmmoTH-VL8B572959.159.358.564.758.8
VideoLLaMA2 (7B)7B167254.651.451.748.547.9
TDC (Ours)7B1fps1668.367.565.764.157.8

关键发现

  • TDC在音视频MLLM中全面最优,在MLVU上超越VideoLLaMA2达 15.6%,VideoMME超出 9.9%
  • 每帧仅16个压缩token(后续帧),远低于其他方法的72-256个token
  • 对比纯视觉MLLM也具有竞争力,且额外具备音频理解能力

5.2 小模型结果(3B)

模型LLM大小MVBenchEgoSchemaMLVUVideoMME
LongVULLaMA3.23B1fps60.959.151.555.9
TDC (Ours)LLaMA3.23B1fps62.761.058.959.5
  • 在3B-4B参数量级中全面最优
  • 在MLVU上超越LongVU达 7.4%

5.3 音视频联合理解

模型大小TokenAVSDMusic-AVQA
VideoLLaMA27B167257.279.2
VideoLLaMA2.17B167257.280.9
LongVALE7B10025654.849.4
TDC (Ours)7B1fps1657.678.7
  • AVSD最优(57.6),Music-AVQA与VideoLLaMA2系列接近

5.4 VideoMME详细结果

模型大小S(短)M(中)L(长)Overall
LLaVA-OneVision7B3269.153.346.758.2
LongVU7B1fps64.758.259.560.9
TDC (Ours)7B1fps70.066.261.365.9
  • 短/中/长视频全面最优,证明了方法在不同时长视频上的泛化性

5.5 消融实验

消融项设置MVBenchMLVUVideoMME (Overall/Long)
(a) 场景分段数
1 (无分段)53.5 (-9.2)58.7 (+0.9)53.2 (+0.5)
24 (默认)62.759.652.7
4862.2 (-0.5)58.5 (-1.1)51.0 (-1.7)
(b) Query类型
Learned Query61.7 (-1.0)59.5 (+0.1)52.1 (-0.6)
AvgPooling (默认)62.759.652.7
(c) 上下文token数
3261.7 (-1.0)58.4 (-1.2)52.1 (-0.6)
16 (默认)62.759.652.7
(d) 文本指令
无文本输入62.3 (-0.4)58.0 (-1.6)51.5 (-1.2)
有文本输入 (默认)62.759.652.7
(e) LVCoT效果
3B 无LVCoT62.759.652.7
3B + LVCoT62.758.9 (+0.6*)52.7
7B 无LVCoT68.365.961.3
7B + LVCoT68.366.2 (+0.3)61.8 (+0.5)

消融结论

  • 场景分段至关重要:无分段时MVBench下降9.2%,因为非连续帧间建立了错误关联
  • AvgPooling优于Learned Query:能更好表示参考帧并提取动态变化,且无额外计算开销
  • 16个context token为最优平衡点:增加到32反而下降,因为token数增加限制了可处理帧数
  • 文本指令对长视频帮助更大(MLVU +1.6%, VideoMME +1.2%)
  • LVCoT在长视频上效果更明显,7B模型上VideoMME Long +0.5%

6. 个人思考与总结

6.1 创新点评价

优势

  1. 统一多模态压缩:将视觉和音频token通过Q-Former联合压缩而非简单拼接,是该工作最核心的贡献。每帧仅16个token的压缩率非常高效
  2. 语义场景分割:基于DINOv2帧间相似度的自适应分割比固定切分更合理,保证了场景内语义一致性
  3. 静态+动态双表示:保留关键帧完整特征+压缩后续帧动态变化的设计很直觉,类似人类”先看全局再关注变化”的认知模式
  4. 文本引导压缩:将用户指令注入Q-Former,使压缩过程具有问题感知能力

局限性

  1. LVCoT提升有限:仅+0.3~0.6%的提升,作者也承认这是因为模型未针对该任务训练。这说明免训练的CoT策略在视频理解上效果有限
  2. 计算开销:LVCoT需要多次处理视频段,引入额外推理开销但提升微弱
  3. 对比不够公平:TDC用1fps密集采帧+16 token压缩,vs其他方法的稀疏采帧+更多token,total token数可能相近但方式不同,很难说哪种更优