MLLM Papers Review


MLLM Papers Review

视频理解

MVBench

[CVPR2024 Highlight] MVBench: A Comprehensive Multi-modal Video Understanding Benchmark

  • 提出了MVBench,一个全新的多模态视频理解基准测试,由20项单帧无法有效解决的视频任务组成,用于全面评测现有多模态模型的视频理解能力。
    • 在时间任务定义的指导下,为每个任务收集和标注视频。
    • 选择11个高质量视频annotation数据集,根据任务定义的约束,让GPT为视频自动生成3-5个问题并选择其一,答案设计策略分为(1)模板定义(如移动方向相关,只限制在前后左右等);(2)让GPT自己根据任务+annotation生成答案。
    • GPT问答的生成设计了system prompt和answer prompt。
  • 提出了更强大的基线模型VideoChat2,其不仅在MVBench上取得15个任务的领先,更在流行的视频问答、对话、推理数据集上取得有竞争力的性能。
image-20250108154042622

VideoChat2渐进式跨模态训练范式

阶段1:视觉-语言对齐

  • 视觉编码器:UMT-L,与BLIP2对比具有更强大的时空表示学习能力。
  • QFormer:BLIP2训练的三种损失函数:视觉文本对比学习(VTC)、视觉文本匹配(VTM)和基于视觉的文本生成(VTG)
  • 数据集:CC3M和CC12M的15M图像字幕,WebVid-10M的10M视频字幕。
  • 目的:对齐UMT-L和QFormer,对齐图像和对应caption,压缩视觉输入。

阶段2:视觉-语言连接

  • LLM:mistral/vicuna/phi
  • 数据集:除了阶段1以外,进一步引入了2M图像caption(COCO、Visual Genome和SBU)和10M视频caption(InternVid)
  • 目的:对齐UMT-L、QFormer和LLM,将投影的视觉标记与文本caption对齐。

阶段3:指令微调

使用本文生成的指令微调数据进行微调。在冻结的LLM上进行lora低轶微调,通过VTG损失与视觉编码器和QFormer一起调整。此外,借鉴InstructBLIP,作者在QFormer中也插入了instruction,用于提取与指令相关的视觉token作为LLM的输入。

TimeChat

[CVPR2024] TimeChat: A Time-sensitive Multimodal Large Language Model for Long Video Understanding

  • 一种时间敏感的MLLM,用于长视频理解和准确的时间定位

    • 两个关键架构:(1)时间戳感知帧编码器,可以将视觉内容与每个帧的时间戳绑定;(2)滑动视频 Q-Former,生成不同长度的视频token序列,以适应不同时长的视频。
  • 指令微调数据集,涉及不同的时间戳相关的用户指令,包含 6 个任务和总共 125K 个实例。

image-20250108165902854

时间戳感知帧编码器

  • 视觉编码器:ViT-G/14 from EVA-CLIP。
  • QFormer:对齐图像和文本标记。通过输入文本“This frame is sampled at 2s.”,把时间戳信息混合进去。压缩图像帧token。

滑动视频 Q-Former

  • 帧编码器提取帧特征,各帧独立编码,没有建模帧间时间信息。–>引入Q-Former滑窗,在时间维度上增强特征融合

  • 设计了一个长度为Lw的滑动窗口,并在每个窗口内利用视频Q-Former从Lw帧中提取Nv长度的视频token。(滑窗Lw,步长S,Q-former查询向量数Nv)最终可以将输入的视频表示为(T /S)×Nv的视频token。

    • 通俗来说,就是对所有独立的帧token,成组构成patch,然后对token组再做一次自注意力,把帧patch压缩到单一查询向量Nv。
  • 然后做线性映射使tokens的特征维度符合LLM的输入特征维度需求。

指令微调

  • TimeIT包含了6个与时间戳相关的视频任务,即:(1) 视频说明字幕生成,(2) 视频时间定位,(3) 步骤定位和文字生成,(4) 视频摘要,(5) 视频亮点检测,以及 (6) 转录语音生成。

ShareGPT4Video

[NeurIPS 2024] ShareGPT4Video: Improving Video Understanding and Generation with Better Captions

  • ShareGPT4Video,包含4万个GPT4V标注的密集视频字幕

    • 数据过滤:将两分钟内的视频作为候选。使用Panda学生模型生成单句caption,bert编码计算相似度,选择有差异的加入候选集。
    • 关键帧抽取:clip抽取帧特征,计算相似度,差异大的加入候选集。
    • 字幕生成:差分滑动窗口pipeline。每次输入到图像多模态模型的内容包括当前关键帧,前一关键帧及其差分字幕。
  • ShareCaptioner-Video,使用收集的视频字幕数据对IXC2-4KHD 进行微调得到的任意视频标注模型,由其标注了480万个高质量美学视频。

  • ShareGPT4Video-8B,一个简单却卓越的LVLM,在三个前沿视频基准测试中达到了最先进(SOTA)性能。

image-20250109151719552

MovieChat

[CVPR2024] MovieChat: From Dense Token to Sparse Memory for Long Video Understanding

  • 提出了一种有效的内存管理机制,以降低计算复杂度和内存成本,同时增强长期记忆。

  • 发布了第一个带有手动注释的长视频理解基准MovieChat-1K。

image-20250109152914961
  • 视觉特征提取:EVA-CLIP + QFormer

  • 滑动窗口将视频分割成多个片段,每个片段包含 C 帧

  • 短期记忆:将帧token组成的片段存储在临时固定长度缓冲区中。当固定长度的短期记忆达到其预设限制时,所有token将被弹出并合并到长期记忆中。清空并重新初始化短期存储池。(短期记忆窗口长度16)

  • 长期记忆:对弹出的短期帧两两比较相似度,找到整个S中相似度最大的两帧,加权平均合并,不断循环直到整个短期窗口压缩到仅剩2帧。添加到长期记忆池。

  • 由于长期记忆中存储的 token 数量可能超过预训练模型的最大长度位置编码,因此需要对位置编码进行扩展。在 MovieChat 中,采用了 BERT 的扩展位置编码方法,使得位置编码能够适应更长的长期记忆。

推理:全局模式(仅使用长期记忆),断点模式(使用长期记忆+指定的查询时间位置为止的短期记忆+指定位置帧Xi的聚合)

视频时间定位

VTimeLLM

[CVPR] VTimeLLM: Empower LLM to Grasp Video Moments

挑战:1. 缺少一个有精确时间范围标注的大规模的视频数据集;2. 需要设计有效的时序相关的视频任务帮助LLM理解多个时刻的内容。

方案:1:一个视觉编码器和一个视觉适配器来处理输入视频;2. 一个特制的LLM通过三阶段训练策略来同时理解文本和视频内容。

image-20250109215253199
  • 阶段一:视觉特征通过图片-文本对训练与LLM在语义空间对齐。
    • 视觉编码器:CLIP ViT-L/14。每一帧有cls token的feature和每个patch的feature,直接采用cls token的作为图片特征。
    • 视觉适配器:一个线性层,对每一帧的v_cls做变换,映射到LLM空间,最后视频由N*d的特征Z代表(N为帧数,d为LLM的隐层维度),这里均匀采样100帧。
  • 阶段二:设计了单论(single-turn)和多轮(multi-turn)的QA任务来使得模型能够感知到时间边界并理解时间边界内事件内容。
    • 数据:InternVid-10M-FLT数据集,自动化对视频进行分割和标注。每个视频都包含多个事件及其粗略的时间注释和描述。
    • 单轮QA(20%)是密集Video Caption,多轮QA(80%)包括片段描述&时序grounding任务。
    • 作用:让模型具有时序感知的能力,可以定位视频的segmentation。
    • 训练:只训练LLM的LoRA,别的组件冻住,Prompt里告诉LLM有一百帧。
  • 阶段三:创造了一个高质量的对话数据集来指令微调。

UniVTG

Video Temporal Grounding(VTG)任务目标是根据文本输入(query),在视频中检索一个或多个与文本相对应的片段。根据检索得到的片段长度及标签粒度不同,过往的VTG任务可以分为Moment Retrieval、Highlight Detection和Video Summarization三类。

  1. MR旨在通过文本查询定位视频中符合的片段;
  2. HD旨在给视频各部分打分,越符合视频主题的分数越高;
  3. VS旨在根据或者不根据文本,来得到视频中多个时间点,这些时间点的片段组合在一起能够较好总结视频内容。

本文实现首个预训练VTG模型UniVTG,将不同层次的VTG任务标注及模型结构相统一,以增强模型在不同粒度的VTG任务上的泛化能力。

image-20250110171959943
  • 从任务和标签的角度,定义了一种统一的范式。将视频分解为多个等长clips序列,每个clip分配3种基础的标签。从而能够进行统一的预训练。
    • foreground indicator(Point-Level):0/1二值标签,假如是前景则为1,反之为0。
    • boundary offsets(Interval-Level):二维向量,将特定帧clip的时间戳转换到时间边界。**[a,b]对应当前点距离时间段边界的距离。a为距离起始点的距离,b为距离终止点的距离。**
    • saliency score(Curve-Level):是一个[0,1]的连续值,表示当前clip与查询Q的相关性。
  • 数据收集方面,将帧视为视频的原子组成,VTG任务收集目标clip集合。
    • 使用CLIP构建具备Curve-Level标注能力的CLIP Teacher。CLIP Teacher标注根据以下步骤构造:(1)利用CLIP编码帧特征,计算预设语料库concept池文本特征与视频间相似度;(2)选取top-5 concept作为query,对应相似度曲线作为saliency score;(3)将相似度以0.05的间隔进行离散化,并取最大值作为interval。有了interval就能相应生成point。
  • 从模型的角度,提出了一个统一的框架。
    • Cross-modal alignment路径用于输出saliency score,由于saliency代表query和视频之间的相关程度,模型在对query进行注意力池化得到句特征后,直接计算句-视频特征间相似度作为saliency score。该路径采用对比学习损失优化编码过程:同视频内,负样例为相对于正样例clip具有更低saliency的clip;不同视频,负样例为其他视频的query。
    • Cross-modal interaction路径用于输出foreground indicator和boundary offsets,其利用注意力建模连接后的query-视频特征,输入卷积层进行预测,损失为分类(indicator)及重叠区间(offsets)损失。
  • 从预训练的角度,利用统一任务和统一框架,进行了大规模的预训练。
image-20250110180441782

TFVTG

(ECCV2024)Training-free Video Temporal Grounding using Large-scale Pre-trained Models

大多数现有的vlm都是通过图像-文本对或视频剪辑-文本对进行训练的,在这种训练范式中,模型的主要目标是将最具区别性的视觉线索与其相应的文本描述联系起来。这使得它很难做到:

  • 理解同一视频中多个事件的关系,区分时间界限
  • 对视频中事件的变换敏感(从一个事件到另一个事件的动态转变)。

本文方案:

  • 基于prompt让LLM将原始查询分成若干子事件,并分析这些事件之间的时间顺序和关系。
    • 推理子事件,确定顺序及关系,为事件提供描述。
  • 将一个子事件分为动态过渡和静态状态部分,并提出了使用VLM的动态和静态评分函数,以更好地评估事件和描述之间的相关性。
    • 对于动态部分,测量相似度变化率;对于静态部分,测量内部和外部的比较相似度。
  • 对于LLM提供的子事件描述,利用VLM定位最相关的k个proposal。若子事件同时发生,取定位结果交集;若顺序发生,则取并集,得到最终预测。
image-20250111212738890

选用 BLIP - 2 Q - Former 作为 VLM 定位器。计算文本与视觉特征的余弦相似度来衡量子事件描述与视频帧的相关性

  • 动态评分:考虑到视频的连续性,在目标片段的动态部分,视频内容从一个事件过渡到查询所描述的目标事件,视频帧与查询的相关性应快速提升。其特征是在静态段内具有较高的平均视频文本相似性,同时在其之外保持较低的平均相似性。
  • 为消除视频抖动影响,先对相似度S应用高斯滤波$\S: \hat S = G(S)$ 再计算相似度差值。$\hat S: D_i = \hat S_i − \hat S_{i-1}$
    对于从第i帧开始到第k帧结束的proposal,当其中所有的差值超过特定阈值时,将该proposal内的差值求和得到动态分数
    • 也就是先高斯滤波平滑一下余弦相似度,再找相似度变化陡峭的位置判定其可能是事件转换的开端。(可靠性存疑
image-20250111223418627
  • 静态评分:受 SPL 启发,在静态部分,要求给定查询的最相关事件需满足事件内视频与查询相关性高,事件外相关性低。对于从第k帧开始到第j帧结束的proposal,通过计算proposal内平均相似度与proposal外平均相似度的差值作为静态分数
image-20250111223733515
  • 定位结果选取:对于每个proposal (i, j),考虑到不同事件过渡段长度不一,枚举所有可能的过渡结束时间戳k,将proposal划分为动态部分(i, k)和静态部分(k, j),计算动态分数与静态分数之和,并选取最大值作为该proposal的分数。最终,选取分数最高的top-k个proposal作为 VLM 定位器的定位结果。

预测过滤与整合:

  • 枚举预测组合:VLM 定位器针对每个子事件描述返回前 k 个预测结果。假设有 m 个子事件,通过枚举每个子事件的一个预测结果,总共会产生$k^m$种组合。
  • 顺序约束过滤:依据 LLM 分析得到的子事件发生顺序,对上述组合进行过滤。若 LLM 判断子事件Pi应在Pj之前发生,但在某组合中Pi的开始时间晚于Pj的结束时间,则该组合不符合顺序逻辑,将被舍弃。
  • 分数计算与结果整合:过滤后,计算每个组合的总分,该分数为 VLM 定位器为该组合中各子事件预测返回的最终分数之和。然后,选取总分最高的组合。对于子事件关系,若 LLM 判定子事件同时发生,将该组合中各子事件的预测取交集作为最终预测;若子事件顺序发生,则取并集作为最终预测。

视频异常检测

Holmes-VAD

LAVAD

数据集

Surveillance DB

Towards Surveillance Video-and-Language Understanding: New Dataset, Baselines, and Challenges

监控视频对公共安全至关重要,但现有监控视频任务局限于预定义异常事件的检测与分类,缺乏语义理解能力。多模态视频数据集虽有发展,但面向监控视频的多模态学习研究不足,原因在于现有监控数据集缺少句子级语言注释,且监控视频特性增加学习难度。为此,文章提出拓展现有监控视频数据集至多模态场景,构建了 UCA 数据集。

Abstract Image
  • 提出了监控视频与语言理解(VALU)这一新的研究方向,并构建了首个多模态监控视频数据集。

    • 新标注的数据集UCA(UCF-Crime注释)包含23,542个句子,平均长度为20个单词,标注的视频长达110.7小时。
    • 包含细粒度的注释和事件描述;包含事件的时间戳和活动的描述。
    • UCA可以支持多种多模态理解任务,如时间定位(TSGV),视频字幕(VC),密集视频字幕生成(DVC),多模态异常检测(MAD)。
  • 在数据集上对四个多模态任务的前沿模型进行了基准测试,这些结果为监控 VALU 提供了新的基线。

  • 在MAD实验中提供基本的监控视频字幕模型作为即插即用模块。结果表明,多模态监控学习可以提高异常检测的性能。

数据集构造:从 UCF - Crime 中过滤低质量视频,得到 1854 个视频组成 UCA。标注时详细描述事件并记录起止时间,标注间隔 0.1 秒。完成 23542 条句子级标注。UCA 按视频长度和原始类别分为训练、验证和测试集,涵盖 13 种异常。标注视频总时长 110.7 小时,事件时长多在 5 - 10 秒,平均视频时长 236.8 秒,平均事件标注时长 16.9 秒。平均注释词数约 20 个,名词、动词、形容词比例约为 2:2:1。

视频监控相关

参考

【CVPR论文复现】VTimeLLM: Empower LLM to Grasp Video Moments-CSDN博客

论文笔记 UniVTG:Towards Unified Video-Language Temporal Grounding - Kamino’s Blog

大语言模型在视频理解中的应用综述 Video Understanding with Large Language Models: A Survey_videoagent: long-form video understanding with lar-CSDN博客


文章作者: wolf-ll
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wolf-ll !
  目录